Commit Graph

446 Commits

Author SHA1 Message Date
Unrud
9192a7751b Remove incorrect argument
In rare cases this can cause a crash.
2016-08-10 23:41:19 +02:00
Guillaume Ayoub
c4cf918bf2 Merge pull request #470 from Unrud/readcontent
Read content after access checks
2016-08-08 12:57:59 +02:00
Unrud
a9b89be5c7 Read content after access checks
Unauthorized users can't fill up RAM with crap anymore.
2016-08-08 07:00:24 +02:00
Unrud
f294b1cf17 Add access check to PROPFIND 2016-08-08 06:59:15 +02:00
Unrud
68286faa63 Atomic replacement of whole collection by PUT 2016-08-08 06:08:52 +02:00
Unrud
ee5b8facda Always use wrapper to lock collection
Also run the hook after creation of the principal collection.
2016-08-07 17:14:47 +02:00
Unrud
23582c8208 Expose low level MOVE operation in storage.BaseCollection 2016-08-06 05:09:00 +02:00
Unrud
17ff22cae4 Support replacing in MOVE method 2016-08-06 04:45:44 +02:00
Unrud
89ac2fb397 Remove faulty check
This should have been (to_path.strip("/")+"/").startswith(path.strip("/")+"/").
But it's not required as we don't support moving collections.
2016-08-06 04:44:18 +02:00
Guillaume Ayoub
9aefc500ec Merge pull request #461 from Unrud/patch-27
Remove old code
2016-08-05 17:48:03 +02:00
Unrud
6d77e24028 Remove old code
This was missed while merging #457 and #459.
2016-08-05 17:05:32 +02:00
Unrud
65af0592d3 Run hook while storage is still locked 2016-08-05 16:58:03 +02:00
Guillaume Ayoub
8682504c6e Strip empty lines from content 2016-08-05 02:25:15 +02:00
Guillaume Ayoub
26e1c9ba89 Fix collection creation with PUT request 2016-08-05 02:24:52 +02:00
Guillaume Ayoub
8ac3ce1a89 Clean many, many things 2016-08-05 02:14:49 +02:00
Guillaume Ayoub
92a0027ae1 Merge branch 'rights' of https://github.com/Unrud/Radicale into Unrud-rights 2016-08-04 23:35:01 +02:00
Unrud
066b5994d1 Improve rights checking and request handlers
* Access rights are checked before the storage is locked and
    collections are loaded.
  * DELETE sends 410 instead of doing nothing or crashing if the target
    doesn't exist.
  * GET always returns 404 if the target doesn't exist.
  * GET doesn't crash if a collection without tag property is requested.
  * MKCOL and MKCALENDAR send 409 if the target already exists.
  * MOVE checks if the target collection of an item actually exists and
    sends 409 otherwise.
  * PUT doesn't crash if a whole collection that doesn't exist yet is
    uploaded and ``content-type`` is ``text/vcard`` or
    ``text/calendar``.
  * PUT distinguishes between simple items and whole collections by the
    following criteria: Target is a collection; Parent exists; Parent
    has the tag property set; Parent contains other items. Before only
    the first two criteria where used, which was very unrelieable. #384
  * PROPPATCH is only allowed on collections and 409 is send otherwise.
  * ``Rights.authorized`` takes a path instead of a collection.
  * ``Collection.discover`` only returns items in ``path``, that
    actually exist. #442
