From ac750124ef95fcde48792f3842752e29d7ce7d16 Mon Sep 17 00:00:00 2001 From: Joey Hagedorn Date: Mon, 16 Jul 2007 18:04:12 +0000 Subject: Removing extraneous xml-rpc server code (deserted reimplementation) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@3455 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/simpleclient.py | 32 ---------------- src/lib/simpleserver.py | 95 ------------------------------------------------ src/lib/verifierDB | Bin 12288 -> 0 bytes 3 files changed, 127 deletions(-) delete mode 100644 src/lib/simpleclient.py delete mode 100644 src/lib/simpleserver.py delete mode 100644 src/lib/verifierDB (limited to 'src') diff --git a/src/lib/simpleclient.py b/src/lib/simpleclient.py deleted file mode 100644 index 2840ea4eb..000000000 --- a/src/lib/simpleclient.py +++ /dev/null @@ -1,32 +0,0 @@ -from tlslite.api import XMLRPCTransport -from xmlrpclib import ServerProxy -from tlslite.integration.ClientHelper import ClientHelper - -#Authenticate server based on its X.509 fingerprint -class DTXMLRPCTransport(XMLRPCTransport, ClientHelper): - def __init__(self, - username=None, password=None, sharedKey=None, - certChain=None, privateKey=None, - cryptoID=None, protocol=None, - x509Fingerprint=None, - x509TrustList=None, x509CommonName=None, - settings=None, - use_datetime=0): - self._use_datetime = use_datetime #this looks like a bug in tlslite. Perhaps just add this over there. - ClientHelper.__init__(self, - username, password, sharedKey, - certChain, privateKey, - cryptoID, protocol, - x509Fingerprint, - x509TrustList, x509CommonName, - settings) - -#sha1 fingerprint: ea38c8b6f73b5df8d77bf1e16652d9b8757a7310 -serverFingerprint = "ea38c8b6f73b5df8d77bf1e16652d9b8757a7310" - -transport = DTXMLRPCTransport(username="name", password="secret",x509Fingerprint=serverFingerprint.lower()) -server = ServerProxy("https://localhost:8505", transport) - -#print server.system.listMethods() - -print(server.silly("Kerbapp 1!")) \ No newline at end of file diff --git a/src/lib/simpleserver.py b/src/lib/simpleserver.py deleted file mode 100644 index 63f07d71d..000000000 --- a/src/lib/simpleserver.py +++ /dev/null @@ -1,95 +0,0 @@ -from SocketServer import * -from SimpleXMLRPCServer import * -from tlslite.api import * -#from Bcfg2.tlslite.api import * - -s = open("./serverX509Cert.pem").read() -x509 = X509() -x509.parse(s) -certChain = X509CertChain([x509]) -s = open("./serverX509Key.pem").read() -privateKey = parsePEMKey(s, private=True) - -sessionCache = SessionCache() - -class MyHTTPServer(ThreadingMixIn, TLSSocketServerMixIn, SimpleXMLRPCServer): - db = VerifierDB("./verifierDB") - db.open() - - def handshake(self, tlsConnection): - try: - tlsConnection.handshakeServer(certChain=certChain, - privateKey=privateKey, - verifierDB=self.db, - sessionCache=sessionCache) - tlsConnection.ignoreAbruptClose = True - return True - except TLSError, error: - print "Handshake failure:", str(error) - return False - -class TLSXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - '''TLSXMLRPCRequestHandler overrides SimpleXMLRPCRequestHandler to close - connections without causing problems. (just the do_POST() is broken)''' - def do_POST(self): - """Handles the HTTP POST request. - - Attempts to interpret all HTTP POST requests as XML-RPC calls, - which are forwarded to the server's _dispatch method for handling. - """ - - # Check that the path is legal - if not self.is_rpc_path_valid(): - self.report_404() - return - - try: - # Get arguments by reading body of request. - # We read this in chunks to avoid straining - # socket.read(); around the 10 or 15Mb mark, some platforms - # begin to have problems (bug #792570). - max_chunk_size = 10*1024*1024 - size_remaining = int(self.headers["content-length"]) - L = [] - while size_remaining: - chunk_size = min(size_remaining, max_chunk_size) - L.append(self.rfile.read(chunk_size)) - size_remaining -= len(L[-1]) - data = ''.join(L) - - # In previous versions of SimpleXMLRPCServer, _dispatch - # could be overridden in this class, instead of in - # SimpleXMLRPCDispatcher. To maintain backwards compatibility, - # check to see if a subclass implements _dispatch and dispatch - # using that method if present. - response = self.server._marshaled_dispatch( - data, getattr(self, '_dispatch', None) - ) - except: # This should only happen if the module is buggy - # internal error, report as HTTP server error - self.send_response(500) - self.end_headers() - else: - # got a valid XML RPC response - self.send_response(200) - self.send_header("Content-type", "text/xml") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(response) - - # shut down the connection - self.wfile.flush() - #THIS IS THE ONLY MODIFICATION FROM SimpleXMLRPCRequestHandler's IMPLEMENTATION: - #self.connection.shutdown(1) - self.connection.close() - - -def silly(arg="string"): - print arg - return arg[::-1] - - -httpd = MyHTTPServer(('localhost', 8505), TLSXMLRPCRequestHandler) -httpd.register_introspection_functions() -httpd.register_function(silly) -httpd.serve_forever() diff --git a/src/lib/verifierDB b/src/lib/verifierDB deleted file mode 100644 index ef28f3912..000000000 Binary files a/src/lib/verifierDB and /dev/null differ -- cgit v1.2.3-1-g7c22