[prev in list] [next in list] [prev in thread] [next in thread] 

List:       calendarserver-changes
Subject:    [CalendarServer-changes] [13057] CalendarServer/branches/users/sagen/move2who-4
From:       source_changes () macosforge ! org
Date:       2014-03-31 18:22:48
Message-ID: 20140331182248.A64F6140E2F () svn ! calendarserver ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Revision: 13057
          http://trac.calendarserver.org//changeset/13057
Author:   sagen@apple.com
Date:     2014-03-31 11:22:48 -0700 (Mon, 31 Mar 2014)
Log Message:
-----------
Fix more tests

Modified Paths:
--------------
    CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py
  CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml
    CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml
    CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml
  CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml
  CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml
  CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py
    CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py
    CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py
    CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py

Modified: CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py
 ===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -931,25 +931,7 @@
     uuid3 = "AC478592-7783-44D1-B2AE-52359B4E8415"
     uuidl1 = "75EA36BE-F71B-40F9-81F9-CF59BF40CA8F"
 
-    def configure(self):
-        super(CalVerifyMismatchTestsBase, self).configure()
-        self.patch(config.DirectoryService.params, "xmlFile",
-            os.path.join(
-                os.path.dirname(__file__), "calverify", "accounts.xml"
-            )
-        )
-        self.patch(config.ResourceService.params, "xmlFile",
-            os.path.join(
-                os.path.dirname(__file__), "calverify", "resources.xml"
-            )
-        )
-        self.patch(config.AugmentService.params, "xmlFiles",
-            [os.path.join(
-                os.path.dirname(__file__), "calverify", "augments.xml"
-            ), ]
-        )
 
-
     @inlineCallbacks
     def populate(self):
 

Modified: CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml
===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -19,6 +19,7 @@
 <!DOCTYPE accounts SYSTEM "accounts.dtd">
 
 <directory realm="Test Realm">
+
   <record type="user">
     <uid>admin</uid>
     <short-name>admin</short-name>
@@ -74,363 +75,951 @@
     <full-name>ま </full-name>
   </record>
 
-  <!-- twext.who xml doesn't (yet) support repeat
-  <user repeat="101">
-    <uid>user%02d</uid>
-    <uid>User %02d</uid>
-    <short-name>user%02d</short-name>
-    <password>user%02d</password>
-    <full-name>User %02d</full-name>
-    <email>user%02d@example.com</email>
+  <record type="group">
+    <uid>group01</uid>
+    <short-name>group01</short-name>
+    <password>group01</password>
+    <full-name>Group 01</full-name>
+      <member-uid>user01</member-uid>
   </record>
-  <user repeat="10">
-    <uid>public%02d</uid>
-    <short-name>public%02d</short-name>
-    <password>public%02d</password>
-    <full-name>Public %02d</full-name>
+  <record type="group">
+    <uid>group02</uid>
+    <short-name>group02</short-name>
+    <password>group02</password>
+    <full-name>Group 02</full-name>
+      <member-uid >user06</member-uid>
+      <member-uid >user07</member-uid>
   </record>
-  -->
-  <record type="user">
+  <record type="group">
+    <uid>group03</uid>
+    <short-name>group03</short-name>
+    <password>group03</password>
+    <full-name>Group 03</full-name>
+      <member-uid>user08</member-uid>
+      <member-uid>user09</member-uid>
+  </record>
+  <record type="group">
+    <uid>group04</uid>
+    <short-name>group04</short-name>
+    <password>group04</password>
+    <full-name>Group 04</full-name>
+      <member-uid>group02</member-uid>
+      <member-uid>group03</member-uid>
+      <member-uid>user10</member-uid>
+  </record>
+  <record type="group"> <!-- delegategroup -->
+    <uid>group05</uid>
+    <short-name>group05</short-name>
+    <password>group05</password>
+    <full-name>Group 05</full-name>
+      <member-uid>group06</member-uid>
+      <member-uid>user20</member-uid>
+  </record>
+  <record type="group"> <!-- delegatesubgroup -->
+    <uid>group06</uid>
+    <short-name>group06</short-name>
+    <password>group06</password>
+    <full-name>Group 06</full-name>
+      <member-uid>user21</member-uid>
+  </record>
+  <record type="group"> <!-- readonlydelegategroup -->
+    <uid>group07</uid>
+    <short-name>group07</short-name>
+    <password>group07</password>
+    <full-name>Group 07</full-name>
+      <member-uid>user22</member-uid>
+      <member-uid>user23</member-uid>
+      <member-uid>user24</member-uid>
+  </record>
+  <record type="group">
+    <uid>disabledgroup</uid>
+    <short-name>disabledgroup</short-name>
+    <password>disabledgroup</password>
+    <full-name>Disabled Group</full-name>
+      <member-uid>user01</member-uid>
+  </record>
+
+
+<!-- Generated records -->
+
+<record type="user">
     <short-name>user01</short-name>
     <uid>user01</uid>
     <password>user01</password>
     <full-name>User 01</full-name>
     <email>user01@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user02</short-name>
     <uid>user02</uid>
     <password>user02</password>
     <full-name>User 02</full-name>
     <email>user02@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user03</short-name>
     <uid>user03</uid>
     <password>user03</password>
     <full-name>User 03</full-name>
     <email>user03@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user04</short-name>
     <uid>user04</uid>
     <password>user04</password>
     <full-name>User 04</full-name>
     <email>user04@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user05</short-name>
     <uid>user05</uid>
     <password>user05</password>
     <full-name>User 05</full-name>
     <email>user05@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user06</short-name>
     <uid>user06</uid>
     <password>user06</password>
     <full-name>User 06</full-name>
     <email>user06@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user07</short-name>
     <uid>user07</uid>
     <password>user07</password>
     <full-name>User 07</full-name>
     <email>user07@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user08</short-name>
     <uid>user08</uid>
     <password>user08</password>
     <full-name>User 08</full-name>
     <email>user08@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user09</short-name>
     <uid>user09</uid>
     <password>user09</password>
     <full-name>User 09</full-name>
     <email>user09@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user10</short-name>
     <uid>user10</uid>
     <password>user10</password>
     <full-name>User 10</full-name>
     <email>user10@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user11</short-name>
     <uid>user11</uid>
     <password>user11</password>
     <full-name>User 11</full-name>
     <email>user11@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user12</short-name>
     <uid>user12</uid>
     <password>user12</password>
     <full-name>User 12</full-name>
     <email>user12@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user13</short-name>
     <uid>user13</uid>
     <password>user13</password>
     <full-name>User 13</full-name>
     <email>user13@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user14</short-name>
     <uid>user14</uid>
     <password>user14</password>
     <full-name>User 14</full-name>
     <email>user14@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user15</short-name>
     <uid>user15</uid>
     <password>user15</password>
     <full-name>User 15</full-name>
     <email>user15@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user16</short-name>
     <uid>user16</uid>
     <password>user16</password>
     <full-name>User 16</full-name>
     <email>user16@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user17</short-name>
     <uid>user17</uid>
     <password>user17</password>
     <full-name>User 17</full-name>
     <email>user17@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user18</short-name>
     <uid>user18</uid>
     <password>user18</password>
     <full-name>User 18</full-name>
     <email>user18@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user19</short-name>
     <uid>user19</uid>
     <password>user19</password>
     <full-name>User 19</full-name>
     <email>user19@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user20</short-name>
     <uid>user20</uid>
     <password>user20</password>
     <full-name>User 20</full-name>
     <email>user20@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user21</short-name>
     <uid>user21</uid>
     <password>user21</password>
     <full-name>User 21</full-name>
     <email>user21@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user22</short-name>
     <uid>user22</uid>
     <password>user22</password>
     <full-name>User 22</full-name>
     <email>user22@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user23</short-name>
     <uid>user23</uid>
     <password>user23</password>
     <full-name>User 23</full-name>
     <email>user23@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user24</short-name>
     <uid>user24</uid>
     <password>user24</password>
     <full-name>User 24</full-name>
     <email>user24@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>user25</short-name>
     <uid>user25</uid>
     <password>user25</password>
     <full-name>User 25</full-name>
     <email>user25@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
