Kompatibilität zu Python 3.2 (wheezy) hergestellt

ACL Prüfung jetzt gegen client_address[0]
Bei Ordnerupload wurden \ von Windowspfaden nicht umgewandelt
This commit is contained in:
2018-04-07 19:22:07 +02:00
parent aea6ef768d
commit 9d07808f82
6 changed files with 12 additions and 11 deletions

View File

@@ -50,7 +50,7 @@ from time import asctime
from xmlrpc.client import Binary
from xrpcserver import SaveXMLRPCServer
pyloadversion = "0.6.4"
pyloadversion = "0.6.5"
class RevPiPyLoad():
@@ -743,6 +743,9 @@ class RevPiPyLoad():
if filedata is None or filename is None:
return False
# Windowszeichen prüfen
filename = filename.replace("\\", "/")
# Absoluten Pfad prüfen
dirname = os.path.join(self.plcworkdir, os.path.dirname(filename))
if self.plcworkdir not in os.path.abspath(dirname):

View File

@@ -17,8 +17,7 @@ class SaveXMLRPCServer(SimpleXMLRPCServer):
"""Erstellt einen erweiterten XMLRPCServer."""
def __init__(
self, addr, logRequests=True, allow_none=False,
use_builtin_types=False, ipacl=None):
self, addr, logRequests=True, allow_none=False, ipacl=None):
"""Init SaveXMLRPCServer class.
@param ipacl AclManager <class 'IpAclManager'>"""
proginit.logger.debug("enter SaveXMLRPCServer.__init__()")
@@ -34,7 +33,6 @@ class SaveXMLRPCServer(SimpleXMLRPCServer):
allow_none=allow_none,
encoding="utf-8",
bind_and_activate=False,
use_builtin_types=use_builtin_types
)
# Klassenvariablen
@@ -128,13 +126,13 @@ class SaveXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
# ACL für IP-Adresse übernehmen
self.server.requestacl = \
self.server.aclmgr.get_acllevel(self.address_string())
self.server.aclmgr.get_acllevel(self.client_address[0])
if self.server.requestacl >= 0:
return True
else:
self.send_error(
401, "IP '{}' not allowed".format(self.address_string())
401, "IP '{}' not allowed".format(self.client_address[0])
)
return False