3730 Commits

Author SHA1 Message Date
Andrew Ruthven
23831686bb Don't escape HTML characters in the password.
We allow them when users set their passwords, and no doubt allowed
from LDAP and other external sources. We should allow them to be
entered. Closes #229.
2021-08-11 21:42:01 +12:00
Florian Schlichting
9da21ad116 release davical 1.1.10 r1.1.10 2021-03-01 21:24:48 +08:00
Andrew Ruthven
7ecd0bc6d0 Add a regression test for new invalid user result from FreeBusy 2021-03-02 00:33:10 +13:00
Andrew Ruthven
bda3db6da8 Return a nicer error message if no user is found for Free/Busy via email
Previously a stack trace would be returned as the call to dav_name failed,
for example:

Exception [0] Can't calculate dav_name for unknown username
At line 382 of /usr/share/davical/inc/Principal.php
================= Stack Trace ===================
/usr/share/davical/htdocs/freebusy.php[49] Principal->dav_name()
2021-03-02 00:26:49 +13:00
Florian Schlichting
90bcfba683 Update carddav/2042-REPORT-addressbook-query together with df6ff3a in AWL 2021-03-01 13:55:15 +08:00
Florian Schlichting
e92e981542 Listing External Calendars is part of the Administration menu and should be restricted to admins
this could be made configurable, or lumped in with
$c->restrict_setup_to_admin, but non-admins only get here by manually
entering the URL...
2021-02-09 01:54:32 +08:00
Florian Schlichting
202e2edd5a tighten $c->list_everyone to look for DAV::read privilege and actually block access to principals and collections
Groups really only exist in the davical web interface, CALDAV clients
discover principals and collections based on GRANTs such as the
DAV::read privilege, so use that for the web interface as well.

