iro/xmlrpc/SecureUserdbXMLRPCServer.py
changeset 302 3f4bdea2abbf
parent 90 eb04ac3a8327
parent 301 d5ebbcccc41b
child 303 9708742ff89c
--- a/iro/xmlrpc/SecureUserdbXMLRPCServer.py	Wed Dec 21 22:07:48 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-from SecureAuthentificateXMLRPCServer import  SecureAuthentificateXMLRPCRequestHandler
-from SecureXMLRPCServer import SecureXMLRPCServer
-import os, hashlib
-
-class UserDB:
-    '''
-    class for managing all xmlrpc users
-    - each user is indyfied via a hash value, which is created out of the username + password
-    '''
-    def __init__(self,userClass, userlist,jobqueue):
-        self.salt=os.urandom(20)
-        self.jobqueue=jobqueue
-        self.userClass=userClass
-        self.userlist={}
-        for user in userlist:
-            self.createUser(user)
-
-    def createHash(self,user):
-        """
-        returns a hash out of username and the password and self.salt
-        user is a directory with two keys: username and password
-        """
-        m=hashlib.sha512()
-        m.update(user["name"])
-        m.update(self.salt)
-        m.update(user["password"])
-        return m.hexdigest()
-
-    def createUser(self,user):
-        self.userlist[self.createHash(user)]=self.userClass(user["name"],self.jobqueue)
-
-    def __getitem__(self,key):
-        return self.userlist[key]
-
-        
-class SecureAuthentificateXMLRPCRequestHandler2(SecureAuthentificateXMLRPCRequestHandler):
-    def testUser(self,username,password):
-        """
-        Function for testing authentification
-        """
-        return self.server.activateUser(username,password)
-
-class SecureUserDBXMLRPCServer(SecureXMLRPCServer):
-    def __init__(self, addr, userdb, 
-                 requestHandler=SecureAuthentificateXMLRPCRequestHandler2,
-                 certificate="server.cert", privatekey="server.pem",
-                 logRequests=1):
-        SecureXMLRPCServer.__init__(self, addr, requestHandler, certificate, privatekey, logRequests)
-        self.relam="xmlrpc"
-        self.userdb=userdb
-
-    def activateUser(self,username,password):
-        """
-        Function is executed, if someone ant to login
-        -searches for a regular user in the userdb and then put all methods of the user as XMLRPC
-        returns weather a user was found or not
-        """
-        try:
-            user = self.userdb[self.userdb.createHash({"name":username,"password":password})]
-            self.register_instance(user)
-            return True
-        except KeyError:
-            return False