+    <short-name>user26</short-name>
+    <uid>user26</uid>
+    <password>user26</password>
+    <full-name>User 26</full-name>
+    <email>user26@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user27</short-name>
+    <uid>user27</uid>
+    <password>user27</password>
+    <full-name>User 27</full-name>
+    <email>user27@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user28</short-name>
+    <uid>user28</uid>
+    <password>user28</password>
+    <full-name>User 28</full-name>
+    <email>user28@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user29</short-name>
+    <uid>user29</uid>
+    <password>user29</password>
+    <full-name>User 29</full-name>
+    <email>user29@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user30</short-name>
+    <uid>user30</uid>
+    <password>user30</password>
+    <full-name>User 30</full-name>
+    <email>user30@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user31</short-name>
+    <uid>user31</uid>
+    <password>user31</password>
+    <full-name>User 31</full-name>
+    <email>user31@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user32</short-name>
+    <uid>user32</uid>
+    <password>user32</password>
+    <full-name>User 32</full-name>
+    <email>user32@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user33</short-name>
+    <uid>user33</uid>
+    <password>user33</password>
+    <full-name>User 33</full-name>
+    <email>user33@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user34</short-name>
+    <uid>user34</uid>
+    <password>user34</password>
+    <full-name>User 34</full-name>
+    <email>user34@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user35</short-name>
+    <uid>user35</uid>
+    <password>user35</password>
+    <full-name>User 35</full-name>
+    <email>user35@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user36</short-name>
+    <uid>user36</uid>
+    <password>user36</password>
+    <full-name>User 36</full-name>
+    <email>user36@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user37</short-name>
+    <uid>user37</uid>
+    <password>user37</password>
+    <full-name>User 37</full-name>
+    <email>user37@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user38</short-name>
+    <uid>user38</uid>
+    <password>user38</password>
+    <full-name>User 38</full-name>
+    <email>user38@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user39</short-name>
+    <uid>user39</uid>
+    <password>user39</password>
+    <full-name>User 39</full-name>
+    <email>user39@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user40</short-name>
+    <uid>user40</uid>
+    <password>user40</password>
+    <full-name>User 40</full-name>
+    <email>user40@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user41</short-name>
+    <uid>user41</uid>
+    <password>user41</password>
+    <full-name>User 41</full-name>
+    <email>user41@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user42</short-name>
+    <uid>user42</uid>
+    <password>user42</password>
+    <full-name>User 42</full-name>
+    <email>user42@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user43</short-name>
+    <uid>user43</uid>
+    <password>user43</password>
+    <full-name>User 43</full-name>
+    <email>user43@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user44</short-name>
+    <uid>user44</uid>
+    <password>user44</password>
+    <full-name>User 44</full-name>
+    <email>user44@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user45</short-name>
+    <uid>user45</uid>
+    <password>user45</password>
+    <full-name>User 45</full-name>
+    <email>user45@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user46</short-name>
+    <uid>user46</uid>
+    <password>user46</password>
+    <full-name>User 46</full-name>
+    <email>user46@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user47</short-name>
+    <uid>user47</uid>
+    <password>user47</password>
+    <full-name>User 47</full-name>
+    <email>user47@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user48</short-name>
+    <uid>user48</uid>
+    <password>user48</password>
+    <full-name>User 48</full-name>
+    <email>user48@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user49</short-name>
+    <uid>user49</uid>
+    <password>user49</password>
+    <full-name>User 49</full-name>
+    <email>user49@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user50</short-name>
+    <uid>user50</uid>
+    <password>user50</password>
+    <full-name>User 50</full-name>
+    <email>user50@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user51</short-name>
+    <uid>user51</uid>
+    <password>user51</password>
+    <full-name>User 51</full-name>
+    <email>user51@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user52</short-name>
+    <uid>user52</uid>
+    <password>user52</password>
+    <full-name>User 52</full-name>
+    <email>user52@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user53</short-name>
+    <uid>user53</uid>
+    <password>user53</password>
+    <full-name>User 53</full-name>
+    <email>user53@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user54</short-name>
+    <uid>user54</uid>
+    <password>user54</password>
+    <full-name>User 54</full-name>
+    <email>user54@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user55</short-name>
+    <uid>user55</uid>
+    <password>user55</password>
+    <full-name>User 55</full-name>
+    <email>user55@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user56</short-name>
+    <uid>user56</uid>
+    <password>user56</password>
+    <full-name>User 56</full-name>
+    <email>user56@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user57</short-name>
+    <uid>user57</uid>
+    <password>user57</password>
+    <full-name>User 57</full-name>
+    <email>user57@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user58</short-name>
+    <uid>user58</uid>
+    <password>user58</password>
+    <full-name>User 58</full-name>
+    <email>user58@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user59</short-name>
+    <uid>user59</uid>
+    <password>user59</password>
+    <full-name>User 59</full-name>
+    <email>user59@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user60</short-name>
+    <uid>user60</uid>
+    <password>user60</password>
+    <full-name>User 60</full-name>
+    <email>user60@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user61</short-name>
+    <uid>user61</uid>
+    <password>user61</password>
+    <full-name>User 61</full-name>
+    <email>user61@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user62</short-name>
+    <uid>user62</uid>
+    <password>user62</password>
+    <full-name>User 62</full-name>
+    <email>user62@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user63</short-name>
+    <uid>user63</uid>
+    <password>user63</password>
+    <full-name>User 63</full-name>
+    <email>user63@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user64</short-name>
+    <uid>user64</uid>
+    <password>user64</password>
+    <full-name>User 64</full-name>
+    <email>user64@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user65</short-name>
+    <uid>user65</uid>
+    <password>user65</password>
+    <full-name>User 65</full-name>
+    <email>user65@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user66</short-name>
+    <uid>user66</uid>
+    <password>user66</password>
+    <full-name>User 66</full-name>
+    <email>user66@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user67</short-name>
+    <uid>user67</uid>
+    <password>user67</password>
+    <full-name>User 67</full-name>
+    <email>user67@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user68</short-name>
+    <uid>user68</uid>
+    <password>user68</password>
+    <full-name>User 68</full-name>
+    <email>user68@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user69</short-name>
+    <uid>user69</uid>
+    <password>user69</password>
+    <full-name>User 69</full-name>
+    <email>user69@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user70</short-name>
+    <uid>user70</uid>
+    <password>user70</password>
+    <full-name>User 70</full-name>
+    <email>user70@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user71</short-name>
+    <uid>user71</uid>
+    <password>user71</password>
+    <full-name>User 71</full-name>
+    <email>user71@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user72</short-name>
+    <uid>user72</uid>
+    <password>user72</password>
+    <full-name>User 72</full-name>
+    <email>user72@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user73</short-name>
+    <uid>user73</uid>
+    <password>user73</password>
+    <full-name>User 73</full-name>
+    <email>user73@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user74</short-name>
+    <uid>user74</uid>
+    <password>user74</password>
+    <full-name>User 74</full-name>
+    <email>user74@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user75</short-name>
+    <uid>user75</uid>
+    <password>user75</password>
+    <full-name>User 75</full-name>
+    <email>user75@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user76</short-name>
+    <uid>user76</uid>
+    <password>user76</password>
+    <full-name>User 76</full-name>
+    <email>user76@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user77</short-name>
+    <uid>user77</uid>
+    <password>user77</password>
+    <full-name>User 77</full-name>
+    <email>user77@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user78</short-name>
+    <uid>user78</uid>
+    <password>user78</password>
+    <full-name>User 78</full-name>
+    <email>user78@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user79</short-name>
+    <uid>user79</uid>
+    <password>user79</password>
+    <full-name>User 79</full-name>
+    <email>user79@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user80</short-name>
+    <uid>user80</uid>
+    <password>user80</password>
+    <full-name>User 80</full-name>
+    <email>user80@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user81</short-name>
+    <uid>user81</uid>
+    <password>user81</password>
+    <full-name>User 81</full-name>
+    <email>user81@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user82</short-name>
+    <uid>user82</uid>
+    <password>user82</password>
+    <full-name>User 82</full-name>
+    <email>user82@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user83</short-name>
+    <uid>user83</uid>
+    <password>user83</password>
+    <full-name>User 83</full-name>
+    <email>user83@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user84</short-name>
+    <uid>user84</uid>
+    <password>user84</password>
+    <full-name>User 84</full-name>
+    <email>user84@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user85</short-name>
+    <uid>user85</uid>
+    <password>user85</password>
+    <full-name>User 85</full-name>
+    <email>user85@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user86</short-name>
+    <uid>user86</uid>
+    <password>user86</password>
+    <full-name>User 86</full-name>
+    <email>user86@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user87</short-name>
+    <uid>user87</uid>
+    <password>user87</password>
+    <full-name>User 87</full-name>
+    <email>user87@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user88</short-name>
+    <uid>user88</uid>
+    <password>user88</password>
+    <full-name>User 88</full-name>
+    <email>user88@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user89</short-name>
+    <uid>user89</uid>
+    <password>user89</password>
+    <full-name>User 89</full-name>
+    <email>user89@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user90</short-name>
+    <uid>user90</uid>
+    <password>user90</password>
+    <full-name>User 90</full-name>
+    <email>user90@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user91</short-name>
+    <uid>user91</uid>
+    <password>user91</password>
+    <full-name>User 91</full-name>
+    <email>user91@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user92</short-name>
+    <uid>user92</uid>
+    <password>user92</password>
+    <full-name>User 92</full-name>
+    <email>user92@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user93</short-name>
+    <uid>user93</uid>
+    <password>user93</password>
+    <full-name>User 93</full-name>
+    <email>user93@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user94</short-name>
+    <uid>user94</uid>
+    <password>user94</password>
+    <full-name>User 94</full-name>
+    <email>user94@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user95</short-name>
+    <uid>user95</uid>
+    <password>user95</password>
+    <full-name>User 95</full-name>
+    <email>user95@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user96</short-name>
+    <uid>user96</uid>
+    <password>user96</password>
+    <full-name>User 96</full-name>
+    <email>user96@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user97</short-name>
+    <uid>user97</uid>
+    <password>user97</password>
+    <full-name>User 97</full-name>
+    <email>user97@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user98</short-name>
+    <uid>user98</uid>
+    <password>user98</password>
+    <full-name>User 98</full-name>
+    <email>user98@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user99</short-name>
+    <uid>user99</uid>
+    <password>user99</password>
+    <full-name>User 99</full-name>
+    <email>user99@example.com</email>
+</record>
+
+<record type="user">
+    <short-name>user100</short-name>
+    <uid>user100</uid>
+    <password>user100</password>
+    <full-name>User 100</full-name>
+    <email>user100@example.com</email>
+</record>
+
+<record type="user">
     <short-name>public01</short-name>
     <uid>public01</uid>
     <password>public01</password>
     <full-name>Public 01</full-name>
     <email>public01@example.com</email>
-  </record>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public02</short-name>
     <uid>public02</uid>
     <password>public02</password>
     <full-name>Public 02</full-name>
-     <email>public02@example.com</email>
-  </record>
+    <email>public02@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public03</short-name>
     <uid>public03</uid>
     <password>public03</password>
     <full-name>Public 03</full-name>
-     <email>public03@example.com</email>
-  </record>
+    <email>public03@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public04</short-name>
     <uid>public04</uid>
     <password>public04</password>
     <full-name>Public 04</full-name>
-     <email>public04@example.com</email>
-  </record>
+    <email>public04@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public05</short-name>
     <uid>public05</uid>
     <password>public05</password>
     <full-name>Public 05</full-name>
-     <email>public05@example.com</email>
-  </record>
+    <email>public05@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public06</short-name>
     <uid>public06</uid>
     <password>public06</password>
     <full-name>Public 06</full-name>
-     <email>public06@example.com</email>
-  </record>
+    <email>public06@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public07</short-name>
     <uid>public07</uid>
     <password>public07</password>
     <full-name>Public 07</full-name>
-     <email>public07@example.com</email>
-  </record>
+    <email>public07@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public08</short-name>
     <uid>public08</uid>
     <password>public08</password>
     <full-name>Public 08</full-name>
-     <email>public08@example.com</email>
-  </record>
+    <email>public08@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public09</short-name>
     <uid>public09</uid>
     <password>public09</password>
     <full-name>Public 09</full-name>
-     <email>public09@example.com</email>
-  </record>
+    <email>public09@example.com</email>
+</record>
 
-  <record type="user">
+<record type="user">
     <short-name>public10</short-name>
     <uid>public10</uid>
     <password>public10</password>
     <full-name>Public 10</full-name>
-     <email>public10@example.com</email>
-  </record>
+    <email>public10@example.com</email>
+</record>
 
-  <record type="group">
-    <uid>group01</uid>
-    <short-name>group01</short-name>
-    <password>group01</password>
-    <full-name>Group 01</full-name>
-      <member-uid type="users">user01</member-uid>
-  </record>
-  <record type="group">
-    <uid>group02</uid>
-    <short-name>group02</short-name>
-    <password>group02</password>
-    <full-name>Group 02</full-name>
-      <member-uid >user06</member-uid>
-      <member-uid >user07</member-uid>
-  </record>
-  <record type="group">
-    <uid>group03</uid>
-    <short-name>group03</short-name>
-    <password>group03</password>
-    <full-name>Group 03</full-name>
-      <member-uid type="users">user08</member-uid>
-      <member-uid type="users">user09</member-uid>
-  </record>
-  <record type="group">
-    <uid>group04</uid>
-    <short-name>group04</short-name>
-    <password>group04</password>
-    <full-name>Group 04</full-name>
-      <member-uid type="groups">group02</member-uid>
-      <member-uid type="groups">group03</member-uid>
-      <member-uid type="users">user10</member-uid>
-  </record>
-  <record type="group"> <!-- delegategroup -->
-    <uid>group05</uid>
-    <short-name>group05</short-name>
-    <password>group05</password>
-    <full-name>Group 05</full-name>
-      <member-uid type="groups">group06</member-uid>
-      <member-uid type="users">user20</member-uid>
-  </record>
-  <record type="group"> <!-- delegatesubgroup -->
-    <uid>group06</uid>
-    <short-name>group06</short-name>
-    <password>group06</password>
-    <full-name>Group 06</full-name>
-      <member-uid type="users">user21</member-uid>
-  </record>
-  <record type="group"> <!-- readonlydelegategroup -->
-    <uid>group07</uid>
-    <short-name>group07</short-name>
-    <password>group07</password>
-    <full-name>Group 07</full-name>
-      <member-uid type="users">user22</member-uid>
-      <member-uid type="users">user23</member-uid>
-      <member-uid type="users">user24</member-uid>
-  </record>
-  <record type="group">
-    <uid>disabledgroup</uid>
-    <short-name>disabledgroup</short-name>
-    <password>disabledgroup</password>
-    <full-name>Disabled Group</full-name>
-      <member-uid type="users">user01</member-uid>
-  </record>
 </directory>

Modified: CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml
===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -4,27 +4,23 @@
 <augments>
   <record>
     <uid>Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record repeat="10">
     <uid>location%02d</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
   </record>
   <record repeat="3">
     <uid>resource%02d</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
   </record>
   <record>
     <uid>resource04</uid>
