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:
@@ -125,7 +125,7 @@ Static Methods</h3>
|
|||||||
<a NAME="SaveXMLRPCServer.__init__" ID="SaveXMLRPCServer.__init__"></a>
|
<a NAME="SaveXMLRPCServer.__init__" ID="SaveXMLRPCServer.__init__"></a>
|
||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
SaveXMLRPCServer (Constructor)</h3>
|
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>
|
<p>
|
||||||
Init SaveXMLRPCServer class.
|
Init SaveXMLRPCServer class.
|
||||||
</p><dl>
|
</p><dl>
|
||||||
|
|||||||
@@ -105,4 +105,4 @@ xrpcserver.SaveXMLRPCServer.isAlive?4()
|
|||||||
xrpcserver.SaveXMLRPCServer.register_function?4(acl_level, function, name=None)
|
xrpcserver.SaveXMLRPCServer.register_function?4(acl_level, function, name=None)
|
||||||
xrpcserver.SaveXMLRPCServer.start?4()
|
xrpcserver.SaveXMLRPCServer.start?4()
|
||||||
xrpcserver.SaveXMLRPCServer.stop?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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
||||||
<!-- eric project file for project revpipyload -->
|
<!-- 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 -->
|
<!-- Copyright (C) 2018 Sven Sager, akira@narux.de -->
|
||||||
<Project version="5.1">
|
<Project version="5.1">
|
||||||
<Language>en_US</Language>
|
<Language>en_US</Language>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
||||||
<ProjectType>Console</ProjectType>
|
<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>
|
<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>
|
<Author>Sven Sager</Author>
|
||||||
<Email>akira@narux.de</Email>
|
<Email>akira@narux.de</Email>
|
||||||
<Eol index="1"/>
|
<Eol index="1"/>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ from time import asctime
|
|||||||
from xmlrpc.client import Binary
|
from xmlrpc.client import Binary
|
||||||
from xrpcserver import SaveXMLRPCServer
|
from xrpcserver import SaveXMLRPCServer
|
||||||
|
|
||||||
pyloadversion = "0.6.4"
|
pyloadversion = "0.6.5"
|
||||||
|
|
||||||
|
|
||||||
class RevPiPyLoad():
|
class RevPiPyLoad():
|
||||||
@@ -743,6 +743,9 @@ class RevPiPyLoad():
|
|||||||
if filedata is None or filename is None:
|
if filedata is None or filename is None:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# Windowszeichen prüfen
|
||||||
|
filename = filename.replace("\\", "/")
|
||||||
|
|
||||||
# Absoluten Pfad prüfen
|
# Absoluten Pfad prüfen
|
||||||
dirname = os.path.join(self.plcworkdir, os.path.dirname(filename))
|
dirname = os.path.join(self.plcworkdir, os.path.dirname(filename))
|
||||||
if self.plcworkdir not in os.path.abspath(dirname):
|
if self.plcworkdir not in os.path.abspath(dirname):
|
||||||
|
|||||||
@@ -17,8 +17,7 @@ class SaveXMLRPCServer(SimpleXMLRPCServer):
|
|||||||
"""Erstellt einen erweiterten XMLRPCServer."""
|
"""Erstellt einen erweiterten XMLRPCServer."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, addr, logRequests=True, allow_none=False,
|
self, addr, logRequests=True, allow_none=False, ipacl=None):
|
||||||
use_builtin_types=False, ipacl=None):
|
|
||||||
"""Init SaveXMLRPCServer class.
|
"""Init SaveXMLRPCServer class.
|
||||||
@param ipacl AclManager <class 'IpAclManager'>"""
|
@param ipacl AclManager <class 'IpAclManager'>"""
|
||||||
proginit.logger.debug("enter SaveXMLRPCServer.__init__()")
|
proginit.logger.debug("enter SaveXMLRPCServer.__init__()")
|
||||||
@@ -34,7 +33,6 @@ class SaveXMLRPCServer(SimpleXMLRPCServer):
|
|||||||
allow_none=allow_none,
|
allow_none=allow_none,
|
||||||
encoding="utf-8",
|
encoding="utf-8",
|
||||||
bind_and_activate=False,
|
bind_and_activate=False,
|
||||||
use_builtin_types=use_builtin_types
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Klassenvariablen
|
# Klassenvariablen
|
||||||
@@ -128,13 +126,13 @@ class SaveXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
|
|||||||
|
|
||||||
# ACL für IP-Adresse übernehmen
|
# ACL für IP-Adresse übernehmen
|
||||||
self.server.requestacl = \
|
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:
|
if self.server.requestacl >= 0:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
self.send_error(
|
self.send_error(
|
||||||
401, "IP '{}' not allowed".format(self.address_string())
|
401, "IP '{}' not allowed".format(self.client_address[0])
|
||||||
)
|
)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user