12 from geniserver import *
14 from trustedroot import *
17 from geniticket import *
20 # GacksServer is a GeniServer that serves component interface requests.
23 class GacksServer(GeniServer):
26 # Create a new GacksServer object.
28 # @param ip the ip address to listen on
29 # @param port the port to listen on
30 # @param key_file private key filename of registry
31 # @param cert_file certificate filename containing public key (could be a GID file)
33 def __init__(self, ip, port, key_file, cert_file):
34 GeniServer.__init__(self, ip, port, key_file, cert_file)
37 # Register the server RPCs for Gacks
39 def register_functions(self):
40 GeniServer.register_functions(self)
41 self.server.register_function(self.get_handle)
43 def get_handle(self, rspec):
46 def set_allocator(self, callerGid, Handle, allocatorGid, which, where, reqsig)
49 if __name__ == "__main__":
52 key_file = "gacksserver.key"
53 cert_file = "gacksserver.cert"
55 # if no key is specified, then make one up
56 if (not os.path.exists(key_file)) or (not os.path.exists(cert_file)):
57 key = Keypair(create=True)
58 key.save_to_file(key_file)
60 cert = Certificate(subject="component")
61 cert.set_issuer(key=key, subject="component")
64 cert.save_to_file(cert_file)
66 TrustedRoots = TrustedRootList()
68 s = ComponentManager("", 12346, key_file, cert_file)
69 s.trusted_cert_list = TrustedRoots.get_list()