diff --git a/testing/tests/regression-suite/2300-VTODO-Read-Other-User-Create.result b/testing/tests/regression-suite/2300-VTODO-Read-Other-User-Create.result
new file mode 100644
index 00000000..2c577ae5
--- /dev/null
+++ b/testing/tests/regression-suite/2300-VTODO-Read-Other-User-Create.result
@@ -0,0 +1,66 @@
+HTTP/1.1 201 Created
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+ETag: "5126577e86b1ff51857ad7334b6e0965"
+Content-Length: 0
+Content-Type: text/plain; charset="utf-8"
+
+
+ CalDAV Data: >BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A readable event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:An task for my assistant to read
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+<
+ caldav_type: >VTODO<
+ class: >PUBLIC<
+ dav_etag: >5126577e86b1ff51857ad7334b6e0965<
+ description: >A readable event<
+ dtend: >NULL<
+ dtstamp: >2007-11-24 22:09:25<
+ dtstart: >2004-01-01 12:00:00<
+ due: >2010-02-17 00:00:00<
+ last_modified: >2007-11-24 22:09:25<
+ location: >NULL<
+ logged_user: >20<
+ percent_complete: >NULL<
+ priority: >5<
+ rrule: >NULL<
+ status: >NULL<
+ summary: >An task for my assistant to read<
+ transp: >NULL<
+ tz_id: >Pacific/Auckland<
+ uid: >E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74<
+ url: >NULL<
+ user_no: >20<
+
diff --git a/testing/tests/regression-suite/2300-VTODO-Read-Other-User-Create.test b/testing/tests/regression-suite/2300-VTODO-Read-Other-User-Create.test
new file mode 100644
index 00000000..03f41ce4
--- /dev/null
+++ b/testing/tests/regression-suite/2300-VTODO-Read-Other-User-Create.test
@@ -0,0 +1,59 @@
+#
+# Create a readable task for manager1 for assistant1 to then read.
+#
+TYPE=PUT
+URL=http://regression.host/caldav.php/manager1/home/readable-task.ics
+HEADER=Content-Type: text/calendar
+HEAD
+
+AUTH=manager1:manager1
+
+BEGINDATA
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A readable event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:An task for my assistant to read
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+ENDDATA
+
+
+QUERY
+SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
+ uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due at time zone olson_name as due, summary, location,
+ description, priority, class, transp, rrule, url,
+ percent_complete, tz_id, status,
+ caldav_data AS " CalDAV Data", calendar_item.last_modified
+FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
+WHERE caldav_data.dav_name =
+'/manager1/home/readable-task.ics';
+ENDQUERY
+
diff --git a/testing/tests/regression-suite/2301-VTODO-Read-Other-User-Create.result b/testing/tests/regression-suite/2301-VTODO-Read-Other-User-Create.result
new file mode 100644
index 00000000..fee63fa9
--- /dev/null
+++ b/testing/tests/regression-suite/2301-VTODO-Read-Other-User-Create.result
@@ -0,0 +1,67 @@
+HTTP/1.1 201 Created
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+ETag: "5a0d4dd46dfd8e8dcbba4f2ed2b2631b"
+Content-Length: 0
+Content-Type: text/plain; charset="utf-8"
+
+
+ CalDAV Data: >BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A private event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:A task for my assistant to not read
+CLASS:PRIVATE
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+<
+ caldav_type: >VTODO<
+ class: >PRIVATE<
+ dav_etag: >5a0d4dd46dfd8e8dcbba4f2ed2b2631b<
+ description: >A private event<
+ dtend: >NULL<
+ dtstamp: >2007-11-24 22:09:25<
+ dtstart: >2004-01-01 12:00:00<
+ due: >2010-02-17 00:00:00<
+ last_modified: >2007-11-24 22:09:25<
+ location: >NULL<
+ logged_user: >20<
+ percent_complete: >NULL<
+ priority: >5<
+ rrule: >NULL<
+ status: >NULL<
+ summary: >A task for my assistant to not read<
+ transp: >NULL<
+ tz_id: >Pacific/Auckland<
+ uid: >E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75<
+ url: >NULL<
+ user_no: >20<
+
diff --git a/testing/tests/regression-suite/2301-VTODO-Read-Other-User-Create.test b/testing/tests/regression-suite/2301-VTODO-Read-Other-User-Create.test
new file mode 100644
index 00000000..eaedea47
--- /dev/null
+++ b/testing/tests/regression-suite/2301-VTODO-Read-Other-User-Create.test
@@ -0,0 +1,60 @@
+#
+# Create a private task for manager1 for assistant1 to then not read.
+#
+TYPE=PUT
+URL=http://regression.host/caldav.php/manager1/home/private-task.ics
+HEADER=Content-Type: text/calendar
+HEAD
+
+AUTH=manager1:manager1
+
+BEGINDATA
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A private event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:A task for my assistant to not read
+CLASS:PRIVATE
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+ENDDATA
+
+
+QUERY
+SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
+ uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due at time zone olson_name as due, summary, location,
+ description, priority, class, transp, rrule, url,
+ percent_complete, tz_id, status,
+ caldav_data AS " CalDAV Data", calendar_item.last_modified
+FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
+WHERE caldav_data.dav_name =
+'/manager1/home/private-task.ics';
+ENDQUERY
+
diff --git a/testing/tests/regression-suite/2302-VTODO-Read-Other-User.result b/testing/tests/regression-suite/2302-VTODO-Read-Other-User.result
new file mode 100644
index 00000000..fafc1ae1
--- /dev/null
+++ b/testing/tests/regression-suite/2302-VTODO-Read-Other-User.result
@@ -0,0 +1,100 @@
+HTTP/1.1 207 Multi-Status
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+ETag: "20c7556827a226030f58c9d67f438e90"
+Content-Length: 2237
+Content-Type: text/xml; charset="utf-8"
+
+
+
+
+ /davical/caldav.php/manager1/home/readable-task.ics
+
+
+ "5126577e86b1ff51857ad7334b6e0965"
+ BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A readable event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:An task for my assistant to read
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+
+
+ HTTP/1.1 200 OK
+
+
+
+ /davical/caldav.php/manager1/home/private-task.ics
+
+
+ "5a0d4dd46dfd8e8dcbba4f2ed2b2631b"
+ BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A private event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:A task for my assistant to not read
+CLASS:PRIVATE
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+
+
+ HTTP/1.1 200 OK
+
+
+
diff --git a/testing/tests/regression-suite/2302-VTODO-Read-Other-User.test b/testing/tests/regression-suite/2302-VTODO-Read-Other-User.test
new file mode 100644
index 00000000..609b1406
--- /dev/null
+++ b/testing/tests/regression-suite/2302-VTODO-Read-Other-User.test
@@ -0,0 +1,29 @@
+#
+# List manager1's tasks
+#
+TYPE=REPORT
+URL=http://alternate.host/davical/caldav.php/manager1/home/
+HEAD
+
+AUTH=manager1:manager1
+
+HEADER=Content-Type: text/xml
+HEADER=Depth: 1
+
+AUTH
+
+BEGINDATA
+
+
+
+
+
+
+
+
+
+
+
+
+ENDDATA
+
diff --git a/testing/tests/regression-suite/2303-VTODO-Read-Other-User.result b/testing/tests/regression-suite/2303-VTODO-Read-Other-User.result
new file mode 100644
index 00000000..e46d0ac9
--- /dev/null
+++ b/testing/tests/regression-suite/2303-VTODO-Read-Other-User.result
@@ -0,0 +1,55 @@
+HTTP/1.1 207 Multi-Status
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+ETag: "5ce0ce846622e0f4208a25ff49a1ecf3"
+Content-Length: 1206
+Content-Type: text/xml; charset="utf-8"
+
+
+
+
+ /davical/caldav.php/manager1/home/readable-task.ics
+
+
+ "5126577e86b1ff51857ad7334b6e0965"
+ BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Apple Inc.//iCal 3.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VTIMEZONE
+TZID:Pacific/Auckland
+BEGIN:STANDARD
+TZOFFSETFROM:+1300
+TZOFFSETTO:+1200
+DTSTART:19900318T030000
+RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
+TZNAME:NZST
+END:STANDARD
+BEGIN:DAYLIGHT
+TZOFFSETFROM:+1200
+TZOFFSETTO:+1300
+DTSTART:19901007T020000
+RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
+TZNAME:NZDT
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VTODO
+PRIORITY:5
+SEQUENCE:7
+DESCRIPTION:A readable event
+UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
+DTSTART;TZID=Pacific/Auckland:20040101T120000
+DTSTAMP:20071124T220925Z
+SUMMARY:An task for my assistant to read
+CREATED:20071124T220749Z
+X-APPLE-SORT-ORDER:2147483647
+DUE;VALUE=DATE:20100217
+END:VTODO
+END:VCALENDAR
+
+
+ HTTP/1.1 200 OK
+
+
+
diff --git a/testing/tests/regression-suite/2303-VTODO-Read-Other-User.test b/testing/tests/regression-suite/2303-VTODO-Read-Other-User.test
new file mode 100644
index 00000000..6a6515f8
--- /dev/null
+++ b/testing/tests/regression-suite/2303-VTODO-Read-Other-User.test
@@ -0,0 +1,29 @@
+#
+# assistant1 should be able to see readable tasks in manager1's collection.
+#
+TYPE=REPORT
+URL=http://alternate.host/davical/caldav.php/manager1/home/
+HEAD
+
+AUTH=assistant1:assistant1
+
+HEADER=Content-Type: text/xml
+HEADER=Depth: 1
+
+AUTH
+
+BEGINDATA
+
+
+
+
+
+
+
+
+
+
+
+
+ENDDATA
+