4023 Commits

Author SHA1 Message Date
Andrew Ruthven
ad1be4b640 Add CI for memcache 2023-01-18 00:11:57 +13:00
Andrew Ruthven
0cb7381c88 Keep track of proxy information for a Collection when using memcached
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.
2023-01-18 00:11:57 +13:00
Andrew Ruthven
7a3486563c Only cache a Principal if we've actually loaded something. 2023-01-18 00:11:57 +13:00
Andrew Ruthven
5db0622d65 Provide example configuration on using memcache. 2023-01-18 00:11:57 +13:00
Andrew Ruthven
0c2f55cd66 Update the ChangeLog for my fixes over the past week 2023-01-18 00:10:46 +13:00
Andrew Ruthven
713f8dafdf Copy the log artifacts into unique directories per test 2023-01-08 12:46:29 +13:00
Andrew Ruthven
a054d16390 Mass tidy up of whitespace in sample config. 2023-01-08 12:46:19 +13:00
Andrew Ruthven
c9ac75173b Allow the tester to hit N or n to continue 2023-01-08 12:13:32 +13:00
Andrew Ruthven
2791d7b8c3 Update the ChangeLog for my fixes over the past week 2023-01-08 12:13:32 +13:00
Andrew Ruthven
6abf645d00 Fix minor typo 2022-12-30 17:41:30 +13:00
Andrew Ruthven
a323ba8dae Don't change the day of the month to 28, if it is > 28
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.
2022-12-18 13:52:48 +13:00
Andrew Ruthven
6e68c221e9 Add more logging to investigate the 28th problem on issue #248
I reckon this is useful logging to have, keep it around.
2022-12-18 13:52:48 +13:00
Andrew Ruthven
7d0e2f2435 Test Free/Busy results for MONTHLY with BYMONTHDAY
Tests https://gitlab.com/davical-project/davical/-/issues/248
2022-12-18 13:52:48 +13:00
Andrew Ruthven
64f47fd9e6 Tests for MONTHLY recurrence where DTSTART is on the 29th of Feb
Each of the recurring events should also be on the 29th. Currently
these tests fail as the generated events are on the 28th. Oops.
2022-12-18 13:52:48 +13:00
Andrew Ruthven
7b2fa34f73 Reenable N being a default 2022-12-17 22:01:03 +13:00
Andrew Ruthven
45c74a628b Improvements to run_regressions.sh options
* 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.
2022-12-17 15:40:06 +13:00
Andrew Ruthven
7a8c7b5b25 Convert loop_limit to a config item 2022-12-15 20:50:44 +00:00
Andrew Ruthven
513db6b8d1 Remove a stray space 2022-12-15 20:50:44 +00:00
Andrew Ruthven
d93a5196b8 Increase loop limit for finding next instance for Recurrence Rules.
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.
2022-12-15 20:50:44 +00:00
Andrew Ruthven
0fdb3ff558 Add more logging to try and find the root cause for issue 268 2022-12-15 20:50:44 +00:00
Andrew Ruthven
3909ec52f1 Convert RRule debugging to use dbg_error_log
This stops the debugging from being sent to stdout, which goes to the client and
mucks up the test results.
2022-12-15 20:50:44 +00:00
Andrew Ruthven
80102c2700 initial tests for issue 268 2022-12-15 20:50:44 +00:00
Andrew Ruthven
a5d19142bb Fix typo 2022-12-15 22:56:47 +13:00
Andrew Ruthven
0750dd27a1 Another test result to update 2022-12-15 15:09:17 +13:00
Andrew Ruthven
3c1d39ff85 Ensure the test suite exists before operating on it.
I kept on making typos, so ended up with random directories, this should
stop that from happening in future.
2022-12-14 23:58:49 +13:00
Andrew Ruthven
fc09febad2 Update tests now that we don't inherit the DB from previous directory 2022-12-14 09:52:35 +13:00
Andrew Ruthven
692c20eec6 Don't inherit DB from previous test set 2022-12-14 08:53:32 +13:00
Piotr Filip
f29af80116 delete collection by id 2022-12-13 00:30:27 +00:00
Bill McGonigle
abbb6e5e70 support php_fpm under Apache 2.4 (missing PATH_INFO with Apache handler). 2022-12-13 00:12:44 +00:00
Andrew Ruthven
7d2bbeb37c Update regression tests that hit index.php for new CSP 2022-12-13 12:57:41 +13:00
Andrew Ruthven
ffe5ed24ad Add Content-Security-Policy header to sample Apache2 config files
We now support running with a strict self CSP, let's provide that!
2022-12-13 12:57:41 +13:00
Piotr Filip
35641b099a refactor scripts to allow operation with Content-Security-Policy: script-src 'self' 2022-12-12 21:32:57 +00:00
ruliane
43bda7a5ba Fix error when $icfg is not set. 2022-12-12 21:13:49 +00:00
ruliane
19ec6fd2fb Fix PHP Notice: Undefined variable: body in /usr/share/davical/inc/iSchedule.php on line 435 2022-12-12 20:57:34 +00:00
Andrew Ruthven
a9d438dc0f The PHP 8.2 container has deflate enabled in Apache2, disable it.
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
2022-12-10 15:37:43 +13:00
Andrew Ruthven
042237b05d PHP 8.2 seems to set the timezone to UTC, always set Pacific/Auckland for testcases
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.
2022-12-10 15:37:43 +13:00
Andrew Ruthven
6ad794eae6 freq_name is only used locally
This doesn't need to be an object field.
2022-12-10 14:37:31 +13:00
Andrew Ruthven
aab8ddfd30 Ensure that all fields are defined, not added dynamically.
PHP 8.2 deprecates dynmically adding properties. See:
  https://php.watch/versions/8.2/dynamic-properties-deprecated
