mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 15:13: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:
@@ -125,7 +125,7 @@ Static Methods</h3>
|
||||
<a NAME="SaveXMLRPCServer.__init__" ID="SaveXMLRPCServer.__init__"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
SaveXMLRPCServer (Constructor)</h3>
|
||||
<b>SaveXMLRPCServer</b>(<i>addr, logRequests=True, allow_none=False, use_builtin_types=False, ipacl=None</i>)
|
||||
<b>SaveXMLRPCServer</b>(<i>addr, logRequests=True, allow_none=False, ipacl=None</i>)
|
||||
<p>
|
||||
Init SaveXMLRPCServer class.
|
||||
</p><dl>
|
||||
|
||||
@@ -105,4 +105,4 @@ xrpcserver.SaveXMLRPCServer.isAlive?4()
|
||||
xrpcserver.SaveXMLRPCServer.register_function?4(acl_level, function, name=None)
|
||||
xrpcserver.SaveXMLRPCServer.start?4()
|
||||
xrpcserver.SaveXMLRPCServer.stop?4()
|
||||
xrpcserver.SaveXMLRPCServer?1(addr, logRequests=True, allow_none=False, use_builtin_types=False, ipacl=None)
|
||||
xrpcserver.SaveXMLRPCServer?1(addr, logRequests=True, allow_none=False, ipacl=None)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
||||
<!-- eric project file for project revpipyload -->
|
||||
<!-- Saved: 2018-04-05, 14:57:19 -->
|
||||
<!-- Saved: 2018-04-07, 19:21:46 -->
|
||||
<!-- Copyright (C) 2018 Sven Sager, akira@narux.de -->
|
||||
<Project version="5.1">
|
||||
<Language>en_US</Language>
|
||||
@@ -9,7 +9,7 @@
|
||||
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
||||
<ProjectType>Console</ProjectType>
|
||||
<Description>Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten.</Description>
|
||||
<Version>0.6.4</Version>
|
||||
<Version>0.6.5</Version>
|
||||
<Author>Sven Sager</Author>
|
||||
<Email>akira@narux.de</Email>
|
||||
<Eol index="1"/>
|
||||
|
||||
@@ -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