From 18c19b8fad1b94d69b08d6eec0c31e40caeb0372 Mon Sep 17 00:00:00 2001 From: Andrew Ruthven Date: Sun, 24 Jan 2021 20:59:42 +1300 Subject: [PATCH 1/7] Test case for awl-fix_abookquery_negated_propnotdef --- .../2041-REPORT-addressbook-query.result | 504 ++++++++++++++++++ .../2041-REPORT-addressbook-query.test | 46 ++ .../0230-Moz-REPORT-Tasks-Completed.result | 28 +- 3 files changed, 552 insertions(+), 26 deletions(-) create mode 100644 testing/tests/carddav/2041-REPORT-addressbook-query.result create mode 100644 testing/tests/carddav/2041-REPORT-addressbook-query.test diff --git a/testing/tests/carddav/2041-REPORT-addressbook-query.result b/testing/tests/carddav/2041-REPORT-addressbook-query.result new file mode 100644 index 00000000..19f38610 --- /dev/null +++ b/testing/tests/carddav/2041-REPORT-addressbook-query.result @@ -0,0 +1,504 @@ + + + + /caldav.php/user1/addressbook/andresenesq.vcf + + + some valid etag + BEGIN:VCARD +VERSION:4.0 +PRODID:-//ALAB//NOSGML Version 0.9//DE +UID:a nice UID +X-ABUID:ADDEEFEF-162A-260A-DEA3-1DA8-8A913187:ABPerson +FN:Sven Joseph Klaus Michael Andresen\, Esq. +SORT-STRING:Andresen\, Esq.\, Sven Joseph Klaus Michael +N:Andresen\,Esq.;Sven;Joseph\,Klaus\,Michael;;Dr.\,Prof.;Esq. +X-DISPLAYNAME:Svenni +X-INITIALS:SA +X-INITIALS:SHA +NICKNAME:Svenny\,Sveny +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 +ITEM1.X-ABLABEL:_$!<Spouse>!$_ +ITEM2.X-ABRELATEDNAMES:Manager +ITEM2.X-ABLABEL:_$!<Manager>!$_ +ITEM3.X-ABRELATEDNAMES:Aufsichtsrat +ITEM3.X-ABLABEL:_$!<Manager>!$_ +ITEM4.X-ABRELATEDNAMES:Barbara Jonas +ITEM4.X-ABLABEL:_$!<Assistant>!$_ +ITEM5.X-ABRELATEDNAMES:Dominik Maller +ITEM5.X-ABLABEL:_$!<Assistant>!$_ +ROLE:CTO +ROLE:Vorstand +X-MANAGER:Manager +X-MANAGER:Aufsichtsrat +X-EVOLUTION-MANAGER:Manager +X-EVOLUTION-MANAGER:Aufsichtsrat +X-ASSISTANT:Babsi +X-ASSISTANT:Dominik +X-EVOLUTION-ASSISTANT:Barbara Jonas +X-EVOLUTION-ASSISTANT:Dominik Müller +BDAY;VALUE=date:1971-06-21 +X-ANNIVERSARY:2000-01-01\, Testfeier +X-ANNIVERSARY:2003-2-2\, Blafeier +X-EVOLUTION-ANNIVERSARY:2000-01-01\, Testfeier +X-EVOLUTION-ANNIVERSARY:2003-2-2\, Blafeier +IMPP:aim:balbala +IMPP:aim:hakunamatata +X-AIM:balbala +X-AIM:hakunamatata +EMAIL;TYPE=INTERNET:sven@andresen.de +EMAIL;TYPE=INTERNET:andresen@andresen.de +TEL;TYPE=WORK,VOICE:+49 89 11 11 111 +TEL;TYPE=WORK,VOICE:+49 234 222 222 +TEL;TYPE=WORK,FAX:+49 7373 73 +TEL;TYPE=PAGER:+49 160 073 727 272 +TEL;TYPE=PAGER:+49 2626 26 +TEL;TYPE=CELL,VOICE:+49 39292 82 +TEL;TYPE=CELL,VOICE:+49 7272 722 +TEL;TYPE=PREF,VOICE:+49 12 34 567 +TEL;TYPE=CAR,VOICE:+49 8292 38 383 +TEL;TYPE=HOME,VOICE:+49 7327 272 727 +TEL;TYPE=HOME,VOICE:+49 7272 7282 +TEL;TYPE=HOME,FAX:+49 1010 1 +ITEM6.TEL;TYPE=VOICE:+49 8373 6262 +ITEM6.X-ABLABEL:_$!<Other>!$_ +ITEM7.TEL;TYPE=VOICE:+61 27 28 73 246 +ITEM7.X-ABLABEL:_$!<Other>!$_ +ITEM8.TEL;TYPE=FAX:+49 9382 3424 +ITEM8.X-ABLABEL:_$!<Other>!$_ +TEL;TYPE=ISDN:8797 +TEL;TYPE=ISDN:98732947234 +TEL;TYPE=X-EVOLUTION-RADIO:+49 88 298 723 498 32 +TEL;TYPE=X-EVOLUTION-RADIO:+49 9872 394 872 34 +TEL;TYPE=X-EVOLUTION-TELEX:+49 2763 382 882 28 82 +TEL;TYPE=X-EVOLUTION-TELEX:+49 7722 88 28 282 +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;X-EVOLUTION-CALLBACK:+49 7363 6363 +TEL;TYPE=MODEM:+49 8383 73 723 +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;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 ;Irgendwo;;34332 +ADR;TYPE=X-OTHER:;;Irgendwo;Nirgendwo;Sonstwo;0000;Antarktis +ORG:andresen AG;R&D;;XXX\, 033 +ORG;CHARSET=utf-8:andresen Holding;Geschäftsleitung;;-\, 0223 +X-HOUSE;TYPE=WORK:XXX +X-HOUSE;TYPE=WORK:- +X-ROOM;TYPE=WORK:033 +X-ROOM;TYPE=WORK:0223 +LABEL;TYPE=WORK:1. Stock\, links +LABEL;TYPE=WORK:oder rechts +URL;TYPE=WORK:http://www.andresen.de +URL;TYPE=WORK:http://www.andresens.de +ITEM9.URL;TYPE=HOME:http://www.zuhause.de +ITEM9.X-ABLABEL:_$!<HomePage>!$_ +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: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 +CALADRURI:http://caldav.andresen.local/access +X-DESCRIPTION:Beschreibung +X-DESCRIPTION;CHARSET=utf-8:außerdem +NOTE:Nur so ein Test! +CATEGORIES:bla,blubb,test,hihi,oops +REV:date +END:VCARD + + + HTTP/1.1 200 OK + + + + /caldav.php/user1/addressbook/hans_dieter.vcf + + + some valid etag + BEGIN:VCARD +VERSION:4.0 +PRODID:-//ALAB//NOSGML Version 0.9//DE +UID:a nice UID +X-ABUID:A93F52CB-C15F-1F34-2C49-7A67-0971277F:ABPerson +FN:Hans Dieter Schmidt +SORT-STRING:Schmidt\, Hans Dieter +N:Schmidt;Hans Dieter;;Dr.;Esq. +X-DISPLAYNAME:HaDi Schmidt +X-INITIALS:HW +NICKNAME:HaWe +X-SPOUSE:Maja Schultze +X-EVOLUTION-SPOUSE:Maja Schultze +ITEM1.X-ABRELATEDNAMES:Maja Schultze +ITEM1.X-ABLABEL:_$!<Spouse>!$_ +ITEM2.X-ABRELATEDNAMES:Barbara Jonas +ITEM2.X-ABLABEL:_$!<Assistant>!$_ +ITEM3.X-ABRELATEDNAMES:Klaus Timm +ITEM3.X-ABLABEL:_$!<Assistant>!$_ +ROLE:Projektleiter +X-ASSISTANT:Barbara Jonas +X-ASSISTANT:Klaus Timm +X-EVOLUTION-ASSISTANT:Barbara Jonas +X-EVOLUTION-ASSISTANT:Klaus Timm +BDAY;VALUE=date:1977-12-10 +BDAY;VALUE=date:1975-11-11 +DDAY;VALUE=date:2007-01-02 +X-DDAY;VALUE=date:2007-01-02 +X-ANNIVERSARY:2000-02-01\, +X-ANNIVERSARY:2001-02-02\, +X-EVOLUTION-ANNIVERSARY:2000-02-01\, +X-EVOLUTION-ANNIVERSARY:2001-02-02\, +X-EVOLUTION-BLOG-URL:blog.diesistmeineip.de +ITEM4.URL:blog.diesistmeineip.de +ITEM4.X-ABLABEL:_$!<Other>!$_ +URL;TYPE=WORK:http://www.tu-hh.de +URL;TYPE=WORK:http://www.telekom.de +ITEM5.URL;TYPE=HOME:http://www.hadi-schmidt.de +ITEM5.X-ABLABEL:_$!<HomePage>!$_ +IMPP:aim:477826262 +IMPP:aim:aaab3ttebb3 +IMPP:icq:972398472394 +IMPP:icq:8972364872634 +IMPP:ymsgr:mailaddr@yahoo.co.uk +IMPP:ymsgr:yahoo@yahootar.bla +IMPP:xmpp:jabjab187383 +IMPP:xmpp:jabberwookie@starwahrs.co.com +IMPP:msn:blablubb@langedomain.org +IMPP:msn:738246832746 +IMPP:skype:hadi.schmidt-skype +IMPP:skype:askjdhasd +IMPP:ichat:ichatichat +IMPP:ichat:second-ichat +IMPP:nm:netnetmeetings +IMPP:nm:vielleicht@eine.email.de +IMPP:gtalk:gooogletalk +IMPP:gtalk:googletalk2 +IMPP:sip:ipphon-addr.woauchimmer.de +X-AIM:balbala +X-AIM:hakunamatata +X-AIM;TYPE=WORK:972398472394 +X-AIM;TYPE=WORK:8972364872634 +X-ICQ:972398472394 +X-ICQ:8972364872634 +X-JABBER:jabjab187383 +X-JABBER:jabberwookie@starwahrs.co.com +X-MSN:blablubb@langedomain.org +X-MSN:738246832746 +X-SKYPE-USERNAME:hadi.schmidt-skype +X-SKYPE-USERNAME:askjdhasd +EMAIL;TYPE=INTERNET:ich@hadi-schmidt.de +EMAIL;TYPE=INTERNET:hadi@telekom-d.de +TEL;TYPE=WORK,VOICE:+49 9823 9084 +TEL;TYPE=WORK,VOICE:+49 234 234 234 +TEL;TYPE=WORK,FAX:+49 7373 73 +TEL;TYPE=PAGER:+49 2626 26 +TEL;TYPE=CELL,VOICE:+49 7272 722 +TEL;TYPE=PREF,VOICE:+49 12 34 567 +TEL;TYPE=CAR,VOICE:+49 8292 38 383 +TEL;TYPE=HOME,VOICE:+49 7327 272 727 +TEL;TYPE=HOME,FAX:+49 40 812 387 21 +ITEM6.TEL;TYPE=VOICE:+49 8373 6262 +ITEM6.X-ABLABEL:_$!<Other>!$_ +ITEM7.TEL;TYPE=VOICE:+49 7272 72 +ITEM7.X-ABLABEL:_$!<Other>!$_ +TEL;TYPE=ISDN:4234234235 +TEL;TYPE=ISDN:98732947234 +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 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=HOME;CHARSET=utf-8:;;Weisestraße 13 ;Irgendwo;;33443 +ADR;TYPE=X-OTHER:;;Nirgendwo +ORG:Uni Harburg;;;033 +X-ROOM;TYPE=WORK:033 +LABEL;TYPE=WORK:1. Stock\, links +LABEL;TYPE=WORK:oder rechts +X-BUSINESS-CATEGORY:IT +X-BUSINESS-CATEGORY:Development +CALURI:http://davical.hadi-schmist.home/hadi +FBURL:http://davical.hadi-schmist.home/freebusy +CAPURI:http://davical.hadi-schmist.home/cap +CALADRURI:http://davical.hadi-schmist.home/access +X-DESCRIPTION:Beschreibung +X-DESCRIPTION;CHARSET=utf-8:außerdem +CATEGORIES:uni +REV:date +END:VCARD + + + HTTP/1.1 200 OK + + + diff --git a/testing/tests/carddav/2041-REPORT-addressbook-query.test b/testing/tests/carddav/2041-REPORT-addressbook-query.test new file mode 100644 index 00000000..65e78ba9 --- /dev/null +++ b/testing/tests/carddav/2041-REPORT-addressbook-query.test @@ -0,0 +1,46 @@ +# +# Request a REPORT +# +# negate-condition should only return a result if the +# property exists on the vCard, and doesn't match. +# +# RFC 6352, section 10.5.1: +# +# ... +# A vCard property of the type specified by the "name" attribute +# exists, and the CARDDAV:prop-filter is empty, or it matches any +# specified CARDDAV:text-match or CARDDAV:param-filter +# conditions. +# ... +# +# This test should return all vCards with a FBURL property, except +# for Andrew McMillan. Currently there are two vCards which meet +# this restriction. +# +TYPE=REPORT +URL=http://regression.host/caldav.php/user1/addressbook/ + +HEADER=Accept: text/xml,application/xml +HEADER=Content-Type: text/xml +HEADER=Depth: 1 + +# HEAD + +BEGINDATA + + + + + + + + + andrew@morphoss.com + + + +ENDDATA + +REPLACE=_"[0-9a-f]+"_some valid etag_ +REPLACE=/^REV:.*$/REV:date/ +REPLACE=/^UID:.*$/UID:a nice UID/ diff --git a/testing/tests/regression-suite/0230-Moz-REPORT-Tasks-Completed.result b/testing/tests/regression-suite/0230-Moz-REPORT-Tasks-Completed.result index a6102620..df6302ec 100644 --- a/testing/tests/regression-suite/0230-Moz-REPORT-Tasks-Completed.result +++ b/testing/tests/regression-suite/0230-Moz-REPORT-Tasks-Completed.result @@ -2,36 +2,12 @@ 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: "8bfa1d55385dd1c0d877ba64358b56d4" -Content-Length: 1574 +ETag: "ad7855a9510df25e6c23b501a47f38ff" +Content-Length: 865 Content-Type: text/xml; charset="utf-8" - - /davical/caldav.php/user1/home/2178279a-aec2-471f-832d-1f6df6203f2f.ics - - - "509b0f0d8a3363379f9f5727f5dd74a0" - BEGIN:VCALENDAR -PRODID:-//Mozilla Calendar//NONSGML Sunbird//EN -VERSION:2.0 -BEGIN:VTODO -CREATED:20070805T200215Z -LAST-MODIFIED:20070805T201531Z -DTSTAMP:20070805T200215Z -UID:2178279a-aec2-471f-832d-1f6df6203f2f -SUMMARY:Incomplete\, uncancelled -X-MOZ-LOCATIONPATH:2178279a-aec2-471f-832d-1f6df6203f2f.ics -DESCRIPTION:This task is incomplete and has not been cancelled (has no - status at all) -END:VTODO -END:VCALENDAR - - - HTTP/1.1 200 OK - - /davical/caldav.php/user1/home/917b9e47-b748-4550-a566-657fbe672447.ics From 8239519ca37c68744ee17509871f766d0947c3b3 Mon Sep 17 00:00:00 2001 From: Florian Schlichting Date: Tue, 2 Feb 2021 23:11:30 +0800 Subject: [PATCH 2/7] Normalize "100 Continue" headers apache2 in bullseye has stopped sending these for some reason, but we want to be able to test in both newer and older environments --- testing/normalise_result | 4 ++++ testing/tests/binding/1030-PUT-whole-subcalendar.result | 2 -- testing/tests/carddav/2003-PUT-vcard.result | 2 -- testing/tests/carddav/2014-PUT-vcard.result | 2 -- testing/tests/carddav/2016-PUT-vcard.result | 2 -- testing/tests/carddav/2017-PUT-vcard.result | 2 -- testing/tests/carddav/2018-PUT-vcard.result | 2 -- testing/tests/ischedule/3050-PUT-with-attendees.result | 2 -- testing/tests/ischedule/3051-PUT-with-attendees.result | 2 -- .../0000-Setup-PUT-collection-nz_holidays.result | 2 -- .../0000-Setup-PUT-collection-us_holidays.result | 2 -- .../0000-Setup-PUT-collection-user3-utf8.result | 2 -- .../regression-suite/0000-Setup-PUT-collection-user3.result | 2 -- .../regression-suite/0000-Setup-PUT-collection-user4.result | 2 -- .../regression-suite/0000-Setup-PUT-collection-user5.result | 2 -- .../regression-suite/0000-Setup-PUT-collection-user6.result | 2 -- .../tests/regression-suite/0000-Setup-PUT-collection.result | 2 -- testing/tests/regression-suite/0104-Evo-PUT-1.result | 2 -- testing/tests/regression-suite/0233-Moz-PUT.result | 2 -- testing/tests/regression-suite/0515-iCal-PUT-VEVENT.result | 2 -- testing/tests/regression-suite/0548-iCal-PROPFIND.result | 2 -- testing/tests/regression-suite/0803-Mulberry-PUT-1.result | 2 -- testing/tests/regression-suite/0804-Mulberry-PUT-1.result | 2 -- testing/tests/regression-suite/0902-PUT-collection.result | 2 -- testing/tests/scheduling/3010-PUT-with-attendees.result | 2 -- testing/tests/scheduling/3032-PUT-iCal-with-attendees.result | 2 -- 26 files changed, 4 insertions(+), 50 deletions(-) diff --git a/testing/normalise_result b/testing/normalise_result index e7addb39..67b6460e 100755 --- a/testing/normalise_result +++ b/testing/normalise_result @@ -57,6 +57,10 @@ while( ) { /^Content-Type: / && $no_content && do { $_ = ""; }; + /^HTTP\/1\.1 100 Continue/ && do { + my $swallow_next_line_as_well = ; + next; + }; print; } diff --git a/testing/tests/binding/1030-PUT-whole-subcalendar.result b/testing/tests/binding/1030-PUT-whole-subcalendar.result index fb257cdc..03bfc26c 100644 --- a/testing/tests/binding/1030-PUT-whole-subcalendar.result +++ b/testing/tests/binding/1030-PUT-whole-subcalendar.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/carddav/2003-PUT-vcard.result b/testing/tests/carddav/2003-PUT-vcard.result index 58ba3614..1e22162d 100644 --- a/testing/tests/carddav/2003-PUT-vcard.result +++ b/testing/tests/carddav/2003-PUT-vcard.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/carddav/2014-PUT-vcard.result b/testing/tests/carddav/2014-PUT-vcard.result index 8d0f4a00..fcc35b80 100644 --- a/testing/tests/carddav/2014-PUT-vcard.result +++ b/testing/tests/carddav/2014-PUT-vcard.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 204 No Content Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/carddav/2016-PUT-vcard.result b/testing/tests/carddav/2016-PUT-vcard.result index 37a63723..e2a4050f 100644 --- a/testing/tests/carddav/2016-PUT-vcard.result +++ b/testing/tests/carddav/2016-PUT-vcard.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/carddav/2017-PUT-vcard.result b/testing/tests/carddav/2017-PUT-vcard.result index 55551b1a..904e0a7e 100644 --- a/testing/tests/carddav/2017-PUT-vcard.result +++ b/testing/tests/carddav/2017-PUT-vcard.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/carddav/2018-PUT-vcard.result b/testing/tests/carddav/2018-PUT-vcard.result index 535da179..da2a24df 100644 --- a/testing/tests/carddav/2018-PUT-vcard.result +++ b/testing/tests/carddav/2018-PUT-vcard.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/ischedule/3050-PUT-with-attendees.result b/testing/tests/ischedule/3050-PUT-with-attendees.result index fb3acc7b..12f197e8 100644 --- a/testing/tests/ischedule/3050-PUT-with-attendees.result +++ b/testing/tests/ischedule/3050-PUT-with-attendees.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT ETag: "2f9bb75f51266683f713f8d382a67bff" diff --git a/testing/tests/ischedule/3051-PUT-with-attendees.result b/testing/tests/ischedule/3051-PUT-with-attendees.result index bbd9cf6d..e82aa8a8 100644 --- a/testing/tests/ischedule/3051-PUT-with-attendees.result +++ b/testing/tests/ischedule/3051-PUT-with-attendees.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT ETag: "2f9bb75f51266683f713f8d382a67bff" diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-nz_holidays.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-nz_holidays.result index eee5f869..57f457d2 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-nz_holidays.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-nz_holidays.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-us_holidays.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-us_holidays.result index eee5f869..57f457d2 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-us_holidays.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-us_holidays.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user3-utf8.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-user3-utf8.result index 4f534d34..67b7eae5 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-user3-utf8.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user3-utf8.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user3.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-user3.result index 9de19173..01b1b57b 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-user3.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user3.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user4.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-user4.result index eee5f869..57f457d2 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-user4.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user4.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result index f621d68d..7bb00003 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user6.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-user6.result index 6dc4ce4c..87eae9f2 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection-user6.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user6.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection.result b/testing/tests/regression-suite/0000-Setup-PUT-collection.result index e6a1056e..5176d185 100644 --- a/testing/tests/regression-suite/0000-Setup-PUT-collection.result +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0104-Evo-PUT-1.result b/testing/tests/regression-suite/0104-Evo-PUT-1.result index 578d8b36..7172e1aa 100644 --- a/testing/tests/regression-suite/0104-Evo-PUT-1.result +++ b/testing/tests/regression-suite/0104-Evo-PUT-1.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0233-Moz-PUT.result b/testing/tests/regression-suite/0233-Moz-PUT.result index c853092a..b441c3fa 100644 --- a/testing/tests/regression-suite/0233-Moz-PUT.result +++ b/testing/tests/regression-suite/0233-Moz-PUT.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0515-iCal-PUT-VEVENT.result b/testing/tests/regression-suite/0515-iCal-PUT-VEVENT.result index fc8ff9a8..5c201ee8 100644 --- a/testing/tests/regression-suite/0515-iCal-PUT-VEVENT.result +++ b/testing/tests/regression-suite/0515-iCal-PUT-VEVENT.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0548-iCal-PROPFIND.result b/testing/tests/regression-suite/0548-iCal-PROPFIND.result index 870f59c7..b08d7470 100644 --- a/testing/tests/regression-suite/0548-iCal-PROPFIND.result +++ b/testing/tests/regression-suite/0548-iCal-PROPFIND.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - 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 diff --git a/testing/tests/regression-suite/0803-Mulberry-PUT-1.result b/testing/tests/regression-suite/0803-Mulberry-PUT-1.result index e9042fd2..ab92fc13 100644 --- a/testing/tests/regression-suite/0803-Mulberry-PUT-1.result +++ b/testing/tests/regression-suite/0803-Mulberry-PUT-1.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - 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 diff --git a/testing/tests/regression-suite/0804-Mulberry-PUT-1.result b/testing/tests/regression-suite/0804-Mulberry-PUT-1.result index 6d0080e4..7c02dac8 100644 --- a/testing/tests/regression-suite/0804-Mulberry-PUT-1.result +++ b/testing/tests/regression-suite/0804-Mulberry-PUT-1.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/regression-suite/0902-PUT-collection.result b/testing/tests/regression-suite/0902-PUT-collection.result index fbce37f5..2b313fba 100644 --- a/testing/tests/regression-suite/0902-PUT-collection.result +++ b/testing/tests/regression-suite/0902-PUT-collection.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/scheduling/3010-PUT-with-attendees.result b/testing/tests/scheduling/3010-PUT-with-attendees.result index ca01a6bd..65e62b64 100644 --- a/testing/tests/scheduling/3010-PUT-with-attendees.result +++ b/testing/tests/scheduling/3010-PUT-with-attendees.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 201 Created Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule diff --git a/testing/tests/scheduling/3032-PUT-iCal-with-attendees.result b/testing/tests/scheduling/3032-PUT-iCal-with-attendees.result index f85a166a..ec71606d 100644 --- a/testing/tests/scheduling/3032-PUT-iCal-with-attendees.result +++ b/testing/tests/scheduling/3032-PUT-iCal-with-attendees.result @@ -1,5 +1,3 @@ -HTTP/1.1 100 Continue - HTTP/1.1 204 No Content Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule From d6c1c87fc6787f0cdb307b977b21b51ca1f0a92f Mon Sep 17 00:00:00 2001 From: Florian Schlichting Date: Tue, 2 Feb 2021 21:38:13 +0800 Subject: [PATCH 3/7] CI: build and test on Debian unstable, then several stable releases relevant to our users stable releases currently include bullseye + buster + stretch; would be nice if we could add Fedora or Gentoo or Arch ... --- .gitlab-ci.yml | 155 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 874a9217..96ee701a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,15 @@ -image: php:apache-buster +stages: + - build + - test + - testall build: stage: build + image: debian:unstable script: - apt-get -y update - bash -c 'mkdir -p /usr/share/man/man{0..10}' - - apt-get -y install build-essential devscripts fakeroot dh-exec jdupes rst2pdf doxygen graphviz # todo build-dep instead, change this task's image to plain debian + - apt-get -y install build-essential devscripts fakeroot dh-exec jdupes doxygen graphviz php-cli - mv debian/changelog debian/changelog.old - > cat @@ -26,6 +30,103 @@ build: test: stage: test + image: debian:unstable + artifacts: + paths: + - testing/report.xml + - apache2_log/* + reports: + junit: testing/report.xml + when: + always + script: + - apt-get -y update + - bash -c 'mkdir -p /usr/share/man/man{0..10}' + - apt-get -y install locales + - echo "en_NZ.UTF-8 UTF-8" >> /etc/locale.gen + - locale-gen + - echo "LANG=en_NZ.UTF-8" > /etc/default/locale + - apt-get -y install libdbd-pg-perl libyaml-perl php php-cli php-pgsql php-xml postgresql-client postgresql libapache2-mod-php curl xmlstarlet + - curl 'https://gitlab.com/davical-project/awl/-/archive/master/awl-master.tar.gz' | tar zxf - + - mv awl-master /usr/share/awl/ + - chown -R www-data /usr/share/awl/ + - dpkg --ignore-depends=libawl-php -i *.deb + - echo '127.0.1.1 regression mycaldav myempty' >> /etc/hosts + - rm /etc/apache2/ports.conf /etc/apache2/sites-enabled/000-default.conf && touch /etc/apache2/ports.conf + - cp testing/apache-site.conf.example /etc/apache2/sites-enabled/davical-regression.conf + - sed -i 's/\/path\/to/\/usr\/share/g' /etc/apache2/sites-enabled/davical-regression.conf + - mkdir /usr/share/davical/testing/ + - cp testing/*.php /usr/share/davical/testing/ + - rm /etc/davical/config.php + - cp testing/regression-conf.php.example /etc/davical/regression-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/mycaldav-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/myempty-conf.php + - sed -i '/peer/d' /etc/postgresql/13/main/pg_hba.conf + - echo 'local all all trust' >> /etc/postgresql/13/main/pg_hba.conf + - pg_ctlcluster 13 main start + - su postgres -c 'createuser davical_dba --createdb --createrole --superuser' + - su postgres -c 'createuser davical_app --superuser' + - su postgres -c 'createuser testrunner --superuser' + - pg_ctlcluster 13 main restart + - a2enmod rewrite + - apache2ctl start + - useradd testrunner + - cd testing && su testrunner -c 'IS_CI=yes ALLSUITES="regression-suite binding carddav scheduling" ./run_regressions.sh all x' + after_script: + - cp -r /var/log/apache2 apache2_log + + +test_bullseye: + stage: testall + image: debian:bullseye + artifacts: + paths: + - testing/report.xml + - apache2_log/* + reports: + junit: testing/report.xml + when: + always + script: + - apt-get -y update + - bash -c 'mkdir -p /usr/share/man/man{0..10}' + - apt-get -y install locales + - echo "en_NZ.UTF-8 UTF-8" >> /etc/locale.gen + - locale-gen + - echo "LANG=en_NZ.UTF-8" > /etc/default/locale + - apt-get -y install libdbd-pg-perl libyaml-perl php php-cli php-pgsql php-xml postgresql-client postgresql libapache2-mod-php curl xmlstarlet + - curl 'https://gitlab.com/davical-project/awl/-/archive/master/awl-master.tar.gz' | tar zxf - + - mv awl-master /usr/share/awl/ + - chown -R www-data /usr/share/awl/ + - dpkg --ignore-depends=libawl-php -i *.deb + - echo '127.0.1.1 regression mycaldav myempty' >> /etc/hosts + - rm /etc/apache2/ports.conf /etc/apache2/sites-enabled/000-default.conf && touch /etc/apache2/ports.conf + - cp testing/apache-site.conf.example /etc/apache2/sites-enabled/davical-regression.conf + - sed -i 's/\/path\/to/\/usr\/share/g' /etc/apache2/sites-enabled/davical-regression.conf + - mkdir /usr/share/davical/testing/ + - cp testing/*.php /usr/share/davical/testing/ + - rm /etc/davical/config.php + - cp testing/regression-conf.php.example /etc/davical/regression-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/mycaldav-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/myempty-conf.php + - sed -i '/peer/d' /etc/postgresql/13/main/pg_hba.conf + - echo 'local all all trust' >> /etc/postgresql/13/main/pg_hba.conf + - pg_ctlcluster 13 main start + - su postgres -c 'createuser davical_dba --createdb --createrole --superuser' + - su postgres -c 'createuser davical_app --superuser' + - su postgres -c 'createuser testrunner --superuser' + - pg_ctlcluster 13 main restart + - a2enmod rewrite + - apache2ctl start + - useradd testrunner + - cd testing && su testrunner -c 'IS_CI=yes ALLSUITES="regression-suite binding carddav scheduling" ./run_regressions.sh all x' + after_script: + - cp -r /var/log/apache2 apache2_log + + +test_buster: + stage: testall + image: php:apache-buster artifacts: paths: - testing/report.xml @@ -72,3 +173,53 @@ test: - cd testing && su testrunner -c 'IS_CI=yes ALLSUITES="regression-suite binding carddav scheduling" ./run_regressions.sh all x' after_script: - cp -r /var/log/apache2 apache2_log + + +test_stretch: + stage: testall + image: php:apache-stretch + artifacts: + paths: + - testing/report.xml + - apache2_log/* + reports: + junit: testing/report.xml + when: + always + script: + - apt-get -y update + - bash -c 'mkdir -p /usr/share/man/man{0..10}' + - apt-get -y install locales + - echo "en_NZ.UTF-8 UTF-8" >> /etc/locale.gen + - locale-gen + - echo "LANG=en_NZ.UTF-8" > /etc/default/locale + - apt-get -y install libdbd-pg-perl libyaml-perl perl postgresql postgresql-client libpq-dev xmlstarlet + - curl 'https://gitlab.com/davical-project/awl/-/archive/master/awl-master.tar.gz' | tar zxf - + - mv awl-master /usr/share/awl/ + - chown -R www-data /usr/share/awl/ + - dpkg --ignore-depends=php,php-pgsql,php-xml,libawl-php,php-cli -i *.deb + - docker-php-ext-install -j$(nproc) pgsql + - docker-php-ext-install -j$(nproc) pdo_pgsql + - docker-php-ext-install -j$(nproc) calendar + - echo '127.0.1.1 regression mycaldav myempty' >> /etc/hosts + - cp testing/apache-site.conf.example /etc/apache2/sites-enabled/davical-regression.conf + - sed -i 's/\/path\/to/\/usr\/share/g' /etc/apache2/sites-enabled/davical-regression.conf + - mkdir /usr/share/davical/testing/ + - cp testing/*.php /usr/share/davical/testing/ + - rm /etc/davical/config.php + - cp testing/regression-conf.php.example /etc/davical/regression-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/mycaldav-conf.php + - ln -s /etc/davical/regression-conf.php /etc/davical/myempty-conf.php + - sed -i '/peer/d' /etc/postgresql/9.6/main/pg_hba.conf + - echo 'local all all trust' >> /etc/postgresql/9.6/main/pg_hba.conf + - pg_ctlcluster 9.6 main start + - su postgres -c 'createuser davical_dba --createdb --createrole --superuser' + - su postgres -c 'createuser davical_app --superuser' + - su postgres -c 'createuser testrunner --superuser' + - pg_ctlcluster 9.6 main restart + - a2enmod rewrite + - apache2ctl start + - useradd testrunner + - cd testing && su testrunner -c 'IS_CI=yes ALLSUITES="regression-suite binding carddav scheduling" ./run_regressions.sh all x' + after_script: + - cp -r /var/log/apache2 apache2_log From 39bfe88887237c705a0aab70dcdb8aacbb11c55b Mon Sep 17 00:00:00 2001 From: Florian Schlichting Date: Wed, 3 Feb 2021 21:09:19 +0800 Subject: [PATCH 4/7] CI: add build_buster_latestphp this helps to identify issues with new PHP versions before they appear in Debian note: debuild sanitizes PATH, needs --prepend-path=/usr/local/bin so that the (non-Debian) php cli can be found --- .gitlab-ci.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 96ee701a..5d1ba312 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -124,6 +124,31 @@ test_bullseye: - cp -r /var/log/apache2 apache2_log +build_buster_latestphp: + stage: testall + image: php:apache-buster + script: + - apt-get -y update + - bash -c 'mkdir -p /usr/share/man/man{0..10}' + - apt-get -y install build-essential devscripts fakeroot dh-exec jdupes doxygen graphviz + - mv debian/changelog debian/changelog.old + - > + cat + <(echo "davical ($(cat VERSION)-99~git$(date +"%Y%m%d")-$(git rev-parse --short $CI_COMMIT_SHA)) unstable; urgency=medium") + <(echo "") + <(echo " * Build on CI") + <(echo "") + <(echo " -- ${GITLAB_USER_NAME} <${GITLAB_USER_EMAIL}> $(date -R)") + <(echo "") + debian/changelog.old + >debian/changelog + - rm debian/changelog.old + - debuild --prepend-path=/usr/local/bin -us -uc -b -d + - 'mv ../davical_*_all.deb ./davical.deb' + artifacts: + paths: + - '*.deb' + test_buster: stage: testall image: php:apache-buster From f376be164eacf51d7354c728094e697ee2336218 Mon Sep 17 00:00:00 2001 From: Jan Hicken Date: Sun, 31 Jan 2021 11:46:32 +0100 Subject: [PATCH 5/7] Use brackets instead of curly braces for string offset access Curly braces have been deprecated in PHP 7.4 and unsupported in PHP 8.0. --- inc/check_UTF8.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/check_UTF8.php b/inc/check_UTF8.php index e3c93dbf..62dbfc00 100644 --- a/inc/check_UTF8.php +++ b/inc/check_UTF8.php @@ -67,7 +67,7 @@ function utf8ToUnicode(&$str) $len = strlen($str); for($i = 0; $i < $len; $i++) { - $in = ord($str{$i}); + $in = ord($str[$i]); if (0 == $mState) { // When mState is zero we expect either a US-ASCII character or a // multi-octet sequence. From 6cdbfcf226f0235a00206edfd119fcc90465a2b8 Mon Sep 17 00:00:00 2001 From: Jan Hicken Date: Sun, 31 Jan 2021 11:47:41 +0100 Subject: [PATCH 6/7] Add default value for errcontext variable in error handler function This variable is no longer passed in PHP 8.0. It cannot be removed however, because it would not be backwards compatible. --- htdocs/setup.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/setup.php b/htdocs/setup.php index 8b13d0ad..2a82dbf3 100644 --- a/htdocs/setup.php +++ b/htdocs/setup.php @@ -13,7 +13,7 @@ function log_setup_error($errno , $errstr , $errfile , $errline) { error_log('DAViCal setup.php: Informational: '.$errfile.'('.$errline.'): ['.$errno.'] '.$errstr); } -function catch_setup_errors($errno , $errstr , $errfile , $errline , $errcontext ) { +function catch_setup_errors($errno , $errstr , $errfile , $errline , $errcontext = null ) { if ( $errno == 2 ) { // A working installation will regularly fail to include_once() for several files as it searches for the location log_setup_error($errno , $errstr , $errfile , $errline); From 75f62a81f651066135cf517bff27b00846fd2820 Mon Sep 17 00:00:00 2001 From: Florian Schlichting Date: Wed, 3 Feb 2021 23:22:58 +0800 Subject: [PATCH 7/7] fix PHP8 deprecation warnings: "Required parameter X follows optional parameter Y" Deprecated: Required parameter $username follows optional parameter $attributes in inc/drivers_ldap.php on line 190 Deprecated: Required parameter $passwd follows optional parameter $attributes in inc/drivers_ldap.php on line 190 Deprecated: Required parameter $ua_string follows optional parameter $min_age in inc/external-fetch.php on line 42 As explained in https://www.php.net/manual/en/migration80.deprecated.php, If a parameter with a default value is followed by a required parameter, the default value has no effect. This is deprecated as of PHP 8.0.0 and can generally be resolved by dropping the default value, without a change in functionality --- inc/drivers_ldap.php | 6 ++++-- inc/external-fetch.php | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/inc/drivers_ldap.php b/inc/drivers_ldap.php index e59af74a..6e8c8089 100644 --- a/inc/drivers_ldap.php +++ b/inc/drivers_ldap.php @@ -180,14 +180,16 @@ class ldapDriver } /** - * Returns the result of the LDAP query + * Actually look up a user in the LDAP directory + * (this is the LDAP part of LDAP_check() below) * * @param string $filter The filter used to search entries * @param array $attributes Attributes to be returned + * @param string $username username to check * @param string $passwd password to check * @return array Contains selected attributes from all entries corresponding to the given filter */ - function requestUser( $filter, $attributes=NULL, $username, $passwd) { + function requestUser( $filter, $attributes, $username, $passwd) { global $c; $entry=NULL; diff --git a/inc/external-fetch.php b/inc/external-fetch.php index 599470c7..b124f6e5 100644 --- a/inc/external-fetch.php +++ b/inc/external-fetch.php @@ -39,7 +39,7 @@ function create_external ( $path,$is_calendar,$is_addressbook ) } } -function fetch_external ( $bind_id, $min_age = '1 hour', $ua_string ) +function fetch_external ( $bind_id, $min_age, $ua_string ) { if ( ! function_exists ( "curl_init" ) ) { dbg_error_log("external", "external resource cannot be fetched without curl, please install curl");