3837 Commits

Author SHA1 Message Date
Andrew Ruthven
8fbab49f0d Create unique constraints for tmp_password and role_member. 2023-02-15 07:42:34 +00:00
Andrew Ruthven
e3b5c331be Add a primary key to calendar_alarm table.
Also fixed a bug in scripts/refresh-alarms.php if there was an
alarm with a duplicate trigger.

This is part of the fix for #276.
2023-02-15 07:42:34 +00:00
Andrew Ruthven
6819d6d7d1 Add a primary_key to the addressbook_addresses_* tables
This is part of the fix for #276.
2023-02-15 07:42:34 +00:00
Andrew Ruthven
c3970f3be2 Fix RRULE for BYHOUR, BYMINUTE and BYSECOND
Closes #283.
2023-02-15 07:28:35 +00:00
Andrew Ruthven
8444347b02 We no longer support PHP 5.1, assume that DateTime is available 2023-02-15 07:28:35 +00:00
Andrew Ruthven
43996a3297 Create .in and .out calendars on principal creation.
Closes #227
2023-02-05 13:04:09 +00:00
Andrew Ruthven
0041577fc8 Handle baseDNGroups being unset. 2023-02-04 19:03:50 +13:00
Andrew Ruthven
444a098130 Ensure that groups_nothing_done is defined
Closes #278.
2023-02-04 05:48:09 +00:00
Andrew Ruthven
f86eaef5b8 Use dbg_error_log instead of dbg_log_array
Closes #277.
2023-02-04 03:21:48 +00:00
Andrew Ruthven
be60ec1778 Improve on SQL syntax fix to keep logging working, and add regression test.
Closes #279.
2023-02-04 03:09:40 +00:00
Tobias Brox
6e6ff6b115 Fix SQL syntax error if is-not-defined is used as a prop-filter. 2023-02-04 03:09:40 +00:00
Andrew Ruthven
533d407196 Update ChangeLog 2023-01-18 00:11:57 +13:00
Andrew Ruthven
0762022453 Depend on AWL 0.64 to get fixed memcache support 2023-01-18 00:11:57 +13:00
Andrew Ruthven
0da12be223 Stop caching bound collections.
This was causing binding/1038-PROPFIND-Depth-2 to fail as the getctag that
was found didn't match what was expected. Looking at how bound collections
are handled, there is a lot of metadata that we're missing.

Preferably we'd cache or otherwise restore that metadata, but I'm going
to leave that as a future enhancement. ;)
2023-01-18 00:11:57 +13:00
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