The test regression-suite/0549-iCal-REPORT was failing due to us not
keeping track of the proxy information when storing/fetching collections
from the cache.
Gosh. The logic was saying, if the modified date has a day of the
month > 28, change it to 28. Which is rather odd. Don't do that.
This closes#248. It also fixes a bug with FREQ=MONTHLY;BYMONTHDAY=-1
as it turns out.
* Add q to quit
* Loop if an invalid command is entered, instead of continuing
As part of this I converted the large if/elif/elif/.../fi to a case
statement, a bit easier to read.
With complex rules, it make take more than 10 expansions to find the
next valid date. Increase this to 100, it doesn't slow things down too
much.
I've also added some additional error logging if this issue occurs
again.
Closes#268.
This is causing a test to fail because we're being sent a gzip compressed
result. My reading of the curl manpage says that it should be decompressed
by curl, but it isn't. Let's just disable the deflate module. Here is what
we're getting:
Displaying diff for test 0548-iCal-PROPFIND
=======================================
--- tests/regression-suite/0548-iCal-PROPFIND.result 2022-12-10 00:43:52.898403110 +0000
+++ tests/regression-suite/results/0548-iCal-PROPFIND 2022-12-10 00:45:11.378242838 +0000
@@ -1,1233 +1,12 @@
-HTTP/1.1 207 Multi-Status
+HTTP/1.1 200 OK
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: "ae8aac5229a8a5d9ee7c86100322162d"
-Content-Length: 28703
-Content-Type: text/xml; charset="utf-8"
+Content-Encoding: gzip
+Content-Length: 2042
+Content-Type: text/html; charset=UTF-8
Previously the logic only set Pacific/Auckland if the date.timezone setting
on the PHP ini files wasn't set. Let's just always set it if we're processing
the test suite.
PHP 8.2 deprecates dynmically adding properties. See:
https://php.watch/versions/8.2/dynamic-properties-deprecated
This arbitary copying of all fields tickles these deprecation
warnings, and just below we copy exactly the fields we need.
I reckon this loop is redundant.
RFC 4791 clearly states in 7.10:
Only VEVENT components without a TRANSP property or with the TRANSP
property set to OPAQUE, and VFREEBUSY components SHOULD be considered
in generating the free busy time information.
Looking at fa67ef987e, this used to be VFREEBUSY until the refactoring, and
0886-REPORT-freebusy.test still had that.
Apparently we're not (yet) considering VAVAILABILITY (RFC 7953) here.