-    <enable>false</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -33,7 +29,6 @@
   </record>
   <record>
     <uid>resource05</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
@@ -41,7 +36,6 @@
   </record>
   <record>
     <uid>resource06</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
@@ -49,7 +43,6 @@
   </record>
   <record>
     <uid>resource07</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
@@ -57,7 +50,6 @@
   </record>
   <record>
     <uid>resource08</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
@@ -65,7 +57,6 @@
   </record>
   <record>
     <uid>resource09</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
@@ -73,7 +64,6 @@
   </record>
   <record>
     <uid>resource10</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
@@ -81,31 +71,20 @@
   </record>
   <record>
     <uid>resource11</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
     <auto-schedule-mode>decline-always</auto-schedule-mode>
     <auto-accept-group>group01</auto-accept-group>
   </record>
-  <record repeat="10">
-    <uid>group%02d</uid>
-    <enable>true</enable>
-  </record>
   <record>
-    <uid>disabledgroup</uid>
-    <enable>false</enable>
-  </record>
-  <record>
     <uid>delegatedroom</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>false</enable-addressbook>
     <auto-schedule>false</auto-schedule>
   </record>
   <record>
     <uid>03DFF660-8BCC-4198-8588-DD77F776F518</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -113,7 +92,6 @@
   </record>
   <record>
     <uid>80689D41-DAF8-4189-909C-DB017B271892</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -122,7 +100,6 @@
   </record>
   <record>
     <uid>C38BEE7A-36EE-478C-9DCB-CBF4612AFE65</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -132,7 +109,6 @@
   </record>
   <record>
     <uid>CCE95217-A57B-481A-AC3D-FEC9AB6CE3A9</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -140,7 +116,6 @@
   </record>
   <record>
     <uid>0CE0BF31-5F9E-4801-A489-8C70CF287F5F</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -148,7 +123,6 @@
   </record>
   <record>
     <uid>6F9EE33B-78F6-481B-9289-3D0812FF0D64</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -157,7 +131,6 @@
   </record>
   <record>
     <uid>76E7ECA6-08BC-4AE7-930D-F2E7453993A5</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -166,7 +139,6 @@
   </record>
   <record>
     <uid>63A2F949-2D8D-4C8D-B8A5-DCF2A94610F3</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -175,7 +147,6 @@
   </record>
   <record>
     <uid>06E3BDCB-9C19-485A-B14E-F146A80ADDC6</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>
@@ -184,7 +155,6 @@
   </record>
   <record>
     <uid>4D66A20A-1437-437D-8069-2F14E8322234</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <enable-login>true</enable-login>

Modified: CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml
 ===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -65,20 +65,20 @@
   </record>
 
   <record type="user">
-    <short-name>example</short-name>
+    <short-name>purge1</short-name>
     <uid>C76DB741-5A2A-4239-8112-10CF152AFCA4</uid>
     <guid>C76DB741-5A2A-4239-8112-10CF152AFCA4</guid>
-    <password>example</password>
-    <full-name>Example</full-name>
-    <email>example@example.com</email>
+    <password>purge1</password>
+    <full-name>purge1</full-name>
+    <email>purge1@example.com</email>
   </record>
   <record type="user">
-    <short-name>example2</short-name>
+    <short-name>purge2</short-name>
     <uid>FFED7B62-2E08-496E-BD32-B2F95FFDDB6B</uid>
     <guid>FFED7B62-2E08-496E-BD32-B2F95FFDDB6B</guid>
-    <password>example2</password>
-    <full-name>Example Two</full-name>
-    <email>example2@example.com</email>
+    <password>purge2</password>
+    <full-name>purge2</full-name>
+    <email>purge2@example.com</email>
   </record>
   <record type="user">
     <short-name>home1</short-name>
@@ -368,62 +368,43 @@
       <member-uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</member-uid>
       <member-uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</member-uid>
   </record>
-  <!--
-  <location>
-    <uid>mercury</uid>
-    <uid>mercury</uid>
-    <password>mercury</password>
-    <name>Mercury Seven</name>
-    <email-address>mercury@example.com</email-address>
-  </location>
-  <location>
-    <uid>gemini</uid>
-    <uid>gemini</uid>
-    <password>gemini</password>
-    <name>Gemini Twelve</name>
-    <email-address>gemini@example.com</email-address>
-  </location>
-  <location>
-    <uid>apollo</uid>
-    <uid>apollo</uid>
-    <password>apollo</password>
-    <name>Apollo Eleven</name>
-    <email-address>apollo@example.com</email-address>
-  </location>
-  <location>
-    <uid>orion</uid>
-    <uid>orion</uid>
-    <password>orion</password>
-    <name>Orion</name>
-    <email-address>orion@example.com</email-address>
-  </location>
-  <resource>
-    <uid>transporter</uid>
-    <uid>transporter</uid>
-    <password>transporter</password>
-    <name>Mass Transporter</name>
-    <email-address>transporter@example.com</email-address>
-  </resource>
-  <resource>
-    <uid>ftlcpu</uid>
-    <uid>ftlcpu</uid>
-    <password>ftlcpu</password>
-    <name>Faster-Than-Light Microprocessor</name>
-    <email-address>ftlcpu@example.com</email-address>
-  </resource>
-  <resource>
-    <uid>non_calendar_proxy</uid>
-    <uid>non_calendar_proxy</uid>
-    <password>non_calendar_proxy</password>
-    <name>Non-calendar proxy</name>
-    <email-address>non_calendar_proxy@example.com</email-address>
-  </resource>
-  <resource>
-    <uid>disabled</uid>
-    <uid>disabled</uid>
-    <password>disabled</password>
-    <name>Disabled Record</name>
-    <email-address>disabled@example.com</email-address>
-  </resource>
--->
+
+  <!-- Calverify test records -->
+
+  <record type="user">
+    <short-name>example1</short-name>
+    <uid>D46F3D71-04B7-43C2-A7B6-6F92F92E61D0</uid>
+    <guid>D46F3D71-04B7-43C2-A7B6-6F92F92E61D0</guid>
+    <password>example</password>
+    <full-name>Example User1</full-name>
+    <email>example1@example.com</email>
+  </record>
+
+  <record type="user">
+    <short-name>example2</short-name>
+    <uid>47B16BB4-DB5F-4BF6-85FE-A7DA54230F92</uid>
+    <guid>47B16BB4-DB5F-4BF6-85FE-A7DA54230F92</guid>
+    <password>example</password>
+    <full-name>Example User2</full-name>
+    <email>example2@example.com</email>
+  </record>
+
+  <record type="user">
+    <short-name>example3</short-name>
+    <uid>AC478592-7783-44D1-B2AE-52359B4E8415</uid>
+    <guid>AC478592-7783-44D1-B2AE-52359B4E8415</guid>
+    <password>example</password>
+    <full-name>Example User3</full-name>
+    <email>example3@example.com</email>
+  </record>
+
+  <record type="user">
+    <short-name>example4</short-name>
+    <uid>A89E3A97-1658-4E45-A185-479F3E49D446</uid>
+    <guid>A89E3A97-1658-4E45-A185-479F3E49D446</guid>
+    <password>example</password>
+    <full-name>Example User4</full-name>
+    <email>example4@example.com</email>
+  </record>
+
 </directory>

Modified: CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml
 ===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -22,14 +22,12 @@
   <!--
   <record>
     <uid>Location-Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>Resource-Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>automatic</auto-schedule-mode>
@@ -38,177 +36,127 @@
 
   <record>
     <uid>D11F03A0-97EA-48AF-9A6C-FAC7F3975766</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <server-id>00001</server-id>
   </record>
   <record>
     <uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <server-id>00002</server-id>
   </record>
   <record>
     <uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</uid>
-    <enable>true</enable>
     <enable-calendar>false</enable-calendar>
     <enable-addressbook>false</enable-addressbook>
   </record>
   <record repeat="100">
     <uid>user%02d</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
-    <uid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</uid>
-    <enable>true</enable>
-  </record>
-  <record>
-    <uid>admin</uid>
-    <enable>true</enable>
-  </record>
-  <record>
-    <uid>grunts</uid>
-    <enable>true</enable>
-  </record>
-  <record>
     <uid>right_coast</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>left_coast</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
-    <uid>both_coasts</uid>
-    <enable>true</enable>
-  </record>
-  <record>
-    <uid>recursive1_coasts</uid>
-    <enable>true</enable>
-  </record>
-  <record>
-    <uid>recursive2_coasts</uid>
-    <enable>true</enable>
-  </record>
-  <record>
-    <uid>non_calendar_group</uid>
-    <enable>true</enable>
-  </record>
-  <record>
     <uid>mercury</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>gemini</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>apollo</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
     <auto-accept-group>both_coasts</auto-accept-group>
   </record>
   <record>
     <uid>orion</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>transporter</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>ftlcpu</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <!--
   <record>
     <uid>non_calendar_proxy</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
 -->
   <record>
-    <uid>disabled</uid>
-    <enable>false</enable>
-  </record>
-  <record>
     <uid>7423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
   </record>
   <record>
     <uid>8A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
   </record>
   <record>
     <uid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
   </record>
   <record>
     <uid>9E1FFAC4-3CCD-45A1-8272-D161C92D2EEE</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
   </record>
   <record>
     <uid>7678EC8A-A069-4E82-9066-7279C6718507</uid>
-    <enable>true</enable>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
   </record>
   <record>
     <uid>EC465590-E9E9-4746-ACE8-6C756A49FE4D</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-login>true</enable-login>
   </record>
   <record>
     <uid>00599DAF-3E75-42DD-9DB7-52617E79943F</uid>
-    <enable>true</enable>
     <enable-calendar>false</enable-calendar>
     <enable-login>false</enable-login>
   </record>
+  <record>
+    <uid>75EA36BE-F71B-40F9-81F9-CF59BF40CA8F</uid>
+    <enable-calendar>true</enable-calendar>
+    <auto-schedule>true</auto-schedule>
+  </record>
+
 </augments>

Modified: CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml
 ===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -80,4 +80,12 @@
     <short-name>sanchezoffice</short-name>
     <full-name>Sanchez Office</full-name>
   </record>
+  <record type="location">
+    <short-name>location01</short-name>
+    <uid>75EA36BE-F71B-40F9-81F9-CF59BF40CA8F</uid>
+    <guid>75EA36BE-F71B-40F9-81F9-CF59BF40CA8F</guid>
+    <password>location01</password>
+    <full-name>Room 01</full-name>
+  </record>
+
 </directory>

Modified: CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py
===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -352,23 +352,8 @@
         )
 
 
-    # For scheduling/freebusy
-    # FIXME: doesn't this need to happen in the DPS?
-    @inlineCallbacks
-    def isProxyFor(self, other):
-        for recordType in (
-            txdav.who.delegates.RecordType.readDelegatorGroup,
-            txdav.who.delegates.RecordType.writeDelegatorGroup,
-        ):
-            delegatorGroup = yield self.service.recordWithShortName(
-                recordType, self.uid
-            )
-            if delegatorGroup:
-                if other in (yield delegatorGroup.members()):
-                    returnValue(True)
 
 
-
 # Test client:
 
 

Modified: CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py
===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -19,7 +19,6 @@
 
 from twext.python.log import Logger
 from twext.who.expression import MatchType, MatchFlags, Operand
-from twext.who.idirectory import RecordType
 from twisted.application import service
 from twisted.application.strports import service as strPortsService
 from twisted.internet.defer import inlineCallbacks, returnValue

Modified: CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py
 ===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -357,7 +357,7 @@
         records = (yield self.client.recordsWithRecordType(
             RecordType.user
         ))