2016-08-04 06:08:08 +02:00
Unrud
ae89082c24 Atomic creation of collections 2016-08-03 15:50:55 +02:00
Unrud
bd7641699e Atomic PROPPATCH 2016-08-03 14:45:52 +02:00
Guillaume Ayoub
b71664b322 Return UNAUTHORIZED for NOT_FOUND PROPFINDs 2016-08-02 17:24:04 +02:00
Guillaume Ayoub
3e52f34309 Remove pylint 2016-08-02 14:39:20 +02:00
Guillaume Ayoub
301bb552d7 Cosmetics 2016-08-02 14:37:39 +02:00
Guillaume Ayoub
d322d3f394 Clean the user's collection creation code 2016-08-02 14:00:42 +02:00
Guillaume Ayoub
04010ff8d3 Merge pull request #455 from Unrud/home
Creating addressbooks and calendars in DAVdroid
2016-08-02 13:51:29 +02:00
Unrud
81b04890f1 Create principal collection automatically 2016-08-02 08:04:12 +02:00
Guillaume Ayoub
6b30870be5 Minor cleanups
Everything works fine with Apple clients now.
2016-08-01 19:00:57 +02:00
Guillaume Ayoub
6bfdcbafec Cosmetics 2016-08-01 12:50:51 +02:00
Guillaume Ayoub
711ecf5df2 Merge pull request #451 from Unrud/removewellknown
Remove /.well-known
2016-08-01 12:20:55 +02:00
Unrud
fd977891e8 Remove /.well-known
I can't think of a sane use-case for this.
2016-08-01 09:31:25 +02:00
Unrud
da1a693620 Prevent unsafe usernames
If an attacker is able to create an account with a username like "user/calendar.ics", he can access collections of other users.
2016-08-01 09:10:23 +02:00
Guillaume Ayoub
b3d8833779 Normalize the version number 2016-07-30 16:43:29 +02:00
Unrud
0263251ecf Add hook for storage changes 2016-07-14 07:57:46 +02:00
Guillaume Ayoub
ef63865e31 Merge pull request #428 from Unrud/patch-22
Add timeout to connections, limit size of request body and limit number of parallel connections
2016-07-14 02:06:24 +02:00
Guillaume Ayoub
5bd80d8d13 Don't crash when getting unknown collections
Fix #422.
2016-07-14 01:39:57 +02:00
Florian Mounier
383409213e deflate seems to be problematic with different implementations (http://stackoverflow.com/questions/388595/why-use-deflate-instead-of-gzip-for-text-files-served-by-apache/388633#388633). Using gzip instead. 2016-07-04 17:00:43 +02:00
Unrud
83ea9da2b4 Limit number of parallel connections 2016-06-11 13:19:26 +02:00
Unrud
e438d9fd4b Limit size of request body 2016-06-11 13:16:45 +02:00
Unrud
b55d2181ed Add timeout to integrated sever 2016-06-11 13:14:58 +02:00
Unrud
d4e6205745 Don't include passwords in logs 2016-06-11 12:58:28 +02:00
Unrud
54b47c4a3e Refactor: Move response code into function 2016-06-10 14:55:32 +02:00
Guillaume Ayoub
13a7f2f9af Merge pull request #417 from Unrud/patch-14
Allow creation of empty collection via PUT
2016-05-30 11:23:27 +02:00
Unrud
4861b79878 Allow creation of empty collection via PUT 2016-05-29 01:18:29 +02:00
Unrud
af1dce1504 Fix crash on unknown content type 2016-05-28 23:49:15 +02:00
Unrud
28e643dec1 Don't pass None to vobject.readComponents
If an empty collections is created with PUT, content is None.
2016-05-28 22:46:20 +02:00
Unrud
ecbffe69dc Veify Authorization Scheme 2016-05-26 12:21:09 +02:00
Guillaume Ayoub
a3c32ee77f Merge pull request #402 from Unrud/locking
Implement locking of whole storage
2016-05-25 14:03:48 +02:00
Unrud
bca6cec6b3 Use context manager for locking 2016-05-22 10:29:50 +02:00
Unrud
a24613da9c Compress answer
The protocol uses verbose XML and compression reduces the size significantly.
2016-05-21 02:26:03 +02:00
Unrud
ff3b31fed6 Use threading in integrated webserver 2016-05-21 01:26:52 +02:00
Unrud
2c45b1998c Implement locking of whole storage 2016-05-21 01:26:45 +02:00
Guillaume Ayoub
a8fda1aedf Cut long lines 2016-05-18 22:41:05 +02:00
Guillaume Ayoub
20ff5444fb Don't explicitely inherit from object 2016-05-12 18:57:59 +02:00
Guillaume Ayoub
ca056dea9f Don't return 404 for GET requests on collections 2016-05-12 18:55:03 +02:00
Guillaume Ayoub
2f97d7d1e1 Remove global state about configuration and logs
Many things have been changed to make this possible, probably leading to
many hidden bugs waiting to be found.

Related to #122.
2016-04-22 11:37:02 +09:00
Guillaume Ayoub
303a53eede Return Items in upload and update methods
Related to #380
2016-04-20 08:09:00 +09:00
Guillaume Ayoub
6adc7f5fed Enhance collection discovering
When the request path leads to a non-existing item, try to create the
Collection object according to an existing collection at request path's
parent.

This change means that the requests whose path leads to a collection
that doesn't exist (at least MKCOL, MKCALENDAR and PUT) need to rely on
the request path more than on the Collection path. It was already done
for PUT, it's been fixed for MKCOL and MKCALENDAR.

Fix #378.
2016-04-19 10:39:52 +09:00
Guillaume Ayoub
e586569b31 Fix a lot of details 2016-04-12 18:21:18 +02:00
Guillaume Ayoub
406027f3c9 Change the Collection API
The new API used comes from vdirsyncer, as proposed by @untitaker in
issue #130.

The code has been tested and works with the (too simple) unit tests, and
with Lightning and DAVdroid. Many things are broken and a good part of
the code has not be ported to the new API yet. TODOs have been added
where the application is known to be broken.
2016-04-11 20:11:35 +02:00
Guillaume Ayoub
41e319a8b8 Merge ical and storage modules 2016-04-10 02:08:07 +02:00
Guillaume Ayoub
12ddd64884 Fix the management of paths 2016-04-09 22:44:34 +02:00
Guillaume Ayoub
7a0e267f19 Better collection discovery 2016-04-09 15:11:47 +02:00
Guillaume Ayoub
44ba2c36a7 Merge branch 'master' of https://github.com/hadleyrich/Radicale 2016-04-08 15:05:56 +02:00
Guillaume Ayoub
7e493f73cd Remove backslash 2016-04-08 14:46:38 +02:00
Guillaume Ayoub
e2b6bc3008 Remove old workaround 2016-04-08 14:46:17 +02:00
Guillaume Ayoub
54dee0c7c4 Clean tests 2016-04-07 19:25:10 +02:00
Guillaume Ayoub
595e2329ea Don't create collections on GET requests 2016-04-07 19:03:27 +02:00
Guillaume Ayoub
434cb533e9 Remove Python 2 support 2016-03-31 19:57:40 +02:00
Unrud
6be7dab03f Correct function name 2016-01-14 23:07:53 +01:00
Guillaume Ayoub
f8b068e9fe Version 1.1.1 2016-01-07 23:31:19 +01:00
Guillaume Ayoub
e47b50421e Version 1.1 2015-12-31 12:51:23 +01:00
Unrud
1ad994cadf Move sanitize_path into pathutils.py 2015-12-24 14:39:15 +01:00
Unrud
ed44830447 Error message if path not starting with prefix
Before the program crashed implicitly
2015-12-24 14:32:21 +01:00
Unrud
780cecc0f2 Always sanitize request URI
Do no rely on the HTTP server
2015-12-24 14:32:21 +01:00
Unrud
ee095a463d Improve URI sanitation
The old implementation failed to sanitize URIs
like ".", "..", "../.." or "//"
2015-12-24 14:32:21 +01:00
Unrud
592537e37c Introduce naming scheme for request handlers
The do_ prefix and upper case name allows easy
distinction between methods that handle requests
and other methods.
Without this distinction an attacker could
call arbitrary methods.
Currently there is no method that matches the
argument count, but that's easy to miss when new
methods are added.
2015-12-24 07:22:55 +01:00
Unrud
7cb31fe22b Improve regex for Well-Known URIs
Example to show the problem:
/Xwell-known/carddavXX
2015-12-22 12:44:19 +01:00
Guillaume Ayoub
6babebd315 Version 1.0.1 2015-09-21 12:14:51 +02:00
Guillaume Ayoub
377762e23c Version 1.0 2015-09-14 11:49:34 +02:00
Guillaume Ayoub
ce9fd74d98 Merge pull request #260 from deronnax/not_found_instead_of_gone
change GET response from GONE to NOT FOUND when item is not found
2015-08-21 15:34:59 +02:00
Hadley Rich
54d71355d1 Change xmlutils propfind to return readonly calendars 2015-06-04 11:23:01 +12:00
Guillaume Ayoub
c249e080af Merge pull request #273 from untitaker/issue117
Fix another instance of #117
2015-04-29 19:09:38 +02:00
Guillaume Ayoub
a0fc07a894 Allow content-types with ';' in charset, fix #279 2015-04-29 19:08:20 +02:00
Markus Unterwaditzer
78e203a2b9 Fix another instance of #117 2015-03-22 12:25:54 +01:00
deronnax
5b8333c2b0 change GET response from GONE to NOT FOUND when item is not found 2015-02-09 11:03:06 +01:00
Guillaume Ayoub
a7700f9805 Don't crash when getting unknown events (fix #258) 2015-02-08 17:11:29 +01:00
Guillaume Ayoub
2c4b335fad Clean the ical API 2015-02-07 17:26:20 +01:00
deronnax
240125aca7 don't pick timezones when asking for contacts 2015-02-07 14:11:43 +01:00
Guillaume Ayoub
7135367640 Version 0.10 2015-01-12 18:40:42 +01:00
Guillaume Ayoub
c932ba230e Fix Python 3 compatibility 2014-10-22 16:28:08 +02:00
Guillaume Ayoub
1f9c568720 Don't recreate the regular expression for each request 2014-10-22 11:32:25 +02:00
Guillaume Ayoub
2cf34a0d67 Cosmetic changes 2014-10-21 13:13:16 +02:00
Guillaume Ayoub
4e59d734a1 Merge pull request #225 from deronnax/well-known
Support "well known" URLs
2014-10-21 13:03:18 +02:00
deronnax
8ec00f08df throw 401 in case of failed variable substition for .well-known url 2014-10-21 12:30:14 +02:00
deronnax
f846f107e6 now with regex 2014-10-21 11:57:42 +02:00
deronnax
b863e8390e add ".well-known" addresses feature (closes #126) 2014-10-20 18:51:43 +02:00
deronnax
c180b4ace3 decode http resquest content later 2014-10-20 17:32:10 +02:00
Guillaume Ayoub
a6884492a2 Version 0.9 2014-08-13 13:12:19 +02:00
Guillaume Ayoub
9ad9c466e2 Add an option allowing requests without base_prefix
Related to #147, patch proposed by jheidemann
2014-08-06 11:51:11 +02:00
Guillaume Ayoub
a5c5f2494f New version 2014-07-28 13:03:06 +02:00
Guillaume Ayoub
a65f96fe41 Fix syntax error 2014-07-28 11:28:12 +02:00
Guillaume Ayoub
f92f9f5e7d Merge pull request #175 from Ede123/master
Return "401 unauthorized" on unauthorized DELETE requests (fixes #125)
2014-07-28 11:20:45 +02:00
Mathieu Dupuy
a94984b653 revert of 00674fe 2014-07-25 15:41:56 +02:00
Ede123
c9bd2d0135 Signed-off-by: Ede123 <Eduard.Braun2@gmx.de> 2014-06-21 15:34:22 +02:00
Guillaume Ayoub
6854cd0ee3 Use warning instead of warn for logging (fix #170) 2014-06-15 10:19:34 +02:00
Markus Kaiserswerth
0dee34b3a8 Add SSL ciphers argument only if supported, fixes Python 2.6 compat 2014-03-19 14:04:25 +01:00
Guillaume Ayoub
45f8e76643 Revert "Follow the depth in REPORT requests"
This reverts commit 9556508b2a.
2014-03-05 19:26:42 +01:00
Guillaume Ayoub
9556508b2a Follow the depth in REPORT requests 2014-03-04 01:37:14 +01:00
Guillaume Ayoub
066dffd614 Cut line 2014-03-04 01:08:56 +01:00
Guillaume Ayoub
3bd5b8f0fc Let's try to release 0.9 beta 1 2014-02-24 23:26:40 +01:00
Guillaume Ayoub
701df2d201 Use environ.get instead of try/except 2014-02-05 13:01:49 +01:00
Guillaume Ayoub
f7c7746643 Merge pull request #99 from horazont/fix-preauth
Fix issues if authentication is done by web server
2014-02-05 12:59:45 +01:00
Christoph Polcin
3aa992e518 Find collections if necessary 2014-01-19 20:11:47 +01:00
Christoph Polcin
90d82d044c Fix access to collections
under certain conditions it was possible to pass the final access control
if-clause. the master branch granted access if:

    if ((read_allowed_items or write_allowed_items)
        and (not user or auth.is_authenticated(user, password))) or
        function == self.options or not items:

the easy-connect branch from pull request #95 adds:
    (is_authenticated and function == self.propfind) or

the last `or not items` condition levers out the previous authentication and
access control. that isn't that big secuity issue because in this case there
are no collection and items at all. but "bad" and anonymous users could gather
data and information which not destined for them.

this commit fixes and simplifies the if-clause.
2014-01-19 20:04:37 +01:00
Christoph Polcin
83db27303f Respond to all authenticated PROPFIND requests 2014-01-19 19:35:46 +01:00
Jonas Wielicki
d9df9a36e1 Fix issues if authentication is done by web server
This patch fixes `user` always being None if the authentication is
offloaded to the webserver, as it is suggested in the documentation.

For normal access, this is not a problem, but it becomes a problem if a
client wants to get the current-user-principal, for which the user name
is required.
2014-01-14 20:46:47 +01:00
Sergey Fursov
dca10fa14e Different rights management backends
Initially only one backend - regular expressions based
2013-12-25 03:44:24 +04:00
Jean-Marc Martins
7ac971e022 Fix wrong syntax in config file and fix #58 2013-12-23 16:45:15 +01:00
Jean-Marc Martins
f377bd1356 Fix ssl protocol 2013-12-13 15:17:30 +01:00
Jean-Marc Martins
d765544edd Add ssl protocol and ciphers in config 2013-12-13 14:31:09 +01:00
Jean-Marc Martins
a631c8c761 Fix compatibility between python2 and 3 2013-09-19 14:40:03 +02:00
Jean-Marc Martins
e2512b12fb Fixed partially anonymous authentication 2013-09-13 15:05:02 +02:00
Jean-Marc Martins
58faf725b0 Fixed authentication for anonymous users 2013-09-12 17:39:20 +02:00
Guillaume Ayoub
43785e48a9 Get configuration keys at runtime, not when module is imported (fixes #64) 2013-09-12 13:48:49 +02:00
Jean-Marc Martins
97a19405c4 Adds git support to Radicale (Fix #30) 2013-08-30 17:23:04 +02:00
Guillaume Ayoub
f7f26afd6b Fix rights type "None" 2013-08-14 11:58:08 +02:00
Guillaume Ayoub
586773148e Use a more simple rights manager 2013-08-14 10:50:59 +02:00
Guillaume Ayoub
b8848de15e Preparing next version 2013-07-12 18:40:12 +02:00
Guillaume Ayoub
2df8f92f87 Version 0.8 2013-07-12 17:45:30 +02:00
Guillaume Ayoub
c4f2587fd9 Pylint 2013-07-12 15:25:57 +02:00
Guillaume Ayoub
de1e57081b Put the realm in the configuration file (fix #37) 2013-06-28 16:39:09 +02:00
Guillaume Ayoub
fab7796ca0 Allow additional HTTP headers in configuration file
Best ratio coolness/sloc ever!
2013-05-13 18:15:08 +02:00
Guillaume Ayoub
e9e811d375 Allow requests with no maching items (ie. requests at "/") 2013-05-01 20:36:41 +02:00
Guillaume Ayoub
f73b44a311 Useless typo 2013-05-01 20:12:24 +02:00
Guillaume Ayoub
bf8e874e4d Merge *base_prefix config keys into base_prefix (fixes #996) 2013-04-30 14:02:17 +02:00
Guillaume Ayoub
406bb6e8cc Update copyright years 2013-04-26 01:28:03 +02:00
Guillaume Ayoub
bcdf00f85e Allow colon characters in passwords (fixes #1308) 2013-01-31 17:27:23 +01:00
Guillaume Ayoub
4c064bcf35 Clean rights from file and remove tests 2012-09-15 09:08:01 +02:00
Guillaume Ayoub
7b15832dbf Merge pull request #12 from matthiasjordan/master
File-based rights and testing
2012-09-14 05:23:24 -07:00
Guillaume Ayoub
e06cfa4de0 Handle "If-None-Match: *" HTTP headers for PUT requests 2012-08-31 17:24:32 +02:00
Matthias Jordan
e08aa6176c Less aggressive logging 2012-08-18 00:36:30 +02:00
Matthias Jordan
0c4562c01d Using different HTTP status codes in some cases where auth or rights are violated 2012-08-18 00:18:22 +02:00
Matthias Jordan
db708a0853 Checking rights only once. Also taking care of mistakenly checking
ownership of events. xmlutils is now unaware of rights.
2012-08-15 22:36:42 +02:00
Matthias Jordan
0722db04fb Extract method 2012-08-15 15:12:18 +02:00
Matthias Jordan
bc0b74c555 Using collection's URL for logging instead of its name 2012-08-11 00:57:15 +02:00
Guillaume Ayoub
98bbe61f67 Use relative imports 2012-08-09 17:31:36 +02:00
Guillaume Ayoub
9f446cb261 Fix GET requests 2012-08-09 16:00:31 +02:00
Guillaume Ayoub
17857654b0 Use the same import mechanisms for auth, storage, rights 2012-08-09 15:39:01 +02:00
Guillaume Ayoub
3ddbb80674 Fix OPTIONS requests 2012-08-09 14:29:44 +02:00
Guillaume Ayoub
4fa53d15b3 Fix the auth checking algorithm 2012-08-09 14:15:20 +02:00
Guillaume Ayoub
e33ee8ea7c Small fixes 2012-08-08 18:54:58 +02:00
Guillaume Ayoub
b4a7ada5f2 is_authorized returns True when no auth method is set 2012-08-08 18:44:25 +02:00
Guillaume Ayoub
45afac5353 Code cleaned and modules renamed
*Radicale is probably broken now*
2012-08-08 18:29:09 +02:00
Matthias Jordan
55a13d4c39 Merge remote-tracking branch 'upstream/master'
Conflicts:
	radicale/__init__.py
	radicale/acl/courier.py
2012-08-04 11:27:51 +02:00
Guillaume Ayoub
7d06d1b4d5 Version set to "git" 2012-08-03 14:37:40 +02:00
Guillaume Ayoub
0cf9b92ce7 Version 0.7.1 2012-08-03 14:37:02 +02:00
Guillaume Ayoub
7ae764fd4b Enhance readability according to PEP8 2012-08-03 14:08:11 +02:00
Matthias Jordan
e40e68b528 Separation of authentication and authorization. Separation of read and write authorization.
Static test strategies for authentication. Barely tested. Use at your own risk!
2012-08-03 13:10:20 +02:00
Guillaume Ayoub
a7481a0546 Clean the server's __call__ method, with comments and better variable names 2012-08-03 11:52:30 +02:00
Guillaume Ayoub
cff6c2b43b Return 204 response when an item is modified 2012-06-22 12:29:49 +02:00
Guillaume Ayoub
b5e94598e9 No etag returned when an added item doesn't have the same name as the one given by the client (closes #799) 2012-04-27 16:03:14 +02:00
Guillaume Ayoub
ca5c0483b0 Return 200 instead of 204 status for DELETE requests (closes #802) 2012-04-18 14:00:20 +02:00
Guillaume Ayoub
f6ace2b6ec Fix a bug with DELETE requests when deleted item is not found 2012-03-21 11:26:06 +01:00
Guillaume Ayoub
085c9f0aca Update the version to "git" 2012-03-20 18:45:12 +01:00
Guillaume Ayoub
d274044700 Version 0.7 2012-03-20 18:36:34 +01:00
Guillaume Ayoub
a9c74ae84d Always allow OPTIONS requests (fixes #780) 2012-03-20 13:31:10 +01:00
Guillaume Ayoub
344f87d8fb Add a config key to ignore reverse DNS (fixes #779) 2012-03-13 09:35:01 +01:00
Guillaume Ayoub
7bfc17a51d Use " instead of ' (you can laugh at me) 2012-03-01 10:40:15 +01:00
Guillaume Ayoub
f37c3a0b27 Let GET requests create address books too! 2012-02-23 16:16:14 +01:00
Guillaume Ayoub
22e4e3764c Explicitely create collections on GET requests 2012-02-23 15:28:45 +01:00
Guillaume Ayoub
9ebb143c44 Work around a bug in Evolution (fixes #664) 2012-02-03 15:58:08 +01:00
Guillaume Ayoub
9c4a85ef1f Merge branch 'carddav', and update copyright dates
Conflicts:
	radicale/__init__.py
	radicale/ical.py
	radicale/xmlutils.py
2012-01-23 16:21:30 +01:00
Guillaume Ayoub
022b2aa91f Clean and reorder calendar functions 2012-01-12 02:39:47 +01:00
Guillaume Ayoub
b1414c152d Split the storage filesystem backend into another file 2012-01-12 02:18:06 +01:00
Guillaume Ayoub
b56db741f4 Add support for Evolution VCard WebDAV 2012-01-04 19:47:34 +01:00
Guillaume Ayoub
8a4be02075 Add a (not tested) CardDAV support 2011-12-31 13:31:22 +01:00
Guillaume Ayoub
1f2f39a87a DELETE requests can delete calendars (closes #514) 2011-11-29 17:41:08 +01:00
Guillaume Ayoub
a2128a4787 Pylint cleanups 2011-11-04 22:30:17 +01:00
Guillaume Ayoub
0cdc5b06da Catch the exception instead of (errno, message) 2011-10-04 06:42:08 +02:00
Guillaume Ayoub
fc166da8ba Use the "as" keyword for exception mathing in a try/except block 2011-10-04 06:34:46 +02:00
Guillaume Ayoub
3689944372 Add a logger for answer status 2011-10-03 13:52:56 +02:00
Guillaume Ayoub
7560f26eb7 Fix the MOVE request (related to #587) 2011-10-03 13:52:22 +02:00
Guillaume Ayoub
fb9571dfbe Test if the SSL files can be read 2011-08-29 16:07:30 +02:00
Guillaume Ayoub
7180a0948a Set the version to "git", let's add some funky stuff into the 0.7 version! 2011-08-27 13:33:25 +02:00
Guillaume Ayoub
5c66241346 0.6.1 version 2011-08-27 13:29:38 +02:00
Guillaume Ayoub
4b87cb9181 Avoid the redirection loop (fixes #571) 2011-08-25 14:28:37 +02:00
Guillaume Ayoub
5f26c131a9 Redirect authenticated users with no calendar found 2011-08-21 16:30:59 +02:00
Guillaume Ayoub
5137709801 Don't redirect good but unauthorized users (fixes #571) 2011-08-21 14:59:43 +02:00
Guillaume Ayoub
e4523bf862 Clean the "Radicale works!" message, put it in the "get" method 2011-08-09 14:35:34 +02:00
Fabien LOISON
9179e5562a Display an 'It Works' message when the root URL is requested with the GET method 2011-08-04 18:13:52 +02:00
Guillaume Ayoub
6e454afe1b Preparing next version 2011-07-31 23:20:56 +02:00
Guillaume Ayoub
35a2f51a2e Version 0.6 2011-07-31 23:20:08 +02:00
Guillaume Ayoub
58cdbf7450 Remove environment variables from logs only if they are in the requests 2011-07-29 10:38:33 +02:00
Guillaume Ayoub
cdae6f04e9 Small pep8 related typo fixes 2011-07-26 09:02:21 +02:00
Guillaume Ayoub
4a630397ce Fix the HEAD request 2011-07-21 17:06:00 +02:00
Guillaume Ayoub
753ade5efc Add a status string for unknown status numbers 2011-07-20 23:37:18 +02:00
Guillaume Ayoub
0a84905383 Add a .pylintrc file, clean code 2011-07-14 11:23:19 +02:00
Marten Gajda
380acebd71 Add support for the Caldav-Sync Android client 2011-07-14 11:04:41 +02:00
Guillaume Ayoub
e9ad9b1716 Fix the iCal support (now tested with iCal, Lightning, Evolution) 2011-07-01 17:49:01 +02:00
Guillaume Ayoub
d17e8fa990 Don't use the environ user variable, pass user to all the methods functions 2011-06-30 18:22:47 +02:00
Guillaume Ayoub
49ba07db5a Add support of the MOVE method (not tested yet) 2011-06-29 23:57:56 +02:00