[CalendarServer-changes] [13375] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Sat Apr 26 08:10:28 PDT 2014


Revision: 13375
          http://trac.calendarserver.org//changeset/13375
Author:   cdaboo at apple.com
Date:     2014-04-26 08:10:28 -0700 (Sat, 26 Apr 2014)
Log Message:
-----------
Fix iSchedule/podding resources to reject request of the other type. This also involved doing a lot
of clean up to the account XML files (fixing the DTDs), and also adds a new set of config files
to allow an iSchedule server to be run in conjunction with the two-pod podA, podB configs.

Modified Paths:
--------------
    CalendarServer/trunk/conf/auth/accounts-test-pod.xml
    CalendarServer/trunk/conf/auth/accounts-test.xml
    CalendarServer/trunk/conf/auth/accounts.dtd
    CalendarServer/trunk/conf/auth/accounts.xml
    CalendarServer/trunk/conf/auth/augments-default.xml
    CalendarServer/trunk/conf/auth/augments-test-pod.xml
    CalendarServer/trunk/conf/auth/augments-test.xml
    CalendarServer/trunk/conf/auth/augments.dtd
    CalendarServer/trunk/conf/auth/generate_test_accounts.py
    CalendarServer/trunk/conf/auth/proxies-test-pod.xml
    CalendarServer/trunk/conf/auth/proxies-test.xml
    CalendarServer/trunk/conf/auth/proxies.dtd
    CalendarServer/trunk/conf/auth/resources-test-pod.xml
    CalendarServer/trunk/conf/auth/resources-test.xml
    CalendarServer/trunk/conf/caldavd-test-podA.plist
    CalendarServer/trunk/conf/caldavd-test-podB.plist
    CalendarServer/trunk/conf/remoteservers-test.xml
    CalendarServer/trunk/twistedcaldav/directory/calendaruserproxyloader.py
    CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml
    CalendarServer/trunk/twistedcaldav/directory/test/augments-normalization.xml
    CalendarServer/trunk/twistedcaldav/directory/test/augments-test-default.xml
    CalendarServer/trunk/twistedcaldav/directory/test/augments-test.xml
    CalendarServer/trunk/twistedcaldav/directory/test/augments.xml
    CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml
    CalendarServer/trunk/twistedcaldav/directory/test/resources.xml
    CalendarServer/trunk/twistedcaldav/directory/test/test_augment.py
    CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/delivery.py
    CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/scheduler.py
    CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_resource.py
    CalendarServer/trunk/txdav/common/datastore/test/util.py

Added Paths:
-----------
    CalendarServer/trunk/conf/auth/accounts-test-s2s.xml
    CalendarServer/trunk/conf/auth/augments-test-s2s.xml
    CalendarServer/trunk/conf/auth/proxies-test-s2s.xml
    CalendarServer/trunk/conf/auth/resources-test-s2s.xml
    CalendarServer/trunk/conf/caldavd-test-s2s.plist
    CalendarServer/trunk/conf/dkim-test/
    CalendarServer/trunk/conf/dkim-test/other_keys/
    CalendarServer/trunk/conf/dkim-test/other_keys/example.org#ischedule2
    CalendarServer/trunk/conf/dkim-test/priv.pem
    CalendarServer/trunk/conf/dkim-test/pub.pem
    CalendarServer/trunk/conf/dkim-test-s2s/
    CalendarServer/trunk/conf/dkim-test-s2s/other_keys/
    CalendarServer/trunk/conf/dkim-test-s2s/other_keys/example.com#ischedule
    CalendarServer/trunk/conf/dkim-test-s2s/priv.pem
    CalendarServer/trunk/conf/dkim-test-s2s/pub.pem
    CalendarServer/trunk/conf/remoteservers-test-s2s.xml
    CalendarServer/trunk/conf/test-db.zones

Removed Paths:
-------------
    CalendarServer/trunk/twistedcaldav/directory/test/accounts-modified.xml
    CalendarServer/trunk/twistedcaldav/directory/test/modify/
    CalendarServer/trunk/twistedcaldav/directory/test/resources/

Modified: CalendarServer/trunk/conf/auth/accounts-test-pod.xml
===================================================================
--- CalendarServer/trunk/conf/auth/accounts-test-pod.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/accounts-test-pod.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -1,32 +1,1630 @@
 <?xml version="1.0" encoding="utf-8"?>
 
-<accounts realm="Test Realm">
-  <user>
-    <uid>admin</uid>
-    <guid>admin</guid>
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE accounts SYSTEM "accounts.dtd">
+
+<directory realm="Test Realm">
+<record>
+    <uid>0C8BDE62-E600-4696-83D3-8B5ECABDFD2E</uid>
+    <guid>0C8BDE62-E600-4696-83D3-8B5ECABDFD2E</guid>
+    <short-name>admin</short-name>
     <password>admin</password>
-    <name>Super User</name>
-    <first-name>Super</first-name>
-    <last-name>User</last-name>
-  </user>
-  <user repeat="101">
-    <uid>user%02d</uid>
-    <uid>User %02d</uid>
-    <guid>user%02d</guid>
-    <password>user%02d</password>
-    <name>User %02d</name>
-    <first-name>User</first-name>
-    <last-name>%02d</last-name>
-    <email-address>user%02d at example.com</email-address>
-  </user>
-  <user repeat="101">
-    <uid>puser%02d</uid>
-    <uid>Puser %02d</uid>
-    <guid>puser%02d</guid>
-    <password>puser%02d</password>
-    <name>Puser %02d</name>
-    <first-name>Puser</first-name>
-    <last-name>%02d</last-name>
-    <email-address>puser%02d at example.com</email-address>
-  </user>
-</accounts>
+    <full-name>Super User</full-name>
+    <email>admin at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000001</uid>
+    <guid>10000000-0000-0000-0000-000000000001</guid>
+    <short-name>user01</short-name>
+    <password>user01</password>
+    <full-name>User 01</full-name>
+    <email>user01 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000002</uid>
+    <guid>10000000-0000-0000-0000-000000000002</guid>
+    <short-name>user02</short-name>
+    <password>user02</password>
+    <full-name>User 02</full-name>
+    <email>user02 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000003</uid>
+    <guid>10000000-0000-0000-0000-000000000003</guid>
+    <short-name>user03</short-name>
+    <password>user03</password>
+    <full-name>User 03</full-name>
+    <email>user03 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000004</uid>
+    <guid>10000000-0000-0000-0000-000000000004</guid>
+    <short-name>user04</short-name>
+    <password>user04</password>
+    <full-name>User 04</full-name>
+    <email>user04 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000005</uid>
+    <guid>10000000-0000-0000-0000-000000000005</guid>
+    <short-name>user05</short-name>
+    <password>user05</password>
+    <full-name>User 05</full-name>
+    <email>user05 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000006</uid>
+    <guid>10000000-0000-0000-0000-000000000006</guid>
+    <short-name>user06</short-name>
+    <password>user06</password>
+    <full-name>User 06</full-name>
+    <email>user06 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000007</uid>
+    <guid>10000000-0000-0000-0000-000000000007</guid>
+    <short-name>user07</short-name>
+    <password>user07</password>
+    <full-name>User 07</full-name>
+    <email>user07 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000008</uid>
+    <guid>10000000-0000-0000-0000-000000000008</guid>
+    <short-name>user08</short-name>
+    <password>user08</password>
+    <full-name>User 08</full-name>
+    <email>user08 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000009</uid>
+    <guid>10000000-0000-0000-0000-000000000009</guid>
+    <short-name>user09</short-name>
+    <password>user09</password>
+    <full-name>User 09</full-name>
+    <email>user09 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000010</uid>
+    <guid>10000000-0000-0000-0000-000000000010</guid>
+    <short-name>user10</short-name>
+    <password>user10</password>
+    <full-name>User 10</full-name>
+    <email>user10 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000011</uid>
+    <guid>10000000-0000-0000-0000-000000000011</guid>
+    <short-name>user11</short-name>
+    <password>user11</password>
+    <full-name>User 11</full-name>
+    <email>user11 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000012</uid>
+    <guid>10000000-0000-0000-0000-000000000012</guid>
+    <short-name>user12</short-name>
+    <password>user12</password>
+    <full-name>User 12</full-name>
+    <email>user12 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000013</uid>
+    <guid>10000000-0000-0000-0000-000000000013</guid>
+    <short-name>user13</short-name>
+    <password>user13</password>
+    <full-name>User 13</full-name>
+    <email>user13 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000014</uid>
+    <guid>10000000-0000-0000-0000-000000000014</guid>
+    <short-name>user14</short-name>
+    <password>user14</password>
+    <full-name>User 14</full-name>
+    <email>user14 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000015</uid>
+    <guid>10000000-0000-0000-0000-000000000015</guid>
+    <short-name>user15</short-name>
+    <password>user15</password>
+    <full-name>User 15</full-name>
+    <email>user15 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000016</uid>
+    <guid>10000000-0000-0000-0000-000000000016</guid>
+    <short-name>user16</short-name>
+    <password>user16</password>
+    <full-name>User 16</full-name>
+    <email>user16 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000017</uid>
+    <guid>10000000-0000-0000-0000-000000000017</guid>
+    <short-name>user17</short-name>
+    <password>user17</password>
+    <full-name>User 17</full-name>
+    <email>user17 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000018</uid>
+    <guid>10000000-0000-0000-0000-000000000018</guid>
+    <short-name>user18</short-name>
+    <password>user18</password>
+    <full-name>User 18</full-name>
+    <email>user18 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000019</uid>
+    <guid>10000000-0000-0000-0000-000000000019</guid>
+    <short-name>user19</short-name>
+    <password>user19</password>
+    <full-name>User 19</full-name>
+    <email>user19 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000020</uid>
+    <guid>10000000-0000-0000-0000-000000000020</guid>
+    <short-name>user20</short-name>
+    <password>user20</password>
+    <full-name>User 20</full-name>
+    <email>user20 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000021</uid>
+    <guid>10000000-0000-0000-0000-000000000021</guid>
+    <short-name>user21</short-name>
+    <password>user21</password>
+    <full-name>User 21</full-name>
+    <email>user21 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000022</uid>
+    <guid>10000000-0000-0000-0000-000000000022</guid>
+    <short-name>user22</short-name>
+    <password>user22</password>
+    <full-name>User 22</full-name>
+    <email>user22 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000023</uid>
+    <guid>10000000-0000-0000-0000-000000000023</guid>
+    <short-name>user23</short-name>
+    <password>user23</password>
+    <full-name>User 23</full-name>
+    <email>user23 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000024</uid>
+    <guid>10000000-0000-0000-0000-000000000024</guid>
+    <short-name>user24</short-name>
+    <password>user24</password>
+    <full-name>User 24</full-name>
+    <email>user24 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000025</uid>
+    <guid>10000000-0000-0000-0000-000000000025</guid>
+    <short-name>user25</short-name>
+    <password>user25</password>
+    <full-name>User 25</full-name>
+    <email>user25 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000026</uid>
+    <guid>10000000-0000-0000-0000-000000000026</guid>
+    <short-name>user26</short-name>
+    <password>user26</password>
+    <full-name>User 26</full-name>
+    <email>user26 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000027</uid>
+    <guid>10000000-0000-0000-0000-000000000027</guid>
+    <short-name>user27</short-name>
+    <password>user27</password>
+    <full-name>User 27</full-name>
+    <email>user27 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000028</uid>
+    <guid>10000000-0000-0000-0000-000000000028</guid>
+    <short-name>user28</short-name>
+    <password>user28</password>
+    <full-name>User 28</full-name>
+    <email>user28 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000029</uid>
+    <guid>10000000-0000-0000-0000-000000000029</guid>
+    <short-name>user29</short-name>
+    <password>user29</password>
+    <full-name>User 29</full-name>
+    <email>user29 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000030</uid>
+    <guid>10000000-0000-0000-0000-000000000030</guid>
+    <short-name>user30</short-name>
+    <password>user30</password>
+    <full-name>User 30</full-name>
+    <email>user30 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000031</uid>
+    <guid>10000000-0000-0000-0000-000000000031</guid>
+    <short-name>user31</short-name>
+    <password>user31</password>
+    <full-name>User 31</full-name>
+    <email>user31 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000032</uid>
+    <guid>10000000-0000-0000-0000-000000000032</guid>
+    <short-name>user32</short-name>
+    <password>user32</password>
+    <full-name>User 32</full-name>
+    <email>user32 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000033</uid>
+    <guid>10000000-0000-0000-0000-000000000033</guid>
+    <short-name>user33</short-name>
+    <password>user33</password>
+    <full-name>User 33</full-name>
+    <email>user33 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000034</uid>
+    <guid>10000000-0000-0000-0000-000000000034</guid>
+    <short-name>user34</short-name>
+    <password>user34</password>
+    <full-name>User 34</full-name>
+    <email>user34 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000035</uid>
+    <guid>10000000-0000-0000-0000-000000000035</guid>
+    <short-name>user35</short-name>
+    <password>user35</password>
+    <full-name>User 35</full-name>
+    <email>user35 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000036</uid>
+    <guid>10000000-0000-0000-0000-000000000036</guid>
+    <short-name>user36</short-name>
+    <password>user36</password>
+    <full-name>User 36</full-name>
+    <email>user36 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000037</uid>
+    <guid>10000000-0000-0000-0000-000000000037</guid>
+    <short-name>user37</short-name>
+    <password>user37</password>
+    <full-name>User 37</full-name>
+    <email>user37 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000038</uid>
+    <guid>10000000-0000-0000-0000-000000000038</guid>
+    <short-name>user38</short-name>
+    <password>user38</password>
+    <full-name>User 38</full-name>
+    <email>user38 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000039</uid>
+    <guid>10000000-0000-0000-0000-000000000039</guid>
+    <short-name>user39</short-name>
+    <password>user39</password>
+    <full-name>User 39</full-name>
+    <email>user39 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000040</uid>
+    <guid>10000000-0000-0000-0000-000000000040</guid>
+    <short-name>user40</short-name>
+    <password>user40</password>
+    <full-name>User 40</full-name>
+    <email>user40 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000041</uid>
+    <guid>10000000-0000-0000-0000-000000000041</guid>
+    <short-name>user41</short-name>
+    <password>user41</password>
+    <full-name>User 41</full-name>
+    <email>user41 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000042</uid>
+    <guid>10000000-0000-0000-0000-000000000042</guid>
+    <short-name>user42</short-name>
+    <password>user42</password>
+    <full-name>User 42</full-name>
+    <email>user42 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000043</uid>
+    <guid>10000000-0000-0000-0000-000000000043</guid>
+    <short-name>user43</short-name>
+    <password>user43</password>
+    <full-name>User 43</full-name>
+    <email>user43 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000044</uid>
+    <guid>10000000-0000-0000-0000-000000000044</guid>
+    <short-name>user44</short-name>
+    <password>user44</password>
+    <full-name>User 44</full-name>
+    <email>user44 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000045</uid>
+    <guid>10000000-0000-0000-0000-000000000045</guid>
+    <short-name>user45</short-name>
+    <password>user45</password>
+    <full-name>User 45</full-name>
+    <email>user45 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000046</uid>
+    <guid>10000000-0000-0000-0000-000000000046</guid>
+    <short-name>user46</short-name>
+    <password>user46</password>
+    <full-name>User 46</full-name>
+    <email>user46 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000047</uid>
+    <guid>10000000-0000-0000-0000-000000000047</guid>
+    <short-name>user47</short-name>
+    <password>user47</password>
+    <full-name>User 47</full-name>
+    <email>user47 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000048</uid>
+    <guid>10000000-0000-0000-0000-000000000048</guid>
+    <short-name>user48</short-name>
+    <password>user48</password>
+    <full-name>User 48</full-name>
+    <email>user48 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000049</uid>
+    <guid>10000000-0000-0000-0000-000000000049</guid>
+    <short-name>user49</short-name>
+    <password>user49</password>
+    <full-name>User 49</full-name>
+    <email>user49 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000050</uid>
+    <guid>10000000-0000-0000-0000-000000000050</guid>
+    <short-name>user50</short-name>
+    <password>user50</password>
+    <full-name>User 50</full-name>
+    <email>user50 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000051</uid>
+    <guid>10000000-0000-0000-0000-000000000051</guid>
+    <short-name>user51</short-name>
+    <password>user51</password>
+    <full-name>User 51</full-name>
+    <email>user51 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000052</uid>
+    <guid>10000000-0000-0000-0000-000000000052</guid>
+    <short-name>user52</short-name>
+    <password>user52</password>
+    <full-name>User 52</full-name>
+    <email>user52 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000053</uid>
+    <guid>10000000-0000-0000-0000-000000000053</guid>
+    <short-name>user53</short-name>
+    <password>user53</password>
+    <full-name>User 53</full-name>
+    <email>user53 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000054</uid>
+    <guid>10000000-0000-0000-0000-000000000054</guid>
+    <short-name>user54</short-name>
+    <password>user54</password>
+    <full-name>User 54</full-name>
+    <email>user54 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000055</uid>
+    <guid>10000000-0000-0000-0000-000000000055</guid>
+    <short-name>user55</short-name>
+    <password>user55</password>
+    <full-name>User 55</full-name>
+    <email>user55 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000056</uid>
+    <guid>10000000-0000-0000-0000-000000000056</guid>
+    <short-name>user56</short-name>
+    <password>user56</password>
+    <full-name>User 56</full-name>
+    <email>user56 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000057</uid>
+    <guid>10000000-0000-0000-0000-000000000057</guid>
+    <short-name>user57</short-name>
+    <password>user57</password>
+    <full-name>User 57</full-name>
+    <email>user57 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000058</uid>
+    <guid>10000000-0000-0000-0000-000000000058</guid>
+    <short-name>user58</short-name>
+    <password>user58</password>
+    <full-name>User 58</full-name>
+    <email>user58 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000059</uid>
+    <guid>10000000-0000-0000-0000-000000000059</guid>
+    <short-name>user59</short-name>
+    <password>user59</password>
+    <full-name>User 59</full-name>
+    <email>user59 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000060</uid>
+    <guid>10000000-0000-0000-0000-000000000060</guid>
+    <short-name>user60</short-name>
+    <password>user60</password>
+    <full-name>User 60</full-name>
+    <email>user60 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000061</uid>
+    <guid>10000000-0000-0000-0000-000000000061</guid>
+    <short-name>user61</short-name>
+    <password>user61</password>
+    <full-name>User 61</full-name>
+    <email>user61 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000062</uid>
+    <guid>10000000-0000-0000-0000-000000000062</guid>
+    <short-name>user62</short-name>
+    <password>user62</password>
+    <full-name>User 62</full-name>
+    <email>user62 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000063</uid>
+    <guid>10000000-0000-0000-0000-000000000063</guid>
+    <short-name>user63</short-name>
+    <password>user63</password>
+    <full-name>User 63</full-name>
+    <email>user63 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000064</uid>
+    <guid>10000000-0000-0000-0000-000000000064</guid>
+    <short-name>user64</short-name>
+    <password>user64</password>
+    <full-name>User 64</full-name>
+    <email>user64 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000065</uid>
+    <guid>10000000-0000-0000-0000-000000000065</guid>
+    <short-name>user65</short-name>
+    <password>user65</password>
+    <full-name>User 65</full-name>
+    <email>user65 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000066</uid>
+    <guid>10000000-0000-0000-0000-000000000066</guid>
+    <short-name>user66</short-name>
+    <password>user66</password>
+    <full-name>User 66</full-name>
+    <email>user66 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000067</uid>
+    <guid>10000000-0000-0000-0000-000000000067</guid>
+    <short-name>user67</short-name>
+    <password>user67</password>
+    <full-name>User 67</full-name>
+    <email>user67 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000068</uid>
+    <guid>10000000-0000-0000-0000-000000000068</guid>
+    <short-name>user68</short-name>
+    <password>user68</password>
+    <full-name>User 68</full-name>
+    <email>user68 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000069</uid>
+    <guid>10000000-0000-0000-0000-000000000069</guid>
+    <short-name>user69</short-name>
+    <password>user69</password>
+    <full-name>User 69</full-name>
+    <email>user69 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000070</uid>
+    <guid>10000000-0000-0000-0000-000000000070</guid>
+    <short-name>user70</short-name>
+    <password>user70</password>
+    <full-name>User 70</full-name>
+    <email>user70 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000071</uid>
+    <guid>10000000-0000-0000-0000-000000000071</guid>
+    <short-name>user71</short-name>
+    <password>user71</password>
+    <full-name>User 71</full-name>
+    <email>user71 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000072</uid>
+    <guid>10000000-0000-0000-0000-000000000072</guid>
+    <short-name>user72</short-name>
+    <password>user72</password>
+    <full-name>User 72</full-name>
+    <email>user72 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000073</uid>
+    <guid>10000000-0000-0000-0000-000000000073</guid>
+    <short-name>user73</short-name>
+    <password>user73</password>
+    <full-name>User 73</full-name>
+    <email>user73 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000074</uid>
+    <guid>10000000-0000-0000-0000-000000000074</guid>
+    <short-name>user74</short-name>
+    <password>user74</password>
+    <full-name>User 74</full-name>
+    <email>user74 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000075</uid>
+    <guid>10000000-0000-0000-0000-000000000075</guid>
+    <short-name>user75</short-name>
+    <password>user75</password>
+    <full-name>User 75</full-name>
+    <email>user75 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000076</uid>
+    <guid>10000000-0000-0000-0000-000000000076</guid>
+    <short-name>user76</short-name>
+    <password>user76</password>
+    <full-name>User 76</full-name>
+    <email>user76 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000077</uid>
+    <guid>10000000-0000-0000-0000-000000000077</guid>
+    <short-name>user77</short-name>
+    <password>user77</password>
+    <full-name>User 77</full-name>
+    <email>user77 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000078</uid>
+    <guid>10000000-0000-0000-0000-000000000078</guid>
+    <short-name>user78</short-name>
+    <password>user78</password>
+    <full-name>User 78</full-name>
+    <email>user78 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000079</uid>
+    <guid>10000000-0000-0000-0000-000000000079</guid>
+    <short-name>user79</short-name>
+    <password>user79</password>
+    <full-name>User 79</full-name>
+    <email>user79 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000080</uid>
+    <guid>10000000-0000-0000-0000-000000000080</guid>
+    <short-name>user80</short-name>
+    <password>user80</password>
+    <full-name>User 80</full-name>
+    <email>user80 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000081</uid>
+    <guid>10000000-0000-0000-0000-000000000081</guid>
+    <short-name>user81</short-name>
+    <password>user81</password>
+    <full-name>User 81</full-name>
+    <email>user81 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000082</uid>
+    <guid>10000000-0000-0000-0000-000000000082</guid>
+    <short-name>user82</short-name>
+    <password>user82</password>
+    <full-name>User 82</full-name>
+    <email>user82 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000083</uid>
+    <guid>10000000-0000-0000-0000-000000000083</guid>
+    <short-name>user83</short-name>
+    <password>user83</password>
+    <full-name>User 83</full-name>
+    <email>user83 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000084</uid>
+    <guid>10000000-0000-0000-0000-000000000084</guid>
+    <short-name>user84</short-name>
+    <password>user84</password>
+    <full-name>User 84</full-name>
+    <email>user84 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000085</uid>
+    <guid>10000000-0000-0000-0000-000000000085</guid>
+    <short-name>user85</short-name>
+    <password>user85</password>
+    <full-name>User 85</full-name>
+    <email>user85 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000086</uid>
+    <guid>10000000-0000-0000-0000-000000000086</guid>
+    <short-name>user86</short-name>
+    <password>user86</password>
+    <full-name>User 86</full-name>
+    <email>user86 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000087</uid>
+    <guid>10000000-0000-0000-0000-000000000087</guid>
+    <short-name>user87</short-name>
+    <password>user87</password>
+    <full-name>User 87</full-name>
+    <email>user87 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000088</uid>
+    <guid>10000000-0000-0000-0000-000000000088</guid>
+    <short-name>user88</short-name>
+    <password>user88</password>
+    <full-name>User 88</full-name>
+    <email>user88 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000089</uid>
+    <guid>10000000-0000-0000-0000-000000000089</guid>
+    <short-name>user89</short-name>
+    <password>user89</password>
+    <full-name>User 89</full-name>
+    <email>user89 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000090</uid>
+    <guid>10000000-0000-0000-0000-000000000090</guid>
+    <short-name>user90</short-name>
+    <password>user90</password>
+    <full-name>User 90</full-name>
+    <email>user90 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000091</uid>
+    <guid>10000000-0000-0000-0000-000000000091</guid>
+    <short-name>user91</short-name>
+    <password>user91</password>
+    <full-name>User 91</full-name>
+    <email>user91 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000092</uid>
+    <guid>10000000-0000-0000-0000-000000000092</guid>
+    <short-name>user92</short-name>
+    <password>user92</password>
+    <full-name>User 92</full-name>
+    <email>user92 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000093</uid>
+    <guid>10000000-0000-0000-0000-000000000093</guid>
+    <short-name>user93</short-name>
+    <password>user93</password>
+    <full-name>User 93</full-name>
+    <email>user93 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000094</uid>
+    <guid>10000000-0000-0000-0000-000000000094</guid>
+    <short-name>user94</short-name>
+    <password>user94</password>
+    <full-name>User 94</full-name>
+    <email>user94 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000095</uid>
+    <guid>10000000-0000-0000-0000-000000000095</guid>
+    <short-name>user95</short-name>
+    <password>user95</password>
+    <full-name>User 95</full-name>
+    <email>user95 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000096</uid>
+    <guid>10000000-0000-0000-0000-000000000096</guid>
+    <short-name>user96</short-name>
+    <password>user96</password>
+    <full-name>User 96</full-name>
+    <email>user96 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000097</uid>
+    <guid>10000000-0000-0000-0000-000000000097</guid>
+    <short-name>user97</short-name>
+    <password>user97</password>
+    <full-name>User 97</full-name>
+    <email>user97 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000098</uid>
+    <guid>10000000-0000-0000-0000-000000000098</guid>
+    <short-name>user98</short-name>
+    <password>user98</password>
+    <full-name>User 98</full-name>
+    <email>user98 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000099</uid>
+    <guid>10000000-0000-0000-0000-000000000099</guid>
+    <short-name>user99</short-name>
+    <password>user99</password>
+    <full-name>User 99</full-name>
+    <email>user99 at example.com</email>
+</record>
+<record type="user">
+    <uid>10000000-0000-0000-0000-000000000100</uid>
+    <guid>10000000-0000-0000-0000-000000000100</guid>
+    <short-name>user100</short-name>
+    <password>user100</password>
+    <full-name>User 100</full-name>
+    <email>user100 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000001</uid>
+    <guid>60000000-0000-0000-0000-000000000001</guid>
+    <short-name>puser01</short-name>
+    <password>puser01</password>
+    <full-name>Puser 01</full-name>
+    <email>puser01 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000002</uid>
+    <guid>60000000-0000-0000-0000-000000000002</guid>
+    <short-name>puser02</short-name>
+    <password>puser02</password>
+    <full-name>Puser 02</full-name>
+    <email>puser02 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000003</uid>
+    <guid>60000000-0000-0000-0000-000000000003</guid>
+    <short-name>puser03</short-name>
+    <password>puser03</password>
+    <full-name>Puser 03</full-name>
+    <email>puser03 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000004</uid>
+    <guid>60000000-0000-0000-0000-000000000004</guid>
+    <short-name>puser04</short-name>
+    <password>puser04</password>
+    <full-name>Puser 04</full-name>
+    <email>puser04 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000005</uid>
+    <guid>60000000-0000-0000-0000-000000000005</guid>
+    <short-name>puser05</short-name>
+    <password>puser05</password>
+    <full-name>Puser 05</full-name>
+    <email>puser05 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000006</uid>
+    <guid>60000000-0000-0000-0000-000000000006</guid>
+    <short-name>puser06</short-name>
+    <password>puser06</password>
+    <full-name>Puser 06</full-name>
+    <email>puser06 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000007</uid>
+    <guid>60000000-0000-0000-0000-000000000007</guid>
+    <short-name>puser07</short-name>
+    <password>puser07</password>
+    <full-name>Puser 07</full-name>
+    <email>puser07 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000008</uid>
+    <guid>60000000-0000-0000-0000-000000000008</guid>
+    <short-name>puser08</short-name>
+    <password>puser08</password>
+    <full-name>Puser 08</full-name>
+    <email>puser08 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000009</uid>
+    <guid>60000000-0000-0000-0000-000000000009</guid>
+    <short-name>puser09</short-name>
+    <password>puser09</password>
+    <full-name>Puser 09</full-name>
+    <email>puser09 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000010</uid>
+    <guid>60000000-0000-0000-0000-000000000010</guid>
+    <short-name>puser10</short-name>
+    <password>puser10</password>
+    <full-name>Puser 10</full-name>
+    <email>puser10 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000011</uid>
+    <guid>60000000-0000-0000-0000-000000000011</guid>
+    <short-name>puser11</short-name>
+    <password>puser11</password>
+    <full-name>Puser 11</full-name>
+    <email>puser11 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000012</uid>
+    <guid>60000000-0000-0000-0000-000000000012</guid>
+    <short-name>puser12</short-name>
+    <password>puser12</password>
+    <full-name>Puser 12</full-name>
+    <email>puser12 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000013</uid>
+    <guid>60000000-0000-0000-0000-000000000013</guid>
+    <short-name>puser13</short-name>
+    <password>puser13</password>
+    <full-name>Puser 13</full-name>
+    <email>puser13 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000014</uid>
+    <guid>60000000-0000-0000-0000-000000000014</guid>
+    <short-name>puser14</short-name>
+    <password>puser14</password>
+    <full-name>Puser 14</full-name>
+    <email>puser14 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000015</uid>
+    <guid>60000000-0000-0000-0000-000000000015</guid>
+    <short-name>puser15</short-name>
+    <password>puser15</password>
+    <full-name>Puser 15</full-name>
+    <email>puser15 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000016</uid>
+    <guid>60000000-0000-0000-0000-000000000016</guid>
+    <short-name>puser16</short-name>
+    <password>puser16</password>
+    <full-name>Puser 16</full-name>
+    <email>puser16 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000017</uid>
+    <guid>60000000-0000-0000-0000-000000000017</guid>
+    <short-name>puser17</short-name>
+    <password>puser17</password>
+    <full-name>Puser 17</full-name>
+    <email>puser17 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000018</uid>
+    <guid>60000000-0000-0000-0000-000000000018</guid>
+    <short-name>puser18</short-name>
+    <password>puser18</password>
+    <full-name>Puser 18</full-name>
+    <email>puser18 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000019</uid>
+    <guid>60000000-0000-0000-0000-000000000019</guid>
+    <short-name>puser19</short-name>
+    <password>puser19</password>
+    <full-name>Puser 19</full-name>
+    <email>puser19 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000020</uid>
+    <guid>60000000-0000-0000-0000-000000000020</guid>
+    <short-name>puser20</short-name>
+    <password>puser20</password>
+    <full-name>Puser 20</full-name>
+    <email>puser20 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000021</uid>
+    <guid>60000000-0000-0000-0000-000000000021</guid>
+    <short-name>puser21</short-name>
+    <password>puser21</password>
+    <full-name>Puser 21</full-name>
+    <email>puser21 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000022</uid>
+    <guid>60000000-0000-0000-0000-000000000022</guid>
+    <short-name>puser22</short-name>
+    <password>puser22</password>
+    <full-name>Puser 22</full-name>
+    <email>puser22 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000023</uid>
+    <guid>60000000-0000-0000-0000-000000000023</guid>
+    <short-name>puser23</short-name>
+    <password>puser23</password>
+    <full-name>Puser 23</full-name>
+    <email>puser23 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000024</uid>
+    <guid>60000000-0000-0000-0000-000000000024</guid>
+    <short-name>puser24</short-name>
+    <password>puser24</password>
+    <full-name>Puser 24</full-name>
+    <email>puser24 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000025</uid>
+    <guid>60000000-0000-0000-0000-000000000025</guid>
+    <short-name>puser25</short-name>
+    <password>puser25</password>
+    <full-name>Puser 25</full-name>
+    <email>puser25 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000026</uid>
+    <guid>60000000-0000-0000-0000-000000000026</guid>
+    <short-name>puser26</short-name>
+    <password>puser26</password>
+    <full-name>Puser 26</full-name>
+    <email>puser26 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000027</uid>
+    <guid>60000000-0000-0000-0000-000000000027</guid>
+    <short-name>puser27</short-name>
+    <password>puser27</password>
+    <full-name>Puser 27</full-name>
+    <email>puser27 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000028</uid>
+    <guid>60000000-0000-0000-0000-000000000028</guid>
+    <short-name>puser28</short-name>
+    <password>puser28</password>
+    <full-name>Puser 28</full-name>
+    <email>puser28 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000029</uid>
+    <guid>60000000-0000-0000-0000-000000000029</guid>
+    <short-name>puser29</short-name>
+    <password>puser29</password>
+    <full-name>Puser 29</full-name>
+    <email>puser29 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000030</uid>
+    <guid>60000000-0000-0000-0000-000000000030</guid>
+    <short-name>puser30</short-name>
+    <password>puser30</password>
+    <full-name>Puser 30</full-name>
+    <email>puser30 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000031</uid>
+    <guid>60000000-0000-0000-0000-000000000031</guid>
+    <short-name>puser31</short-name>
+    <password>puser31</password>
+    <full-name>Puser 31</full-name>
+    <email>puser31 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000032</uid>
+    <guid>60000000-0000-0000-0000-000000000032</guid>
+    <short-name>puser32</short-name>
+    <password>puser32</password>
+    <full-name>Puser 32</full-name>
+    <email>puser32 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000033</uid>
+    <guid>60000000-0000-0000-0000-000000000033</guid>
+    <short-name>puser33</short-name>
+    <password>puser33</password>
+    <full-name>Puser 33</full-name>
+    <email>puser33 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000034</uid>
+    <guid>60000000-0000-0000-0000-000000000034</guid>
+    <short-name>puser34</short-name>
+    <password>puser34</password>
+    <full-name>Puser 34</full-name>
+    <email>puser34 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000035</uid>
+    <guid>60000000-0000-0000-0000-000000000035</guid>
+    <short-name>puser35</short-name>
+    <password>puser35</password>
+    <full-name>Puser 35</full-name>
+    <email>puser35 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000036</uid>
+    <guid>60000000-0000-0000-0000-000000000036</guid>
+    <short-name>puser36</short-name>
+    <password>puser36</password>
+    <full-name>Puser 36</full-name>
+    <email>puser36 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000037</uid>
+    <guid>60000000-0000-0000-0000-000000000037</guid>
+    <short-name>puser37</short-name>
+    <password>puser37</password>
+    <full-name>Puser 37</full-name>
+    <email>puser37 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000038</uid>
+    <guid>60000000-0000-0000-0000-000000000038</guid>
+    <short-name>puser38</short-name>
+    <password>puser38</password>
+    <full-name>Puser 38</full-name>
+    <email>puser38 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000039</uid>
+    <guid>60000000-0000-0000-0000-000000000039</guid>
+    <short-name>puser39</short-name>
+    <password>puser39</password>
+    <full-name>Puser 39</full-name>
+    <email>puser39 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000040</uid>
+    <guid>60000000-0000-0000-0000-000000000040</guid>
+    <short-name>puser40</short-name>
+    <password>puser40</password>
+    <full-name>Puser 40</full-name>
+    <email>puser40 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000041</uid>
+    <guid>60000000-0000-0000-0000-000000000041</guid>
+    <short-name>puser41</short-name>
+    <password>puser41</password>
+    <full-name>Puser 41</full-name>
+    <email>puser41 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000042</uid>
+    <guid>60000000-0000-0000-0000-000000000042</guid>
+    <short-name>puser42</short-name>
+    <password>puser42</password>
+    <full-name>Puser 42</full-name>
+    <email>puser42 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000043</uid>
+    <guid>60000000-0000-0000-0000-000000000043</guid>
+    <short-name>puser43</short-name>
+    <password>puser43</password>
+    <full-name>Puser 43</full-name>
+    <email>puser43 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000044</uid>
+    <guid>60000000-0000-0000-0000-000000000044</guid>
+    <short-name>puser44</short-name>
+    <password>puser44</password>
+    <full-name>Puser 44</full-name>
+    <email>puser44 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000045</uid>
+    <guid>60000000-0000-0000-0000-000000000045</guid>
+    <short-name>puser45</short-name>
+    <password>puser45</password>
+    <full-name>Puser 45</full-name>
+    <email>puser45 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000046</uid>
+    <guid>60000000-0000-0000-0000-000000000046</guid>
+    <short-name>puser46</short-name>
+    <password>puser46</password>
+    <full-name>Puser 46</full-name>
+    <email>puser46 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000047</uid>
+    <guid>60000000-0000-0000-0000-000000000047</guid>
+    <short-name>puser47</short-name>
+    <password>puser47</password>
+    <full-name>Puser 47</full-name>
+    <email>puser47 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000048</uid>
+    <guid>60000000-0000-0000-0000-000000000048</guid>
+    <short-name>puser48</short-name>
+    <password>puser48</password>
+    <full-name>Puser 48</full-name>
+    <email>puser48 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000049</uid>
+    <guid>60000000-0000-0000-0000-000000000049</guid>
+    <short-name>puser49</short-name>
+    <password>puser49</password>
+    <full-name>Puser 49</full-name>
+    <email>puser49 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000050</uid>
+    <guid>60000000-0000-0000-0000-000000000050</guid>
+    <short-name>puser50</short-name>
+    <password>puser50</password>
+    <full-name>Puser 50</full-name>
+    <email>puser50 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000051</uid>
+    <guid>60000000-0000-0000-0000-000000000051</guid>
+    <short-name>puser51</short-name>
+    <password>puser51</password>
+    <full-name>Puser 51</full-name>
+    <email>puser51 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000052</uid>
+    <guid>60000000-0000-0000-0000-000000000052</guid>
+    <short-name>puser52</short-name>
+    <password>puser52</password>
+    <full-name>Puser 52</full-name>
+    <email>puser52 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000053</uid>
+    <guid>60000000-0000-0000-0000-000000000053</guid>
+    <short-name>puser53</short-name>
+    <password>puser53</password>
+    <full-name>Puser 53</full-name>
+    <email>puser53 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000054</uid>
+    <guid>60000000-0000-0000-0000-000000000054</guid>
+    <short-name>puser54</short-name>
+    <password>puser54</password>
+    <full-name>Puser 54</full-name>
+    <email>puser54 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000055</uid>
+    <guid>60000000-0000-0000-0000-000000000055</guid>
+    <short-name>puser55</short-name>
+    <password>puser55</password>
+    <full-name>Puser 55</full-name>
+    <email>puser55 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000056</uid>
+    <guid>60000000-0000-0000-0000-000000000056</guid>
+    <short-name>puser56</short-name>
+    <password>puser56</password>
+    <full-name>Puser 56</full-name>
+    <email>puser56 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000057</uid>
+    <guid>60000000-0000-0000-0000-000000000057</guid>
+    <short-name>puser57</short-name>
+    <password>puser57</password>
+    <full-name>Puser 57</full-name>
+    <email>puser57 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000058</uid>
+    <guid>60000000-0000-0000-0000-000000000058</guid>
+    <short-name>puser58</short-name>
+    <password>puser58</password>
+    <full-name>Puser 58</full-name>
+    <email>puser58 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000059</uid>
+    <guid>60000000-0000-0000-0000-000000000059</guid>
+    <short-name>puser59</short-name>
+    <password>puser59</password>
+    <full-name>Puser 59</full-name>
+    <email>puser59 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000060</uid>
+    <guid>60000000-0000-0000-0000-000000000060</guid>
+    <short-name>puser60</short-name>
+    <password>puser60</password>
+    <full-name>Puser 60</full-name>
+    <email>puser60 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000061</uid>
+    <guid>60000000-0000-0000-0000-000000000061</guid>
+    <short-name>puser61</short-name>
+    <password>puser61</password>
+    <full-name>Puser 61</full-name>
+    <email>puser61 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000062</uid>
+    <guid>60000000-0000-0000-0000-000000000062</guid>
+    <short-name>puser62</short-name>
+    <password>puser62</password>
+    <full-name>Puser 62</full-name>
+    <email>puser62 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000063</uid>
+    <guid>60000000-0000-0000-0000-000000000063</guid>
+    <short-name>puser63</short-name>
+    <password>puser63</password>
+    <full-name>Puser 63</full-name>
+    <email>puser63 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000064</uid>
+    <guid>60000000-0000-0000-0000-000000000064</guid>
+    <short-name>puser64</short-name>
+    <password>puser64</password>
+    <full-name>Puser 64</full-name>
+    <email>puser64 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000065</uid>
+    <guid>60000000-0000-0000-0000-000000000065</guid>
+    <short-name>puser65</short-name>
+    <password>puser65</password>
+    <full-name>Puser 65</full-name>
+    <email>puser65 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000066</uid>
+    <guid>60000000-0000-0000-0000-000000000066</guid>
+    <short-name>puser66</short-name>
+    <password>puser66</password>
+    <full-name>Puser 66</full-name>
+    <email>puser66 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000067</uid>
+    <guid>60000000-0000-0000-0000-000000000067</guid>
+    <short-name>puser67</short-name>
+    <password>puser67</password>
+    <full-name>Puser 67</full-name>
+    <email>puser67 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000068</uid>
+    <guid>60000000-0000-0000-0000-000000000068</guid>
+    <short-name>puser68</short-name>
+    <password>puser68</password>
+    <full-name>Puser 68</full-name>
+    <email>puser68 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000069</uid>
+    <guid>60000000-0000-0000-0000-000000000069</guid>
+    <short-name>puser69</short-name>
+    <password>puser69</password>
+    <full-name>Puser 69</full-name>
+    <email>puser69 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000070</uid>
+    <guid>60000000-0000-0000-0000-000000000070</guid>
+    <short-name>puser70</short-name>
+    <password>puser70</password>
+    <full-name>Puser 70</full-name>
+    <email>puser70 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000071</uid>
+    <guid>60000000-0000-0000-0000-000000000071</guid>
+    <short-name>puser71</short-name>
+    <password>puser71</password>
+    <full-name>Puser 71</full-name>
+    <email>puser71 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000072</uid>
+    <guid>60000000-0000-0000-0000-000000000072</guid>
+    <short-name>puser72</short-name>
+    <password>puser72</password>
+    <full-name>Puser 72</full-name>
+    <email>puser72 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000073</uid>
+    <guid>60000000-0000-0000-0000-000000000073</guid>
+    <short-name>puser73</short-name>
+    <password>puser73</password>
+    <full-name>Puser 73</full-name>
+    <email>puser73 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000074</uid>
+    <guid>60000000-0000-0000-0000-000000000074</guid>
+    <short-name>puser74</short-name>
+    <password>puser74</password>
+    <full-name>Puser 74</full-name>
+    <email>puser74 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000075</uid>
+    <guid>60000000-0000-0000-0000-000000000075</guid>
+    <short-name>puser75</short-name>
+    <password>puser75</password>
+    <full-name>Puser 75</full-name>
+    <email>puser75 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000076</uid>
+    <guid>60000000-0000-0000-0000-000000000076</guid>
+    <short-name>puser76</short-name>
+    <password>puser76</password>
+    <full-name>Puser 76</full-name>
+    <email>puser76 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000077</uid>
+    <guid>60000000-0000-0000-0000-000000000077</guid>
+    <short-name>puser77</short-name>
+    <password>puser77</password>
+    <full-name>Puser 77</full-name>
+    <email>puser77 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000078</uid>
+    <guid>60000000-0000-0000-0000-000000000078</guid>
+    <short-name>puser78</short-name>
+    <password>puser78</password>
+    <full-name>Puser 78</full-name>
+    <email>puser78 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000079</uid>
+    <guid>60000000-0000-0000-0000-000000000079</guid>
+    <short-name>puser79</short-name>
+    <password>puser79</password>
+    <full-name>Puser 79</full-name>
+    <email>puser79 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000080</uid>
+    <guid>60000000-0000-0000-0000-000000000080</guid>
+    <short-name>puser80</short-name>
+    <password>puser80</password>
+    <full-name>Puser 80</full-name>
+    <email>puser80 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000081</uid>
+    <guid>60000000-0000-0000-0000-000000000081</guid>
+    <short-name>puser81</short-name>
+    <password>puser81</password>
+    <full-name>Puser 81</full-name>
+    <email>puser81 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000082</uid>
+    <guid>60000000-0000-0000-0000-000000000082</guid>
+    <short-name>puser82</short-name>
+    <password>puser82</password>
+    <full-name>Puser 82</full-name>
+    <email>puser82 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000083</uid>
+    <guid>60000000-0000-0000-0000-000000000083</guid>
+    <short-name>puser83</short-name>
+    <password>puser83</password>
+    <full-name>Puser 83</full-name>
+    <email>puser83 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000084</uid>
+    <guid>60000000-0000-0000-0000-000000000084</guid>
+    <short-name>puser84</short-name>
+    <password>puser84</password>
+    <full-name>Puser 84</full-name>
+    <email>puser84 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000085</uid>
+    <guid>60000000-0000-0000-0000-000000000085</guid>
+    <short-name>puser85</short-name>
+    <password>puser85</password>
+    <full-name>Puser 85</full-name>
+    <email>puser85 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000086</uid>
+    <guid>60000000-0000-0000-0000-000000000086</guid>
+    <short-name>puser86</short-name>
+    <password>puser86</password>
+    <full-name>Puser 86</full-name>
+    <email>puser86 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000087</uid>
+    <guid>60000000-0000-0000-0000-000000000087</guid>
+    <short-name>puser87</short-name>
+    <password>puser87</password>
+    <full-name>Puser 87</full-name>
+    <email>puser87 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000088</uid>
+    <guid>60000000-0000-0000-0000-000000000088</guid>
+    <short-name>puser88</short-name>
+    <password>puser88</password>
+    <full-name>Puser 88</full-name>
+    <email>puser88 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000089</uid>
+    <guid>60000000-0000-0000-0000-000000000089</guid>
+    <short-name>puser89</short-name>
+    <password>puser89</password>
+    <full-name>Puser 89</full-name>
+    <email>puser89 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000090</uid>
+    <guid>60000000-0000-0000-0000-000000000090</guid>
+    <short-name>puser90</short-name>
+    <password>puser90</password>
+    <full-name>Puser 90</full-name>
+    <email>puser90 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000091</uid>
+    <guid>60000000-0000-0000-0000-000000000091</guid>
+    <short-name>puser91</short-name>
+    <password>puser91</password>
+    <full-name>Puser 91</full-name>
+    <email>puser91 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000092</uid>
+    <guid>60000000-0000-0000-0000-000000000092</guid>
+    <short-name>puser92</short-name>
+    <password>puser92</password>
+    <full-name>Puser 92</full-name>
+    <email>puser92 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000093</uid>
+    <guid>60000000-0000-0000-0000-000000000093</guid>
+    <short-name>puser93</short-name>
+    <password>puser93</password>
+    <full-name>Puser 93</full-name>
+    <email>puser93 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000094</uid>
+    <guid>60000000-0000-0000-0000-000000000094</guid>
+    <short-name>puser94</short-name>
+    <password>puser94</password>
+    <full-name>Puser 94</full-name>
+    <email>puser94 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000095</uid>
+    <guid>60000000-0000-0000-0000-000000000095</guid>
+    <short-name>puser95</short-name>
+    <password>puser95</password>
+    <full-name>Puser 95</full-name>
+    <email>puser95 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000096</uid>
+    <guid>60000000-0000-0000-0000-000000000096</guid>
+    <short-name>puser96</short-name>
+    <password>puser96</password>
+    <full-name>Puser 96</full-name>
+    <email>puser96 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000097</uid>
+    <guid>60000000-0000-0000-0000-000000000097</guid>
+    <short-name>puser97</short-name>
+    <password>puser97</password>
+    <full-name>Puser 97</full-name>
+    <email>puser97 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000098</uid>
+    <guid>60000000-0000-0000-0000-000000000098</guid>
+    <short-name>puser98</short-name>
+    <password>puser98</password>
+    <full-name>Puser 98</full-name>
+    <email>puser98 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000099</uid>
+    <guid>60000000-0000-0000-0000-000000000099</guid>
+    <short-name>puser99</short-name>
+    <password>puser99</password>
+    <full-name>Puser 99</full-name>
+    <email>puser99 at example.com</email>
+</record>
+<record type="user">
+    <uid>60000000-0000-0000-0000-000000000100</uid>
+    <guid>60000000-0000-0000-0000-000000000100</guid>
+    <short-name>puser100</short-name>
+    <password>puser100</password>
+    <full-name>Puser 100</full-name>
+    <email>puser100 at example.com</email>
+</record>
+</directory>