-        self.assertEquals(len(records), 31)
+        self.assertEquals(len(records), 35)
 
 
     @inlineCallbacks

Modified: CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py
===================================================================
--- CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py	2014-03-31 \
18:22:48 UTC (rev 13057) @@ -30,6 +30,7 @@
 from txdav.who.idirectory import (
     RecordType as DAVRecordType, AutoScheduleMode
 )
+from txdav.who.delegates import RecordType as DelegateRecordType
 from txweb2.auth.digest import DigestedCredentials
 
 log = Logger()
@@ -64,8 +65,12 @@
         address = normalizeCUAddr(address)
         record = None
         if address.startswith("urn:uuid:"):
-            guid = address[9:]
-            record = yield self.recordWithGUID(uuid.UUID(guid))
+            try:
+                guid = uuid.UUID(address[9:])
+            except ValueError:
+                log.info("Invalid GUID: {guid}", guid=address[9:])
+                returnValue(None)
+            record = yield self.recordWithGUID(guid)
         elif address.startswith("mailto:"):
             records = yield self.recordsWithEmailAddress(address[7:])
             if records:
@@ -201,6 +206,10 @@
 
 
 class CalendarDirectoryRecordMixin(object):
+    """
+    Calendar (and Contacts) specific logic for directory records lives in this
+    class
+    """
 
 
     @inlineCallbacks
@@ -364,7 +373,7 @@
             return False
 
 
-    #MOVE2WHO
+    # FIXME:
     def thisServer(self):
         return True
 
@@ -444,3 +453,18 @@
             yield member.expandedMembers(members)
 
         returnValue(members)
+
+
+    # For scheduling/freebusy
+    @inlineCallbacks
+    def isProxyFor(self, other):
+        for recordType in (
+            DelegateRecordType.readDelegatorGroup,
+            DelegateRecordType.writeDelegatorGroup,
+        ):
+            delegatorGroup = yield self.service.recordWithShortName(
+                recordType, self.uid
+            )
+            if delegatorGroup:
+                if other in (yield delegatorGroup.members()):
+                    returnValue(True)


