From 6b88c6b8b2be19891cee301c116537950e2e7726 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Fri, 13 Jan 2012 17:41:09 +1300 Subject: [PATCH] CardDAV test & result changes for new processing. --- testing/tests/carddav/2006-PUT-vcard.result | 5 +- testing/tests/carddav/2006-PUT-vcard.test | 4 +- .../carddav/2010-REPORT-sync-initial.result | 8 +- .../carddav/2010-REPORT-sync-initial.test | 3 + testing/tests/carddav/2011-PROPFIND.result | 12 +- testing/tests/carddav/2011-PROPFIND.test | 4 +- .../2012-REPORT-addressbook-multiget.result | 16 +- .../2012-REPORT-addressbook-multiget.test | 4 + testing/tests/carddav/2013-PUT-vcard.result | 4 +- testing/tests/carddav/2014-PUT-vcard.result | 4 +- testing/tests/carddav/2015-PUT-vcard.result | 3 - testing/tests/carddav/2015-PUT-vcard.test | 4 +- testing/tests/carddav/2016-PUT-vcard.result | 7 +- testing/tests/carddav/2016-PUT-vcard.test | 4 +- testing/tests/carddav/2017-PUT-vcard.result | 11 +- testing/tests/carddav/2017-PUT-vcard.test | 4 +- testing/tests/carddav/2018-PUT-vcard.result | 6 +- testing/tests/carddav/2018-PUT-vcard.test | 2 +- testing/tests/carddav/2019-PUT-vcard.result | 3 - testing/tests/carddav/2019-PUT-vcard.test | 4 +- testing/tests/carddav/2020-PUT-vcard.result | 13 +- testing/tests/carddav/2020-PUT-vcard.test | 4 +- .../2031-REPORT-addressbook-multiget.result | 820 +++++++++--------- .../2031-REPORT-addressbook-multiget.test | 4 + .../carddav/2039-REPORT-sync-changed.result | 16 +- .../carddav/2039-REPORT-sync-changed.test | 2 + 26 files changed, 474 insertions(+), 497 deletions(-) diff --git a/testing/tests/carddav/2006-PUT-vcard.result b/testing/tests/carddav/2006-PUT-vcard.result index f03543a2..109b8400 100644 --- a/testing/tests/carddav/2006-PUT-vcard.result +++ b/testing/tests/carddav/2006-PUT-vcard.result @@ -2,22 +2,21 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "fada70a725708bce8521efb87acfa629" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >NULL< caluri: >NULL< - dav_etag: >fada70a725708bce8521efb87acfa629< dav_name: >/user1/addressbook/donald_kelly.vcf< + etag_not_null: >1< fburl: >NULL< fn: >Donald Kelly< n: >Kelly;Donald;;;< nickname: >NULL< note: >NULL< org: >Esposo Designs Ltd< - uid: >NULL< + uid_not_null: >1< url: >www.example.co.nz< version: >2.1< diff --git a/testing/tests/carddav/2006-PUT-vcard.test b/testing/tests/carddav/2006-PUT-vcard.test index f23da3f4..17add4fe 100644 --- a/testing/tests/carddav/2006-PUT-vcard.test +++ b/testing/tests/carddav/2006-PUT-vcard.test @@ -24,8 +24,8 @@ end:vcard ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, - version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri +SELECT caldav_data.dav_name, caldav_data.dav_etag IS NOT NULL AS "etag_not_null", + version, uid IS NOT NULL AS "uid_not_null", nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/donald_kelly.vcf' ENDQUERY diff --git a/testing/tests/carddav/2010-REPORT-sync-initial.result b/testing/tests/carddav/2010-REPORT-sync-initial.result index bbea6a16..45aef304 100644 --- a/testing/tests/carddav/2010-REPORT-sync-initial.result +++ b/testing/tests/carddav/2010-REPORT-sync-initial.result @@ -2,7 +2,7 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "e7de8b24ed85d9e45aaef081a5e527a6" +ETag: "a fine looking etag" Content-Length: 948 Content-Type: text/xml; charset="utf-8" @@ -12,7 +12,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/andrew_mcmillan.vcf - "24bae2a7f81c0a79413a656c06d8326b" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> text/vcard HTTP/1.1 200 OK @@ -22,7 +22,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/donald_kelly.vcf - "fada70a725708bce8521efb87acfa629" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> text/vcard HTTP/1.1 200 OK @@ -32,7 +32,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/PHRsMa4mvY.vcf - "70da8e376791d07c9fae3dbda0b40314" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> text/vcard HTTP/1.1 200 OK diff --git a/testing/tests/carddav/2010-REPORT-sync-initial.test b/testing/tests/carddav/2010-REPORT-sync-initial.test index 95b70392..b0ce22c8 100644 --- a/testing/tests/carddav/2010-REPORT-sync-initial.test +++ b/testing/tests/carddav/2010-REPORT-sync-initial.test @@ -18,3 +18,6 @@ BEGINDATA ENDDATA +REPLACE=/"[0-9a-f]{32}"<.get.tag>/"deadbeefcafef00ddeadbeefcafefeed"<.get?tag>/ +REPLACE=/^ETag: "[0-9a-f]+"\s$/ETag: "a fine looking etag"/ + diff --git a/testing/tests/carddav/2011-PROPFIND.result b/testing/tests/carddav/2011-PROPFIND.result index 1e55e8ba..54f8b348 100644 --- a/testing/tests/carddav/2011-PROPFIND.result +++ b/testing/tests/carddav/2011-PROPFIND.result @@ -19,7 +19,7 @@ /caldav.php/user1/addressbook/andrew_mcmillan.vcf - "24bae2a7f81c0a79413a656c06d8326b" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> Dow, 01 Jan 2000 00:00:00 GMT HTTP/1.1 200 OK @@ -29,7 +29,7 @@ /caldav.php/user1/addressbook/donald_kelly.vcf - "fada70a725708bce8521efb87acfa629" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> Dow, 01 Jan 2000 00:00:00 GMT HTTP/1.1 200 OK @@ -39,7 +39,7 @@ /caldav.php/user1/addressbook/PHRsMa4mvY.vcf - "70da8e376791d07c9fae3dbda0b40314" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> Dow, 01 Jan 2000 00:00:00 GMT HTTP/1.1 200 OK @@ -47,9 +47,5 @@ - dav_etag: >24bae2a7f81c0a79413a656c06d8326b< - - dav_etag: >fada70a725708bce8521efb87acfa629< - - dav_etag: >70da8e376791d07c9fae3dbda0b40314< + count: >3< diff --git a/testing/tests/carddav/2011-PROPFIND.test b/testing/tests/carddav/2011-PROPFIND.test index 8e10504b..a5f8f1f2 100644 --- a/testing/tests/carddav/2011-PROPFIND.test +++ b/testing/tests/carddav/2011-PROPFIND.test @@ -20,11 +20,11 @@ BEGINDATA ENDDATA +REPLACE=/"[0-9a-f]{32}"<.get.tag>/"deadbeefcafef00ddeadbeefcafefeed"<.get?tag>/ QUERY -SELECT caldav_data.dav_etag +SELECT count(1) FROM collection LEFT JOIN caldav_data USING(collection_id) WHERE collection.dav_name = '/user1/addressbook/' -ORDER BY caldav_data.dav_id ENDQUERY diff --git a/testing/tests/carddav/2012-REPORT-addressbook-multiget.result b/testing/tests/carddav/2012-REPORT-addressbook-multiget.result index fcfd913e..4cac3c72 100644 --- a/testing/tests/carddav/2012-REPORT-addressbook-multiget.result +++ b/testing/tests/carddav/2012-REPORT-addressbook-multiget.result @@ -2,8 +2,8 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "87ab9b65008470d67893424808e1c0b4" -Content-Length: 2266 +ETag: "a fine looking etag" +Content-Length: 2330 Content-Type: text/xml; charset="utf-8" @@ -12,11 +12,11 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/andrew_mcmillan.vcf - "24bae2a7f81c0a79413a656c06d8326b" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:3.0 REV:2010-03-29T09:23:34Z -UID:pas-id-4BB0719600000000 +UID:excellent-looking-uid-string X-SKYPE;X-EVOLUTION-UI-SLOT=1;TYPE=HOME:karora__ X-JABBER;X-EVOLUTION-UI-SLOT=3;TYPE=HOME:karora@irc.oftc.net TEL;X-EVOLUTION-UI-SLOT=3;TYPE=CELL:+64 22 123 4567 @@ -57,8 +57,8 @@ END:VCARD /caldav.php/user1/addressbook/donald_kelly.vcf - "fada70a725708bce8521efb87acfa629" - begin:vcard + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> + BEGIN:VCARD fn:Donald Kelly n:Kelly;Donald;;; org:Esposo Designs Ltd @@ -70,7 +70,9 @@ tel;type=cell:+64 2 1234-4321 x-mozilla-html:TRUE url:www.example.co.nz version:2.1 -end:vcard +UID:excellent-looking-uid-string +REV:YYYYMMDDTHHMMSSZ +END:VCARD HTTP/1.1 200 OK diff --git a/testing/tests/carddav/2012-REPORT-addressbook-multiget.test b/testing/tests/carddav/2012-REPORT-addressbook-multiget.test index 88ad0ac2..91fc19f4 100644 --- a/testing/tests/carddav/2012-REPORT-addressbook-multiget.test +++ b/testing/tests/carddav/2012-REPORT-addressbook-multiget.test @@ -21,4 +21,8 @@ BEGINDATA ENDDATA +REPLACE=/"[0-9a-f]{32}"<.get.tag>/"deadbeefcafef00ddeadbeefcafefeed"<.get?tag>/ +REPLACE=/UID:.+/UID:excellent-looking-uid-string/ +REPLACE=/REV:\d{8}T\d{6}Z/REV:YYYYMMDDTHHMMSSZ/ +REPLACE=/^ETag: "[0-9a-f]+"\s$/ETag: "a fine looking etag"/ diff --git a/testing/tests/carddav/2013-PUT-vcard.result b/testing/tests/carddav/2013-PUT-vcard.result index d4bae00c..3085df58 100644 --- a/testing/tests/carddav/2013-PUT-vcard.result +++ b/testing/tests/carddav/2013-PUT-vcard.result @@ -32,8 +32,8 @@ Content-Type: text/plain; charset="utf-8" unit_no: >NULL< tel: >64272332426< - type: >pref< + type: >WORK~|~pref< email: >andrew+davical@morphoss.com< - type: >pref< + type: >INTERNET~|~WORK~|~pref< diff --git a/testing/tests/carddav/2014-PUT-vcard.result b/testing/tests/carddav/2014-PUT-vcard.result index 4a609cdd..fb4bf51c 100644 --- a/testing/tests/carddav/2014-PUT-vcard.result +++ b/testing/tests/carddav/2014-PUT-vcard.result @@ -34,8 +34,8 @@ Content-Type: text/plain; charset="utf-8" unit_no: >NULL< tel: >64272332426< - type: >pref< + type: >WORK~|~pref< email: >andrew+davical@morphoss.com< - type: >pref< + type: >INTERNET~|~WORK~|~pref< diff --git a/testing/tests/carddav/2015-PUT-vcard.result b/testing/tests/carddav/2015-PUT-vcard.result index 52e628d7..afa1522b 100644 --- a/testing/tests/carddav/2015-PUT-vcard.result +++ b/testing/tests/carddav/2015-PUT-vcard.result @@ -2,14 +2,12 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "d43780719361367f2d690f1f966e3da1" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >NULL< caluri: >NULL< - dav_etag: >d43780719361367f2d690f1f966e3da1< dav_name: >/user1/addressbook/van_houtte.vcf< fburl: >NULL< fn: >Vincent VAN HOUTTE< @@ -17,7 +15,6 @@ Content-Type: text/plain; charset="utf-8" nickname: >NULL< note: >NULL< org: >Advocatenkantoor Suy, Van Baeveghem & Van Houtte;;< - uid: >NULL< url: >NULL< version: >3.0< diff --git a/testing/tests/carddav/2015-PUT-vcard.test b/testing/tests/carddav/2015-PUT-vcard.test index 33372b3b..c6d73efc 100644 --- a/testing/tests/carddav/2015-PUT-vcard.test +++ b/testing/tests/carddav/2015-PUT-vcard.test @@ -34,8 +34,8 @@ END:VCARD ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, - version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri +SELECT caldav_data.dav_name, + version, nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/van_houtte.vcf' ENDQUERY diff --git a/testing/tests/carddav/2016-PUT-vcard.result b/testing/tests/carddav/2016-PUT-vcard.result index 05fd4796..f5500e85 100644 --- a/testing/tests/carddav/2016-PUT-vcard.result +++ b/testing/tests/carddav/2016-PUT-vcard.result @@ -4,14 +4,12 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "e67537e9d473e93911eccd6e63e9ac3a" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >NULL< caluri: >NULL< - dav_etag: >e67537e9d473e93911eccd6e63e9ac3a< dav_name: >/user1/addressbook/mustrmahn.vcf< fburl: >NULL< fn: >Überwerbung GmbH< @@ -19,7 +17,6 @@ Content-Type: text/plain; charset="utf-8" nickname: >Boss< note: >Test vCard< org: >Überwerbung GmbH;Marketing< - uid: >NULL< url: >NULL< version: >3.0< @@ -37,8 +34,8 @@ Content-Type: text/plain; charset="utf-8" type: >CELL< tel: >+49 30 1234567< - type: >pref< + type: >WORK~|~pref< email: >karl@mustermann.de< - type: >pref< + type: >INTERNET~|~WORK~|~pref< diff --git a/testing/tests/carddav/2016-PUT-vcard.test b/testing/tests/carddav/2016-PUT-vcard.test index 492156b0..748a2526 100644 --- a/testing/tests/carddav/2016-PUT-vcard.test +++ b/testing/tests/carddav/2016-PUT-vcard.test @@ -141,8 +141,8 @@ END:VCARD ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, - version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri +SELECT caldav_data.dav_name, + version, nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/mustrmahn.vcf' ENDQUERY diff --git a/testing/tests/carddav/2017-PUT-vcard.result b/testing/tests/carddav/2017-PUT-vcard.result index c9c7c7c0..24dc743d 100644 --- a/testing/tests/carddav/2017-PUT-vcard.result +++ b/testing/tests/carddav/2017-PUT-vcard.result @@ -4,14 +4,12 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "f6ae02ec1b5612fe4737092734d062c7" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >http://caldav.andresen.local/access< caluri: >http://caldav.andresen.local/sja< - dav_etag: >f6ae02ec1b5612fe4737092734d062c7< dav_name: >/user1/addressbook/andresenesq.vcf< fburl: >http://caldav.andresen.local/freebusy< fn: >Sven Joseph Klaus Michael Andresen, Esq.< @@ -19,7 +17,6 @@ Content-Type: text/plain; charset="utf-8" nickname: >Svenny,Sveny< note: >Nur so ein Test!< org: >andresen AG;R&D;;XXX, 033< - uid: >uid=andresenesq.1209158007,ou=Contacts,dc=andresen,dc=de< url: >http://www.andresen.de< version: >4.0< @@ -37,8 +34,8 @@ Content-Type: text/plain; charset="utf-8" country: >NULL< locality: >Irgendwo< postcode: >34332< - property: >ADR;TYPE=WORK;CHARSET=utf-8:6266 AA\;andresen Holding\, Geschäftsleitung - \;Weisenstraße 13\;Irgendwo\;Niedersachsen\;34332< + property: >ADR;TYPE=WORK;CHARSET=utf-8:6266 AA;andresen Holding\, Geschäftsleitung; + Weisenstraße 13;Irgendwo;Niedersachsen;34332< region: >Niedersachsen< street_address: >Weisenstraße 13< type: >WORK< @@ -48,8 +45,8 @@ Content-Type: text/plain; charset="utf-8" country: >Deutschland< locality: >Passau< postcode: >94036< - property: >ADR;TYPE=WORK;CHARSET=utf-8:PO 373\;Andresen AG\, R&D\;Messegasse 7\;Pas - sau\;Bayern\;94036\;Deutschland< + property: >ADR;TYPE=WORK;CHARSET=utf-8: + PO 373;Andresen AG\, R&D;Messegasse 7;Passau;Bayern;94036;Deutschland< region: >Bayern< street_address: >Messegasse 7< type: >WORK< diff --git a/testing/tests/carddav/2017-PUT-vcard.test b/testing/tests/carddav/2017-PUT-vcard.test index 098fed15..5d4da458 100644 --- a/testing/tests/carddav/2017-PUT-vcard.test +++ b/testing/tests/carddav/2017-PUT-vcard.test @@ -411,8 +411,8 @@ END:VCARD ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, - version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri +SELECT caldav_data.dav_name, + version, nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/andresenesq.vcf' ENDQUERY diff --git a/testing/tests/carddav/2018-PUT-vcard.result b/testing/tests/carddav/2018-PUT-vcard.result index aebe6a72..f8f34110 100644 --- a/testing/tests/carddav/2018-PUT-vcard.result +++ b/testing/tests/carddav/2018-PUT-vcard.result @@ -4,14 +4,12 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "db3e92c0ae37268c647949367e2030cc" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >http://davical.hadi-schmist.home/access< caluri: >http://davical.hadi-schmist.home/hadi< - dav_etag: >db3e92c0ae37268c647949367e2030cc< dav_name: >/user1/addressbook/hans_dieter.vcf< fburl: >http://davical.hadi-schmist.home/freebusy< fn: >Hans Dieter Schmidt< @@ -37,8 +35,8 @@ Content-Type: text/plain; charset="utf-8" country: >Deutschland< locality: >Hamburg-Harburg< postcode: >21373< - property: >ADR;TYPE=WORK;CHARSET=utf-8:\;Uni Harburg\, -\;Innstraße 71\;Hamburg-Har - burg\;Hamburg\;21373\;Deutschland< + property: >ADR;TYPE=WORK;CHARSET=utf-8: + ;Uni Harburg\, -;Innstraße 71;Hamburg-Harburg;Hamburg;21373;Deutschland< region: >Hamburg< street_address: >Innstraße 71< type: >WORK< diff --git a/testing/tests/carddav/2018-PUT-vcard.test b/testing/tests/carddav/2018-PUT-vcard.test index 6b2757c4..40283a44 100644 --- a/testing/tests/carddav/2018-PUT-vcard.test +++ b/testing/tests/carddav/2018-PUT-vcard.test @@ -129,7 +129,7 @@ END:VCARD ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, +SELECT caldav_data.dav_name, version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/hans_dieter.vcf' diff --git a/testing/tests/carddav/2019-PUT-vcard.result b/testing/tests/carddav/2019-PUT-vcard.result index 4a565537..99c785a8 100644 --- a/testing/tests/carddav/2019-PUT-vcard.result +++ b/testing/tests/carddav/2019-PUT-vcard.result @@ -2,14 +2,12 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "feaa1a28c9942fc56403e2f97f75171b" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >NULL< caluri: >NULL< - dav_etag: >feaa1a28c9942fc56403e2f97f75171b< dav_name: >/user1/addressbook/Jörg_Test-Roßdeutscher_2_0.vcf< fburl: >NULL< fn: >Jörg Test-Roßdeutscher< @@ -17,7 +15,6 @@ Content-Type: text/plain; charset="utf-8" nickname: >NULL< note: >Technik, Web, DTP, SysAdmin, €-Vermögensverwalter< org: >Factor Design AG;< - uid: >NULL< url: >www.gesindel.baz< version: >2.1< diff --git a/testing/tests/carddav/2019-PUT-vcard.test b/testing/tests/carddav/2019-PUT-vcard.test index dcc4e1cf..a133713d 100644 --- a/testing/tests/carddav/2019-PUT-vcard.test +++ b/testing/tests/carddav/2019-PUT-vcard.test @@ -32,8 +32,8 @@ END:VCARD ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, - version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri +SELECT caldav_data.dav_name, + version, nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/Jörg_Test-Roßdeutscher_2_0.vcf' ENDQUERY diff --git a/testing/tests/carddav/2020-PUT-vcard.result b/testing/tests/carddav/2020-PUT-vcard.result index 516b8de6..adff5786 100644 --- a/testing/tests/carddav/2020-PUT-vcard.result +++ b/testing/tests/carddav/2020-PUT-vcard.result @@ -2,14 +2,12 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "5a32961b9938a7d6a354a757a8a1ea36" Content-Length: 0 Content-Type: text/plain; charset="utf-8" caladruri: >NULL< caluri: >NULL< - dav_etag: >5a32961b9938a7d6a354a757a8a1ea36< dav_name: >/user1/addressbook/Jörg_Test-Roßdeutscher_3_0.vcf< fburl: >NULL< fn: >Jörg Test-Roßdeutscher< @@ -17,7 +15,6 @@ Content-Type: text/plain; charset="utf-8" nickname: >NULL< note: >Technik, Web, DTP, SysAdmin, €-Vermögensverwalter< org: >Factor Design AG;< - uid: >NULL< url: >NULL< version: >3.0< @@ -38,17 +35,17 @@ Content-Type: text/plain; charset="utf-8" type: >HOME< tel: >040 999999432571-43< - type: >pref< + type: >WORK~|~pref< email: >joerg.rossdeutscher@gesindel.foo< - type: >HOME< + type: >INTERNET~|~HOME< email: >raettchen@gmail.bar< - type: >HOME< + type: >INTERNET~|~HOME< email: >joerg@factordesign.foo< - type: >WORK< + type: >INTERNET~|~WORK< email: >joerg.rossdeutscher@factordesign.foo< - type: >pref< + type: >INTERNET~|~WORK~|~pref< diff --git a/testing/tests/carddav/2020-PUT-vcard.test b/testing/tests/carddav/2020-PUT-vcard.test index a6b1d4af..66764b2e 100644 --- a/testing/tests/carddav/2020-PUT-vcard.test +++ b/testing/tests/carddav/2020-PUT-vcard.test @@ -37,8 +37,8 @@ END:VCARD ENDDATA QUERY -SELECT caldav_data.dav_name, caldav_data.dav_etag, - version, uid, nickname, fn, n, note, org, url, fburl, caladruri, caluri +SELECT caldav_data.dav_name, + version, nickname, fn, n, note, org, url, fburl, caladruri, caluri FROM caldav_data LEFT JOIN addressbook_resource USING(dav_id) WHERE caldav_data.dav_name ~ '/user1/addressbook/Jörg_Test-Roßdeutscher_3_0.vcf' ENDQUERY diff --git a/testing/tests/carddav/2031-REPORT-addressbook-multiget.result b/testing/tests/carddav/2031-REPORT-addressbook-multiget.result index ec7f7a6a..d09734c3 100644 --- a/testing/tests/carddav/2031-REPORT-addressbook-multiget.result +++ b/testing/tests/carddav/2031-REPORT-addressbook-multiget.result @@ -2,8 +2,8 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "6273a9f7da96e95df34e39f9839dc34e" -Content-Length: 67517 +ETag: "a fine looking etag" +Content-Length: 67715 Content-Type: text/xml; charset="utf-8" @@ -12,11 +12,11 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/andrew_mcmillan.vcf - "24bae2a7f81c0a79413a656c06d8326b" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:3.0 REV:2010-03-29T09:23:34Z -UID:pas-id-4BB0719600000000 +UID:excellent-looking-uid-string X-SKYPE;X-EVOLUTION-UI-SLOT=1;TYPE=HOME:karora__ X-JABBER;X-EVOLUTION-UI-SLOT=3;TYPE=HOME:karora@irc.oftc.net TEL;X-EVOLUTION-UI-SLOT=3;TYPE=CELL:+64 22 123 4567 @@ -57,8 +57,8 @@ END:VCARD /caldav.php/user1/addressbook/donald_kelly.vcf - "fada70a725708bce8521efb87acfa629" - begin:vcard + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> + BEGIN:VCARD fn:Donald Kelly n:Kelly;Donald;;; org:Esposo Designs Ltd @@ -70,7 +70,9 @@ tel;type=cell:+64 2 1234-4321 x-mozilla-html:TRUE url:www.example.co.nz version:2.1 -end:vcard +UID:excellent-looking-uid-string +REV:YYYYMMDDTHHMMSSZ +END:VCARD HTTP/1.1 200 OK @@ -80,7 +82,7 @@ end:vcard /caldav.php/user1/addressbook/F06EC844-EACD-4ADF-8823-588603991E04-ABSPlugin.vcf - "0ea4d7759e103090c6494505b5da0f11" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:3.0 N:McMillan;Andrew;;; @@ -404,7 +406,7 @@ PHOTO;BASE64: X-ABShowAs:COMPANY CATEGORIES:My Contacts X-ABUID:685FC9B6-8446-45B8-89AF-3F3BC70CA03A\:ABPerson -UID:F26B8512-45DA-49ED-B285-23E64B0A68D1-ABSPlugin +UID:excellent-looking-uid-string REV:2010-06-23T00:01:37Z END:VCARD @@ -416,7 +418,7 @@ END:VCARD /caldav.php/user1/addressbook/van_houtte.vcf - "d43780719361367f2d690f1f966e3da1" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:3.0 PROFILE:VCARD @@ -436,7 +438,8 @@ LABEL;TYPE=WORK:Brusselsestraat 108\nB-9200 DENDERMONDE TEL;TYPE=WORK,VOICE:052 11 22 33 TEL;TYPE=WORK,FAX:052 44 55 66 EMAIL;TYPE=WORK:vvh@gmail.no -REV:2010-06-23TZ +UID:excellent-looking-uid-string +REV:2010-06-23T000000Z END:VCARD @@ -447,7 +450,7 @@ END:VCARD /caldav.php/user1/addressbook/mustrmahn.vcf - "e67537e9d473e93911eccd6e63e9ac3a" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:3.0 N:Mustermann;Anton;Karl;Dr.; @@ -470,111 +473,119 @@ item2.X-ABLabel:_$!<HomePage>!$_ BDAY;value=date:1969-08-16 X-AIM;type=WORK;type=pref:bethel69 X-JABBER;type=HOME;type=pref:bethel69@foo.com -PHOTO;BASE64: - /9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAA - AqACAAQAAAABAAAAS6ADAAQAAAABAAAASwAAAAD/2wBDAAIBAQIBAQICAQICAgICAwUDAwMDAwYE - BAMFBwYHBwcGBgYHCAsJBwgKCAYGCQ0JCgsLDAwMBwkNDg0MDgsMDAv/2wBDAQICAgMCAwUDAwUL - CAYICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwv/wAAR - CABLAEsDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgED - AwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRol - JicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWW - l5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3 - +Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3 - AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5 - OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaan - qKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIR - AxEAPwDmrj9qzxB4q8F3MniG/uYdSubhYYxa+U9zJGkYJQQNMpbgKwZV4KeormNe+MXiG90sWN/d - 6Zql/qN1NcTzRW6EMXAVV2sg3SKwfPHGW5PU/NXgq90/xwJo9KS61eSaGSUyWqMGjKqQs8kxJWDG - TydpcEqo5yf11/4Ji/8ABJXw38XP2d9J+In7SN94qkuvFVlLceHdJhvjB/wj1pKCIrre0Yk+0FPm - G8lIw6jYWBY/u9XinDYCEXtFaJRtt2SWiPiaeRYjHSc5Xb6uTf66s8//AOCc37dE3wl+P1t4X8Tv - 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 +PHOTO;=ASE64: /9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAA + QAAAABAAAAGgAAAAAA AqACAAQAAAABAAAAS6ADAAQAAAABAAAASwAAAAD/2wBDAAIBAQIBA + QICAQICAgICAwUDAwMDAwYE BAMFBwYHBwcGBgYHCAsJBwgKCAYGCQ0JCgsLDAwMBwkNDg0M + DgsMDAv/2wBDAQICAgMCAwUDAwUL CAYICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCws + LCwsLCwsLCwsLCwsLCwsLCwsLCwv/wAAR CABLAEsDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQ + EAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgED AwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE + 1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRol JicoKSo0NTY3ODk6Q0RFRkdISUpT + VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWW l5iZmqKjpKWmp6ipqrKztLW + 2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3 +Pn6/8QAHwEAAwEBAQ + EBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3 AAECAxEEBSExB + hJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5 OkNERUZH + SElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaan qKm + qsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAI + R AxEAPwDmrj9qzxB4q8F3MniG/uYdSubhYYxa+U9zJGkYJQQNMpbgKwZV4KeormNe+MXiG9 + 0sWN/d 6Zql/qN1NcTzRW6EMXAVV2sg3SKwfPHGW5PU/NXgq90/xwJo9KS61eSaGSUyWqMGj + KqQs8kxJWDG TydpcEqo5yf11/4Ji/8ABJXw38XP2d9J+In7SN94qkuvFVlLceHdJhvjB/wj + 1pKCIrre0Yk+0FPm G8lIw6jYWBY/u9XinDYCEXtFaJRtt2SWiPiaeRYjHSc5Xb6uTf66s8/ + /AOCc37dE3wl+P1t4X8Tv byeB/H17a2d5Yr5cENlLegRwyxRgbV/eyRIyqACkgJ6V3f8AwV + Q/4Ja+FfjN4Pvrn4F6nL8NdY04 Y1WDR1EVjrFsALjDWzHZBOB5bCQFFycMGFfKv/BTD/gnv + 47/AGEfiLYv8B9Q8ReOfB2qrBa6ZqUM fm6noV1BKk8VrflFwCbdNyXRCBwjZAIWvXfiB+2P + b+A/Duup4N1e9Hh+9n86S7vbybUNQuSURRDD NcO5jDFGG4scbSVTawr53G5vg54qONg2lOP + vJdWu6vvbT5I9illmIp0fYJWs9G9jz34JfG/4c/sr fCK60rTtP8Q6x4V0tDfX+vaRYlNaSV + UZ3h1C0mI8uQkvP58D7JI7hXhjYJKU8x/Z2+NGvftT/tDe Evhx+zv4LvdMXVtWj1CHSYIpL + a00m1VjNc3Ny8iARxKhLPIByzhUBMsYLtX/AGpEstYuLnRLSz0X TnhWeC00yFYINUgMkrlm + ZcHzlkklIduI2kkwF3kV9V/8Et/+Chvhb4WfEQ+DfFt5frB49lgms9Vu L15okIAWOBQ5xCr + O3zgYVnkU45NfL8RY1cQ06dDncYRafLZa+r3Vrnt5Vl0sJX9pJpy73Z+mXwM/ Z70T4DaYl0 + n2bVPEbQeRc6rMu1wDtLRxK2TFFlF+TPJQFsnms342ftC2Fl4ZA0LU9Jg1G6uTp3l3 F3DBI + rgB8RtK4TOzc4z/AAhvQVyP7Yvxqv8A4S/sv/EDXvCMkQ1TQtEnubFrltsfmgqEMn96PLYG + PvHg1/N7+2f8V/iN8UvElhoX7U/j2W40HxVfm8xZwSx2kl0EMRieGVikLR5K7gPujjg15tHC + 1MNB 4ijR54Qdm+idtLndmc4yt9Yn+8lt/wAA/e/9k/8AaB079ofTLjxPptzp17b60S8Nzpl + wbmxvVt2a 3MsErcshdJR/tcnoa0PFmiJrniS9uo3nZJJSFZXIDAfKD+IGa+ff+CWvw+8VeA + P2Jf2e9d8UXYuU 8Q+DLcAmNTsgR5BZJkdSLKO359c19c+HLSFtFgMyxu2DlnQbjyetffYR/ + u1NrXb7m0fN4iSp1OVb Dda/4KE+Cvgzby2/iTwv4x8EWcL+WG1HwtJptupHQK4TY/XtwK82 + 1T/gr94O8R6tFo/geeHVdZ1t nttEgs3+0S6rdDGLYQg8kqpbII2bdx4VhXu/g742Q6hZm3u + 7hrceXsdCG2jtjJ+U1xHiv9lD4VfF nxveXet+EdE0zxJDaxyWesaXaRw3ce5jsukeJRtuIp + VVklTEi4GW8suD+Z4vK8YqfNQraLyV38/0 t8z6vA5rhfaf7TR+ab/I8K/4LBfETxl8Hv2LN + H0q10wXkPi/XoZfHeq27iT+x7WL/TG2xn5nLPHH CJT8qLETjL1+MfxN/a3tfEDSyST2sUcy + NG0JYsgh2/djYHCAAcHGCBuxgMD+qn7VfxOuj8KLjQf2 ifF2i23iMajceDdanuRBBp9xcpF + G4ZxLlUW5iaGZAoXBkG0jAr4Q1r9j/wCA3wFuoZPFF38OP7Tm uJp0g1e7jmkZFxwyzuwUBg + cyEBT0LV81VzqpQfJCm3/wD2MZllV83LHmW91trsfFl/8AHqa+04W+ h3s89xYuZbdLUedgN + jKsiqdxIC54zwM5IzW9ongr44fE+HzPhR8OPiRqYf8Ae+ZbaHdKquAWcLvj +bh0bAK45wa+ + x/Cv/BQjUPAHhDVYfhP8KfDsem6JI9jFq6+IZIvC8BkHmRBUsFSA3EuJWSJ503fN txsctle + Ev+Cy3xE8Z/C69YJ4S0Z7ixuLK+u9K0IvqWkxyq0R+xSXU8qS7Hj3/OjttDfNuZTSp4/F Yl + +7C3rJX+655To16TSdO3rp+Vz9DP2s/HvijX/+COuo2d9A3i74iXvgrS9L1fSdMK6jqY1WT7 + It xBJbW++QOsjsrLw3BJPFfk38ItK0j4p/tIaX8Mfi74bsfEs+tasPDM+ieITJYmz1S7X7P + byRvC6S RYkZIGY4eNt25T5YY/d2h/ts+G/28f8Agmn8SY/HJ0Lwx+0J4R0GTXFufD1vHpOp + 362ZM/2zSbzA l3GGBkePLSJghlPmHP5L6h+07ZfGeS58U/ErTru18b6vAJrzVNLmWGDU7tS + omurm2kjISSZN7yTQ uB56RuIxvOP0jhbF+0o1cPXceWT9Xtb7tjzuJqTqeyrNarsf1N638H + 7X4T/Afwt4W8H2UVpZfDnT LHT7G3iZpYoobO2S12IWJZlEanBb5iACecivG9N/ap8G2tr5V + 9rAhmid0eOd3jkQhiCCo6D09sV8 Ufsof8HJY8B+B/DGkfto6DqfifRooF0u88V6M3m39gpU + Ilxc2hbF1G6nLSRFZF8tvlY/KPqnT/ij +zZ8U9OtvENp47+Fetw6vDHcRXw8U2cDXKFRtZ4 + pXWSN8AbkdVZWDBgCCK+hwcZYJPC1baWaa2af Y+UlONV+0a3Ifhx8Z73+2bO21qeJYbskQN + cBm8xPTyVyWf6K2PavWPjR8a9R+G2jaDfeCtEiku70 fZDcanqCW1vabyqb5UiQuFPykAn+F + sgHIHyr4W+KukaRqrvYiKNvODPJGxEjuQBnJ5PQjPpXpX7Q 37Q2if8ADPus/FXVpJLKD4QD + b4htVCrDqljcQmS1HLKglFyyIhYhf3kisSHxXysKyjScr7Hvzpvn SaPD/wBrDx7ceA9bk0r + Q0sPEVh47sb298RaPdSi4j1+WKSG2uLYLMrIzoL6xntmZVSL7Iof5JmZc r9oK/wBH/Z90vV + ND+L/wV/4Wdpnifw2tpomuaYotdb0/W7S3EKzSSwyLcfZJIvs8rPbFmgkhbbCw nUJ4N4B8E + 3Xx3vYr/wCL3j3w9Z3XhXTry41Tw7aak8N5bmQxPPFfagBItohWGJSkaNI27hirZq7o 3x60 + a4+IetXPwqv/AA7JqFxc/Yrq31ia7ub63fzDgNbIvlqjISsbpIjFUOADvFfndZYrB0PrVSNl + dq/XXX0/G/kfouWPLc2rPL+a8+VO17fD0v8AoR/tE/GqXwN+wZpWn/GPR10m7EEqabpMWkw + xwf2j Kju11LZW4Cm8k3yPNO48w/MGIA2j8rPCvxck8L6VdWejRyWf2u2uIjL5h3qHfaCe4P + 3yfbiv1Q/a t8XXHxJ+Ekq6Dp0lzqmnea9tE0WdzvFJExHZgwZ1z/EvXOa+Ik/4JLeLfEHhK + 61Sx1vRNNvo5Jrm 4t7vdBHb2qx/PKWTd84JC7SANpB6mufCYunL45auxWeYapFxWFjaMen5 + /wDBPN/A/wARNVv73wvo fwue2uPEWp6pFFYwblSGN2EkTv8A9MI1IiYvwm1CSMK2ej/aF/Y + n+Jnww8c+Nr2y+H+uX/hzQ9dv 9NuNY0LTZrjR/tFq8a3DxOqH9yskmFfhDuZR9w12f7EHwo + i8PePpPHNpbafFaWDSrayxx74JLeG3 eANHuJLG5ncgDPIT3xX2xovxd8VJ4rudQ8O3d7YC2 + sfIJEsc1wXilEs0kYkYnKiTygf3e7bIVYEH P3mTZdGMY1pSak+lloflOccRSpzlh4wUkut3 + o/8Agn5geEfFMmoaFcxaYzTTWuJCYlZ5IW+bcCpO fm2sTnjDMuAGxXc6P+zn4Z+IWnprTwT + acdQLS/ZorqIpH8xHGITjOM4ycZxX3H4++MnwJ/a+17Wt K+PXw312CfQpEttS+J3h3w+bq9 + tT5asuozXFmkSyIsqvDLE0VzuePIlRDuT4y+LH7JfxA/Z48fX3 hHSfDWv+N9P0wRS2Ov8Ah + vWjDpesWs8SXEFxDGYWMe+KaNmQklXLA9K+1w+Z0KdNQqrnS8jyaU/r Ert+zdr6tar+vmfX + 3w++Lnib4n3V8fh1pFzqEenAySu08cNpYKpOGuJ952YHRWxkdOtekfBP9t/Q /hXrl/qHxw0 + zwx4gi04Rajpk0Wo2c9v4f1C0VpF1N7eWWX7WbeITSxI0RaOSPzIkLqrL1vh/9kC7 8Tazps + H7Rc+t2vgW5uFt4LTSNItrjT7SRw7LKp0x5LO7iXCgqXQgdlbICW/7Vnw9+AOq3cJ8O6L/ A + MKt1ELaaR8QfDOmmbUL1ysvmWzaOiGSFN8Uqbg5BG1vvMa/Nfr0cI4xqTS5tubZ9fTp3Pq61 + ZSf JbX7vz6ng37Vf7ct94/8U69eXlzrZ8OaPaQ3Fva3qSwXWrXl2m23a7LYMzyxb5zPycKW + znFfEXw0 +OXjr4W6/wCIvGXwk18W+qa9rRtLmJ41ktNRWLOyPyWGAI1kO1h0BIFfbX/BXfw + TrXxY8LeFfiB8 NZ1uvCdtZJCyWkBhnslnBaGZ967ijJJtww/c8g/eFfJ2i+BrPRvBej6faR + SR21szklgPnYtuLMRz tLseD0wAeldTxbziHvWt2X9eR5NXDyyDEOpCT5pWs3vY+hP2RvB3x + Q/bD8OTeKvH2rre6fa6nPaX Ftp8T2c0flOu2QtITkEs42r24q5+3Np83h650v4OfD13lu/F + bWy+JdQIeSa3sZZPMis1kzwZRG8r EcAKAetfWX/BG/wJbaL+yPpOq/KZ9dmuNRuV+8GdrqV + wRnvtUDNfOf7c2v2tj/wUK8eQ6ne6Z4Zj ENhAuoahKkVnYq2nWq72Zm2hiWfgr2rxsDk1CW + LVSWy18tD7bNM5rUsnUr/vJJa97/qca1xbXXxX 8B/D74fWqwWcV3FdX0UJCLBa2EfmJEB90 + OZfK5PACe9cb+1t8Stf+CPxVv49C1S1srix0a6WO4lQ YWC5uNsAEX3GJkjJKgYG0N2zWX8e + vCOlfCGxtdH8IeJTrPirxvbT6asenSC7kMNyYmuJYViAzvRX +Yv/ABAdsDJ8afsMfFT4lXJ + 8f+M9OjuNNQWmm6XFd3gl3W4EdqkkoQnHyuSwz1znnNfSY3MYYWLi 3Z36P/I/NsBlVbMmpU + 4N730/zPoD9lme3+CHhrw82oa82gazLYAS6e97HLJZRzItxPcvcKdsAWV3 cg4bEx5YsFHrH + g3/AIK7eFPC/hq1sNC1b4lala2wZUuobOK2inyxJaKOa4WQRkk7d6hiu0kc1u/s /f8ABule + 6n8Ira/8efEK+t/Eh23Mdvp9pFNpKyhi6vJFOn79gcfeY4IOMcVynif/AIJb/teeHNfu rLw + t4F+H/ibT7d8QapBcG0S8U87vJyQjckMAcbgcYHFdVLN3FJSjZdLxcr/cddfg/Ey96VnfopJ + W 9dV+Z+o/hr9n74XfDP4SP4j/AGE4rfNx5cNpY3us3iWVp5j70W5gMgkZVbG1SwxuOSydeC + /a+/Yq 1r49x2etfCSHTZrnStFXS9Q8Nx6VBptzDH5yTLPpt3bJGruJIm24ffGHbynQuwf4M + 1f4w+IPBf7S Og+HvDV1bW+kX+qNFcwGwt5DOvkyS/NI8ZcneAck56jOCRX2Z4t+OvjD4O/s + yazd/DTxDqWkzvf2 0QMUm5YldV3eWrZWMnJBZADjjOOK8auoVMP7KrH7nY9TEUFjLxm2103 + 0/Fo+a/B0t/4Z+HuoaV8U H1S41S2uLjSpm1m2CXbRoybVuFCIwYIwR3dQXZGbGDXzjrfgnw + 3+0L4m1b4XWF9p/hPx5ZD+1fCX iCKyilg8Q2iL++sbqLbmTy8krs/eFfKKn91Jn0n4v+MNW + 8QXF3rPiPU7/U9W1LVpLi7u724e5muX TyUQu0hJYKgCgHgKAAMCvnzwb/pn7T3w7up8+eni + GyCsvy7fkc8AcA/Owz1wcdABX59LMHgMV7Gk 3ZO2+uuuve1z9MynKaeKyymq9paW1R+m/wD + wT6/Z/T4M/s7aJ4fub6O5mtLaNBceWUMgKFshWJKZ 3fd7ZxX5Zf8ABfz4V3a/t0XOoaTcxR + 6d4i0LTLqQTymKKQpB5Dt83y7g0OcgdTk81+tHwZvZbCx8 qzby44Y2aNVAwmBxj0HJ46du1 + fAX/By7otq3hP4Ya00KnVLS9OkxXHO5bWSJZGix0I3ksCRlSzFS Nxz9tRq89BSkjwc4wvuu + nB2Stb8jwr/gi18KNJ1Xxh4v8SeILV7x9NvLaK2e6mVmDrE0kmGHX59o 47AZr9R/jt8V/AP + hb4I6jpN/fWMF1Fp3mBHOyN9rFo44iQBIwdFO0ZYZ4IHFfnh+yR4ftPBX7M3g PU/Csb2Woe + I7ZLzUp45W33cpdgXbJ64AHGOAB0r7Q8N3kknga484iQm3dcyKHIB3ZAJ6Z9q8atiW lJJan + pZTho0qUFJtrfsfor+z/wCKLfW/hno1ygB+1WUUyue4dQ3QgEDnof1616IbLzsMZbJcgcPa + F2/E7xn8q8D/AGLYwPBvhi3O4wvZQgoSSAAqYAz0HJ4FeH+Pfjl4suPGWotLrd2T5xHAUAAc + AAAc AACv0nhTLKvEkZWmoqKW6ueHxPmdLh5Qm4uXO3s7H//Z item3.X-ABDATE;type=pref:2000-12-31 item3.X-ABLabel:_$!<Anniversary>!$_ X-ABShowAs:COMPANY X-ABUID:73FD0F46-DE18-4F1F-AA2C-59E8738B4249\:ABPerson +UID:excellent-looking-uid-string +REV:YYYYMMDDTHHMMSSZ END:VCARD @@ -585,12 +596,11 @@ END:VCARD /caldav.php/user1/addressbook/andresenesq.vcf - "f6ae02ec1b5612fe4737092734d062c7" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:4.0 PRODID:-//ALAB//NOSGML Version 0.9//DE -REV;VALUE=date-time:20100623071522Z -UID:uid=andresenesq.1209158007\,ou=Contacts\,dc=andresen\,dc=de +UID:excellent-looking-uid-string X-ABUID:ADDEEFEF-162A-260A-DEA3-1DA8-8A913187\:ABPerson FN:Sven Joseph Klaus Michael Andresen\, Esq. SORT-STRING:Andresen\, Esq.\, Sven Joseph Klaus Michael @@ -599,264 +609,235 @@ X-DISPLAYNAME:Svenni X-INITIALS:SA X-INITIALS:SHA NICKNAME:Svenny,Sveny -PHOTO;ENCODING=b;TYPE=jpeg: - /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkS - Ew8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJ - CQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy - MjIyMjIyMjIyMjIyMjL/wAARCAFQATYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA - AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh - MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 - Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ - mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx - 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA - AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV - YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp - anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE - xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3 - +iiigAooooAKKKKACiiigAooooAKKKKACiiigAoorM17xBpnhnSZdT1a7S2tY/4m - 6seyqOpJ9BQBp1zuvePPC/hkMNW1q1glXrCrb5f++Fy36V5Hf+L/ABr8SXkj0hz4 - d8PMSFnOfPnX6jn8FwO2TU2i/DfwxpKq89r/AGjc9WluzuBP+7938wfrQBr3X7Q+ - gGRotK0XVr+QdPkVA305J/Ssyb45eKWbdb/D67WI9PMMrE/iIxXXQSQWsKxW8UcM - S9EjUKB+AqT7b70AeeXP7Q3iGxkUXnhKKDP8MryIT+Yq/Y/tLWDlRf8Ahu5hHcwX - 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 - ooooA//Z +PHOTO;ENCODING=b;TYPE=jpeg:/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHB + wcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zN + DL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM + jIyMjIyMjIyMjIyMjIyMjL/wAARCAFQATYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAA + AAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxF + DKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZW + mNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDx + MXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAA + AAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiM + oEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYW + VpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6w + sPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiig + AooooAKKKKACiiigAooooAKKKKACiiigAoorM17xBpnhnSZdT1a7S2tY/4m6seyqOpJ9BQBp + 1zuvePPC/hkMNW1q1glXrCrb5f++Fy36V5Hf+L/ABr8SXkj0hz4d8PMSFnOfPnX6jn8FwO2T + U2i/DfwxpKq89r/AGjc9WluzuBP+7938wfrQBr3X7Q+gGRotK0XVr+QdPkVA305J/Ssyb45e + KWbdb/D67WI9PMMrE/iIxXXQSQWsKxW8UcMS9EjUKB+AqT7b70AeeXP7Q3iGxkUXnhKKDP8M + ryIT+Yq/Y/tLWDlRf8Ahu5hHcwXKyfoVX+ddk9ykiFHCsp6qwyDXJa54B8Ma4Hd7BbS4b/lt + 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 + //Z X-SPOUSE:Manuela Graf X-EVOLUTION-SPOUSE:Manuela Graf item1.X-ABRELATEDNAMES:Manuela Graf @@ -923,10 +904,10 @@ TEL;TYPE=MODEM:+49 7363 6363 TEL;X-EVOLUTION-TTYTDD:+49 3377 37 373 TEL;X-EVOLUTION-TTYTDD:+49 8378 33 TEL;X-QUICKDIAL:13355 -ADR;TYPE=WORK;CHARSET=utf-8:PO 373;Andresen AG\, R&D;Messegasse 7;Passau;Ba - yern;94036;Deutschland -ADR;TYPE=WORK;CHARSET=utf-8:6266 AA;andresen Holding\, Geschäftsleitung;Wei - senstraße 13;Irgendwo;Niedersachsen;34332 +ADR;TYPE=WORK;CHARSET=utf-8: + PO 373;Andresen AG\, R&D;Messegasse 7;Passau;Bayern;94036;Deutschland +ADR;TYPE=WORK;CHARSET=utf-8:6266 AA;andresen Holding\, Geschäftsleitung; + Weisenstraße 13;Irgendwo;Niedersachsen;34332 ADR;TYPE=HOME;CHARSET=utf-8:;;Weisenstraße 13\r;Irgendwo;;34332 ADR;TYPE=X-OTHER:;;Irgendwo;Nirgendwo;Sonstwo;0000;Antarktis ORG:andresen AG;R&D;;XXX\, 033 @@ -945,36 +926,32 @@ item10.URL;TYPE=HOME:http://www.andresen.de/~andresen item10.X-ABLabel:_$!<HomePage>!$_ X-BUSINESS-CATEGORY:IT X-BUSINESS-CATEGORY:Development -KEY;ENCODING=b;TYPE=X-CERT: - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR2RENDQXlXZ0F3SUJBZ0lK - QUpUeXNHNDV0V3BZTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUdiTVFzd0NRWUQKVlFR - R0V3SkJWVEVUTUJFR0ExVUVDQk1LVTI5dFpTMVRkR0YwWlRFTk1Bc0dBMVVFQnhN - RVEybDBlVEVoTUI4RwpBMVVFQ2hNWVNXNTBaWEp1WlhRZ1YybGtaMmwwY3lCUWRI - a2dUSFJrTVF3d0NnWURWUVFMRkFOU0prUXhGakFVCkJnTlZCQU1URFZOMlpXNGdR - VzVrY21WelpXNHhIekFkQmdrcWhraUc5dzBCQ1FFV0VITjJaVzVBWVc1a2NtVnoK - Wlc0dVpHVXdIaGNOTVRBd05qSXpNRGd5T0RFNFdoY05NVEV3TmpJek1EZ3lPREU0 - V2pDQm16RUxNQWtHQTFVRQpCaE1DUVZVeEV6QVJCZ05WQkFnVENsTnZiV1V0VTNS - aGRHVXhEVEFMQmdOVkJBY1RCRU5wZEhreElUQWZCZ05WCkJBb1RHRWx1ZEdWeWJt - VjBJRmRwWkdkcGRITWdVSFI1SUV4MFpERU1NQW9HQTFVRUN4UURVaVpFTVJZd0ZB - WUQKVlFRREV3MVRkbVZ1SUVGdVpISmxjMlZ1TVI4d0hRWUpLb1pJaHZjTkFRa0JG - aEJ6ZG1WdVFHRnVaSEpsYzJWdQpMbVJsTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVB - QTRHTkFEQ0JpUUtCZ1FDdEtPWnJBOXBjdjJWUVpkSEg4YmhhCmZqMlZWMW9Hakxj - Tkt3MktWVkJ6anphQVlyaU9HcnBNWDdhcW1oL3pjNHhBMTVDc1JJYjJoQXpPcDlT - eldvQ00KbXhZcFN5eG8rbUJHUGRYOVcvTStYcStSYUtGSURpdHZyL0xBb2I5N0ov - eWp5R0JDYU4vdExvdG9ZN3F5TjAxUQpWTkRYNkJkcS9GZTFjcUdhcnFvdzNRSURB - UUFCbzRJQkJEQ0NBUUF3SFFZRFZSME9CQllFRkhNaFBPR255aENtCmxWcHlCZHhC - TVczZ2drbS9NSUhRQmdOVkhTTUVnY2d3Z2NXQUZITWhQT0dueWhDbWxWcHlCZHhC - TVczZ2drbS8Kb1lHaHBJR2VNSUdiTVFzd0NRWURWUVFHRXdKQlZURVRNQkVHQTFV - RUNCTUtVMjl0WlMxVGRHRjBaVEVOTUFzRwpBMVVFQnhNRVEybDBlVEVoTUI4R0Ex - VUVDaE1ZU1c1MFpYSnVaWFFnVjJsa1oybDBjeUJRZEhrZ1RIUmtNUXd3CkNnWURW - UVFMRkFOU0prUXhGakFVQmdOVkJBTVREVk4yWlc0Z1FXNWtjbVZ6Wlc0eEh6QWRC - Z2txaGtpRzl3MEIKQ1FFV0VITjJaVzVBWVc1a2NtVnpaVzR1WkdXQ0NRQ1U4ckJ1 - T2JWcVdEQU1CZ05WSFJNRUJUQURBUUgvTUEwRwpDU3FHU0liM0RRRUJCUVVBQTRH - QkFGcnVidGpoWVB1RERHVVpQRTQraUo2a3FmdEtXWDFJVzdmTXdtc3BRUWt5CitX - UThSL3AxbURrc3ZEQ3hDYWp2YVduSVI2dGIwbmtCMTFFNmQ0dDhkMkxWTTE4M3dD - UWJtMDRJS05mdkRKOXQKUE4vdHBVTkJrc0VkaXBlMEM1SEgyMnY0RitSSzVUK1lq - M1J6VHZmOTdROVMzTzF3eE5lZkt0NXVUNFFxNUZtdAotLS0tLUVORCBDRVJUSUZJ - Q0FURS0tLS0tCg== +KEY;ENCODING=b;TYPE=X-CERT:LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR2R + ENDQXlXZ0F3SUJBZ0lKQUpUeXNHNDV0V3BZTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUdiTVFzd + 0NRWUQKVlFRR0V3SkJWVEVUTUJFR0ExVUVDQk1LVTI5dFpTMVRkR0YwWlRFTk1Bc0dBMVVFQ + nhNRVEybDBlVEVoTUI4RwpBMVVFQ2hNWVNXNTBaWEp1WlhRZ1YybGtaMmwwY3lCUWRIa2dUS + FJrTVF3d0NnWURWUVFMRkFOU0prUXhGakFVCkJnTlZCQU1URFZOMlpXNGdRVzVrY21WelpXN + HhIekFkQmdrcWhraUc5dzBCQ1FFV0VITjJaVzVBWVc1a2NtVnoKWlc0dVpHVXdIaGNOTVRBd + 05qSXpNRGd5T0RFNFdoY05NVEV3TmpJek1EZ3lPREU0V2pDQm16RUxNQWtHQTFVRQpCaE1DU + VZVeEV6QVJCZ05WQkFnVENsTnZiV1V0VTNSaGRHVXhEVEFMQmdOVkJBY1RCRU5wZEhreElUQ + WZCZ05WCkJBb1RHRWx1ZEdWeWJtVjBJRmRwWkdkcGRITWdVSFI1SUV4MFpERU1NQW9HQTFVR + UN4UURVaVpFTVJZd0ZBWUQKVlFRREV3MVRkbVZ1SUVGdVpISmxjMlZ1TVI4d0hRWUpLb1pJa + HZjTkFRa0JGaEJ6ZG1WdVFHRnVaSEpsYzJWdQpMbVJsTUlHZk1BMEdDU3FHU0liM0RRRUJBU + VVBQTRHTkFEQ0JpUUtCZ1FDdEtPWnJBOXBjdjJWUVpkSEg4YmhhCmZqMlZWMW9HakxjTkt3M + ktWVkJ6anphQVlyaU9HcnBNWDdhcW1oL3pjNHhBMTVDc1JJYjJoQXpPcDlTeldvQ00KbXhZc + FN5eG8rbUJHUGRYOVcvTStYcStSYUtGSURpdHZyL0xBb2I5N0oveWp5R0JDYU4vdExvdG9ZN + 3F5TjAxUQpWTkRYNkJkcS9GZTFjcUdhcnFvdzNRSURBUUFCbzRJQkJEQ0NBUUF3SFFZRFZSM + E9CQllFRkhNaFBPR255aENtCmxWcHlCZHhCTVczZ2drbS9NSUhRQmdOVkhTTUVnY2d3Z2NXQ + UZITWhQT0dueWhDbWxWcHlCZHhCTVczZ2drbS8Kb1lHaHBJR2VNSUdiTVFzd0NRWURWUVFHR + XdKQlZURVRNQkVHQTFVRUNCTUtVMjl0WlMxVGRHRjBaVEVOTUFzRwpBMVVFQnhNRVEybDBlV + EVoTUI4R0ExVUVDaE1ZU1c1MFpYSnVaWFFnVjJsa1oybDBjeUJRZEhrZ1RIUmtNUXd3CkNnW + URWUVFMRkFOU0prUXhGakFVQmdOVkJBTVREVk4yWlc0Z1FXNWtjbVZ6Wlc0eEh6QWRCZ2txa + GtpRzl3MEIKQ1FFV0VITjJaVzVBWVc1a2NtVnpaVzR1WkdXQ0NRQ1U4ckJ1T2JWcVdEQU1CZ + 05WSFJNRUJUQURBUUgvTUEwRwpDU3FHU0liM0RRRUJCUVVBQTRHQkFGcnVidGpoWVB1RERHV + VpQRTQraUo2a3FmdEtXWDFJVzdmTXdtc3BRUWt5CitXUThSL3AxbURrc3ZEQ3hDYWp2YVduS + VI2dGIwbmtCMTFFNmQ0dDhkMkxWTTE4M3dDUWJtMDRJS05mdkRKOXQKUE4vdHBVTkJrc0Vka + XBlMEM1SEgyMnY0RitSSzVUK1lqM1J6VHZmOTdROVMzTzF3eE5lZkt0NXVUNFFxNUZtdAotL + S0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== CALURI:http://caldav.andresen.local/sja FBURL:http://caldav.andresen.local/freebusy CAPURI:http://caldav.andresen.local/access @@ -983,6 +960,7 @@ X-DESCRIPTION:Beschreibung X-DESCRIPTION;CHARSET=utf-8:außerdem NOTE:Nur so ein Test! CATEGORIES:bla,blubb,test,hihi,oops +REV:YYYYMMDDTHHMMSSZ END:VCARD @@ -993,12 +971,11 @@ END:VCARD /caldav.php/user1/addressbook/hans_dieter.vcf - "db3e92c0ae37268c647949367e2030cc" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:4.0 PRODID:-//ALAB//NOSGML Version 0.9//DE -REV;VALUE=date-time:20090124123353Z -UID:uid=schmidt.1208717693\,ou=Contacts\,dc=andresen\,dc=de +UID:excellent-looking-uid-string X-ABUID:A93F52CB-C15F-1F34-2C49-7A67-0971277F\:ABPerson FN:Hans Dieter Schmidt SORT-STRING:Schmidt\, Hans Dieter @@ -1086,14 +1063,14 @@ TEL;TYPE=X-EVOLUTION-RADIO:+49 9872 349 832 TEL;TYPE=X-EVOLUTION-RADIO:+49 9872 394 872 34 TEL;TYPE=X-EVOLUTION-TELEX:+49 38 288 228 82 TEL;TYPE=X-EVOLUTION-TELEX:+49 7722 88 28 282 -TEL;TYPE=MAIN:+49 6237 623 723 84 76 +TEL;TYPE=MAIN:+49 6237 623 723 84 76 TEL;TYPE=MAIN:+49 9324 32 479 234234 TEL;X-EVOLUTION-CALLBACK:+49 8383 73 723 TEL;TYPE=MODEM:+49 8383 73 723 TEL;X-EVOLUTION-TTYTDD:+49 7373 73 TEL;X-EVOLUTION-TTYTDD:+49 8378 33 -ADR;TYPE=WORK;CHARSET=utf-8:;Uni Harburg\, -;Innstraße 71;Hamburg-Harburg; - Hamburg;21373;Deutschland +ADR;TYPE=WORK;CHARSET=utf-8: + ;Uni Harburg\, -;Innstraße 71;Hamburg-Harburg;Hamburg;21373;Deutschland ADR;TYPE=HOME;CHARSET=utf-8:;;Weisestraße 13\r;Irgendwo;;33443 ADR;TYPE=X-OTHER:;;Nirgendwo ORG:Uni Harburg;;;033 @@ -1109,6 +1086,7 @@ CALADRURI:http://davical.hadi-schmist.home/access X-DESCRIPTION:Beschreibung X-DESCRIPTION;CHARSET=utf-8:außerdem CATEGORIES:uni +REV:YYYYMMDDTHHMMSSZ END:VCARD @@ -1119,7 +1097,7 @@ END:VCARD /caldav.php/user1/addressbook/J%C3%B6rg_Test-Ro%C3%9Fdeutscher_2_0.vcf - "feaa1a28c9942fc56403e2f97f75171b" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:2.1 N;CHARSET=UTF-8:Test-Roßdeutscher;Jörg;;; @@ -1134,10 +1112,13 @@ TEL;CELL:017799999978200 TEL;HOME:040999999793017 ADR;WORK;CHARSET=UTF-8:;;abcStraße 58;Hamburg;;20357;Deutschland ADR;HOME:;;Gayens Weg 9;Hamburg;;22761;Deutschland -NOTE;CHARSET=UTF-8:Technik\, Web\, DTP\, SysAdmin\, €-Vermögensverwalter +NOTE;CHARSET=UTF-8: + Technik\, Web\, DTP\, SysAdmin\, €-Vermögensverwalter URL;type=pref:www.gesindel.baz URL:www.factordesign.foo BDAY;value=date:1969-06-20 +UID:excellent-looking-uid-string +REV:YYYYMMDDTHHMMSSZ END:VCARD @@ -1148,13 +1129,14 @@ END:VCARD /caldav.php/user1/addressbook/J%C3%B6rg_Test-Ro%C3%9Fdeutscher_3_0.vcf - "5a32961b9938a7d6a354a757a8a1ea36" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> BEGIN:VCARD VERSION:3.0 N:Test-Roßdeutscher;Jörg;;; FN:Jörg Test-Roßdeutscher ORG:Factor Design AG; -EMAIL;type=INTERNET;type=WORK;type=pref:joerg.rossdeutscher@factordesign.foo +EMAIL;TYPE=INTERNET;TYPE=WORK;TYPE=pref: + joerg.rossdeutscher@factordesign.foo EMAIL;type=INTERNET;type=WORK:joerg@factordesign.foo EMAIL;type=INTERNET;type=HOME:joerg.rossdeutscher@gesindel.foo EMAIL;type=INTERNET;type=HOME:raettchen@gmail.bar @@ -1172,6 +1154,8 @@ item4.URL:www.factordesign.foo item4.X-ABLabel:_$!<HomePage>!$_ BDAY;value=date:1969-06-20 X-ABUID:58AB933D-81D3-4095-8CB5-A63431AC934D\:ABPerson +UID:excellent-looking-uid-string +REV:YYYYMMDDTHHMMSSZ END:VCARD diff --git a/testing/tests/carddav/2031-REPORT-addressbook-multiget.test b/testing/tests/carddav/2031-REPORT-addressbook-multiget.test index eaafc45a..b6013a75 100644 --- a/testing/tests/carddav/2031-REPORT-addressbook-multiget.test +++ b/testing/tests/carddav/2031-REPORT-addressbook-multiget.test @@ -23,3 +23,7 @@ BEGINDATA ENDDATA +REPLACE=/"[0-9a-f]{32}"<.get.tag>/"deadbeefcafef00ddeadbeefcafefeed"<.get?tag>/ +REPLACE=/^UID:.+/UID:excellent-looking-uid-string/ +REPLACE=/^REV:\d{8}T\d{6}Z/REV:YYYYMMDDTHHMMSSZ/ +REPLACE=/^ETag: "[0-9a-f]+"\s$/ETag: "a fine looking etag"/ diff --git a/testing/tests/carddav/2039-REPORT-sync-changed.result b/testing/tests/carddav/2039-REPORT-sync-changed.result index d0902bdb..c530c2ec 100644 --- a/testing/tests/carddav/2039-REPORT-sync-changed.result +++ b/testing/tests/carddav/2039-REPORT-sync-changed.result @@ -2,7 +2,7 @@ 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, calendar-proxy, bind, addressbook, calendar-auto-schedule -ETag: "6c643c2bb832c75fb7417ba9e47269f0" +ETag: "a fine looking etag" Content-Length: 1794 Content-Type: text/xml; charset="utf-8" @@ -12,7 +12,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/andresenesq.vcf - "f6ae02ec1b5612fe4737092734d062c7" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK @@ -21,7 +21,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/F06EC844-EACD-4ADF-8823-588603991E04-ABSPlugin.vcf - "0ea4d7759e103090c6494505b5da0f11" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK @@ -30,7 +30,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/hans_dieter.vcf - "db3e92c0ae37268c647949367e2030cc" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK @@ -39,7 +39,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/J%C3%B6rg_Test-Ro%C3%9Fdeutscher_2_0.vcf - "feaa1a28c9942fc56403e2f97f75171b" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK @@ -48,7 +48,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/J%C3%B6rg_Test-Ro%C3%9Fdeutscher_3_0.vcf - "5a32961b9938a7d6a354a757a8a1ea36" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK @@ -57,7 +57,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/mustrmahn.vcf - "e67537e9d473e93911eccd6e63e9ac3a" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK @@ -66,7 +66,7 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/addressbook/van_houtte.vcf - "d43780719361367f2d690f1f966e3da1" + "deadbeefcafef00ddeadbeefcafefeed"<.get?tag> HTTP/1.1 200 OK diff --git a/testing/tests/carddav/2039-REPORT-sync-changed.test b/testing/tests/carddav/2039-REPORT-sync-changed.test index f1df664e..01c3f7aa 100644 --- a/testing/tests/carddav/2039-REPORT-sync-changed.test +++ b/testing/tests/carddav/2039-REPORT-sync-changed.test @@ -17,3 +17,5 @@ BEGINDATA ENDDATA +REPLACE=/"[0-9a-f]{32}"<.get.tag>/"deadbeefcafef00ddeadbeefcafefeed"<.get?tag>/ +REPLACE=/^ETag: "[0-9a-f]+"\s$/ETag: "a fine looking etag"/