nun wird hashlib benutzt anstatt md5
authorSandro Knauß <knauss@netzguerilla.net>
Thu, 18 Nov 2010 01:25:28 +0100
changeset 61 04dfd43dfecc
parent 60 5ca3aa8d75e1
child 62 35228d665310
nun wird hashlib benutzt anstatt md5 tests laufen sauber wieder duch (Meldung das Worker läuft wieder hinzugefügt)
iro/joblist.py
iro/tests/stopableServer.py
iro/tests/testXMLRPCServer.py
iro/worker.py
iro/xmlrpc/SecureUserdbXMLRPCServer.py
--- a/iro/joblist.py	Thu Nov 04 22:47:00 2010 +0100
+++ b/iro/joblist.py	Thu Nov 18 01:25:28 2010 +0100
@@ -12,7 +12,7 @@
 #along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 from anbieter import content
-import md5, os,  time
+import hashlib, os,  time
 import logging
 logger=logging.getLogger("iro.joblist");
 
@@ -66,7 +66,7 @@
         creats a random hash id
         '''
         while True:
-            m = md5.new()
+            m = hashlib.sha1()
             m.update(str(time.time()))
             m.update(os.urandom(10))
             if not self.jobs.has_key(m.hexdigest):
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/iro/tests/stopableServer.py	Thu Nov 18 01:25:28 2010 +0100
@@ -0,0 +1,108 @@
+import ConfigParser
+
+import threading
+
+from multiprocessing import Queue
+from multiprocessing.managers import BaseManager
+
+from iro import xmlrpc,anbieter
+from iro.user import User, Admin
+from iro.iro import MySMTP,MySmstrade,MyUserDB
+from iro.job import SMSJob, FAXJob, MailJob
+from iro.joblist import Joblist
+from iro.providerlist import Providerlist
+
+class StoppableXMLRPCServer(xmlrpc.SecureUserDBXMLRPCServer, threading.Thread):
+    running=False
+    def __init__(self, *args, **kwargs):
+        xmlrpc.SecureUserDBXMLRPCServer.__init__(self, *args, **kwargs)
+        threading.Thread.__init__(self)
+        self.timeout=.5
+   
+    def start(self):
+        self.running=True
+        threading.Thread.start(self)
+ 
+   
+    def run(self):
+        # *serve_forever* muss in einem eigenen Thread laufen, damit man es
+        # unterbrochen werden kann!
+        while (self.running):
+            try:
+                self.handle_request()
+            except :
+                break
+   
+    def stop(self):
+        if (self.running):
+            self.running=False
+            self.server_close()
+            self.join()
+
+    def __del__(self):
+        self.stop()
+ 
+    def __enter__(self):
+        self.start()
+        return self
+
+    def __exit__(self,type,value,traceback):
+        self.stop()
+
+
+
+def init_server():
+    userlist=[{"name":"test","password":"test",  "class":User},
+              {"name":"test2","password":"test2", "class": User},
+              {"name":"admin","password":"admin", "class": Admin}]
+
+
+    
+    class MyManager(BaseManager):
+        pass
+    
+    MyManager.register('SMSJob', SMSJob) 
+    MyManager.register('FAXob', FAXJob) 
+    MyManager.register('MailJob',MailJob) 
+    MyManager.register('Providerlist',Providerlist) 
+    manager = MyManager()
+    manager.start()
+    
+    
+    #anbieter erzeugen und konfigurieren
+    sip=anbieter.sipgate()
+    sip.read_basic_config("iro.conf")
+    
+    localhost=MySMTP()
+    localhost.read_basic_config("iro.conf")
+
+    smstrade=MySmstrade()
+    smstrade.read_basic_config("iro.conf")
+
+    #Benutzerdatenbank erstellen
+    queue = Queue()
+    provider=Providerlist()
+    provider.add("sipgate", sip, ["sms", "fax", ])
+    provider.add("smstrade", smstrade, ["sms", ])
+    provider.add("geonet", None, ["sms", "fax", ])
+    provider.add("fax.de", None, ["sms", "fax", ])
+    provider.add("localhost", localhost, ["mail", ])
+    provider.setDefault("sms","smstrade")
+    provider.setDefault("fax","sipgate")
+    provider.setDefault("mail","localhost")
+    jobqueue=Joblist(manager,  queue, provider)
+    userdb=MyUserDB(userlist,jobqueue)
+
+
+    #Server starten
+    cp = ConfigParser.ConfigParser()
+    cp.read(["iro.conf"])
+    cert=cp.get('server', 'cert')
+    key=cp.get('server', 'key')
+    serv = StoppableXMLRPCServer(addr=("localhost", 8000), 
+                                      userdb=userdb,
+                                      certificate=cert,privatekey=key,
+                                      logRequests=False)
+    serv.relam="xmlrpc"
+    return serv
+
--- a/iro/tests/testXMLRPCServer.py	Thu Nov 04 22:47:00 2010 +0100
+++ b/iro/tests/testXMLRPCServer.py	Thu Nov 18 01:25:28 2010 +0100
@@ -1,111 +1,10 @@
 # -*- coding: utf-8 -*-
 
-import unittest, ConfigParser
-
-import threading, xmlrpclib
-from multiprocessing import Queue
-from multiprocessing.managers import BaseManager
-
-from iro import xmlrpc,anbieter
-from iro.iro import MySMTP,MySmstrade,MyUserDB
-from iro.job import SMSJob, FAXJob, MailJob
-from iro.joblist import Joblist
-from iro.providerlist import Providerlist
-from iro.user import User, Admin
-
-
-class StoppableXMLRPCServer(xmlrpc.SecureUserDBXMLRPCServer, threading.Thread):
-    running=False
-    def __init__(self, *args, **kwargs):
-        xmlrpc.SecureUserDBXMLRPCServer.__init__(self, *args, **kwargs)
-        threading.Thread.__init__(self)
-        self.timeout=.5
-   
-    def start(self):
-        self.running=True
-        threading.Thread.start(self)
- 
-   
-    def run(self):
-        # *serve_forever* muss in einem eigenen Thread laufen, damit man es
-        # unterbrochen werden kann!
-        while (self.running):
-            self.handle_request()
-   
-    def stop(self):
-        if (self.running):
-            self.running=False
-            self.server_close()
-            self.join()
-
-    def __del__(self):
-        self.stop()
- 
-    def __enter__(self):
-        self.start()
-        return self
-
-    def __exit__(self,type,value,traceback):
-        self.stop()
-
-
+import unittest
 
-def init_server():
-    userlist=[{"name":"test","password":"test",  "class":User},
-              {"name":"test2","password":"test2", "class": User},
-              {"name":"admin","password":"admin", "class": Admin}]
-
-
-    
-    class MyManager(BaseManager):
-        pass
-    
-    MyManager.register('SMSJob', SMSJob) 
-    MyManager.register('FAXob', FAXJob) 
-    MyManager.register('MailJob',MailJob) 
-    MyManager.register('Providerlist',Providerlist) 
-    manager = MyManager()
-    manager.start()
-    
-    
-    #anbieter erzeugen und konfigurieren
-    sip=anbieter.sipgate()
-    sip.read_basic_config("iro.conf")
-    
-    localhost=MySMTP()
-    localhost.read_basic_config("iro.conf")
-
-    smstrade=MySmstrade()
-    smstrade.read_basic_config("iro.conf")
+import xmlrpclib
+from stopableServer import init_server
 
-    #Benutzerdatenbank erstellen
-    queue = Queue()
-    provider=Providerlist()
-    provider.add("sipgate", sip, ["sms", "fax", ])
-    provider.add("smstrade", smstrade, ["sms", ])
-    provider.add("geonet", None, ["sms", "fax", ])
-    provider.add("fax.de", None, ["sms", "fax", ])
-    provider.add("localhost", localhost, ["mail", ])
-    provider.setDefault("sms","smstrade")
-    provider.setDefault("fax","sipgate")
-    provider.setDefault("mail","localhost")
-    jobqueue=Joblist(manager,  queue, provider)
-    userdb=MyUserDB(userlist,jobqueue)
-
-
-    #Server starten
-    cp = ConfigParser.ConfigParser()
-    cp.read(["iro.conf"])
-    cert=cp.get('server', 'cert')
-    key=cp.get('server', 'key')
-    serv = StoppableXMLRPCServer(addr=("localhost", 8000), 
-                                      userdb=userdb,
-                                      certificate=cert,privatekey=key,
-                                      logRequests=False)
-    serv.relam="xmlrpc"
-    return serv
- 
-    
 class TestServer(unittest.TestCase):
     
     def setUp(self):
--- a/iro/worker.py	Thu Nov 04 22:47:00 2010 +0100
+++ b/iro/worker.py	Thu Nov 18 01:25:28 2010 +0100
@@ -11,6 +11,7 @@
         self.queue=queue
         
     def run(self):
+        logger.info('Workerprocess läuft nun...')
         indifier=0
         while 1:
             job=self.queue.get()
--- a/iro/xmlrpc/SecureUserdbXMLRPCServer.py	Thu Nov 04 22:47:00 2010 +0100
+++ b/iro/xmlrpc/SecureUserdbXMLRPCServer.py	Thu Nov 18 01:25:28 2010 +0100
@@ -1,6 +1,6 @@
 from SecureAuthentificateXMLRPCServer import  SecureAuthentificateXMLRPCRequestHandler
 from SecureXMLRPCServer import SecureXMLRPCServer
-import os, md5
+import os, hashlib
 
 class UserDB:
     '''
@@ -20,7 +20,7 @@
         returns a hash out of username and the password and self.salt
         user is a directory with two keys: username and password
         """
-        m=md5.new()
+        m=hashlib.sha512()
         m.update(user["name"])
         m.update(self.salt)
         m.update(user["password"])