2022-12-10 14:37:31 +13:00
Andrew Ruthven
46feee1ec7 Stop copying all fields from the Principal object.
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.
2022-12-10 02:46:37 +13:00
Andrew Ruthven
8162b9f850 Ensure that propfind for access is deterministic.
I noticed that the ordering of principals returned wasn't deterministic
for tests. Ensure it is.
2022-12-10 02:04:27 +13:00
Andrew Ruthven
c904ef5551 Debian Unstable no longer has bzip2 by default, use xz instead 2022-12-09 23:48:07 +13:00
Andrew Ruthven
547c78c48f Debian Unstable has PostgreSQL 15 now 2022-12-09 23:48:07 +13:00
Debian Janitor
cc0d627a21 Remove constraints unnecessary since buster (oldstable)
* Remove 1 maintscript entries from 1 files.

Changes-By: deb-scrub-obsolete
2022-10-04 16:01:02 +00:00
Florian Schlichting
88670bfa39 release davical 1.1.11 r1.1.11 2022-10-04 14:05:19 +02:00
Florian Schlichting
5b41b49f35 test_bullseye_carddavclientinterop: user3 description is empty 2022-10-04 12:39:50 +02:00
Florian Schlichting
8b71f09e32 test_bullseye_carddavclientinterop: Interop is now capitalized 2022-10-04 11:22:37 +02:00
Florian Schlichting
69d5c58a5b switch egrep to grep -E to avoid test failure
this is https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019335, which
should be fixed but apparently isn't in the image we're using...
2022-10-04 09:41:09 +02:00
Florian Schlichting
f44a996432 do not report VTODO in freebusy (fixes: #267)
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.
2022-10-04 08:47:53 +02:00
Dirk Bauer
b3b2ccc6c0 Fixed php8 deprecation for htmlspecialchars (#fixes 266) 2022-07-12 03:25:15 +00:00
Andrew Ruthven
6cf8d5f81d Another attempt to make the results deterministic 2022-07-12 14:27:50 +12:00