[CalendarServer-changes] [1858] CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Mon Sep 10 13:49:25 PDT 2007


Revision: 1858
          http://trac.macosforge.org/projects/calendarserver/changeset/1858
Author:   wsanchez at apple.com
Date:     2007-09-10 13:49:24 -0700 (Mon, 10 Sep 2007)

Log Message:
-----------
Pulled up r1845 r1854 from trunk.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/directory/digest.py
    CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/test/test_tap.py

Modified: CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/directory/digest.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/directory/digest.py	2007-09-10 17:15:56 UTC (rev 1857)
+++ CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/directory/digest.py	2007-09-10 20:49:24 UTC (rev 1858)
@@ -162,8 +162,6 @@
 
     def __init__(self, path):
         db_path = os.path.join(path, DigestCredentialsDB.dbFilename)
-        if os.path.exists(db_path):
-            os.remove(db_path)
         super(DigestCredentialsDB, self).__init__(db_path, autocommit=True)
         self.exceptions = 0
     
@@ -268,7 +266,6 @@
             values (:1, :2)
             """, (key, value,)
         )
-        self._db_commit()
        
     def _delete_from_db(self, key):
         """
@@ -277,7 +274,6 @@
         @param key: the key to remove.
         """
         self._db().execute("delete from DIGESTCREDENTIALS where KEY = :1", (key,))
-        self._db_commit()
     
     def _db_version(self):
         """
@@ -336,6 +332,9 @@
         super(QopDigestCredentialFactory, self).__init__(algorithm, realm)
         self.qop = qop
         self.db = DigestCredentialsDB(db_path)
+        
+        # Always clean-up when we start-up
+        self.cleanup()
 
     def getChallenge(self, peer):
         """
@@ -500,6 +499,13 @@
         keys = self.db.keys()
         oldest_allowed = time.time() - DigestCredentialFactory.CHALLENGE_LIFETIME_SECS
         for key in keys:
-            ignore_clientip, ignore_cnonce, db_timestamp = self.db.get(key)
-            if db_timestamp <= oldest_allowed:
-                self.invalidate(key)
+            try:
+                value = self.db.get(key)
+                if value is not None:
+                    ignore_clientip, ignore_cnonce, db_timestamp = value
+                    if db_timestamp <= oldest_allowed:
+                        self.invalidate(key)
+            except Exception, e:
+                # Clean-up errors can be logged but we should ignore them
+                log.err("Error cleaning digest credentials: %s" % (e,))
+                pass

Modified: CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/test/test_tap.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/test/test_tap.py	2007-09-10 17:15:56 UTC (rev 1857)
+++ CalendarServer/branches/release/CalendarServer-1.0-dev/twistedcaldav/test/test_tap.py	2007-09-10 20:49:24 UTC (rev 1858)
@@ -190,6 +190,7 @@
             }
 
         self.config['DocumentRoot'] = self.mktemp()
+        self.config['DataRoot'] = self.mktemp()
         self.config['ProcessType'] = 'Slave'
         self.config['SSLPrivateKey'] = sibpath(__file__, 'data/server.pem')
         self.config['SSLCertificate'] = sibpath(__file__, 'data/server.pem')
@@ -200,6 +201,7 @@
             config_mod._mergeData(self.config, self.configOptions)
 
         os.mkdir(self.config['DocumentRoot'])
+        os.mkdir(self.config['DataRoot'])
 
         self.configFile = self.mktemp()
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070910/d2479211/attachment.html


More information about the calendarserver-changes mailing list