mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 15:13:52 +01:00
Wenn replace_ios nicht gefunden wurde, wird HASH_FAIL übertragen
UID kann nun auf Workdirectory gesetzt werden
This commit is contained in:
@@ -3,6 +3,7 @@ autoreload = 1
|
||||
autoreloaddelay = 5
|
||||
autostart = 1
|
||||
plcworkdir = /var/lib/revpipyload
|
||||
plcworkdir_set_uid = 0
|
||||
plcprogram = program.py
|
||||
plcarguments =
|
||||
plcuid = 1000
|
||||
|
||||
@@ -12,7 +12,7 @@ Modul fuer die Verwaltung der PLC-Slave Funktionen.
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Global Attributes</h3>
|
||||
<table>
|
||||
<tr><td>__author__</td></tr><tr><td>__copyright__</td></tr><tr><td>__license__</td></tr>
|
||||
<tr><td>HASH_FAIL</td></tr><tr><td>HASH_NULL</td></tr><tr><td>__author__</td></tr><tr><td>__copyright__</td></tr><tr><td>__license__</td></tr>
|
||||
</table>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Classes</h3>
|
||||
|
||||
@@ -32,6 +32,8 @@ mqttserver.MqttServer?1(basetopic, sendinterval, broker_address, port=1883, tls_
|
||||
mqttserver.__author__?9
|
||||
mqttserver.__copyright__?9
|
||||
mqttserver.__license__?9
|
||||
picontrolserver.HASH_FAIL?7
|
||||
picontrolserver.HASH_NULL?7
|
||||
picontrolserver.RevPiSlave.check_connectedacl?4()
|
||||
picontrolserver.RevPiSlave.disconnect_all?4()
|
||||
picontrolserver.RevPiSlave.disconnect_replace_ios?4()
|
||||
|
||||
@@ -11,6 +11,10 @@ from shared.ipaclmanager import IpAclManager
|
||||
from threading import Event, Thread
|
||||
from timeit import default_timer
|
||||
|
||||
# Hashvalues
|
||||
HASH_NULL = b'\x00' * 16
|
||||
HASH_FAIL = b'\xff' * 16
|
||||
|
||||
|
||||
class RevPiSlave(Thread):
|
||||
|
||||
@@ -438,7 +442,6 @@ class RevPiSlaveDev(Thread):
|
||||
proginit.logger.error(
|
||||
"error on replace_io transfair: {0}".format(e)
|
||||
)
|
||||
break
|
||||
else:
|
||||
continue
|
||||
finally:
|
||||
@@ -456,7 +459,7 @@ class RevPiSlaveDev(Thread):
|
||||
# Hashwert erzeugen und senden
|
||||
file_hash = md5(fh.read()).digest()
|
||||
else:
|
||||
file_hash = b'\x00' * 16
|
||||
file_hash = HASH_NULL
|
||||
proginit.logger.debug(
|
||||
"send replace_ios hashvalue: {0}"
|
||||
"".format(file_hash)
|
||||
@@ -467,7 +470,7 @@ class RevPiSlaveDev(Thread):
|
||||
"error on replace_ios hash value transfair: {0}"
|
||||
"".format(e)
|
||||
)
|
||||
break
|
||||
self._devcon.sendall(HASH_FAIL)
|
||||
else:
|
||||
continue
|
||||
|
||||
|
||||
@@ -224,6 +224,8 @@ class RevPiPyLoad():
|
||||
self.globalconfig["DEFAULT"].get("plcprogram", "none.py")
|
||||
self.plcarguments = \
|
||||
self.globalconfig["DEFAULT"].get("plcarguments", "")
|
||||
self.plcworkdir_set_uid = self.globalconfig["DEFAULT"].getboolean(
|
||||
"plcworkdir_set_uid", False)
|
||||
self.plcuid = \
|
||||
self.globalconfig["DEFAULT"].getint("plcuid", 65534)
|
||||
self.plcgid = \
|
||||
@@ -333,6 +335,10 @@ class RevPiPyLoad():
|
||||
)
|
||||
os.chdir(self.plcworkdir)
|
||||
|
||||
# Workdirectory owner setzen
|
||||
if self.plcworkdir_set_uid:
|
||||
os.chown(self.plcworkdir, self.plcuid, -1)
|
||||
|
||||
# MQTT konfigurieren
|
||||
if restart_plcmqtt:
|
||||
self.stop_plcmqtt()
|
||||
|
||||
Reference in New Issue
Block a user