mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 23:23:52 +01:00
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:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user