Added: CalendarServer/trunk/conf/auth/accounts-test-s2s.xml
===================================================================
--- CalendarServer/trunk/conf/auth/accounts-test-s2s.xml	                        (rev 0)
+++ CalendarServer/trunk/conf/auth/accounts-test-s2s.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,830 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE accounts SYSTEM "accounts.dtd">
+
+<directory realm="Test Realm 2">
+<record>
+    <uid>82A5A2FA-F8FD-4761-B1CB-F1664C1F376A</uid>
+    <guid>82A5A2FA-F8FD-4761-B1CB-F1664C1F376A</guid>
+    <short-name>admin</short-name>
+    <password>admin</password>
+    <full-name>Super User</full-name>
+    <email>admin at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000001</uid>
+    <guid>70000000-0000-0000-0000-000000000001</guid>
+    <short-name>other01</short-name>
+    <password>other01</password>
+    <full-name>Other 01</full-name>
+    <email>other01 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000002</uid>
+    <guid>70000000-0000-0000-0000-000000000002</guid>
+    <short-name>other02</short-name>
+    <password>other02</password>
+    <full-name>Other 02</full-name>
+    <email>other02 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000003</uid>
+    <guid>70000000-0000-0000-0000-000000000003</guid>
+    <short-name>other03</short-name>
+    <password>other03</password>
+    <full-name>Other 03</full-name>
+    <email>other03 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000004</uid>
+    <guid>70000000-0000-0000-0000-000000000004</guid>
+    <short-name>other04</short-name>
+    <password>other04</password>
+    <full-name>Other 04</full-name>
+    <email>other04 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000005</uid>
+    <guid>70000000-0000-0000-0000-000000000005</guid>
+    <short-name>other05</short-name>
+    <password>other05</password>
+    <full-name>Other 05</full-name>
+    <email>other05 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000006</uid>
+    <guid>70000000-0000-0000-0000-000000000006</guid>
+    <short-name>other06</short-name>
+    <password>other06</password>
+    <full-name>Other 06</full-name>
+    <email>other06 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000007</uid>
+    <guid>70000000-0000-0000-0000-000000000007</guid>
+    <short-name>other07</short-name>
+    <password>other07</password>
+    <full-name>Other 07</full-name>
+    <email>other07 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000008</uid>
+    <guid>70000000-0000-0000-0000-000000000008</guid>
+    <short-name>other08</short-name>
+    <password>other08</password>
+    <full-name>Other 08</full-name>
+    <email>other08 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000009</uid>
+    <guid>70000000-0000-0000-0000-000000000009</guid>
+    <short-name>other09</short-name>
+    <password>other09</password>
+    <full-name>Other 09</full-name>
+    <email>other09 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000010</uid>
+    <guid>70000000-0000-0000-0000-000000000010</guid>
+    <short-name>other10</short-name>
+    <password>other10</password>
+    <full-name>Other 10</full-name>
+    <email>other10 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000011</uid>
+    <guid>70000000-0000-0000-0000-000000000011</guid>
+    <short-name>other11</short-name>
+    <password>other11</password>
+    <full-name>Other 11</full-name>
+    <email>other11 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000012</uid>
+    <guid>70000000-0000-0000-0000-000000000012</guid>
+    <short-name>other12</short-name>
+    <password>other12</password>
+    <full-name>Other 12</full-name>
+    <email>other12 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000013</uid>
+    <guid>70000000-0000-0000-0000-000000000013</guid>
+    <short-name>other13</short-name>
+    <password>other13</password>
+    <full-name>Other 13</full-name>
+    <email>other13 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000014</uid>
+    <guid>70000000-0000-0000-0000-000000000014</guid>
+    <short-name>other14</short-name>
+    <password>other14</password>
+    <full-name>Other 14</full-name>
+    <email>other14 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000015</uid>
+    <guid>70000000-0000-0000-0000-000000000015</guid>
+    <short-name>other15</short-name>
+    <password>other15</password>
+    <full-name>Other 15</full-name>
+    <email>other15 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000016</uid>
+    <guid>70000000-0000-0000-0000-000000000016</guid>
+    <short-name>other16</short-name>
+    <password>other16</password>
+    <full-name>Other 16</full-name>
+    <email>other16 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000017</uid>
+    <guid>70000000-0000-0000-0000-000000000017</guid>
+    <short-name>other17</short-name>
+    <password>other17</password>
+    <full-name>Other 17</full-name>
+    <email>other17 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000018</uid>
+    <guid>70000000-0000-0000-0000-000000000018</guid>
+    <short-name>other18</short-name>
+    <password>other18</password>
+    <full-name>Other 18</full-name>
+    <email>other18 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000019</uid>
+    <guid>70000000-0000-0000-0000-000000000019</guid>
+    <short-name>other19</short-name>
+    <password>other19</password>
+    <full-name>Other 19</full-name>
+    <email>other19 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000020</uid>
+    <guid>70000000-0000-0000-0000-000000000020</guid>
+    <short-name>other20</short-name>
+    <password>other20</password>
+    <full-name>Other 20</full-name>
+    <email>other20 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000021</uid>
+    <guid>70000000-0000-0000-0000-000000000021</guid>
+    <short-name>other21</short-name>
+    <password>other21</password>
+    <full-name>Other 21</full-name>
+    <email>other21 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000022</uid>
+    <guid>70000000-0000-0000-0000-000000000022</guid>
+    <short-name>other22</short-name>
+    <password>other22</password>
+    <full-name>Other 22</full-name>
+    <email>other22 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000023</uid>
+    <guid>70000000-0000-0000-0000-000000000023</guid>
+    <short-name>other23</short-name>
+    <password>other23</password>
+    <full-name>Other 23</full-name>
+    <email>other23 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000024</uid>
+    <guid>70000000-0000-0000-0000-000000000024</guid>
+    <short-name>other24</short-name>
+    <password>other24</password>
+    <full-name>Other 24</full-name>
+    <email>other24 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000025</uid>
+    <guid>70000000-0000-0000-0000-000000000025</guid>
+    <short-name>other25</short-name>
+    <password>other25</password>
+    <full-name>Other 25</full-name>
+    <email>other25 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000026</uid>
+    <guid>70000000-0000-0000-0000-000000000026</guid>
+    <short-name>other26</short-name>
+    <password>other26</password>
+    <full-name>Other 26</full-name>
+    <email>other26 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000027</uid>
+    <guid>70000000-0000-0000-0000-000000000027</guid>
+    <short-name>other27</short-name>
+    <password>other27</password>
+    <full-name>Other 27</full-name>
+    <email>other27 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000028</uid>
+    <guid>70000000-0000-0000-0000-000000000028</guid>
+    <short-name>other28</short-name>
+    <password>other28</password>
+    <full-name>Other 28</full-name>
+    <email>other28 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000029</uid>
+    <guid>70000000-0000-0000-0000-000000000029</guid>
+    <short-name>other29</short-name>
+    <password>other29</password>
+    <full-name>Other 29</full-name>
+    <email>other29 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000030</uid>
+    <guid>70000000-0000-0000-0000-000000000030</guid>
+    <short-name>other30</short-name>
+    <password>other30</password>
+    <full-name>Other 30</full-name>
+    <email>other30 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000031</uid>
+    <guid>70000000-0000-0000-0000-000000000031</guid>
+    <short-name>other31</short-name>
+    <password>other31</password>
+    <full-name>Other 31</full-name>
+    <email>other31 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000032</uid>
+    <guid>70000000-0000-0000-0000-000000000032</guid>
+    <short-name>other32</short-name>
+    <password>other32</password>
+    <full-name>Other 32</full-name>
+    <email>other32 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000033</uid>
+    <guid>70000000-0000-0000-0000-000000000033</guid>
+    <short-name>other33</short-name>
+    <password>other33</password>
+    <full-name>Other 33</full-name>
+    <email>other33 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000034</uid>
+    <guid>70000000-0000-0000-0000-000000000034</guid>
+    <short-name>other34</short-name>
+    <password>other34</password>
+    <full-name>Other 34</full-name>
+    <email>other34 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000035</uid>
+    <guid>70000000-0000-0000-0000-000000000035</guid>
+    <short-name>other35</short-name>
+    <password>other35</password>
+    <full-name>Other 35</full-name>
+    <email>other35 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000036</uid>
+    <guid>70000000-0000-0000-0000-000000000036</guid>
+    <short-name>other36</short-name>
+    <password>other36</password>
+    <full-name>Other 36</full-name>
+    <email>other36 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000037</uid>
+    <guid>70000000-0000-0000-0000-000000000037</guid>
+    <short-name>other37</short-name>
+    <password>other37</password>
+    <full-name>Other 37</full-name>
+    <email>other37 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000038</uid>
+    <guid>70000000-0000-0000-0000-000000000038</guid>
+    <short-name>other38</short-name>
+    <password>other38</password>
+    <full-name>Other 38</full-name>
+    <email>other38 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000039</uid>
+    <guid>70000000-0000-0000-0000-000000000039</guid>
+    <short-name>other39</short-name>
+    <password>other39</password>
+    <full-name>Other 39</full-name>
+    <email>other39 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000040</uid>
+    <guid>70000000-0000-0000-0000-000000000040</guid>
+    <short-name>other40</short-name>
+    <password>other40</password>
+    <full-name>Other 40</full-name>
+    <email>other40 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000041</uid>
+    <guid>70000000-0000-0000-0000-000000000041</guid>
+    <short-name>other41</short-name>
+    <password>other41</password>
+    <full-name>Other 41</full-name>
+    <email>other41 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000042</uid>
+    <guid>70000000-0000-0000-0000-000000000042</guid>
+    <short-name>other42</short-name>
+    <password>other42</password>
+    <full-name>Other 42</full-name>
+    <email>other42 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000043</uid>
+    <guid>70000000-0000-0000-0000-000000000043</guid>
+    <short-name>other43</short-name>
+    <password>other43</password>
+    <full-name>Other 43</full-name>
+    <email>other43 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000044</uid>
+    <guid>70000000-0000-0000-0000-000000000044</guid>
+    <short-name>other44</short-name>
+    <password>other44</password>
+    <full-name>Other 44</full-name>
+    <email>other44 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000045</uid>
+    <guid>70000000-0000-0000-0000-000000000045</guid>
+    <short-name>other45</short-name>
+    <password>other45</password>
+    <full-name>Other 45</full-name>
+    <email>other45 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000046</uid>
+    <guid>70000000-0000-0000-0000-000000000046</guid>
+    <short-name>other46</short-name>
+    <password>other46</password>
+    <full-name>Other 46</full-name>
+    <email>other46 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000047</uid>
+    <guid>70000000-0000-0000-0000-000000000047</guid>
+    <short-name>other47</short-name>
+    <password>other47</password>
+    <full-name>Other 47</full-name>
+    <email>other47 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000048</uid>
+    <guid>70000000-0000-0000-0000-000000000048</guid>
+    <short-name>other48</short-name>
+    <password>other48</password>
+    <full-name>Other 48</full-name>
+    <email>other48 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000049</uid>
+    <guid>70000000-0000-0000-0000-000000000049</guid>
+    <short-name>other49</short-name>
+    <password>other49</password>
+    <full-name>Other 49</full-name>
+    <email>other49 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000050</uid>
+    <guid>70000000-0000-0000-0000-000000000050</guid>
+    <short-name>other50</short-name>
+    <password>other50</password>
+    <full-name>Other 50</full-name>
+    <email>other50 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000051</uid>
+    <guid>70000000-0000-0000-0000-000000000051</guid>
+    <short-name>other51</short-name>
+    <password>other51</password>
+    <full-name>Other 51</full-name>
+    <email>other51 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000052</uid>
+    <guid>70000000-0000-0000-0000-000000000052</guid>
+    <short-name>other52</short-name>
+    <password>other52</password>
+    <full-name>Other 52</full-name>
+    <email>other52 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000053</uid>
+    <guid>70000000-0000-0000-0000-000000000053</guid>
+    <short-name>other53</short-name>
+    <password>other53</password>
+    <full-name>Other 53</full-name>
+    <email>other53 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000054</uid>
+    <guid>70000000-0000-0000-0000-000000000054</guid>
+    <short-name>other54</short-name>
+    <password>other54</password>
+    <full-name>Other 54</full-name>
+    <email>other54 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000055</uid>
+    <guid>70000000-0000-0000-0000-000000000055</guid>
+    <short-name>other55</short-name>
+    <password>other55</password>
+    <full-name>Other 55</full-name>
+    <email>other55 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000056</uid>
+    <guid>70000000-0000-0000-0000-000000000056</guid>
+    <short-name>other56</short-name>
+    <password>other56</password>
+    <full-name>Other 56</full-name>
+    <email>other56 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000057</uid>
+    <guid>70000000-0000-0000-0000-000000000057</guid>
+    <short-name>other57</short-name>
+    <password>other57</password>
+    <full-name>Other 57</full-name>
+    <email>other57 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000058</uid>
+    <guid>70000000-0000-0000-0000-000000000058</guid>
+    <short-name>other58</short-name>
+    <password>other58</password>
+    <full-name>Other 58</full-name>
+    <email>other58 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000059</uid>
+    <guid>70000000-0000-0000-0000-000000000059</guid>
+    <short-name>other59</short-name>
+    <password>other59</password>
+    <full-name>Other 59</full-name>
+    <email>other59 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000060</uid>
+    <guid>70000000-0000-0000-0000-000000000060</guid>
+    <short-name>other60</short-name>
+    <password>other60</password>
+    <full-name>Other 60</full-name>
+    <email>other60 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000061</uid>
+    <guid>70000000-0000-0000-0000-000000000061</guid>
+    <short-name>other61</short-name>
+    <password>other61</password>
+    <full-name>Other 61</full-name>
+    <email>other61 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000062</uid>
+    <guid>70000000-0000-0000-0000-000000000062</guid>
+    <short-name>other62</short-name>
+    <password>other62</password>
+    <full-name>Other 62</full-name>
+    <email>other62 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000063</uid>
+    <guid>70000000-0000-0000-0000-000000000063</guid>
+    <short-name>other63</short-name>
+    <password>other63</password>
+    <full-name>Other 63</full-name>
+    <email>other63 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000064</uid>
+    <guid>70000000-0000-0000-0000-000000000064</guid>
+    <short-name>other64</short-name>
+    <password>other64</password>
+    <full-name>Other 64</full-name>
+    <email>other64 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000065</uid>
+    <guid>70000000-0000-0000-0000-000000000065</guid>
+    <short-name>other65</short-name>
+    <password>other65</password>
+    <full-name>Other 65</full-name>
+    <email>other65 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000066</uid>
+    <guid>70000000-0000-0000-0000-000000000066</guid>
+    <short-name>other66</short-name>
+    <password>other66</password>
+    <full-name>Other 66</full-name>
+    <email>other66 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000067</uid>
+    <guid>70000000-0000-0000-0000-000000000067</guid>
+    <short-name>other67</short-name>
+    <password>other67</password>
+    <full-name>Other 67</full-name>
+    <email>other67 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000068</uid>
+    <guid>70000000-0000-0000-0000-000000000068</guid>
+    <short-name>other68</short-name>
+    <password>other68</password>
+    <full-name>Other 68</full-name>
+    <email>other68 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000069</uid>
+    <guid>70000000-0000-0000-0000-000000000069</guid>
+    <short-name>other69</short-name>
+    <password>other69</password>
+    <full-name>Other 69</full-name>
+    <email>other69 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000070</uid>
+    <guid>70000000-0000-0000-0000-000000000070</guid>
+    <short-name>other70</short-name>
+    <password>other70</password>
+    <full-name>Other 70</full-name>
+    <email>other70 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000071</uid>
+    <guid>70000000-0000-0000-0000-000000000071</guid>
+    <short-name>other71</short-name>
+    <password>other71</password>
+    <full-name>Other 71</full-name>
+    <email>other71 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000072</uid>
+    <guid>70000000-0000-0000-0000-000000000072</guid>
+    <short-name>other72</short-name>
+    <password>other72</password>
+    <full-name>Other 72</full-name>
+    <email>other72 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000073</uid>
+    <guid>70000000-0000-0000-0000-000000000073</guid>
+    <short-name>other73</short-name>
+    <password>other73</password>
+    <full-name>Other 73</full-name>
+    <email>other73 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000074</uid>
+    <guid>70000000-0000-0000-0000-000000000074</guid>
+    <short-name>other74</short-name>
+    <password>other74</password>
+    <full-name>Other 74</full-name>
+    <email>other74 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000075</uid>
+    <guid>70000000-0000-0000-0000-000000000075</guid>
+    <short-name>other75</short-name>
+    <password>other75</password>
+    <full-name>Other 75</full-name>
+    <email>other75 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000076</uid>
+    <guid>70000000-0000-0000-0000-000000000076</guid>
+    <short-name>other76</short-name>
+    <password>other76</password>
+    <full-name>Other 76</full-name>
+    <email>other76 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000077</uid>
+    <guid>70000000-0000-0000-0000-000000000077</guid>
+    <short-name>other77</short-name>
+    <password>other77</password>
+    <full-name>Other 77</full-name>
+    <email>other77 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000078</uid>
+    <guid>70000000-0000-0000-0000-000000000078</guid>
+    <short-name>other78</short-name>
+    <password>other78</password>
+    <full-name>Other 78</full-name>
+    <email>other78 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000079</uid>
+    <guid>70000000-0000-0000-0000-000000000079</guid>
+    <short-name>other79</short-name>
+    <password>other79</password>
+    <full-name>Other 79</full-name>
+    <email>other79 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000080</uid>
+    <guid>70000000-0000-0000-0000-000000000080</guid>
+    <short-name>other80</short-name>
+    <password>other80</password>
+    <full-name>Other 80</full-name>
+    <email>other80 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000081</uid>
+    <guid>70000000-0000-0000-0000-000000000081</guid>
+    <short-name>other81</short-name>
+    <password>other81</password>
+    <full-name>Other 81</full-name>
+    <email>other81 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000082</uid>
+    <guid>70000000-0000-0000-0000-000000000082</guid>
+    <short-name>other82</short-name>
+    <password>other82</password>
+    <full-name>Other 82</full-name>
+    <email>other82 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000083</uid>
+    <guid>70000000-0000-0000-0000-000000000083</guid>
+    <short-name>other83</short-name>
+    <password>other83</password>
+    <full-name>Other 83</full-name>
+    <email>other83 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000084</uid>
+    <guid>70000000-0000-0000-0000-000000000084</guid>
+    <short-name>other84</short-name>
+    <password>other84</password>
+    <full-name>Other 84</full-name>
+    <email>other84 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000085</uid>
+    <guid>70000000-0000-0000-0000-000000000085</guid>
+    <short-name>other85</short-name>
+    <password>other85</password>
+    <full-name>Other 85</full-name>
+    <email>other85 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000086</uid>
+    <guid>70000000-0000-0000-0000-000000000086</guid>
+    <short-name>other86</short-name>
+    <password>other86</password>
+    <full-name>Other 86</full-name>
+    <email>other86 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000087</uid>
+    <guid>70000000-0000-0000-0000-000000000087</guid>
+    <short-name>other87</short-name>
+    <password>other87</password>
+    <full-name>Other 87</full-name>
+    <email>other87 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000088</uid>
+    <guid>70000000-0000-0000-0000-000000000088</guid>
+    <short-name>other88</short-name>
+    <password>other88</password>
+    <full-name>Other 88</full-name>
+    <email>other88 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000089</uid>
+    <guid>70000000-0000-0000-0000-000000000089</guid>
+    <short-name>other89</short-name>
+    <password>other89</password>
+    <full-name>Other 89</full-name>
+    <email>other89 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000090</uid>
+    <guid>70000000-0000-0000-0000-000000000090</guid>
+    <short-name>other90</short-name>
+    <password>other90</password>
+    <full-name>Other 90</full-name>
+    <email>other90 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000091</uid>
+    <guid>70000000-0000-0000-0000-000000000091</guid>
+    <short-name>other91</short-name>
+    <password>other91</password>
+    <full-name>Other 91</full-name>
+    <email>other91 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000092</uid>
+    <guid>70000000-0000-0000-0000-000000000092</guid>
+    <short-name>other92</short-name>
+    <password>other92</password>
+    <full-name>Other 92</full-name>
+    <email>other92 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000093</uid>
+    <guid>70000000-0000-0000-0000-000000000093</guid>
+    <short-name>other93</short-name>
+    <password>other93</password>
+    <full-name>Other 93</full-name>
+    <email>other93 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000094</uid>
+    <guid>70000000-0000-0000-0000-000000000094</guid>
+    <short-name>other94</short-name>
+    <password>other94</password>
+    <full-name>Other 94</full-name>
+    <email>other94 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000095</uid>
+    <guid>70000000-0000-0000-0000-000000000095</guid>
+    <short-name>other95</short-name>
+    <password>other95</password>
+    <full-name>Other 95</full-name>
+    <email>other95 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000096</uid>
+    <guid>70000000-0000-0000-0000-000000000096</guid>
+    <short-name>other96</short-name>
+    <password>other96</password>
+    <full-name>Other 96</full-name>
+    <email>other96 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000097</uid>
+    <guid>70000000-0000-0000-0000-000000000097</guid>
+    <short-name>other97</short-name>
+    <password>other97</password>
+    <full-name>Other 97</full-name>
+    <email>other97 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000098</uid>
+    <guid>70000000-0000-0000-0000-000000000098</guid>
+    <short-name>other98</short-name>
+    <password>other98</password>
+    <full-name>Other 98</full-name>
+    <email>other98 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000099</uid>
+    <guid>70000000-0000-0000-0000-000000000099</guid>
+    <short-name>other99</short-name>
+    <password>other99</password>
+    <full-name>Other 99</full-name>
+    <email>other99 at example.org</email>
+</record>
+<record type="user">
+    <uid>70000000-0000-0000-0000-000000000100</uid>
+    <guid>70000000-0000-0000-0000-000000000100</guid>
+    <short-name>other100</short-name>
+    <password>other100</password>
+    <full-name>Other 100</full-name>
+    <email>other100 at example.org</email>
+</record>
+</directory>


