Securexmlrpcenserver.

SecureXMLRPCServer ist ein Python-Modul mit PYOPENSSL 0.5.
Jetzt downloaden

Securexmlrpcenserver. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Public Domain
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Michal J. Wallace
  • Website des Verlags:
  • http://www.sabren.net/code/python/

Securexmlrpcenserver. Stichworte


Securexmlrpcenserver. Beschreibung

SecureXMLRPCServer ist ein Python-Modul mit PYOPENSSL 0.5. SecureXMLRPCServer ist ein Python-Modul mit PYOPENSSL 0.5. Es fungiert als Drop-In-Ersatz für SimplExmlrpcenserver aus der Standard-Python-Bibliothek.Example: Importieren von SocketServerImport OS, SocketSl-Import SSLClass SSLBUGFIX: "" Die SSL-Verbindung sslclass sslbugfix: "" SSL-Verbindung tendenziell tendenziell auf SendAlle, also verwende ich SEND () als Problemumgehung. Dies heißt von Socket._FileObject, der benötigt wird, sodass SocketServer (und Kinder) die Verbindung als reguläre Datei behandeln können. "" "Def __init __ (Selbst, CONNE):" "Aus irgendeinem Grund kann ich keine Verbindung subklassen , also mache ich stattdessen einen Proxy. , Name, Wert): SetAttr (self .__ dict __ , Name, Wert) DEF SendAll (Self, Data): "" "Dies ist der Bugfix. connection.sendall () segfaults auf socket._fileObject.Flush ( ), also neu, um es einfach wieder zu verwenden, um stattdessen senden (). . Simplexmlrpcserver.dopost ruft heruntergefahren (1) und conn ictect.shutdown () dauert kein Argument. Also verwerfen wir es einfach: "" "Self .__ dict __ . Herunterfahren () def akzeptieren (self):" "" Dies ist der andere Teil des Shutdown-Problems (). Da Server neue Sockel erstellen, müssen wir sie mit unserer Magie infizieren. :) "" C, a = self .__ dict __ . Accept () Rückkehr (SSLBUGFIX (C), a) Klasse SEVERETCPSERVER (SocketServer.tcPServer): "" "So wie TCPServer, aber benutzen Sie jedoch eine Sockel. So können Sie wirklich die Schlüssel- und Zertifikatdateien angeben. "" def __Init __ (self, server_address, forderHandlerclass): SocketServer.baseServer .__ init __ (Self, Server_Address, RequestHanderclass) ## identisch wie normal, aber es sei es sicher: ctx = ssl.context (ssl.slv23_method) ctx.set_options ( SSL.OP_NO_SSLV2) DIR = OS.CURDIR CTX.USE_PRIVATEKEY_FILE (OS.PATH.JOIN (DIR, 'server.pey')) ctx.use_certificate_file (OS.Path.join (dir, 'server.cert')) Self.Socket = SSLBUGFIX (SSL.Connection (CTX, Socket.Socket (Self.Address_Family, Self.Socket_Type)))) Self.Server_bind () Self.Server_Activate () class SecurexMlrpCrequestHandler (simplexmlrpcserver.simplexmlrquestRequesthandler): def Setup (Self): "" Wir müssen Socket._FileObject verwenden, da SSL.Connection keinen "DUP" hat. Nicht genau sicher, warum das ist, aber dies wird von Kommentaren in Socket.py und ssl / connection.c untergebracht RB ", self.rbufsize) self.wFile = Socket._FileObject (self.request," WB ", self.wbufsize) Klasse SecurexMlrpcServer (simplexmlrpcserver.simplexmlrpcenserver): def __init __ (self, adr, bellandhandler = secinexmlrpcrequesthandler, logrequests = 1) : "" "Dies ist der genaue derselbe Code wie simplexmlrpcserver .__ Init__, außer dass es SEVERETCPSERVER ist .__ Init__ anstelle von einem einfachen alten TCPServer .__ init__" "Self.Funcs = {} self.Logrequests = LOGREQUESTS SELBST.Instance = keiner SecureChequeServer .__ Init __ ( Self, Addr, RequestHander) Anforderungen: · Python


Securexmlrpcenserver. Zugehörige Software