[CalendarServer-changes] [1947] CalendarServer/branches/users/cdaboo/server2server-1941

source_changes at macosforge.org source_changes at macosforge.org
Fri Oct 5 20:10:01 PDT 2007


Revision: 1947
          http://trac.macosforge.org/projects/calendarserver/changeset/1947
Author:   cdaboo at apple.com
Date:     2007-10-05 20:10:01 -0700 (Fri, 05 Oct 2007)

Log Message:
-----------
Regular expression option for detecting local vs remote calendar user addresses.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd-test.plist
    CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd.plist
    CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/config.py
    CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/schedule_common.py

Modified: CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd-test.plist
===================================================================
--- CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd-test.plist	2007-10-06 03:09:04 UTC (rev 1946)
+++ CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd-test.plist	2007-10-06 03:10:01 UTC (rev 1947)
@@ -339,6 +339,12 @@
   	<string>example.com</string>
   	<key>HTTP Domain</key>
   	<string>example.com</string>
+  	<key>Local Addresses</key>
+  	<array>
+  	</array>
+  	<key>Remote Addresses</key>
+  	<array>
+  	</array>
   	<key>Servers</key>
   	<string>conf/servertoserver-test.xml</string>
   </dict>

Modified: CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd.plist
===================================================================
--- CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd.plist	2007-10-06 03:09:04 UTC (rev 1946)
+++ CalendarServer/branches/users/cdaboo/server2server-1941/conf/caldavd.plist	2007-10-06 03:10:01 UTC (rev 1947)
@@ -273,6 +273,12 @@
   	<string></string>
   	<key>HTTP Domain</key>
   	<string></string>
+  	<key>Local Addresses</key>
+  	<array>
+  	</array>
+  	<key>Remote Addresses</key>
+  	<array>
+  	</array>
   	<key>Servers</key>
   	<string>/etc/caldavd/servertoserver.xml</string>
   </dict>

Modified: CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/config.py
===================================================================
--- CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/config.py	2007-10-06 03:09:04 UTC (rev 1946)
+++ CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/config.py	2007-10-06 03:10:01 UTC (rev 1947)
@@ -149,9 +149,11 @@
     "EnableNotifications" : False, # Drop Box Notifications
     
     "ServerToServer": {
-        "Enabled"         : False, # Server-to-server protocol
-        "Email Domain"    : "",    # Domain for mailto calendar user addresses on this server
-        "HTTP Domain"     : "",    # Domain for http calendar user addresses on this server
+        "Enabled"          : False, # Server-to-server protocol
+        "Email Domain"     : "",    # Domain for mailto calendar user addresses on this server
+        "HTTP Domain"      : "",    # Domain for http calendar user addresses on this server
+        "Local Addresses"  : [],    # Reg-ex patterns to match local calendar user addresses
+        "Remote Addresses" : [],    # Reg-ex patterns to match remote calendar user addresses
     },
 
     "FreeBusyURL": {

Modified: CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/schedule_common.py
===================================================================
--- CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/schedule_common.py	2007-10-06 03:09:04 UTC (rev 1946)
+++ CalendarServer/branches/users/cdaboo/server2server-1941/twistedcaldav/schedule_common.py	2007-10-06 03:10:01 UTC (rev 1947)
@@ -53,6 +53,7 @@
 
 import itertools
 import md5
+import re
 import socket
 import time
 
@@ -264,20 +265,30 @@
             C{False} otherwise.
         """
         
-        if cuaddr.startswith("mailto:"):
+        if config.ServerToServer["Email Domain"] and cuaddr.startswith("mailto:"):
             splits = cuaddr[7:].split("?")
             domain = config.ServerToServer["Email Domain"]
             if not domain:
                 domain = config.ServerHostName
             return splits[0].endswith(domain)
-        elif cuaddr.startswith("http://") or cuaddr.startswith("https://"):
+        elif config.ServerToServer["HTTP Domain"] and (cuaddr.startswith("http://") or cuaddr.startswith("https://")):
             splits = cuaddr.split(":")[0][2:].split("?")
             domain = config.ServerToServer["HTTP Domain"]
             if not domain:
                 domain = config.ServerHostName
             return splits[0].endswith(domain)
-        else:
-            return False
+        
+        result = False
+        
+        for pattern in config.ServerToServer["Local Addresses"]:
+            if re.match(pattern, cuaddr) is not None:
+                result = True
+        
+        for pattern in config.ServerToServer["Remote Addresses"]:
+            if re.match(pattern, cuaddr) is not None:
+                result = False
+        
+        return result
     
     @deferredGenerator
     def generateSchedulingResponse(self):

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


More information about the calendarserver-changes mailing list