22 Commits

Author SHA1 Message Date
Andrew Ruthven
1ca8284bdc Add ROOM as a principal type
This hopefully resolves #282.
2024-01-21 19:12:42 +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
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
Florian Schlichting
17c2022122 group-member-set and group-membership queries on proxy resources should be handled in DAVResource
Otherwise we cannot be sure if the resource we are looking at is a
proxy. Looking at the request as we did in DAVPrincipal is wrong, as one
request can result in several resources to be examined, only some of
which may be proxies.

BTW looking at the regression test changes, I'm not sure having
calendar-proxy-read-for on proxy principals is correct, but caldav-proxy
seems to have nothing to say on that so we leave it for now.
2018-01-09 22:11:30 +01:00
Florian Schlichting
ded783a603 DAVPrincipal->FetchProxyGroups(): disable grants_proxy_access_from_p()
I just don't get how it's supposed to work, but it doesn't seem to
return the expected proxy delegates. This SQL doesn't expand groups,
which is a feature, and in general we only look at the grants table and
completely disregard any default privileges the principal might have
set.
2018-01-09 01:30:18 +01:00
Florian Schlichting
7181e466eb DAVPrincipal->FetchProxyGroups(): invert arguments to pprivs()
this needs to be the other way round than above
2018-01-09 01:04:16 +01:00
Pierre GIRAUD
8e04eb27ae
Add support for calendar-user-type 2017-10-03 11:44:19 +02:00
Florian Schlichting
7e3a9a476f group memberships for the calendar-proxy-{read,write} pseudo-principal are always empty
Only regular principals can be members in any groups, for
pseudo-principals group membership doesn't make sense. In case somebody
asks, do not return the group memberships of the parent principal but
rather provide an empty answer.
2017-09-19 21:22:58 +02:00
Florian Schlichting
c71bf2511e fix expand-property "group-member-set" on calendar-proxy-write URL (closes: #88) 2017-01-04 22:32:58 +01:00
Florian Schlichting
8d06163ddf less "global $foo" 2016-12-30 08:53:04 +01:00
Florian Schlichting
b7d1ad513e DAVPrincipal: delete funny tabs and other unusual whitespace 2016-11-30 23:03:06 +01:00
Florian Schlichting
fd1fce90c3 DAVPrincipal: fix logging labels 2016-11-30 23:02:52 +01:00
Mark Davies
0cc7b944b4 Add config value "support_obsolete_free_busy_property"
to control whether the obsolete Scheduling property
"calendar-free-busy-set" is populated during a PROPFIND. For Issue #31,
Database Performance Improvements.
2014-12-16 21:30:14 +01:00
Ján Máté
fd6b10d3e2 Prevent processing of collections from inactive principals
e.g. inactive principal collections are not returned if you use clients with
"delegation" support.
2013-10-25 12:16:27 +13:00
Andrew McMillan
bd06225c93 On Apple devices these can sometimes appear in the Apple namespace. Odd. 2012-07-29 23:16:13 +12:00
Andrew McMillan
395d14d85d Avoid using unassigned element. 2012-06-11 18:27:38 +12:00
Andrew McMillan
155c70bba5 Changes to the way XML is created, and (to a lesser extent) parsed. 2012-05-03 19:11:28 +12:00
Andrew McMillan
f55f8fbee3 Allow complete disabling of handling for Apple's old calendar-proxy.
We'll make this a default behaviour after 2012 is over and remove it
sometime after that.
2012-03-22 13:52:20 +13:00
Andrew McMillan
cf43ee224d And this. These are for command-line scripts using DAViCal. 2011-10-27 08:50:30 +13:00
Andrew McMillan
f4be0d071e Add support for the CalDAV:schedule-default-calendar-URL property. 2011-09-09 10:27:38 +12:00
Andrew McMillan
13ce4c147a Add support for writing local scheduling requests on PUT.
In the new Scheduling Extensions for CalDAV the server is expected
to construct iCalendar METHOD:REQUEST invitations and put them into
the scheduling inbox for each (local) attendee.  This patch does
that, and hopefully breaks the back of implementing the full
scheduling extensions.
2011-09-07 23:40:28 +12:00
Andrew McMillan
20ee255898 Refactor fetching of Principal records from database.
This is a significant refactoring, replacing the old getUserBy*()
functions with a new Principal class, and replacing the old
CalDAVPrincipal class with a new DAVPrincipal class which extends
the Principal class.

At this point all regression tests pass (again) but there could
well be issues for people who use alternative authenticators
such as LDAP, although I have endeavoured to resolve those
potential issues.

Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-03 10:16:43 +13:00