<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[11894] CalDAVTester/trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.calendarserver.org//changeset/11894">11894</a></dd>
<dt>Author</dt> <dd>cdaboo@apple.com</dd>
<dt>Date</dt> <dd>2013-11-06 14:19:12 -0800 (Wed, 06 Nov 2013)</dd>
</dl>
<h3>Log Message</h3>
<pre>Support testing of 2-host pod setup.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#CalDAVTestertrunkREADMEtxt">CalDAVTester/trunk/README.txt</a></li>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfotemplatexml">CalDAVTester/trunk/scripts/server/serverinfo-template.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfodtd">CalDAVTester/trunk/scripts/server/serverinfo.dtd</a></li>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfoxml">CalDAVTester/trunk/scripts/server/serverinfo.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestsCalDAVcaldavtestdtd">CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd</a></li>
<li><a href="#CalDAVTestertrunkscriptstestsCardDAVcaldavtestdtd">CalDAVTester/trunk/scripts/tests/CardDAV/caldavtest.dtd</a></li>
<li><a href="#CalDAVTestertrunksrccaldavtestpy">CalDAVTester/trunk/src/caldavtest.py</a></li>
<li><a href="#CalDAVTestertrunksrcmanagerpy">CalDAVTester/trunk/src/manager.py</a></li>
<li><a href="#CalDAVTestertrunksrcrequestpy">CalDAVTester/trunk/src/request.py</a></li>
<li><a href="#CalDAVTestertrunksrcserverinfopy">CalDAVTester/trunk/src/serverinfo.py</a></li>
<li><a href="#CalDAVTestertrunksrcxmlDefspy">CalDAVTester/trunk/src/xmlDefs.py</a></li>
<li><a href="#CalDAVTestertrunkverifiersxmlElementMatchpy">CalDAVTester/trunk/verifiers/xmlElementMatch.py</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>CalDAVTester/trunk/Resource/CalDAV/podding/</li>
<li>CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/</li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy1xml">CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/1.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy2xml">CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/2.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy3ics">CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/3.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy4xml">CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/4.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy5ics">CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/5.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy6xml">CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/6.xml</a></li>
<li>CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/</li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy1xml">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/1.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy10xml">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/10.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy11xml">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/11.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy12ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/12.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy13ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/13.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy14ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/14.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy15ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/15.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy2xml">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/2.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy3ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/3.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy4xml">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/4.xml</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy5ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/5.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy6ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/6.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy7ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/7.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy8ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/8.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy9ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/9.ics</a></li>
<li>CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/</li>
<li>CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/</li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite11ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/1.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite12ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/2.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite13ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/3.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite14ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/4.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite15ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/5.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite16ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/6.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite17ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/7.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite18ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/8.ics</a></li>
<li><a href="#CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite19ics">CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/9.ics</a></li>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfopodxml">CalDAVTester/trunk/scripts/server/serverinfo-pod.xml</a></li>
<li>CalDAVTester/trunk/scripts/tests-pod/</li>
<li>CalDAVTester/trunk/scripts/tests-pod/CalDAV/</li>
<li><a href="#CalDAVTestertrunkscriptstestspodCalDAVcaldavtestdtd">CalDAVTester/trunk/scripts/tests-pod/CalDAV/caldavtest.dtd</a></li>
<li><a href="#CalDAVTestertrunkscriptstestspodCalDAVcalendaruserproxyxml">CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestspodCalDAVimplicitproxyxml">CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitproxy.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestspodCalDAVimplicitsimplexml">CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitsimple.xml</a></li>
<li><a href="#CalDAVTestertrunkscriptstestspodCalDAVsimplexml">CalDAVTester/trunk/scripts/tests-pod/CalDAV/simple.xml</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#CalDAVTestertrunkscriptsserverserverinfopartitioningxml">CalDAVTester/trunk/scripts/server/serverinfo-partitioning.xml</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalDAVTestertrunkREADMEtxt"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/README.txt (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/README.txt        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/README.txt        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -791,6 +791,7 @@
</span><span class="cx">         [+text] - node text starts with "text".
</span><span class="cx">         [^tag] - node has child element "tag".
</span><span class="cx">         [^tag=text] - node has child element "tag" with text "text".
</span><ins>+        [|] - node is empty.
</ins><span class="cx">         [json] - node contains valid JSON data.
</span><span class="cx">         [icalendar] - node contains valid iCalendare data.
</span><span class="cx">         
</span></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy1xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/1.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/1.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/1.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:">
+<D:prop>
+<D:group-member-set/>
+<D:group-membership/>
+</D:prop>
+</D:propfind>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy2xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/2.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/2.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/2.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propertyupdate xmlns:D="DAV:">
+<D:set>
+<D:prop>
+<D:group-member-set><D:href>$pprincipaluri1:</D:href></D:group-member-set>
+</D:prop>
+</D:set>
+</D:propertyupdate>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy3ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/3.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/3.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/3.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+VERSION:2.0
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART:$now.year.1:0101T100000Z
+DURATION:PT1H
+SUMMARY:event 2
+UID:event2@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy4xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/4.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/4.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/4.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propertyupdate xmlns:D="DAV:">
+<D:set>
+<D:prop>
+<D:group-member-set/>
+</D:prop>
+</D:set>
+</D:propertyupdate>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy5ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/5.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/5.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/5.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingcalendaruserproxy6xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/6.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/6.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/calendaruserproxy/6.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propertyupdate xmlns:D="DAV:">
+<D:set>
+<D:prop>
+<D:group-member-set><D:href>$principaluri2:</D:href></D:group-member-set>
+</D:prop>
+</D:set>
+</D:propertyupdate>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy1xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/1.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/1.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/1.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propertyupdate xmlns:D="DAV:">
+<D:set>
+<D:prop>
+<D:group-member-set><D:href>$pprincipaluri1:</D:href></D:group-member-set>
+</D:prop>
+</D:set>
+</D:propertyupdate>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy10xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/10.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/10.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/10.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:acl xmlns:D="DAV:">
+        <D:ace>
+                <D:principal>
+                        <D:href>$pprincipaluri1:</D:href>
+                </D:principal>
+                <D:grant>
+                        <D:privilege><D:read/></D:privilege>
+                        <D:privilege><D:write/></D:privilege>
+                </D:grant>
+        </D:ace>
+</D:acl>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy11xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/11.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/11.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/11.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:acl xmlns:D="DAV:"/>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy12ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/12.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/12.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/12.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-2
+DTSTART:$now.year.1:0208T120000Z
+DURATION:PT1H
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy13ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/13.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/13.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/13.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-3
+DTSTART:$now.year.1:0208T100000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddralt2:
+ATTENDEE;CN=$username3:;RSVP=TRUE:$cuaddralt3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2::$cuaddralt2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy14ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/14.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/14.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/14.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddralt2:
+ATTENDEE;CN=$username3:;PARTSTAT=DECLINED:$cuaddralt3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2::$cuaddralt2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy15ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/15.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/15.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/15.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$username3:;PARTSTAT=DECLINED;EMAIL=$email3::$cuaddrurn3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2:;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy2xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/2.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/2.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/2.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propertyupdate xmlns:D="DAV:">
+<D:set>
+<D:prop>
+<D:group-member-set></D:group-member-set>
+</D:prop>
+</D:set>
+</D:propertyupdate>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy3ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/3.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/3.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/3.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddralt2:
+ATTENDEE;CN=$username3:;RSVP=TRUE:$cuaddralt3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2::$cuaddralt2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy4xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/4.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/4.xml         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/4.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:propfind xmlns:D="DAV:">
+<D:prop>
+<D:resourcetype/>
+<D:getetag/>
+</D:prop>
+</D:propfind>
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy5ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/5.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/5.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/5.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;SCHEDULE-STATUS=1.2;EMAIL=$email3::$cuaddrurn3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2:;EMAIL=$email2::$cuaddrurn2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy6ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/6.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/6.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/6.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$username3:;RSVP=TRUE;EMAIL=$email3::$cuaddrurn3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2:;EMAIL=$email2::$cuaddrurn2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy7ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/7.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/7.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/7.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddralt2:
+ATTENDEE;CN=$username3:;PARTSTAT=ACCEPTED:$cuaddralt3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2::$cuaddralt2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy8ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/8.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/8.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/8.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$username3:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0;
+ EMAIL=$email3::$cuaddrurn3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2:;EMAIL=$email2::$cuaddrurn2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitproxy9ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/9.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/9.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitproxy/9.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:event-1
+DTSTART:$now.year.1:0208T200000Z
+DURATION:PT1H
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$username3:;PARTSTAT=ACCEPTED;EMAIL=$email3::$cuaddrurn3:
+CREATED:20060110T231240Z
+DESCRIPTION:Call-in
+DTSTAMP:20060309T185105Z
+ORGANIZER;CN=$username2:;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2:
+STATUS:CONFIRMED
+SUMMARY:Example
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite11ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/1.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/1.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/1.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+CREATED:20060101T150000Z
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:event1@ninevah.local
+ORGANIZER;CN=$username1::$cuaddr1:
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$cuaddr2:
+ATTENDEE;CN=$pusername1:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION:$pcuaddr1:
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite12ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/2.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/2.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/2.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$pusername1:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$pemail1::$pcuaddrurn1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite13ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/3.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/3.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/3.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$pusername1:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;EMAIL=$pemail1::$pcuaddrurn1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite14ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/4.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/4.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/4.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddr2:
+ATTENDEE;CN=$pusername1:;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:$pcuaddr1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1::$cuaddr1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite15ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/5.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/5.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/5.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$pusername1:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.2;EMAIL=$pemail1::$pcuaddrurn1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite16ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/6.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/6.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/6.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$pusername1:;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;EMAIL=$pemail1::$pcuaddrurn1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+TRANSP:TRANSPARENT
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite17ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/7.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/7.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/7.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED:$cuaddr1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED:$cuaddr2:
+ATTENDEE;CN=$pusername1:;PARTSTAT=DECLINED:$pcuaddr1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1::$cuaddr1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite18ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/8.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/8.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/8.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//Example Inc.//Example Calendar//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$pusername1:;PARTSTAT=DECLINED;SCHEDULE-STATUS=2.0;EMAIL=$pemail1::$pcuaddrurn1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkResourceCalDAVpoddingimplicitschedulesuite19ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/9.ics (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/9.ics         (rev 0)
+++ CalDAVTester/trunk/Resource/CalDAV/podding/implicitschedule/suite1/9.ics        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+TZID:US/Eastern
+LAST-MODIFIED:20040110T032845Z
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event1@ninevah.local
+DTSTART;TZID=US/Eastern:$now.year.1:0101T100000
+DURATION:PT1H
+ATTENDEE;CN=$username1:;PARTSTAT=ACCEPTED;EMAIL=$email1::$cuaddrurn1:
+ATTENDEE;CN=$username2:;PARTSTAT=ACCEPTED;EMAIL=$email2::$cuaddrurn2:
+ATTENDEE;CN=$pusername1:;PARTSTAT=DECLINED;EMAIL=$pemail1::$pcuaddrurn1:
+CREATED:20060101T150000Z
+DTSTAMP:20051222T205953Z
+ORGANIZER;CN=$username1:;SCHEDULE-STATUS=1.2;EMAIL=$email1::$cuaddrurn1:
+SUMMARY:event 1
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfopartitioningxml"></a>
<div class="delfile"><h4>Deleted: CalDAVTester/trunk/scripts/server/serverinfo-partitioning.xml (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo-partitioning.xml        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/scripts/server/serverinfo-partitioning.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -1,896 +0,0 @@
</span><del>-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE serverinfo SYSTEM "serverinfo.dtd">
-
-<!--
- Copyright (c) 2006-2013 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.
- -->
-
-<serverinfo>
-        <host>localhost</host>
-        <nonsslport>8008</nonsslport>
-        <sslport>8443</sslport>
-        <authtype>basic</authtype>
-
-        <features>
-                <!-- Generic WebDAV extensions -->
-                <feature>COPY Method</feature>                                                        <!-- COPY method -->
-                <feature>MOVE Method</feature>                                                        <!-- MOVE method -->
-                <feature>Extended MKCOL</feature>                                                <!-- Extended MKCOL -->
-                
-                <!-- ACL related -->
-                <feature>ACL Method</feature>                                                        <!-- ACL method -->
-                <feature>acl-principal-prop-set REPORT</feature>                <!-- ACL acl-principal-prop-set REPORT -->
-                <feature>principal-match REPORT</feature>                                <!-- ACL principal-match REPORT -->
-                <feature>principal-property-search REPORT</feature>                <!-- ACL principal-property-search REPORT -->
-                <feature>principal-search-property-set REPORT</feature>        <!-- ACL principal-search-property-set REPORT -->
-
-                <feature>add-member</feature>                                        <!-- Add-member used to create resources -->
-                <!-- <feature>auth-on-root</feature> -->                <!-- Whether the server requires authentication on the root URI -->
-                <feature>brief</feature>                                         <!-- Brief header for PROPFIND, REPORT -->
-                <feature>bulk-post</feature>                                        <!-- Bulk POST requests -->
-                <feature>ctag</feature>                                                        <!-- ctag extension -->
-                <feature>current-user-principal</feature>                <!-- current-user-principal extension -->
-                <feature>directory listing</feature>                         <!-- GET on collection -->
-                <feature>extended-principal-search</feature>        <!-- Extended principal-property-search REPORT extension -->
-                <feature>expand-property</feature>                                <!-- Expand property REPORT -->
-                <feature>only-proxy-groups</feature>                        <!-- Group-membership only includes delegated-to groups -->
-                <feature>limits</feature>                                                <!-- max-collections and max-resources limits -->
-                <feature>prefer</feature>                                                <!-- Prefer header overall support -->
-                <feature>prefer-minimal</feature>                                <!-- Prefer header return=minimal -->
-                <feature>prefer-representation</feature>                <!-- Prefer header return=representation -->
-                <feature>prefer-noroot</feature>                                <!-- Prefer header depth-noroot -->
-                <feature>quota</feature>                                                <!-- WebDAV QUOTA -->
-                <!-- <feature>quota-on-resources</feature> -->        <!-- WebDAV QUOTA on calendar and address book object resources -->
-                <feature>resource-id</feature>                                        <!-- WebDAV BIND DAV:resource-id property -->
-                <feature>sync-report</feature>                                        <!-- WebDAV collection sync REPORT -->
-                <!-- <feature>sync-report-limit</feature> -->        <!-- WebDAV collection sync REPORT DAV:limit support -->
-                <feature>sync-report-home</feature>                                <!-- WebDAV collection sync REPORT on Homes -->
-                <feature>well-known</feature>                                        <!-- well-known feature -->
-
-                <!-- <feature>per-object-ACLs</feature> -->                <!-- ACL for objects in calendar/address books -->
-                <!-- <feature>regular-collection</feature> --> <!-- Regular collections allowed in calendar/address book homes -->
-
-                <!-- <feature>json-data</feature> -->                        <!-- jCal and jCard support -->
-
-                <!-- CalDAV specific extension -->
-                <feature>caldav</feature>                                         <!-- Basic CalDAV feature enabler -->
-                <feature>attachments-collection</feature>                <!-- Server uses a collection in same WebDAV tree to store attachments -->
-                <feature>auto-accept</feature>                                        <!-- Auto-accept for rooms & locations -->
-                <feature>auto-accept-modes</feature>                        <!-- Auto-accept modes -->
-                <!-- <feature>dropbox</feature> -->                                <!-- dropbox extension -->
-                <feature>default-alarms</feature>                                <!-- default alarms extension -->
-                <feature>EMAIL parameter</feature>                                <!-- Server normalizes cuaddress and adds EMAIL parameter -->
-                <feature>extended-freebusy</feature>                 <!-- Extended freebusy response -->
-                <feature>implicit-scheduling</feature>                        <!-- CalDAV scheduling - implicit -->
-                <feature>location-resource-tracking</feature> <!-- Server tracks who makes unscheduled changes to locations and resources -->
-                <feature>managed-attachments</feature>                        <!-- CalDAV Managed Attachments -->
-                <feature>maskuid</feature>                                                <!-- maskuid extension -->
-                <feature>no-duplicate-uids</feature>                        <!-- duplicate UIDs in same home not supported -->
-                <feature>partitioning</feature>                                        <!-- Partitioned server -->
-                <feature>partstat-timestamp</feature>                        <!-- Time stamps when PARTSTAT changes extension -->
-                <feature>private-comments</feature>                                <!-- private-comments extension -->
-                <feature>private-events</feature>                                <!-- private-events extension -->
-                <feature>proxy</feature>                                                <!-- calendar-user-proxy extension -->
-                <!-- <feature>proxy-authz</feature> -->                        <!-- sudo user extension -->
-                <feature>remove-duplicate-alarms</feature>         <!-- Server removes any duplicate alarms on PUT -->
-                <feature>query-extended</feature>                                <!-- calendar-query-extended extension -->
-                <feature>shared-calendars</feature>                                <!-- Shared calendars extension -->
-                <feature>schedule-changes</feature>                                <!-- schedule-changes property extension -->
-                <feature>split-calendars</feature>                                <!-- Calendars are split by component type -->
-                <feature>supported-component-sets</feature>                <!-- CALDAV:supported-calendar-component-sets on calendar homes -->
-                <feature>supported-component-sets-one</feature>        <!-- Only single component calendars allowed to be created -->
-                <feature>timerange-low-limit</feature>                        <!-- Time-range only valid one year back -->
-                <feature>timerange-high-limit</feature>                        <!-- Time-range only valid 5 years ahead -->
-                <feature>timezones-by-reference</feature>                <!-- Timezones by reference enabled -->
-                <feature>timezone-service</feature>                                <!-- Timezone service extension for Wiki -->
-                <feature>timezone-std-service</feature>                        <!-- Timezone standard service extension -->
-                <feature>vavailability</feature>                                <!-- VAVAILABILITY on inbox -->
-                <feature>webcal</feature>                                                <!-- Internet calendar subscription via GET on calendar collection -->
-
-                <!-- CardDAV specific extension -->
-                <feature>carddav</feature>                                                 <!-- Basic CardDAV feature enabler -->
-                <feature>default-addressbook</feature>                         <!-- Default address book behavior -->
-                <!-- <feature>global-addressbook</feature> -->         <!-- Global address book for each user -->
-                <feature>shared-addressbooks</feature>                        <!-- Shared address books extension -->
-                <!-- <feature>directory-gateway</feature> -->        <!-- Directory gateway extension -->
-
-        </features>
-
-        <substitutions>
-                <!-- Useful xpath shortcuts for verifiers -->
-                <substitution>
-                        <key>$multistatus-response-prefix:</key>
-                        <value>/{DAV:}multistatus/{DAV:}response</value>
-                </substitution>
-                <substitution>
-                        <key>$multistatus-href-prefix:</key>
-                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}href</value>
-                </substitution>
-                <substitution>
-                        <key>$verify-response-prefix:</key>
-                        <value>{DAV:}response/{DAV:}propstat/{DAV:}prop</value>
-                </substitution>
-                <substitution>
-                        <key>$verify-property-prefix:</key>
-                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}propstat/{DAV:}prop</value>
-                </substitution>
-                <substitution>
-                        <key>$verify-bad-response:</key>
-                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}status</value>
-                </substitution>
-                <substitution>
-                        <key>$verify-error-response:</key>
-                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}error</value>
-                </substitution>
-                <substitution>
-                        <key>$CALDAV:</key>
-                        <value>urn:ietf:params:xml:ns:caldav</value>
-                </substitution>
-                <substitution>
-                        <key>$CARDDAV:</key>
-                        <value>urn:ietf:params:xml:ns:carddav</value>
-                </substitution>
-                <substitution>
-                        <key>$CS:</key>
-                        <value>http://calendarserver.org/ns/</value>
-                </substitution>
-
-                <!-- Server configuration settings -->
-                <!-- $host: and $hostssl: are implicitly added by CalDAVTester based
-                 on the host/nonsslport/sslport values and ssl command line switch -->
-
-                <!-- relative path to caldav root-->
-                <substitution>
-                        <key>$root:</key>
-                        <value>/</value>
-                </substitution>
-
-                <!-- relative path to main principal collection-->
-                <substitution>
-                        <key>$principalcollection:</key>
-                        <value>$root:principals/</value>
-                </substitution>
-
-                <!-- the core recored type collections-->
-                <substitution>
-                        <key>$uidstype:</key>
-                        <value>__uids__</value>
-                </substitution>
-                <substitution>
-                        <key>$userstype:</key>
-                        <value>users</value>
-                </substitution>
-                <substitution>
-                        <key>$groupstype:</key>
-                        <value>groups</value>
-                </substitution>
-                <substitution>
-                        <key>$locationstype:</key>
-                        <value>locations</value>
-                </substitution>
-                <substitution>
-                        <key>$resourcestype:</key>
-                        <value>resources</value>
-                </substitution>
-
-                <!-- relative path to record type principal collections-->
-                <substitution>
-                        <key>$principals_uids:</key>
-                        <value>$principalcollection:$uidstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$principals_users:</key>
-                        <value>$principalcollection:$userstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$principals_groups:</key>
-                        <value>$principalcollection:$groupstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$principals_resources:</key>
-                        <value>$principalcollection:$resourcestype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$principals_locations:</key>
-                        <value>$principalcollection:$locationstype:/</value>
-                </substitution>
-
-                <!-- relative path to calendars collection-->
-                <substitution>
-                        <key>$calendars:</key>
-                        <value>$root:calendars/</value>
-                </substitution>
-
-                <!-- relative path to record type calendar collections-->
-                <substitution>
-                        <key>$calendars_uids:</key>
-                        <value>$calendars:$uidstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$calendars_users:</key>
-                        <value>$calendars:$userstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$calendars_groups:</key>
-                        <value>$calendars:$groupstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$calendars_resources:</key>
-                        <value>$calendars:$resourcestype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$calendars_locations:</key>
-                        <value>$calendars:$locationstype:/</value>
-                </substitution>
-
-                <!-- primary calendar name-->
-                <substitution>
-                        <key>$calendar:</key>
-                        <value>calendar</value>
-                </substitution>
-
-                <!-- primary tasks-only calendar name-->
-                <substitution>
-                        <key>$tasks:</key>
-                        <value>tasks</value>
-                </substitution>
-
-                <!-- inbox name-->
-                <substitution>
-                        <key>$inbox:</key>
-                        <value>inbox</value>
-                </substitution>
-
-                <!-- outbox name-->
-                <substitution>
-                        <key>$outbox:</key>
-                        <value>outbox</value>
-                </substitution>
-
-                <!-- dropbox name-->
-                <substitution>
-                        <key>$dropbox:</key>
-                        <value>dropbox</value>
-                </substitution>
-
-                <!-- attachments name-->
-                <substitution>
-                        <key>$attachments:</key>
-                        <value>dropbox</value>
-                </substitution>
-
-                <!-- notification name-->
-                <substitution>
-                        <key>$notification:</key>
-                        <value>notification</value>
-                </substitution>
-
-                <!-- freebusy name-->
-                <substitution>
-                        <key>$freebusy:</key>
-                        <value>freebusy</value>
-                </substitution>
-
-                <!-- server-to-server inbox-->
-                <substitution>
-                        <key>$servertoserver:</key>
-                        <value>$root:inbox</value>
-                </substitution>
-
-                <!-- timezone service-->
-                <substitution>
-                        <key>$timezoneservice:</key>
-                        <value>$root:timezones</value>
-                </substitution>
-
-                <!-- timezone std service-->
-                <substitution>
-                        <key>$timezonestdservice:</key>
-                        <value>$root:stdtimezones</value>
-                </substitution>
-
-                <!-- relative path to addressbooks collection-->
-                <substitution>
-                        <key>$addressbooks:</key>
-                        <value>$root:addressbooks/</value>
-                </substitution>
-
-                <!-- relative path to record type addressbook collections-->
-                <substitution>
-                        <key>$addressbooks_uids:</key>
-                        <value>$addressbooks:$uidstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$addressbooks_users:</key>
-                        <value>$addressbooks:$userstype:/</value>
-                </substitution>
-                <substitution>
-                        <key>$addressbooks_groups:</key>
-                        <value>$addressbooks:$groupstype:/</value>
-                </substitution>
-
-                <!-- primary addressbook name -->
-                <substitution>
-                        <key>$addressbook:</key>
-                        <value>addressbook</value>
-                </substitution>
-
-                <!-- directory name -->
-                <substitution>
-                        <key>$directory:</key>
-                        <value>$root:directory/</value>
-                </substitution>
-
-                <!-- global-addressbook name -->
-                <substitution>
-                        <key>$global_addressbook:</key>
-                        <value>global-addressbook</value>
-                </substitution>
-
-                <!-- POST add-member URI suffix -->
-                <substitution>
-                        <key>$add-member:</key>
-                        <value>;add-member</value>
-                </substitution>
-
-                <!-- user id for admin user -->
-                <substitution>
-                        <key>$useradmin:</key>
-                        <value>admin</value>
-                </substitution>
-                <!-- guid for admin user -->
-                <substitution>
-                        <key>$useradminguid:</key>
-                        <value>admin</value>
-                </substitution>
-                <!-- password for admin user -->
-                <substitution>
-                        <key>$pswdadmin:</key>
-                        <value>admin</value>
-                </substitution>
-
-                <!-- relative path to admin principal resource-->
-                <substitution>
-                        <key>$principal_admin:</key>
-                        <value>$principals_users:$useradmin:/</value>
-                </substitution>
-                <substitution>
-                        <key>$principaluri_admin:</key>
-                        <value>$principals_uids:$useradminguid:/</value>
-                </substitution>
-
-                <!-- user id for apprentice user -->
-                <substitution>
-                        <key>$userapprentice:</key>
-                        <value>apprentice</value>
-                </substitution>
-                <!-- guid for apprentice user -->
-                <substitution>
-                        <key>$userapprenticeguid:</key>
-                        <value>apprentice</value>
-                </substitution>
-                <!-- password for admin user -->
-                <substitution>
-                        <key>$pswdapprentice:</key>
-                        <value>apprentice</value>
-                </substitution>
-
-                <!-- relative path to apprentice principal resource-->
-                <substitution>
-                        <key>$principal_apprentice:</key>
-                        <value>$principals_users:$userapprentice:/</value>
-                </substitution>
-                <substitution>
-                        <key>$principaluri_apprentice:</key>
-                        <value>$principals_uids:$userapprenticeguid:/</value>
-                </substitution>
-
-                <!-- user id for proxy user -->
-                <substitution>
-                        <key>$userproxy:</key>
-                        <value>superuser</value>
-                </substitution>
-                <!-- password for proxy user -->
-                <substitution>
-                        <key>$pswdproxy:</key>
-                        <value>superuser</value>
-                </substitution>
-
-                <!-- Forty user accounts -->
-                <repeat count="40">
-                        <!-- user id -->
-                        <substitution>
-                                <key>$userid%d:</key>
-                                <value>user%02d</value>
-                        </substitution>
-                        <!-- user guid -->
-                        <substitution>
-                                <key>$userguid%d:</key>
-                                <value>user%02d</value>
-                        </substitution>
-                        <!-- user name -->
-                        <substitution>
-                                <key>$username%d:</key>
-                                <value>User %02d</value>
-                        </substitution>
-                        <!-- user name URI encoded -->
-                        <substitution>
-                                <key>$username-encoded%d:</key>
-                                <value>User%%20%02d</value>
-                        </substitution>
-                        <!-- first name -->
-                        <substitution>
-                                <key>$firstname%d:</key>
-                                <value>User</value>
-                        </substitution>
-                        <!-- last name -->
-                        <substitution>
-                                <key>$lastname%d:</key>
-                                <value>%02d</value>
-                        </substitution>
-                        <!-- password -->
-                        <substitution>
-                                <key>$pswd%d:</key>
-                                <value>user%02d</value>
-                        </substitution>
-                        <!-- relative path to user principal resource-->
-                        <substitution>
-                                <key>$principal%d:</key>
-                                <value>$principals_users:$userid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$principaluri%d:</key>
-                                <value>$principals_uids:$userguid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$principal%dnoslash:</key>
-                                <value>$principals_users:$userid%d:</value>
-                        </substitution>
-
-                        <!-- relative path to user calendar home-->
-                        <substitution>
-                                <key>$calendarhome%d:</key>
-                                <value>$calendars_uids:$userguid%d:</value>
-                        </substitution>
-                        <!-- relative path to user alternate calendar home-->
-                        <substitution>
-                                <key>$calendarhomealt%d:</key>
-                                <value>$calendars_users:$userid%d:</value>
-                        </substitution>
-                        <!-- relative path to user calendar-->
-                        <substitution>
-                                <key>$calendarpath%d:</key>
-                                <value>$calendarhome%d:/$calendar:</value>
-                        </substitution>
-                        <!-- relative path to user alternate calendar-->
-                        <substitution>
-                                <key>$calendarpathalt%d:</key>
-                                <value>$calendarhomealt%d:/$calendar:</value>
-                        </substitution>
-                        <!-- relative path to user tasks calendar-->
-                        <substitution>
-                                <key>$taskspath%d:</key>
-                                <value>$calendarhome%d:/$tasks:</value>
-                        </substitution>
-                        <!-- relative path to user inbox-->
-                        <substitution>
-                                <key>$inboxpath%d:</key>
-                                <value>$calendarhome%d:/$inbox:</value>
-                        </substitution>
-                        <!-- relative path to user outbox-->
-                        <substitution>
-                                <key>$outboxpath%d:</key>
-                                <value>$calendarhome%d:/$outbox:</value>
-                        </substitution>
-                        <!-- relative path to user dropbox-->
-                        <substitution>
-                                <key>$dropboxpath%d:</key>
-                                <value>$calendarhome%d:/$dropbox:</value>
-                        </substitution>
-                        <!-- relative path to user notification-->
-                        <substitution>
-                                <key>$notificationpath%d:</key>
-                                <value>$calendarhome%d:/$notification:</value>
-                        </substitution>
-                        <!-- relative path to user freebusy-->
-                        <substitution>
-                                <key>$freebusypath%d:</key>
-                                <value>$calendarhome%d:/$freebusy:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$email%d:</key>
-                                <value>$userid%d:@example.com</value>
-                        </substitution>
-                        <!-- calendar user address of user-->
-                        <substitution>
-                                <key>$cuaddr%d:</key>
-                                <value>mailto:$email%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$cuaddralt%d:</key>
-                                <value>$principaluri%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$cuaddraltnoslash%d:</key>
-                                <value>$principals_uids:$userguid%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$cuaddrurn%d:</key>
-                                <value>urn:uuid:$userguid%d:</value>
-                        </substitution>
-
-                        <!-- relative path to user addressbook home-->
-                        <substitution>
-                                <key>$addressbookhome%d:</key>
-                                <value>$addressbooks_uids:$userguid%d:</value>
-                        </substitution>
-                        <!-- relative path to user addressbook-->
-                        <substitution>
-                                <key>$addressbookpath%d:</key>
-                                <value>$addressbooks_uids:$userguid%d:/$addressbook:</value>
-                        </substitution>
-                </repeat>
-
-                <!-- Ten public accounts -->
-                <repeat count="10">
-                        <!-- user id -->
-                        <substitution>
-                                <key>$publicuserid%d:</key>
-                                <value>public%02d</value>
-                        </substitution>
-                        <!-- user guid -->
-                        <substitution>
-                                <key>$publicuserguid%d:</key>
-                                <value>public%02d</value>
-                        </substitution>
-                        <!-- user name -->
-                        <substitution>
-                                <key>$publicusername%d:</key>
-                                <value>Public %02d</value>
-                        </substitution>
-                        <!-- password -->
-                        <substitution>
-                                <key>$publicpswd%d:</key>
-                                <value>public%02d</value>
-                        </substitution>
-                        <!-- relative path to user principal resource-->
-                        <substitution>
-                                <key>$publicprincipal%d:</key>
-                                <value>$principals_users:$publicuserid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$publicprincipaluri%d:</key>
-                                <value>$principals_uids:$publicuserguid%d:/</value>
-                        </substitution>
-                        <!-- relative path to user calendar home-->
-                        <substitution>
-                                <key>$publiccalendarhome%d:</key>
-                                <value>$calendars_uids:$publicuserguid%d:</value>
-                        </substitution>
-                        <!-- relative path to user calendar-->
-                        <substitution>
-                                <key>$publiccalendarpath%d:</key>
-                                <value>$calendars_uids:$publicuserguid%d:/$calendar:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$publicemail%d:</key>
-                                <value>$publicuserid%d:@example.com</value>
-                        </substitution>
-                        <!-- calendar user address of user-->
-                        <substitution>
-                                <key>$publiccuaddr%d:</key>
-                                <value>mailto:$publicemail%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$publiccuaddralt%d:</key>
-                                <value>$publicprincipaluri%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$publiccuaddrurn%d:</key>
-                                <value>urn:uuid:$publicuserguid%d:</value>
-                        </substitution>
-                </repeat>
-
-                <!-- Twenty resource accounts -->
-                <repeat count="20">
-                        <substitution>
-                                <key>$resourceid%d:</key>
-                                <value>resource%02d</value>
-                        </substitution>
-                        <!-- resource guid-->
-                        <substitution>
-                                <key>$resourceguid%d:</key>
-                                <value>resource%02d</value>
-                        </substitution>
-                        <!-- resource name-->
-                        <substitution>
-                                <key>$resourcename%d:</key>
-                                <value>Resource %02d</value>
-                        </substitution>
-                        <!-- relative path to first resource calendar home-->
-                        <substitution>
-                                <key>$rcalendarhome%d:</key>
-                                <value>$calendars_uids:$resourceguid%d:</value>
-                        </substitution>
-                        <!-- relative path to first resource calendar home-->
-                        <substitution>
-                                <key>$rcalendarpath%d:</key>
-                                <value>$calendars_uids:$resourceguid%d:/$calendar:</value>
-                        </substitution>
-                        <!-- relative path to first resource inbox-->
-                        <substitution>
-                                <key>$rinboxpath%d:</key>
-                                <value>$calendars_uids:$resourceguid%d:/$inbox:</value>
-                        </substitution>
-                        <!-- relative path to first resource outbox-->
-                        <substitution>
-                                <key>$routboxpath%d:</key>
-                                <value>$calendars_uids:$resourceguid%d:/$outbox:</value>
-                        </substitution>
-                        <!-- relative path to first resource principal resource-->
-                        <substitution>
-                                <key>$rprincipal%d:</key>
-                                <value>$principals_resources:$resourceid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$rprincipaluri%d:</key>
-                                <value>$principals_uids:$resourceguid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$rcuaddralt%d:</key>
-                                <value>$rprincipaluri%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$rcuaddrurn%d:</key>
-                                <value>urn:uuid:$resourceguid%d:</value>
-                        </substitution>
-                </repeat>
-
-                <!-- Ten Location accounts -->
-                <repeat count="10">
-                        <substitution>
-                                <key>$locationid%d:</key>
-                                <value>location%02d</value>
-                        </substitution>
-                        <!-- location guid-->
-                        <substitution>
-                                <key>$locationguid%d:</key>
-                                <value>location%02d</value>
-                        </substitution>
-                        <!-- location name-->
-                        <substitution>
-                                <key>$locationname%d:</key>
-                                <value>Location %02d</value>
-                        </substitution>
-                        <!-- relative path to first location calendar home-->
-                        <substitution>
-                                <key>$lcalendarhome%d:</key>
-                                <value>$calendars_uids:$locationguid%d:</value>
-                        </substitution>
-                        <!-- relative path to first location calendar home-->
-                        <substitution>
-                                <key>$lcalendarpath%d:</key>
-                                <value>$calendars_uids:$locationguid%d:/$calendar:</value>
-                        </substitution>
-                        <!-- relative path to first location inbox-->
-                        <substitution>
-                                <key>$linboxpath%d:</key>
-                                <value>$calendars_uids:$locationguid%d:/$inbox:</value>
-                        </substitution>
-                        <!-- relative path to first location outbox-->
-                        <substitution>
-                                <key>$loutboxpath%d:</key>
-                                <value>$calendars_uids:$locationguid%d:/$outbox:</value>
-                        </substitution>
-                        <!-- relative path to first location principal resource-->
-                        <substitution>
-                                <key>$lprincipal%d:</key>
-                                <value>$principals_resources:$locationid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$lprincipaluri%d:</key>
-                                <value>$principals_uids:$locationguid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$lcuaddralt%d:</key>
-                                <value>$lprincipaluri%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$lcuaddrurn%d:</key>
-                                <value>urn:uuid:$locationguid%d:</value>
-                        </substitution>
-                </repeat>
-
-
-                <!-- Ten Group accounts -->
-                <repeat count="10">
-                        <substitution>
-                                <key>$groupid%d:</key>
-                                <value>group%02d</value>
-                        </substitution>
-                        <!-- group guid-->
-                        <substitution>
-                                <key>$groupguid%d:</key>
-                                <value>group%02d</value>
-                        </substitution>
-                        <!-- group name-->
-                        <substitution>
-                                <key>$groupname%d:</key>
-                                <value>Group %02d</value>
-                        </substitution>
-                        <!-- relative path to first group principal resource-->
-                        <substitution>
-                                <key>$gprincipal%d:</key>
-                                <value>$principals_resources:$groupid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$gprincipaluri%d:</key>
-                                <value>$principals_uids:$groupguid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$gcuaddralt%d:</key>
-                                <value>$gprincipaluri%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$gcuaddrurn%d:</key>
-                                <value>urn:uuid:$groupguid%d:</value>
-                        </substitution>
-                </repeat>
-
-                <!-- User with non-ascii name -->
-                <substitution>
-                        <key>$i18nid:</key>
-                        <value>i18nuser</value>
-                </substitution>
-                <!-- group guid-->
-                <substitution>
-                        <key>$i18nguid:</key>
-                        <value>i18nuser</value>
-                </substitution>
-                <!-- group name-->
-                <substitution>
-                        <key>$i18nname:</key>
-                        <value>まだ</value>
-                </substitution>
-                <!-- password -->
-                <substitution>
-                        <key>$i18npswd:</key>
-                        <value>i18nuser</value>
-                </substitution>
-                <!-- relative path to user calendar-->
-                <substitution>
-                        <key>$i18ncalendarpath:</key>
-                        <value>$calendars_uids:$i18nguid:/$calendar:</value>
-                </substitution>
-                <substitution>
-                        <key>$i18nemail:</key>
-                        <value>$i18nid:@example.com</value>
-                </substitution>
-                <!-- CUAddrs -->
-                <substitution>
-                        <key>$i18ncuaddr:</key>
-                        <value>mailto:$i18nemail:</value>
-                </substitution>
-                <substitution>
-                        <key>$i18ncuaddrurn:</key>
-                        <value>urn:uuid:$i18nguid:</value>
-                </substitution>
-
-                <!-- relative path to disabled group principal resource-->
-                <substitution>
-                        <key>$principaldisabled:</key>
-                        <value>$principals_groups:disabledgroup/</value>
-                </substitution>
-                <substitution>
-                        <key>$principaluridisabled:</key>
-                        <value>$principals_uids:disabledgroup/</value>
-                </substitution>
-                <!-- calendar user address of disabled group-->
-                <substitution>
-                        <key>$cuaddrdisabled:</key>
-                        <value>$principals_uids:disabledgroup/</value>
-                </substitution>
-
-                <!-- Ten other accounts -->
-                <repeat count="10">
-                        <!-- user id -->
-                        <substitution>
-                                <key>$otherid%d:</key>
-                                <value>other%02d</value>
-                        </substitution>
-                        <!-- user guid -->
-                        <substitution>
-                                <key>$otherguid%d:</key>
-                                <value>other%02d</value>
-                        </substitution>
-                        <!-- user name -->
-                        <substitution>
-                                <key>$otherusername%d:</key>
-                                <value>Other %02d</value>
-                        </substitution>
-                        <!-- password -->
-                        <substitution>
-                                <key>$otherpswd%d:</key>
-                                <value>other%02d</value>
-                        </substitution>
-                        <!-- relative path to user principal resource-->
-                        <substitution>
-                                <key>$otherprincipal%d:</key>
-                                <value>$principals_users:$otherid%d:/</value>
-                        </substitution>
-                        <substitution>
-                                <key>$otherprincipaluri%d:</key>
-                                <value>$principals_uids:$otherguid%d:/</value>
-                        </substitution>
-                        <!-- relative path to user calendar home-->
-                        <substitution>
-                                <key>$othercalendarhome%d:</key>
-                                <value>$calendars_uids:$otherguid%d:</value>
-                        </substitution>
-                        <!-- relative path to user calendar-->
-                        <substitution>
-                                <key>$othercalendarpath%d:</key>
-                                <value>$calendars_uids:$otherguid%d:/$calendar:</value>
-                        </substitution>
-                        <!-- relative path to user inbox-->
-                        <substitution>
-                                <key>$otherinboxpath%d:</key>
-                                <value>$calendars_uids:$otherguid%d:/$inbox:</value>
-                        </substitution>
-                        <!-- relative path to user outbox-->
-                        <substitution>
-                                <key>$otheroutboxpath%d:</key>
-                                <value>$calendars_uids:$otherguid%d:/$outbox:</value>
-                        </substitution>
-                        <!-- relative path to user dropbox-->
-                        <substitution>
-                                <key>$otherdropboxpath%d:</key>
-                                <value>$calendars_uids:$otherguid%d:/$dropbox:</value>
-                        </substitution>
-                        <!-- relative path to user freebusy-->
-                        <substitution>
-                                <key>$otherfreebusypath%d:</key>
-                                <value>$calendars_uids:$otherguid%d:/$freebusy:</value>
-                        </substitution>
-                        <!-- calendar user address of user-->
-                        <substitution>
-                                <key>$otheremail%d:</key>
-                                <value>$otherid%d:@example.com</value>
-                        </substitution>
-                        <substitution>
-                                <key>$othercuaddr%d:</key>
-                                <value>mailto:$otheremail%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$othercuaddralt%d:</key>
-                                <value>$otherprincipaluri%d:</value>
-                        </substitution>
-                        <substitution>
-                                <key>$othercuaddrurn%d:</key>
-                                <value>urn:uuid:$otherguid%d:</value>
-                        </substitution>
-                </repeat>
-
-                <!-- Override some of the above definitions for special cases -->
-
-                <!-- calendar user address of second user-->
-                <substitution>
-                        <key>$cuaddr2:</key>
-                        <value>MAILTO:$email2:</value>
-                </substitution>
-
-        </substitutions>
-</serverinfo>
</del></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfopodxmlfromrev11854CalDAVTestertrunkscriptsserverserverinfopartitioningxml"></a>
<div class="copfile"><h4>Copied: CalDAVTester/trunk/scripts/server/serverinfo-pod.xml (from rev 11854, CalDAVTester/trunk/scripts/server/serverinfo-partitioning.xml) (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo-pod.xml         (rev 0)
+++ CalDAVTester/trunk/scripts/server/serverinfo-pod.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,651 @@
</span><ins>+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE serverinfo SYSTEM "serverinfo.dtd">
+
+<!--
+ Copyright (c) 2006-2013 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.
+ -->
+
+<serverinfo>
+        <host>localhost</host>
+        <nonsslport>8008</nonsslport>
+        <sslport>8443</sslport>
+
+        <host2>localhost</host2>
+        <nonsslport2>8108</nonsslport2>
+        <sslport2>8543</sslport2>
+
+        <authtype>basic</authtype>
+
+        <features>
+                <!-- Generic WebDAV extensions -->
+                <feature>COPY Method</feature>                                                        <!-- COPY method -->
+                <feature>MOVE Method</feature>                                                        <!-- MOVE method -->
+                <feature>Extended MKCOL</feature>                                                <!-- Extended MKCOL -->
+                
+                <!-- ACL related -->
+                <feature>ACL Method</feature>                                                        <!-- ACL method -->
+                <feature>acl-principal-prop-set REPORT</feature>                <!-- ACL acl-principal-prop-set REPORT -->
+                <feature>principal-match REPORT</feature>                                <!-- ACL principal-match REPORT -->
+                <feature>principal-property-search REPORT</feature>                <!-- ACL principal-property-search REPORT -->
+                <feature>principal-search-property-set REPORT</feature>        <!-- ACL principal-search-property-set REPORT -->
+
+                <feature>add-member</feature>                                        <!-- Add-member used to create resources -->
+                <!-- <feature>auth-on-root</feature> -->                <!-- Whether the server requires authentication on the root URI -->
+                <feature>brief</feature>                                         <!-- Brief header for PROPFIND, REPORT -->
+                <feature>bulk-post</feature>                                        <!-- Bulk POST requests -->
+                <feature>ctag</feature>                                                        <!-- ctag extension -->
+                <feature>current-user-principal</feature>                <!-- current-user-principal extension -->
+                <feature>directory listing</feature>                         <!-- GET on collection -->
+                <feature>extended-principal-search</feature>        <!-- Extended principal-property-search REPORT extension -->
+                <feature>expand-property</feature>                                <!-- Expand property REPORT -->
+                <feature>only-proxy-groups</feature>                        <!-- Group-membership only includes delegated-to groups -->
+                <feature>limits</feature>                                                <!-- max-collections and max-resources limits -->
+                <feature>prefer</feature>                                                <!-- Prefer header overall support -->
+                <feature>prefer-minimal</feature>                                <!-- Prefer header return=minimal -->
+                <feature>prefer-representation</feature>                <!-- Prefer header return=representation -->
+                <feature>prefer-noroot</feature>                                <!-- Prefer header depth-noroot -->
+                <feature>quota</feature>                                                <!-- WebDAV QUOTA -->
+                <!-- <feature>quota-on-resources</feature> -->        <!-- WebDAV QUOTA on calendar and address book object resources -->
+                <feature>resource-id</feature>                                        <!-- WebDAV BIND DAV:resource-id property -->
+                <feature>sync-report</feature>                                        <!-- WebDAV collection sync REPORT -->
+                <!-- <feature>sync-report-limit</feature> -->        <!-- WebDAV collection sync REPORT DAV:limit support -->
+                <feature>sync-report-home</feature>                                <!-- WebDAV collection sync REPORT on Homes -->
+                <feature>well-known</feature>                                        <!-- well-known feature -->
+
+                <!-- <feature>per-object-ACLs</feature> -->                <!-- ACL for objects in calendar/address books -->
+                <!-- <feature>regular-collection</feature> --> <!-- Regular collections allowed in calendar/address book homes -->
+
+                <!-- <feature>json-data</feature> -->                        <!-- jCal and jCard support -->
+
+                <!-- CalDAV specific extension -->
+                <feature>caldav</feature>                                         <!-- Basic CalDAV feature enabler -->
+                <feature>attachments-collection</feature>                <!-- Server uses a collection in same WebDAV tree to store attachments -->
+                <feature>auto-accept</feature>                                        <!-- Auto-accept for rooms & locations -->
+                <feature>auto-accept-modes</feature>                        <!-- Auto-accept modes -->
+                <!-- <feature>dropbox</feature> -->                                <!-- dropbox extension -->
+                <feature>default-alarms</feature>                                <!-- default alarms extension -->
+                <feature>EMAIL parameter</feature>                                <!-- Server normalizes cuaddress and adds EMAIL parameter -->
+                <feature>extended-freebusy</feature>                 <!-- Extended freebusy response -->
+                <feature>implicit-scheduling</feature>                        <!-- CalDAV scheduling - implicit -->
+                <feature>location-resource-tracking</feature> <!-- Server tracks who makes unscheduled changes to locations and resources -->
+                <feature>managed-attachments</feature>                        <!-- CalDAV Managed Attachments -->
+                <feature>maskuid</feature>                                                <!-- maskuid extension -->
+                <feature>no-duplicate-uids</feature>                        <!-- duplicate UIDs in same home not supported -->
+                <feature>partstat-timestamp</feature>                        <!-- Time stamps when PARTSTAT changes extension -->
+                <feature>podding</feature>                                                <!-- Podded server -->
+                <feature>private-comments</feature>                                <!-- private-comments extension -->
+                <feature>private-events</feature>                                <!-- private-events extension -->
+                <feature>proxy</feature>                                                <!-- calendar-user-proxy extension -->
+                <!-- <feature>proxy-authz</feature> -->                        <!-- sudo user extension -->
+                <feature>remove-duplicate-alarms</feature>         <!-- Server removes any duplicate alarms on PUT -->
+                <feature>query-extended</feature>                                <!-- calendar-query-extended extension -->
+                <feature>shared-calendars</feature>                                <!-- Shared calendars extension -->
+                <feature>schedule-changes</feature>                                <!-- schedule-changes property extension -->
+                <feature>split-calendars</feature>                                <!-- Calendars are split by component type -->
+                <feature>supported-component-sets</feature>                <!-- CALDAV:supported-calendar-component-sets on calendar homes -->
+                <feature>supported-component-sets-one</feature>        <!-- Only single component calendars allowed to be created -->
+                <feature>timerange-low-limit</feature>                        <!-- Time-range only valid one year back -->
+                <feature>timerange-high-limit</feature>                        <!-- Time-range only valid 5 years ahead -->
+                <feature>timezones-by-reference</feature>                <!-- Timezones by reference enabled -->
+                <feature>timezone-service</feature>                                <!-- Timezone service extension for Wiki -->
+                <feature>timezone-std-service</feature>                        <!-- Timezone standard service extension -->
+                <feature>vavailability</feature>                                <!-- VAVAILABILITY on inbox -->
+                <feature>webcal</feature>                                                <!-- Internet calendar subscription via GET on calendar collection -->
+
+                <!-- CardDAV specific extension -->
+                <feature>carddav</feature>                                                 <!-- Basic CardDAV feature enabler -->
+                <feature>default-addressbook</feature>                         <!-- Default address book behavior -->
+                <!-- <feature>global-addressbook</feature> -->         <!-- Global address book for each user -->
+                <feature>shared-addressbooks</feature>                        <!-- Shared address books extension -->
+                <!-- <feature>directory-gateway</feature> -->        <!-- Directory gateway extension -->
+
+        </features>
+
+        <substitutions>
+                <!-- Useful xpath shortcuts for verifiers -->
+                <substitution>
+                        <key>$multistatus-response-prefix:</key>
+                        <value>/{DAV:}multistatus/{DAV:}response</value>
+                </substitution>
+                <substitution>
+                        <key>$multistatus-href-prefix:</key>
+                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}href</value>
+                </substitution>
+                <substitution>
+                        <key>$verify-response-prefix:</key>
+                        <value>{DAV:}response/{DAV:}propstat/{DAV:}prop</value>
+                </substitution>
+                <substitution>
+                        <key>$verify-property-prefix:</key>
+                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}propstat/{DAV:}prop</value>
+                </substitution>
+                <substitution>
+                        <key>$verify-bad-response:</key>
+                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}status</value>
+                </substitution>
+                <substitution>
+                        <key>$verify-error-response:</key>
+                        <value>/{DAV:}multistatus/{DAV:}response/{DAV:}error</value>
+                </substitution>
+                <substitution>
+                        <key>$CALDAV:</key>
+                        <value>urn:ietf:params:xml:ns:caldav</value>
+                </substitution>
+                <substitution>
+                        <key>$CARDDAV:</key>
+                        <value>urn:ietf:params:xml:ns:carddav</value>
+                </substitution>
+                <substitution>
+                        <key>$CS:</key>
+                        <value>http://calendarserver.org/ns/</value>
+                </substitution>
+
+                <!-- Server configuration settings -->
+                <!-- $host: and $hostssl: are implicitly added by CalDAVTester based
+                 on the host/nonsslport/sslport values and ssl command line switch -->
+
+                <!-- relative path to caldav root-->
+                <substitution>
+                        <key>$root:</key>
+                        <value>/</value>
+                </substitution>
+
+                <!-- relative path to main principal collection-->
+                <substitution>
+                        <key>$principalcollection:</key>
+                        <value>$root:principals/</value>
+                </substitution>
+
+                <!-- the core recored type collections-->
+                <substitution>
+                        <key>$uidstype:</key>
+                        <value>__uids__</value>
+                </substitution>
+                <substitution>
+                        <key>$userstype:</key>
+                        <value>users</value>
+                </substitution>
+                <substitution>
+                        <key>$groupstype:</key>
+                        <value>groups</value>
+                </substitution>
+                <substitution>
+                        <key>$locationstype:</key>
+                        <value>locations</value>
+                </substitution>
+                <substitution>
+                        <key>$resourcestype:</key>
+                        <value>resources</value>
+                </substitution>
+
+                <!-- relative path to record type principal collections-->
+                <substitution>
+                        <key>$principals_uids:</key>
+                        <value>$principalcollection:$uidstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$principals_users:</key>
+                        <value>$principalcollection:$userstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$principals_groups:</key>
+                        <value>$principalcollection:$groupstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$principals_resources:</key>
+                        <value>$principalcollection:$resourcestype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$principals_locations:</key>
+                        <value>$principalcollection:$locationstype:/</value>
+                </substitution>
+
+                <!-- relative path to calendars collection-->
+                <substitution>
+                        <key>$calendars:</key>
+                        <value>$root:calendars/</value>
+                </substitution>
+
+                <!-- relative path to record type calendar collections-->
+                <substitution>
+                        <key>$calendars_uids:</key>
+                        <value>$calendars:$uidstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$calendars_users:</key>
+                        <value>$calendars:$userstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$calendars_groups:</key>
+                        <value>$calendars:$groupstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$calendars_resources:</key>
+                        <value>$calendars:$resourcestype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$calendars_locations:</key>
+                        <value>$calendars:$locationstype:/</value>
+                </substitution>
+
+                <!-- primary calendar name-->
+                <substitution>
+                        <key>$calendar:</key>
+                        <value>calendar</value>
+                </substitution>
+
+                <!-- primary tasks-only calendar name-->
+                <substitution>
+                        <key>$tasks:</key>
+                        <value>tasks</value>
+                </substitution>
+
+                <!-- inbox name-->
+                <substitution>
+                        <key>$inbox:</key>
+                        <value>inbox</value>
+                </substitution>
+
+                <!-- outbox name-->
+                <substitution>
+                        <key>$outbox:</key>
+                        <value>outbox</value>
+                </substitution>
+
+                <!-- dropbox name-->
+                <substitution>
+                        <key>$dropbox:</key>
+                        <value>dropbox</value>
+                </substitution>
+
+                <!-- attachments name-->
+                <substitution>
+                        <key>$attachments:</key>
+                        <value>dropbox</value>
+                </substitution>
+
+                <!-- notification name-->
+                <substitution>
+                        <key>$notification:</key>
+                        <value>notification</value>
+                </substitution>
+
+                <!-- freebusy name-->
+                <substitution>
+                        <key>$freebusy:</key>
+                        <value>freebusy</value>
+                </substitution>
+
+                <!-- server-to-server inbox-->
+                <substitution>
+                        <key>$servertoserver:</key>
+                        <value>$root:inbox</value>
+                </substitution>
+
+                <!-- timezone service-->
+                <substitution>
+                        <key>$timezoneservice:</key>
+                        <value>$root:timezones</value>
+                </substitution>
+
+                <!-- timezone std service-->
+                <substitution>
+                        <key>$timezonestdservice:</key>
+                        <value>$root:stdtimezones</value>
+                </substitution>
+
+                <!-- relative path to addressbooks collection-->
+                <substitution>
+                        <key>$addressbooks:</key>
+                        <value>$root:addressbooks/</value>
+                </substitution>
+
+                <!-- relative path to record type addressbook collections-->
+                <substitution>
+                        <key>$addressbooks_uids:</key>
+                        <value>$addressbooks:$uidstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$addressbooks_users:</key>
+                        <value>$addressbooks:$userstype:/</value>
+                </substitution>
+                <substitution>
+                        <key>$addressbooks_groups:</key>
+                        <value>$addressbooks:$groupstype:/</value>
+                </substitution>
+
+                <!-- primary addressbook name -->
+                <substitution>
+                        <key>$addressbook:</key>
+                        <value>addressbook</value>
+                </substitution>
+
+                <!-- directory name -->
+                <substitution>
+                        <key>$directory:</key>
+                        <value>$root:directory/</value>
+                </substitution>
+
+                <!-- global-addressbook name -->
+                <substitution>
+                        <key>$global_addressbook:</key>
+                        <value>global-addressbook</value>
+                </substitution>
+
+                <!-- POST add-member URI suffix -->
+                <substitution>
+                        <key>$add-member:</key>
+                        <value>;add-member</value>
+                </substitution>
+
+                <!-- user id for admin user -->
+                <substitution>
+                        <key>$useradmin:</key>
+                        <value>admin</value>
+                </substitution>
+                <!-- guid for admin user -->
+                <substitution>
+                        <key>$useradminguid:</key>
+                        <value>admin</value>
+                </substitution>
+                <!-- password for admin user -->
+                <substitution>
+                        <key>$pswdadmin:</key>
+                        <value>admin</value>
+                </substitution>
+
+                <!-- relative path to admin principal resource-->
+                <substitution>
+                        <key>$principal_admin:</key>
+                        <value>$principals_users:$useradmin:/</value>
+                </substitution>
+                <substitution>
+                        <key>$principaluri_admin:</key>
+                        <value>$principals_uids:$useradminguid:/</value>
+                </substitution>
+
+                <!-- Forty podA user accounts -->
+                <repeat count="40">
+                        <!-- user id -->
+                        <substitution>
+                                <key>$userid%d:</key>
+                                <value>user%02d</value>
+                        </substitution>
+                        <!-- user guid -->
+                        <substitution>
+                                <key>$userguid%d:</key>
+                                <value>user%02d</value>
+                        </substitution>
+                        <!-- user name -->
+                        <substitution>
+                                <key>$username%d:</key>
+                                <value>User %02d</value>
+                        </substitution>
+                        <!-- user name URI encoded -->
+                        <substitution>
+                                <key>$username-encoded%d:</key>
+                                <value>User%%20%02d</value>
+                        </substitution>
+                        <!-- first name -->
+                        <substitution>
+                                <key>$firstname%d:</key>
+                                <value>User</value>
+                        </substitution>
+                        <!-- last name -->
+                        <substitution>
+                                <key>$lastname%d:</key>
+                                <value>%02d</value>
+                        </substitution>
+                        <!-- password -->
+                        <substitution>
+                                <key>$pswd%d:</key>
+                                <value>user%02d</value>
+                        </substitution>
+                        <!-- relative path to user principal resource-->
+                        <substitution>
+                                <key>$principal%d:</key>
+                                <value>$principals_users:$userid%d:/</value>
+                        </substitution>
+                        <substitution>
+                                <key>$principaluri%d:</key>
+                                <value>$principals_uids:$userguid%d:/</value>
+                        </substitution>
+                        <substitution>
+                                <key>$principal%dnoslash:</key>
+                                <value>$principals_users:$userid%d:</value>
+                        </substitution>
+
+                        <!-- relative path to user calendar home-->
+                        <substitution>
+                                <key>$calendarhome%d:</key>
+                                <value>$calendars_uids:$userguid%d:</value>
+                        </substitution>
+                        <!-- relative path to user alternate calendar home-->
+                        <substitution>
+                                <key>$calendarhomealt%d:</key>
+                                <value>$calendars_users:$userid%d:</value>
+                        </substitution>
+                        <!-- relative path to user calendar-->
+                        <substitution>
+                                <key>$calendarpath%d:</key>
+                                <value>$calendarhome%d:/$calendar:</value>
+                        </substitution>
+                        <!-- relative path to user alternate calendar-->
+                        <substitution>
+                                <key>$calendarpathalt%d:</key>
+                                <value>$calendarhomealt%d:/$calendar:</value>
+                        </substitution>
+                        <!-- relative path to user tasks calendar-->
+                        <substitution>
+                                <key>$taskspath%d:</key>
+                                <value>$calendarhome%d:/$tasks:</value>
+                        </substitution>
+                        <!-- relative path to user inbox-->
+                        <substitution>
+                                <key>$inboxpath%d:</key>
+                                <value>$calendarhome%d:/$inbox:</value>
+                        </substitution>
+                        <!-- relative path to user outbox-->
+                        <substitution>
+                                <key>$outboxpath%d:</key>
+                                <value>$calendarhome%d:/$outbox:</value>
+                        </substitution>
+                        <!-- relative path to user dropbox-->
+                        <substitution>
+                                <key>$dropboxpath%d:</key>
+                                <value>$calendarhome%d:/$dropbox:</value>
+                        </substitution>
+                        <!-- relative path to user notification-->
+                        <substitution>
+                                <key>$notificationpath%d:</key>
+                                <value>$calendarhome%d:/$notification:</value>
+                        </substitution>
+                        <!-- relative path to user freebusy-->
+                        <substitution>
+                                <key>$freebusypath%d:</key>
+                                <value>$calendarhome%d:/$freebusy:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$email%d:</key>
+                                <value>$userid%d:@example.com</value>
+                        </substitution>
+                        <!-- calendar user address of user-->
+                        <substitution>
+                                <key>$cuaddr%d:</key>
+                                <value>mailto:$email%d:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$cuaddralt%d:</key>
+                                <value>$principaluri%d:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$cuaddraltnoslash%d:</key>
+                                <value>$principals_uids:$userguid%d:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$cuaddrurn%d:</key>
+                                <value>urn:uuid:$userguid%d:</value>
+                        </substitution>
+
+                        <!-- relative path to user addressbook home-->
+                        <substitution>
+                                <key>$addressbookhome%d:</key>
+                                <value>$addressbooks_uids:$userguid%d:</value>
+                        </substitution>
+                        <!-- relative path to user addressbook-->
+                        <substitution>
+                                <key>$addressbookpath%d:</key>
+                                <value>$addressbooks_uids:$userguid%d:/$addressbook:</value>
+                        </substitution>
+                </repeat>
+
+                <!-- Forty podB user accounts -->
+                <repeat count="40">
+                        <!-- user id -->
+                        <substitution>
+                                <key>$puserid%d:</key>
+                                <value>puser%02d</value>
+                        </substitution>
+                        <!-- user guid -->
+                        <substitution>
+                                <key>$puserguid%d:</key>
+                                <value>puser%02d</value>
+                        </substitution>
+                        <!-- user name -->
+                        <substitution>
+                                <key>$pusername%d:</key>
+                                <value>Puser %02d</value>
+                        </substitution>
+                        <!-- user name URI encoded -->
+                        <substitution>
+                                <key>$pusername-encoded%d:</key>
+                                <value>Puser%%20%02d</value>
+                        </substitution>
+                        <!-- first name -->
+                        <substitution>
+                                <key>$pfirstname%d:</key>
+                                <value>Puser</value>
+                        </substitution>
+                        <!-- last name -->
+                        <substitution>
+                                <key>$plastname%d:</key>
+                                <value>%02d</value>
+                        </substitution>
+                        <!-- password -->
+                        <substitution>
+                                <key>$ppswd%d:</key>
+                                <value>puser%02d</value>
+                        </substitution>
+                        <!-- relative path to user principal resource-->
+                        <substitution>
+                                <key>$pprincipal%d:</key>
+                                <value>$principals_users:$puserid%d:/</value>
+                        </substitution>
+                        <substitution>
+                                <key>$pprincipaluri%d:</key>
+                                <value>$principals_uids:$puserguid%d:/</value>
+                        </substitution>
+                        <substitution>
+                                <key>$pprincipal%dnoslash:</key>
+                                <value>$principals_users:$puserid%d:</value>
+                        </substitution>
+
+                        <!-- relative path to user calendar home-->
+                        <substitution>
+                                <key>$pcalendarhome%d:</key>
+                                <value>$calendars_uids:$puserguid%d:</value>
+                        </substitution>
+                        <!-- relative path to user alternate calendar home-->
+                        <substitution>
+                                <key>$pcalendarhomealt%d:</key>
+                                <value>$calendars_users:$puserid%d:</value>
+                        </substitution>
+                        <!-- relative path to user calendar-->
+                        <substitution>
+                                <key>$pcalendarpath%d:</key>
+                                <value>$pcalendarhome%d:/$calendar:</value>
+                        </substitution>
+                        <!-- relative path to user alternate calendar-->
+                        <substitution>
+                                <key>$pcalendarpathalt%d:</key>
+                                <value>$pcalendarhomealt%d:/$calendar:</value>
+                        </substitution>
+                        <!-- relative path to user tasks calendar-->
+                        <substitution>
+                                <key>$ptaskspath%d:</key>
+                                <value>$pcalendarhome%d:/$tasks:</value>
+                        </substitution>
+                        <!-- relative path to user inbox-->
+                        <substitution>
+                                <key>$pinboxpath%d:</key>
+                                <value>$pcalendarhome%d:/$inbox:</value>
+                        </substitution>
+                        <!-- relative path to user outbox-->
+                        <substitution>
+                                <key>$poutboxpath%d:</key>
+                                <value>$pcalendarhome%d:/$outbox:</value>
+                        </substitution>
+                        <!-- relative path to user dropbox-->
+                        <substitution>
+                                <key>$pdropboxpath%d:</key>
+                                <value>$pcalendarhome%d:/$dropbox:</value>
+                        </substitution>
+                        <!-- relative path to user notification-->
+                        <substitution>
+                                <key>$pnotificationpath%d:</key>
+                                <value>$pcalendarhome%d:/$notification:</value>
+                        </substitution>
+                        <!-- relative path to user freebusy-->
+                        <substitution>
+                                <key>$pfreebusypath%d:</key>
+                                <value>$pcalendarhome%d:/$freebusy:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$pemail%d:</key>
+                                <value>$puserid%d:@example.com</value>
+                        </substitution>
+                        <!-- calendar user address of user-->
+                        <substitution>
+                                <key>$pcuaddr%d:</key>
+                                <value>mailto:$pemail%d:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$pcuaddralt%d:</key>
+                                <value>$pprincipaluri%d:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$pcuaddraltnoslash%d:</key>
+                                <value>$principals_uids:$puserguid%d:</value>
+                        </substitution>
+                        <substitution>
+                                <key>$pcuaddrurn%d:</key>
+                                <value>urn:uuid:$puserguid%d:</value>
+                        </substitution>
+
+                        <!-- relative path to user addressbook home-->
+                        <substitution>
+                                <key>$paddressbookhome%d:</key>
+                                <value>$addressbooks_uids:$puserguid%d:</value>
+                        </substitution>
+                        <!-- relative path to user addressbook-->
+                        <substitution>
+                                <key>$paddressbookpath%d:</key>
+                                <value>$paddressbookhome%d:/$addressbook:</value>
+                        </substitution>
+                </repeat>
+
+        </substitutions>
+</serverinfo>
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfotemplatexml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/server/serverinfo-template.xml (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo-template.xml        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/scripts/server/serverinfo-template.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -79,8 +79,8 @@
</span><span class="cx">                 <feature>managed-attachments</feature>                        <!-- CalDAV Managed Attachments -->
</span><span class="cx">                 <feature>maskuid</feature>                                                <!-- maskuid extension -->
</span><span class="cx">                 <feature>no-duplicate-uids</feature>                        <!-- duplicate UIDs in same home not supported -->
</span><del>-                <!-- <feature>partitioning</feature> -->                <!-- Partitioned server -->
</del><span class="cx">                 <feature>partstat-timestamp</feature>                        <!-- Time stamps when PARTSTAT changes extension -->
</span><ins>+                <!-- <feature>podding</feature> -->                         <!-- Podded server -->
</ins><span class="cx">                 <feature>private-comments</feature>                                <!-- private-comments extension -->
</span><span class="cx">                 <feature>private-events</feature>                                <!-- private-events extension -->
</span><span class="cx">                 <feature>proxy</feature>                                                <!-- calendar-user-proxy extension -->
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">                 <feature>carddav</feature>                                                 <!-- Basic CardDAV feature enabler -->
</span><span class="cx">                 <feature>default-addressbook</feature>                         <!-- Default address book behavior -->
</span><span class="cx">                 <!-- <feature>global-addressbook</feature> -->         <!-- Global address book for each user -->
</span><del>-                <!-- <feature>shared-addressbooks</feature> -->        <!-- Shared address books extension -->
</del><ins>+                <!-- <feature>shared-addressbooks</feature> --> <!-- Shared address books extension -->
</ins><span class="cx">                 <!-- <feature>directory-gateway</feature> -->        <!-- Directory gateway extension -->
</span><span class="cx">
</span><span class="cx">         </features>
</span><span class="lines">@@ -539,7 +539,7 @@
</span><span class="cx">                         <!-- relative path to user addressbook-->
</span><span class="cx">                         <substitution>
</span><span class="cx">                                 <key>$addressbookpath%%d:</key>
</span><del>-                                <value>$addressbooks_uids:$userguid%%d:/$addressbook:</value>
</del><ins>+                                <value>$addressbookhome%%d:/$addressbook:</value>
</ins><span class="cx">                         </substitution>
</span><span class="cx">                 </repeat>
</span><span class="cx">
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfodtd"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/server/serverinfo.dtd (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo.dtd        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/scripts/server/serverinfo.dtd        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -14,11 +14,14 @@
</span><span class="cx"> limitations under the License.
</span><span class="cx"> -->
</span><span class="cx">
</span><del>-<!ELEMENT serverinfo (host, nonsslport, sslport, authtype?, waitime?, features?, substitutions)? >
</del><ins>+<!ELEMENT serverinfo (host, nonsslport, sslport, host2?, nonsslport2?, sslport2?, authtype?, waitime?, features?, substitutions)? >
</ins><span class="cx">
</span><span class="cx">         <!ELEMENT host                        (#PCDATA)>
</span><span class="cx">         <!ELEMENT nonsslport        (#PCDATA)>
</span><span class="cx">         <!ELEMENT sslport                (#PCDATA)>
</span><ins>+        <!ELEMENT host2                        (#PCDATA)>
+        <!ELEMENT nonsslport2        (#PCDATA)>
+        <!ELEMENT sslport2                (#PCDATA)>
</ins><span class="cx">         <!ELEMENT authtype                (#PCDATA)>
</span><span class="cx">         <!ELEMENT waittime (#PCDATA)>
</span><span class="cx">         <!ELEMENT features (feature*)>
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptsserverserverinfoxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/server/serverinfo.xml (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/server/serverinfo.xml        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/scripts/server/serverinfo.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -78,9 +78,9 @@
</span><span class="cx">                 <feature>location-resource-tracking</feature> <!-- Server tracks who makes unscheduled changes to locations and resources -->
</span><span class="cx">                 <feature>managed-attachments</feature>                        <!-- CalDAV Managed Attachments -->
</span><span class="cx">                 <feature>maskuid</feature>                                                <!-- maskuid extension -->
</span><del>-                <!-- <feature>partitioning</feature> -->                <!-- Partitioned server -->
</del><span class="cx">                 <feature>no-duplicate-uids</feature>                        <!-- duplicate UIDs in same home not supported -->
</span><span class="cx">                 <feature>partstat-timestamp</feature>                        <!-- Time stamps when PARTSTAT changes extension -->
</span><ins>+                <!-- <feature>podding</feature> -->                         <!-- Podded server -->
</ins><span class="cx">                 <feature>private-comments</feature>                                <!-- private-comments extension -->
</span><span class="cx">                 <feature>private-events</feature>                                <!-- private-events extension -->
</span><span class="cx">                 <feature>proxy</feature>                                                <!-- calendar-user-proxy extension -->
</span><span class="lines">@@ -302,13 +302,13 @@
</span><span class="cx">                         <value>$root:stdtimezones</value>
</span><span class="cx">                 </substitution>
</span><span class="cx">
</span><del>-                <!-- relative path to calendars collection-->
</del><ins>+                <!-- relative path to addressbooks collection-->
</ins><span class="cx">                 <substitution>
</span><span class="cx">                         <key>$addressbooks:</key>
</span><span class="cx">                         <value>$root:addressbooks/</value>
</span><span class="cx">                 </substitution>
</span><span class="cx">
</span><del>-                <!-- relative path to record type calendar collections-->
</del><ins>+                <!-- relative path to record type addressbook collections-->
</ins><span class="cx">                 <substitution>
</span><span class="cx">                         <key>$addressbooks_uids:</key>
</span><span class="cx">                         <value>$addressbooks:$uidstype:/</value>
</span><span class="lines">@@ -540,7 +540,7 @@
</span><span class="cx">                         <!-- relative path to user addressbook-->
</span><span class="cx">                         <substitution>
</span><span class="cx">                                 <key>$addressbookpath%d:</key>
</span><del>-                                <value>$addressbooks_uids:$userguid%d:/$addressbook:</value>
</del><ins>+                                <value>$addressbookhome%d:/$addressbook:</value>
</ins><span class="cx">                         </substitution>
</span><span class="cx">                 </repeat>
</span><span class="cx">
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsCalDAVcaldavtestdtd"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -31,7 +31,8 @@
</span><span class="cx">
</span><span class="cx">         <!ELEMENT request (require-feature?, exclude-feature?, method, ruri*, header*, data?, verify*,
</span><span class="cx">                                                 graburi?, grabcount?, grabheader*, grabproperty*, grabelement*, grabcalproperty*, grabcalparameter*)>
</span><del>-                <!ATTLIST request auth (yes|no) "yes"
</del><ins>+                <!ATTLIST request host2 (yes|no) "no"
+                                                 auth (yes|no) "yes"
</ins><span class="cx">                                                  user CDATA ""
</span><span class="cx">                                                  pswd CDATA ""
</span><span class="cx">                                                  end-delete (yes|no) "no"
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptstestsCardDAVcaldavtestdtd"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/scripts/tests/CardDAV/caldavtest.dtd (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests/CardDAV/caldavtest.dtd        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/scripts/tests/CardDAV/caldavtest.dtd        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -31,7 +31,8 @@
</span><span class="cx">
</span><span class="cx">         <!ELEMENT request (require-feature?, exclude-feature?, method, ruri*, header*, data?, verify*,
</span><span class="cx">                                                 graburi?, grabcount?, grabheader*, grabproperty*, grabelement*, grabcalproperty*, grabcalparameter*)>
</span><del>-                <!ATTLIST request auth (yes|no) "yes"
</del><ins>+                <!ATTLIST request host2 (yes|no) "no"
+                                                 auth (yes|no) "yes"
</ins><span class="cx">                                                  user CDATA ""
</span><span class="cx">                                                  pswd CDATA ""
</span><span class="cx">                                                  end-delete (yes|no) "no"
</span></span></pre></div>
<a id="CalDAVTestertrunkscriptstestspodCalDAVcaldavtestdtd"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/scripts/tests-pod/CalDAV/caldavtest.dtd (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/caldavtest.dtd         (rev 0)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/caldavtest.dtd        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,84 @@
</span><ins>+<!--
+ Copyright (c) 2006-2013 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.
+ -->
+
+<!ELEMENT caldavtest (description?, require-feature?, start, test-suite*, end) >
+        <!ATTLIST caldavtest ignore-all (yes|no) "no">
+
+        <!ELEMENT description (#PCDATA)>
+
+        <!ELEMENT require-feature (feature*)>
+                <!ELEMENT feature (#PCDATA)>
+        <!ELEMENT exclude-feature (feature*)>
+                <!ELEMENT feature (#PCDATA)>
+
+        <!ELEMENT start (request*)>
+        <!ELEMENT end (request*)>
+
+        <!ELEMENT pause EMPTY>
+
+        <!ELEMENT request (require-feature?, exclude-feature?, method, ruri*, header*, data?, verify*,
+                                                graburi?, grabcount?, grabheader*, grabproperty*, grabelement*, grabcalproperty*, grabcalparameter*)>
+                <!ATTLIST request host2 (yes|no) "no"
+                                                 auth (yes|no) "yes"
+                                                 user CDATA ""
+                                                 pswd CDATA ""
+                                                 end-delete (yes|no) "no"
+                                                 print-response (yes|no) "no"
+                                                 iterate-data (yes|no) "no"
+                                                 wait-for-success (yes|no) "no">
+                
+                <!ELEMENT method (#PCDATA)>
+                <!ELEMENT ruri (#PCDATA)>
+                <!ELEMENT header (name, value)>
+                        <!ELEMENT name (#PCDATA)>
+                        <!ELEMENT value (#PCDATA)>
+                <!ELEMENT data (content-type, filepath)>
+                        <!ATTLIST data substitutions (yes|no) "yes"
+                         generate (yes|no) "no">
+                        <!ELEMENT content-type (#PCDATA)>
+                        <!ELEMENT filepath (#PCDATA)>
+
+                <!ELEMENT verify (require-feature?, exclude-feature?, callback, arg*)>
+                        
+                                <!ELEMENT callback (#PCDATA)>
+                                <!ELEMENT arg (name, value*)>
+                
+                <!ELEMENT graburi (#PCDATA)>
+
+                <!ELEMENT grabcount (#PCDATA)>
+
+                <!ELEMENT grabheader (name, variable)>
+        
+                <!ELEMENT grabproperty (property, variable)>
+                        <!ELEMENT property (#PCDATA)>
+                        <!ELEMENT variable (#PCDATA)>
+
+                <!ELEMENT grabelement (name, parent*, variable+)>
+
+                <!ELEMENT grabcalproperty (name, variable)>
+                <!ELEMENT grabcalparameter (name, variable)>
+
+        <!ELEMENT test-suite (require-feature?, exclude-feature?, test*)>
+                <!ATTLIST test-suite name CDATA #REQUIRED
+                                                        ignore (yes|no) "no"
+                                                        only (yes|no) "no">
+        
+                <!ELEMENT test (require-feature?, exclude-feature?, description?, (request|pause)+)>
+                        <!ATTLIST test name CDATA #REQUIRED
+                                                 count CDATA "1"
+                                                 stats (yes|no) "no"
+                                                 ignore (yes|no) "no"
+                                                 only (yes|no) "no">
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptstestspodCalDAVcalendaruserproxyxml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml         (rev 0)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/calendaruserproxy.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,2057 @@
</span><ins>+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 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.
+
+ DRI: Cyrus Daboo, cdaboo@apple.com
+ -->
+
+<caldavtest>
+        <description>Test proxy user features</description>
+
+        <require-feature>
+                <feature>caldav</feature>
+                <feature>proxy</feature>
+                <feature>podding</feature>
+        </require-feature>
+
+        <start>
+                <request end-delete="yes">
+                        <method>PUT</method>
+                        <ruri>$calendarpath1:/1.ics</ruri>
+                        <data>
+                                <content-type>text/calendar; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/delete/1.txt</filepath>
+                        </data>
+                </request>
+                <request user="$puserid1:" pswd="$ppswd1:" end-delete="yes">
+                        <method>PUT</method>
+                        <ruri>$pcalendarpath1:/1.ics</ruri>
+                        <data>
+                                <content-type>text/calendar; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/delete/1.txt</filepath>
+                        </data>
+                </request>
+        </start>
+        
+        <test-suite name='Proxy on podB' ignore="no">
+                <test name='1'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>Verify no access to resource</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>Add podB user as read proxy for podA user01</description>
+                        <request>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value><![CDATA[{DAV:}group-member-set$<href xmlns="DAV:">$pprincipaluri1:</href>]]></value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>Verify single group membership</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-read/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>Verify access to resource</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>Verify no access for write</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>Clear podB user as read-only proxy for podA user01</description>
+                        <request>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='10'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='11'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='12'>
+                        <description>Verify no access to resource</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='13'>
+                        <description>Add podB user as read-write proxy for podA user01</description>
+                        <request>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$pprincipaluri1:]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='14'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='15'>
+                        <description>Verify single group membership</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-write/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='16'>
+                        <description>Verify access to resource</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='17'>
+                        <description>Verify access to resource</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='18'>
+                        <description>Verify access for writing</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='19'>
+                        <description>Clear podB user as read-write proxy for podA user01</description>
+                        <request>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='20'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='21'>
+                        <description>Verify no group memberships right now</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='22'>
+                        <description>Verify no access to resource</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+        
+        <test-suite name='Proxy on podB - requests from podB' ignore="no">
+                <test name='1'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>Verify no access to resource</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>Add podB user as read proxy for podA user01</description>
+                        <request host2='yes'>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value><![CDATA[{DAV:}group-member-set$<href xmlns="DAV:">$pprincipaluri1:</href>]]></value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>Verify single group membership</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-read/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>Verify access to resource</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>Verify no access for write</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>Clear podB user as read-only proxy for podA user01</description>
+                        <request host2='yes'>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='10'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='11'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='12'>
+                        <description>Verify no access to resource</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='13'>
+                        <description>Add podB user as read-write proxy for podA user01</description>
+                        <request host2='yes'>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$pprincipaluri1:]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='14'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='15'>
+                        <description>Verify single group membership</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$principaluri1:calendar-proxy-write/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='16'>
+                        <description>Verify access to resource</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='17'>
+                        <description>Verify access to resource</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='18'>
+                        <description>Verify access for writing</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='19'>
+                        <description>Clear podB user as read-write proxy for podA user01</description>
+                        <request host2='yes'>
+                                <method>PROPPATCH</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='20'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='21'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='22'>
+                        <description>Verify no access to resource</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+        
+        <test-suite name='Proxy on podA' ignore="no">
+                <test name='1'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>Verify no access to resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>Add podA user02 as read proxy for podB user</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/6.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>Verify single group membership</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-read/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>Verify access to resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>Verify no access for writing</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$pcalendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>Clear podA user02 as read-only proxy for podB user</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='10'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='11'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='12'>
+                        <description>Verify no access to resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='13'>
+                        <description>Add podA user02 as read-write proxy for podB user</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/6.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='14'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='15'>
+                        <description>Verify single group membership</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-write/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='16'>
+                        <description>Verify access to resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='17'>
+                        <description>Verify write access to resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='18'>
+                        <description>Verify access for new resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$pcalendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='19'>
+                        <description>Clear podA user02 as read-write proxy for podB user</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='20'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='21'>
+                        <description>Verify no group memberships right now</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='22'>
+                        <description>Verify no access to resource</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+        
+        <test-suite name='Proxy on podA - requests from podB' ignore="no">
+                <test name='1'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>Verify no access to resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>Add podA user02 as read proxy for podB user</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/6.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>Verify single group membership</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-read/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>Verify access to resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>Verify no access for writing</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$pcalendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>Clear podA user02 as read-only proxy for podB user</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-read/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='10'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='11'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='12'>
+                        <description>Verify no access to resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='13'>
+                        <description>Add podA user02 as read-write proxy for podB user</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/6.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set/{DAV:}href[=$principaluri2:]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='14'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='15'>
+                        <description>Verify single group membership</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>xmlElementMatch</callback>
+                                        <arg>
+                                                <name>exists</name>
+                                                <value>$verify-property-prefix:/{DAV:}group-member-set[|]</value>
+                                                <value>$verify-property-prefix:/{DAV:}group-membership/{DAV:}href[=$pprincipaluri1:calendar-proxy-write/]</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='16'>
+                        <description>Verify access to resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>200</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='17'>
+                        <description>Verify write access to resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='18'>
+                        <description>Verify access for new resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$pcalendarpath1:/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='19'>
+                        <description>Clear podA user02 as read-write proxy for podB user</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPPATCH</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:calendar-proxy-write/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='20'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='21'>
+                        <description>Verify no group memberships right now</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$principal2:</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/calendaruserproxy/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>propfindItems</callback>
+                                        <arg>
+                                                <name>okprops</name>
+                                                <value>{DAV:}group-member-set$</value>
+                                                <value>{DAV:}group-membership$</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='22'>
+                        <description>Verify no access to resource</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$pcalendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <end/>
+
+</caldavtest>
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptstestspodCalDAVimplicitproxyxml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitproxy.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitproxy.xml         (rev 0)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitproxy.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,320 @@
</span><ins>+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 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.
+ -->
+
+<caldavtest>
+        <description>Test implicit scheduling done by proxies across pods</description>
+
+        <require-feature>
+                <feature>caldav</feature>
+                <feature>proxy</feature>
+                <feature>implicit-scheduling</feature>
+        </require-feature>
+
+        <start>
+                <request user="$puserid1:" pswd="$ppswd1:">
+                        <method>GET</method>
+                        <ruri>$pcalendarpath1:/</ruri>
+                </request>
+                <request user="$userid2:" pswd="$pswd2:">
+                        <method>GET</method>
+                        <ruri>$calendarpath2:/</ruri>
+                </request>
+                <request user="$userid3:" pswd="$pswd3:">
+                        <method>GET</method>
+                        <ruri>$calendarpath3:/</ruri>
+                </request>
+                <request user="$userid2:" pswd="$pswd2:">
+                        <method>PROPPATCH</method>
+                        <ruri>$principal2:calendar-proxy-write/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/podding/implicitproxy/1.xml</filepath>
+                        </data>
+                </request>
+                <request user="$userid3:" pswd="$pswd3:">
+                        <method>PROPPATCH</method>
+                        <ruri>$principal3:calendar-proxy-write/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/podding/implicitproxy/1.xml</filepath>
+                        </data>
+                </request>
+        </start>
+        
+        <test-suite name='Proxy as Organizer'>
+                <test name='1'>
+                        <description>Proxy creates new event</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PUT</method>
+                                <ruri>$calendarpath2:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitproxy/3.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>No items in user02 Inbox</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PROPFIND</method>
+                                <ruri>$inboxpath2:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>count</name>
+                                                <value>0</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>One item in user02 Calendar</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$calendarpath2:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitproxy/5.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>One item in user03 Inbox</description>
+                        <request user="$userid3:" pswd="$pswd3:">
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath3:/</ruri>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>One item in user03 calendar</description>
+                        <request user="$userid3:" pswd="$pswd3:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath3:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitproxy/6.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+        
+        <test-suite name='Proxy as Attendee'>
+                <test name='2'>
+                        <description>Proxy updates event</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:' print-response='no'>
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath3:/</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:' print-response='no'>
+                                <method>PUT</method>
+                                <ruri>$</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitproxy/7.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>One item in user02 Inbox</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath2:/</ruri>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>One item in user02 Calendar</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GET</method>
+                                <ruri>$calendarpath2:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitproxy/8.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>No item in user03 Inbox</description>
+                        <request user="$userid3:" pswd="$pswd3:">
+                                <method>PROPFIND</method>
+                                <ruri>$inboxpath3:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitproxy/4.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>count</name>
+                                                <value>0</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>One item in user03 calendar</description>
+                        <request user="$userid3:" pswd="$pswd3:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath3:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitproxy/9.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+        
+        <test-suite name="Undo proxy">
+                <test name='1'>
+                        <description>Remove proxy</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PROPPATCH</method>
+                                <ruri>$principal2:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitproxy/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request user="$userid3:" pswd="$pswd3:">
+                                <method>PROPPATCH</method>
+                                <ruri>$principal3:calendar-proxy-write/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitproxy/2.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Writer cannot read existing event</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>GET</method>
+                                <ruri>$calendarpath2:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>GET</method>
+                                <ruri>$calendarpath3:/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <end>
+                <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                        <method>DELETEALL</method>
+                        <ruri>$pinboxpath1:/</ruri>
+                        <ruri>$pcalendarpath1:/</ruri>
+                </request>
+                <request user="$userid2:" pswd="$pswd2:">
+                        <method>DELETEALL</method>
+                        <ruri>$inboxpath2:/</ruri>
+                        <ruri>$calendarpath2:/</ruri>
+                </request>
+                <request user="$userid3:" pswd="$pswd3:">
+                        <method>DELETEALL</method>
+                        <ruri>$inboxpath3:/</ruri>
+                        <ruri>$calendarpath3:/</ruri>
+                </request>
+
+                <request user="$userid2:" pswd="$pswd2:">
+                        <method>PROPPATCH</method>
+                        <ruri>$principal2:calendar-proxy-write/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/podding/implicitproxy/2.xml</filepath>
+                        </data>
+                </request>
+                <request user="$userid3:" pswd="$pswd3:">
+                        <method>PROPPATCH</method>
+                        <ruri>$principal3:calendar-proxy-write/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/podding/implicitproxy/2.xml</filepath>
+                        </data>
+                </request>
+                <request user="$userid2:" pswd="$pswd2:">
+                        <method>ACL</method>
+                        <ruri>$calendarpath2:/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/podding/implicitproxy/11.xml</filepath>
+                        </data>
+                </request>
+                <request user="$userid3:" pswd="$pswd3:">
+                        <method>ACL</method>
+                        <ruri>$calendarpath3:/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/CalDAV/podding/implicitproxy/11.xml</filepath>
+                        </data>
+                </request>
+        </end>
+        
+</caldavtest>
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptstestspodCalDAVimplicitsimplexml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitsimple.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitsimple.xml         (rev 0)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/implicitsimple.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,521 @@
</span><ins>+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 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.
+ -->
+
+<caldavtest>
+        <description>Podding cross-pod scheduling</description>
+
+        <require-feature>
+                <feature>caldav</feature>
+                <feature>implicit-scheduling</feature>
+                <feature>podding</feature>
+        </require-feature>
+
+        <start>
+                <request user="$useradmin:" pswd="$pswdadmin:">
+                        <method>DELETEALL</method>
+                        <ruri>$inboxpath1:/</ruri>
+                        <ruri>$inboxpath2:/</ruri>
+                        <ruri>$pinboxpath1:/</ruri>
+                </request>
+        </start>
+        
+        <test-suite name='#1 scheduling across nodes' ignore='no'>
+                <test name='1'>
+                        <description>Organizer invites Attendees</description>
+                        <request>
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitschedule/suite1/1.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Organizer checks data</description>
+                        <request>
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>Attendee Inbox Items</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath2:/</ruri>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$pinboxpath1:/</ruri>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>Attendees have data</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath2:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/3.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GETNEW</method>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/3.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PodA -> Accepted</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath2:/</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitschedule/suite1/4.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>Organizer Inbox Item</description>
+                        <request>
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath1:/</ruri>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>Organizer data changed</description>
+                        <request>
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/5.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='10'>
+                        <description>PodB no Inbox Item</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pinboxpath1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>count</name>
+                                                <value>0</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='11'>
+                        <description>PodB data changed</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GETNEW</method>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/6.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='12'>
+                        <description>PodB -> Decline</description>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>GETNEW</method>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitschedule/suite1/7.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='13'>
+                        <description>Organizer Inbox Item</description>
+                        <request>
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath1:/</ruri>
+                        </request>
+                </test>
+                <test name='14'>
+                        <description>Organizer data changed</description>
+                        <request>
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/8.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='16'>
+                        <description>PodA no Inbox Item</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>PROPFIND</method>
+                                <ruri>$inboxpath2:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>count</name>
+                                                <value>0</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='17'>
+                        <description>PodA data changed</description>
+                        <request user="$userid2:" pswd="$pswd2:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath2:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/9.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='18'>
+                        <description>Clean-up</description>
+                        <request user="$useradmin:" pswd="$pswdadmin:">
+                                <method>DELETEALL</method>
+                                <ruri>$calendarpath1:/</ruri>
+                                <ruri>$inboxpath1:/</ruri>
+                                <ruri>$calendarpath2:/</ruri>
+                                <ruri>$inboxpath2:/</ruri>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <ruri>$pinboxpath1:/</ruri>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='#2 scheduling across nodes - from podB' ignore='no'>
+                <test name='1'>
+                        <description>Organizer invites Attendees</description>
+                        <request host2='yes'>
+                                <method>PUT</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitschedule/suite1/1.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>Organizer checks data</description>
+                        <request host2='yes'>
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>Attendee Inbox Items</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath2:/</ruri>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$pinboxpath1:/</ruri>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>Attendees have data</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath2:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/3.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GETNEW</method>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/3.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PodA -> Accepted</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath2:/</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>PUT</method>
+                                <ruri>$</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitschedule/suite1/4.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>Organizer Inbox Item</description>
+                        <request host2='yes'>
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath1:/</ruri>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>Organizer data changed</description>
+                        <request host2='yes'>
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/5.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='10'>
+                        <description>PodB no Inbox Item</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PROPFIND</method>
+                                <ruri>$pinboxpath1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>count</name>
+                                                <value>0</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='11'>
+                        <description>PodB data changed</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GETNEW</method>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/6.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='12'>
+                        <description>PodB -> Decline</description>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>GETNEW</method>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                        <request host2='yes' user="$puserid1:" pswd="$ppswd1:">
+                                <method>PUT</method>
+                                <ruri>$</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/CalDAV/podding/implicitschedule/suite1/7.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='13'>
+                        <description>Organizer Inbox Item</description>
+                        <request host2='yes'>
+                                <method>WAITDELETEALL 1</method>
+                                <ruri>$inboxpath1:/</ruri>
+                        </request>
+                </test>
+                <test name='14'>
+                        <description>Organizer data changed</description>
+                        <request host2='yes'>
+                                <method>GET</method>
+                                <ruri>$calendarpath1:/1.ics</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/8.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='16'>
+                        <description>PodA no Inbox Item</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>PROPFIND</method>
+                                <ruri>$inboxpath2:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>count</name>
+                                                <value>0</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='17'>
+                        <description>PodA data changed</description>
+                        <request host2='yes' user="$userid2:" pswd="$pswd2:">
+                                <method>GETNEW</method>
+                                <ruri>$calendarpath2:/</ruri>
+                                <verify>
+                                        <callback>calendarDataMatch</callback>
+                                        <arg>
+                                                <name>filepath</name>
+                                                <value>Resource/CalDAV/podding/implicitschedule/suite1/9.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='18'>
+                        <description>Clean-up</description>
+                        <request host2='yes' user="$useradmin:" pswd="$pswdadmin:">
+                                <method>DELETEALL</method>
+                                <ruri>$calendarpath1:/</ruri>
+                                <ruri>$inboxpath1:/</ruri>
+                                <ruri>$calendarpath2:/</ruri>
+                                <ruri>$inboxpath2:/</ruri>
+                                <ruri>$pcalendarpath1:/</ruri>
+                                <ruri>$pinboxpath1:/</ruri>
+                        </request>
+                </test>
+        </test-suite>
+
+        <end>
+                <request user="$useradmin:" pswd="$pswdadmin:">
+                        <method>DELETEALL</method>
+                        <ruri>$calendarpath1:/</ruri>
+                        <ruri>$inboxpath1:/</ruri>
+                        <ruri>$calendarpath2:/</ruri>
+                        <ruri>$inboxpath2:/</ruri>
+                        <ruri>$pcalendarpath1:/</ruri>
+                        <ruri>$pinboxpath1:/</ruri>
+                </request>
+        </end>
+        
+</caldavtest>
</ins></span></pre></div>
<a id="CalDAVTestertrunkscriptstestspodCalDAVsimplexml"></a>
<div class="addfile"><h4>Added: CalDAVTester/trunk/scripts/tests-pod/CalDAV/simple.xml (0 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/simple.xml         (rev 0)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/simple.xml        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -0,0 +1,349 @@
</span><ins>+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 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.
+ -->
+
+<caldavtest>
+        <description>Simple podding test</description>
+
+        <require-feature>
+                <feature>caldav</feature>
+                <feature>podding</feature>
+        </require-feature>
+
+        <start/>
+        
+        <test-suite name='Access principals via podA'>
+                <test name='1'>
+                        <description>PROPFIND of user on podA as user on podA</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>PROPFIND of user on podB as user on podA</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>PROPFIND of user on podA as user on podB</description>
+                        <request user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>PROPFIND of user on podB as user on podB</description>
+                        <request user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='Access principals via podB'>
+                <test name='1'>
+                        <description>PROPFIND of user on podA as user on podA</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>PROPFIND of user on podB as user on podA</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>PROPFIND of user on podA as user on podB</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$principal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>PROPFIND of user on podB as user on podB</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$pprincipal1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='Access calendar homes via podA'>
+                <test name='1'>
+                        <description>PROPFIND of user on podA as user on podA</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$calendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>PROPFIND of user on podB as user on podA</description>
+                        <request>
+                                <method>PROPFIND</method>
+                                <ruri>$pcalendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>PROPFIND of user on podA as user on podB</description>
+                        <request user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$calendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>PROPFIND of user on podB as user on podB</description>
+                        <request user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$pcalendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='Access calendar homes via podB' only='yes'>
+                <test name='1'>
+                        <description>PROPFIND of user on podA as user on podA</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$calendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>PROPFIND of user on podB as user on podA</description>
+                        <request host2='yes'>
+                                <method>PROPFIND</method>
+                                <ruri>$pcalendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>PROPFIND of user on podA as user on podB</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$calendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>PROPFIND of user on podB as user on podB</description>
+                        <request host2='yes' user='$puserid1:' pswd='$ppswd1:'>
+                                <method>PROPFIND</method>
+                                <ruri>$pcalendarhome1:/</ruri>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>0</value>
+                                </header>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/Common/PROPFIND/count.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <end/>
+        
+</caldavtest>
</ins></span></pre></div>
<a id="CalDAVTestertrunksrccaldavtestpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/src/caldavtest.py (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/src/caldavtest.py        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/src/caldavtest.py        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -583,7 +583,7 @@
</span><span class="cx"> stats.startTimer()
</span><span class="cx">
</span><span class="cx"> # Do the http request
</span><del>- http = SmartHTTPConnection(self.manager.server_info.host, self.manager.server_info.port, self.manager.server_info.ssl)
</del><ins>+ http = SmartHTTPConnection(req.host, req.port, self.manager.server_info.ssl)
</ins><span class="cx">
</span><span class="cx"> if not 'User-Agent' in headers and label is not None:
</span><span class="cx"> headers['User-Agent'] = label.encode("utf-8")
</span></span></pre></div>
<a id="CalDAVTestertrunksrcmanagerpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/src/manager.py (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/src/manager.py        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/src/manager.py        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -100,12 +100,22 @@
</span><span class="cx"> # Setup ssl stuff
</span><span class="cx"> self.server_info.ssl = ssl
</span><span class="cx"> self.server_info.port = self.server_info.sslport if ssl else self.server_info.nonsslport
</span><ins>+ self.server_info.port2 = self.server_info.sslport2 if ssl else self.server_info.nonsslport2
+
</ins><span class="cx"> moresubs["$host:"] = "%s://%s:%d" % (
</span><span class="cx"> "https" if ssl else "http",
</span><span class="cx"> self.server_info.host,
</span><span class="cx"> self.server_info.port,
</span><span class="cx"> )
</span><span class="cx"> moresubs["$hostssl:"] = "https://%s:%d" % (self.server_info.host, self.server_info.sslport,)
</span><ins>+
+ moresubs["$host2:"] = "%s://%s:%d" % (
+ "https" if ssl else "http",
+ self.server_info.host2,
+ self.server_info.port2,
+ )
+ moresubs["$hostssl2:"] = "https://%s:%d" % (self.server_info.host2, self.server_info.sslport2,)
+
</ins><span class="cx"> self.server_info.addsubs(moresubs)
</span><span class="cx">
</span><span class="cx"> for testfile in testfiles:
</span></span></pre></div>
<a id="CalDAVTestertrunksrcrequestpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/src/request.py (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/src/request.py        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/src/request.py        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -142,6 +142,8 @@
</span><span class="cx">
</span><span class="cx"> def __init__(self, manager):
</span><span class="cx"> self.manager = manager
</span><ins>+ self.host = self.manager.server_info.host
+ self.port = self.manager.server_info.port
</ins><span class="cx"> self.auth = True
</span><span class="cx"> self.user = ""
</span><span class="cx"> self.pswd = ""
</span><span class="lines">@@ -345,6 +347,10 @@
</span><span class="cx"> self.iterate_data = getYesNoAttributeValue(node, src.xmlDefs.ATTR_ITERATE_DATA)
</span><span class="cx"> self.wait_for_success = getYesNoAttributeValue(node, src.xmlDefs.ATTR_WAIT_FOR_SUCCESS)
</span><span class="cx">
</span><ins>+ if node.get(src.xmlDefs.ATTR_HOST2, src.xmlDefs.ATTR_VALUE_NO) == src.xmlDefs.ATTR_VALUE_YES:
+ self.host = self.manager.server_info.host2
+ self.port = self.manager.server_info.port2
+
</ins><span class="cx"> for child in node.getchildren():
</span><span class="cx"> if child.tag == src.xmlDefs.ELEMENT_REQUIRE_FEATURE:
</span><span class="cx"> self.parseFeatures(child, require=True)
</span></span></pre></div>
<a id="CalDAVTestertrunksrcserverinfopy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/src/serverinfo.py (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/src/serverinfo.py        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/src/serverinfo.py        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -30,6 +30,9 @@
</span><span class="cx"> self.host = ""
</span><span class="cx"> self.nonsslport = 80
</span><span class="cx"> self.sslport = 443
</span><ins>+ self.host2 = ""
+ self.nonsslport2 = 80
+ self.sslport2 = 443
</ins><span class="cx"> self.authtype = "basic"
</span><span class="cx"> self.features = set()
</span><span class="cx"> self.user = ""
</span><span class="lines">@@ -131,6 +134,15 @@
</span><span class="cx"> self.nonsslport = int(child.text)
</span><span class="cx"> elif child.tag == src.xmlDefs.ELEMENT_SSLPORT:
</span><span class="cx"> self.sslport = int(child.text)
</span><ins>+ elif child.tag == src.xmlDefs.ELEMENT_HOST2:
+ try:
+ self.host2 = child.text.encode("utf-8")
+ except:
+ self.host2 = "localhost"
+ elif child.tag == src.xmlDefs.ELEMENT_NONSSLPORT2:
+ self.nonsslport2 = int(child.text)
+ elif child.tag == src.xmlDefs.ELEMENT_SSLPORT2:
+ self.sslport2 = int(child.text)
</ins><span class="cx"> elif child.tag == src.xmlDefs.ELEMENT_AUTHTYPE:
</span><span class="cx"> self.authtype = child.text.encode("utf-8")
</span><span class="cx"> elif child.tag == src.xmlDefs.ELEMENT_WAITTIME:
</span></span></pre></div>
<a id="CalDAVTestertrunksrcxmlDefspy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/src/xmlDefs.py (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/src/xmlDefs.py        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/src/xmlDefs.py        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> ELEMENT_GRABURI = "graburi"
</span><span class="cx"> ELEMENT_HEADER = "header"
</span><span class="cx"> ELEMENT_HOST = "host"
</span><ins>+ELEMENT_HOST2 = "host2"
</ins><span class="cx"> ELEMENT_KEY = "key"
</span><span class="cx"> ELEMENT_LOGGING = "logging"
</span><span class="cx"> ELEMENT_MAILFROM = "mailfrom"
</span><span class="lines">@@ -46,6 +47,7 @@
</span><span class="cx"> ELEMENT_METHOD = "method"
</span><span class="cx"> ELEMENT_NAME = "name"
</span><span class="cx"> ELEMENT_NONSSLPORT = "nonsslport"
</span><ins>+ELEMENT_NONSSLPORT2 = "nonsslport2"
</ins><span class="cx"> ELEMENT_NOTIFY = "notify"
</span><span class="cx"> ELEMENT_PARENT = "parent"
</span><span class="cx"> ELEMENT_PAUSE = "pause"
</span><span class="lines">@@ -59,6 +61,7 @@
</span><span class="cx"> ELEMENT_SERVERINFO = "serverinfo"
</span><span class="cx"> ELEMENT_SPREAD = "spread"
</span><span class="cx"> ELEMENT_SSLPORT = "sslport"
</span><ins>+ELEMENT_SSLPORT2 = "sslport2"
</ins><span class="cx"> ELEMENT_START = "start"
</span><span class="cx"> ELEMENT_SUBJECT = "subject"
</span><span class="cx"> ELEMENT_SUBSTITUTIONS = "substitutions"
</span><span class="lines">@@ -75,6 +78,7 @@
</span><span class="cx"> ELEMENT_WAITTIME = "waittime"
</span><span class="cx"> ELEMENT_WARNINGTIME = "warningtime"
</span><span class="cx">
</span><ins>+ATTR_HOST2 = "host2"
</ins><span class="cx"> ATTR_AUTH = "auth"
</span><span class="cx"> ATTR_COUNT = "count"
</span><span class="cx"> ATTR_DETAILS = "details"
</span></span></pre></div>
<a id="CalDAVTestertrunkverifiersxmlElementMatchpy"></a>
<div class="modfile"><h4>Modified: CalDAVTester/trunk/verifiers/xmlElementMatch.py (11893 => 11894)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/trunk/verifiers/xmlElementMatch.py        2013-11-06 22:17:27 UTC (rev 11893)
+++ CalDAVTester/trunk/verifiers/xmlElementMatch.py        2013-11-06 22:19:12 UTC (rev 11894)
</span><span class="lines">@@ -141,6 +141,9 @@
</span><span class="cx"> for child in node.getchildren():
</span><span class="cx"> if child.tag == element and (value is None or child.text == value):
</span><span class="cx"> results.append(node)
</span><ins>+ elif test[0] == '|':
+ if node.text is None and len(node.getchildren()) == 0:
+ results.append(node)
</ins><span class="cx"> else:
</span><span class="cx"> results = nodes
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>