Property changes on: CalendarServer/trunk/conf/auth/accounts-test-s2s.xml
___________________________________________________________________
Added: svn:executable
   + *

Modified: CalendarServer/trunk/conf/auth/accounts-test.xml
===================================================================
--- CalendarServer/trunk/conf/auth/accounts-test.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/accounts-test.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -16,6 +16,8 @@
 limitations under the License.
  -->
 
+<!DOCTYPE accounts SYSTEM "accounts.dtd">
+
 <directory realm="Test Realm">
 <record>
     <uid>0C8BDE62-E600-4696-83D3-8B5ECABDFD2E</uid>
@@ -42,915 +44,915 @@
     <email>i18nuser at example.com</email>
 </record>
 <record type="user">
-    <short-name>user01</short-name>
     <uid>10000000-0000-0000-0000-000000000001</uid>
     <guid>10000000-0000-0000-0000-000000000001</guid>
+    <short-name>user01</short-name>
     <password>user01</password>
     <full-name>User 01</full-name>
     <email>user01 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user02</short-name>
     <uid>10000000-0000-0000-0000-000000000002</uid>
     <guid>10000000-0000-0000-0000-000000000002</guid>
+    <short-name>user02</short-name>
     <password>user02</password>
     <full-name>User 02</full-name>
     <email>user02 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user03</short-name>
     <uid>10000000-0000-0000-0000-000000000003</uid>
     <guid>10000000-0000-0000-0000-000000000003</guid>
+    <short-name>user03</short-name>
     <password>user03</password>
     <full-name>User 03</full-name>
     <email>user03 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user04</short-name>
     <uid>10000000-0000-0000-0000-000000000004</uid>
     <guid>10000000-0000-0000-0000-000000000004</guid>
+    <short-name>user04</short-name>
     <password>user04</password>
     <full-name>User 04</full-name>
     <email>user04 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user05</short-name>
     <uid>10000000-0000-0000-0000-000000000005</uid>
     <guid>10000000-0000-0000-0000-000000000005</guid>
+    <short-name>user05</short-name>
     <password>user05</password>
     <full-name>User 05</full-name>
     <email>user05 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user06</short-name>
     <uid>10000000-0000-0000-0000-000000000006</uid>
     <guid>10000000-0000-0000-0000-000000000006</guid>
+    <short-name>user06</short-name>
     <password>user06</password>
     <full-name>User 06</full-name>
     <email>user06 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user07</short-name>
     <uid>10000000-0000-0000-0000-000000000007</uid>
     <guid>10000000-0000-0000-0000-000000000007</guid>
+    <short-name>user07</short-name>
     <password>user07</password>
     <full-name>User 07</full-name>
     <email>user07 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user08</short-name>
     <uid>10000000-0000-0000-0000-000000000008</uid>
     <guid>10000000-0000-0000-0000-000000000008</guid>
+    <short-name>user08</short-name>
     <password>user08</password>
     <full-name>User 08</full-name>
     <email>user08 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user09</short-name>
     <uid>10000000-0000-0000-0000-000000000009</uid>
     <guid>10000000-0000-0000-0000-000000000009</guid>
+    <short-name>user09</short-name>
     <password>user09</password>
     <full-name>User 09</full-name>
     <email>user09 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user10</short-name>
     <uid>10000000-0000-0000-0000-000000000010</uid>
     <guid>10000000-0000-0000-0000-000000000010</guid>
+    <short-name>user10</short-name>
     <password>user10</password>
     <full-name>User 10</full-name>
     <email>user10 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user11</short-name>
     <uid>10000000-0000-0000-0000-000000000011</uid>
     <guid>10000000-0000-0000-0000-000000000011</guid>
+    <short-name>user11</short-name>
     <password>user11</password>
     <full-name>User 11</full-name>
     <email>user11 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user12</short-name>
     <uid>10000000-0000-0000-0000-000000000012</uid>
     <guid>10000000-0000-0000-0000-000000000012</guid>
+    <short-name>user12</short-name>
     <password>user12</password>
     <full-name>User 12</full-name>
     <email>user12 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user13</short-name>
     <uid>10000000-0000-0000-0000-000000000013</uid>
     <guid>10000000-0000-0000-0000-000000000013</guid>
+    <short-name>user13</short-name>
     <password>user13</password>
     <full-name>User 13</full-name>
     <email>user13 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user14</short-name>
     <uid>10000000-0000-0000-0000-000000000014</uid>
     <guid>10000000-0000-0000-0000-000000000014</guid>
+    <short-name>user14</short-name>
     <password>user14</password>
     <full-name>User 14</full-name>
     <email>user14 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user15</short-name>
     <uid>10000000-0000-0000-0000-000000000015</uid>
     <guid>10000000-0000-0000-0000-000000000015</guid>
+    <short-name>user15</short-name>
     <password>user15</password>
     <full-name>User 15</full-name>
     <email>user15 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user16</short-name>
     <uid>10000000-0000-0000-0000-000000000016</uid>
     <guid>10000000-0000-0000-0000-000000000016</guid>
+    <short-name>user16</short-name>
     <password>user16</password>
     <full-name>User 16</full-name>
     <email>user16 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user17</short-name>
     <uid>10000000-0000-0000-0000-000000000017</uid>
     <guid>10000000-0000-0000-0000-000000000017</guid>
+    <short-name>user17</short-name>
     <password>user17</password>
     <full-name>User 17</full-name>
     <email>user17 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user18</short-name>
     <uid>10000000-0000-0000-0000-000000000018</uid>
     <guid>10000000-0000-0000-0000-000000000018</guid>
+    <short-name>user18</short-name>
     <password>user18</password>
     <full-name>User 18</full-name>
     <email>user18 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user19</short-name>
     <uid>10000000-0000-0000-0000-000000000019</uid>
     <guid>10000000-0000-0000-0000-000000000019</guid>
+    <short-name>user19</short-name>
     <password>user19</password>
     <full-name>User 19</full-name>
     <email>user19 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user20</short-name>
     <uid>10000000-0000-0000-0000-000000000020</uid>
     <guid>10000000-0000-0000-0000-000000000020</guid>
+    <short-name>user20</short-name>
     <password>user20</password>
     <full-name>User 20</full-name>
     <email>user20 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user21</short-name>
     <uid>10000000-0000-0000-0000-000000000021</uid>
     <guid>10000000-0000-0000-0000-000000000021</guid>
+    <short-name>user21</short-name>
     <password>user21</password>
     <full-name>User 21</full-name>
     <email>user21 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user22</short-name>
     <uid>10000000-0000-0000-0000-000000000022</uid>
     <guid>10000000-0000-0000-0000-000000000022</guid>
+    <short-name>user22</short-name>
     <password>user22</password>
     <full-name>User 22</full-name>
     <email>user22 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user23</short-name>
     <uid>10000000-0000-0000-0000-000000000023</uid>
     <guid>10000000-0000-0000-0000-000000000023</guid>
+    <short-name>user23</short-name>
     <password>user23</password>
     <full-name>User 23</full-name>
     <email>user23 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user24</short-name>
     <uid>10000000-0000-0000-0000-000000000024</uid>
     <guid>10000000-0000-0000-0000-000000000024</guid>
+    <short-name>user24</short-name>
     <password>user24</password>
     <full-name>User 24</full-name>
     <email>user24 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user25</short-name>
     <uid>10000000-0000-0000-0000-000000000025</uid>
     <guid>10000000-0000-0000-0000-000000000025</guid>
+    <short-name>user25</short-name>
     <password>user25</password>
     <full-name>User 25</full-name>
     <email>user25 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user26</short-name>
     <uid>10000000-0000-0000-0000-000000000026</uid>
     <guid>10000000-0000-0000-0000-000000000026</guid>
+    <short-name>user26</short-name>
     <password>user26</password>
     <full-name>User 26</full-name>
     <email>user26 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user27</short-name>
     <uid>10000000-0000-0000-0000-000000000027</uid>
     <guid>10000000-0000-0000-0000-000000000027</guid>
+    <short-name>user27</short-name>
     <password>user27</password>
     <full-name>User 27</full-name>
     <email>user27 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user28</short-name>
     <uid>10000000-0000-0000-0000-000000000028</uid>
     <guid>10000000-0000-0000-0000-000000000028</guid>
+    <short-name>user28</short-name>
     <password>user28</password>
     <full-name>User 28</full-name>
     <email>user28 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user29</short-name>
     <uid>10000000-0000-0000-0000-000000000029</uid>
     <guid>10000000-0000-0000-0000-000000000029</guid>
+    <short-name>user29</short-name>
     <password>user29</password>
     <full-name>User 29</full-name>
     <email>user29 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user30</short-name>
     <uid>10000000-0000-0000-0000-000000000030</uid>
     <guid>10000000-0000-0000-0000-000000000030</guid>
+    <short-name>user30</short-name>
     <password>user30</password>
     <full-name>User 30</full-name>
     <email>user30 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user31</short-name>
     <uid>10000000-0000-0000-0000-000000000031</uid>
     <guid>10000000-0000-0000-0000-000000000031</guid>
+    <short-name>user31</short-name>
     <password>user31</password>
     <full-name>User 31</full-name>
     <email>user31 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user32</short-name>
     <uid>10000000-0000-0000-0000-000000000032</uid>
     <guid>10000000-0000-0000-0000-000000000032</guid>
+    <short-name>user32</short-name>
     <password>user32</password>
     <full-name>User 32</full-name>
     <email>user32 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user33</short-name>
     <uid>10000000-0000-0000-0000-000000000033</uid>
     <guid>10000000-0000-0000-0000-000000000033</guid>
+    <short-name>user33</short-name>
     <password>user33</password>
     <full-name>User 33</full-name>
     <email>user33 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user34</short-name>
     <uid>10000000-0000-0000-0000-000000000034</uid>
     <guid>10000000-0000-0000-0000-000000000034</guid>
+    <short-name>user34</short-name>
     <password>user34</password>
     <full-name>User 34</full-name>
     <email>user34 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user35</short-name>
     <uid>10000000-0000-0000-0000-000000000035</uid>
     <guid>10000000-0000-0000-0000-000000000035</guid>
+    <short-name>user35</short-name>
     <password>user35</password>
     <full-name>User 35</full-name>
     <email>user35 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user36</short-name>
     <uid>10000000-0000-0000-0000-000000000036</uid>
     <guid>10000000-0000-0000-0000-000000000036</guid>
+    <short-name>user36</short-name>
     <password>user36</password>
     <full-name>User 36</full-name>
     <email>user36 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user37</short-name>
     <uid>10000000-0000-0000-0000-000000000037</uid>
     <guid>10000000-0000-0000-0000-000000000037</guid>
+    <short-name>user37</short-name>
     <password>user37</password>
     <full-name>User 37</full-name>
     <email>user37 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user38</short-name>
     <uid>10000000-0000-0000-0000-000000000038</uid>
     <guid>10000000-0000-0000-0000-000000000038</guid>
+    <short-name>user38</short-name>
     <password>user38</password>
     <full-name>User 38</full-name>
     <email>user38 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user39</short-name>
     <uid>10000000-0000-0000-0000-000000000039</uid>
     <guid>10000000-0000-0000-0000-000000000039</guid>
+    <short-name>user39</short-name>
     <password>user39</password>
     <full-name>User 39</full-name>
     <email>user39 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user40</short-name>
     <uid>10000000-0000-0000-0000-000000000040</uid>
     <guid>10000000-0000-0000-0000-000000000040</guid>
+    <short-name>user40</short-name>
     <password>user40</password>
     <full-name>User 40</full-name>
     <email>user40 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user41</short-name>
     <uid>10000000-0000-0000-0000-000000000041</uid>
     <guid>10000000-0000-0000-0000-000000000041</guid>
+    <short-name>user41</short-name>
     <password>user41</password>
     <full-name>User 41</full-name>
     <email>user41 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user42</short-name>
     <uid>10000000-0000-0000-0000-000000000042</uid>
     <guid>10000000-0000-0000-0000-000000000042</guid>
+    <short-name>user42</short-name>
     <password>user42</password>
     <full-name>User 42</full-name>
     <email>user42 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user43</short-name>
     <uid>10000000-0000-0000-0000-000000000043</uid>
     <guid>10000000-0000-0000-0000-000000000043</guid>
+    <short-name>user43</short-name>
     <password>user43</password>
     <full-name>User 43</full-name>
     <email>user43 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user44</short-name>
     <uid>10000000-0000-0000-0000-000000000044</uid>
     <guid>10000000-0000-0000-0000-000000000044</guid>
+    <short-name>user44</short-name>
     <password>user44</password>
     <full-name>User 44</full-name>
     <email>user44 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user45</short-name>
     <uid>10000000-0000-0000-0000-000000000045</uid>
     <guid>10000000-0000-0000-0000-000000000045</guid>
+    <short-name>user45</short-name>
     <password>user45</password>
     <full-name>User 45</full-name>
     <email>user45 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user46</short-name>
     <uid>10000000-0000-0000-0000-000000000046</uid>
     <guid>10000000-0000-0000-0000-000000000046</guid>
+    <short-name>user46</short-name>
     <password>user46</password>
     <full-name>User 46</full-name>
     <email>user46 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user47</short-name>
     <uid>10000000-0000-0000-0000-000000000047</uid>
     <guid>10000000-0000-0000-0000-000000000047</guid>
+    <short-name>user47</short-name>
     <password>user47</password>
     <full-name>User 47</full-name>
     <email>user47 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user48</short-name>
     <uid>10000000-0000-0000-0000-000000000048</uid>
     <guid>10000000-0000-0000-0000-000000000048</guid>
+    <short-name>user48</short-name>
     <password>user48</password>
     <full-name>User 48</full-name>
     <email>user48 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user49</short-name>
     <uid>10000000-0000-0000-0000-000000000049</uid>
     <guid>10000000-0000-0000-0000-000000000049</guid>
+    <short-name>user49</short-name>
     <password>user49</password>
     <full-name>User 49</full-name>
     <email>user49 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user50</short-name>
     <uid>10000000-0000-0000-0000-000000000050</uid>
     <guid>10000000-0000-0000-0000-000000000050</guid>
+    <short-name>user50</short-name>
     <password>user50</password>
     <full-name>User 50</full-name>
     <email>user50 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user51</short-name>
     <uid>10000000-0000-0000-0000-000000000051</uid>
     <guid>10000000-0000-0000-0000-000000000051</guid>
+    <short-name>user51</short-name>
     <password>user51</password>
     <full-name>User 51</full-name>
     <email>user51 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user52</short-name>
     <uid>10000000-0000-0000-0000-000000000052</uid>
     <guid>10000000-0000-0000-0000-000000000052</guid>
+    <short-name>user52</short-name>
     <password>user52</password>
     <full-name>User 52</full-name>
     <email>user52 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user53</short-name>
     <uid>10000000-0000-0000-0000-000000000053</uid>
     <guid>10000000-0000-0000-0000-000000000053</guid>
+    <short-name>user53</short-name>
     <password>user53</password>
     <full-name>User 53</full-name>
     <email>user53 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user54</short-name>
     <uid>10000000-0000-0000-0000-000000000054</uid>
     <guid>10000000-0000-0000-0000-000000000054</guid>
+    <short-name>user54</short-name>
     <password>user54</password>
     <full-name>User 54</full-name>
     <email>user54 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user55</short-name>
     <uid>10000000-0000-0000-0000-000000000055</uid>
     <guid>10000000-0000-0000-0000-000000000055</guid>
+    <short-name>user55</short-name>
     <password>user55</password>
     <full-name>User 55</full-name>
     <email>user55 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user56</short-name>
     <uid>10000000-0000-0000-0000-000000000056</uid>
     <guid>10000000-0000-0000-0000-000000000056</guid>
+    <short-name>user56</short-name>
     <password>user56</password>
     <full-name>User 56</full-name>
     <email>user56 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user57</short-name>
     <uid>10000000-0000-0000-0000-000000000057</uid>
     <guid>10000000-0000-0000-0000-000000000057</guid>
+    <short-name>user57</short-name>
     <password>user57</password>
     <full-name>User 57</full-name>
     <email>user57 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user58</short-name>
     <uid>10000000-0000-0000-0000-000000000058</uid>
     <guid>10000000-0000-0000-0000-000000000058</guid>
+    <short-name>user58</short-name>
     <password>user58</password>
     <full-name>User 58</full-name>
     <email>user58 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user59</short-name>
     <uid>10000000-0000-0000-0000-000000000059</uid>
     <guid>10000000-0000-0000-0000-000000000059</guid>
+    <short-name>user59</short-name>
     <password>user59</password>
     <full-name>User 59</full-name>
     <email>user59 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user60</short-name>
     <uid>10000000-0000-0000-0000-000000000060</uid>
     <guid>10000000-0000-0000-0000-000000000060</guid>
+    <short-name>user60</short-name>
     <password>user60</password>
     <full-name>User 60</full-name>
     <email>user60 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user61</short-name>
     <uid>10000000-0000-0000-0000-000000000061</uid>
     <guid>10000000-0000-0000-0000-000000000061</guid>
+    <short-name>user61</short-name>
     <password>user61</password>
     <full-name>User 61</full-name>
     <email>user61 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user62</short-name>
     <uid>10000000-0000-0000-0000-000000000062</uid>
     <guid>10000000-0000-0000-0000-000000000062</guid>
+    <short-name>user62</short-name>
     <password>user62</password>
     <full-name>User 62</full-name>
     <email>user62 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user63</short-name>
     <uid>10000000-0000-0000-0000-000000000063</uid>
     <guid>10000000-0000-0000-0000-000000000063</guid>
+    <short-name>user63</short-name>
     <password>user63</password>
     <full-name>User 63</full-name>
     <email>user63 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user64</short-name>
     <uid>10000000-0000-0000-0000-000000000064</uid>
     <guid>10000000-0000-0000-0000-000000000064</guid>
+    <short-name>user64</short-name>
     <password>user64</password>
     <full-name>User 64</full-name>
     <email>user64 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user65</short-name>
     <uid>10000000-0000-0000-0000-000000000065</uid>
     <guid>10000000-0000-0000-0000-000000000065</guid>
+    <short-name>user65</short-name>
     <password>user65</password>
     <full-name>User 65</full-name>
     <email>user65 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user66</short-name>
     <uid>10000000-0000-0000-0000-000000000066</uid>
     <guid>10000000-0000-0000-0000-000000000066</guid>
+    <short-name>user66</short-name>
     <password>user66</password>
     <full-name>User 66</full-name>
     <email>user66 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user67</short-name>
     <uid>10000000-0000-0000-0000-000000000067</uid>
     <guid>10000000-0000-0000-0000-000000000067</guid>
+    <short-name>user67</short-name>
     <password>user67</password>
     <full-name>User 67</full-name>
     <email>user67 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user68</short-name>
     <uid>10000000-0000-0000-0000-000000000068</uid>
     <guid>10000000-0000-0000-0000-000000000068</guid>
+    <short-name>user68</short-name>
     <password>user68</password>
     <full-name>User 68</full-name>
     <email>user68 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user69</short-name>
     <uid>10000000-0000-0000-0000-000000000069</uid>
     <guid>10000000-0000-0000-0000-000000000069</guid>
+    <short-name>user69</short-name>
     <password>user69</password>
     <full-name>User 69</full-name>
     <email>user69 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user70</short-name>
     <uid>10000000-0000-0000-0000-000000000070</uid>
     <guid>10000000-0000-0000-0000-000000000070</guid>
+    <short-name>user70</short-name>
     <password>user70</password>
     <full-name>User 70</full-name>
     <email>user70 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user71</short-name>
     <uid>10000000-0000-0000-0000-000000000071</uid>
     <guid>10000000-0000-0000-0000-000000000071</guid>
+    <short-name>user71</short-name>
     <password>user71</password>
     <full-name>User 71</full-name>
     <email>user71 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user72</short-name>
     <uid>10000000-0000-0000-0000-000000000072</uid>
     <guid>10000000-0000-0000-0000-000000000072</guid>
+    <short-name>user72</short-name>
     <password>user72</password>
     <full-name>User 72</full-name>
     <email>user72 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user73</short-name>
     <uid>10000000-0000-0000-0000-000000000073</uid>
     <guid>10000000-0000-0000-0000-000000000073</guid>
+    <short-name>user73</short-name>
     <password>user73</password>
     <full-name>User 73</full-name>
     <email>user73 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user74</short-name>
     <uid>10000000-0000-0000-0000-000000000074</uid>
     <guid>10000000-0000-0000-0000-000000000074</guid>
+    <short-name>user74</short-name>
     <password>user74</password>
     <full-name>User 74</full-name>
     <email>user74 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user75</short-name>
     <uid>10000000-0000-0000-0000-000000000075</uid>
     <guid>10000000-0000-0000-0000-000000000075</guid>
+    <short-name>user75</short-name>
     <password>user75</password>
     <full-name>User 75</full-name>
     <email>user75 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user76</short-name>
     <uid>10000000-0000-0000-0000-000000000076</uid>
     <guid>10000000-0000-0000-0000-000000000076</guid>
+    <short-name>user76</short-name>
     <password>user76</password>
     <full-name>User 76</full-name>
     <email>user76 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user77</short-name>
     <uid>10000000-0000-0000-0000-000000000077</uid>
     <guid>10000000-0000-0000-0000-000000000077</guid>
+    <short-name>user77</short-name>
     <password>user77</password>
     <full-name>User 77</full-name>
     <email>user77 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user78</short-name>
     <uid>10000000-0000-0000-0000-000000000078</uid>
     <guid>10000000-0000-0000-0000-000000000078</guid>
+    <short-name>user78</short-name>
     <password>user78</password>
     <full-name>User 78</full-name>
     <email>user78 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user79</short-name>
     <uid>10000000-0000-0000-0000-000000000079</uid>
     <guid>10000000-0000-0000-0000-000000000079</guid>
+    <short-name>user79</short-name>
     <password>user79</password>
     <full-name>User 79</full-name>
     <email>user79 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user80</short-name>
     <uid>10000000-0000-0000-0000-000000000080</uid>
     <guid>10000000-0000-0000-0000-000000000080</guid>
+    <short-name>user80</short-name>
     <password>user80</password>
     <full-name>User 80</full-name>
     <email>user80 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user81</short-name>
     <uid>10000000-0000-0000-0000-000000000081</uid>
     <guid>10000000-0000-0000-0000-000000000081</guid>
+    <short-name>user81</short-name>
     <password>user81</password>
     <full-name>User 81</full-name>
     <email>user81 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user82</short-name>
     <uid>10000000-0000-0000-0000-000000000082</uid>
     <guid>10000000-0000-0000-0000-000000000082</guid>
+    <short-name>user82</short-name>
     <password>user82</password>
     <full-name>User 82</full-name>
     <email>user82 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user83</short-name>
     <uid>10000000-0000-0000-0000-000000000083</uid>
     <guid>10000000-0000-0000-0000-000000000083</guid>
+    <short-name>user83</short-name>
     <password>user83</password>
     <full-name>User 83</full-name>
     <email>user83 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user84</short-name>
     <uid>10000000-0000-0000-0000-000000000084</uid>
     <guid>10000000-0000-0000-0000-000000000084</guid>
+    <short-name>user84</short-name>
     <password>user84</password>
     <full-name>User 84</full-name>
     <email>user84 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user85</short-name>
     <uid>10000000-0000-0000-0000-000000000085</uid>
     <guid>10000000-0000-0000-0000-000000000085</guid>
+    <short-name>user85</short-name>
     <password>user85</password>
     <full-name>User 85</full-name>
     <email>user85 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user86</short-name>
     <uid>10000000-0000-0000-0000-000000000086</uid>
     <guid>10000000-0000-0000-0000-000000000086</guid>
+    <short-name>user86</short-name>
     <password>user86</password>
     <full-name>User 86</full-name>
     <email>user86 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user87</short-name>
     <uid>10000000-0000-0000-0000-000000000087</uid>
     <guid>10000000-0000-0000-0000-000000000087</guid>
+    <short-name>user87</short-name>
     <password>user87</password>
     <full-name>User 87</full-name>
     <email>user87 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user88</short-name>
     <uid>10000000-0000-0000-0000-000000000088</uid>
     <guid>10000000-0000-0000-0000-000000000088</guid>
+    <short-name>user88</short-name>
     <password>user88</password>
     <full-name>User 88</full-name>
     <email>user88 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user89</short-name>
     <uid>10000000-0000-0000-0000-000000000089</uid>
     <guid>10000000-0000-0000-0000-000000000089</guid>
+    <short-name>user89</short-name>
     <password>user89</password>
     <full-name>User 89</full-name>
     <email>user89 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user90</short-name>
     <uid>10000000-0000-0000-0000-000000000090</uid>
     <guid>10000000-0000-0000-0000-000000000090</guid>
+    <short-name>user90</short-name>
     <password>user90</password>
     <full-name>User 90</full-name>
     <email>user90 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user91</short-name>
     <uid>10000000-0000-0000-0000-000000000091</uid>
     <guid>10000000-0000-0000-0000-000000000091</guid>
+    <short-name>user91</short-name>
     <password>user91</password>
     <full-name>User 91</full-name>
     <email>user91 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user92</short-name>
     <uid>10000000-0000-0000-0000-000000000092</uid>
     <guid>10000000-0000-0000-0000-000000000092</guid>
+    <short-name>user92</short-name>
     <password>user92</password>
     <full-name>User 92</full-name>
     <email>user92 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user93</short-name>
     <uid>10000000-0000-0000-0000-000000000093</uid>
     <guid>10000000-0000-0000-0000-000000000093</guid>
+    <short-name>user93</short-name>
     <password>user93</password>
     <full-name>User 93</full-name>
     <email>user93 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user94</short-name>
     <uid>10000000-0000-0000-0000-000000000094</uid>
     <guid>10000000-0000-0000-0000-000000000094</guid>
+    <short-name>user94</short-name>
     <password>user94</password>
     <full-name>User 94</full-name>
     <email>user94 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user95</short-name>
     <uid>10000000-0000-0000-0000-000000000095</uid>
     <guid>10000000-0000-0000-0000-000000000095</guid>
+    <short-name>user95</short-name>
     <password>user95</password>
     <full-name>User 95</full-name>
     <email>user95 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user96</short-name>
     <uid>10000000-0000-0000-0000-000000000096</uid>
     <guid>10000000-0000-0000-0000-000000000096</guid>
+    <short-name>user96</short-name>
     <password>user96</password>
     <full-name>User 96</full-name>
     <email>user96 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user97</short-name>
     <uid>10000000-0000-0000-0000-000000000097</uid>
     <guid>10000000-0000-0000-0000-000000000097</guid>
+    <short-name>user97</short-name>
     <password>user97</password>
     <full-name>User 97</full-name>
     <email>user97 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user98</short-name>
     <uid>10000000-0000-0000-0000-000000000098</uid>
     <guid>10000000-0000-0000-0000-000000000098</guid>
+    <short-name>user98</short-name>
     <password>user98</password>
     <full-name>User 98</full-name>
     <email>user98 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user99</short-name>
     <uid>10000000-0000-0000-0000-000000000099</uid>
     <guid>10000000-0000-0000-0000-000000000099</guid>
+    <short-name>user99</short-name>
     <password>user99</password>
     <full-name>User 99</full-name>
     <email>user99 at example.com</email>
 </record>
 <record type="user">
-    <short-name>user100</short-name>
     <uid>10000000-0000-0000-0000-000000000100</uid>
     <guid>10000000-0000-0000-0000-000000000100</guid>
+    <short-name>user100</short-name>
     <password>user100</password>
     <full-name>User 100</full-name>
     <email>user100 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public01</short-name>
     <uid>50000000-0000-0000-0000-000000000001</uid>
     <guid>50000000-0000-0000-0000-000000000001</guid>
+    <short-name>public01</short-name>
     <password>public01</password>
     <full-name>Public 01</full-name>
     <email>public01 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public02</short-name>
     <uid>50000000-0000-0000-0000-000000000002</uid>
     <guid>50000000-0000-0000-0000-000000000002</guid>
+    <short-name>public02</short-name>
     <password>public02</password>
     <full-name>Public 02</full-name>
     <email>public02 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public03</short-name>
     <uid>50000000-0000-0000-0000-000000000003</uid>
     <guid>50000000-0000-0000-0000-000000000003</guid>
+    <short-name>public03</short-name>
     <password>public03</password>
     <full-name>Public 03</full-name>
     <email>public03 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public04</short-name>
     <uid>50000000-0000-0000-0000-000000000004</uid>
     <guid>50000000-0000-0000-0000-000000000004</guid>
+    <short-name>public04</short-name>
     <password>public04</password>
     <full-name>Public 04</full-name>
     <email>public04 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public05</short-name>
     <uid>50000000-0000-0000-0000-000000000005</uid>
     <guid>50000000-0000-0000-0000-000000000005</guid>
+    <short-name>public05</short-name>
     <password>public05</password>
     <full-name>Public 05</full-name>
     <email>public05 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public06</short-name>
     <uid>50000000-0000-0000-0000-000000000006</uid>
     <guid>50000000-0000-0000-0000-000000000006</guid>
+    <short-name>public06</short-name>
     <password>public06</password>
     <full-name>Public 06</full-name>
     <email>public06 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public07</short-name>
     <uid>50000000-0000-0000-0000-000000000007</uid>
     <guid>50000000-0000-0000-0000-000000000007</guid>
+    <short-name>public07</short-name>
     <password>public07</password>
     <full-name>Public 07</full-name>
     <email>public07 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public08</short-name>
     <uid>50000000-0000-0000-0000-000000000008</uid>
     <guid>50000000-0000-0000-0000-000000000008</guid>
+    <short-name>public08</short-name>
     <password>public08</password>
     <full-name>Public 08</full-name>
     <email>public08 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public09</short-name>
     <uid>50000000-0000-0000-0000-000000000009</uid>
     <guid>50000000-0000-0000-0000-000000000009</guid>
+    <short-name>public09</short-name>
     <password>public09</password>
     <full-name>Public 09</full-name>
     <email>public09 at example.com</email>
 </record>
 <record type="user">
-    <short-name>public10</short-name>
     <uid>50000000-0000-0000-0000-000000000010</uid>
     <guid>50000000-0000-0000-0000-000000000010</guid>
+    <short-name>public10</short-name>
     <password>public10</password>
     <full-name>Public 10</full-name>
     <email>public10 at example.com</email>
 </record>
 <record type="group">
-    <short-name>group01</short-name>
     <uid>20000000-0000-0000-0000-000000000001</uid>
     <guid>20000000-0000-0000-0000-000000000001</guid>
+    <short-name>group01</short-name>
     <full-name>Group 01</full-name>
     <email>group01 at example.com</email>
     <member-uid>10000000-0000-0000-0000-000000000001</member-uid>
 </record>
 <record type="group">
-    <short-name>group02</short-name>
     <uid>20000000-0000-0000-0000-000000000002</uid>
     <guid>20000000-0000-0000-0000-000000000002</guid>
+    <short-name>group02</short-name>
     <full-name>Group 02</full-name>
     <email>group02 at example.com</email>
     <member-uid>10000000-0000-0000-0000-000000000006</member-uid>
     <member-uid>10000000-0000-0000-0000-000000000007</member-uid>
 </record>
 <record type="group">
-    <short-name>group03</short-name>
     <uid>20000000-0000-0000-0000-000000000003</uid>
     <guid>20000000-0000-0000-0000-000000000003</guid>
+    <short-name>group03</short-name>
     <full-name>Group 03</full-name>
     <email>group03 at example.com</email>
     <member-uid>10000000-0000-0000-0000-000000000008</member-uid>
     <member-uid>10000000-0000-0000-0000-000000000009</member-uid>
 </record>
 <record type="group">
-    <short-name>group04</short-name>
     <uid>20000000-0000-0000-0000-000000000004</uid>
     <guid>20000000-0000-0000-0000-000000000004</guid>
+    <short-name>group04</short-name>
     <full-name>Group 04</full-name>
     <email>group04 at example.com</email>
     <member-uid>20000000-0000-0000-0000-000000000002</member-uid>
@@ -958,26 +960,26 @@
     <member-uid>10000000-0000-0000-0000-000000000010</member-uid>
 </record>
 <record type="group">
-    <short-name>group05</short-name>
     <uid>20000000-0000-0000-0000-000000000005</uid>
     <guid>20000000-0000-0000-0000-000000000005</guid>
+    <short-name>group05</short-name>
     <full-name>Group 05</full-name>
     <email>group05 at example.com</email>
     <member-uid>20000000-0000-0000-0000-000000000006</member-uid>
     <member-uid>10000000-0000-0000-0000-000000000020</member-uid>
 </record>
 <record type="group">
-    <short-name>group06</short-name>
     <uid>20000000-0000-0000-0000-000000000006</uid>
     <guid>20000000-0000-0000-0000-000000000006</guid>
+    <short-name>group06</short-name>
     <full-name>Group 06</full-name>
     <email>group06 at example.com</email>
     <member-uid>10000000-0000-0000-0000-000000000021</member-uid>
 </record>
 <record type="group">
-    <short-name>group07</short-name>
     <uid>20000000-0000-0000-0000-000000000007</uid>
     <guid>20000000-0000-0000-0000-000000000007</guid>
+    <short-name>group07</short-name>
     <full-name>Group 07</full-name>
     <email>group07 at example.com</email>
     <member-uid>10000000-0000-0000-0000-000000000022</member-uid>
@@ -985,747 +987,654 @@
     <member-uid>10000000-0000-0000-0000-000000000024</member-uid>
 </record>
 <record type="group">
-    <short-name>group08</short-name>
     <uid>20000000-0000-0000-0000-000000000008</uid>
     <guid>20000000-0000-0000-0000-000000000008</guid>
+    <short-name>group08</short-name>
     <full-name>Group 08</full-name>
     <email>group08 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group09</short-name>
     <uid>20000000-0000-0000-0000-000000000009</uid>
     <guid>20000000-0000-0000-0000-000000000009</guid>
+    <short-name>group09</short-name>
     <full-name>Group 09</full-name>
     <email>group09 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group10</short-name>
     <uid>20000000-0000-0000-0000-000000000010</uid>
     <guid>20000000-0000-0000-0000-000000000010</guid>
+    <short-name>group10</short-name>
     <full-name>Group 10</full-name>
     <email>group10 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group11</short-name>
     <uid>20000000-0000-0000-0000-000000000011</uid>
     <guid>20000000-0000-0000-0000-000000000011</guid>
+    <short-name>group11</short-name>
     <full-name>Group 11</full-name>
     <email>group11 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group12</short-name>
     <uid>20000000-0000-0000-0000-000000000012</uid>
     <guid>20000000-0000-0000-0000-000000000012</guid>
