diff options
| author | Seth Vidal <skvidal@fedoraproject.org> | 2007-09-24 15:44:37 -0400 |
|---|---|---|
| committer | Seth Vidal <skvidal@fedoraproject.org> | 2007-09-24 15:44:37 -0400 |
| commit | 0067f7ff6189fdd46f49e45ed2099511eb4de004 (patch) | |
| tree | c0e64ccb936e314200ce0ec3d2e02acc06b7fce2 /server/server.py | |
| parent | 122714e5589843c5f283ad935b20345576d24ca6 (diff) | |
| parent | bcbdab56d02a09ecda8a70acd6e5990073dd6b3e (diff) | |
Merge branch 'master' of ssh://git.fedoraproject.org/git/hosted/func
* 'master' of ssh://git.fedoraproject.org/git/hosted/func:
add a basic AuditLogger class
Package the subprocess module so that we can use it on EL4.
Basic plugin for checking SMART status on drives.
Add basic module for checking smart status of drives.
Remove header from ps output
Diffstat (limited to 'server/server.py')
| -rwxr-xr-x | server/server.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/server/server.py b/server/server.py index bfdf5a9..73ef114 100755 --- a/server/server.py +++ b/server/server.py @@ -35,7 +35,7 @@ import utils class XmlRpcInterface(object): - def __init__(self, modules={}): + def __init__(self, modules={}, server=None): """ Constructor. @@ -45,7 +45,11 @@ class XmlRpcInterface(object): self.config = config_obj.get() self.modules = modules self.logger = logger.Logger().logger + self.audit_logger = logger.AuditLogger() self.__setup_handlers() + + # need a reference so we can log ip's, certs, etc + self.server = server def __setup_handlers(self): @@ -93,6 +97,10 @@ class XmlRpcInterface(object): if method == 'trait_names' or method == '_getAttributeNames': return self.handlers.keys() + # XXX FIXME - need to figure out how to dig into the server base classes + # so we can get client ip, and eventually cert id info -akl + self.audit_logger.log_call(method, params) + return self.get_dispatch_method(method)(*params) # ====================================================================================== @@ -139,15 +147,20 @@ class FuncApiMethod: # ====================================================================================== -def serve(websvc): +def serve(): """ Code for starting the XMLRPC service. FIXME: make this HTTPS (see RRS code) and make accompanying Rails changes.. """ + modules = module_loader.load_modules() + server =FuncXMLRPCServer(('', 51234)) server.logRequests = 0 # don't print stuff to console + + websvc = XmlRpcInterface(modules=modules,server=server) + server.register_instance(websvc) server.serve_forever() @@ -184,7 +197,7 @@ def main(argv): print "Seriously.\n\n" try: - websvc = XmlRpcInterface(modules=modules) + serve() except codes.FuncException, e: print >> sys.stderr, 'error: %s' % e sys.exit(1) @@ -194,7 +207,6 @@ def main(argv): else: print "serving...\n" - serve(websvc) # ====================================================================================== |
