fix a bug where certmaster was writing out the client csr file over and over if it...
[certmaster.git] / certmaster / certmaster.py
index 88ea265..53aca5c 100755 (executable)
@@ -48,7 +48,7 @@ class CertMaster(object):
         self.ca_cert_file = '%s/certmaster.crt' % self.cfg.cadir
 
         self.logger = logger.Logger().logger
-        self.audit_logger = logger.AuditLogger().logger
+        self.audit_logger = logger.AuditLogger()
 
         try:
             if not os.path.exists(self.cfg.cadir):
@@ -72,15 +72,12 @@ class CertMaster(object):
         self.handlers = {
                  'wait_for_cert': self.wait_for_cert,
                  }
+
         
     def _dispatch(self, method, params):
         if method == 'trait_names' or method == '_getAttributeNames':
             return self.handlers.keys()
-        
-#        ip = self.client_address
-#        print ip
 
-#        self.audit_logger.log_call(ip, method, params)
 
         if method in self.handlers.keys():
             return self.handlers[method](*params)
@@ -117,6 +114,7 @@ class CertMaster(object):
 
         # check for old csr on disk
         # if we have it - compare the two - if they are not the same - raise a fault
+        self.logger.debug("csrfile: %s  certfile: %s" % (csrfile, certfile))
         if os.path.exists(csrfile):
             oldfo = open(csrfile)
             oldcsrbuf = oldfo.read()
@@ -129,7 +127,8 @@ class CertMaster(object):
             if not newdig == olddig:
                 self.logger.info("A cert for %s already exists and does not match the requesting cert" % (requesting_host))
                 # XXX raise a proper fault
-                return False, '', ''
+            return False, '', ''
+        
 
         # look for a cert:
         # if we have it, then return True, etc, etc
@@ -229,10 +228,12 @@ class CertMaster(object):
         return certfile
         
 
+
+
 class CertmasterXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer):
-    def __init__(self, args):
+    def __init__(self, addr):
         self.allow_reuse_address = True
-        SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, args)
+        SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, addr)
         
 
 def serve(xmlrpcinstance):
@@ -241,11 +242,12 @@ def serve(xmlrpcinstance):
     Code for starting the XMLRPC service.
     """
 
+
     server = CertmasterXMLRPCServer((xmlrpcinstance.cfg.listen_addr, CERTMASTER_LISTEN_PORT))
     server.logRequests = 0 # don't print stuff to console
     server.register_instance(xmlrpcinstance)
     xmlrpcinstance.logger.info("certmaster started")
-    xmlrpcinstance.audit_logger.info("certmaster started")
+    xmlrpcinstance.audit_logger.logger.info("certmaster started")
     server.serve_forever()