+    <short-name>group12</short-name>
     <full-name>Group 12</full-name>
     <email>group12 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group13</short-name>
     <uid>20000000-0000-0000-0000-000000000013</uid>
     <guid>20000000-0000-0000-0000-000000000013</guid>
+    <short-name>group13</short-name>
     <full-name>Group 13</full-name>
     <email>group13 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group14</short-name>
     <uid>20000000-0000-0000-0000-000000000014</uid>
     <guid>20000000-0000-0000-0000-000000000014</guid>
+    <short-name>group14</short-name>
     <full-name>Group 14</full-name>
     <email>group14 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group15</short-name>
     <uid>20000000-0000-0000-0000-000000000015</uid>
     <guid>20000000-0000-0000-0000-000000000015</guid>
+    <short-name>group15</short-name>
     <full-name>Group 15</full-name>
     <email>group15 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group16</short-name>
     <uid>20000000-0000-0000-0000-000000000016</uid>
     <guid>20000000-0000-0000-0000-000000000016</guid>
+    <short-name>group16</short-name>
     <full-name>Group 16</full-name>
     <email>group16 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group17</short-name>
     <uid>20000000-0000-0000-0000-000000000017</uid>
     <guid>20000000-0000-0000-0000-000000000017</guid>
+    <short-name>group17</short-name>
     <full-name>Group 17</full-name>
     <email>group17 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group18</short-name>
     <uid>20000000-0000-0000-0000-000000000018</uid>
     <guid>20000000-0000-0000-0000-000000000018</guid>
+    <short-name>group18</short-name>
     <full-name>Group 18</full-name>
     <email>group18 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group19</short-name>
     <uid>20000000-0000-0000-0000-000000000019</uid>
     <guid>20000000-0000-0000-0000-000000000019</guid>
+    <short-name>group19</short-name>
     <full-name>Group 19</full-name>
     <email>group19 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group20</short-name>
     <uid>20000000-0000-0000-0000-000000000020</uid>
     <guid>20000000-0000-0000-0000-000000000020</guid>
+    <short-name>group20</short-name>
     <full-name>Group 20</full-name>
     <email>group20 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group21</short-name>
     <uid>20000000-0000-0000-0000-000000000021</uid>
     <guid>20000000-0000-0000-0000-000000000021</guid>
+    <short-name>group21</short-name>
     <full-name>Group 21</full-name>
     <email>group21 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group22</short-name>
     <uid>20000000-0000-0000-0000-000000000022</uid>
     <guid>20000000-0000-0000-0000-000000000022</guid>
+    <short-name>group22</short-name>
     <full-name>Group 22</full-name>
     <email>group22 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group23</short-name>
     <uid>20000000-0000-0000-0000-000000000023</uid>
     <guid>20000000-0000-0000-0000-000000000023</guid>
+    <short-name>group23</short-name>
     <full-name>Group 23</full-name>
     <email>group23 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group24</short-name>
     <uid>20000000-0000-0000-0000-000000000024</uid>
     <guid>20000000-0000-0000-0000-000000000024</guid>
+    <short-name>group24</short-name>
     <full-name>Group 24</full-name>
     <email>group24 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group25</short-name>
     <uid>20000000-0000-0000-0000-000000000025</uid>
     <guid>20000000-0000-0000-0000-000000000025</guid>
+    <short-name>group25</short-name>
     <full-name>Group 25</full-name>
     <email>group25 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group26</short-name>
     <uid>20000000-0000-0000-0000-000000000026</uid>
     <guid>20000000-0000-0000-0000-000000000026</guid>
+    <short-name>group26</short-name>
     <full-name>Group 26</full-name>
     <email>group26 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group27</short-name>
     <uid>20000000-0000-0000-0000-000000000027</uid>
     <guid>20000000-0000-0000-0000-000000000027</guid>
+    <short-name>group27</short-name>
     <full-name>Group 27</full-name>
     <email>group27 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group28</short-name>
     <uid>20000000-0000-0000-0000-000000000028</uid>
     <guid>20000000-0000-0000-0000-000000000028</guid>
+    <short-name>group28</short-name>
     <full-name>Group 28</full-name>
     <email>group28 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group29</short-name>
     <uid>20000000-0000-0000-0000-000000000029</uid>
     <guid>20000000-0000-0000-0000-000000000029</guid>
+    <short-name>group29</short-name>
     <full-name>Group 29</full-name>
     <email>group29 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group30</short-name>
     <uid>20000000-0000-0000-0000-000000000030</uid>
     <guid>20000000-0000-0000-0000-000000000030</guid>
+    <short-name>group30</short-name>
     <full-name>Group 30</full-name>
     <email>group30 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group31</short-name>
     <uid>20000000-0000-0000-0000-000000000031</uid>
     <guid>20000000-0000-0000-0000-000000000031</guid>
+    <short-name>group31</short-name>
     <full-name>Group 31</full-name>
     <email>group31 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group32</short-name>
     <uid>20000000-0000-0000-0000-000000000032</uid>
     <guid>20000000-0000-0000-0000-000000000032</guid>
+    <short-name>group32</short-name>
     <full-name>Group 32</full-name>
     <email>group32 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group33</short-name>
     <uid>20000000-0000-0000-0000-000000000033</uid>
     <guid>20000000-0000-0000-0000-000000000033</guid>
+    <short-name>group33</short-name>
     <full-name>Group 33</full-name>
     <email>group33 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group34</short-name>
     <uid>20000000-0000-0000-0000-000000000034</uid>
     <guid>20000000-0000-0000-0000-000000000034</guid>
+    <short-name>group34</short-name>
     <full-name>Group 34</full-name>
     <email>group34 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group35</short-name>
     <uid>20000000-0000-0000-0000-000000000035</uid>
     <guid>20000000-0000-0000-0000-000000000035</guid>
+    <short-name>group35</short-name>
     <full-name>Group 35</full-name>
     <email>group35 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group36</short-name>
     <uid>20000000-0000-0000-0000-000000000036</uid>
     <guid>20000000-0000-0000-0000-000000000036</guid>
+    <short-name>group36</short-name>
     <full-name>Group 36</full-name>
     <email>group36 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group37</short-name>
     <uid>20000000-0000-0000-0000-000000000037</uid>
     <guid>20000000-0000-0000-0000-000000000037</guid>
+    <short-name>group37</short-name>
     <full-name>Group 37</full-name>
     <email>group37 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group38</short-name>
     <uid>20000000-0000-0000-0000-000000000038</uid>
     <guid>20000000-0000-0000-0000-000000000038</guid>
+    <short-name>group38</short-name>
     <full-name>Group 38</full-name>
     <email>group38 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group39</short-name>
     <uid>20000000-0000-0000-0000-000000000039</uid>
     <guid>20000000-0000-0000-0000-000000000039</guid>
+    <short-name>group39</short-name>
     <full-name>Group 39</full-name>
     <email>group39 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group40</short-name>
     <uid>20000000-0000-0000-0000-000000000040</uid>
     <guid>20000000-0000-0000-0000-000000000040</guid>
+    <short-name>group40</short-name>
     <full-name>Group 40</full-name>
     <email>group40 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group41</short-name>
     <uid>20000000-0000-0000-0000-000000000041</uid>
     <guid>20000000-0000-0000-0000-000000000041</guid>
+    <short-name>group41</short-name>
     <full-name>Group 41</full-name>
     <email>group41 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group42</short-name>
     <uid>20000000-0000-0000-0000-000000000042</uid>
     <guid>20000000-0000-0000-0000-000000000042</guid>
+    <short-name>group42</short-name>
     <full-name>Group 42</full-name>
     <email>group42 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group43</short-name>
     <uid>20000000-0000-0000-0000-000000000043</uid>
     <guid>20000000-0000-0000-0000-000000000043</guid>
+    <short-name>group43</short-name>
     <full-name>Group 43</full-name>
     <email>group43 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group44</short-name>
     <uid>20000000-0000-0000-0000-000000000044</uid>
     <guid>20000000-0000-0000-0000-000000000044</guid>
+    <short-name>group44</short-name>
     <full-name>Group 44</full-name>
     <email>group44 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group45</short-name>
     <uid>20000000-0000-0000-0000-000000000045</uid>
     <guid>20000000-0000-0000-0000-000000000045</guid>
+    <short-name>group45</short-name>
     <full-name>Group 45</full-name>
     <email>group45 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group46</short-name>
     <uid>20000000-0000-0000-0000-000000000046</uid>
     <guid>20000000-0000-0000-0000-000000000046</guid>
+    <short-name>group46</short-name>
     <full-name>Group 46</full-name>
     <email>group46 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group47</short-name>
     <uid>20000000-0000-0000-0000-000000000047</uid>
     <guid>20000000-0000-0000-0000-000000000047</guid>
+    <short-name>group47</short-name>
     <full-name>Group 47</full-name>
     <email>group47 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group48</short-name>
     <uid>20000000-0000-0000-0000-000000000048</uid>
     <guid>20000000-0000-0000-0000-000000000048</guid>
+    <short-name>group48</short-name>
     <full-name>Group 48</full-name>
     <email>group48 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group49</short-name>
     <uid>20000000-0000-0000-0000-000000000049</uid>
     <guid>20000000-0000-0000-0000-000000000049</guid>
+    <short-name>group49</short-name>
     <full-name>Group 49</full-name>
     <email>group49 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group50</short-name>
     <uid>20000000-0000-0000-0000-000000000050</uid>
     <guid>20000000-0000-0000-0000-000000000050</guid>
+    <short-name>group50</short-name>
     <full-name>Group 50</full-name>
     <email>group50 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group51</short-name>
     <uid>20000000-0000-0000-0000-000000000051</uid>
     <guid>20000000-0000-0000-0000-000000000051</guid>
+    <short-name>group51</short-name>
     <full-name>Group 51</full-name>
     <email>group51 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group52</short-name>
     <uid>20000000-0000-0000-0000-000000000052</uid>
     <guid>20000000-0000-0000-0000-000000000052</guid>
+    <short-name>group52</short-name>
     <full-name>Group 52</full-name>
     <email>group52 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group53</short-name>
     <uid>20000000-0000-0000-0000-000000000053</uid>
     <guid>20000000-0000-0000-0000-000000000053</guid>
+    <short-name>group53</short-name>
     <full-name>Group 53</full-name>
     <email>group53 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group54</short-name>
     <uid>20000000-0000-0000-0000-000000000054</uid>
     <guid>20000000-0000-0000-0000-000000000054</guid>
+    <short-name>group54</short-name>
     <full-name>Group 54</full-name>
     <email>group54 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group55</short-name>
     <uid>20000000-0000-0000-0000-000000000055</uid>
     <guid>20000000-0000-0000-0000-000000000055</guid>
+    <short-name>group55</short-name>
     <full-name>Group 55</full-name>
     <email>group55 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group56</short-name>
     <uid>20000000-0000-0000-0000-000000000056</uid>
     <guid>20000000-0000-0000-0000-000000000056</guid>
+    <short-name>group56</short-name>
     <full-name>Group 56</full-name>
     <email>group56 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group57</short-name>
     <uid>20000000-0000-0000-0000-000000000057</uid>
     <guid>20000000-0000-0000-0000-000000000057</guid>
+    <short-name>group57</short-name>
     <full-name>Group 57</full-name>
     <email>group57 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group58</short-name>
     <uid>20000000-0000-0000-0000-000000000058</uid>
     <guid>20000000-0000-0000-0000-000000000058</guid>
+    <short-name>group58</short-name>
     <full-name>Group 58</full-name>
     <email>group58 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group59</short-name>
     <uid>20000000-0000-0000-0000-000000000059</uid>
     <guid>20000000-0000-0000-0000-000000000059</guid>
+    <short-name>group59</short-name>
     <full-name>Group 59</full-name>
     <email>group59 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group60</short-name>
     <uid>20000000-0000-0000-0000-000000000060</uid>
     <guid>20000000-0000-0000-0000-000000000060</guid>
+    <short-name>group60</short-name>
     <full-name>Group 60</full-name>
     <email>group60 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group61</short-name>
     <uid>20000000-0000-0000-0000-000000000061</uid>
     <guid>20000000-0000-0000-0000-000000000061</guid>
+    <short-name>group61</short-name>
     <full-name>Group 61</full-name>
     <email>group61 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group62</short-name>
     <uid>20000000-0000-0000-0000-000000000062</uid>
     <guid>20000000-0000-0000-0000-000000000062</guid>
+    <short-name>group62</short-name>
     <full-name>Group 62</full-name>
     <email>group62 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group63</short-name>
     <uid>20000000-0000-0000-0000-000000000063</uid>
     <guid>20000000-0000-0000-0000-000000000063</guid>
+    <short-name>group63</short-name>
     <full-name>Group 63</full-name>
     <email>group63 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group64</short-name>
     <uid>20000000-0000-0000-0000-000000000064</uid>
     <guid>20000000-0000-0000-0000-000000000064</guid>
+    <short-name>group64</short-name>
     <full-name>Group 64</full-name>
     <email>group64 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group65</short-name>
     <uid>20000000-0000-0000-0000-000000000065</uid>
     <guid>20000000-0000-0000-0000-000000000065</guid>
+    <short-name>group65</short-name>
     <full-name>Group 65</full-name>
     <email>group65 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group66</short-name>
     <uid>20000000-0000-0000-0000-000000000066</uid>
     <guid>20000000-0000-0000-0000-000000000066</guid>
+    <short-name>group66</short-name>
     <full-name>Group 66</full-name>
     <email>group66 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group67</short-name>
     <uid>20000000-0000-0000-0000-000000000067</uid>
     <guid>20000000-0000-0000-0000-000000000067</guid>
+    <short-name>group67</short-name>
     <full-name>Group 67</full-name>
     <email>group67 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group68</short-name>
     <uid>20000000-0000-0000-0000-000000000068</uid>
     <guid>20000000-0000-0000-0000-000000000068</guid>
+    <short-name>group68</short-name>
     <full-name>Group 68</full-name>
     <email>group68 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group69</short-name>
     <uid>20000000-0000-0000-0000-000000000069</uid>
     <guid>20000000-0000-0000-0000-000000000069</guid>
+    <short-name>group69</short-name>
     <full-name>Group 69</full-name>
     <email>group69 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group70</short-name>
     <uid>20000000-0000-0000-0000-000000000070</uid>
     <guid>20000000-0000-0000-0000-000000000070</guid>
+    <short-name>group70</short-name>
     <full-name>Group 70</full-name>
     <email>group70 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group71</short-name>
     <uid>20000000-0000-0000-0000-000000000071</uid>
     <guid>20000000-0000-0000-0000-000000000071</guid>
+    <short-name>group71</short-name>
     <full-name>Group 71</full-name>
     <email>group71 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group72</short-name>
     <uid>20000000-0000-0000-0000-000000000072</uid>
     <guid>20000000-0000-0000-0000-000000000072</guid>
+    <short-name>group72</short-name>
     <full-name>Group 72</full-name>
     <email>group72 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group73</short-name>
     <uid>20000000-0000-0000-0000-000000000073</uid>
     <guid>20000000-0000-0000-0000-000000000073</guid>
+    <short-name>group73</short-name>
     <full-name>Group 73</full-name>
     <email>group73 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group74</short-name>
     <uid>20000000-0000-0000-0000-000000000074</uid>
     <guid>20000000-0000-0000-0000-000000000074</guid>
+    <short-name>group74</short-name>
     <full-name>Group 74</full-name>
     <email>group74 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group75</short-name>
     <uid>20000000-0000-0000-0000-000000000075</uid>
     <guid>20000000-0000-0000-0000-000000000075</guid>
+    <short-name>group75</short-name>
     <full-name>Group 75</full-name>
     <email>group75 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group76</short-name>
     <uid>20000000-0000-0000-0000-000000000076</uid>
     <guid>20000000-0000-0000-0000-000000000076</guid>
+    <short-name>group76</short-name>
     <full-name>Group 76</full-name>
     <email>group76 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group77</short-name>
     <uid>20000000-0000-0000-0000-000000000077</uid>
     <guid>20000000-0000-0000-0000-000000000077</guid>
+    <short-name>group77</short-name>
     <full-name>Group 77</full-name>
     <email>group77 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group78</short-name>
     <uid>20000000-0000-0000-0000-000000000078</uid>
     <guid>20000000-0000-0000-0000-000000000078</guid>
+    <short-name>group78</short-name>
     <full-name>Group 78</full-name>
     <email>group78 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group79</short-name>
     <uid>20000000-0000-0000-0000-000000000079</uid>
     <guid>20000000-0000-0000-0000-000000000079</guid>
+    <short-name>group79</short-name>
     <full-name>Group 79</full-name>
     <email>group79 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group80</short-name>
     <uid>20000000-0000-0000-0000-000000000080</uid>
     <guid>20000000-0000-0000-0000-000000000080</guid>
+    <short-name>group80</short-name>
     <full-name>Group 80</full-name>
     <email>group80 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group81</short-name>
     <uid>20000000-0000-0000-0000-000000000081</uid>
     <guid>20000000-0000-0000-0000-000000000081</guid>
+    <short-name>group81</short-name>
     <full-name>Group 81</full-name>
     <email>group81 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group82</short-name>
     <uid>20000000-0000-0000-0000-000000000082</uid>
     <guid>20000000-0000-0000-0000-000000000082</guid>
+    <short-name>group82</short-name>
     <full-name>Group 82</full-name>
     <email>group82 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group83</short-name>
     <uid>20000000-0000-0000-0000-000000000083</uid>
     <guid>20000000-0000-0000-0000-000000000083</guid>
+    <short-name>group83</short-name>
     <full-name>Group 83</full-name>
     <email>group83 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group84</short-name>
     <uid>20000000-0000-0000-0000-000000000084</uid>
     <guid>20000000-0000-0000-0000-000000000084</guid>
+    <short-name>group84</short-name>
     <full-name>Group 84</full-name>
     <email>group84 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group85</short-name>
     <uid>20000000-0000-0000-0000-000000000085</uid>
     <guid>20000000-0000-0000-0000-000000000085</guid>
+    <short-name>group85</short-name>
     <full-name>Group 85</full-name>
     <email>group85 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group86</short-name>
     <uid>20000000-0000-0000-0000-000000000086</uid>
     <guid>20000000-0000-0000-0000-000000000086</guid>
+    <short-name>group86</short-name>
     <full-name>Group 86</full-name>
     <email>group86 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group87</short-name>
     <uid>20000000-0000-0000-0000-000000000087</uid>
     <guid>20000000-0000-0000-0000-000000000087</guid>
+    <short-name>group87</short-name>
     <full-name>Group 87</full-name>
     <email>group87 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group88</short-name>
     <uid>20000000-0000-0000-0000-000000000088</uid>
     <guid>20000000-0000-0000-0000-000000000088</guid>
+    <short-name>group88</short-name>
     <full-name>Group 88</full-name>
     <email>group88 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group89</short-name>
     <uid>20000000-0000-0000-0000-000000000089</uid>
     <guid>20000000-0000-0000-0000-000000000089</guid>
+    <short-name>group89</short-name>
     <full-name>Group 89</full-name>
     <email>group89 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group90</short-name>
     <uid>20000000-0000-0000-0000-000000000090</uid>
     <guid>20000000-0000-0000-0000-000000000090</guid>
+    <short-name>group90</short-name>
     <full-name>Group 90</full-name>
     <email>group90 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group91</short-name>
     <uid>20000000-0000-0000-0000-000000000091</uid>
     <guid>20000000-0000-0000-0000-000000000091</guid>
+    <short-name>group91</short-name>
     <full-name>Group 91</full-name>
     <email>group91 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group92</short-name>
     <uid>20000000-0000-0000-0000-000000000092</uid>
     <guid>20000000-0000-0000-0000-000000000092</guid>
+    <short-name>group92</short-name>
     <full-name>Group 92</full-name>
     <email>group92 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group93</short-name>
     <uid>20000000-0000-0000-0000-000000000093</uid>
     <guid>20000000-0000-0000-0000-000000000093</guid>
+    <short-name>group93</short-name>
     <full-name>Group 93</full-name>
     <email>group93 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group94</short-name>
     <uid>20000000-0000-0000-0000-000000000094</uid>
     <guid>20000000-0000-0000-0000-000000000094</guid>
+    <short-name>group94</short-name>
     <full-name>Group 94</full-name>
     <email>group94 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group95</short-name>
     <uid>20000000-0000-0000-0000-000000000095</uid>
     <guid>20000000-0000-0000-0000-000000000095</guid>
+    <short-name>group95</short-name>
     <full-name>Group 95</full-name>
     <email>group95 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group96</short-name>
     <uid>20000000-0000-0000-0000-000000000096</uid>
     <guid>20000000-0000-0000-0000-000000000096</guid>
+    <short-name>group96</short-name>
     <full-name>Group 96</full-name>
     <email>group96 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group97</short-name>
     <uid>20000000-0000-0000-0000-000000000097</uid>
     <guid>20000000-0000-0000-0000-000000000097</guid>
+    <short-name>group97</short-name>
     <full-name>Group 97</full-name>
     <email>group97 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group98</short-name>
     <uid>20000000-0000-0000-0000-000000000098</uid>
     <guid>20000000-0000-0000-0000-000000000098</guid>
+    <short-name>group98</short-name>
     <full-name>Group 98</full-name>
     <email>group98 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group99</short-name>
     <uid>20000000-0000-0000-0000-000000000099</uid>
     <guid>20000000-0000-0000-0000-000000000099</guid>
+    <short-name>group99</short-name>
     <full-name>Group 99</full-name>
     <email>group99 at example.com</email>
-    
 </record>
 <record type="group">
-    <short-name>group100</short-name>
     <uid>20000000-0000-0000-0000-000000000100</uid>
     <guid>20000000-0000-0000-0000-000000000100</guid>
+    <short-name>group100</short-name>
     <full-name>Group 100</full-name>
     <email>group100 at example.com</email>
-    
 </record>
 </directory>

Modified: CalendarServer/trunk/conf/auth/accounts.dtd
===================================================================
--- CalendarServer/trunk/conf/auth/accounts.dtd	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/accounts.dtd	2014-04-26 15:10:28 UTC (rev 13375)
@@ -14,30 +14,23 @@
 limitations under the License.
 -->
 
-<!ELEMENT accounts (user*, group*, resource*, location*) >
-  <!ATTLIST accounts realm CDATA "">
+<!ELEMENT directory (record*) >
+  <!ATTLIST directory realm CDATA "">
 
-  <!ELEMENT user (uid*, guid, password?, name?, first-name?, last-name?, email-address*)>
-    <!ATTLIST user repeat CDATA "1">
+  <!ELEMENT record (uid, guid?, short-name*, password?, full-name*, email*, member-uid*,
+  					capacity?, floor?, associated-address?, abbreviated-name?, street-address?, geographic-location?)>
+    <!ATTLIST record type (user|group|location|resource|address) "user">
 