Also, not listing users is nice, actually blocking access to those users
(which can be enumerated with the id GET parameter) is a lot better.
2021-02-09 01:54:32 +08:00
Klaus M Pfeiffer
042ce5f076 add feature list_everyone (fixes #59) 2021-02-08 17:41:28 +00:00
Florian Schlichting
5c2cb6c34a CI: run interop tests from carddavclient by Michael Stilkerich <ms@mike2k.de> 2021-02-08 19:08:28 +08:00
Florian Schlichting
5ee16172af Add tests for AWLs "Fix param-filter that checks if a parameter is defined" 2021-02-08 17:38:17 +08:00
Florian Schlichting
9d144cfe24 Add test for AWLs "Fix param-filter for multi-value parameters with TYPE=T1,T2 format" and update 2044 accordingly
2044 wants VCARDs with either TEL or EMAIL of TYPE=WORK. !20 correctly
splits the comma separated list of parameters so another two vCards
now correctly match (see also
https://gitlab.com/davical-project/awl/-/merge_requests/20#note_503183133)
2021-02-08 17:29:26 +08:00
Florian Schlichting
fd35aacb85 Add tests for AWLs "Fix GetProperties: Select properties with group prefix" 2021-02-08 17:29:26 +08:00
Florian Schlichting
56dc373a71 Add tests for AWLs "Fix: GetProperties must treat property names as case-insensitive" 2021-02-08 17:29:26 +08:00
Andrew Ruthven
a1395eae0f Only return the fields that we need for the test 2021-02-07 01:28:06 +13:00
Andrew Ruthven
8d7c8bafd1 CI: Compress the Apache log files 2021-02-06 21:51:31 +13:00
Andrew Ruthven
b8ce995ffa CI: Ensure DAViCal can write to log files
This appears to be causing PHP 8 to bomb out.
2021-02-06 21:09:33 +13:00
Andrew Ruthven
48fcc1f7b5 CI: Turn on debug logging for all the test runs 2021-02-06 20:49:59 +13:00
Andrew Ruthven
ccedbd1be9 Include the UID of the card which caused us to hit the RRULE limit
This will helpfully assist tracking down issues with recurrence rules.
2021-02-06 20:19:03 +13:00
Andrew Ruthven
dca1eb75da Enable debug logging in CI 2021-02-06 19:58:51 +13:00
Andrew Ruthven
d822cdf4d0 Only return what we're testing, makes it easier to understand regressions 2021-02-06 19:51:43 +13:00
Andrew Ruthven
31fbfe5d88 Add test for anyof 2021-02-06 19:46:35 +13:00
Florian Schlichting
f476675b10 CI: do not clobber apache logs
and include "latestphp" in the test names
2021-02-05 11:34:25 +08:00
Florian Schlichting
f37fa814b6 update 2038-REPORT-addressbook-query after AWL's param-filter: fix a typo / explode multivalue commit
this refers to 6395cd1 in AWL

the added results seem correct, as they all have a TEL;TYPE=WORK
property
2021-02-05 02:05:05 +08:00
Florian Schlichting
ec234cda64 correct test results after AWL merges of mstilkerich/awl-fix_abookquery_paramnotdef and mstilkerich/awl-fix_support_anyof_propfilter 2021-02-05 02:01:09 +08:00
Florian Schlichting
b863c99601 add two more reports testing an allof prop-filter and an anyof text-match prop-filter
BUG: both results are incorrect as explained in the tests. I thought I
should nevertheless commit them to illustrate the fix.
2021-02-05 02:01:09 +08:00
Florian Schlichting
b4f8f5a6c1 cardquery: ensure restriction to target collection remains in force even when we find that we need a post_filter step and thus throw away the SQL
this ensures a sane (but still wrong) result for
carddav/2051-REPORT-carddavclient-ParamNotDefinedSome
2021-02-05 02:01:09 +08:00
Florian Schlichting
6e87a1443c add a REPORT for a property with multiple values, not all of which match the is-not-defined filter (carddavclient's ParamNotDefinedSome test)
BUG: as explained in the test, this should not match Jonny2; and it
should most certainly not match those other VCARDs from a different
user's collections!
2021-02-05 02:01:09 +08:00
Florian Schlichting
57f0bc6e41 add 4 VCARDs from carddavclient AddressbookQueryTest
we will run these tests in user5's addresses
2021-02-05 02:00:42 +08:00
Andrew Ruthven
f94b000cc1 Correctly exclude cards where TYPE is not set on TEL records.
Commit f1bc3b0dc00d42bb6c3053559230690ae1a6745b in AWL fixed this behaviour.
2021-02-04 23:14:49 +13:00
Andrew Ruthven
963772a0f0 Fix the test result and hopefully make the description clearer 2021-02-04 23:08:05 +13:00
Andrew Ruthven
7c37035201 I always get whitespace changes 2021-02-04 22:20:19 +13:00
Andrew Ruthven
55fde81b50 Add a bit more info about various suites, and how to time timezone 2021-02-04 22:15:10 +13:00
Andrew Ruthven
b00fc5d5e6 Merge remote-tracking branch 'origin/master' 2021-02-04 22:09:18 +13:00
Florian Schlichting
75f62a81f6 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
2021-02-03 23:25:51 +08:00
Jan Hicken
6cdbfcf226 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.
2021-02-03 14:57:57 +00:00
Jan Hicken
f376be164e 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.
2021-02-03 14:57:57 +00:00
Florian Schlichting
39bfe88887 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
2021-02-03 22:39:18 +08:00
Florian Schlichting
d6c1c87fc6 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 ...
2021-02-03 01:18:16 +08:00
Florian Schlichting
8239519ca3 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
2021-02-03 00:42:58 +08:00
Andrew Ruthven
18c19b8fad Test case for awl-fix_abookquery_negated_propnotdef 2021-02-02 16:21:46 +00:00
Andrew Ruthven
bd075897bb Merge branch 'awl-fix_abookquery_paramtextmatch' 2021-02-01 23:28:36 +13:00
Andrew Ruthven
f250d2deb5 Test case for negated values in awl-fix_abookquery_paramtextmatch 2021-02-01 23:27:42 +13:00
Andrew Ruthven
405af5e8d8 Merge branch 'awl-fix_abookquery_negated_propnotdef' 2021-01-31 21:34:24 +13:00
Andrew Ruthven
351b853948 Merge branch 'piotrfilip/davical-freebusy_count_fix' 2021-01-25 00:08:34 +13:00
Piotr Filip
e98bf7b682 fix: events with recurrence rule are sometimes counted one too many times in freebusy 2021-01-25 00:08:13 +13:00
Piotr Filip
bc1bbd3da0 test: remove dependency on the current date 2021-01-25 00:08:13 +13:00
Andrew Ruthven
33509866fb Update test results with new timezone data 2021-01-25 00:02:42 +13:00
Andrew Ruthven
99d9264320 Ignore zones.h and zones.tab 2021-01-24 23:47:11 +13:00
Andrew Ruthven
1c25d643e4 To start with there are no timezones in a fresh database 2021-01-24 23:44:40 +13:00
Andrew Ruthven
3817f2f61a Make the runs deterministic 2021-01-24 23:43:43 +13:00