The geniserver Module

This module implements a general-purpose server layer for geni. The same basic server should be usable on the registry, component, or other interfaces. TODO: investigate ways to combine this with existing PLC server?

GeniServer(ip, port, key_file, cert_file) (class) [#]

Implements an HTTPS XML-RPC server.

For more information about this class, see The GeniServer Class.

SecureXMLRpcRequestHandler (class) [#]

taken from the web (XXX find reference).

For more information about this class, see The SecureXMLRpcRequestHandler Class.

SecureXMLRPCServer(server_address, HandlerClass, key_file, cert_file, logRequests=True) (class) [#]

Taken from the web (XXX find reference).

For more information about this class, see The SecureXMLRPCServer Class.

verify_callback(conn, x509, err, depth, preverify) [#]

Verification callback for pyOpenSSL. We do our own checking of keys because we have our own authentication spec. Thus we disable several of the normal prohibitions that OpenSSL places on certificates

The GeniServer Class

GeniServer(ip, port, key_file, cert_file) (class) [#]

Implements an HTTPS XML-RPC server. Generally it is expected that GENI functions will take a credential string, which is passed to decode_authentication. Decode_authentication() will verify the validity of the credential, and verify that the user is using the key that matches the GID supplied in the credential.

decode_authentication(cred_string, operation) [#]

Decode the credential string that was submitted by the caller. Several checks are performed to ensure that the credential is valid, and that the callerGID included in the credential matches the caller that is connected to the HTTPS connection.

noop(cred, anything) [#]

Sample no-op server function. The no-op function decodes the credential that was passed to it.

register_functions() [#]

Register functions that will be served by the XMLRPC server. This function should be overrided by each descendant class.

run() [#]

Execute the server, serving requests forever.

The SecureXMLRpcRequestHandler Class

SecureXMLRpcRequestHandler (class) [#]

taken from the web (XXX find reference). Implents HTTPS xmlrpc request handler

The SecureXMLRPCServer Class

SecureXMLRPCServer(server_address, HandlerClass, key_file, cert_file, logRequests=True) (class) [#]

Taken from the web (XXX find reference). Implements an HTTPS xmlrpc server