[sync] Efficient handling of denied CalDAV-Requests
Jens Wahnes
wahnes at uni-koeln.de
Thu Mar 31 14:51:16 UTC 2016
Hi,
in our setup, we have a number of users that use CalDAV to access both
their own calendars and calendars that other users have shared with
them. Of the shared calendars, of course not all allow write access.
When a CalDAV client tries to write to such a calendar for which it does
not have permissions, then of course access to it is denied and the
calendar remains unchanged. However, there seem to be many clients out
there that repeat this kind of "unsuccessful" request over and over
again. That is, these clients to not get the fact that they will never
be able to write to the calendar and over time they send a huge amount
of requests that have to be denied each and every time. The amount of
requests grows steadily as CalDAV users keep adding events to calendars
that they cannot write to -- in the CalDAV client, these events are
often displayed just fine.
These denied requests already make up a substantial amount of the total
traffic we see on our Horde servers. We already tried to block some of
these requests on the webserver level, but with limited success. In
such an event, the clients will receive an HTTP error 403 from Apache
when trying to write to a certain calendar that they are not supposed to
write to, but even that does not stop them from retrying the write
request every couple of seconds. So having Apache block requests is a
nice start because it costs less performance than a full-blown Horde PHP
request with authentication and what else, but fiddling with the Apache
config to sort out which requests to deny is pretty complicated and
error prone.
So it looks like we have to deal with the fact that these kinds of
requests show up often. As a result, I am looking for other/better ways
to handle these kinds of repeating nonsense requests. Has anyone got
similar trouble and found a way around it? For example, does putting a
Varnish server in front help? I'm not sure if Varnish would be able to
cache the "access denied" answer to "HTTP basic" authenticated CalDAV
(WebDAV) requests.
Jens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4986 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.horde.org/archives/sync/attachments/20160331/94be0ae0/attachment.bin>
More information about the sync
mailing list