From 239cd9eee79b22641ba4dd7aac0168b2ef390b78 Mon Sep 17 00:00:00 2001 From: NaruX Date: Mon, 14 Aug 2017 13:30:16 +0200 Subject: [PATCH] =?UTF-8?q?ACL=20Regex=20angepasst=20Controlbyte=20f=C3=BC?= =?UTF-8?q?r=20Schreiben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- revpipyload/revpipyload.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py index 28da3a0..8ab0a01 100755 --- a/revpipyload/revpipyload.py +++ b/revpipyload/revpipyload.py @@ -58,7 +58,7 @@ procimg = "/dev/piControl0" pyloadverion = "0.5.0" rapcatalog = None -re_ipacl = "(([\\d\\*]{1,3}\\.){3}[\\d\\*]{1,3},[0-1] ?)+" +re_ipacl = "(([\\d\\*]{1,3}\\.){3}[\\d\\*]{1,3},[0-1] ?)*" def _ipmatch(ipaddress, dict_acl): @@ -649,24 +649,26 @@ class RevPiSlaveDev(Thread): elif cmd == b'SD' and self._acl == 1: # Ausgänge empfangen, wenn acl es erlaubt - # bCMiiii00000000b = 16 + # bCMiiiic0000000b = 16 position = int.from_bytes(netcmd[3:5], byteorder="little") length = int.from_bytes(netcmd[5:7], byteorder="little") + control = netcmd[7:8] - try: - block = self._devcon.recv(length) - except: - proginit.logger.error("error while recv data to write") - break - fh_proc.seek(position) + if control == b'\x1d' and length > 0: + try: + block = self._devcon.recv(length) + except: + proginit.logger.error("error while recv data to write") + break + fh_proc.seek(position) - # Länge der Daten prüfen - if len(block) == length: - fh_proc.write(block) - else: - proginit.logger.error("got wrong length to write") - break + # Länge der Daten prüfen + if len(block) == length: + fh_proc.write(block) + else: + proginit.logger.error("got wrong length to write") + break # Record seperator character self._devcon.send(b'\x1e') @@ -783,9 +785,7 @@ class RevPiSlaveDev(Thread): fh_proc.seek(pos) fh_proc.write(self.ey_dict[pos]) - proginit.logger.error( - "dirty shutdown of connection" - ) + proginit.logger.error("dirty shutdown of connection") fh_proc.close() self._devcon.close()