def __init__(self, addr, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception('Missing CA Certs') elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception( 'CA Certs must be an existing file of accepted root certs: %s' % ca_certs) # Decode the addr into a URL. Is there a pythonic way to do this? server_url = "https://%s:%d/" % addr delegate = ReferenceAggregateManager(trust_roots_dir, base_name, server_url) # FIXME: set logRequests=true if --debug self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name
def __init__(self, addr, am_url, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception('Missing CA Certs') elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception( 'CA Certs must be an existing file of accepted root certs: %s' % ca_certs) delegate = ProxyAggregateManager(am_url, trust_roots_dir, base_name) self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name
class ProxyAggregateManagerServer(AggregateManagerServer): "A server that provides the AM API to tools, but passes requests" "to a real configured AM, after logging and authorizing" def __init__(self, addr, am_url, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception("Missing CA Certs") elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception("CA Certs must be an existing file of accepted root certs: %s" % ca_certs) delegate = ProxyAggregateManager(am_url, trust_roots_dir, base_name) self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name
def __init__(self, addr, am_url, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception('Missing CA Certs') elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception('CA Certs must be an existing file of accepted root certs: %s' % ca_certs) delegate = ProxyAggregateManager(am_url, trust_roots_dir, base_name) self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name
def __init__(self, addr, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception('Missing CA Certs') elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception('CA Certs must be an existing file of accepted root certs: %s' % ca_certs) # Decode the addr into a URL. Is there a pythonic way to do this? server_url = "https://%s:%d/" % addr delegate = ReferenceAggregateManager(trust_roots_dir, base_name, server_url) # FIXME: set logRequests=true if --debug self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name
class AggregateManagerServer(object): """An XMLRPC Aggregate Manager Server. Delegates calls to given delegate, or the default printing AM.""" def __init__(self, addr, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception('Missing CA Certs') elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception( 'CA Certs must be an existing file of accepted root certs: %s' % ca_certs) # Decode the addr into a URL. Is there a pythonic way to do this? server_url = "https://%s:%d/" % addr delegate = ReferenceAggregateManager(trust_roots_dir, base_name, server_url) # FIXME: set logRequests=true if --debug self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name def serve_forever(self): self._server.serve_forever() def register_instance(self, instance): # Pass the AM instance to the generic XMLRPC server, # which lets it know what XMLRPC methods to expose self._server.register_instance(instance)
class AggregateManagerServer(object): """An XMLRPC Aggregate Manager Server. Delegates calls to given delegate, or the default printing AM.""" def __init__(self, addr, keyfile=None, certfile=None, trust_roots_dir=None, ca_certs=None, base_name=None): # ca_certs arg here must be a file of concatenated certs if ca_certs is None: raise Exception('Missing CA Certs') elif not os.path.isfile(os.path.expanduser(ca_certs)): raise Exception('CA Certs must be an existing file of accepted root certs: %s' % ca_certs) # Decode the addr into a URL. Is there a pythonic way to do this? server_url = "https://%s:%d/" % addr delegate = ReferenceAggregateManager(trust_roots_dir, base_name, server_url) # FIXME: set logRequests=true if --debug self._server = SecureXMLRPCServer(addr, keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) self._server.register_instance(AggregateManager(delegate)) # Set the server on the delegate so it can access the # client certificate. delegate._server = self._server if not base_name is None: global RESOURCE_NAMESPACE RESOURCE_NAMESPACE = base_name def serve_forever(self): self._server.serve_forever() def register_instance(self, instance): # Pass the AM instance to the generic XMLRPC server, # which lets it know what XMLRPC methods to expose self._server.register_instance(instance)