-  <!ELEMENT group (uid*, guid, password?, name?, members)>
-    <!ATTLIST group repeat CDATA "1">
-
-  <!ELEMENT resource (uid*, guid, password?, name?,)>
-    <!ATTLIST resource repeat CDATA "1">
-
-  <!ELEMENT location (uid*, guid, password?, name?,)>
-    <!ATTLIST location repeat CDATA "1">
-
-  <!ELEMENT member (#PCDATA)>
-    <!ATTLIST member type (users|groups|locations|resources) "users">
-
-  <!ELEMENT uid               (#PCDATA)>
-  <!ELEMENT guid              (#PCDATA)>
-  <!ELEMENT password          (#PCDATA)>
-  <!ELEMENT name              (#PCDATA)>
-  <!ELEMENT first-name        (#PCDATA)>
-  <!ELEMENT last-name         (#PCDATA)>
-  <!ELEMENT email-address     (#PCDATA)>
-  <!ELEMENT members           (member*)>
->
+    <!ELEMENT uid                 (#PCDATA)>
+    <!ELEMENT guid                (#PCDATA)>
+    <!ELEMENT password            (#PCDATA)>
+    <!ELEMENT short-name          (#PCDATA)>
+    <!ELEMENT full-name           (#PCDATA)>
+    <!ELEMENT email               (#PCDATA)>
+    <!ELEMENT member-uid          (#PCDATA)>
+    <!ELEMENT capacity            (#PCDATA)>
+    <!ELEMENT floor               (#PCDATA)>
+    <!ELEMENT associated-address  (#PCDATA)>
+    <!ELEMENT abbreviated-name    (#PCDATA)>
+    <!ELEMENT street-address      (#PCDATA)>
+    <!ELEMENT geographic-location (#PCDATA)>

Modified: CalendarServer/trunk/conf/auth/accounts.xml
===================================================================
--- CalendarServer/trunk/conf/auth/accounts.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/accounts.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -18,29 +18,21 @@
 
 <!DOCTYPE accounts SYSTEM "accounts.dtd">
 
-<accounts realm="Test Realm">
-  <user>
-    <uid>admin</uid>
+<directory realm="Test Realm">
+<record>
+    <uid>0C8BDE62-E600-4696-83D3-8B5ECABDFD2E</uid>
+    <guid>0C8BDE62-E600-4696-83D3-8B5ECABDFD2E</guid>
+    <short-name>admin</short-name>
     <password>admin</password>
-    <name>Super User</name>
-  </user>
-  <user>
-    <uid>test</uid>
+    <full-name>Super User</full-name>
+    <email>admin at example.com</email>
+</record>
+<record>
+    <uid>29B6C503-11DF-43EC-8CCA-40C7003149CE</uid>
+    <guid>29B6C503-11DF-43EC-8CCA-40C7003149CE</guid>
+    <short-name>test</short-name>
     <password>test</password>
-    <name>Test User</name>
-  </user>
-  <group>
-    <uid>users</uid>
-    <password>users</password>
-    <name>Users Group</name>
-    <members>
-      <member type="users">test</member>
-    </members>
-  </group>
-  <location>
-    <uid>mercury</uid>
-    <password>mercury</password>
-    <name>Mecury Conference Room, Building 1, 2nd Floor</name>
-  </location>
-</accounts>
-
+    <full-name>Test User</full-name>
+    <email>test at example.com</email>
+</record>
+</directory>

Modified: CalendarServer/trunk/conf/auth/augments-default.xml
===================================================================
--- CalendarServer/trunk/conf/auth/augments-default.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/augments-default.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -1,27 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
-
-<!--
-Copyright (c) 2009-2014 Apple Inc. All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
- -->
-
 <!DOCTYPE augments SYSTEM "augments.dtd">
-
 <augments>
   <record>
     <uid>Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>

Modified: CalendarServer/trunk/conf/auth/augments-test-pod.xml
===================================================================
--- CalendarServer/trunk/conf/auth/augments-test-pod.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/augments-test-pod.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -1,19 +1,628 @@
 <?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
 <!DOCTYPE augments SYSTEM "augments.dtd">
 
 <augments>
-  <record>
+<record>
     <uid>Default</uid>
-    <enable>true</enable>
     <server-id>A</server-id>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-  </record>
-  <record repeat="101">
-    <uid>puser%02d</uid>
-    <enable>true</enable>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000001</uid>
     <server-id>B</server-id>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-  </record>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000002</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000003</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000004</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000005</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000006</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000007</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000008</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000009</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000010</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000011</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000012</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000013</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000014</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000015</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000016</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000017</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000018</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000019</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000020</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000021</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000022</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000023</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000024</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000025</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000026</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000027</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000028</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000029</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000030</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000031</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000032</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000033</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000034</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000035</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000036</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000037</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000038</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000039</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000040</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000041</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000042</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000043</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000044</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000045</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000046</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000047</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000048</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000049</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000050</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000051</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000052</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000053</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000054</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000055</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000056</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000057</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000058</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000059</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000060</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000061</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000062</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000063</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000064</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000065</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000066</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000067</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000068</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000069</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000070</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000071</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000072</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000073</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000074</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000075</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000076</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000077</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000078</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000079</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000080</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000081</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000082</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000083</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000084</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000085</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000086</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000087</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000088</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000089</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000090</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000091</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000092</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000093</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000094</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000095</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000096</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000097</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000098</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000099</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+<record>
+    <uid>60000000-0000-0000-0000-000000000100</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
 </augments>

Added: CalendarServer/trunk/conf/auth/augments-test-s2s.xml
===================================================================
--- CalendarServer/trunk/conf/auth/augments-test-s2s.xml	                        (rev 0)
+++ CalendarServer/trunk/conf/auth/augments-test-s2s.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE augments SYSTEM "augments.dtd">
+
+<augments>
+<record>
+    <uid>Default</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+</augments>

Modified: CalendarServer/trunk/conf/auth/augments-test.xml
===================================================================
--- CalendarServer/trunk/conf/auth/augments-test.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/augments-test.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -16,6 +16,8 @@
 limitations under the License.
  -->
 
+<!DOCTYPE augments SYSTEM "augments.dtd">
+
 <augments>
 <record>
     <uid>Default</uid>
@@ -36,45 +38,45 @@
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000005</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>none</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000006</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>accept-always</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000007</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>decline-always</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000008</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>accept-if-free</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000009</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>decline-if-busy</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000010</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>automatic</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
 </record>
 <record>
     <uid>40000000-0000-0000-0000-000000000011</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule-mode>decline-always</auto-schedule-mode>
-    <enable-addressbook>true</enable-addressbook>
-    <enable-calendar>true</enable-calendar>
     <auto-accept-group>20000000-0000-0000-0000-000000000001</auto-accept-group>
 </record>
 </augments>

Modified: CalendarServer/trunk/conf/auth/augments.dtd
===================================================================
--- CalendarServer/trunk/conf/auth/augments.dtd	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/augments.dtd	2014-04-26 15:10:28 UTC (rev 13375)
@@ -18,24 +18,18 @@
 
   <!ELEMENT record (
   		uid,
-  		enable,
   		server-id?,
   		enable-calendar?,
   		enable-addressbook?,
   		enable-login?,
-  		auto-schedule?,
   		auto-schedule-mode?,
   		auto-accept-group?
   )>
-    <!ATTLIST record repeat CDATA "1">
 
   <!ELEMENT uid                (#PCDATA)>
-  <!ELEMENT enable             (#PCDATA)>
   <!ELEMENT server-id          (#PCDATA)>
   <!ELEMENT enable-calendar    (#PCDATA)>
   <!ELEMENT enable-addressbook (#PCDATA)>
   <!ELEMENT enable-login       (#PCDATA)>
-  <!ELEMENT auto-schedule      (#PCDATA)>
   <!ELEMENT auto-schedule-mode (#PCDATA)>
   <!ELEMENT auto-accept-group  (#PCDATA)>
->

Modified: CalendarServer/trunk/conf/auth/generate_test_accounts.py
===================================================================
--- CalendarServer/trunk/conf/auth/generate_test_accounts.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/generate_test_accounts.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -31,11 +31,14 @@
 LOCATIONGUIDS = "30000000-0000-0000-0000-000000000%03d"
 RESOURCEGUIDS = "40000000-0000-0000-0000-000000000%03d"
 PUBLICGUIDS = "50000000-0000-0000-0000-0000000000%02d"
+PUSERGUIDS = "60000000-0000-0000-0000-000000000%03d"
+S2SUSERGUIDS = "70000000-0000-0000-0000-000000000%03d"
 
 # accounts-test.xml
 
 out = file("accounts-test.xml", "w")
 out.write(prefix)
+out.write('<!DOCTYPE accounts SYSTEM "accounts.dtd">\n\n')
 out.write('<directory realm="Test Realm">\n')
 
 
@@ -57,26 +60,26 @@
 # user01-100
 for i in xrange(1, 101):
     out.write("""<record type="user">
-    <short-name>user%02d</short-name>
-    <uid>%s</uid>
-    <guid>%s</guid>
-    <password>user%02d</password>
-    <full-name>User %02d</full-name>
-    <email>user%02d at example.com</email>
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>user{ctr:02d}</short-name>
+    <password>user{ctr:02d}</password>
+    <full-name>User {ctr:02d}</full-name>
+    <email>user{ctr:02d}@example.com</email>
 </record>
-""" % (i, USERGUIDS % i, USERGUIDS % i, i, i, i))
+""".format(guid=(USERGUIDS % i), ctr=i))
 
 # public01-10
 for i in xrange(1, 11):
     out.write("""<record type="user">
-    <short-name>public%02d</short-name>
-    <uid>%s</uid>
-    <guid>%s</guid>
-    <password>public%02d</password>
-    <full-name>Public %02d</full-name>
-    <email>public%02d at example.com</email>
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>public{ctr:02d}</short-name>
+    <password>public{ctr:02d}</password>
+    <full-name>Public {ctr:02d}</full-name>
+    <email>public{ctr:02d}@example.com</email>
 </record>
-""" % (i, PUBLICGUIDS % i, PUBLICGUIDS % i, i, i, i))
+""".format(guid=PUBLICGUIDS % i, ctr=i))
 
 # group01-100
 members = {
@@ -96,138 +99,240 @@
     if groupUID in members:
         for uid in members[groupUID]:
             memberElements.append("<member-uid>{}</member-uid>".format(uid))
-        memberString = "\n    ".join(memberElements)
+        memberString = "    " + "\n    ".join(memberElements) + "\n"
     else:
         memberString = ""
 
     out.write("""<record type="group">
-    <short-name>group%02d</short-name>
-    <uid>%s</uid>
-    <guid>%s</guid>
-    <full-name>Group %02d</full-name>
-    <email>group%02d at example.com</email>
-    %s
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>group{ctr:02d}</short-name>
+    <full-name>Group {ctr:02d}</full-name>
+    <email>group{ctr:02d}@example.com</email>
+{members}</record>
+""".format(guid=GROUPGUIDS % i, ctr=i, members=memberString))
+
+out.write("</directory>\n")
+out.close()
+
+
+# accounts-test-pod.xml
+
+out = file("accounts-test-pod.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE accounts SYSTEM "accounts.dtd">\n\n')
+out.write('<directory realm="Test Realm">\n')
+
+
+for uid, fullName, guid in (
+    ("admin", "Super User", "0C8BDE62-E600-4696-83D3-8B5ECABDFD2E"),
+):
+    out.write("""<record>
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>{uid}</short-name>
+    <password>{uid}</password>
+    <full-name>{fullName}</full-name>
+    <email>{uid}@example.com</email>
 </record>
-""" % (i, GROUPGUIDS % i, GROUPGUIDS % i, i, i, memberString))
+""".format(uid=uid, guid=guid, fullName=fullName))
 
+# user01-100
+for i in xrange(1, 101):
+    out.write("""<record type="user">
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>user{ctr:02d}</short-name>
+    <password>user{ctr:02d}</password>
+    <full-name>User {ctr:02d}</full-name>
+    <email>user{ctr:02d}@example.com</email>
+</record>
+""".format(guid=USERGUIDS % i, ctr=i))
+
+# puser01-100
+for i in xrange(1, 101):
+    out.write("""<record type="user">
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>puser{ctr:02d}</short-name>
+    <password>puser{ctr:02d}</password>
+    <full-name>Puser {ctr:02d}</full-name>
+    <email>puser{ctr:02d}@example.com</email>
+</record>
+""".format(guid=PUSERGUIDS % i, ctr=i))
+
 out.write("</directory>\n")
 out.close()
 
 
+# accounts-test-s2s.xml
+
+out = file("accounts-test-s2s.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE accounts SYSTEM "accounts.dtd">\n\n')
+out.write('<directory realm="Test Realm 2">\n')
+
+
+for uid, fullName, guid in (
+    ("admin", "Super User", "82A5A2FA-F8FD-4761-B1CB-F1664C1F376A"),
+):
+    out.write("""<record>
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>{uid}</short-name>
+    <password>{uid}</password>
+    <full-name>{fullName}</full-name>
+    <email>{uid}@example.org</email>
+</record>
+""".format(uid=uid, guid=guid, fullName=fullName))
+
+# other01-100
+for i in xrange(1, 101):
+    out.write("""<record type="user">
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>other{ctr:02d}</short-name>
+    <password>other{ctr:02d}</password>
+    <full-name>Other {ctr:02d}</full-name>
+    <email>other{ctr:02d}@example.org</email>
+</record>
+""".format(guid=S2SUSERGUIDS % i, ctr=i))
+
+out.write("</directory>\n")
+out.close()
+
+
 # resources-test.xml
 
 out = file("resources-test.xml", "w")
 out.write(prefix)
+out.write('<!DOCTYPE accounts SYSTEM "accounts.dtd">\n\n')
 out.write('<directory realm="Test Realm">\n')
 
-out.write("""
-  <record type="location">
-    <short-name>pretend</short-name>
-    <uid>pretend</uid>
-    <full-name>Pretend Conference Room</full-name>
-    <associated-address>il1</associated-address>
-  </record>
-  <record type="address">
-    <short-name>il1</short-name>
-    <uid>il1</uid>
-    <full-name>IL1</full-name>
-    <street-address>1 Infinite Loop, Cupertino, CA 95014</street-address>
-    <geographic-location>37.331741,-122.030333</geographic-location>
-  </record>
-  <record type="location">
-    <short-name>fantastic</short-name>
-    <uid>fantastic</uid>
-    <full-name>Fantastic Conference Room</full-name>
-    <associated-address>il2</associated-address>
-  </record>
-  <record type="address">
-    <short-name>il2</short-name>
-    <uid>il2</uid>
-    <full-name>IL2</full-name>
-    <street-address>2 Infinite Loop, Cupertino, CA 95014</street-address>
-    <geographic-location>37.332633,-122.030502</geographic-location>
-  </record>
-  <record type="location">
-    <short-name>delegatedroom</short-name>
-    <uid>delegatedroom</uid>
-    <full-name>Delegated Conference Room</full-name>
-  </record>
-
+out.write("""<record type="location">
+  <uid>pretend</uid>
+  <short-name>pretend</short-name>
+  <full-name>Pretend Conference Room</full-name>
+  <associated-address>il1</associated-address>
+</record>
+<record type="address">
+  <uid>il1</uid>
+  <short-name>il1</short-name>
+  <full-name>IL1</full-name>
+  <street-address>1 Infinite Loop, Cupertino, CA 95014</street-address>
+  <geographic-location>37.331741,-122.030333</geographic-location>
+</record>
+<record type="location">
+  <uid>fantastic</uid>
+  <short-name>fantastic</short-name>
+  <full-name>Fantastic Conference Room</full-name>
+  <associated-address>il2</associated-address>
+</record>
+<record type="address">
+  <uid>il2</uid>
+  <short-name>il2</short-name>
+  <full-name>IL2</full-name>
+  <street-address>2 Infinite Loop, Cupertino, CA 95014</street-address>
+  <geographic-location>37.332633,-122.030502</geographic-location>
+</record>
+<record type="location">
+  <uid>delegatedroom</uid>
+  <short-name>delegatedroom</short-name>
+  <full-name>Delegated Conference Room</full-name>
+</record>
 """)
 
 for i in xrange(1, 101):
     out.write("""<record type="location">
-    <short-name>location%02d</short-name>
-    <uid>%s</uid>
-    <guid>%s</guid>
-    <full-name>Location %02d</full-name>
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>location{ctr:02d}</short-name>
+    <full-name>Location {ctr:02d}</full-name>
 </record>
-""" % (i, LOCATIONGUIDS % i, LOCATIONGUIDS % i, i))
+""".format(guid=LOCATIONGUIDS % i, ctr=i))
 
 
 for i in xrange(1, 101):
     out.write("""<record type="resource">
-    <short-name>resource%02d</short-name>
-    <uid>%s</uid>
-    <guid>%s</guid>
-    <full-name>Resource %02d</full-name>
+    <uid>{guid}</uid>
+    <guid>{guid}</guid>
+    <short-name>resource{ctr:02d}</short-name>
+    <full-name>Resource {ctr:02d}</full-name>
 </record>
-""" % (i, RESOURCEGUIDS % i, RESOURCEGUIDS % i, i))
+""".format(guid=RESOURCEGUIDS % i, ctr=i))
 
 out.write("</directory>\n")
 out.close()
 
 
+# resources-test-pod.xml
+
+out = file("resources-test-pod.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE accounts SYSTEM "accounts.dtd">\n\n')
+out.write('<directory realm="Test Realm" />\n')
+out.close()
+
+# resources-test-s2s.xml
+
+out = file("resources-test-s2s.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE accounts SYSTEM "accounts.dtd">\n\n')
+out.write('<directory realm="Test Realm 2" />\n')
+out.close()
+
+
 # augments-test.xml
 
 out = file("augments-test.xml", "w")
 out.write(prefix)
+out.write('<!DOCTYPE augments SYSTEM "augments.dtd">\n\n')
 out.write("<augments>\n")
 
 augments = (
     # resource05
-    (RESOURCEGUIDS % 5, {
-        "auto-schedule-mode": "none",
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 5, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "none"),
+    )),
     # resource06
-    (RESOURCEGUIDS % 6, {
-        "auto-schedule-mode": "accept-always",
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 6, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "accept-always"),
+    )),
     # resource07
-    (RESOURCEGUIDS % 7, {
-        "auto-schedule-mode": "decline-always",
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 7, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "decline-always"),
+    )),
     # resource08
-    (RESOURCEGUIDS % 8, {
-        "auto-schedule-mode": "accept-if-free",
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 8, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "accept-if-free"),
+    )),
     # resource09
-    (RESOURCEGUIDS % 9, {
-        "auto-schedule-mode": "decline-if-busy",
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 9, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "decline-if-busy"),
+    )),
     # resource10
-    (RESOURCEGUIDS % 10, {
-        "auto-schedule-mode": "automatic",
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 10, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "automatic"),
+    )),
     # resource11
-    (RESOURCEGUIDS % 11, {
-        "auto-schedule-mode": "decline-always",
-        "auto-accept-group": GROUPGUIDS % 1,
-        "enable-calendar": "true",
-        "enable-addressbook": "true",
-    }),
+    (RESOURCEGUIDS % 11, (
+        ("enable-calendar", "true"),
+        ("enable-addressbook", "true"),
+        ("auto-schedule-mode", "decline-always"),
+        ("auto-accept-group", GROUPGUIDS % 1),
+    )),
 )
 
 out.write("""<record>
@@ -255,7 +360,7 @@
 
 for uid, settings in augments:
     elements = []
-    for key, value in settings.iteritems():
+    for key, value in settings:
         elements.append("<{key}>{value}</{key}>".format(key=key, value=value))
     elementsString = "\n    ".join(elements)
 
@@ -269,56 +374,104 @@
 out.close()
 
 
+# augments-test-pod.xml
+
+out = file("augments-test-pod.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE augments SYSTEM "augments.dtd">\n\n')
+out.write("<augments>\n")
+
+out.write("""<record>
+    <uid>Default</uid>
+    <server-id>A</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+""")
+
+# puser01-100
+for i in xrange(1, 101):
+    out.write("""<record>
+    <uid>{guid}</uid>
+    <server-id>B</server-id>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+""".format(guid=PUSERGUIDS % i))
+
+out.write("</augments>\n")
+out.close()
+
+
+# augments-test-s2s.xml
+
+out = file("augments-test-s2s.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE augments SYSTEM "augments.dtd">\n\n')
+out.write("<augments>\n")
+
+out.write("""<record>
+    <uid>Default</uid>
+    <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
+</record>
+""")
+
+out.write("</augments>\n")
+out.close()
+
+
 # proxies-test.xml
 
 out = file("proxies-test.xml", "w")
 out.write(prefix)
+out.write('<!DOCTYPE proxies SYSTEM "proxies.dtd">\n\n')
 out.write("<proxies>\n")
 
 proxies = (
     (RESOURCEGUIDS % 1, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 2, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 3, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 4, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 5, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 6, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 7, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 8, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 9, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     (RESOURCEGUIDS % 10, {
-        "proxies": (USERGUIDS % 1,),
-        "read-only-proxies": (USERGUIDS % 3,),
+        "write-proxies": (USERGUIDS % 1,),
+        "read-proxies": (USERGUIDS % 3,),
     }),
     ("delegatedroom", {
-        "proxies": (GROUPGUIDS % 5,),
-        "read-only-proxies": (),
+        "write-proxies": (GROUPGUIDS % 5,),
+        "read-proxies": (),
     }),
 )
 
@@ -339,3 +492,21 @@
 
 out.write("</proxies>\n")
 out.close()
+
+
+# proxies-test-pod.xml
+
+out = file("proxies-test-pod.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE proxies SYSTEM "proxies.dtd">\n\n')
+out.write("<proxies />\n")
+out.close()
+
+
+# proxies-test-s2s.xml
+
+out = file("proxies-test-s2s.xml", "w")
+out.write(prefix)
+out.write('<!DOCTYPE proxies SYSTEM "proxies.dtd">\n\n')
+out.write("<proxies />\n")
+out.close()

Modified: CalendarServer/trunk/conf/auth/proxies-test-pod.xml
===================================================================
--- CalendarServer/trunk/conf/auth/proxies-test-pod.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/proxies-test-pod.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-Copyright (c) 2009-2014 Apple Inc. All rights reserved.
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -18,5 +18,4 @@
 
 <!DOCTYPE proxies SYSTEM "proxies.dtd">
 
-<proxies>
-</proxies>
+<proxies />

Added: CalendarServer/trunk/conf/auth/proxies-test-s2s.xml
===================================================================
--- CalendarServer/trunk/conf/auth/proxies-test-s2s.xml	                        (rev 0)
+++ CalendarServer/trunk/conf/auth/proxies-test-s2s.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE proxies SYSTEM "proxies.dtd">
+
+<proxies />

Modified: CalendarServer/trunk/conf/auth/proxies-test.xml
===================================================================
--- CalendarServer/trunk/conf/auth/proxies-test.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/proxies-test.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -16,103 +16,105 @@
 limitations under the License.
  -->
 
+<!DOCTYPE proxies SYSTEM "proxies.dtd">
+
 <proxies>
 <record>
     <guid>40000000-0000-0000-0000-000000000001</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000002</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000003</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000004</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000005</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000006</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000007</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000008</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000009</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>40000000-0000-0000-0000-000000000010</guid>
-    <proxies>
+    <write-proxies>
     <member>10000000-0000-0000-0000-000000000001</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
     <member>10000000-0000-0000-0000-000000000003</member>
-    </read-only-proxies>
+    </read-proxies>
 </record>
 <record>
     <guid>delegatedroom</guid>
-    <proxies>
+    <write-proxies>
     <member>20000000-0000-0000-0000-000000000005</member>
-    </proxies>
-    <read-only-proxies>
-    </read-only-proxies>
+    </write-proxies>
+    <read-proxies>
+    </read-proxies>
 </record>
 </proxies>

Modified: CalendarServer/trunk/conf/auth/proxies.dtd
===================================================================
--- CalendarServer/trunk/conf/auth/proxies.dtd	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/proxies.dtd	2014-04-26 15:10:28 UTC (rev 13375)
@@ -16,11 +16,9 @@
 
 <!ELEMENT proxies (record*) >
 
-  <!ELEMENT record (guid, proxies?, read-only-proxies?)>
-    <!ATTLIST record repeat CDATA "1">
+  <!ELEMENT record (guid, write-proxies?, read-proxies?)>
 
-  <!ELEMENT guid              (#PCDATA)>
-  <!ELEMENT proxies           (member*)>
-  <!ELEMENT read-only-proxies (member*)>
-  <!ELEMENT member            (#PCDATA)>
->
+    <!ELEMENT guid              (#PCDATA)>
+    <!ELEMENT write-proxies     (member*)>
+    <!ELEMENT read-proxies      (member*)>
+      <!ELEMENT member            (#PCDATA)>

Modified: CalendarServer/trunk/conf/auth/resources-test-pod.xml
===================================================================
--- CalendarServer/trunk/conf/auth/resources-test-pod.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/resources-test-pod.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -1,4 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
 
-<accounts realm="Test Realm">
-</accounts>
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE accounts SYSTEM "accounts.dtd">
+
+<directory realm="Test Realm" />

Added: CalendarServer/trunk/conf/auth/resources-test-s2s.xml
===================================================================
--- CalendarServer/trunk/conf/auth/resources-test-s2s.xml	                        (rev 0)
+++ CalendarServer/trunk/conf/auth/resources-test-s2s.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE accounts SYSTEM "accounts.dtd">
+
+<directory realm="Test Realm 2" />


Property changes on: CalendarServer/trunk/conf/auth/resources-test-s2s.xml
___________________________________________________________________
Added: svn:executable
   + *

Modified: CalendarServer/trunk/conf/auth/resources-test.xml
===================================================================
--- CalendarServer/trunk/conf/auth/resources-test.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/auth/resources-test.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -16,1238 +16,1238 @@
 limitations under the License.
  -->
 
+<!DOCTYPE accounts SYSTEM "accounts.dtd">
+
 <directory realm="Test Realm">
-
-  <record type="location">
-    <short-name>pretend</short-name>
-    <uid>pretend</uid>
-    <full-name>Pretend Conference Room</full-name>
-    <associated-address>il1</associated-address>
-  </record>
-  <record type="address">
-    <short-name>il1</short-name>
-    <uid>il1</uid>
-    <full-name>IL1</full-name>
-    <street-address>1 Infinite Loop, Cupertino, CA 95014</street-address>
-    <geographic-location>37.331741,-122.030333</geographic-location>
-  </record>
-  <record type="location">
-    <short-name>fantastic</short-name>
-    <uid>fantastic</uid>
-    <full-name>Fantastic Conference Room</full-name>
-    <associated-address>il2</associated-address>
-  </record>
-  <record type="address">
-    <short-name>il2</short-name>
-    <uid>il2</uid>
-    <full-name>IL2</full-name>
-    <street-address>2 Infinite Loop, Cupertino, CA 95014</street-address>
-    <geographic-location>37.332633,-122.030502</geographic-location>
-  </record>
-  <record type="location">
-    <short-name>delegatedroom</short-name>
-    <uid>delegatedroom</uid>
-    <full-name>Delegated Conference Room</full-name>
-  </record>
-
 <record type="location">
-    <short-name>location01</short-name>
+  <uid>pretend</uid>
+  <short-name>pretend</short-name>
+  <full-name>Pretend Conference Room</full-name>
+  <associated-address>il1</associated-address>
+</record>
+<record type="address">
+  <uid>il1</uid>
+  <short-name>il1</short-name>
+  <full-name>IL1</full-name>
+  <street-address>1 Infinite Loop, Cupertino, CA 95014</street-address>
+  <geographic-location>37.331741,-122.030333</geographic-location>
+</record>
+<record type="location">
+  <uid>fantastic</uid>
+  <short-name>fantastic</short-name>
+  <full-name>Fantastic Conference Room</full-name>
+  <associated-address>il2</associated-address>
+</record>
+<record type="address">
+  <uid>il2</uid>
+  <short-name>il2</short-name>
+  <full-name>IL2</full-name>
+  <street-address>2 Infinite Loop, Cupertino, CA 95014</street-address>
+  <geographic-location>37.332633,-122.030502</geographic-location>
+</record>
+<record type="location">
+  <uid>delegatedroom</uid>
+  <short-name>delegatedroom</short-name>
+  <full-name>Delegated Conference Room</full-name>
+</record>
+<record type="location">
     <uid>30000000-0000-0000-0000-000000000001</uid>
     <guid>30000000-0000-0000-0000-000000000001</guid>
+    <short-name>location01</short-name>
     <full-name>Location 01</full-name>
 </record>
 <record type="location">
-    <short-name>location02</short-name>
     <uid>30000000-0000-0000-0000-000000000002</uid>
     <guid>30000000-0000-0000-0000-000000000002</guid>
+    <short-name>location02</short-name>
     <full-name>Location 02</full-name>
 </record>
 <record type="location">
-    <short-name>location03</short-name>
     <uid>30000000-0000-0000-0000-000000000003</uid>
     <guid>30000000-0000-0000-0000-000000000003</guid>
+    <short-name>location03</short-name>
     <full-name>Location 03</full-name>
 </record>
 <record type="location">
-    <short-name>location04</short-name>
     <uid>30000000-0000-0000-0000-000000000004</uid>
     <guid>30000000-0000-0000-0000-000000000004</guid>
+    <short-name>location04</short-name>
     <full-name>Location 04</full-name>
 </record>
 <record type="location">
-    <short-name>location05</short-name>
     <uid>30000000-0000-0000-0000-000000000005</uid>
     <guid>30000000-0000-0000-0000-000000000005</guid>
+    <short-name>location05</short-name>
     <full-name>Location 05</full-name>
 </record>
 <record type="location">
-    <short-name>location06</short-name>
     <uid>30000000-0000-0000-0000-000000000006</uid>
     <guid>30000000-0000-0000-0000-000000000006</guid>
+    <short-name>location06</short-name>
     <full-name>Location 06</full-name>
 </record>
 <record type="location">
-    <short-name>location07</short-name>
     <uid>30000000-0000-0000-0000-000000000007</uid>
     <guid>30000000-0000-0000-0000-000000000007</guid>
+    <short-name>location07</short-name>
     <full-name>Location 07</full-name>
 </record>
 <record type="location">
-    <short-name>location08</short-name>
     <uid>30000000-0000-0000-0000-000000000008</uid>
     <guid>30000000-0000-0000-0000-000000000008</guid>
+    <short-name>location08</short-name>
     <full-name>Location 08</full-name>
 </record>
 <record type="location">
-    <short-name>location09</short-name>
     <uid>30000000-0000-0000-0000-000000000009</uid>
     <guid>30000000-0000-0000-0000-000000000009</guid>
+    <short-name>location09</short-name>
     <full-name>Location 09</full-name>
 </record>
 <record type="location">
-    <short-name>location10</short-name>
     <uid>30000000-0000-0000-0000-000000000010</uid>
     <guid>30000000-0000-0000-0000-000000000010</guid>
+    <short-name>location10</short-name>
     <full-name>Location 10</full-name>
 </record>
 <record type="location">
-    <short-name>location11</short-name>
     <uid>30000000-0000-0000-0000-000000000011</uid>
     <guid>30000000-0000-0000-0000-000000000011</guid>
+    <short-name>location11</short-name>
     <full-name>Location 11</full-name>
 </record>
 <record type="location">
-    <short-name>location12</short-name>
     <uid>30000000-0000-0000-0000-000000000012</uid>
     <guid>30000000-0000-0000-0000-000000000012</guid>
+    <short-name>location12</short-name>
     <full-name>Location 12</full-name>
 </record>
 <record type="location">
-    <short-name>location13</short-name>
     <uid>30000000-0000-0000-0000-000000000013</uid>
     <guid>30000000-0000-0000-0000-000000000013</guid>
+    <short-name>location13</short-name>
     <full-name>Location 13</full-name>
 </record>
 <record type="location">
-    <short-name>location14</short-name>
     <uid>30000000-0000-0000-0000-000000000014</uid>
     <guid>30000000-0000-0000-0000-000000000014</guid>
+    <short-name>location14</short-name>
     <full-name>Location 14</full-name>
 </record>
 <record type="location">
-    <short-name>location15</short-name>
     <uid>30000000-0000-0000-0000-000000000015</uid>
     <guid>30000000-0000-0000-0000-000000000015</guid>
+    <short-name>location15</short-name>
     <full-name>Location 15</full-name>
 </record>
 <record type="location">
-    <short-name>location16</short-name>
     <uid>30000000-0000-0000-0000-000000000016</uid>
     <guid>30000000-0000-0000-0000-000000000016</guid>
+    <short-name>location16</short-name>
     <full-name>Location 16</full-name>
 </record>
 <record type="location">
-    <short-name>location17</short-name>
     <uid>30000000-0000-0000-0000-000000000017</uid>
     <guid>30000000-0000-0000-0000-000000000017</guid>
+    <short-name>location17</short-name>
     <full-name>Location 17</full-name>
 </record>
 <record type="location">
-    <short-name>location18</short-name>
     <uid>30000000-0000-0000-0000-000000000018</uid>
     <guid>30000000-0000-0000-0000-000000000018</guid>
+    <short-name>location18</short-name>
     <full-name>Location 18</full-name>
 </record>
 <record type="location">
-    <short-name>location19</short-name>
     <uid>30000000-0000-0000-0000-000000000019</uid>
     <guid>30000000-0000-0000-0000-000000000019</guid>
+    <short-name>location19</short-name>
     <full-name>Location 19</full-name>
 </record>
 <record type="location">
-    <short-name>location20</short-name>
     <uid>30000000-0000-0000-0000-000000000020</uid>
     <guid>30000000-0000-0000-0000-000000000020</guid>
+    <short-name>location20</short-name>
     <full-name>Location 20</full-name>
 </record>
 <record type="location">
-    <short-name>location21</short-name>
     <uid>30000000-0000-0000-0000-000000000021</uid>
     <guid>30000000-0000-0000-0000-000000000021</guid>
+    <short-name>location21</short-name>
     <full-name>Location 21</full-name>
 </record>
 <record type="location">
-    <short-name>location22</short-name>
     <uid>30000000-0000-0000-0000-000000000022</uid>
     <guid>30000000-0000-0000-0000-000000000022</guid>
+    <short-name>location22</short-name>
     <full-name>Location 22</full-name>
 </record>
 <record type="location">
-    <short-name>location23</short-name>
     <uid>30000000-0000-0000-0000-000000000023</uid>
     <guid>30000000-0000-0000-0000-000000000023</guid>
+    <short-name>location23</short-name>
     <full-name>Location 23</full-name>
 </record>
 <record type="location">
-    <short-name>location24</short-name>
     <uid>30000000-0000-0000-0000-000000000024</uid>
     <guid>30000000-0000-0000-0000-000000000024</guid>
+    <short-name>location24</short-name>
     <full-name>Location 24</full-name>
 </record>
 <record type="location">
-    <short-name>location25</short-name>
     <uid>30000000-0000-0000-0000-000000000025</uid>
     <guid>30000000-0000-0000-0000-000000000025</guid>
+    <short-name>location25</short-name>
     <full-name>Location 25</full-name>
 </record>
 <record type="location">
-    <short-name>location26</short-name>
     <uid>30000000-0000-0000-0000-000000000026</uid>
     <guid>30000000-0000-0000-0000-000000000026</guid>
+    <short-name>location26</short-name>
     <full-name>Location 26</full-name>
 </record>
 <record type="location">
-    <short-name>location27</short-name>
     <uid>30000000-0000-0000-0000-000000000027</uid>
     <guid>30000000-0000-0000-0000-000000000027</guid>
+    <short-name>location27</short-name>
     <full-name>Location 27</full-name>
 </record>
 <record type="location">
-    <short-name>location28</short-name>
     <uid>30000000-0000-0000-0000-000000000028</uid>
     <guid>30000000-0000-0000-0000-000000000028</guid>
+    <short-name>location28</short-name>
     <full-name>Location 28</full-name>
 </record>
 <record type="location">
-    <short-name>location29</short-name>
     <uid>30000000-0000-0000-0000-000000000029</uid>
     <guid>30000000-0000-0000-0000-000000000029</guid>
+    <short-name>location29</short-name>
     <full-name>Location 29</full-name>
 </record>
 <record type="location">
-    <short-name>location30</short-name>
     <uid>30000000-0000-0000-0000-000000000030</uid>
     <guid>30000000-0000-0000-0000-000000000030</guid>
+    <short-name>location30</short-name>
     <full-name>Location 30</full-name>
 </record>
 <record type="location">
-    <short-name>location31</short-name>
     <uid>30000000-0000-0000-0000-000000000031</uid>
     <guid>30000000-0000-0000-0000-000000000031</guid>
+    <short-name>location31</short-name>
     <full-name>Location 31</full-name>
 </record>
 <record type="location">
-    <short-name>location32</short-name>
     <uid>30000000-0000-0000-0000-000000000032</uid>
     <guid>30000000-0000-0000-0000-000000000032</guid>
+    <short-name>location32</short-name>
     <full-name>Location 32</full-name>
 </record>
 <record type="location">
-    <short-name>location33</short-name>
     <uid>30000000-0000-0000-0000-000000000033</uid>
     <guid>30000000-0000-0000-0000-000000000033</guid>
+    <short-name>location33</short-name>
     <full-name>Location 33</full-name>
 </record>
 <record type="location">
-    <short-name>location34</short-name>
     <uid>30000000-0000-0000-0000-000000000034</uid>
     <guid>30000000-0000-0000-0000-000000000034</guid>
+    <short-name>location34</short-name>
     <full-name>Location 34</full-name>
 </record>
 <record type="location">
-    <short-name>location35</short-name>
     <uid>30000000-0000-0000-0000-000000000035</uid>
     <guid>30000000-0000-0000-0000-000000000035</guid>
+    <short-name>location35</short-name>
     <full-name>Location 35</full-name>
 </record>
 <record type="location">
-    <short-name>location36</short-name>
     <uid>30000000-0000-0000-0000-000000000036</uid>
     <guid>30000000-0000-0000-0000-000000000036</guid>
+    <short-name>location36</short-name>
     <full-name>Location 36</full-name>
 </record>
 <record type="location">
-    <short-name>location37</short-name>
     <uid>30000000-0000-0000-0000-000000000037</uid>
     <guid>30000000-0000-0000-0000-000000000037</guid>
+    <short-name>location37</short-name>
     <full-name>Location 37</full-name>
 </record>
 <record type="location">
-    <short-name>location38</short-name>
     <uid>30000000-0000-0000-0000-000000000038</uid>
     <guid>30000000-0000-0000-0000-000000000038</guid>
+    <short-name>location38</short-name>
     <full-name>Location 38</full-name>
 </record>
 <record type="location">
-    <short-name>location39</short-name>
     <uid>30000000-0000-0000-0000-000000000039</uid>
     <guid>30000000-0000-0000-0000-000000000039</guid>
+    <short-name>location39</short-name>
     <full-name>Location 39</full-name>
 </record>
 <record type="location">
-    <short-name>location40</short-name>
     <uid>30000000-0000-0000-0000-000000000040</uid>
     <guid>30000000-0000-0000-0000-000000000040</guid>
+    <short-name>location40</short-name>
     <full-name>Location 40</full-name>
 </record>
 <record type="location">
-    <short-name>location41</short-name>
     <uid>30000000-0000-0000-0000-000000000041</uid>
     <guid>30000000-0000-0000-0000-000000000041</guid>
+    <short-name>location41</short-name>
     <full-name>Location 41</full-name>
 </record>
 <record type="location">
-    <short-name>location42</short-name>
     <uid>30000000-0000-0000-0000-000000000042</uid>
     <guid>30000000-0000-0000-0000-000000000042</guid>
+    <short-name>location42</short-name>
     <full-name>Location 42</full-name>
 </record>
 <record type="location">
-    <short-name>location43</short-name>
     <uid>30000000-0000-0000-0000-000000000043</uid>
     <guid>30000000-0000-0000-0000-000000000043</guid>
+    <short-name>location43</short-name>
     <full-name>Location 43</full-name>
 </record>
 <record type="location">
-    <short-name>location44</short-name>
     <uid>30000000-0000-0000-0000-000000000044</uid>
     <guid>30000000-0000-0000-0000-000000000044</guid>
+    <short-name>location44</short-name>
     <full-name>Location 44</full-name>
 </record>
 <record type="location">
-    <short-name>location45</short-name>
     <uid>30000000-0000-0000-0000-000000000045</uid>
     <guid>30000000-0000-0000-0000-000000000045</guid>
+    <short-name>location45</short-name>
     <full-name>Location 45</full-name>
 </record>
 <record type="location">
-    <short-name>location46</short-name>
     <uid>30000000-0000-0000-0000-000000000046</uid>
     <guid>30000000-0000-0000-0000-000000000046</guid>
+    <short-name>location46</short-name>
     <full-name>Location 46</full-name>
 </record>
 <record type="location">
-    <short-name>location47</short-name>
     <uid>30000000-0000-0000-0000-000000000047</uid>
     <guid>30000000-0000-0000-0000-000000000047</guid>
+    <short-name>location47</short-name>
     <full-name>Location 47</full-name>
 </record>
 <record type="location">
-    <short-name>location48</short-name>
     <uid>30000000-0000-0000-0000-000000000048</uid>
     <guid>30000000-0000-0000-0000-000000000048</guid>
+    <short-name>location48</short-name>
     <full-name>Location 48</full-name>
 </record>
 <record type="location">
-    <short-name>location49</short-name>
     <uid>30000000-0000-0000-0000-000000000049</uid>
     <guid>30000000-0000-0000-0000-000000000049</guid>
+    <short-name>location49</short-name>
     <full-name>Location 49</full-name>
 </record>
 <record type="location">
-    <short-name>location50</short-name>
     <uid>30000000-0000-0000-0000-000000000050</uid>
     <guid>30000000-0000-0000-0000-000000000050</guid>
+    <short-name>location50</short-name>
     <full-name>Location 50</full-name>
 </record>
 <record type="location">
-    <short-name>location51</short-name>
     <uid>30000000-0000-0000-0000-000000000051</uid>
     <guid>30000000-0000-0000-0000-000000000051</guid>
+    <short-name>location51</short-name>
     <full-name>Location 51</full-name>
 </record>
 <record type="location">
-    <short-name>location52</short-name>
     <uid>30000000-0000-0000-0000-000000000052</uid>
     <guid>30000000-0000-0000-0000-000000000052</guid>
+    <short-name>location52</short-name>
     <full-name>Location 52</full-name>
 </record>
 <record type="location">
-    <short-name>location53</short-name>
     <uid>30000000-0000-0000-0000-000000000053</uid>
     <guid>30000000-0000-0000-0000-000000000053</guid>
+    <short-name>location53</short-name>
     <full-name>Location 53</full-name>
 </record>
 <record type="location">
-    <short-name>location54</short-name>
     <uid>30000000-0000-0000-0000-000000000054</uid>
     <guid>30000000-0000-0000-0000-000000000054</guid>
+    <short-name>location54</short-name>
     <full-name>Location 54</full-name>
 </record>
 <record type="location">
-    <short-name>location55</short-name>
     <uid>30000000-0000-0000-0000-000000000055</uid>
     <guid>30000000-0000-0000-0000-000000000055</guid>
+    <short-name>location55</short-name>
     <full-name>Location 55</full-name>
 </record>
 <record type="location">
-    <short-name>location56</short-name>
     <uid>30000000-0000-0000-0000-000000000056</uid>
     <guid>30000000-0000-0000-0000-000000000056</guid>
+    <short-name>location56</short-name>
     <full-name>Location 56</full-name>
 </record>
 <record type="location">
-    <short-name>location57</short-name>
     <uid>30000000-0000-0000-0000-000000000057</uid>
     <guid>30000000-0000-0000-0000-000000000057</guid>
+    <short-name>location57</short-name>
     <full-name>Location 57</full-name>
 </record>
 <record type="location">
-    <short-name>location58</short-name>
     <uid>30000000-0000-0000-0000-000000000058</uid>
     <guid>30000000-0000-0000-0000-000000000058</guid>
+    <short-name>location58</short-name>
     <full-name>Location 58</full-name>
 </record>
 <record type="location">
-    <short-name>location59</short-name>
     <uid>30000000-0000-0000-0000-000000000059</uid>
     <guid>30000000-0000-0000-0000-000000000059</guid>
+    <short-name>location59</short-name>
     <full-name>Location 59</full-name>
 </record>
 <record type="location">
-    <short-name>location60</short-name>
     <uid>30000000-0000-0000-0000-000000000060</uid>
     <guid>30000000-0000-0000-0000-000000000060</guid>
+    <short-name>location60</short-name>
     <full-name>Location 60</full-name>
 </record>
 <record type="location">
-    <short-name>location61</short-name>
     <uid>30000000-0000-0000-0000-000000000061</uid>
     <guid>30000000-0000-0000-0000-000000000061</guid>
+    <short-name>location61</short-name>
     <full-name>Location 61</full-name>
 </record>
 <record type="location">
-    <short-name>location62</short-name>
     <uid>30000000-0000-0000-0000-000000000062</uid>
     <guid>30000000-0000-0000-0000-000000000062</guid>
+    <short-name>location62</short-name>
     <full-name>Location 62</full-name>
 </record>
 <record type="location">
-    <short-name>location63</short-name>
     <uid>30000000-0000-0000-0000-000000000063</uid>
     <guid>30000000-0000-0000-0000-000000000063</guid>
+    <short-name>location63</short-name>
     <full-name>Location 63</full-name>
 </record>
 <record type="location">
-    <short-name>location64</short-name>
     <uid>30000000-0000-0000-0000-000000000064</uid>
     <guid>30000000-0000-0000-0000-000000000064</guid>
+    <short-name>location64</short-name>
     <full-name>Location 64</full-name>
 </record>
 <record type="location">
-    <short-name>location65</short-name>
     <uid>30000000-0000-0000-0000-000000000065</uid>
     <guid>30000000-0000-0000-0000-000000000065</guid>
+    <short-name>location65</short-name>
     <full-name>Location 65</full-name>
 </record>
 <record type="location">
-    <short-name>location66</short-name>
     <uid>30000000-0000-0000-0000-000000000066</uid>
     <guid>30000000-0000-0000-0000-000000000066</guid>
+    <short-name>location66</short-name>
     <full-name>Location 66</full-name>
 </record>
 <record type="location">
-    <short-name>location67</short-name>
     <uid>30000000-0000-0000-0000-000000000067</uid>
     <guid>30000000-0000-0000-0000-000000000067</guid>
+    <short-name>location67</short-name>
     <full-name>Location 67</full-name>
 </record>
 <record type="location">
-    <short-name>location68</short-name>
     <uid>30000000-0000-0000-0000-000000000068</uid>
     <guid>30000000-0000-0000-0000-000000000068</guid>
+    <short-name>location68</short-name>
     <full-name>Location 68</full-name>
 </record>
 <record type="location">
-    <short-name>location69</short-name>
     <uid>30000000-0000-0000-0000-000000000069</uid>
     <guid>30000000-0000-0000-0000-000000000069</guid>
+    <short-name>location69</short-name>
     <full-name>Location 69</full-name>
 </record>
 <record type="location">
-    <short-name>location70</short-name>
     <uid>30000000-0000-0000-0000-000000000070</uid>
     <guid>30000000-0000-0000-0000-000000000070</guid>
+    <short-name>location70</short-name>
     <full-name>Location 70</full-name>
 </record>
 <record type="location">
-    <short-name>location71</short-name>
     <uid>30000000-0000-0000-0000-000000000071</uid>
     <guid>30000000-0000-0000-0000-000000000071</guid>
+    <short-name>location71</short-name>
     <full-name>Location 71</full-name>
 </record>
 <record type="location">
-    <short-name>location72</short-name>
     <uid>30000000-0000-0000-0000-000000000072</uid>
     <guid>30000000-0000-0000-0000-000000000072</guid>
+    <short-name>location72</short-name>
     <full-name>Location 72</full-name>
 </record>
 <record type="location">
-    <short-name>location73</short-name>
     <uid>30000000-0000-0000-0000-000000000073</uid>
     <guid>30000000-0000-0000-0000-000000000073</guid>
+    <short-name>location73</short-name>
     <full-name>Location 73</full-name>
 </record>
 <record type="location">
-    <short-name>location74</short-name>
     <uid>30000000-0000-0000-0000-000000000074</uid>
     <guid>30000000-0000-0000-0000-000000000074</guid>
+    <short-name>location74</short-name>
     <full-name>Location 74</full-name>
 </record>
 <record type="location">
-    <short-name>location75</short-name>
     <uid>30000000-0000-0000-0000-000000000075</uid>
     <guid>30000000-0000-0000-0000-000000000075</guid>
+    <short-name>location75</short-name>
     <full-name>Location 75</full-name>
 </record>
 <record type="location">
-    <short-name>location76</short-name>
     <uid>30000000-0000-0000-0000-000000000076</uid>
     <guid>30000000-0000-0000-0000-000000000076</guid>
+    <short-name>location76</short-name>
     <full-name>Location 76</full-name>
 </record>
 <record type="location">
-    <short-name>location77</short-name>
     <uid>30000000-0000-0000-0000-000000000077</uid>
     <guid>30000000-0000-0000-0000-000000000077</guid>
+    <short-name>location77</short-name>
     <full-name>Location 77</full-name>
 </record>
 <record type="location">
-    <short-name>location78</short-name>
     <uid>30000000-0000-0000-0000-000000000078</uid>
     <guid>30000000-0000-0000-0000-000000000078</guid>
+    <short-name>location78</short-name>
     <full-name>Location 78</full-name>
 </record>
 <record type="location">
-    <short-name>location79</short-name>
     <uid>30000000-0000-0000-0000-000000000079</uid>
     <guid>30000000-0000-0000-0000-000000000079</guid>
+    <short-name>location79</short-name>
     <full-name>Location 79</full-name>
 </record>
 <record type="location">
-    <short-name>location80</short-name>
     <uid>30000000-0000-0000-0000-000000000080</uid>
     <guid>30000000-0000-0000-0000-000000000080</guid>
+    <short-name>location80</short-name>
     <full-name>Location 80</full-name>
 </record>
 <record type="location">
-    <short-name>location81</short-name>
     <uid>30000000-0000-0000-0000-000000000081</uid>
     <guid>30000000-0000-0000-0000-000000000081</guid>
+    <short-name>location81</short-name>
     <full-name>Location 81</full-name>
 </record>
 <record type="location">
-    <short-name>location82</short-name>
     <uid>30000000-0000-0000-0000-000000000082</uid>
     <guid>30000000-0000-0000-0000-000000000082</guid>
+    <short-name>location82</short-name>
     <full-name>Location 82</full-name>
 </record>
 <record type="location">
-    <short-name>location83</short-name>
     <uid>30000000-0000-0000-0000-000000000083</uid>
     <guid>30000000-0000-0000-0000-000000000083</guid>
+    <short-name>location83</short-name>
     <full-name>Location 83</full-name>
 </record>
 <record type="location">
-    <short-name>location84</short-name>
     <uid>30000000-0000-0000-0000-000000000084</uid>
     <guid>30000000-0000-0000-0000-000000000084</guid>
+    <short-name>location84</short-name>
     <full-name>Location 84</full-name>
 </record>
 <record type="location">
-    <short-name>location85</short-name>
     <uid>30000000-0000-0000-0000-000000000085</uid>
     <guid>30000000-0000-0000-0000-000000000085</guid>
+    <short-name>location85</short-name>
     <full-name>Location 85</full-name>
 </record>
 <record type="location">
-    <short-name>location86</short-name>
     <uid>30000000-0000-0000-0000-000000000086</uid>
     <guid>30000000-0000-0000-0000-000000000086</guid>
+    <short-name>location86</short-name>
     <full-name>Location 86</full-name>
 </record>
 <record type="location">
-    <short-name>location87</short-name>
     <uid>30000000-0000-0000-0000-000000000087</uid>
     <guid>30000000-0000-0000-0000-000000000087</guid>
+    <short-name>location87</short-name>
     <full-name>Location 87</full-name>
 </record>
 <record type="location">
-    <short-name>location88</short-name>
     <uid>30000000-0000-0000-0000-000000000088</uid>
     <guid>30000000-0000-0000-0000-000000000088</guid>
+    <short-name>location88</short-name>
     <full-name>Location 88</full-name>
 </record>
 <record type="location">
-    <short-name>location89</short-name>
     <uid>30000000-0000-0000-0000-000000000089</uid>
     <guid>30000000-0000-0000-0000-000000000089</guid>
+    <short-name>location89</short-name>
     <full-name>Location 89</full-name>
 </record>
 <record type="location">
-    <short-name>location90</short-name>
     <uid>30000000-0000-0000-0000-000000000090</uid>
     <guid>30000000-0000-0000-0000-000000000090</guid>
+    <short-name>location90</short-name>
     <full-name>Location 90</full-name>
 </record>
 <record type="location">
-    <short-name>location91</short-name>
     <uid>30000000-0000-0000-0000-000000000091</uid>
     <guid>30000000-0000-0000-0000-000000000091</guid>
+    <short-name>location91</short-name>
     <full-name>Location 91</full-name>
 </record>
 <record type="location">
-    <short-name>location92</short-name>
     <uid>30000000-0000-0000-0000-000000000092</uid>
     <guid>30000000-0000-0000-0000-000000000092</guid>
+    <short-name>location92</short-name>
     <full-name>Location 92</full-name>
 </record>
 <record type="location">
-    <short-name>location93</short-name>
     <uid>30000000-0000-0000-0000-000000000093</uid>
     <guid>30000000-0000-0000-0000-000000000093</guid>
+    <short-name>location93</short-name>
     <full-name>Location 93</full-name>
 </record>
 <record type="location">
-    <short-name>location94</short-name>
     <uid>30000000-0000-0000-0000-000000000094</uid>
     <guid>30000000-0000-0000-0000-000000000094</guid>
+    <short-name>location94</short-name>
     <full-name>Location 94</full-name>
 </record>
 <record type="location">
-    <short-name>location95</short-name>
     <uid>30000000-0000-0000-0000-000000000095</uid>
     <guid>30000000-0000-0000-0000-000000000095</guid>
+    <short-name>location95</short-name>
     <full-name>Location 95</full-name>
 </record>
 <record type="location">
-    <short-name>location96</short-name>
     <uid>30000000-0000-0000-0000-000000000096</uid>
     <guid>30000000-0000-0000-0000-000000000096</guid>
+    <short-name>location96</short-name>
     <full-name>Location 96</full-name>
 </record>
 <record type="location">
-    <short-name>location97</short-name>
     <uid>30000000-0000-0000-0000-000000000097</uid>
     <guid>30000000-0000-0000-0000-000000000097</guid>
+    <short-name>location97</short-name>
     <full-name>Location 97</full-name>
 </record>
 <record type="location">
-    <short-name>location98</short-name>
     <uid>30000000-0000-0000-0000-000000000098</uid>
     <guid>30000000-0000-0000-0000-000000000098</guid>
+    <short-name>location98</short-name>
     <full-name>Location 98</full-name>
 </record>
 <record type="location">
-    <short-name>location99</short-name>
     <uid>30000000-0000-0000-0000-000000000099</uid>
     <guid>30000000-0000-0000-0000-000000000099</guid>
+    <short-name>location99</short-name>
     <full-name>Location 99</full-name>
 </record>
 <record type="location">
-    <short-name>location100</short-name>
     <uid>30000000-0000-0000-0000-000000000100</uid>
     <guid>30000000-0000-0000-0000-000000000100</guid>
+    <short-name>location100</short-name>
     <full-name>Location 100</full-name>
 </record>
 <record type="resource">
-    <short-name>resource01</short-name>
     <uid>40000000-0000-0000-0000-000000000001</uid>
     <guid>40000000-0000-0000-0000-000000000001</guid>
+    <short-name>resource01</short-name>
     <full-name>Resource 01</full-name>
 </record>
 <record type="resource">
-    <short-name>resource02</short-name>
     <uid>40000000-0000-0000-0000-000000000002</uid>
     <guid>40000000-0000-0000-0000-000000000002</guid>
+    <short-name>resource02</short-name>
     <full-name>Resource 02</full-name>
 </record>
 <record type="resource">
-    <short-name>resource03</short-name>
     <uid>40000000-0000-0000-0000-000000000003</uid>
     <guid>40000000-0000-0000-0000-000000000003</guid>
+    <short-name>resource03</short-name>
     <full-name>Resource 03</full-name>
 </record>
 <record type="resource">
-    <short-name>resource04</short-name>
     <uid>40000000-0000-0000-0000-000000000004</uid>
     <guid>40000000-0000-0000-0000-000000000004</guid>
+    <short-name>resource04</short-name>
     <full-name>Resource 04</full-name>
 </record>
 <record type="resource">
-    <short-name>resource05</short-name>
     <uid>40000000-0000-0000-0000-000000000005</uid>
     <guid>40000000-0000-0000-0000-000000000005</guid>
+    <short-name>resource05</short-name>
     <full-name>Resource 05</full-name>
 </record>
 <record type="resource">
-    <short-name>resource06</short-name>
     <uid>40000000-0000-0000-0000-000000000006</uid>
     <guid>40000000-0000-0000-0000-000000000006</guid>
+    <short-name>resource06</short-name>
     <full-name>Resource 06</full-name>
 </record>
 <record type="resource">
-    <short-name>resource07</short-name>
     <uid>40000000-0000-0000-0000-000000000007</uid>
     <guid>40000000-0000-0000-0000-000000000007</guid>
+    <short-name>resource07</short-name>
     <full-name>Resource 07</full-name>
 </record>
 <record type="resource">
-    <short-name>resource08</short-name>
     <uid>40000000-0000-0000-0000-000000000008</uid>
     <guid>40000000-0000-0000-0000-000000000008</guid>
+    <short-name>resource08</short-name>
     <full-name>Resource 08</full-name>
 </record>
 <record type="resource">
-    <short-name>resource09</short-name>
     <uid>40000000-0000-0000-0000-000000000009</uid>
     <guid>40000000-0000-0000-0000-000000000009</guid>
+    <short-name>resource09</short-name>
     <full-name>Resource 09</full-name>
 </record>
 <record type="resource">
-    <short-name>resource10</short-name>
     <uid>40000000-0000-0000-0000-000000000010</uid>
     <guid>40000000-0000-0000-0000-000000000010</guid>
+    <short-name>resource10</short-name>
     <full-name>Resource 10</full-name>
 </record>
 <record type="resource">
-    <short-name>resource11</short-name>
     <uid>40000000-0000-0000-0000-000000000011</uid>
     <guid>40000000-0000-0000-0000-000000000011</guid>
+    <short-name>resource11</short-name>
     <full-name>Resource 11</full-name>
 </record>
 <record type="resource">
-    <short-name>resource12</short-name>
     <uid>40000000-0000-0000-0000-000000000012</uid>
     <guid>40000000-0000-0000-0000-000000000012</guid>
+    <short-name>resource12</short-name>
     <full-name>Resource 12</full-name>
 </record>
 <record type="resource">
-    <short-name>resource13</short-name>
     <uid>40000000-0000-0000-0000-000000000013</uid>
     <guid>40000000-0000-0000-0000-000000000013</guid>
+    <short-name>resource13</short-name>
     <full-name>Resource 13</full-name>
 </record>
 <record type="resource">
-    <short-name>resource14</short-name>
     <uid>40000000-0000-0000-0000-000000000014</uid>
     <guid>40000000-0000-0000-0000-000000000014</guid>
+    <short-name>resource14</short-name>
     <full-name>Resource 14</full-name>
 </record>
 <record type="resource">
-    <short-name>resource15</short-name>
     <uid>40000000-0000-0000-0000-000000000015</uid>
     <guid>40000000-0000-0000-0000-000000000015</guid>
+    <short-name>resource15</short-name>
     <full-name>Resource 15</full-name>
 </record>
 <record type="resource">
-    <short-name>resource16</short-name>
     <uid>40000000-0000-0000-0000-000000000016</uid>
     <guid>40000000-0000-0000-0000-000000000016</guid>
+    <short-name>resource16</short-name>
     <full-name>Resource 16</full-name>
 </record>
 <record type="resource">
-    <short-name>resource17</short-name>
     <uid>40000000-0000-0000-0000-000000000017</uid>
     <guid>40000000-0000-0000-0000-000000000017</guid>
+    <short-name>resource17</short-name>
     <full-name>Resource 17</full-name>
 </record>
 <record type="resource">
-    <short-name>resource18</short-name>
     <uid>40000000-0000-0000-0000-000000000018</uid>
     <guid>40000000-0000-0000-0000-000000000018</guid>
+    <short-name>resource18</short-name>
     <full-name>Resource 18</full-name>
 </record>
 <record type="resource">
-    <short-name>resource19</short-name>
     <uid>40000000-0000-0000-0000-000000000019</uid>
     <guid>40000000-0000-0000-0000-000000000019</guid>
+    <short-name>resource19</short-name>
     <full-name>Resource 19</full-name>
 </record>
 <record type="resource">
-    <short-name>resource20</short-name>
     <uid>40000000-0000-0000-0000-000000000020</uid>
     <guid>40000000-0000-0000-0000-000000000020</guid>
+    <short-name>resource20</short-name>
     <full-name>Resource 20</full-name>
 </record>
 <record type="resource">
-    <short-name>resource21</short-name>
     <uid>40000000-0000-0000-0000-000000000021</uid>
     <guid>40000000-0000-0000-0000-000000000021</guid>
+    <short-name>resource21</short-name>
     <full-name>Resource 21</full-name>
 </record>
 <record type="resource">
-    <short-name>resource22</short-name>
     <uid>40000000-0000-0000-0000-000000000022</uid>
     <guid>40000000-0000-0000-0000-000000000022</guid>
+    <short-name>resource22</short-name>
     <full-name>Resource 22</full-name>
 </record>
 <record type="resource">
-    <short-name>resource23</short-name>
     <uid>40000000-0000-0000-0000-000000000023</uid>
     <guid>40000000-0000-0000-0000-000000000023</guid>
+    <short-name>resource23</short-name>
     <full-name>Resource 23</full-name>
 </record>
 <record type="resource">
-    <short-name>resource24</short-name>
     <uid>40000000-0000-0000-0000-000000000024</uid>
     <guid>40000000-0000-0000-0000-000000000024</guid>
+    <short-name>resource24</short-name>
     <full-name>Resource 24</full-name>
 </record>
 <record type="resource">
-    <short-name>resource25</short-name>
     <uid>40000000-0000-0000-0000-000000000025</uid>
     <guid>40000000-0000-0000-0000-000000000025</guid>
+    <short-name>resource25</short-name>
     <full-name>Resource 25</full-name>
 </record>
 <record type="resource">
-    <short-name>resource26</short-name>
     <uid>40000000-0000-0000-0000-000000000026</uid>
     <guid>40000000-0000-0000-0000-000000000026</guid>
+    <short-name>resource26</short-name>
     <full-name>Resource 26</full-name>
 </record>
 <record type="resource">
-    <short-name>resource27</short-name>
     <uid>40000000-0000-0000-0000-000000000027</uid>
     <guid>40000000-0000-0000-0000-000000000027</guid>
+    <short-name>resource27</short-name>
     <full-name>Resource 27</full-name>
 </record>
 <record type="resource">
-    <short-name>resource28</short-name>
     <uid>40000000-0000-0000-0000-000000000028</uid>
     <guid>40000000-0000-0000-0000-000000000028</guid>
+    <short-name>resource28</short-name>
     <full-name>Resource 28</full-name>
 </record>
 <record type="resource">
-    <short-name>resource29</short-name>
     <uid>40000000-0000-0000-0000-000000000029</uid>
     <guid>40000000-0000-0000-0000-000000000029</guid>
+    <short-name>resource29</short-name>
     <full-name>Resource 29</full-name>
 </record>
 <record type="resource">
-    <short-name>resource30</short-name>
     <uid>40000000-0000-0000-0000-000000000030</uid>
     <guid>40000000-0000-0000-0000-000000000030</guid>
+    <short-name>resource30</short-name>
     <full-name>Resource 30</full-name>
 </record>
 <record type="resource">
-    <short-name>resource31</short-name>
     <uid>40000000-0000-0000-0000-000000000031</uid>
     <guid>40000000-0000-0000-0000-000000000031</guid>
+    <short-name>resource31</short-name>
     <full-name>Resource 31</full-name>
 </record>
 <record type="resource">
-    <short-name>resource32</short-name>
     <uid>40000000-0000-0000-0000-000000000032</uid>
     <guid>40000000-0000-0000-0000-000000000032</guid>
+    <short-name>resource32</short-name>
     <full-name>Resource 32</full-name>
 </record>
 <record type="resource">
-    <short-name>resource33</short-name>
     <uid>40000000-0000-0000-0000-000000000033</uid>
     <guid>40000000-0000-0000-0000-000000000033</guid>
+    <short-name>resource33</short-name>
     <full-name>Resource 33</full-name>
 </record>
 <record type="resource">
-    <short-name>resource34</short-name>
     <uid>40000000-0000-0000-0000-000000000034</uid>
     <guid>40000000-0000-0000-0000-000000000034</guid>
+    <short-name>resource34</short-name>
     <full-name>Resource 34</full-name>
 </record>
 <record type="resource">
-    <short-name>resource35</short-name>
     <uid>40000000-0000-0000-0000-000000000035</uid>
     <guid>40000000-0000-0000-0000-000000000035</guid>
+    <short-name>resource35</short-name>
     <full-name>Resource 35</full-name>
 </record>
 <record type="resource">
-    <short-name>resource36</short-name>
     <uid>40000000-0000-0000-0000-000000000036</uid>
     <guid>40000000-0000-0000-0000-000000000036</guid>
+    <short-name>resource36</short-name>
     <full-name>Resource 36</full-name>
 </record>
 <record type="resource">
-    <short-name>resource37</short-name>
     <uid>40000000-0000-0000-0000-000000000037</uid>
     <guid>40000000-0000-0000-0000-000000000037</guid>
+    <short-name>resource37</short-name>
     <full-name>Resource 37</full-name>
 </record>
 <record type="resource">
-    <short-name>resource38</short-name>
     <uid>40000000-0000-0000-0000-000000000038</uid>
     <guid>40000000-0000-0000-0000-000000000038</guid>
+    <short-name>resource38</short-name>
     <full-name>Resource 38</full-name>
 </record>
 <record type="resource">
-    <short-name>resource39</short-name>
     <uid>40000000-0000-0000-0000-000000000039</uid>
     <guid>40000000-0000-0000-0000-000000000039</guid>
+    <short-name>resource39</short-name>
     <full-name>Resource 39</full-name>
 </record>
 <record type="resource">
-    <short-name>resource40</short-name>
     <uid>40000000-0000-0000-0000-000000000040</uid>
     <guid>40000000-0000-0000-0000-000000000040</guid>
+    <short-name>resource40</short-name>
     <full-name>Resource 40</full-name>
 </record>
 <record type="resource">
-    <short-name>resource41</short-name>
     <uid>40000000-0000-0000-0000-000000000041</uid>
     <guid>40000000-0000-0000-0000-000000000041</guid>
+    <short-name>resource41</short-name>
     <full-name>Resource 41</full-name>
 </record>
 <record type="resource">
-    <short-name>resource42</short-name>
     <uid>40000000-0000-0000-0000-000000000042</uid>
     <guid>40000000-0000-0000-0000-000000000042</guid>
+    <short-name>resource42</short-name>
     <full-name>Resource 42</full-name>
 </record>
 <record type="resource">
-    <short-name>resource43</short-name>
     <uid>40000000-0000-0000-0000-000000000043</uid>
     <guid>40000000-0000-0000-0000-000000000043</guid>
+    <short-name>resource43</short-name>
     <full-name>Resource 43</full-name>
 </record>
 <record type="resource">
-    <short-name>resource44</short-name>
     <uid>40000000-0000-0000-0000-000000000044</uid>
     <guid>40000000-0000-0000-0000-000000000044</guid>
+    <short-name>resource44</short-name>
     <full-name>Resource 44</full-name>
 </record>
 <record type="resource">
-    <short-name>resource45</short-name>
     <uid>40000000-0000-0000-0000-000000000045</uid>
     <guid>40000000-0000-0000-0000-000000000045</guid>
+    <short-name>resource45</short-name>
     <full-name>Resource 45</full-name>
 </record>
 <record type="resource">
-    <short-name>resource46</short-name>
     <uid>40000000-0000-0000-0000-000000000046</uid>
     <guid>40000000-0000-0000-0000-000000000046</guid>
+    <short-name>resource46</short-name>
     <full-name>Resource 46</full-name>
 </record>
 <record type="resource">
-    <short-name>resource47</short-name>
     <uid>40000000-0000-0000-0000-000000000047</uid>
     <guid>40000000-0000-0000-0000-000000000047</guid>
+    <short-name>resource47</short-name>
     <full-name>Resource 47</full-name>
 </record>
 <record type="resource">
-    <short-name>resource48</short-name>
     <uid>40000000-0000-0000-0000-000000000048</uid>
     <guid>40000000-0000-0000-0000-000000000048</guid>
+    <short-name>resource48</short-name>
     <full-name>Resource 48</full-name>
 </record>
 <record type="resource">
-    <short-name>resource49</short-name>
     <uid>40000000-0000-0000-0000-000000000049</uid>
     <guid>40000000-0000-0000-0000-000000000049</guid>
+    <short-name>resource49</short-name>
     <full-name>Resource 49</full-name>
 </record>
 <record type="resource">
-    <short-name>resource50</short-name>
     <uid>40000000-0000-0000-0000-000000000050</uid>
     <guid>40000000-0000-0000-0000-000000000050</guid>
+    <short-name>resource50</short-name>
     <full-name>Resource 50</full-name>
 </record>
 <record type="resource">
-    <short-name>resource51</short-name>
     <uid>40000000-0000-0000-0000-000000000051</uid>
     <guid>40000000-0000-0000-0000-000000000051</guid>
+    <short-name>resource51</short-name>
     <full-name>Resource 51</full-name>
 </record>
 <record type="resource">
-    <short-name>resource52</short-name>
     <uid>40000000-0000-0000-0000-000000000052</uid>
     <guid>40000000-0000-0000-0000-000000000052</guid>
+    <short-name>resource52</short-name>
     <full-name>Resource 52</full-name>
 </record>
 <record type="resource">
-    <short-name>resource53</short-name>
     <uid>40000000-0000-0000-0000-000000000053</uid>
     <guid>40000000-0000-0000-0000-000000000053</guid>
+    <short-name>resource53</short-name>
     <full-name>Resource 53</full-name>
 </record>
 <record type="resource">
-    <short-name>resource54</short-name>
     <uid>40000000-0000-0000-0000-000000000054</uid>
     <guid>40000000-0000-0000-0000-000000000054</guid>
+    <short-name>resource54</short-name>
     <full-name>Resource 54</full-name>
 </record>
 <record type="resource">
-    <short-name>resource55</short-name>
     <uid>40000000-0000-0000-0000-000000000055</uid>
     <guid>40000000-0000-0000-0000-000000000055</guid>
+    <short-name>resource55</short-name>
     <full-name>Resource 55</full-name>
 </record>
 <record type="resource">
-    <short-name>resource56</short-name>
     <uid>40000000-0000-0000-0000-000000000056</uid>
     <guid>40000000-0000-0000-0000-000000000056</guid>
+    <short-name>resource56</short-name>
     <full-name>Resource 56</full-name>
 </record>
 <record type="resource">
-    <short-name>resource57</short-name>
     <uid>40000000-0000-0000-0000-000000000057</uid>
     <guid>40000000-0000-0000-0000-000000000057</guid>
+    <short-name>resource57</short-name>
     <full-name>Resource 57</full-name>
 </record>
 <record type="resource">
-    <short-name>resource58</short-name>
     <uid>40000000-0000-0000-0000-000000000058</uid>
     <guid>40000000-0000-0000-0000-000000000058</guid>
+    <short-name>resource58</short-name>
     <full-name>Resource 58</full-name>
 </record>
 <record type="resource">
-    <short-name>resource59</short-name>
     <uid>40000000-0000-0000-0000-000000000059</uid>
     <guid>40000000-0000-0000-0000-000000000059</guid>
+    <short-name>resource59</short-name>
     <full-name>Resource 59</full-name>
 </record>
 <record type="resource">
-    <short-name>resource60</short-name>
     <uid>40000000-0000-0000-0000-000000000060</uid>
     <guid>40000000-0000-0000-0000-000000000060</guid>
+    <short-name>resource60</short-name>
     <full-name>Resource 60</full-name>
 </record>
 <record type="resource">
-    <short-name>resource61</short-name>
     <uid>40000000-0000-0000-0000-000000000061</uid>
     <guid>40000000-0000-0000-0000-000000000061</guid>
+    <short-name>resource61</short-name>
     <full-name>Resource 61</full-name>
 </record>
 <record type="resource">
-    <short-name>resource62</short-name>
     <uid>40000000-0000-0000-0000-000000000062</uid>
     <guid>40000000-0000-0000-0000-000000000062</guid>
+    <short-name>resource62</short-name>
     <full-name>Resource 62</full-name>
 </record>
 <record type="resource">
-    <short-name>resource63</short-name>
     <uid>40000000-0000-0000-0000-000000000063</uid>
     <guid>40000000-0000-0000-0000-000000000063</guid>
+    <short-name>resource63</short-name>
     <full-name>Resource 63</full-name>
 </record>
 <record type="resource">
-    <short-name>resource64</short-name>
     <uid>40000000-0000-0000-0000-000000000064</uid>
     <guid>40000000-0000-0000-0000-000000000064</guid>
+    <short-name>resource64</short-name>
     <full-name>Resource 64</full-name>
 </record>
 <record type="resource">
-    <short-name>resource65</short-name>
     <uid>40000000-0000-0000-0000-000000000065</uid>
     <guid>40000000-0000-0000-0000-000000000065</guid>
+    <short-name>resource65</short-name>
     <full-name>Resource 65</full-name>
 </record>
 <record type="resource">
-    <short-name>resource66</short-name>
     <uid>40000000-0000-0000-0000-000000000066</uid>
     <guid>40000000-0000-0000-0000-000000000066</guid>
+    <short-name>resource66</short-name>
     <full-name>Resource 66</full-name>
 </record>
 <record type="resource">
-    <short-name>resource67</short-name>
     <uid>40000000-0000-0000-0000-000000000067</uid>
     <guid>40000000-0000-0000-0000-000000000067</guid>
+    <short-name>resource67</short-name>
     <full-name>Resource 67</full-name>
 </record>
 <record type="resource">
-    <short-name>resource68</short-name>
     <uid>40000000-0000-0000-0000-000000000068</uid>
     <guid>40000000-0000-0000-0000-000000000068</guid>
+    <short-name>resource68</short-name>
     <full-name>Resource 68</full-name>
 </record>
 <record type="resource">
-    <short-name>resource69</short-name>
     <uid>40000000-0000-0000-0000-000000000069</uid>
     <guid>40000000-0000-0000-0000-000000000069</guid>
+    <short-name>resource69</short-name>
     <full-name>Resource 69</full-name>
 </record>
 <record type="resource">
-    <short-name>resource70</short-name>
     <uid>40000000-0000-0000-0000-000000000070</uid>
     <guid>40000000-0000-0000-0000-000000000070</guid>
+    <short-name>resource70</short-name>
     <full-name>Resource 70</full-name>
 </record>
 <record type="resource">
-    <short-name>resource71</short-name>
     <uid>40000000-0000-0000-0000-000000000071</uid>
     <guid>40000000-0000-0000-0000-000000000071</guid>
+    <short-name>resource71</short-name>
     <full-name>Resource 71</full-name>
 </record>
 <record type="resource">
-    <short-name>resource72</short-name>
     <uid>40000000-0000-0000-0000-000000000072</uid>
     <guid>40000000-0000-0000-0000-000000000072</guid>
+    <short-name>resource72</short-name>
     <full-name>Resource 72</full-name>
 </record>
 <record type="resource">
-    <short-name>resource73</short-name>
     <uid>40000000-0000-0000-0000-000000000073</uid>
     <guid>40000000-0000-0000-0000-000000000073</guid>
+    <short-name>resource73</short-name>
     <full-name>Resource 73</full-name>
 </record>
 <record type="resource">
-    <short-name>resource74</short-name>
     <uid>40000000-0000-0000-0000-000000000074</uid>
     <guid>40000000-0000-0000-0000-000000000074</guid>
+    <short-name>resource74</short-name>
     <full-name>Resource 74</full-name>
 </record>
 <record type="resource">
-    <short-name>resource75</short-name>
     <uid>40000000-0000-0000-0000-000000000075</uid>
     <guid>40000000-0000-0000-0000-000000000075</guid>
+    <short-name>resource75</short-name>
     <full-name>Resource 75</full-name>
 </record>
 <record type="resource">
-    <short-name>resource76</short-name>
     <uid>40000000-0000-0000-0000-000000000076</uid>
     <guid>40000000-0000-0000-0000-000000000076</guid>
+    <short-name>resource76</short-name>
     <full-name>Resource 76</full-name>
 </record>
 <record type="resource">
-    <short-name>resource77</short-name>
     <uid>40000000-0000-0000-0000-000000000077</uid>
     <guid>40000000-0000-0000-0000-000000000077</guid>
+    <short-name>resource77</short-name>
     <full-name>Resource 77</full-name>
 </record>
 <record type="resource">
-    <short-name>resource78</short-name>
     <uid>40000000-0000-0000-0000-000000000078</uid>
     <guid>40000000-0000-0000-0000-000000000078</guid>
+    <short-name>resource78</short-name>
     <full-name>Resource 78</full-name>
 </record>
 <record type="resource">
-    <short-name>resource79</short-name>
     <uid>40000000-0000-0000-0000-000000000079</uid>
     <guid>40000000-0000-0000-0000-000000000079</guid>
+    <short-name>resource79</short-name>
     <full-name>Resource 79</full-name>
 </record>
 <record type="resource">
-    <short-name>resource80</short-name>
     <uid>40000000-0000-0000-0000-000000000080</uid>
     <guid>40000000-0000-0000-0000-000000000080</guid>
+    <short-name>resource80</short-name>
     <full-name>Resource 80</full-name>
 </record>
 <record type="resource">
-    <short-name>resource81</short-name>
     <uid>40000000-0000-0000-0000-000000000081</uid>
     <guid>40000000-0000-0000-0000-000000000081</guid>
+    <short-name>resource81</short-name>
     <full-name>Resource 81</full-name>
 </record>
 <record type="resource">
-    <short-name>resource82</short-name>
     <uid>40000000-0000-0000-0000-000000000082</uid>
     <guid>40000000-0000-0000-0000-000000000082</guid>
+    <short-name>resource82</short-name>
     <full-name>Resource 82</full-name>
 </record>
 <record type="resource">
-    <short-name>resource83</short-name>
     <uid>40000000-0000-0000-0000-000000000083</uid>
     <guid>40000000-0000-0000-0000-000000000083</guid>
+    <short-name>resource83</short-name>
     <full-name>Resource 83</full-name>
 </record>
 <record type="resource">
-    <short-name>resource84</short-name>
     <uid>40000000-0000-0000-0000-000000000084</uid>
     <guid>40000000-0000-0000-0000-000000000084</guid>
+    <short-name>resource84</short-name>
     <full-name>Resource 84</full-name>
 </record>
 <record type="resource">
-    <short-name>resource85</short-name>
     <uid>40000000-0000-0000-0000-000000000085</uid>
     <guid>40000000-0000-0000-0000-000000000085</guid>
+    <short-name>resource85</short-name>
     <full-name>Resource 85</full-name>
 </record>
 <record type="resource">
-    <short-name>resource86</short-name>
     <uid>40000000-0000-0000-0000-000000000086</uid>
     <guid>40000000-0000-0000-0000-000000000086</guid>
+    <short-name>resource86</short-name>
     <full-name>Resource 86</full-name>
 </record>
 <record type="resource">
-    <short-name>resource87</short-name>
     <uid>40000000-0000-0000-0000-000000000087</uid>
     <guid>40000000-0000-0000-0000-000000000087</guid>
+    <short-name>resource87</short-name>
     <full-name>Resource 87</full-name>
 </record>
 <record type="resource">
-    <short-name>resource88</short-name>
     <uid>40000000-0000-0000-0000-000000000088</uid>
     <guid>40000000-0000-0000-0000-000000000088</guid>
+    <short-name>resource88</short-name>
     <full-name>Resource 88</full-name>
 </record>
 <record type="resource">
-    <short-name>resource89</short-name>
     <uid>40000000-0000-0000-0000-000000000089</uid>
     <guid>40000000-0000-0000-0000-000000000089</guid>
+    <short-name>resource89</short-name>
     <full-name>Resource 89</full-name>
 </record>
 <record type="resource">
-    <short-name>resource90</short-name>
     <uid>40000000-0000-0000-0000-000000000090</uid>
     <guid>40000000-0000-0000-0000-000000000090</guid>
+    <short-name>resource90</short-name>
     <full-name>Resource 90</full-name>
 </record>
 <record type="resource">
-    <short-name>resource91</short-name>
     <uid>40000000-0000-0000-0000-000000000091</uid>
     <guid>40000000-0000-0000-0000-000000000091</guid>
+    <short-name>resource91</short-name>
     <full-name>Resource 91</full-name>
 </record>
 <record type="resource">
-    <short-name>resource92</short-name>
     <uid>40000000-0000-0000-0000-000000000092</uid>
     <guid>40000000-0000-0000-0000-000000000092</guid>
+    <short-name>resource92</short-name>
     <full-name>Resource 92</full-name>
 </record>
 <record type="resource">
-    <short-name>resource93</short-name>
     <uid>40000000-0000-0000-0000-000000000093</uid>
     <guid>40000000-0000-0000-0000-000000000093</guid>
+    <short-name>resource93</short-name>
     <full-name>Resource 93</full-name>
 </record>
 <record type="resource">
-    <short-name>resource94</short-name>
     <uid>40000000-0000-0000-0000-000000000094</uid>
     <guid>40000000-0000-0000-0000-000000000094</guid>
+    <short-name>resource94</short-name>
     <full-name>Resource 94</full-name>
 </record>
 <record type="resource">
-    <short-name>resource95</short-name>
     <uid>40000000-0000-0000-0000-000000000095</uid>
     <guid>40000000-0000-0000-0000-000000000095</guid>
+    <short-name>resource95</short-name>
     <full-name>Resource 95</full-name>
 </record>
 <record type="resource">
-    <short-name>resource96</short-name>
     <uid>40000000-0000-0000-0000-000000000096</uid>
     <guid>40000000-0000-0000-0000-000000000096</guid>
+    <short-name>resource96</short-name>
     <full-name>Resource 96</full-name>
 </record>
 <record type="resource">
-    <short-name>resource97</short-name>
     <uid>40000000-0000-0000-0000-000000000097</uid>
     <guid>40000000-0000-0000-0000-000000000097</guid>
+    <short-name>resource97</short-name>
     <full-name>Resource 97</full-name>
 </record>
 <record type="resource">
-    <short-name>resource98</short-name>
     <uid>40000000-0000-0000-0000-000000000098</uid>
     <guid>40000000-0000-0000-0000-000000000098</guid>
+    <short-name>resource98</short-name>
     <full-name>Resource 98</full-name>
 </record>
 <record type="resource">
-    <short-name>resource99</short-name>
     <uid>40000000-0000-0000-0000-000000000099</uid>
     <guid>40000000-0000-0000-0000-000000000099</guid>
+    <short-name>resource99</short-name>
     <full-name>Resource 99</full-name>
 </record>
 <record type="resource">
-    <short-name>resource100</short-name>
     <uid>40000000-0000-0000-0000-000000000100</uid>
     <guid>40000000-0000-0000-0000-000000000100</guid>
+    <short-name>resource100</short-name>
     <full-name>Resource 100</full-name>
 </record>
 </directory>

Modified: CalendarServer/trunk/conf/caldavd-test-podA.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test-podA.plist	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/caldavd-test-podA.plist	2014-04-26 15:10:28 UTC (rev 13375)
@@ -110,6 +110,62 @@
 	    <string>podding</string>
 	</dict>
 
+    <key>Scheduling</key>
+    <dict>
+      <!-- iSchedule protocol options -->
+      <key>iSchedule</key>
+      <dict>
+        <key>Enabled</key>
+        <true/>
+        <key>AddressPatterns</key>
+        <array>
+        </array>
+        <key>RemoteServers</key>
+        <string>remoteservers-test.xml</string>
+        <key>DNSDebug</key>
+        <string>test-db.zones</string>
+        <key>DKIM</key>
+        <dict>
+        	<key>Enabled</key>
+        	<true/>
+        	<key>Domain</key>
+        	<string>example.com</string>
+        	<key>KeySelector</key>
+        	<string>ischedule</string>
+        	<key>UseDNSKey</key>
+        	<false/>
+        	<key>UseHTTPKey</key>
+        	<true/>
+        	<key>UsePrivateExchangeKey</key>
+        	<true/>
+        	<key>ExpireSeconds</key>
+        	<integer>3600</integer>
+        	<key>PrivateKeyFile</key>
+        	<string>dkim-test/priv.pem</string>
+        	<key>PublicKeyFile</key>
+        	<string>dkim-test/pub.pem</string>
+        	<key>PrivateExchanges</key>
+        	<string>dkim-test/other_keys</string>
+        	<key>ProtocolDebug</key>
+        	<true/>
+        </dict>
+      </dict>
+    </dict>
+
+    <key>Notifications</key>
+    <dict>
+      <key>Services</key>
+      <dict>
+
+        <key>AMP</key>
+        <dict>
+          <key>Enabled</key>
+          <false/>
+        </dict>
+
+      </dict>
+    </dict>
+
     <!-- Support for Memcached -->
     <key>Memcached</key>
     <dict>

Modified: CalendarServer/trunk/conf/caldavd-test-podB.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test-podB.plist	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/caldavd-test-podB.plist	2014-04-26 15:10:28 UTC (rev 13375)
@@ -130,6 +130,62 @@
 	    <string>podding</string>
 	</dict>
 
+    <key>Scheduling</key>
+    <dict>
+      <!-- iSchedule protocol options -->
+      <key>iSchedule</key>
+      <dict>
+        <key>Enabled</key>
+        <true/>
+        <key>AddressPatterns</key>
+        <array>
+        </array>
+        <key>RemoteServers</key>
+        <string>remoteservers-test.xml</string>
+        <key>DNSDebug</key>
+        <string>test-db.zones</string>
+        <key>DKIM</key>
+        <dict>
+        	<key>Enabled</key>
+        	<true/>
+        	<key>Domain</key>
+        	<string>example.com</string>
+        	<key>KeySelector</key>
+        	<string>ischedule</string>
+        	<key>UseDNSKey</key>
+        	<false/>
+        	<key>UseHTTPKey</key>
+        	<true/>
+        	<key>UsePrivateExchangeKey</key>
+        	<true/>
+        	<key>ExpireSeconds</key>
+        	<integer>3600</integer>
+        	<key>PrivateKeyFile</key>
+        	<string>dkim-test/priv.pem</string>
+        	<key>PublicKeyFile</key>
+        	<string>dkim-test/pub.pem</string>
+        	<key>PrivateExchanges</key>
+        	<string>dkim-test/other_keys</string>
+        	<key>ProtocolDebug</key>
+        	<true/>
+        </dict>
+      </dict>
+    </dict>
+
+    <key>Notifications</key>
+    <dict>
+      <key>Services</key>
+      <dict>
+
+        <key>AMP</key>
+        <dict>
+          <key>Enabled</key>
+          <false/>
+        </dict>
+
+      </dict>
+    </dict>
+
     <!-- Support for Memcached -->
     <key>Memcached</key>
     <dict>

Added: CalendarServer/trunk/conf/caldavd-test-s2s.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test-s2s.plist	                        (rev 0)
+++ CalendarServer/trunk/conf/caldavd-test-s2s.plist	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Copyright (c) 2006-2009 Apple Inc. All rights reserved.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+  -->
+
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+
+    <!-- Import a parent config before this one -->
+    <key>ImportConfig</key>
+    <string>./conf/caldavd-test.plist</string>
+
+    <!-- HTTP port [0 = disable HTTP] -->
+    <key>HTTPPort</key>
+    <integer>8208</integer>
+
+    <!-- SSL port [0 = disable HTTPS] -->
+    <!-- (Must also configure SSLCertificate and SSLPrivateKey below) -->
+    <key>SSLPort</key>
+    <integer>8643</integer>
+
+    <!-- List of port numbers to bind to for HTTP [empty = same as "Port"] -->
+    <key>BindHTTPPorts</key>
+    <array>
+    </array>
+
+    <!-- List of port numbers to bind to for SSL [empty = same as "SSLPort"] -->
+    <key>BindSSLPorts</key>
+    <array>
+    </array>
+
+    <!-- Server root -->
+    <key>ServerRoot</key>
+    <string>./data/s2s</string>
+
+    <!-- Configuration root -->
+    <key>ConfigRoot</key>
+    <string>./conf</string>
+
+    <!-- XML File Directory Service -->
+    <key>DirectoryService</key>
+    <dict>
+      <key>type</key>
+      <string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string>
+      
+      <key>params</key>
+      <dict>
+        <key>xmlFile</key>
+        <string>./conf/auth/accounts-test-s2s.xml</string>
+      </dict>
+    </dict>
+    
+    <!-- Resource and Location Service -->
+    <key>ResourceService</key>
+    <dict>
+      <key>Enabled</key>
+      <true/>
+      <key>type</key>
+      <string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string>
+      
+      <key>params</key>
+      <dict>
+        <key>xmlFile</key>
+        <string>./conf/auth/resources-test-s2s.xml</string>
+      </dict>
+    </dict>
+
+    <!-- XML File Augment Service -->
+    <key>AugmentService</key>
+    <dict>
+      <key>type</key>
+      <string>twistedcaldav.directory.augment.AugmentXMLDB</string>
+      
+      <key>params</key>
+      <dict>
+        <key>xmlFiles</key>
+        <array>
+	      <string>./conf/auth/augments-test-s2s.xml</string>
+        </array>
+      </dict>
+    </dict>
+
+    <key>ProxyLoadFromFile</key>
+    <string>./conf/auth/proxies-test-s2s.xml</string>
+
+    <key>Scheduling</key>
+    <dict>
+      <!-- iSchedule protocol options -->
+      <key>iSchedule</key>
+      <dict>
+        <key>Enabled</key>
+        <true/>
+        <key>AddressPatterns</key>
+        <array>
+        </array>
+        <key>RemoteServers</key>
+        <string>remoteservers-test-s2s.xml</string>
+        <key>DNSDebug</key>
+        <string>test-db.zones</string>
+        <key>DKIM</key>
+        <dict>
+        	<key>Enabled</key>
+        	<true/>
+        	<key>Domain</key>
+        	<string>example.org</string>
+        	<key>KeySelector</key>
+        	<string>ischedule2</string>
+        	<key>UseDNSKey</key>
+        	<false/>
+        	<key>UseHTTPKey</key>
+        	<true/>
+        	<key>UsePrivateExchangeKey</key>
+        	<true/>
+        	<key>ExpireSeconds</key>
+        	<integer>3600</integer>
+        	<key>PrivateKeyFile</key>
+        	<string>dkim-test-s2s/priv.pem</string>
+        	<key>PublicKeyFile</key>
+        	<string>dkim-test-s2s/pub.pem</string>
+        	<key>PrivateExchanges</key>
+        	<string>dkim-test-s2s/other_keys</string>
+        	<key>ProtocolDebug</key>
+        	<true/>
+        </dict>
+      </dict>
+    </dict>
+
+    <key>Notifications</key>
+    <dict>
+      <key>Services</key>
+      <dict>
+
+        <key>AMP</key>
+        <dict>
+          <key>Enabled</key>
+          <false/>
+        </dict>
+
+      </dict>
+    </dict>
+
+    <!-- Support for Memcached -->
+    <key>Memcached</key>
+    <dict>
+	  <key>Pools</key>
+		<dict>
+		  <key>Default</key>
+		  <dict>
+		    <key>ClientEnabled</key>
+		    <true/>
+		    <key>ServerEnabled</key>
+		    <true/>
+		    <key>BindAddress</key>
+		    <string>localhost</string>
+		    <key>Port</key>
+		    <integer>11511</integer>
+		  </dict>
+		</dict>
+      <key>MaxClients</key>
+      <integer>5</integer>
+      <key>memcached</key>
+      <string>../memcached/_root/bin/memcached</string> <!-- Find in PATH -->
+      <key>Options</key>
+      <array>
+        <!--<string>-vv</string>-->
+      </array>
+    </dict>
+
+  </dict>
+</plist>

Added: CalendarServer/trunk/conf/dkim-test/other_keys/example.org#ischedule2
===================================================================
--- CalendarServer/trunk/conf/dkim-test/other_keys/example.org#ischedule2	                        (rev 0)
+++ CalendarServer/trunk/conf/dkim-test/other_keys/example.org#ischedule2	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1 @@
+v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwwGYRfC59jFg7D8cvwdFDoxhnyZQh77dcl/1dvyMOz4leU/JSCp7M/cCh5Bgw440deV483sr1jCkyychIgBZCaPSHqItfwRgKPntnifuCzWHfv5gZE+JI+tWBXvUs4ao4dWH7VjmUyj49QfZ/NGNKKG2Xtr3In7/7qdbfg7tVRQIDAQAB
\ No newline at end of file

Added: CalendarServer/trunk/conf/dkim-test/priv.pem
===================================================================
--- CalendarServer/trunk/conf/dkim-test/priv.pem	                        (rev 0)
+++ CalendarServer/trunk/conf/dkim-test/priv.pem	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDtocSHvSS1Nn0uIL4Sg+0wp6KcW31WRC4Fww8P+jvsVAazVOxv
+xkShNSd18EvApiNa55P8WgKVEu02OQePjnjKNqfgJPeajkWy/0CJn+d6rX/ncPMG
+X2EYzqXy/CyVqpcnVAosToymo6VHL6ufhzlyLJFDznLtV121CZLUZlAySQIDAQAB
+AoGBAJhsO/hpTUNjKRZOcDzGHH0p+bbbRGDyKKcPf/japFcpaobbATGM9naE9sPC
+l4SBzInBov2p6qAeXMN7/yqI01Z9EQEXBHXfMFSrvbAMQFwhqLTwDQWh1S32GAPQ
+Fkf2NkUjK6DDqgeT3LJrehTmSjwZTN6T+WRpkGaAvYAQIywRAkEA+4uIInt+OuZN
+7ZXBwfms5oDuFOdToiDedglnNVzQmJ4AcPqakgnF9tsQipDnvlOVHqjujmYXpOgK
+7MRNMycMNQJBAPHXJ+GdSfiuVrPbRQOg+9v6AdaP3+7fUJ8I8kGhr/vrn8lZziPZ
+/3W96pG2Dly6j+eQ3vk/3ATHD7PziAlPSEUCQQCiJTZSq/IZe30+Keuk4xFt4CwX
+82l4t+FOiw8pWbPovOih6xiaDIy8bEeEWpXXnL8h7VkhF3QkS6NHLd5pm8EFAkEA
+2l8GEvH8/kEl5wfCXJF7ellYWY7WjJI28TOZ1GuUReyv/pdJzROmWYHgkiwK8e4/
+zMACppvkJqg8ZKgtGQLu5QJAQ3D2RjXwZukcwmcOfykU7A3FoItC6JVxVBrZwq0x
+9/7WfuHF5ayWDvo1xMJkzlSsL5lsHOQzmvf0JbKhkToazw==
+-----END RSA PRIVATE KEY-----

Added: CalendarServer/trunk/conf/dkim-test/pub.pem
===================================================================
--- CalendarServer/trunk/conf/dkim-test/pub.pem	                        (rev 0)
+++ CalendarServer/trunk/conf/dkim-test/pub.pem	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtocSHvSS1Nn0uIL4Sg+0wp6Kc
+W31WRC4Fww8P+jvsVAazVOxvxkShNSd18EvApiNa55P8WgKVEu02OQePjnjKNqfg
+JPeajkWy/0CJn+d6rX/ncPMGX2EYzqXy/CyVqpcnVAosToymo6VHL6ufhzlyLJFD
+znLtV121CZLUZlAySQIDAQAB
+-----END PUBLIC KEY-----

Added: CalendarServer/trunk/conf/dkim-test-s2s/other_keys/example.com#ischedule
===================================================================
--- CalendarServer/trunk/conf/dkim-test-s2s/other_keys/example.com#ischedule	                        (rev 0)
+++ CalendarServer/trunk/conf/dkim-test-s2s/other_keys/example.com#ischedule	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1 @@
+v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtocSHvSS1Nn0uIL4Sg+0wp6KcW31WRC4Fww8P+jvsVAazVOxvxkShNSd18EvApiNa55P8WgKVEu02OQePjnjKNqfgJPeajkWy/0CJn+d6rX/ncPMGX2EYzqXy/CyVqpcnVAosToymo6VHL6ufhzlyLJFDznLtV121CZLUZlAySQIDAQAB

Added: CalendarServer/trunk/conf/dkim-test-s2s/priv.pem
===================================================================
--- CalendarServer/trunk/conf/dkim-test-s2s/priv.pem	                        (rev 0)
+++ CalendarServer/trunk/conf/dkim-test-s2s/priv.pem	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQCwwGYRfC59jFg7D8cvwdFDoxhnyZQh77dcl/1dvyMOz4leU/JS
+Cp7M/cCh5Bgw440deV483sr1jCkyychIgBZCaPSHqItfwRgKPntnifuCzWHfv5gZ
+E+JI+tWBXvUs4ao4dWH7VjmUyj49QfZ/NGNKKG2Xtr3In7/7qdbfg7tVRQIDAQAB
+AoGAVSS5hl69vnjm37ygBR9mgSCF1ylBlH93YsFMqeYzKyVKVQg3SNIY4UKzksjf
+5l0XU0Vt4gCo4FQeXHrbYiFhltrB6l9uIH3bUHRK4pCI7IUe6pjKGTKxN4pX6+eA
+62PzBzbVLuc1rI2D57yzUgkpR8e1PkdVCZLH+eJC1kSffZkCQQDiqJVDi6ZeAINO
+5rxlAB+mnboQ2qvhJ0Z0nM5aauCpHkvypQTLxncez/fAvi2C/pbOxflUgV5ef7FZ
+dgLI/xQHAkEAx6Hor29mxejI1R5RwYWF5/VvjsCnbip1I9ToiqO8heLwmUcgL24S
+9Mfdiv2nJCxV7UtjLwJU0PY73KQx3JmxUwJAPzGBbDOjTtIVygnKvN4r9OhE2C4f
+fcbVfe26Grtxp7Uqt5wKmkXbMFwLV1GunrcclMndmhH3naE8cRTV8fQsQQJARh19
+xjBQXm52KzQs7tVgxKmVdwP/SlgrMFyVGCyOCFA+xPcQPNhiXAreqvSQAcp4m5GA
+0n/1Hjd9qu8YfCyW9QJAa8fiAT75cDtxRS+YsUjAwawmleaDclQDDPO4bMkq0nTd
+2dQpov79tiNCPV8CFh64GPdGC2Lyv7ZXusEo4QBzJw==
+-----END RSA PRIVATE KEY-----

Added: CalendarServer/trunk/conf/dkim-test-s2s/pub.pem
===================================================================
--- CalendarServer/trunk/conf/dkim-test-s2s/pub.pem	                        (rev 0)
+++ CalendarServer/trunk/conf/dkim-test-s2s/pub.pem	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwwGYRfC59jFg7D8cvwdFDoxhn
+yZQh77dcl/1dvyMOz4leU/JSCp7M/cCh5Bgw440deV483sr1jCkyychIgBZCaPSH
+qItfwRgKPntnifuCzWHfv5gZE+JI+tWBXvUs4ao4dWH7VjmUyj49QfZ/NGNKKG2X
+tr3In7/7qdbfg7tVRQIDAQAB
+-----END PUBLIC KEY-----

Added: CalendarServer/trunk/conf/remoteservers-test-s2s.xml
===================================================================
--- CalendarServer/trunk/conf/remoteservers-test-s2s.xml	                        (rev 0)
+++ CalendarServer/trunk/conf/remoteservers-test-s2s.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Copyright (c) 2006-2014 Apple Inc. All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ -->
+
+<!DOCTYPE servers SYSTEM "remoteservers.dtd">
+
+<servers>
+  <server>
+    <uri>https://localhost:8443/ischedule</uri>
+    <allow-requests-from/>
+    <allow-requests-to/>
+    <domains>
+    	<domain>example.com</domain>
+    </domains>
+    <hosts>
+    	<host>127.0.0.1</host>
+    </hosts>
+  </server>
+</servers>

Modified: CalendarServer/trunk/conf/remoteservers-test.xml
===================================================================
--- CalendarServer/trunk/conf/remoteservers-test.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/conf/remoteservers-test.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -20,7 +20,7 @@
 
 <servers>
   <server>
-    <uri>https://localhost:8543/inbox</uri>
+    <uri>https://localhost:8643/ischedule</uri>
     <allow-requests-from/>
     <allow-requests-to/>
     <domains>

Added: CalendarServer/trunk/conf/test-db.zones
===================================================================
--- CalendarServer/trunk/conf/test-db.zones	                        (rev 0)
+++ CalendarServer/trunk/conf/test-db.zones	2014-04-26 15:10:28 UTC (rev 13375)
@@ -0,0 +1,31 @@
+example.com.		  10800 IN SOA	ns.example.com. 	admin.example.com. (
+                                                        2012090810 ; serial
+                                                        3600       ; refresh (1 hour)
+                                                        900        ; retry (15 minutes)
+                                                        1209600    ; expire (2 weeks)
+                                                        86400      ; minimum (1 day)
+							)
+									10800 IN NS		ns.example.com.
+									10800 IN A		127.0.0.1
+ns.example.com.						10800 IN A		127.0.0.1
+
+_caldavs._tcp.example.com.			10800 IN SRV	0	0	8443	example.com.
+_ischedules._tcp.example.com.		10800 IN SRV	0	0	8443	example.com.
+ischedule._domainkey.example.com.	10800 IN TXT	"v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtocSHvSS1Nn0uIL4Sg+0wp6KcW31WRC4Fww8P+jvsVAazVOxvxkShNSd18EvApiNa55P8WgKVEu02OQePjnjKNqfgJPeajkWy/0CJn+d6rX/ncPMGX2EYzqXy/CyVqpcnVAosToymo6VHL6ufhzlyLJFDznLtV121CZLUZlAySQIDAQAB"
+
+
+
+example.org.		  10800 IN SOA	ns.example.org. 	admin.example.org. (
+                                                        2012090810 ; serial
+                                                        3600       ; refresh (1 hour)
+                                                        900        ; retry (15 minutes)
+                                                        1209600    ; expire (2 weeks)
+                                                        86400      ; minimum (1 day)
+							)
+									10800 IN NS		ns.example.org.
+									10800 IN A		127.0.0.1
+ns.example.org.						10800 IN A		127.0.0.1
+
+_caldavs._tcp.example.org.			10800 IN SRV	0	0	8643	example.org.
+_ischedules._tcp.example.org.		10800 IN SRV	0	0	8643	calendar.example.org.
+ischedule2._domainkey.example.org.	10800 IN TXT	"v=DKIM1; s=ischedule; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwwGYRfC59jFg7D8cvwdFDoxhnyZQh77dcl/1dvyMOz4leU/JSCp7M/cCh5Bgw440deV483sr1jCkyychIgBZCaPSHqItfwRgKPntnifuCzWHfv5gZE+JI+tWBXvUs4ao4dWH7VjmUyj49QfZ/NGNKKG2Xtr3In7/7qdbfg7tVRQIDAQAB"

Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxyloader.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxyloader.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxyloader.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -37,8 +37,8 @@
 ELEMENT_RECORD = "record"
 
 ELEMENT_GUID = "guid"
-ELEMENT_PROXIES = "proxies"
-ELEMENT_READ_ONLY_PROXIES = "read-only-proxies"
+ELEMENT_WRITE_PROXIES = "write-proxies"
+ELEMENT_READ_PROXIES = "read-proxies"
 ELEMENT_MEMBER = "member"
 
 ATTRIBUTE_REPEAT = "repeat"
@@ -89,10 +89,10 @@
                     guid = node.text
 
                 elif node.tag in (
-                    ELEMENT_PROXIES,
-                    ELEMENT_READ_ONLY_PROXIES,
+                    ELEMENT_WRITE_PROXIES,
+                    ELEMENT_READ_PROXIES,
                 ):
-                    self._parseMembers(node, write_proxies if node.tag == ELEMENT_PROXIES else read_proxies)
+                    self._parseMembers(node, write_proxies if node.tag == ELEMENT_WRITE_PROXIES else read_proxies)
                 else:
                     raise RuntimeError("Invalid element '%s' in proxies file: '%s'" % (node.tag, self.xmlFile,))
 

Deleted: CalendarServer/trunk/twistedcaldav/directory/test/accounts-modified.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/accounts-modified.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/accounts-modified.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -1,298 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-Copyright (c) 2012-2014 Apple Inc. All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Description:
-
-This file is a copy of accounts.xml with wsanchez removed from
-all groups, for the purposes of test_groupMembershipCacheUpdater( ).
- -->
-
-<!DOCTYPE accounts SYSTEM "../../../conf/auth/accounts.dtd">
-
-<accounts realm="Test">
-  <user>
-    <uid>admin</uid>
-    <guid>D11F03A0-97EA-48AF-9A6C-FAC7F3975766</guid>
-    <password>nimda</password>
-    <name>Administrators</name>
-  </user>
-  <user>
-    <uid>wsanchez</uid>
-    <guid>6423F94A-6B76-4A3A-815B-D52CFD77935D</guid>
-    <password>zehcnasw</password>
-    <name>Wilfredo Sanchez</name>
-    <email-address>wsanchez at example.com</email-address>
-  </user>
-  <user>
-    <uid>cdaboo</uid>
-    <guid>5A985493-EE2C-4665-94CF-4DFEA3A89500</guid>
-    <password>oobadc</password>
-    <name>Cyrus Daboo</name>
-    <email-address>cdaboo at example.com</email-address>
-  </user>
-  <user>
-    <uid>lecroy</uid>
-    <guid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</guid>
-    <password>yorcel</password>
-    <name>Chris Lecroy</name>
-    <email-address>lecroy at example.com</email-address>
-  </user>
-  <user>
-    <uid>dreid</uid>
-    <guid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</guid>
-    <password>dierd</password>
-    <name>David Reid</name>
-    <email-address>dreid at example.com</email-address>
-  </user>
-  <user>
-    <uid>doublequotes</uid>
-    <guid>8E04787E-336D-41ED-A70B-D233AD0DCE6F</guid>
-    <password>setouqelbuod</password>
-    <name>Double "quotey" Quotes</name>
-    <email-address>doublequotes at example.com</email-address>
-  </user>
-  <user>
-    <uid>nocalendar</uid>
-    <guid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</guid>
-    <password>radnelacon</password>
-    <name>No Calendar</name>
-    <email-address>nocalendar at example.com</email-address>
-  </user>
-  <user>
-    <uid>usera</uid>
-    <guid>7423F94A-6B76-4A3A-815B-D52CFD77935D</guid>
-    <password>a</password>
-    <name>a</name>
-    <email-address>a at example.com</email-address>
-  </user>
-  <user>
-    <uid>userb</uid>
-    <guid>8A985493-EE2C-4665-94CF-4DFEA3A89500</guid>
-    <password>b</password>
-    <name>b</name>
-    <email-address>b at example.com</email-address>
-  </user>
-  <user>
-    <uid>userc</uid>
-    <guid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2</guid>
-    <password>c</password>
-    <name>c</name>
-    <email-address>c at example.com</email-address>
-  </user>
-  <user>
-    <uid>usercalonly</uid>
-    <guid>9E1FFAC4-3CCD-45A1-8272-D161C92D2EEE</guid>
-    <password>a</password>
-    <name>a calonly</name>
-    <email-address>a-calonly at example.com</email-address>
-  </user>
-  <user>
-    <uid>useradbkonly</uid>
-    <guid>7678EC8A-A069-4E82-9066-7279C6718507</guid>
-    <password>a</password>
-    <name>a adbkonly</name>
-    <email-address>a-adbkonly at example.com</email-address>
-  </user>
-  <user>
-    <uid>nonascii</uid>
-    <uid>nonascii佐藤</uid>
-    <guid>320B73A1-46E2-4180-9563-782DFDBE1F63</guid>
-    <password>a</password>
-    <name>佐藤佐藤佐藤</name>
-    <email-address>nonascii at example.com</email-address>
-  </user>
-  <user>
-    <uid>delegator</uid>
-    <guid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</guid>
-    <password>a</password>
-    <name>Calendar Delegator</name>
-    <email-address>calendardelegator at example.com</email-address>
-  </user>
-  <user>
-    <uid>occasionaldelegate</uid>
-    <guid>EC465590-E9E9-4746-ACE8-6C756A49FE4D</guid>
-    <password>a</password>
-    <name>Occasional Delegate</name>
-    <email-address>occasional at example.com</email-address>
-  </user>
-    <user>
-    <uid>delegateviagroup</uid>
-    <guid>46D9D716-CBEE-490F-907A-66FA6C3767FF</guid>
-    <password>a</password>
-    <name>Delegate Via Group</name>
-    <email-address>delegateviagroup at example.com</email-address>
-  </user>
-  <group>
-    <uid>delegategroup</uid>
-    <guid>00599DAF-3E75-42DD-9DB7-52617E79943F</guid>
-    <name>Delegate Group</name>
-    <members>
-      <member type="users">delegateviagroup</member>
-    </members>
-  </group>
-  <user repeat="2">
-    <uid>user%02d</uid>
-    <guid>user%02d</guid>
-    <password>%02duser</password>
-    <name>~35 User %02d</name>
-    <first-name>~5</first-name>
-    <last-name>~9 User %02d</last-name>
-    <email-address>~10 at example.com</email-address>
-  </user>
-  <group>
-    <uid>managers</uid>
-    <guid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</guid>
-    <password>managers</password>
-    <name>Managers</name>
-    <members>
-      <member type="users">lecroy</member>
-    </members>
-  </group>
-  <group>
-    <uid>admin</uid>
-    <guid>admin</guid>
-    <password>admin</password>
-    <name>Administrators</name>
-    <members>
-      <member type="groups">managers</member>
-    </members>
-  </group>
-  <group>
-    <uid>grunts</uid>
-    <guid>grunts</guid>
-    <password>grunts</password>
-    <name>We do all the work</name>
-    <members>
-      <member>cdaboo</member>
-      <member>dreid</member>
-    </members>
-  </group>
-  <group>
-    <uid>right_coast</uid>
-    <guid>right_coast</guid>
-    <password>right_coast</password>
-    <name>East Coast</name>
-    <members>
-      <member>cdaboo</member>
-    </members>
-  </group>
-  <group>
-    <uid>left_coast</uid>
-    <guid>left_coast</guid>
-    <password>left_coast</password>
-    <name>West Coast</name>
-    <members>
-      <member>lecroy</member>
-      <member>dreid</member>
-    </members>
-  </group>
-  <group>
-    <uid>both_coasts</uid>
-    <guid>both_coasts</guid>
-    <password>both_coasts</password>
-    <name>Both Coasts</name>
-    <members>
-      <member type="groups">right_coast</member>
-      <member type="groups">left_coast</member>
-    </members>
-  </group>
-  <group>
-    <uid>recursive1_coasts</uid>
-    <guid>recursive1_coasts</guid>
-    <password>recursive1_coasts</password>
-    <name>Recursive1 Coasts</name>
-    <members>
-      <member type="groups">recursive2_coasts</member>
-    </members>
-  </group>
-  <group>
-    <uid>recursive2_coasts</uid>
-    <guid>recursive2_coasts</guid>
-    <password>recursive2_coasts</password>
-    <name>Recursive2 Coasts</name>
-    <members>
-      <member type="groups">recursive1_coasts</member>
-      <member>cdaboo</member>
-    </members>
-  </group>
-  <group>
-    <uid>non_calendar_group</uid>
-    <guid>non_calendar_group</guid>
-    <password>non_calendar_group</password>
-    <name>Non-calendar group</name>
-    <members>
-      <member>cdaboo</member>
-      <member>lecroy</member>
-    </members>
-  </group>
-  <location>
-    <uid>mercury</uid>
-    <guid>mercury</guid>
-    <password>mercury</password>
-    <name>Mercury Seven</name>
-    <email-address>mercury at example.com</email-address>
-  </location>
-  <location>
-    <uid>gemini</uid>
-    <guid>gemini</guid>
-    <password>gemini</password>
-    <name>Gemini Twelve</name>
-    <email-address>gemini at example.com</email-address>
-  </location>
-  <location>
-    <uid>apollo</uid>
-    <guid>apollo</guid>
-    <password>apollo</password>
-    <name>Apollo Eleven</name>
-    <email-address>apollo at example.com</email-address>
-  </location>
-  <location>
-    <uid>orion</uid>
-    <guid>orion</guid>
-    <password>orion</password>
-    <name>Orion</name>
-    <email-address>orion at example.com</email-address>
-  </location>
-  <resource>
-    <uid>transporter</uid>
-    <guid>transporter</guid>
-    <password>transporter</password>
-    <name>Mass Transporter</name>
-    <email-address>transporter at example.com</email-address>
-  </resource>
-  <resource>
-    <uid>ftlcpu</uid>
-    <guid>ftlcpu</guid>
-    <password>ftlcpu</password>
-    <name>Faster-Than-Light Microprocessor</name>
-    <email-address>ftlcpu at example.com</email-address>
-  </resource>
-  <resource>
-    <uid>non_calendar_proxy</uid>
-    <guid>non_calendar_proxy</guid>
-    <password>non_calendar_proxy</password>
-    <name>Non-calendar proxy</name>
-    <email-address>non_calendar_proxy at example.com</email-address>
-  </resource>
-  <resource>
-    <uid>disabled</uid>
-    <guid>disabled</guid>
-    <password>disabled</password>
-    <name>Disabled Record</name>
-    <email-address>disabled at example.com</email-address>
-  </resource>
-</accounts>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -17,196 +17,195 @@
  -->
 
 <!DOCTYPE accounts SYSTEM "../../../conf/auth/accounts.dtd">
-
 <directory realm="Test">
   <record type="user">
-    <short-name>admin</short-name>
     <uid>D11F03A0-97EA-48AF-9A6C-FAC7F3975766</uid>
+    <short-name>admin</short-name>
     <password>nimda</password>
     <full-name>Administrators</full-name>
   </record>
   <record type="user">
-    <short-name>wsanchez</short-name>
     <uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
     <guid>6423F94A-6B76-4A3A-815B-D52CFD77935D</guid>
+    <short-name>wsanchez</short-name>
     <password>zehcnasw</password>
     <full-name>Wilfredo Sanchez</full-name>
     <email>wsanchez at example.com</email>
   </record>
   <record type="user">
-    <short-name>cdaboo</short-name>
     <uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
     <guid>5A985493-EE2C-4665-94CF-4DFEA3A89500</guid>
+    <short-name>cdaboo</short-name>
     <password>oobadc</password>
     <full-name>Cyrus Daboo</full-name>
     <email>cdaboo at example.com</email>
   </record>
   <record type="user">
-    <short-name>lecroy</short-name>
     <uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</uid>
+    <short-name>lecroy</short-name>
     <password>yorcel</password>
     <full-name>Chris Lecroy</full-name>
     <email>lecroy at example.com</email>
   </record>
   <record type="user">
-    <short-name>dreid</short-name>
     <uid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</uid>
+    <short-name>dreid</short-name>
     <password>dierd</password>
     <full-name>David Reid</full-name>
     <email>dreid at example.com</email>
   </record>
   <record type="user">
-    <short-name>doublequotes</short-name>
     <uid>8E04787E-336D-41ED-A70B-D233AD0DCE6F</uid>
     <guid>8E04787E-336D-41ED-A70B-D233AD0DCE6F</guid>
+    <short-name>doublequotes</short-name>
     <password>setouqelbuod</password>
     <full-name>Double "quotey" Quotes</full-name>
     <email>doublequotes at example.com</email>
   </record>
-  <user>
-    <short-name>purgeuser</short-name>
+  <record type="user">
     <uid>37DB0C90-4DB1-4932-BC69-3DAB66F374F5</uid>
     <guid>37DB0C90-4DB1-4932-BC69-3DAB66F374F5</guid>
+    <short-name>purgeuser</short-name>
     <password>purgeuser</password>
     <full-name>Purge User</full-name>
-    <email-address>purgeuser at example.com</email-address>
-  </user>
+    <email>purgeuser at example.com</email>
+  </record>
   <record type="user">
-    <short-name>home1</short-name>
     <uid>home1</uid>
+    <short-name>home1</short-name>
     <password>home1</password>
     <full-name>Home One</full-name>
     <email>home1 at example.com</email>
   </record>
   <record type="user">
-    <short-name>home2</short-name>
     <uid>home2</uid>
+    <short-name>home2</short-name>
     <password>home2</password>
     <full-name>Home Two</full-name>
     <email>home2 at example.com</email>
   </record>
 
   <record type="user">
-    <short-name>nocalendar</short-name>
     <uid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</uid>
+    <short-name>nocalendar</short-name>
     <password>radnelacon</password>
     <full-name>No Calendar</full-name>
     <email>nocalendar at example.com</email>
   </record>
   <record type="user">
-    <short-name>usera</short-name>
     <uid>7423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
+    <short-name>usera</short-name>
     <password>a</password>
     <full-name>a</full-name>
     <email>a at example.com</email>
   </record>
   <record type="user">
-    <short-name>userb</short-name>
     <uid>8A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
+    <short-name>userb</short-name>
     <password>b</password>
     <full-name>b</full-name>
     <email>b at example.com</email>
   </record>
   <record type="user">
-    <short-name>userc</short-name>
     <uid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2</uid>
+    <short-name>userc</short-name>
     <password>c</password>
     <full-name>c</full-name>
     <email>c at example.com</email>
   </record>
   <record type="user">
-    <short-name>usercalonly</short-name>
     <uid>9E1FFAC4-3CCD-45A1-8272-D161C92D2EEE</uid>
+    <short-name>usercalonly</short-name>
     <password>a</password>
     <full-name>a calonly</full-name>
     <email>a-calonly at example.com</email>
   </record>
   <record type="user">
-    <short-name>useradbkonly</short-name>
     <uid>7678EC8A-A069-4E82-9066-7279C6718507</uid>
+    <short-name>useradbkonly</short-name>
     <password>a</password>
     <full-name>a adbkonly</full-name>
     <email>a-adbkonly at example.com</email>
   </record>
   <record type="user">
+    <uid>320B73A1-46E2-4180-9563-782DFDBE1F63</uid>
     <short-name>nonascii</short-name>
     <short-name>nonascii佐藤</short-name>
-    <uid>320B73A1-46E2-4180-9563-782DFDBE1F63</uid>
     <password>a</password>
     <full-name>佐藤佐藤佐藤</full-name>
     <email>nonascii at example.com</email>
   </record>
   <record type="user">
-    <short-name>delegator</short-name>
     <uid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</uid>
+    <short-name>delegator</short-name>
     <password>a</password>
     <full-name>Calendar Delegator</full-name>
     <email>calendardelegator at example.com</email>
   </record>
   <record type="user">
-    <short-name>occasionaldelegate</short-name>
     <uid>EC465590-E9E9-4746-ACE8-6C756A49FE4D</uid>
+    <short-name>occasionaldelegate</short-name>
     <password>a</password>
     <full-name>Occasional Delegate</full-name>
     <email>occasional at example.com</email>
   </record>
-    <record type="user">
-    <short-name>delegateviagroup</short-name>
+  <record type="user">
     <uid>46D9D716-CBEE-490F-907A-66FA6C3767FF</uid>
+    <short-name>delegateviagroup</short-name>
     <password>a</password>
     <full-name>Delegate Via Group</full-name>
     <email>delegateviagroup at example.com</email>
   </record>
   <record type="group">
-    <short-name>delegategroup</short-name>
     <uid>00599DAF-3E75-42DD-9DB7-52617E79943F</uid>
+    <short-name>delegategroup</short-name>
     <full-name>Delegate Group</full-name>
     <member-uid>46D9D716-CBEE-490F-907A-66FA6C3767FF</member-uid>
   </record>
 
   <record type="user">
-    <short-name>user01</short-name>
     <uid>user01</uid>
+    <short-name>user01</short-name>
     <password>user01</password>
     <full-name>User 01</full-name>
     <email>user01 at example.com</email>
   </record>
 
   <record type="user">
-    <short-name>user02</short-name>
     <uid>user02</uid>
+    <short-name>user02</short-name>
     <password>user02</password>
     <full-name>User 02</full-name>
     <email>user02 at example.com</email>
   </record>
 
   <record type="user">
-    <short-name>user03</short-name>
     <uid>user03</uid>
+    <short-name>user03</short-name>
     <password>user03</password>
     <full-name>User 03</full-name>
     <email>user03 at example.com</email>
   </record>
 
   <record type="user">
-    <short-name>user04</short-name>
     <uid>user04</uid>
+    <short-name>user04</short-name>
     <password>user04</password>
     <full-name>User 04</full-name>
     <email>user04 at example.com</email>
   </record>
 
   <record type="user">
-    <short-name>user05</short-name>
     <uid>user05</uid>
+    <short-name>user05</short-name>
     <password>user05</password>
     <full-name>User 05</full-name>
     <email>user05 at example.com</email>
   </record>
 
   <record type="user">
-    <short-name>user06</short-name>
     <uid>user06</uid>
+    <short-name>user06</short-name>
     <password>user06</password>
     <full-name>User 06</full-name>
     <email>user06 at example.com</email>
@@ -216,8 +215,8 @@
     <uid>__wsanchez1__</uid>
     <short-name>wsanchez1</short-name>
     <short-name>wilfredo_sanchez</short-name>
-    <full-name>Wilfredo Sanchez</full-name>
     <password>zehcnasw</password>
+    <full-name>Wilfredo Sanchez</full-name>
     <email>wsanchez at bitbucket.calendarserver.org</email>
     <email>wsanchez at devnull.twistedmatrix.com</email>
   </record>
@@ -225,8 +224,8 @@
   <record type="user">
     <uid>__glyph1__</uid>
     <short-name>glyph1</short-name>
-    <full-name>Glyph Lefkowitz</full-name>
     <password>hpylg</password>
+    <full-name>Glyph Lefkowitz</full-name>
     <email>glyph at bitbucket.calendarserver.org</email>
     <email>glyph at devnull.twistedmatrix.com</email>
   </record>
@@ -235,16 +234,16 @@
     <uid>__sagen1__</uid>
     <short-name>sagen</short-name>
     <short-name>sagen1</short-name>
-    <full-name>Morgen Sagen</full-name>
     <password>negas</password>
+    <full-name>Morgen Sagen</full-name>
     <email>sagen at bitbucket.calendarserver.org</email>
   </record>
 
   <record type="user">
     <uid>__cdaboo1__</uid>
     <short-name>cdaboo1</short-name>
-    <full-name>Cyrus Daboo</full-name>
     <password>suryc</password>
+    <full-name>Cyrus Daboo</full-name>
     <email>cdaboo at bitbucket.calendarserver.org</email>
   </record>
 
@@ -252,8 +251,8 @@
     <uid>__dre1__</uid>
     <short-name>dre1</short-name>
     <short-name>dre</short-name>
-    <full-name>Andre LaBranche</full-name>
     <password>erd</password>
+    <full-name>Andre LaBranche</full-name>
     <email>dre at bitbucket.calendarserver.org</email>
   </record>
 
@@ -278,22 +277,22 @@
 
 
   <record type="group">
-    <short-name>managers</short-name>
     <uid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</uid>
+    <short-name>managers</short-name>
     <password>managers</password>
     <full-name>Managers</full-name>
       <member-uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</member-uid>
   </record>
   <record type="group">
-    <short-name>admin</short-name>
     <uid>admin</uid>
+    <short-name>admin</short-name>
     <password>admin</password>
     <full-name>Administrators</full-name>
       <member-uid>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</member-uid>
   </record>
   <record type="group">
-    <short-name>grunts</short-name>
     <uid>grunts</uid>
+    <short-name>grunts</short-name>
     <password>grunts</password>
     <full-name>We do all the work</full-name>
       <member-uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</member-uid>
@@ -301,15 +300,15 @@
       <member-uid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</member-uid>
   </record>
   <record type="group">
-    <short-name>right_coast</short-name>
     <uid>right_coast</uid>
+    <short-name>right_coast</short-name>
     <password>right_coast</password>
     <full-name>East Coast</full-name>
       <member-uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</member-uid>
   </record>
   <record type="group">
-    <short-name>left_coast</short-name>
     <uid>left_coast</uid>
+    <short-name>left_coast</short-name>
     <password>left_coast</password>
     <full-name>West Coast</full-name>
       <member-uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</member-uid>
@@ -317,32 +316,32 @@
       <member-uid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</member-uid>
   </record>
   <record type="group">
-    <short-name>both_coasts</short-name>
     <uid>both_coasts</uid>
+    <short-name>both_coasts</short-name>
     <password>both_coasts</password>
     <full-name>Both Coasts</full-name>
       <member-uid>right_coast</member-uid>
       <member-uid>left_coast</member-uid>
   </record>
   <record type="group">
-    <short-name>recursive1_coasts</short-name>
     <uid>recursive1_coasts</uid>
+    <short-name>recursive1_coasts</short-name>
     <password>recursive1_coasts</password>
     <full-name>Recursive1 Coasts</full-name>
       <member-uid>recursive2_coasts</member-uid>
       <member-uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</member-uid>
   </record>
   <record type="group">
-    <short-name>recursive2_coasts</short-name>
     <uid>recursive2_coasts</uid>
+    <short-name>recursive2_coasts</short-name>
     <password>recursive2_coasts</password>
     <full-name>Recursive2 Coasts</full-name>
       <member-uid>recursive1_coasts</member-uid>
       <member-uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</member-uid>
   </record>
   <record type="group">
-    <short-name>non_calendar_group</short-name>
     <uid>non_calendar_group</uid>
+    <short-name>non_calendar_group</short-name>
     <password>non_calendar_group</password>
     <full-name>Non-calendar group</full-name>
       <member-uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</member-uid>
@@ -352,36 +351,36 @@
   <!-- 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>
+    <short-name>example1</short-name>
     <password>example</password>
     <full-name>Example User1</full-name>
     <email>example1 at 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>
+    <short-name>example2</short-name>
     <password>example</password>
     <full-name>Example User2</full-name>
     <email>example2 at 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>
+    <short-name>example3</short-name>
     <password>example</password>
     <full-name>Example User3</full-name>
     <email>example3 at 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>
+    <short-name>example4</short-name>
     <password>example</password>
     <full-name>Example User4</full-name>
     <email>example4 at example.com</email>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/augments-normalization.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/augments-normalization.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/augments-normalization.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -21,6 +21,5 @@
 <augments>
   <record>
     <uid>aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa</uid>
-    <enable>true</enable>
   </record>
 </augments>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/augments-test-default.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/augments-test-default.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/augments-test-default.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -21,107 +21,84 @@
 <augments>
   <record>
     <uid>Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>Location-Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>Location-AA*</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>Resource-Default</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>Resource-AA*</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>AA*</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>AB*</uid>
-    <enable>false</enable>
   </record>
   <record>
     <uid>B*</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>C*</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
     <auto-schedule-mode>accept-always</auto-schedule-mode>
   </record>
   <record>
     <uid>D11F03A0-97EA-48AF-9A6C-FAC7F3975766</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
-    <enable>false</enable>
   </record>
   <record>
     <uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</uid>
-    <enable>true</enable>
     <enable-calendar>false</enable-calendar>
     <enable-addressbook>false</enable-addressbook>
   </record>
   <record>
     <uid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>6A73326A-F781-47E7-A9F8-AF47364D4152</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>C5BAADEE-6B35-4FD5-A98A-5DF6BBAAC47A</uid>
-    <enable>true</enable>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
-    <auto-schedule-mode/>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>8AB34DF9-0297-4BA3-AADB-DB557DDD21E7</uid>
-    <enable>true</enable>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
     <auto-schedule-mode>accept-always</auto-schedule-mode>
   </record>
   <record>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/augments-test.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/augments-test.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/augments-test.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -21,57 +21,43 @@
 <augments>
   <record>
     <uid>D11F03A0-97EA-48AF-9A6C-FAC7F3975766</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
   </record>
   <record>
     <uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
-    <enable>false</enable>
   </record>
   <record>
     <uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</uid>
-    <enable>true</enable>
     <enable-calendar>false</enable-calendar>
     <enable-addressbook>false</enable-addressbook>
   </record>
   <record>
     <uid>5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</uid>
-    <enable>true</enable>
   </record>
   <record>
     <uid>6A73326A-F781-47E7-A9F8-AF47364D4152</uid>
-    <enable>true</enable>
-    <hosted-at>00002</hosted-at>
-    <enable>true</enable>
+    <server-id>00002</server-id>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>C5BAADEE-6B35-4FD5-A98A-5DF6BBAAC47A</uid>
-    <enable>true</enable>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
-    <auto-schedule-mode/>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
   <record>
     <uid>8AB34DF9-0297-4BA3-AADB-DB557DDD21E7</uid>
-    <enable>true</enable>
-    <enable>true</enable>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <auto-schedule>true</auto-schedule>
     <auto-schedule-mode>accept-always</auto-schedule-mode>
   </record>
   <record>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/augments.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/augments.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/augments.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -18,7 +18,7 @@
 
 <!DOCTYPE augments SYSTEM "../../../conf/auth/augments.dtd">
 
-<augments realm="Test">
+<augments>
   <!--
   <record>
     <uid>Location-Default</uid>
@@ -41,15 +41,15 @@
   </record>
   <record>
     <uid>6423F94A-6B76-4A3A-815B-D52CFD77935D</uid>
+    <server-id>00001</server-id>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <server-id>00001</server-id>
   </record>
   <record>
     <uid>5A985493-EE2C-4665-94CF-4DFEA3A89500</uid>
+    <server-id>00002</server-id>
     <enable-calendar>true</enable-calendar>
     <enable-addressbook>true</enable-addressbook>
-    <server-id>00002</server-id>
   </record>
   <record>
     <uid>8B4288F6-CC82-491D-8EF9-642EF4F3E7D0</uid>
@@ -181,7 +181,7 @@
   <record>
     <uid>75EA36BE-F71B-40F9-81F9-CF59BF40CA8F</uid>
     <enable-calendar>true</enable-calendar>
-    <auto-schedule>true</auto-schedule>
+    <auto-schedule-mode>automatic</auto-schedule-mode>
   </record>
 
 </augments>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -16,54 +16,54 @@
 limitations under the License.
  -->
 
-<!DOCTYPE proxies SYSTEM "proxies.dtd">
+<!DOCTYPE proxies SYSTEM "../../../conf/auth/proxies.dtd">
 
 <proxies>
   <record>
     <guid>mercury</guid>
-    <proxies>
+    <write-proxies>
       <member>left_coast</member>
-    </proxies>
+    </write-proxies>
   </record>
   <record>
     <guid>gemini</guid>
-    <proxies>
+    <write-proxies>
       <member>6423F94A-6B76-4A3A-815B-D52CFD77935D</member>
-    </proxies>
+    </write-proxies>
   </record>
   <record>
     <guid>apollo</guid>
-    <proxies>
+    <write-proxies>
       <member>both_coasts</member>
-    </proxies>
+    </write-proxies>
   </record>
   <record>
     <guid>orion</guid>
-    <proxies>
+    <write-proxies>
       <member>recursive1_coasts</member>
-    </proxies>
+    </write-proxies>
   </record>
   <record>
     <guid>non_calendar_proxy</guid>
-    <proxies>
+    <write-proxies>
       <member>non_calendar_group</member>
-    </proxies>
-    <read-only-proxies>
+    </write-proxies>
+    <read-proxies>
       <member>recursive2_coasts</member>
-    </read-only-proxies>
+    </read-proxies>
   </record>
   <record>
     <guid>7423F94A-6B76-4A3A-815B-D52CFD77935D</guid>
-    <proxies>
+    <write-proxies>
       <member>8A985493-EE2C-4665-94CF-4DFEA3A89500</member>
       <member>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2</member>
-    </proxies>
+    </write-proxies>
   </record>
   <record>
     <guid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</guid>
-    <proxies>
+    <write-proxies>
       <member>EC465590-E9E9-4746-ACE8-6C756A49FE4D</member>
       <member>00599DAF-3E75-42DD-9DB7-52617E79943F</member>
-    </proxies>
+    </write-proxies>
   </record>
 </proxies>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/resources.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/resources.xml	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/resources.xml	2014-04-26 15:10:28 UTC (rev 13375)
@@ -81,37 +81,37 @@
     <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>
+    <short-name>location01</short-name>
     <password>location01</password>
     <full-name>Room 01</full-name>
   </record>
   <record type="location">
-    <short-name>room-with-address-1</short-name>
     <uid>room-addr-1</uid>
     <guid>634A102B-6902-464F-9451-8A86A31628C1</guid>
+    <short-name>room-with-address-1</short-name>
     <password>room-addr-2</password>
     <full-name>Room with Address 1</full-name>
     <associated-address>1-infinite-loop</associated-address>
   </record>
   <record type="location">
+    <uid>room-addr-2</uid>
     <short-name>room-with-address-2</short-name>
-    <uid>room-addr-2</uid>
     <password>room-addr-2</password>
     <full-name>Room with Address 2</full-name>
     <associated-address>2-infinite-loop</associated-address>
   </record>
   <record type="address">
+    <uid>1-infinite-loop</uid>
     <short-name>il1</short-name>
-    <uid>1-infinite-loop</uid>
     <full-name>One Infinite Loop</full-name>
     <street-address>1 Infinite Loop, Cupertino, CA 95014</street-address>
     <geographic-location>37.331741,-122.030333</geographic-location>
   </record>
   <record type="address">
+    <uid>2-infinite-loop</uid>
     <short-name>il2</short-name>
-    <uid>2-infinite-loop</uid>
     <full-name>Two Infinite Loop</full-name>
     <street-address>2 Infinite Loop, Cupertino, CA 95014</street-address>
     <geographic-location>37.332633,-122.030502</geographic-location>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_augment.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_augment.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_augment.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -31,46 +31,46 @@
 xmlFileNormalization = os.path.join(os.path.dirname(__file__), "augments-normalization.xml")
 
 testRecords = (
-    {"uid": "D11F03A0-97EA-48AF-9A6C-FAC7F3975766", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "6423F94A-6B76-4A3A-815B-D52CFD77935D", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "5A985493-EE2C-4665-94CF-4DFEA3A89500", "enabled": False, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "8B4288F6-CC82-491D-8EF9-642EF4F3E7D0", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "543D28BA-F74F-4D5F-9243-B3E3A61171E5", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "6A73326A-F781-47E7-A9F8-AF47364D4152", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": True, "autoScheduleMode": "default"},
-    {"uid": "C5BAADEE-6B35-4FD5-A98A-5DF6BBAAC47A", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": True, "autoScheduleMode": "default"},
-    {"uid": "8AB34DF9-0297-4BA3-AADB-DB557DDD21E7", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": True, "autoScheduleMode": "accept-always"},
+    {"uid": "D11F03A0-97EA-48AF-9A6C-FAC7F3975766", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "6423F94A-6B76-4A3A-815B-D52CFD77935D", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "default"},
+    {"uid": "5A985493-EE2C-4665-94CF-4DFEA3A89500", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "8B4288F6-CC82-491D-8EF9-642EF4F3E7D0", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "5FF60DAD-0BDE-4508-8C77-15F0CA5C8DD1", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "543D28BA-F74F-4D5F-9243-B3E3A61171E5", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "6A73326A-F781-47E7-A9F8-AF47364D4152", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "automatic"},
+    {"uid": "C5BAADEE-6B35-4FD5-A98A-5DF6BBAAC47A", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "automatic"},
+    {"uid": "8AB34DF9-0297-4BA3-AADB-DB557DDD21E7", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "accept-always"},
     {"uid": "FC674703-8008-4A77-B80E-0DB55A9CE620", "enabledForLogin": False, }, # Explicitly false
     {"uid": "B473DC32-1B0D-45EE-9BAC-DA878AE9CE74", "enabledForLogin": True, }, # Explicitly True
     {"uid": "9F2B176D-B3F5-483A-AA63-0A1FC6E6D54B", "enabledForLogin": True, }, # Default is True
 )
 
 testRecordWildcardDefault = (
-    {"uid": "A4318887-F2C7-4A70-9056-B88CC8DB26F1", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "AA5F935F-3358-4510-A649-B391D63279F2", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "ABF1A83B-1A29-4E04-BDC3-A6A66ECF27CA", "enabled": False, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "BC22A734-5E41-4FB7-B5C1-51DC0656DC2F", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "C6DEEBB1-E14A-47F2-98BA-7E3BB4353E3A", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": True, "autoScheduleMode": "accept-always"},
-    {"uid": "AA859321-2C72-4974-ADCF-0CBA0C76F95D", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "AB7C488B-9ED2-4265-881C-7E2E38A63584", "enabled": False, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "BB0C0DA1-0545-45F6-8D08-917C554D93A4", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": False, "autoScheduleMode": "default"},
-    {"uid": "CCD30AD3-582F-4682-8B65-2EDE92C5656E", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": True, "autoScheduleMode": "accept-always"},
+    {"uid": "A4318887-F2C7-4A70-9056-B88CC8DB26F1", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "default"},
+    {"uid": "AA5F935F-3358-4510-A649-B391D63279F2", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "ABF1A83B-1A29-4E04-BDC3-A6A66ECF27CA", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "BC22A734-5E41-4FB7-B5C1-51DC0656DC2F", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "default"},
+    {"uid": "C6DEEBB1-E14A-47F2-98BA-7E3BB4353E3A", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "accept-always"},
+    {"uid": "AA859321-2C72-4974-ADCF-0CBA0C76F95D", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "AB7C488B-9ED2-4265-881C-7E2E38A63584", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "default"},
+    {"uid": "BB0C0DA1-0545-45F6-8D08-917C554D93A4", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "default"},
+    {"uid": "CCD30AD3-582F-4682-8B65-2EDE92C5656E", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "accept-always"},
 )
 
 testRecordTypeDefault = (
-    ("locations", {"uid": "A4318887-F2C7-4A70-9056-B88CC8DB26F1", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoSchedule": True, "autoScheduleMode": "default"}),
-    ("locations", {"uid": "AA5F935F-3358-4510-A649-B391D63279F2", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoSchedule": True, "autoScheduleMode": "default"}),
-    ("resources", {"uid": "A5318887-F2C7-4A70-9056-B88CC8DB26F1", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoSchedule": True, "autoScheduleMode": "default"}),
-    ("resources", {"uid": "AA6F935F-3358-4510-A649-B391D63279F2", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoSchedule": True, "autoScheduleMode": "default"}),
+    ("locations", {"uid": "A4318887-F2C7-4A70-9056-B88CC8DB26F1", "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoScheduleMode": "automatic"}),
+    ("locations", {"uid": "AA5F935F-3358-4510-A649-B391D63279F2", "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoScheduleMode": "automatic"}),
+    ("resources", {"uid": "A5318887-F2C7-4A70-9056-B88CC8DB26F1", "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoScheduleMode": "automatic"}),
+    ("resources", {"uid": "AA6F935F-3358-4510-A649-B391D63279F2", "enabledForCalendaring": True, "enabledForAddressBooks": False, "autoScheduleMode": "automatic"}),
 )
 
 
 testAddRecords = (
-    {"uid": "D11F03A0-97EA-48AF-9A6C-FAC7F3975767", "enabled": True, "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoSchedule": False, "autoScheduleMode": "default"},
+    {"uid": "D11F03A0-97EA-48AF-9A6C-FAC7F3975767", "enabledForCalendaring": False, "enabledForAddressBooks": False, "autoScheduleMode": "none"},
 )
 
 testModifyRecords = (
-    {"uid": "D11F03A0-97EA-48AF-9A6C-FAC7F3975767", "enabled": True, "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoSchedule": False, "autoScheduleMode": "default"},
+    {"uid": "D11F03A0-97EA-48AF-9A6C-FAC7F3975767", "enabledForCalendaring": True, "enabledForAddressBooks": True, "autoScheduleMode": "none"},
 )
 
 

Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/delivery.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/delivery.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/delivery.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -426,12 +426,12 @@
             component = normalizedCalendar.mainType()
             method = normalizedCalendar.propertyValue("METHOD")
             self.data = str(normalizedCalendar)
-            returnValue(component, method)
+            returnValue((component, method,))
         else:
             cal = Component.fromString(self.data)
             component = cal.mainType()
             method = cal.propertyValue("METHOD")
-            returnValue(component, method)
+            returnValue((component, method,))
 
 
     @inlineCallbacks

Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/scheduler.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/scheduler.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/scheduler.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -228,8 +228,28 @@
         # For remote requests we do not allow the originator to be a local user or one within our domain.
         originatorPrincipal = (yield self.txn.directoryService().recordWithCalendarUserAddress(self.originator))
         localUser = (yield addressmapping.mapper.isCalendarUserInMyDomain(self.originator))
+
+        if (originatorPrincipal or localUser) and not self._podding:
+            log.error("Cannot use originator that is external to this server: %s" % (self.originator,))
+            raise HTTPError(self.errorResponse(
+                responsecode.FORBIDDEN,
+                self.errorElements["originator-denied"],
+                "Originator cannot be external to server",
+            ))
+
         if originatorPrincipal or localUser:
-            if originatorPrincipal.thisServer():
+
+            # iSchedule must never deliver for users hosted on the server or any pod
+            if not self._podding:
+                log.error("Cannot use originator that is local to this server: %s" % (self.originator,))
+                raise HTTPError(self.errorResponse(
+                    responsecode.FORBIDDEN,
+                    self.errorElements["originator-denied"],
+                    "Originator cannot be external to server",
+                ))
+
+            # Cannot deliver message for someone hosted on the same pod
+            elif originatorPrincipal.thisServer():
                 log.error("Cannot use originator that is on this server: %s" % (self.originator,))
                 raise HTTPError(self.errorResponse(
                     responsecode.FORBIDDEN,
@@ -240,8 +260,16 @@
                 self.originator = calendarUserFromPrincipal(self.originator, originatorPrincipal)
                 self._validAlternateServer(originatorPrincipal)
         else:
-            self.originator = RemoteCalendarUser(self.originator)
-            self._validiScheduleServer()
+            if self._podding:
+                log.error("Cannot use originator that is external to this server: %s" % (self.originator,))
+                raise HTTPError(self.errorResponse(
+                    responsecode.FORBIDDEN,
+                    self.errorElements["originator-denied"],
+                    "Originator cannot be external to server",
+                ))
+            else:
+                self.originator = RemoteCalendarUser(self.originator)
+                self._validiScheduleServer()
 
 
     def _validiScheduleServer(self):

Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_resource.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_resource.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/test/test_resource.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -29,7 +29,10 @@
     CommonCommonTests
 from twext.python.clsprop import classproperty
 import txweb2.dav.test.util
-from txdav.caldav.datastore.test.util import buildCalendarStore
+from txdav.caldav.datastore.test.util import buildCalendarStore, \
+    TestCalendarStoreDirectoryRecord
+from txdav.caldav.datastore.scheduling.ischedule.localservers import Servers, \
+    Server
 
 class iSchedulePOST (CommonCommonTests, txweb2.dav.test.util.TestCase):
 
@@ -40,10 +43,39 @@
         self.directory = self._sqlCalendarStore.directoryService()
 
         self.site.resource.putChild("ischedule", IScheduleInboxResource(self.site.resource, self.storeUnderTest()))
+        self.site.resource.putChild("podding", IScheduleInboxResource(self.site.resource, self.storeUnderTest(), podding=True))
 
         yield self.populate()
 
+        # Pod servers
+        a_server = Server(id="A", uri="http://localhost:8008", thisServer=True)
+        Servers.addServer(a_server)
+        b_server = Server(id="B", uri="http://localhost:8108", thisServer=False)
+        Servers.addServer(b_server)
+        Servers._thisServer = a_server
 
+        # Podded users
+        for ctr in range(1, 100):
+            self.directory.addRecord(TestCalendarStoreDirectoryRecord(
+                "puser{:02d}".format(ctr),
+                ("puser{:02d}".format(ctr),),
+                "Puser {:02d}".format(ctr),
+                frozenset((
+                    "urn:uuid:puser{:02d}".format(ctr),
+                    "mailto:puser{:02d}@example.com".format(ctr),
+                )),
+                thisServer=False,
+                server=b_server,
+            ))
+
+        # iSchedule server
+        IScheduleServers()
+        server = IScheduleServerRecord("http://127.0.0.1")
+        server.allow_from = True
+        IScheduleServers._domainMap["example.org"] = server
+        self.addCleanup(lambda : IScheduleServers._domainMap.pop("example.org")) #@UndefinedVariable
+
+
     def storeUnderTest(self):
         """
         Return a store for testing.
@@ -132,12 +164,6 @@
         Make calendar
         """
 
-        IScheduleServers()
-        server = IScheduleServerRecord("http://127.0.0.1")
-        server.allow_from = True
-        IScheduleServers._domainMap["example.org"] = server
-        self.addCleanup(lambda : IScheduleServers._domainMap.pop("example.org")) #@UndefinedVariable
-
         request = SimpleRequest(
             self.site,
             "POST",
@@ -177,3 +203,246 @@
         inbox = (yield self.calendarUnderTest(name="inbox", home="user02"))
         count = (yield inbox.listCalendarObjects())
         self.assertEqual(len(count), 1)
+
+
+    @inlineCallbacks
+    def test_receive_reject_local_originator(self):
+        """
+        Make calendar
+        """
+
+        request = SimpleRequest(
+            self.site,
+            "POST",
+            "/ischedule",
+            headers=http_headers.Headers(rawHeaders={
+                "Originator": ("mailto:user01 at example.com",),
+                "Recipient": ("mailto:user02 at example.com",),
+                "Content-Type": ("text/calendar",)
+            }),
+            content="""BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:20060101T100000Z
+DURATION:PT1H
+SUMMARY:event 1
+UID:deadlocked
+ORGANIZER:mailto:user01 at example.com
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:user01 at example.com
+ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:user02 at example.com
+END:VEVENT
+END:VCALENDAR
+""".replace("\n", "\r\n")
+        )
+
+        response = (yield self.send(request))
+        self.assertEqual(response.code, responsecode.FORBIDDEN)
+
+        calendar = (yield self.calendarUnderTest(name="calendar_1", home="user01"))
+        count = (yield calendar.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+        inbox = (yield self.calendarUnderTest(name="inbox", home="user01"))
+        count = (yield inbox.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+        calendar = (yield self.calendarUnderTest(name="calendar_1", home="user02"))
+        count = (yield calendar.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+        inbox = (yield self.calendarUnderTest(name="inbox", home="user02"))
+        count = (yield inbox.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+
+    @inlineCallbacks
+    def test_receive_reject_podded_originator(self):
+        """
+        Make calendar
+        """
+
+        request = SimpleRequest(
+            self.site,
+            "POST",
+            "/ischedule",
+            headers=http_headers.Headers(rawHeaders={
+                "Originator": ("mailto:puser01 at example.com",),
+                "Recipient": ("mailto:user02 at example.com",),
+                "Content-Type": ("text/calendar",)
+            }),
+            content="""BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:20060101T100000Z
+DURATION:PT1H
+SUMMARY:event 1
+UID:deadlocked
+ORGANIZER:mailto:puser01 at example.com
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:puser01 at example.com
+ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:user02 at example.com
+END:VEVENT
+END:VCALENDAR
+""".replace("\n", "\r\n")
+        )
+
+        response = (yield self.send(request))
+        self.assertEqual(response.code, responsecode.FORBIDDEN)
+
+        calendar = (yield self.calendarUnderTest(name="calendar_1", home="user02"))
+        count = (yield calendar.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+        inbox = (yield self.calendarUnderTest(name="inbox", home="user02"))
+        count = (yield inbox.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+
+    @inlineCallbacks
+    def test_receive_podding(self):
+        """
+        Make calendar
+        """
+
+        request = SimpleRequest(
+            self.site,
+            "POST",
+            "/podding",
+            headers=http_headers.Headers(rawHeaders={
+                "Originator": ("mailto:puser01 at example.com",),
+                "Recipient": ("mailto:user02 at example.com",),
+                "Content-Type": ("text/calendar",)
+            }),
+            content="""BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:20060101T100000Z
+DURATION:PT1H
+SUMMARY:event 1
+UID:deadlocked
+ORGANIZER:mailto:puser01 at example.com
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:puser01 at example.com
+ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:user02 at example.com
+END:VEVENT
+END:VCALENDAR
+""".replace("\n", "\r\n")
+        )
+
+        response = (yield self.send(request))
+        self.assertEqual(response.code, responsecode.OK)
+
+        calendar = (yield self.calendarUnderTest(name="calendar_1", home="user02"))
+        count = (yield calendar.listCalendarObjects())
+        self.assertEqual(len(count), 1)
+
+        inbox = (yield self.calendarUnderTest(name="inbox", home="user02"))
+        count = (yield inbox.listCalendarObjects())
+        self.assertEqual(len(count), 1)
+
+
+    @inlineCallbacks
+    def test_receive_podding_reject_external_originator(self):
+        """
+        Make calendar
+        """
+
+        request = SimpleRequest(
+            self.site,
+            "POST",
+            "/podding",
+            headers=http_headers.Headers(rawHeaders={
+                "Originator": ("mailto:user01 at example.org",),
+                "Recipient": ("mailto:user02 at example.com",),
+                "Content-Type": ("text/calendar",)
+            }),
+            content="""BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:20060101T100000Z
+DURATION:PT1H
+SUMMARY:event 1
+UID:deadlocked
+ORGANIZER:mailto:user01 at example.org
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:user01 at example.org
+ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:user02 at example.com
+END:VEVENT
+END:VCALENDAR
+""".replace("\n", "\r\n")
+        )
+
+        response = (yield self.send(request))
+        self.assertEqual(response.code, responsecode.FORBIDDEN)
+
+        calendar = (yield self.calendarUnderTest(name="calendar_1", home="user02"))
+        count = (yield calendar.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+        inbox = (yield self.calendarUnderTest(name="inbox", home="user02"))
+        count = (yield inbox.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+
+    @inlineCallbacks
+    def test_receive_podding_reject_same_pod_originator(self):
+        """
+        Make calendar
+        """
+
+        request = SimpleRequest(
+            self.site,
+            "POST",
+            "/podding",
+            headers=http_headers.Headers(rawHeaders={
+                "Originator": ("mailto:user01 at example.com",),
+                "Recipient": ("mailto:user02 at example.com",),
+                "Content-Type": ("text/calendar",)
+            }),
+            content="""BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:20060101T100000Z
+DURATION:PT1H
+SUMMARY:event 1
+UID:deadlocked
+ORGANIZER:mailto:user01 at example.com
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:user01 at example.com
+ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:user02 at example.com
+END:VEVENT
+END:VCALENDAR
+""".replace("\n", "\r\n")
+        )
+
+        response = (yield self.send(request))
+        self.assertEqual(response.code, responsecode.FORBIDDEN)
+
+        calendar = (yield self.calendarUnderTest(name="calendar_1", home="user02"))
+        count = (yield calendar.listCalendarObjects())
+        self.assertEqual(len(count), 0)
+
+        inbox = (yield self.calendarUnderTest(name="inbox", home="user02"))
+        count = (yield inbox.listCalendarObjects())
+        self.assertEqual(len(count), 0)

Modified: CalendarServer/trunk/txdav/common/datastore/test/util.py
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/test/util.py	2014-04-26 15:06:12 UTC (rev 13374)
+++ CalendarServer/trunk/txdav/common/datastore/test/util.py	2014-04-26 15:10:28 UTC (rev 13375)
@@ -150,7 +150,11 @@
         return self._server
 
 
+    def serverURI(self):
+        return self._server.uri
 
+
+
 def buildDirectory(homes=None):
 
     directory = TestStoreDirectoryService()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140426/3632623d/attachment-0001.html>


More information about the calendarserver-changes mailing list