Commit Graph

62 Commits

Author SHA1 Message Date
8cf762ea2d * CalDAV/CardDAV: do NOT use Content-Length header, if zlib.output_compression is enabled, fixes problems with iOS7 eg. eTask app
Content-Length is size AFTER applying transfer encoding which compression is, as compression is done in PHP outside our control, we only set wrong (to big) size
2013-11-20 14:14:19 +00:00
cd46241449 full implementation of draft-murchison-webdav-prefer-05, incl. return=representation for 412 conflicts 2013-10-07 07:32:34 +00:00
b2659058ef fixed wrong condition only giving a location header if requests fails, not if it succeeds 2013-08-02 19:29:16 +00:00
d71b993495 * CalDAV/CardDAV: removed unnecessary (double) etag generation and improved calendar etag generation for recurring events 2013-02-25 11:19:56 +00:00
54c6c93a0b fixed wrong call name2id to get account_lid of owner, causing lot of database access and returning nothing, as account_id for given 2013-02-25 10:31:27 +00:00
ed56f6b4f5 * CardDAV: fixed wrong privileges for accounts addressbook, causing clients to report it read-only even for admins 2013-01-22 08:41:44 +00:00
68368871d7 consistently send ETag by using and extending put_response_headers 2012-10-29 12:24:50 +00:00
d7eedc5b5c * CalDAV/CardDAV: return urn:uuid as last record in calendar-user-address-set, as according to iCal4OL developer, some clients might have problems with it, also adding both full uri and just path of principal url, as calendarserver does it 2012-10-24 07:18:07 +00:00
b76be6cc0e * CalDAV/CardDAV: Max OS X 10.8 (Mountain Lion) support: automatic sync of all addressbooks in one 2012-09-26 08:07:31 +00:00
2787fd56d0 * CalDAV: expand-property reports queried by iCal from OS X 10.7.4
- expanded-group-member-set
- expanded-group-membership
- calendar-proxy-read-for
- calendar-proxy-write-for
Both calendar-proxy reports can be combined in one request, which is now also handled correct.
2012-07-15 09:17:12 +00:00
706fd46d5a add own agent for dmfs.org, to not recognice it as dataaccessd/iOS 2012-02-29 16:24:49 +00:00
2bc821f428 use groupdav->log() for all permanent error-messages, to log the into request-log too, if both If-Match and If-Schdule-Tag-Match given use If-Match for organiser/owner and If-Schedule-Tag-Match for attendees/participants 2012-02-21 20:04:45 +00:00
c70a93e7c1 * CalDAV/CardDAV/GroupDAV: as all clients dislike not getting an ETag for a PUT, we sending it again even not storing byte-by-byte 2012-02-20 11:33:43 +00:00
2939d7bbf3 propagate data from settings hook to handlers, to fix failed installs because setup was not detected 2012-02-14 17:38:45 +00:00
7a6959ca3f many bugfixes around distribution-lists/groups and some code restructuring 2012-02-09 20:09:49 +00:00
fe0b914acc as SOGO Connector requires ETag header to recognice as successful PUT, we are sending them again for it 2012-02-07 17:10:52 +00:00
d7fca17d6e resurrect preference to sync all ABs into one (allways implied for OS X) and new pref to "Distributionlists as groups", plus explenation of the prefs 2012-02-04 21:47:28 +00:00
d89f48d9c1 implement RFC 5995 add member to collection via POST, but not yet set DAV:add-member due to problems with OS X clients 2012-02-04 20:24:01 +00:00
c5ca42a4b1 move app-specific settings to app-handler 2012-02-04 01:24:34 +00:00
d21be8d871 move logic of which addressbook/calendars are shared into app-handler 2012-02-04 01:03:56 +00:00
1dd3a9e083 fixed iCal did not allow user to update calendar color or name --> needs "write-properties" priviledge, which we now return for all calendar/addressbook collections 2012-01-31 00:20:58 +00:00
01ce3bd88d * CalDAV/CardDAV: /addressbook-accounts/ and PROPPATCH for addressbooks/calendars for every namespace but CalDAV, CardDAV or Calendarserver (displayname or *-describtion are ok) 2012-01-30 05:11:05 +00:00
e714be2d36 fixed not working update of events, as etag2value still expected EGw- -wGE around ETag 2011-11-08 21:02:47 +00:00
8096c34bef - fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
ceaec3d3c1 added calendar-timezone property, changed groupdav_handler::extra_properties signature (removed static and added $user parameter), removed calendar-user-address-set property belonging only to principal 2011-10-20 13:35:01 +00:00
5b3d0c3ca2 fixed behavior of GET or HEAD with If-None-Match returning "304 Not Modified" instead of "412 Precondition Failed", if no If-Match header given 2011-10-08 18:27:02 +00:00
b2fa12eb3e remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag 2011-10-08 11:34:55 +00:00
e654d3fbfb correctly handle uid/name-part of path containing #%? 2011-10-06 07:51:24 +00:00
e05ce4d614 enclosing etag in quotes, as most servers do 2011-10-05 08:15:24 +00:00
7443fdc639 * GroupDAV/KDE assume KDE 4.7+ uses native Akonadi resource, while below pre-Akonadi GroupDAV resource is used: unfortunately both have contradicting requirements 2011-09-26 10:20:27 +00:00
b5269738d7 read-free-busy, schedule-send and schedule-deliver privileges 2011-09-22 18:46:16 +00:00
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
79d12b67be * CalDAV: user agent detection of OS X 10.7 Lion iCal app (CoreDav instead of DavKit) 2011-08-02 12:59:23 +00:00
18b818bd57 reverting accidently commit r34595 2011-04-10 15:05:47 +00:00
bd4f019062 some more PostgreSQL stuff from ADOdb 5.11 2011-04-10 15:04:40 +00:00
87ee0f0088 * CardDAV: store name part of URL from client PUT request, to fully comply with CardDAV spec 2011-04-05 20:39:13 +00:00
66c61cb74e - move all filtering into SQL query in calendar_so, to be able to correctly return N rows starting from row M
- re-enabling propfind iterator again for calendar (fetching events in chunks of 500), to lower memory footprint
Please note: changed SQL queries used for CalDAV do not take changed participants (or status) in exceptions into account
2011-04-05 15:32:20 +00:00
00dd0b090b add Evolution as know GroupDAV client 2011-03-07 14:00:37 +00:00
3bb9e89bcf * CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
89b8f68f7e new debug-level user-preference, show getctag in autoindex and do NOT treat webkit browsers like kde clients 2010-10-31 07:56:29 +00:00
2575da2575 * GroupDAV preference for addressbook-home-set (requires to register hooks) 2010-10-19 23:30:16 +00:00
ed733eef42 * iPhone and Mac Addressbook support aka Apple CalDAV/CardDAV autodetection
Addressbook does NOT allow to specify the URL, unlike iCal which allows it after autodetection fails.
This, some XML specifics set now for Apple addressbook user-agents and etags for addressbook collection itself
allow now to use EGroupware with iPhone or Mac addressbook. The later was working before, if you edited the URL
into a decompiled plist file, but failed now because of a new REPORT it tries on the principal, to find out shared
addessbooks, which we not yet support, but failed to tell in the correct way (501 Not Implemented).
Addressbook sync now the personal addressbook, because that is what we tell it as addressbook-home-set.
We should add some configuration so user can choose what addressbook to set as addressbook-home-set, or to set
the "all" addressbook (/addressbook). For the later we could add some prefs like SyncML to specify filters or
eg. a distribution list.
2010-09-25 09:08:37 +00:00
44c3c7eb9a Improve iPhone iCal support 2010-08-15 06:42:05 +00:00
09100671ee put out Unrecogniced GroupDAV client Message only, when debug bis enabled -> does not work, as the function is static, commented the error_log 2010-07-08 09:41:06 +00:00
129eaec0e3 put out Unrecogniced GroupDAV client Message only, when debug bis enabled 2010-07-08 09:37:24 +00:00
a88fbb756f 2nd Fix Evolution CalDAV HTTP_IF_MATCH issue (Stylite#601) 2010-06-14 07:38:41 +00:00
78103fd02a Fix Evolution CalDAV HTTP_IF_MATCH issue (Stylite#601) 2010-06-11 09:59:36 +00:00
df36afa1ed Fix DAV issue for neon for GroupDAV, too 2010-05-18 10:45:46 +00:00