[Attachment #5 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[13057] CalendarServer/branches/users/sagen/move2who-4</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.calendarserver.org//changeset/13057">13057</a></dd> <dt>Author</dt> \
<dd>sagen@apple.com</dd> <dt>Date</dt> <dd>2014-03-31 11:22:48 -0700 (Mon, 31 Mar \
2014)</dd> </dl>

<h3>Log Message</h3>
<pre>Fix more tests</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#CalendarServerbranchesuserssagenmove2who4calendarservertoolstesttest_cal \
verifypy">CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4confauthaccountstestxml">CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4confauthaugmentstestxml">CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4twistedcaldavdirectorytestacco \
untsxml">CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4twistedcaldavdirectorytestaugm \
entsxml">CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4twistedcaldavdirectorytestreso \
urcesxml">CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4txdavdpsclientpy">CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4txdavdpsserverpy">CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py</a></li>
 <li><a href="#CalendarServerbranchesuserssagenmove2who4txdavdpstesttest_clientpy">Cal \
endarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py</a></li> \
<li><a href="#CalendarServerbranchesuserssagenmove2who4txdavwhodirectorypy">CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalendarServerbranchesuserssagenmove2who4calendarservertoolstesttest_calverifypy"></a>
 <div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py \
(13056 => 13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/calendarserver/tools/test/test_calverify.py	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -931,25 +931,7 @@
</span><span class="cx">     uuid3 = &quot;AC478592-7783-44D1-B2AE-52359B4E8415&quot;
</span><span class="cx">     uuidl1 = \
&quot;75EA36BE-F71B-40F9-81F9-CF59BF40CA8F&quot; </span><span class="cx"> 
</span><del>-    def configure(self):
-        super(CalVerifyMismatchTestsBase, self).configure()
-        self.patch(config.DirectoryService.params, &quot;xmlFile&quot;,
-            os.path.join(
-                os.path.dirname(__file__), &quot;calverify&quot;, \
                &quot;accounts.xml&quot;
-            )
-        )
-        self.patch(config.ResourceService.params, &quot;xmlFile&quot;,
-            os.path.join(
-                os.path.dirname(__file__), &quot;calverify&quot;, \
                &quot;resources.xml&quot;
-            )
-        )
-        self.patch(config.AugmentService.params, &quot;xmlFiles&quot;,
-            [os.path.join(
-                os.path.dirname(__file__), &quot;calverify&quot;, \
                &quot;augments.xml&quot;
-            ), ]
-        )
</del><span class="cx"> 
</span><del>-
</del><span class="cx">     @inlineCallbacks
</span><span class="cx">     def populate(self):
</span><span class="cx"> 
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4confauthaccountstestxml"></a>
<div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml (13056 => \
13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/conf/auth/accounts-test.xml	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -19,6 +19,7 @@
</span><span class="cx"> &lt;!DOCTYPE accounts SYSTEM &quot;accounts.dtd&quot;&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;directory realm=&quot;Test Realm&quot;&gt;
</span><ins>+
</ins><span class="cx">   &lt;record type=&quot;user&quot;&gt;
</span><span class="cx">     &lt;uid&gt;admin&lt;/uid&gt;
</span><span class="cx">     &lt;short-name&gt;admin&lt;/short-name&gt;
</span><span class="lines">@@ -74,363 +75,951 @@
</span><span class="cx">     &lt;full-name&gt;ま &lt;/full-name&gt;
</span><span class="cx">   &lt;/record&gt;
</span><span class="cx"> 
</span><del>-  &lt;!-- twext.who xml doesn't (yet) support repeat
-  &lt;user repeat=&quot;101&quot;&gt;
-    &lt;uid&gt;user%02d&lt;/uid&gt;
-    &lt;uid&gt;User %02d&lt;/uid&gt;
-    &lt;short-name&gt;user%02d&lt;/short-name&gt;
-    &lt;password&gt;user%02d&lt;/password&gt;
-    &lt;full-name&gt;User %02d&lt;/full-name&gt;
-    &lt;email&gt;user%02d@example.com&lt;/email&gt;
</del><ins>+  &lt;record type=&quot;group&quot;&gt;
+    &lt;uid&gt;group01&lt;/uid&gt;
+    &lt;short-name&gt;group01&lt;/short-name&gt;
+    &lt;password&gt;group01&lt;/password&gt;
+    &lt;full-name&gt;Group 01&lt;/full-name&gt;
+      &lt;member-uid&gt;user01&lt;/member-uid&gt;
</ins><span class="cx">   &lt;/record&gt;
</span><del>-  &lt;user repeat=&quot;10&quot;&gt;
-    &lt;uid&gt;public%02d&lt;/uid&gt;
-    &lt;short-name&gt;public%02d&lt;/short-name&gt;
-    &lt;password&gt;public%02d&lt;/password&gt;
-    &lt;full-name&gt;Public %02d&lt;/full-name&gt;
</del><ins>+  &lt;record type=&quot;group&quot;&gt;
+    &lt;uid&gt;group02&lt;/uid&gt;
+    &lt;short-name&gt;group02&lt;/short-name&gt;
+    &lt;password&gt;group02&lt;/password&gt;
+    &lt;full-name&gt;Group 02&lt;/full-name&gt;
+      &lt;member-uid &gt;user06&lt;/member-uid&gt;
+      &lt;member-uid &gt;user07&lt;/member-uid&gt;
</ins><span class="cx">   &lt;/record&gt;
</span><del>-  --&gt;
-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+  &lt;record type=&quot;group&quot;&gt;
+    &lt;uid&gt;group03&lt;/uid&gt;
+    &lt;short-name&gt;group03&lt;/short-name&gt;
+    &lt;password&gt;group03&lt;/password&gt;
+    &lt;full-name&gt;Group 03&lt;/full-name&gt;
+      &lt;member-uid&gt;user08&lt;/member-uid&gt;
+      &lt;member-uid&gt;user09&lt;/member-uid&gt;
+  &lt;/record&gt;
+  &lt;record type=&quot;group&quot;&gt;
+    &lt;uid&gt;group04&lt;/uid&gt;
+    &lt;short-name&gt;group04&lt;/short-name&gt;
+    &lt;password&gt;group04&lt;/password&gt;
+    &lt;full-name&gt;Group 04&lt;/full-name&gt;
+      &lt;member-uid&gt;group02&lt;/member-uid&gt;
+      &lt;member-uid&gt;group03&lt;/member-uid&gt;
+      &lt;member-uid&gt;user10&lt;/member-uid&gt;
+  &lt;/record&gt;
+  &lt;record type=&quot;group&quot;&gt; &lt;!-- delegategroup --&gt;
+    &lt;uid&gt;group05&lt;/uid&gt;
+    &lt;short-name&gt;group05&lt;/short-name&gt;
+    &lt;password&gt;group05&lt;/password&gt;
+    &lt;full-name&gt;Group 05&lt;/full-name&gt;
+      &lt;member-uid&gt;group06&lt;/member-uid&gt;
+      &lt;member-uid&gt;user20&lt;/member-uid&gt;
+  &lt;/record&gt;
+  &lt;record type=&quot;group&quot;&gt; &lt;!-- delegatesubgroup --&gt;
+    &lt;uid&gt;group06&lt;/uid&gt;
+    &lt;short-name&gt;group06&lt;/short-name&gt;
+    &lt;password&gt;group06&lt;/password&gt;
+    &lt;full-name&gt;Group 06&lt;/full-name&gt;
+      &lt;member-uid&gt;user21&lt;/member-uid&gt;
+  &lt;/record&gt;
+  &lt;record type=&quot;group&quot;&gt; &lt;!-- readonlydelegategroup --&gt;
+    &lt;uid&gt;group07&lt;/uid&gt;
+    &lt;short-name&gt;group07&lt;/short-name&gt;
+    &lt;password&gt;group07&lt;/password&gt;
+    &lt;full-name&gt;Group 07&lt;/full-name&gt;
+      &lt;member-uid&gt;user22&lt;/member-uid&gt;
+      &lt;member-uid&gt;user23&lt;/member-uid&gt;
+      &lt;member-uid&gt;user24&lt;/member-uid&gt;
+  &lt;/record&gt;
+  &lt;record type=&quot;group&quot;&gt;
+    &lt;uid&gt;disabledgroup&lt;/uid&gt;
+    &lt;short-name&gt;disabledgroup&lt;/short-name&gt;
+    &lt;password&gt;disabledgroup&lt;/password&gt;
+    &lt;full-name&gt;Disabled Group&lt;/full-name&gt;
+      &lt;member-uid&gt;user01&lt;/member-uid&gt;
+  &lt;/record&gt;
+
+
+&lt;!-- Generated records --&gt;
+
+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user01&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user01&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user01&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 01&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user01@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user02&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user02&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user02&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 02&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user02@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user03&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user03&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user03&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 03&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user03@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user04&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user04&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user04&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 04&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user04@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user05&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user05&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user05&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 05&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user05@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user06&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user06&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user06&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 06&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user06@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user07&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user07&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user07&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 07&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user07@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user08&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user08&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user08&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 08&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user08@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user09&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user09&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user09&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 09&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user09@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user10&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user10&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user10&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 10&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user10@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user11&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user11&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user11&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 11&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user11@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user12&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user12&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user12&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 12&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user12@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user13&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user13&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user13&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 13&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user13@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user14&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user14&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user14&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 14&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user14@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user15&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user15&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user15&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 15&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user15@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user16&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user16&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user16&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 16&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user16@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user17&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user17&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user17&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 17&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user17@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user18&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user18&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user18&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 18&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user18@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user19&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user19&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user19&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 19&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user19@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user20&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user20&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user20&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 20&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user20@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user21&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user21&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user21&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 21&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user21@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user22&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user22&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user22&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 22&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user22@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user23&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user23&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user23&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 23&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user23@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user24&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user24&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user24&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 24&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user24@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;user25&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;user25&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;user25&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;User 25&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;user25@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user26&lt;/short-name&gt;
+    &lt;uid&gt;user26&lt;/uid&gt;
+    &lt;password&gt;user26&lt;/password&gt;
+    &lt;full-name&gt;User 26&lt;/full-name&gt;
+    &lt;email&gt;user26@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user27&lt;/short-name&gt;
+    &lt;uid&gt;user27&lt;/uid&gt;
+    &lt;password&gt;user27&lt;/password&gt;
+    &lt;full-name&gt;User 27&lt;/full-name&gt;
+    &lt;email&gt;user27@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user28&lt;/short-name&gt;
+    &lt;uid&gt;user28&lt;/uid&gt;
+    &lt;password&gt;user28&lt;/password&gt;
+    &lt;full-name&gt;User 28&lt;/full-name&gt;
+    &lt;email&gt;user28@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user29&lt;/short-name&gt;
+    &lt;uid&gt;user29&lt;/uid&gt;
+    &lt;password&gt;user29&lt;/password&gt;
+    &lt;full-name&gt;User 29&lt;/full-name&gt;
+    &lt;email&gt;user29@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user30&lt;/short-name&gt;
+    &lt;uid&gt;user30&lt;/uid&gt;
+    &lt;password&gt;user30&lt;/password&gt;
+    &lt;full-name&gt;User 30&lt;/full-name&gt;
+    &lt;email&gt;user30@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user31&lt;/short-name&gt;
+    &lt;uid&gt;user31&lt;/uid&gt;
+    &lt;password&gt;user31&lt;/password&gt;
+    &lt;full-name&gt;User 31&lt;/full-name&gt;
+    &lt;email&gt;user31@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user32&lt;/short-name&gt;
+    &lt;uid&gt;user32&lt;/uid&gt;
+    &lt;password&gt;user32&lt;/password&gt;
+    &lt;full-name&gt;User 32&lt;/full-name&gt;
+    &lt;email&gt;user32@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user33&lt;/short-name&gt;
+    &lt;uid&gt;user33&lt;/uid&gt;
+    &lt;password&gt;user33&lt;/password&gt;
+    &lt;full-name&gt;User 33&lt;/full-name&gt;
+    &lt;email&gt;user33@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user34&lt;/short-name&gt;
+    &lt;uid&gt;user34&lt;/uid&gt;
+    &lt;password&gt;user34&lt;/password&gt;
+    &lt;full-name&gt;User 34&lt;/full-name&gt;
+    &lt;email&gt;user34@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user35&lt;/short-name&gt;
+    &lt;uid&gt;user35&lt;/uid&gt;
+    &lt;password&gt;user35&lt;/password&gt;
+    &lt;full-name&gt;User 35&lt;/full-name&gt;
+    &lt;email&gt;user35@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user36&lt;/short-name&gt;
+    &lt;uid&gt;user36&lt;/uid&gt;
+    &lt;password&gt;user36&lt;/password&gt;
+    &lt;full-name&gt;User 36&lt;/full-name&gt;
+    &lt;email&gt;user36@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user37&lt;/short-name&gt;
+    &lt;uid&gt;user37&lt;/uid&gt;
+    &lt;password&gt;user37&lt;/password&gt;
+    &lt;full-name&gt;User 37&lt;/full-name&gt;
+    &lt;email&gt;user37@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user38&lt;/short-name&gt;
+    &lt;uid&gt;user38&lt;/uid&gt;
+    &lt;password&gt;user38&lt;/password&gt;
+    &lt;full-name&gt;User 38&lt;/full-name&gt;
+    &lt;email&gt;user38@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user39&lt;/short-name&gt;
+    &lt;uid&gt;user39&lt;/uid&gt;
+    &lt;password&gt;user39&lt;/password&gt;
+    &lt;full-name&gt;User 39&lt;/full-name&gt;
+    &lt;email&gt;user39@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user40&lt;/short-name&gt;
+    &lt;uid&gt;user40&lt;/uid&gt;
+    &lt;password&gt;user40&lt;/password&gt;
+    &lt;full-name&gt;User 40&lt;/full-name&gt;
+    &lt;email&gt;user40@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user41&lt;/short-name&gt;
+    &lt;uid&gt;user41&lt;/uid&gt;
+    &lt;password&gt;user41&lt;/password&gt;
+    &lt;full-name&gt;User 41&lt;/full-name&gt;
+    &lt;email&gt;user41@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user42&lt;/short-name&gt;
+    &lt;uid&gt;user42&lt;/uid&gt;
+    &lt;password&gt;user42&lt;/password&gt;
+    &lt;full-name&gt;User 42&lt;/full-name&gt;
+    &lt;email&gt;user42@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user43&lt;/short-name&gt;
+    &lt;uid&gt;user43&lt;/uid&gt;
+    &lt;password&gt;user43&lt;/password&gt;
+    &lt;full-name&gt;User 43&lt;/full-name&gt;
+    &lt;email&gt;user43@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user44&lt;/short-name&gt;
+    &lt;uid&gt;user44&lt;/uid&gt;
+    &lt;password&gt;user44&lt;/password&gt;
+    &lt;full-name&gt;User 44&lt;/full-name&gt;
+    &lt;email&gt;user44@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user45&lt;/short-name&gt;
+    &lt;uid&gt;user45&lt;/uid&gt;
+    &lt;password&gt;user45&lt;/password&gt;
+    &lt;full-name&gt;User 45&lt;/full-name&gt;
+    &lt;email&gt;user45@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user46&lt;/short-name&gt;
+    &lt;uid&gt;user46&lt;/uid&gt;
+    &lt;password&gt;user46&lt;/password&gt;
+    &lt;full-name&gt;User 46&lt;/full-name&gt;
+    &lt;email&gt;user46@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user47&lt;/short-name&gt;
+    &lt;uid&gt;user47&lt;/uid&gt;
+    &lt;password&gt;user47&lt;/password&gt;
+    &lt;full-name&gt;User 47&lt;/full-name&gt;
+    &lt;email&gt;user47@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user48&lt;/short-name&gt;
+    &lt;uid&gt;user48&lt;/uid&gt;
+    &lt;password&gt;user48&lt;/password&gt;
+    &lt;full-name&gt;User 48&lt;/full-name&gt;
+    &lt;email&gt;user48@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user49&lt;/short-name&gt;
+    &lt;uid&gt;user49&lt;/uid&gt;
+    &lt;password&gt;user49&lt;/password&gt;
+    &lt;full-name&gt;User 49&lt;/full-name&gt;
+    &lt;email&gt;user49@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user50&lt;/short-name&gt;
+    &lt;uid&gt;user50&lt;/uid&gt;
+    &lt;password&gt;user50&lt;/password&gt;
+    &lt;full-name&gt;User 50&lt;/full-name&gt;
+    &lt;email&gt;user50@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user51&lt;/short-name&gt;
+    &lt;uid&gt;user51&lt;/uid&gt;
+    &lt;password&gt;user51&lt;/password&gt;
+    &lt;full-name&gt;User 51&lt;/full-name&gt;
+    &lt;email&gt;user51@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user52&lt;/short-name&gt;
+    &lt;uid&gt;user52&lt;/uid&gt;
+    &lt;password&gt;user52&lt;/password&gt;
+    &lt;full-name&gt;User 52&lt;/full-name&gt;
+    &lt;email&gt;user52@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user53&lt;/short-name&gt;
+    &lt;uid&gt;user53&lt;/uid&gt;
+    &lt;password&gt;user53&lt;/password&gt;
+    &lt;full-name&gt;User 53&lt;/full-name&gt;
+    &lt;email&gt;user53@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user54&lt;/short-name&gt;
+    &lt;uid&gt;user54&lt;/uid&gt;
+    &lt;password&gt;user54&lt;/password&gt;
+    &lt;full-name&gt;User 54&lt;/full-name&gt;
+    &lt;email&gt;user54@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user55&lt;/short-name&gt;
+    &lt;uid&gt;user55&lt;/uid&gt;
+    &lt;password&gt;user55&lt;/password&gt;
+    &lt;full-name&gt;User 55&lt;/full-name&gt;
+    &lt;email&gt;user55@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user56&lt;/short-name&gt;
+    &lt;uid&gt;user56&lt;/uid&gt;
+    &lt;password&gt;user56&lt;/password&gt;
+    &lt;full-name&gt;User 56&lt;/full-name&gt;
+    &lt;email&gt;user56@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user57&lt;/short-name&gt;
+    &lt;uid&gt;user57&lt;/uid&gt;
+    &lt;password&gt;user57&lt;/password&gt;
+    &lt;full-name&gt;User 57&lt;/full-name&gt;
+    &lt;email&gt;user57@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user58&lt;/short-name&gt;
+    &lt;uid&gt;user58&lt;/uid&gt;
+    &lt;password&gt;user58&lt;/password&gt;
+    &lt;full-name&gt;User 58&lt;/full-name&gt;
+    &lt;email&gt;user58@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user59&lt;/short-name&gt;
+    &lt;uid&gt;user59&lt;/uid&gt;
+    &lt;password&gt;user59&lt;/password&gt;
+    &lt;full-name&gt;User 59&lt;/full-name&gt;
+    &lt;email&gt;user59@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user60&lt;/short-name&gt;
+    &lt;uid&gt;user60&lt;/uid&gt;
+    &lt;password&gt;user60&lt;/password&gt;
+    &lt;full-name&gt;User 60&lt;/full-name&gt;
+    &lt;email&gt;user60@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user61&lt;/short-name&gt;
+    &lt;uid&gt;user61&lt;/uid&gt;
+    &lt;password&gt;user61&lt;/password&gt;
+    &lt;full-name&gt;User 61&lt;/full-name&gt;
+    &lt;email&gt;user61@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user62&lt;/short-name&gt;
+    &lt;uid&gt;user62&lt;/uid&gt;
+    &lt;password&gt;user62&lt;/password&gt;
+    &lt;full-name&gt;User 62&lt;/full-name&gt;
+    &lt;email&gt;user62@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user63&lt;/short-name&gt;
+    &lt;uid&gt;user63&lt;/uid&gt;
+    &lt;password&gt;user63&lt;/password&gt;
+    &lt;full-name&gt;User 63&lt;/full-name&gt;
+    &lt;email&gt;user63@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user64&lt;/short-name&gt;
+    &lt;uid&gt;user64&lt;/uid&gt;
+    &lt;password&gt;user64&lt;/password&gt;
+    &lt;full-name&gt;User 64&lt;/full-name&gt;
+    &lt;email&gt;user64@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user65&lt;/short-name&gt;
+    &lt;uid&gt;user65&lt;/uid&gt;
+    &lt;password&gt;user65&lt;/password&gt;
+    &lt;full-name&gt;User 65&lt;/full-name&gt;
+    &lt;email&gt;user65@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user66&lt;/short-name&gt;
+    &lt;uid&gt;user66&lt;/uid&gt;
+    &lt;password&gt;user66&lt;/password&gt;
+    &lt;full-name&gt;User 66&lt;/full-name&gt;
+    &lt;email&gt;user66@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user67&lt;/short-name&gt;
+    &lt;uid&gt;user67&lt;/uid&gt;
+    &lt;password&gt;user67&lt;/password&gt;
+    &lt;full-name&gt;User 67&lt;/full-name&gt;
+    &lt;email&gt;user67@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user68&lt;/short-name&gt;
+    &lt;uid&gt;user68&lt;/uid&gt;
+    &lt;password&gt;user68&lt;/password&gt;
+    &lt;full-name&gt;User 68&lt;/full-name&gt;
+    &lt;email&gt;user68@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user69&lt;/short-name&gt;
+    &lt;uid&gt;user69&lt;/uid&gt;
+    &lt;password&gt;user69&lt;/password&gt;
+    &lt;full-name&gt;User 69&lt;/full-name&gt;
+    &lt;email&gt;user69@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user70&lt;/short-name&gt;
+    &lt;uid&gt;user70&lt;/uid&gt;
+    &lt;password&gt;user70&lt;/password&gt;
+    &lt;full-name&gt;User 70&lt;/full-name&gt;
+    &lt;email&gt;user70@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user71&lt;/short-name&gt;
+    &lt;uid&gt;user71&lt;/uid&gt;
+    &lt;password&gt;user71&lt;/password&gt;
+    &lt;full-name&gt;User 71&lt;/full-name&gt;
+    &lt;email&gt;user71@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user72&lt;/short-name&gt;
+    &lt;uid&gt;user72&lt;/uid&gt;
+    &lt;password&gt;user72&lt;/password&gt;
+    &lt;full-name&gt;User 72&lt;/full-name&gt;
+    &lt;email&gt;user72@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user73&lt;/short-name&gt;
+    &lt;uid&gt;user73&lt;/uid&gt;
+    &lt;password&gt;user73&lt;/password&gt;
+    &lt;full-name&gt;User 73&lt;/full-name&gt;
+    &lt;email&gt;user73@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user74&lt;/short-name&gt;
+    &lt;uid&gt;user74&lt;/uid&gt;
+    &lt;password&gt;user74&lt;/password&gt;
+    &lt;full-name&gt;User 74&lt;/full-name&gt;
+    &lt;email&gt;user74@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user75&lt;/short-name&gt;
+    &lt;uid&gt;user75&lt;/uid&gt;
+    &lt;password&gt;user75&lt;/password&gt;
+    &lt;full-name&gt;User 75&lt;/full-name&gt;
+    &lt;email&gt;user75@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user76&lt;/short-name&gt;
+    &lt;uid&gt;user76&lt;/uid&gt;
+    &lt;password&gt;user76&lt;/password&gt;
+    &lt;full-name&gt;User 76&lt;/full-name&gt;
+    &lt;email&gt;user76@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user77&lt;/short-name&gt;
+    &lt;uid&gt;user77&lt;/uid&gt;
+    &lt;password&gt;user77&lt;/password&gt;
+    &lt;full-name&gt;User 77&lt;/full-name&gt;
+    &lt;email&gt;user77@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user78&lt;/short-name&gt;
+    &lt;uid&gt;user78&lt;/uid&gt;
+    &lt;password&gt;user78&lt;/password&gt;
+    &lt;full-name&gt;User 78&lt;/full-name&gt;
+    &lt;email&gt;user78@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user79&lt;/short-name&gt;
+    &lt;uid&gt;user79&lt;/uid&gt;
+    &lt;password&gt;user79&lt;/password&gt;
+    &lt;full-name&gt;User 79&lt;/full-name&gt;
+    &lt;email&gt;user79@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user80&lt;/short-name&gt;
+    &lt;uid&gt;user80&lt;/uid&gt;
+    &lt;password&gt;user80&lt;/password&gt;
+    &lt;full-name&gt;User 80&lt;/full-name&gt;
+    &lt;email&gt;user80@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user81&lt;/short-name&gt;
+    &lt;uid&gt;user81&lt;/uid&gt;
+    &lt;password&gt;user81&lt;/password&gt;
+    &lt;full-name&gt;User 81&lt;/full-name&gt;
+    &lt;email&gt;user81@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user82&lt;/short-name&gt;
+    &lt;uid&gt;user82&lt;/uid&gt;
+    &lt;password&gt;user82&lt;/password&gt;
+    &lt;full-name&gt;User 82&lt;/full-name&gt;
+    &lt;email&gt;user82@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user83&lt;/short-name&gt;
+    &lt;uid&gt;user83&lt;/uid&gt;
+    &lt;password&gt;user83&lt;/password&gt;
+    &lt;full-name&gt;User 83&lt;/full-name&gt;
+    &lt;email&gt;user83@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user84&lt;/short-name&gt;
+    &lt;uid&gt;user84&lt;/uid&gt;
+    &lt;password&gt;user84&lt;/password&gt;
+    &lt;full-name&gt;User 84&lt;/full-name&gt;
+    &lt;email&gt;user84@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user85&lt;/short-name&gt;
+    &lt;uid&gt;user85&lt;/uid&gt;
+    &lt;password&gt;user85&lt;/password&gt;
+    &lt;full-name&gt;User 85&lt;/full-name&gt;
+    &lt;email&gt;user85@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user86&lt;/short-name&gt;
+    &lt;uid&gt;user86&lt;/uid&gt;
+    &lt;password&gt;user86&lt;/password&gt;
+    &lt;full-name&gt;User 86&lt;/full-name&gt;
+    &lt;email&gt;user86@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user87&lt;/short-name&gt;
+    &lt;uid&gt;user87&lt;/uid&gt;
+    &lt;password&gt;user87&lt;/password&gt;
+    &lt;full-name&gt;User 87&lt;/full-name&gt;
+    &lt;email&gt;user87@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user88&lt;/short-name&gt;
+    &lt;uid&gt;user88&lt;/uid&gt;
+    &lt;password&gt;user88&lt;/password&gt;
+    &lt;full-name&gt;User 88&lt;/full-name&gt;
+    &lt;email&gt;user88@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user89&lt;/short-name&gt;
+    &lt;uid&gt;user89&lt;/uid&gt;
+    &lt;password&gt;user89&lt;/password&gt;
+    &lt;full-name&gt;User 89&lt;/full-name&gt;
+    &lt;email&gt;user89@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user90&lt;/short-name&gt;
+    &lt;uid&gt;user90&lt;/uid&gt;
+    &lt;password&gt;user90&lt;/password&gt;
+    &lt;full-name&gt;User 90&lt;/full-name&gt;
+    &lt;email&gt;user90@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user91&lt;/short-name&gt;
+    &lt;uid&gt;user91&lt;/uid&gt;
+    &lt;password&gt;user91&lt;/password&gt;
+    &lt;full-name&gt;User 91&lt;/full-name&gt;
+    &lt;email&gt;user91@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user92&lt;/short-name&gt;
+    &lt;uid&gt;user92&lt;/uid&gt;
+    &lt;password&gt;user92&lt;/password&gt;
+    &lt;full-name&gt;User 92&lt;/full-name&gt;
+    &lt;email&gt;user92@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user93&lt;/short-name&gt;
+    &lt;uid&gt;user93&lt;/uid&gt;
+    &lt;password&gt;user93&lt;/password&gt;
+    &lt;full-name&gt;User 93&lt;/full-name&gt;
+    &lt;email&gt;user93@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user94&lt;/short-name&gt;
+    &lt;uid&gt;user94&lt;/uid&gt;
+    &lt;password&gt;user94&lt;/password&gt;
+    &lt;full-name&gt;User 94&lt;/full-name&gt;
+    &lt;email&gt;user94@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user95&lt;/short-name&gt;
+    &lt;uid&gt;user95&lt;/uid&gt;
+    &lt;password&gt;user95&lt;/password&gt;
+    &lt;full-name&gt;User 95&lt;/full-name&gt;
+    &lt;email&gt;user95@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user96&lt;/short-name&gt;
+    &lt;uid&gt;user96&lt;/uid&gt;
+    &lt;password&gt;user96&lt;/password&gt;
+    &lt;full-name&gt;User 96&lt;/full-name&gt;
+    &lt;email&gt;user96@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user97&lt;/short-name&gt;
+    &lt;uid&gt;user97&lt;/uid&gt;
+    &lt;password&gt;user97&lt;/password&gt;
+    &lt;full-name&gt;User 97&lt;/full-name&gt;
+    &lt;email&gt;user97@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user98&lt;/short-name&gt;
+    &lt;uid&gt;user98&lt;/uid&gt;
+    &lt;password&gt;user98&lt;/password&gt;
+    &lt;full-name&gt;User 98&lt;/full-name&gt;
+    &lt;email&gt;user98@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user99&lt;/short-name&gt;
+    &lt;uid&gt;user99&lt;/uid&gt;
+    &lt;password&gt;user99&lt;/password&gt;
+    &lt;full-name&gt;User 99&lt;/full-name&gt;
+    &lt;email&gt;user99@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;user100&lt;/short-name&gt;
+    &lt;uid&gt;user100&lt;/uid&gt;
+    &lt;password&gt;user100&lt;/password&gt;
+    &lt;full-name&gt;User 100&lt;/full-name&gt;
+    &lt;email&gt;user100@example.com&lt;/email&gt;
+&lt;/record&gt;
+
+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public01&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public01&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public01&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 01&lt;/full-name&gt;
</span><span class="cx">     &lt;email&gt;public01@example.com&lt;/email&gt;
</span><del>-  &lt;/record&gt;
</del><ins>+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public02&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public02&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public02&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 02&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public02@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public02@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public03&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public03&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public03&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 03&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public03@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public03@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public04&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public04&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public04&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 04&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public04@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public04@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public05&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public05&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public05&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 05&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public05@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public05@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public06&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public06&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public06&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 06&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public06@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public06@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public07&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public07&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public07&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 07&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public07@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public07@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public08&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public08&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public08&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 08&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public08@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public08@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public09&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public09&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public09&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 09&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public09@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public09@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;user&quot;&gt;
</del><ins>+&lt;record type=&quot;user&quot;&gt;
</ins><span class="cx">     &lt;short-name&gt;public10&lt;/short-name&gt;
</span><span class="cx">     &lt;uid&gt;public10&lt;/uid&gt;
</span><span class="cx">     &lt;password&gt;public10&lt;/password&gt;
</span><span class="cx">     &lt;full-name&gt;Public 10&lt;/full-name&gt;
</span><del>-     &lt;email&gt;public10@example.com&lt;/email&gt;
-  &lt;/record&gt;
</del><ins>+    &lt;email&gt;public10@example.com&lt;/email&gt;
+&lt;/record&gt;
</ins><span class="cx"> 
</span><del>-  &lt;record type=&quot;group&quot;&gt;
-    &lt;uid&gt;group01&lt;/uid&gt;
-    &lt;short-name&gt;group01&lt;/short-name&gt;
-    &lt;password&gt;group01&lt;/password&gt;
-    &lt;full-name&gt;Group 01&lt;/full-name&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user01&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt;
-    &lt;uid&gt;group02&lt;/uid&gt;
-    &lt;short-name&gt;group02&lt;/short-name&gt;
-    &lt;password&gt;group02&lt;/password&gt;
-    &lt;full-name&gt;Group 02&lt;/full-name&gt;
-      &lt;member-uid &gt;user06&lt;/member-uid&gt;
-      &lt;member-uid &gt;user07&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt;
-    &lt;uid&gt;group03&lt;/uid&gt;
-    &lt;short-name&gt;group03&lt;/short-name&gt;
-    &lt;password&gt;group03&lt;/password&gt;
-    &lt;full-name&gt;Group 03&lt;/full-name&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user08&lt;/member-uid&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user09&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt;
-    &lt;uid&gt;group04&lt;/uid&gt;
-    &lt;short-name&gt;group04&lt;/short-name&gt;
-    &lt;password&gt;group04&lt;/password&gt;
-    &lt;full-name&gt;Group 04&lt;/full-name&gt;
-      &lt;member-uid type=&quot;groups&quot;&gt;group02&lt;/member-uid&gt;
-      &lt;member-uid type=&quot;groups&quot;&gt;group03&lt;/member-uid&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user10&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt; &lt;!-- delegategroup --&gt;
-    &lt;uid&gt;group05&lt;/uid&gt;
-    &lt;short-name&gt;group05&lt;/short-name&gt;
-    &lt;password&gt;group05&lt;/password&gt;
-    &lt;full-name&gt;Group 05&lt;/full-name&gt;
-      &lt;member-uid type=&quot;groups&quot;&gt;group06&lt;/member-uid&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user20&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt; &lt;!-- delegatesubgroup --&gt;
-    &lt;uid&gt;group06&lt;/uid&gt;
-    &lt;short-name&gt;group06&lt;/short-name&gt;
-    &lt;password&gt;group06&lt;/password&gt;
-    &lt;full-name&gt;Group 06&lt;/full-name&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user21&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt; &lt;!-- readonlydelegategroup --&gt;
-    &lt;uid&gt;group07&lt;/uid&gt;
-    &lt;short-name&gt;group07&lt;/short-name&gt;
-    &lt;password&gt;group07&lt;/password&gt;
-    &lt;full-name&gt;Group 07&lt;/full-name&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user22&lt;/member-uid&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user23&lt;/member-uid&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user24&lt;/member-uid&gt;
-  &lt;/record&gt;
-  &lt;record type=&quot;group&quot;&gt;
-    &lt;uid&gt;disabledgroup&lt;/uid&gt;
-    &lt;short-name&gt;disabledgroup&lt;/short-name&gt;
-    &lt;password&gt;disabledgroup&lt;/password&gt;
-    &lt;full-name&gt;Disabled Group&lt;/full-name&gt;
-      &lt;member-uid type=&quot;users&quot;&gt;user01&lt;/member-uid&gt;
-  &lt;/record&gt;
</del><span class="cx"> &lt;/directory&gt;
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4confauthaugmentstestxml"></a>
<div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml (13056 => \
13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/conf/auth/augments-test.xml	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -4,27 +4,23 @@
</span><span class="cx"> &lt;augments&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;Default&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record repeat=&quot;10&quot;&gt;
</span><span class="cx">     &lt;uid&gt;location%02d&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record repeat=&quot;3&quot;&gt;
</span><span class="cx">     &lt;uid&gt;resource%02d&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource04&lt;/uid&gt;
</span><del>-    &lt;enable&gt;false&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -33,7 \
+29,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource05&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="lines">@@ -41,7 \
+36,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource06&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="lines">@@ -49,7 \
+43,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource07&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="lines">@@ -57,7 \
+50,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource08&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="lines">@@ -65,7 \
+57,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource09&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="lines">@@ -73,7 \
+64,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource10&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="lines">@@ -81,31 \
+71,20 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;resource11&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule&gt;true&lt;/auto-schedule&gt; </span><span class="cx">     \
&lt;auto-schedule-mode&gt;decline-always&lt;/auto-schedule-mode&gt; </span><span \
class="cx">     &lt;auto-accept-group&gt;group01&lt;/auto-accept-group&gt; \
</span><span class="cx">   &lt;/record&gt; </span><del>-  &lt;record \
                repeat=&quot;10&quot;&gt;
-    &lt;uid&gt;group%02d&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
</del><span class="cx">   &lt;record&gt;
</span><del>-    &lt;uid&gt;disabledgroup&lt;/uid&gt;
-    &lt;enable&gt;false&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
</del><span class="cx">     &lt;uid&gt;delegatedroom&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;false&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;auto-schedule&gt;false&lt;/auto-schedule&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;03DFF660-8BCC-4198-8588-DD77F776F518&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -113,7 \
+92,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;80689D41-DAF8-4189-909C-DB017B271892&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -122,7 \
+100,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;C38BEE7A-36EE-478C-9DCB-CBF4612AFE65&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -132,7 \
+109,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;CCE95217-A57B-481A-AC3D-FEC9AB6CE3A9&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -140,7 \
+116,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;0CE0BF31-5F9E-4801-A489-8C70CF287F5F&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -148,7 \
+123,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;6F9EE33B-78F6-481B-9289-3D0812FF0D64&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -157,7 \
+131,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;76E7ECA6-08BC-4AE7-930D-F2E7453993A5&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -166,7 \
+139,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;63A2F949-2D8D-4C8D-B8A5-DCF2A94610F3&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -175,7 \
+147,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;06E3BDCB-9C19-485A-B14E-F146A80ADDC6&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="lines">@@ -184,7 \
+155,6 @@ </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;4D66A20A-1437-437D-8069-2F14E8322234&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4twistedcaldavdirectorytestaccountsxml"></a>
 <div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml \
(13056 => 13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/accounts.xml	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -65,20 +65,20 @@
</span><span class="cx">   &lt;/record&gt;
</span><span class="cx"> 
</span><span class="cx">   &lt;record type=&quot;user&quot;&gt;
</span><del>-    &lt;short-name&gt;example&lt;/short-name&gt;
</del><ins>+    &lt;short-name&gt;purge1&lt;/short-name&gt;
</ins><span class="cx">     \
&lt;uid&gt;C76DB741-5A2A-4239-8112-10CF152AFCA4&lt;/uid&gt; </span><span class="cx">  \
&lt;guid&gt;C76DB741-5A2A-4239-8112-10CF152AFCA4&lt;/guid&gt; </span><del>-    \
                &lt;password&gt;example&lt;/password&gt;
-    &lt;full-name&gt;Example&lt;/full-name&gt;
-    &lt;email&gt;example@example.com&lt;/email&gt;
</del><ins>+    &lt;password&gt;purge1&lt;/password&gt;
+    &lt;full-name&gt;purge1&lt;/full-name&gt;
+    &lt;email&gt;purge1@example.com&lt;/email&gt;
</ins><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record type=&quot;user&quot;&gt;
</span><del>-    &lt;short-name&gt;example2&lt;/short-name&gt;
</del><ins>+    &lt;short-name&gt;purge2&lt;/short-name&gt;
</ins><span class="cx">     \
&lt;uid&gt;FFED7B62-2E08-496E-BD32-B2F95FFDDB6B&lt;/uid&gt; </span><span class="cx">  \
&lt;guid&gt;FFED7B62-2E08-496E-BD32-B2F95FFDDB6B&lt;/guid&gt; </span><del>-    \
                &lt;password&gt;example2&lt;/password&gt;
-    &lt;full-name&gt;Example Two&lt;/full-name&gt;
-    &lt;email&gt;example2@example.com&lt;/email&gt;
</del><ins>+    &lt;password&gt;purge2&lt;/password&gt;
+    &lt;full-name&gt;purge2&lt;/full-name&gt;
+    &lt;email&gt;purge2@example.com&lt;/email&gt;
</ins><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record type=&quot;user&quot;&gt;
</span><span class="cx">     &lt;short-name&gt;home1&lt;/short-name&gt;
</span><span class="lines">@@ -368,62 +368,43 @@
</span><span class="cx">       \
&lt;member-uid&gt;5A985493-EE2C-4665-94CF-4DFEA3A89500&lt;/member-uid&gt; \
</span><span class="cx">       \
&lt;member-uid&gt;8B4288F6-CC82-491D-8EF9-642EF4F3E7D0&lt;/member-uid&gt; \
</span><span class="cx">   &lt;/record&gt; </span><del>-  &lt;!--
-  &lt;location&gt;
-    &lt;uid&gt;mercury&lt;/uid&gt;
-    &lt;uid&gt;mercury&lt;/uid&gt;
-    &lt;password&gt;mercury&lt;/password&gt;
-    &lt;name&gt;Mercury Seven&lt;/name&gt;
-    &lt;email-address&gt;mercury@example.com&lt;/email-address&gt;
-  &lt;/location&gt;
-  &lt;location&gt;
-    &lt;uid&gt;gemini&lt;/uid&gt;
-    &lt;uid&gt;gemini&lt;/uid&gt;
-    &lt;password&gt;gemini&lt;/password&gt;
-    &lt;name&gt;Gemini Twelve&lt;/name&gt;
-    &lt;email-address&gt;gemini@example.com&lt;/email-address&gt;
-  &lt;/location&gt;
-  &lt;location&gt;
-    &lt;uid&gt;apollo&lt;/uid&gt;
-    &lt;uid&gt;apollo&lt;/uid&gt;
-    &lt;password&gt;apollo&lt;/password&gt;
-    &lt;name&gt;Apollo Eleven&lt;/name&gt;
-    &lt;email-address&gt;apollo@example.com&lt;/email-address&gt;
-  &lt;/location&gt;
-  &lt;location&gt;
-    &lt;uid&gt;orion&lt;/uid&gt;
-    &lt;uid&gt;orion&lt;/uid&gt;
-    &lt;password&gt;orion&lt;/password&gt;
-    &lt;name&gt;Orion&lt;/name&gt;
-    &lt;email-address&gt;orion@example.com&lt;/email-address&gt;
-  &lt;/location&gt;
-  &lt;resource&gt;
-    &lt;uid&gt;transporter&lt;/uid&gt;
-    &lt;uid&gt;transporter&lt;/uid&gt;
-    &lt;password&gt;transporter&lt;/password&gt;
-    &lt;name&gt;Mass Transporter&lt;/name&gt;
-    &lt;email-address&gt;transporter@example.com&lt;/email-address&gt;
-  &lt;/resource&gt;
-  &lt;resource&gt;
-    &lt;uid&gt;ftlcpu&lt;/uid&gt;
-    &lt;uid&gt;ftlcpu&lt;/uid&gt;
-    &lt;password&gt;ftlcpu&lt;/password&gt;
-    &lt;name&gt;Faster-Than-Light Microprocessor&lt;/name&gt;
-    &lt;email-address&gt;ftlcpu@example.com&lt;/email-address&gt;
-  &lt;/resource&gt;
-  &lt;resource&gt;
-    &lt;uid&gt;non_calendar_proxy&lt;/uid&gt;
-    &lt;uid&gt;non_calendar_proxy&lt;/uid&gt;
-    &lt;password&gt;non_calendar_proxy&lt;/password&gt;
-    &lt;name&gt;Non-calendar proxy&lt;/name&gt;
-    &lt;email-address&gt;non_calendar_proxy@example.com&lt;/email-address&gt;
-  &lt;/resource&gt;
-  &lt;resource&gt;
-    &lt;uid&gt;disabled&lt;/uid&gt;
-    &lt;uid&gt;disabled&lt;/uid&gt;
-    &lt;password&gt;disabled&lt;/password&gt;
-    &lt;name&gt;Disabled Record&lt;/name&gt;
-    &lt;email-address&gt;disabled@example.com&lt;/email-address&gt;
-  &lt;/resource&gt;
---&gt;
</del><ins>+
+  &lt;!-- Calverify test records --&gt;
+
+  &lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;example1&lt;/short-name&gt;
+    &lt;uid&gt;D46F3D71-04B7-43C2-A7B6-6F92F92E61D0&lt;/uid&gt;
+    &lt;guid&gt;D46F3D71-04B7-43C2-A7B6-6F92F92E61D0&lt;/guid&gt;
+    &lt;password&gt;example&lt;/password&gt;
+    &lt;full-name&gt;Example User1&lt;/full-name&gt;
+    &lt;email&gt;example1@example.com&lt;/email&gt;
+  &lt;/record&gt;
+
+  &lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;example2&lt;/short-name&gt;
+    &lt;uid&gt;47B16BB4-DB5F-4BF6-85FE-A7DA54230F92&lt;/uid&gt;
+    &lt;guid&gt;47B16BB4-DB5F-4BF6-85FE-A7DA54230F92&lt;/guid&gt;
+    &lt;password&gt;example&lt;/password&gt;
+    &lt;full-name&gt;Example User2&lt;/full-name&gt;
+    &lt;email&gt;example2@example.com&lt;/email&gt;
+  &lt;/record&gt;
+
+  &lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;example3&lt;/short-name&gt;
+    &lt;uid&gt;AC478592-7783-44D1-B2AE-52359B4E8415&lt;/uid&gt;
+    &lt;guid&gt;AC478592-7783-44D1-B2AE-52359B4E8415&lt;/guid&gt;
+    &lt;password&gt;example&lt;/password&gt;
+    &lt;full-name&gt;Example User3&lt;/full-name&gt;
+    &lt;email&gt;example3@example.com&lt;/email&gt;
+  &lt;/record&gt;
+
+  &lt;record type=&quot;user&quot;&gt;
+    &lt;short-name&gt;example4&lt;/short-name&gt;
+    &lt;uid&gt;A89E3A97-1658-4E45-A185-479F3E49D446&lt;/uid&gt;
+    &lt;guid&gt;A89E3A97-1658-4E45-A185-479F3E49D446&lt;/guid&gt;
+    &lt;password&gt;example&lt;/password&gt;
+    &lt;full-name&gt;Example User4&lt;/full-name&gt;
+    &lt;email&gt;example4@example.com&lt;/email&gt;
+  &lt;/record&gt;
+
</ins><span class="cx"> &lt;/directory&gt;
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4twistedcaldavdirectorytestaugmentsxml"></a>
 <div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml \
(13056 => 13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/augments.xml	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -22,14 +22,12 @@
</span><span class="cx">   &lt;!--
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;Location-Default&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule-mode&gt;automatic&lt;/auto-schedule-mode&gt; </span><span \
class="cx">   &lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;Resource-Default&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-schedule-mode&gt;automatic&lt;/auto-schedule-mode&gt; </span><span \
class="lines">@@ -38,177 +36,127 @@ </span><span class="cx"> 
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;D11F03A0-97EA-48AF-9A6C-FAC7F3975766&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;6423F94A-6B76-4A3A-815B-D52CFD77935D&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;server-id&gt;00001&lt;/server-id&gt; </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;5A985493-EE2C-4665-94CF-4DFEA3A89500&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;server-id&gt;00002&lt;/server-id&gt; </span><span class="cx">   &lt;/record&gt;
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;8B4288F6-CC82-491D-8EF9-642EF4F3E7D0&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;543D28BA-F74F-4D5F-9243-B3E3A61171E5&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;false&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-addressbook&gt;false&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record repeat=&quot;100&quot;&gt;
</span><span class="cx">     &lt;uid&gt;user%02d&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><del>-    &lt;uid&gt;9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
-    &lt;uid&gt;admin&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
-    &lt;uid&gt;grunts&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
</del><span class="cx">     &lt;uid&gt;right_coast&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;left_coast&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><del>-    &lt;uid&gt;both_coasts&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
-    &lt;uid&gt;recursive1_coasts&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
-    &lt;uid&gt;recursive2_coasts&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
-    &lt;uid&gt;non_calendar_group&lt;/uid&gt;
-    &lt;enable&gt;true&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
</del><span class="cx">     &lt;uid&gt;mercury&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;gemini&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;apollo&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">    \
&lt;auto-accept-group&gt;both_coasts&lt;/auto-accept-group&gt; </span><span \
class="cx">   &lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;orion&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;transporter&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;ftlcpu&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;!--
</span><span class="cx">   &lt;record&gt;
</span><span class="cx">     &lt;uid&gt;non_calendar_proxy&lt;/uid&gt;
</span><del>-    &lt;enable&gt;true&lt;/enable&gt;
</del><span class="cx">     &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
</span><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx"> --&gt;
</span><span class="cx">   &lt;record&gt;
</span><del>-    &lt;uid&gt;disabled&lt;/uid&gt;
-    &lt;enable&gt;false&lt;/enable&gt;
-  &lt;/record&gt;
-  &lt;record&gt;
</del><span class="cx">     \
&lt;uid&gt;7423F94A-6B76-4A3A-815B-D52CFD77935D&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;8A985493-EE2C-4665-94CF-4DFEA3A89500&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;9E1FFAC4-3CCD-45A1-8272-D161C92D2EEE&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;7678EC8A-A069-4E82-9066-7279C6718507&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-addressbook&gt;true&lt;/enable-addressbook&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;FC465590-E9E9-4746-ACE8-6C756A49FE4D&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;EC465590-E9E9-4746-ACE8-6C756A49FE4D&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;true&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-login&gt;true&lt;/enable-login&gt; </span><span class="cx">   \
&lt;/record&gt; </span><span class="cx">   &lt;record&gt;
</span><span class="cx">     \
&lt;uid&gt;00599DAF-3E75-42DD-9DB7-52617E79943F&lt;/uid&gt; </span><del>-    \
&lt;enable&gt;true&lt;/enable&gt; </del><span class="cx">     \
&lt;enable-calendar&gt;false&lt;/enable-calendar&gt; </span><span class="cx">     \
&lt;enable-login&gt;false&lt;/enable-login&gt; </span><span class="cx">   \
&lt;/record&gt; </span><ins>+  &lt;record&gt;
+    &lt;uid&gt;75EA36BE-F71B-40F9-81F9-CF59BF40CA8F&lt;/uid&gt;
+    &lt;enable-calendar&gt;true&lt;/enable-calendar&gt;
+    &lt;auto-schedule&gt;true&lt;/auto-schedule&gt;
+  &lt;/record&gt;
+
</ins><span class="cx"> &lt;/augments&gt;
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4twistedcaldavdirectorytestresourcesxml"></a>
 <div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml \
(13056 => 13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/twistedcaldav/directory/test/resources.xml	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -80,4 +80,12 @@
</span><span class="cx">     &lt;short-name&gt;sanchezoffice&lt;/short-name&gt;
</span><span class="cx">     &lt;full-name&gt;Sanchez Office&lt;/full-name&gt;
</span><span class="cx">   &lt;/record&gt;
</span><ins>+  &lt;record type=&quot;location&quot;&gt;
+    &lt;short-name&gt;location01&lt;/short-name&gt;
+    &lt;uid&gt;75EA36BE-F71B-40F9-81F9-CF59BF40CA8F&lt;/uid&gt;
+    &lt;guid&gt;75EA36BE-F71B-40F9-81F9-CF59BF40CA8F&lt;/guid&gt;
+    &lt;password&gt;location01&lt;/password&gt;
+    &lt;full-name&gt;Room 01&lt;/full-name&gt;
+  &lt;/record&gt;
+
</ins><span class="cx"> &lt;/directory&gt;
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4txdavdpsclientpy"></a>
<div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py (13056 => \
13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/dps/client.py	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -352,23 +352,8 @@
</span><span class="cx">         )
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-    # For scheduling/freebusy
-    # FIXME: doesn't this need to happen in the DPS?
-    @inlineCallbacks
-    def isProxyFor(self, other):
-        for recordType in (
-            txdav.who.delegates.RecordType.readDelegatorGroup,
-            txdav.who.delegates.RecordType.writeDelegatorGroup,
-        ):
-            delegatorGroup = yield self.service.recordWithShortName(
-                recordType, self.uid
-            )
-            if delegatorGroup:
-                if other in (yield delegatorGroup.members()):
-                    returnValue(True)
</del><span class="cx"> 
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> # Test client:
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4txdavdpsserverpy"></a>
<div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py (13056 => \
13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/dps/server.py	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -19,7 +19,6 @@
</span><span class="cx"> 
</span><span class="cx"> from twext.python.log import Logger
</span><span class="cx"> from twext.who.expression import MatchType, MatchFlags, \
Operand </span><del>-from twext.who.idirectory import RecordType
</del><span class="cx"> from twisted.application import service
</span><span class="cx"> from twisted.application.strports import service as \
strPortsService </span><span class="cx"> from twisted.internet.defer import \
inlineCallbacks, returnValue </span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4txdavdpstesttest_clientpy"></a>
<div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py (13056 \
=> 13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/dps/test/test_client.py	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -357,7 +357,7 @@
</span><span class="cx">         records = (yield self.client.recordsWithRecordType(
</span><span class="cx">             RecordType.user
</span><span class="cx">         ))
</span><del>-        self.assertEquals(len(records), 31)
</del><ins>+        self.assertEquals(len(records), 35)
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx">     @inlineCallbacks
</span></span></pre></div>
<a id="CalendarServerbranchesuserssagenmove2who4txdavwhodirectorypy"></a>
<div class="modfile"><h4>Modified: \
CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py (13056 => \
13057)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py	2014-03-31 \
                16:42:57 UTC (rev 13056)
+++ CalendarServer/branches/users/sagen/move2who-4/txdav/who/directory.py	2014-03-31 \
18:22:48 UTC (rev 13057) </span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> from txdav.who.idirectory import (
</span><span class="cx">     RecordType as DAVRecordType, AutoScheduleMode
</span><span class="cx"> )
</span><ins>+from txdav.who.delegates import RecordType as DelegateRecordType
</ins><span class="cx"> from txweb2.auth.digest import DigestedCredentials
</span><span class="cx"> 
</span><span class="cx"> log = Logger()
</span><span class="lines">@@ -64,8 +65,12 @@
</span><span class="cx">         address = normalizeCUAddr(address)
</span><span class="cx">         record = None
</span><span class="cx">         if address.startswith(&quot;urn:uuid:&quot;):
</span><del>-            guid = address[9:]
-            record = yield self.recordWithGUID(uuid.UUID(guid))
</del><ins>+            try:
+                guid = uuid.UUID(address[9:])
+            except ValueError:
+                log.info(&quot;Invalid GUID: {guid}&quot;, guid=address[9:])
+                returnValue(None)
+            record = yield self.recordWithGUID(guid)
</ins><span class="cx">         elif address.startswith(&quot;mailto:&quot;):
</span><span class="cx">             records = yield \
self.recordsWithEmailAddress(address[7:]) </span><span class="cx">             if \
records: </span><span class="lines">@@ -201,6 +206,10 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> class CalendarDirectoryRecordMixin(object):
</span><ins>+    &quot;&quot;&quot;
+    Calendar (and Contacts) specific logic for directory records lives in this
+    class
+    &quot;&quot;&quot;
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx">     @inlineCallbacks
</span><span class="lines">@@ -364,7 +373,7 @@
</span><span class="cx">             return False
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-    #MOVE2WHO
</del><ins>+    # FIXME:
</ins><span class="cx">     def thisServer(self):
</span><span class="cx">         return True
</span><span class="cx"> 
</span><span class="lines">@@ -444,3 +453,18 @@
</span><span class="cx">             yield member.expandedMembers(members)
</span><span class="cx"> 
</span><span class="cx">         returnValue(members)
</span><ins>+
+
+    # For scheduling/freebusy
+    @inlineCallbacks
+    def isProxyFor(self, other):
+        for recordType in (
+            DelegateRecordType.readDelegatorGroup,
+            DelegateRecordType.writeDelegatorGroup,
+        ):
+            delegatorGroup = yield self.service.recordWithShortName(
+                recordType, self.uid
+            )
+            if delegatorGroup:
+                if other in (yield delegatorGroup.members()):
+                    returnValue(True)
</ins></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
calendarserver-changes mailing list
calendarserver-changes@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/calendarserver-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic