Commit Graph

1505 Commits

Author SHA1 Message Date
deronnax
fbbbaae646 indexed items storage
Conflicts:
	radicale/storage/filesystem.py
2015-02-07 14:23:51 +01:00
deronnax
240125aca7 don't pick timezones when asking for contacts 2015-02-07 14:11:43 +01:00
deronnax
0456d166cc simpler and faster unfold function 2015-02-07 14:11:18 +01:00
Jochen Sprickerhof
c43b473c4a Fix FutureWarning, explicitly test prop_element for None 2015-01-23 14:41:41 +01:00
Guillaume Ayoub
727b686089 Merge branch 'master' of github.com:Kozea/radicale 2015-01-12 18:43:07 +01:00
Guillaume Ayoub
7135367640 Version 0.10 2015-01-12 18:40:42 +01:00
Guillaume Ayoub
7772d11565 Merge pull request #202 from muggenhor/less-verbose-imap-ssl-warn
IMAP: don't spam the logs about non-SSL connections to localhost
2015-01-12 18:30:43 +01:00
Guillaume Ayoub
abb1de883b Allow PUT requests to change the whole calendar (see #250) 2015-01-05 15:45:24 +01:00
Guillaume Ayoub
6e715912f6 Handle headers other than PRODID and VERSION (fix #250) 2015-01-05 12:32:22 +01:00
Guillaume Ayoub
f2fc02501c Merge pull request #226 from meyerd/master
Only iterate props in REPORT request if they are there
2014-12-14 16:50:22 +01:00
Felix Lange
20b1a29149 fix color support
5f2245c35f introduced an additional alias for the
http://apple.com/ns/ical namespace. this can cause problems.
2014-11-11 21:26:29 +01:00
Marc Kleine-Budde
13c61bf936 auth/htpasswd: add support for salted sha1 passwords
This patch adds support for salted sha1 passwords.
2014-11-09 01:00:23 +01:00
Guillaume Ayoub
ea97c014b7 Don't crash because of missing SIGHUP on Windows
Fix #229.
2014-11-03 11:21:12 +01:00
Dominik
b561d1428b only iterate props in REPORT request if they are there 2014-10-25 20:28:50 +02:00
Guillaume Ayoub
c932ba230e Fix Python 3 compatibility 2014-10-22 16:28:08 +02:00
Guillaume Ayoub
33bee79f73 Merge pull request #191 from bouttier/reload-logger-config
Reload logger config on SIGHUP
2014-10-22 14:17:23 +02:00
Guillaume Ayoub
1c4c41ad0e Merge pull request #211 from vuntz/delete-multifilesystem
Remove props file when deleting a collection with multifilesystem
2014-10-22 14:15:02 +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
Guillaume Ayoub
124cf3f51a Merge pull request #224 from deronnax/decode_content_later
decode http resquest content later
2014-10-20 17:34:29 +02:00
deronnax
c180b4ace3 decode http resquest content later 2014-10-20 17:32:10 +02:00
Guillaume Ayoub
788b775c32 Merge pull request #198 from untitaker/discovery
Return user basepath for current-user-principal
2014-10-17 16:53:45 +02:00
Vincent Untz
71c243035e Remove props file when deleting a collection with multifilesystem 2014-09-18 14:21:10 +02:00
Vincent Untz
873872d541 Do not autocreate .props files for multifilesystem backend
This is required as we do not want .props files to be created for nodes,
otherwise they'll stop being considered as nodes, which will break
discovery of calendars.

This fixes https://github.com/Kozea/Radicale/issues/208
2014-09-15 17:42:33 +02:00
Guillaume Ayoub
a6884492a2 Version 0.9 2014-08-13 13:12:19 +02:00
Markus Unterwaditzer
4859436ba8 Return user basepath for current-user-principal
Fix #196

The way to do collection discovery described in
http://stackoverflow.com/a/11673483 doesn't work well with Radicale:

1. current-user-principal returns /user/calendar.ics/

2. PROPFINDs asking for calendar-home-set will return the URL that was
   used in the request, which is still /user/calendar.ics/

3. The final PROPFIND with Depth: 1 is supposed to list all collections,
   but because the request is done with a collection URL, Radicale returns
   the items for the "calendar.ics" collection which might or might not
   exist.
2014-08-09 23:01:13 +02:00
Giel van Schijndel
a040c666ca IMAP: don't spam the logs about non-SSL connections to localhost
When using IMAP as auth module every single request causes a warning to
be logged just because we're not encrypting traffic sent to another
process on the *same* machine.

This change recognizes that while some people might consider this
undesirable, others might have made this a conscious choice and *don't*
wish to be spammed for it. As such now only a single warning is logged
(the first time in the server's lifetime that a user logs in).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2014-08-09 22:39:16 +02:00
Guillaume Ayoub
2b4485f6ae Allow requests on root folder for authenticated users 2014-08-07 15:06:48 +02:00
Guillaume Ayoub
77ad16f2a9 Fix the PID number stored on filesystem 2014-08-07 12:31:51 +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
0822f99650 Allow full URLs in href tags for REPORT requests
Fixes #192
2014-08-05 15:42:39 +02:00
Élie Bouttier
ab04e38dc8 Reload logger config on SIGHUP
Particularly useful for logrotate.
2014-07-28 12:15:08 -07: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
35a0047b38 Merge pull request #182 from dnnr/serialize-sorted
Sort items before serializing to minimize diff
2014-07-28 11:21:48 +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
Guillaume Ayoub
bbe7588156 Merge pull request #189 from deronnax/revert#00674fe
revert of 00674fe
2014-07-28 10:49:29 +02:00
Guillaume Ayoub
cdad148bd0 else if → elif 2014-07-28 10:24:43 +02:00
Mathieu Dupuy
4643112511 deplace pid file creation in child process 2014-07-25 15:52:04 +02:00
Mathieu Dupuy
a94984b653 revert of 00674fe 2014-07-25 15:41:56 +02:00
Daniel Danner
1769a68719 Sort items before serializing to minimize diff 2014-07-09 17:41:57 +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
Guillaume Ayoub
c5f19bb05b Merge pull request #160 from red-hood/master
Allow tilde expansion for htpasswd file
2014-06-15 10:07:54 +02:00
Markus Unterwaditzer
030436327a Fix #143
Since all iCalendar objects have VCALENDAR inside them, that tag is
absolutely meaningless (in this context).
2014-06-04 22:55:35 +02:00
Christian Roeder
8673717838 Allow tilde expansion for htpasswd file
Call os.path.expanduser on the location given by the config parameter.
This will allow to use settings like
  htpasswd_filename = ~/.config/radicale/users
2014-05-14 01:42:19 +02:00
Guillaume Ayoub
6021f16866 Fix owner_* methods (fix #151) 2014-05-06 15:15:58 +02:00
Guillaume Ayoub
1ab07d84e6 Add some documentation about the "user" key in the "regex" rights module 2014-04-16 18:56:57 +02:00
Guillaume Ayoub
799dbfe612 Fix "authenticated" method 2014-04-16 17:05:20 +02:00
Guillaume Ayoub
3e893a3420 Merge pull request #142 from mike-perdide/authenticated_feature
Adding a new "authenticated" ACL type.
2014-04-15 16:48:19 +02:00
Julien Miotte
aabebb5578 Adding a new "authenticated" ACL type.
When set, all authenticated users will have rw permissions on all
collections, but no anonymous user will be able to read or write any
collection.
2014-04-09 00:02:39 +02:00
Julien Miotte
963e21212b Renaming the regex.py methods args for coherence. 2014-04-09 00:02:09 +02:00
Julien Miotte
6677dbcdc9 Moving the debug log at the proper place.
If we don't do this, we might get the following in the logs:

  2014-04-08 20:00:59,354 - DEBUG: Section 'r' matches
  2014-04-08 20:00:59,354 - DEBUG: Section 'r' does not match

which is a bit confusing.
2014-04-09 00:02:03 +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
f9ce1d0e6d Remove the backend/type split for rights in configuration 2014-02-05 14:11:40 +01:00
Guillaume Ayoub
2ad8b57305 Merge branch 'apache_auth' of git://github.com/jaesivsm/Radicale into jaesivsm-apache_auth
Conflicts:
	radicale/__init__.py
2014-02-05 13:09:37 +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
387e1fee76 Fix calendar/addressbook-home-set in PROPFIND response 2014-01-19 19:35:53 +01:00
Christoph Polcin
d09b16c5ad Fix principal-collection-set in PROPFIND response 2014-01-19 19:35:53 +01:00
Christoph Polcin
83db27303f Respond to all authenticated PROPFIND requests 2014-01-19 19:35:46 +01:00
François Schmidts
b9ff564c1f not only apache uses REMOTE_USER
removing the apache mention to make the config more "webserver agnostic"
2014-01-15 23:01:36 +01:00
François Schmidts
18ea7e4942 removing the user and password getting from main __call__ function 2014-01-15 22:40:33 +01:00
François Schmidts
34163c5020 making radicale support authenticated user from apache 2014-01-15 09:50:22 +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
Christoph Polcin
2ddec14535 Fix principal URLs in PROPFIND response 2014-01-05 21:22:53 +01:00
Sergey Fursov
1d0418594d Allow attach custom rights backend, small fix in default config file 2013-12-29 15:13:35 +04:00
Sergey Fursov
3b0328ca1e Allow attach custom storage backend 2013-12-28 14:15:35 +04:00
Sergey Fursov
a91a7790c5 Allow attach custom auth handler 2013-12-28 13:31:32 +04:00
Sergey Fursov
dca10fa14e Different rights management backends
Initially only one backend - regular expressions based
2013-12-25 03:44:24 +04:00
Guillaume Ayoub
0e566e4c97 Merge branch 'apple' 2013-12-24 11:22:57 +01:00
Guillaume Ayoub
a7be59b9f7 Merge pull request #92 from cristen/master
Fix wrong syntax in config file and fix #58
2013-12-24 02:21:43 -08:00
Jean-Marc Martins
7ac971e022 Fix wrong syntax in config file and fix #58 2013-12-23 16:45:15 +01:00
Guillaume Ayoub
fae2b30ec4 Merge branch 'master' of git://github.com/cristen/Radicale into cristen-master
Conflicts:
	radicale/storage/database.py
	schema.sql
2013-12-17 14:42:20 +01:00
Jean-Marc Martins
56581a998a Fix database Fix bug #77 HELL YEAH ! 2013-12-17 14:35:55 +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
Guillaume Ayoub
0c2c9c3a7e Store collection's parent in database (bug #77) 2013-10-31 16:07:37 +01:00
Guillaume Ayoub
a920518a26 Return an int for __hash__ 2013-10-31 14:05:15 +01:00
Guillaume Ayoub
ce8e86af63 Allow read-only access to .well-known/ca(l|rd)av (related to #32) 2013-10-31 13:57:37 +01:00
Guillaume Ayoub
92b3cf41bc Simple try/except import trick 2013-10-29 14:09:46 +01:00
Guillaume Ayoub
830774824e Merge pull request #75 from davidaurelio/master
Fix python 3 problems with default rights
2013-10-29 03:16:09 -07:00
Guillaume Ayoub
337d2719be Cosmetics 2013-10-29 09:30:51 +01:00
9m66p93w
6bc745fe45 Replace built-in hash function with hashlib.
The built-in hash function returns inconsistent values in Python 3.
2013-10-27 22:55:01 -04:00
David Aurelio
fb784c28c4 Fix python 3 problem: 'str' does not support the buffer interface 2013-10-27 22:36:56 +01:00
Guillaume Ayoub
fe1cd1d44d Use collection URL instead of main folder as user's main URL (see #32) 2013-10-24 15:31:49 +02:00
Guillaume Ayoub
a617c4db26 Fix authentication with Python 3 (see #70) 2013-10-18 14:06:57 +02:00
Guillaume Ayoub
659757f173 Style fixes 2013-10-01 13:04:24 +02:00
Štěpán Henek
7c03089601 Bugfix: auth PAM check for membership in primary and supplementary groups 2013-09-27 21:14:27 +02:00
Štěpán Henek
ee687bea18 Bugfix: auth PAM doesn't throw an exception when authenticating without username and password 2013-09-27 20:44:41 +02:00
Guillaume Ayoub
07f7e46b3e Small fixes 2013-09-25 13:04:14 +02:00
Jean-Marc Martins
a631c8c761 Fix compatibility between python2 and 3 2013-09-19 14:40:03 +02:00
Jean-Marc Martins
6c40f5e24a Merge branch 'authentication' of github.com:cristen/Radicale into authentication 2013-09-13 17:41:21 +02:00
Jean-Marc Martins
fe28b040bd Adds the committer in the config + python3 support 2013-09-13 17:26: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
Guillaume Ayoub
15d8a8eb84 Remove useless primary key from line table 2013-09-07 09:50:13 +02:00
Guillaume Ayoub
0e5ef007f1 Use table attribute instead of string in database order by (probably fixes #59) 2013-09-06 22:09:16 +02:00
Guillaume Ayoub
7266c8018f Merge pull request #61 from cristen/tests
Tests
2013-09-06 07:13:17 -07:00
Guillaume Ayoub
ff535b62b0 Remove useless config keys 2013-09-06 16:00:12 +02:00
Jean-Marc Martins
ce59d9ea87 Added functionnal tests 2013-09-05 15:13:31 +02:00
Guillaume Ayoub
dbb866a750 Don't create the repository for each change 2013-08-30 19:00:10 +02:00
Jean-Marc Martins
97a19405c4 Adds git support to Radicale (Fix #30) 2013-08-30 17:23:04 +02:00
Jean-Marc Martins
6e98b1b3e8 Adds multifilesystem storage backend (See #30) 2013-08-29 16:55:36 +02:00
Jean-Marc Martins
484933d4b6 Merge branch 'master' of github.com:Kozea/Radicale 2013-08-28 10:48:15 +02:00
Ossi Salmi
8c3cf6bccd Fix built-in owner_only right 2013-08-28 00:56:45 +03:00
Guillaume Ayoub
423feaec2a Get a random color for calendars with no color 2013-08-27 17:06:16 +02:00
Guillaume Ayoub
00b498677d Merge pull request #48 from jspricke/color
Add color support
2013-08-27 08:02:38 -07:00
Jean-Marc Martins
056dec5819 Decode urls in XML (fix #26) 2013-08-27 16:43:36 +02:00
Guillaume Ayoub
f09b070e40 Fix stupid bug in logs 2013-08-27 15:19:15 +02:00
Guillaume Ayoub
c0c652b3f8 Add documentation and example for rights management 2013-08-27 11:05:54 +02:00
Guillaume Ayoub
a884169487 Don't be so optimistic about collection detection.
For clients that can't create collections with MK* requests and that don't
use GET requests, is_leaf gives False for empty collections only reached
through a PROPFIND request. As Radicale can't create a collection for
each type of request, we have to strip the last part of path for paths ending
with .ics and .vcf, as they can be represent items and not collections.
2013-08-25 09:35:22 +02:00
Guillaume Ayoub
205600c2d1 Fix the test used to guess if a path is a collection 2013-08-24 01:26:06 +02:00
Guillaume Ayoub
2cd90c6a4a Use a simpler code to detect not-created-yet addressbooks 2013-08-23 13:40:17 +02:00
Guillaume Ayoub
61eedc2b7c Match stupid naming conventions used by Apple's clients for collections 2013-08-23 13:33:35 +02:00
Guillaume Ayoub
07a9ce8296 Fix owner_* rights with python2 (fix #49) 2013-08-21 06:58:30 +02:00
Jochen Sprickerhof
5f2245c35f Add color support
You can change the default color by changing the props (.props file for
the filesystem storage backend).
2013-08-17 12:16:37 +02:00
Guillaume Ayoub
f7f26afd6b Fix rights type "None" 2013-08-14 11:58:08 +02:00
Guillaume Ayoub
d1379e349a Don't check the file twice for rights 2013-08-14 10:52:50 +02:00
Guillaume Ayoub
586773148e Use a more simple rights manager 2013-08-14 10:50:59 +02:00
Guillaume Ayoub
3e3f07a6de Assume that the collection is an addressbook when "carddav" is in URL 2013-07-26 17:47:51 +02:00
Guillaume Ayoub
faa331ccc3 Change a couple of things in regex-based rights manager 2013-07-23 18:05:22 +02:00
mail@sweil.de
eed0f74fad New rights management method: regex
user and collection are matched against regular expression to determine read/write access
2013-07-19 15:16:36 +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
05dbd71eca Fix logging 2013-07-12 17:45:09 +02:00
Guillaume Ayoub
b60b759a36 Use extra parameter instead of formatted line in logger 2013-07-12 16:28:58 +02:00
Guillaume Ayoub
c4f2587fd9 Pylint 2013-07-12 15:25:57 +02:00
Guillaume Ayoub
18f5c334f1 Clean log module 2013-07-12 15:12:07 +02:00
Guillaume Ayoub
af30483f69 Fix docstring again 2013-07-09 18:33:35 +02:00
Guillaume Ayoub
7a6efedcff Fix docstring 2013-07-09 18:32:42 +02:00
Felix Lange
b737d17172 Print a debug message when the logging config file doesn't exist 2013-07-07 15:48:14 +02:00
Felix Lange
ada23997a9 Resolve logging configuration file when logging is started 2013-07-07 15:07:21 +02:00
Guillaume Ayoub
de1e57081b Put the realm in the configuration file (fix #37) 2013-06-28 16:39:09 +02:00
Guillaume Ayoub
70f8ee94d9 Fix supported-calendar-component-set for collection's components 2013-06-17 11:30:26 +02:00
Guillaume Ayoub
d38c4d1c1d Fix config files management 2013-06-04 16:59:21 +02:00
Guillaume Ayoub
8adb096de2 Fix the warning if the configuration file is not found 2013-06-04 15:12:06 +02:00
Guillaume Ayoub
61d063c610 Print a warning if the configuration file is not found 2013-06-04 16:00:46 +03:00
Guillaume Ayoub
847235f6e7 Read the configuration file for rights each time
We now re-parse the file each time we need to get the rights. It's
definitely too much, but it's not the slowest part of Radicale.
2013-05-22 18:49:30 +02:00
Guillaume Ayoub
1b098058bd Update the documentation about leading slash in right management file's sections 2013-05-15 22:49:48 +02:00
Guillaume Ayoub
ca0a1ecfde Log if the file used for rights management is not found 2013-05-15 22:49:02 +02:00
Guillaume Ayoub
fce91e7060 Allow ~ in rights filename 2013-05-15 22:41:51 +02:00
Guillaume Ayoub
45e844cda2 Fix a read/write mismatch in from_file rights manager 2013-05-15 22:29:40 +02:00
Guillaume Ayoub
dd7f886fcc Add content type for collection items 2013-05-14 13:18:12 +02:00
Guillaume Ayoub
b7aa5c8d14 Fix collection properties set by proppatch or mk* requests 2013-05-13 23:19:22 +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
040d3b87a8 Revert a strange commit (let's say I was tired) 2013-05-13 18:14:42 +02:00
Guillaume Ayoub
69e2eb0908 Store the supported-calendar-component-set property in the calendar properties 2013-05-10 14:56:17 +02:00
Guillaume Ayoub
e9e811d375 Allow requests with no maching items (ie. requests at "/") 2013-05-01 20:36:41 +02:00
Guillaume Ayoub
45c1647a92 Don't try TLS with SSL connections 2013-05-01 20:24:41 +02:00
Guillaume Ayoub
0f0bddedc9 Fix types of IMAP config parameters 2013-05-01 20:24:05 +02:00
Guillaume Ayoub
9a49be1e10 Don't try to login with IMAP and courier when user or password is empty 2013-05-01 20:23:03 +02:00
Guillaume Ayoub
e4af425893 Fix some corner-cases for requests at root path 2013-05-01 20:13:51 +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
eaa969a05c Merge pull request #24 from vuntz/radicale-in-subdir
Allow running radicale in a subdir, as well as in a subdir behind a proxy
2013-04-26 08:33:12 -07:00
Guillaume Ayoub
5c4fb8529d Fix modification time for not-created-yet collections 2013-04-26 13:29:24 +02:00
Guillaume Ayoub
406bb6e8cc Update copyright years 2013-04-26 01:28:03 +02:00
Guillaume Ayoub
22077aa7a1 Clean the http-based auth module 2013-04-26 01:14:33 +02:00
Guillaume Ayoub
494ffbd762 Merge pull request #15 from MelianLabs/http
Added HTTP-based authentication
2013-04-25 16:07:49 -07:00
Guillaume Ayoub
2738d10830 Support SSL for IMAP authentication
Based on Nikita Koshikov's commit:
https://github.com/interlegis/Radicale/commit/000fc2a
2013-04-26 00:56:56 +02:00
Guillaume Ayoub
a01e4d18e1 Clean database storage code 2013-04-20 12:59:56 +02:00
Guillaume Ayoub
16c6f55ebd Initial *untested* support for database storage 2013-04-20 12:51:32 +02:00
Jonathan Dupart
7a96578ca4 Typo: missing comma
sync-collection and expand-property where returned concatenated in
PROPFIND answers.
2013-04-09 00:42:25 +02:00
Vincent Untz
74590cfd0c Add proxy_base_prefix option to help run in a subdir behind a proxy
I have a setup where Radicale is running as the normal process, and
nginx is acting as proxy for Radicale for requests under /radicale/.
This means that all requests to nginx that go to /radicale/ are sent to
a radicale server that expects requests coming at /.

Obviously, all the href need to have the /radicale/ prefix to have
things work. So a new option proxy_base_prefix is added to allow having
such a setup.

All href that are sent in the replies will have the proxy_base_prefix
prepended.
2013-03-18 18:20:06 +01:00
Vincent Untz
0dbf71f57f Fix issues with base_prefix option 2013-03-18 18:13:28 +01:00
Fabrice Bellet
54bda5594c Handle use in a subdir. Patch from Clint Adams <clint@softwarefreedom.org> adapted from http://redmine.kozea.fr/issues/996 2013-03-18 18:10:13 +01:00
Guillaume Ayoub
b6b48b5af7 Typo 2013-02-27 10:36:54 +01:00
Christoph Polcin
9972897d75 accepts PROPFIND whitout request body 2013-02-26 00:45:08 +01:00
Guillaume Ayoub
dd94660ef0 Use "is None" instead of "== None" 2013-02-01 00:16:31 +01:00
Guillaume DOTT
85a7b7db50 Prevent exception in from_file when user is None 2013-01-31 22:41:50 +01:00
Guillaume Ayoub
bcdf00f85e Allow colon characters in passwords (fixes #1308) 2013-01-31 17:27:23 +01:00
Guillaume Ayoub
151f82c593 Typo 2013-01-16 11:16:16 +01:00
Mark Adams
d23cabf8f6 Added -C command line flag for specifying configuration file location. 2013-01-15 13:18:09 -06:00
Guillaume DOTT
5a3f0e4d97 Handle exceptions when looking for rights in a file 2012-12-11 15:03:29 +01:00
Ehsanul Hoque
dbc622e8d7 Added HTTP-based authentication
The purpose of this is in order to tie CalDAV accounts to an external web
application. This application must provide a URL end point to which a POST
request can be made, with the username/password sent as the payload. A 200 or
201 response is considered successful authentication. Any other response is
a failure.
2012-09-28 09:52:17 +06: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
Matthias Jordan
e3bc6afdd3 Added file-based rights management 2012-08-11 00:56:45 +02:00
Guillaume Ayoub
237f42909a Add owner_write rights manager 2012-08-09 17:32:03 +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
e14bed9f95 Add rights section in config module 2012-08-08 18:45:55 +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
Guillaume Ayoub
a17ad1b6a3 Un-revert some lost commits 2012-08-08 16:37:18 +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
Guillaume Ayoub
f593ab0fbd Set the maximuml line length to 79 instead of 80 2012-08-03 13:55:52 +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
9d193b6b30 Don't start Radicale when PID file exists (fixes #890) 2012-08-03 00:29:06 +02:00
Guillaume Ayoub
83baebd750 PEP8 and cleanup for the new IMAP ACL module 2012-07-16 19:09:35 +02:00
Daniel Aleksandersen
e2d9f79dc4 Default config values for IMAP ACL
Hostname ``localhost``on port ``143`` (standard port).
2012-07-05 20:54:33 +02:00
Daniel Aleksandersen
360d4e6411 New IMAP ACL
Secure authentication based on the ``imaplib`` module.

Validating users against a modern IMAP4rev1 server that awaits STARTTLS
on port 143. Legacy SSL (often on legacy port 993) is deprecated and
thus unsupported. STARTTLS is enforced except if host is ``localhost``
as passwords are sent in PLAIN.

Python 3.2 or newer is required for TLS.
2012-07-05 20:52:10 +02:00
Daniel Aleksandersen
a45b7b7c23 Return the group database entry 2012-07-04 15:56:15 +03:00
Guillaume Ayoub
5a260d33db Merge pull request #6 from antonyc/patch-1
Fix typo in config file for htpasswd* entries
2012-07-02 04:43:14 -07:00
Benjamin Frank
03fc5fc526 Fix Courier ACL
Replaced blacklisting approach with a whitelisting on, thus preventing access
due to responses from authlib not containing the word 'FAIL', e.g. empty ones
(see http://www.courier-mta.org/authlib/README_authlib.html#authpipeproto)
2012-07-02 13:30:28 +02:00
Guillaume Ayoub
ea94ec919e Use the right namespace for adressbook tags 2012-06-28 11:28:42 +02:00
antonyc
c0ed505f78 I tried to start a dev installation with htpasswd and found this typo. 2012-06-23 01:01:45 +04:00
Guillaume Ayoub
cff6c2b43b Return 204 response when an item is modified 2012-06-22 12:29:49 +02:00
Guillaume Ayoub
e471d15f00 Merge branch 'master' of github.com:Kozea/Radicale 2012-06-14 16:36:20 +02:00
Guillaume Ayoub
25c3648d75 Add a dummy filter for item tags
Related to #53
2012-06-14 16:35:32 +02:00
Oskari Timperi
209b9e4307 Set the D:displayname for collections in PROPFIND response
Atleast Nokia N9 shows the displayname to user. If the
property is empty, a calendar with empty name is shown.
Which is annoying.
2012-05-24 12:48:48 +03: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
c3ce8fde38 In PROPFIND responses, add the not-yet-created collection type when it can be guessed
Maybe related to #795
2012-04-11 19:50:18 +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
505fd6a644 List the aggregation of privileges instead of only "all" 2012-03-19 12:35:39 +01:00
Guillaume Ayoub
cc23d9dd8d Small cleanup about LDAP 2012-03-13 10:47:01 +01:00
Guillaume Ayoub
3bfd6352b2 Merge pull request #3 from koppor/master
Added support for custom filters at LDAP
2012-03-13 02:42:37 -07:00
Guillaume Ayoub
344f87d8fb Add a config key to ignore reverse DNS (fixes #779) 2012-03-13 09:35:01 +01:00
Oliver Kopp
0c2bbb8ae1 LDAP: custom filters supported 2012-03-10 21:59:06 +01:00
Guillaume Ayoub
7bfc17a51d Use " instead of ' (you can laugh at me) 2012-03-01 10:40:15 +01:00
Guillaume Ayoub
36918232c0 Better detection of vcards 2012-02-23 16:20:21 +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
128a20714b Use is_leaf and is_node instead of is_item and is_collection 2012-02-23 15:17:59 +01:00
Guillaume Ayoub
5e8dec6683 Ignore the .props when giving children 2012-02-20 17:45:47 +01:00
Guillaume Ayoub
224d0d47e8 Fix the collection detection 2012-02-20 17:41:36 +01:00
Guillaume Ayoub
97f8738465 Return the collections and the items in collections 2012-02-20 16:32:42 +01:00
Guillaume Ayoub
d256a0551c Fix an indentation bug 2012-02-20 16:32:32 +01:00
Guillaume Ayoub
f9d041ba6b Use relative imports for acl and storage modules 2012-02-08 16:56:58 +01:00
Guillaume Ayoub
8dcc613f0a Don't use the VADDRESSBOOK tag anymore (closes #667) 2012-02-03 18:01:03 +01:00
Guillaume Ayoub
9ebb143c44 Work around a bug in Evolution (fixes #664) 2012-02-03 15:58:08 +01:00
Guillaume Ayoub
4893f94920 Clean the calendar-timezone proppatch setter 2012-01-25 20:23:37 +01:00
Guillaume Ayoub
cd33a6cc51 Reconnect to the LDAP server when the connexion is lost (fixes #656) 2012-01-25 19:19:02 +01:00
Guillaume Ayoub
4299348776 Change "calendar" into "collection" when needed.
WARNING: the default folders storing calendars/addressbooks have been changed
2012-01-25 14:53:46 +01:00
Guillaume Ayoub
d5b1cdcbf2 Add the tag when writing calendars (closes #658) 2012-01-25 14:43:47 +01:00
Guillaume Ayoub
54aa8817e7 Add the "set_mimetype" method forgotten during the merge (closes #657) 2012-01-25 14:40:28 +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
6eb9b21aac Merge branch 'git' 2012-01-23 15:50:17 +01:00
Guillaume Ayoub
5b680d1400 Remove brackets inserted in UIDs by Outlook 2012-01-18 17:47:18 +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
a4a52c71d2 Use a clean way to manage calendars and address books different serialization 2012-01-06 19:42:20 +01:00
Guillaume Ayoub
1dfa887384 Fix the GET and REPORT requests for vcards 2012-01-06 19:01:52 +01:00
Guillaume Ayoub
fd3eacfe01 Ignore .props files for collections children 2012-01-05 22:56:59 +01:00
Guillaume Ayoub
bff01db29b Manage addressbook-multiget and address-data 2012-01-05 21:58:50 +01:00
Guillaume Ayoub
f11e78a3f4 Answer addressbook-home-set, fix the collection children detection 2012-01-05 21:49:34 +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
f2d491ea61 Remove double slashes in report href URLs (related to #618) 2011-12-07 12:38:45 +01:00
Guillaume Ayoub
1f2f39a87a DELETE requests can delete calendars (closes #514) 2011-11-29 17:41:08 +01:00
Guillaume Ayoub
74c16e6402 Use a simple getattr to get the LDAP scope 2011-11-29 12:58:28 +01:00
Gerhard Schmidt
5d55b2868f Add the support of the LDAP scope configuration 2011-11-29 12:54:38 +01:00
Guillaume Ayoub
a2128a4787 Pylint cleanups 2011-11-04 22:30:17 +01:00
Guillaume Ayoub
756c4aaf7e Put the executable script in the radicale package
Conflicts:

	NEWS.rst
2011-11-03 17:49:00 +01:00
Guillaume Ayoub
14a6cd10b4 Fix a try/catch 2011-10-27 13:26:05 +02:00
Guillaume Ayoub
12bb8a287a Add default config keys for additional auth modules 2011-10-24 18:02:40 +02:00
Guillaume Ayoub
fe0f3020a4 Stop being stupid for report requests 2011-10-24 13:14:56 +02: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
0b71acabe6 Add an empty line (it's a source of stress for me, I'm sorry) 2011-10-03 00:34:01 +02:00
Guillaume Ayoub
e545df5722 Only set the principal tag for root folders (related to #580) 2011-09-25 21:16:24 +02:00
Guillaume Ayoub
160e296ed1 Turn backslashes into slashes on Windows (fixes #581) 2011-09-25 19:41:24 +02:00
Guillaume Ayoub
4d97758e34 Support repeating events (fixes #574) 2011-09-04 22:54:13 +02:00
Guillaume Ayoub
fb9571dfbe Test if the SSL files can be read 2011-08-29 16:07:30 +02:00
Guillaume Ayoub
6ef7e1857a Clean the PAM and Courier acls 2011-08-29 11:54:21 +02:00
Guillaume Ayoub
ae5a68fa6a Merge branch 'master' into auths 2011-08-29 10:02:01 +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
Henry-Nicolas Tourneur
8f864f3e96 Removing old header comment 2011-08-14 20:51:41 +02:00
Henry-Nicolas Tourneur
7e8838c430 Initial code for the Courier-Authdaemon authentication module 2011-08-14 20:49:10 +02:00
Henry-Nicolas Tourneur
3a134c44c6 Documentation header update 2011-08-14 20:21:38 +02:00
Henry-Nicolas Tourneur
82bd62e21c Initial code for PAM ACL module 2011-08-14 19:52:44 +02:00
Guillaume Ayoub
e4523bf862 Clean the "Radicale works!" message, put it in the "get" method 2011-08-09 14:35:34 +02:00
Guillaume Ayoub
50cdbf6efb Fix bug with sha1 passwords (closes #570) 2011-08-09 11:34:10 +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
8f488eb6bc Fix the owner attriubtion for 1+ depth URLs 2011-07-22 15:01:33 +02:00
Guillaume Ayoub
6bbf3f624f Fix the owner attribution of calendars 2011-07-22 15:00:25 +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
5ea41e5f4b Fix the Python 3 support of pretty_xml 2011-07-20 23:14:00 +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
3356d3235f Add the XML declaration 2011-07-07 12:38:56 +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
3d7f07dc0c Fix the href URL in propfind 2011-06-30 18:05:24 +02:00
Guillaume Ayoub
49ba07db5a Add support of the MOVE method (not tested yet) 2011-06-29 23:57:56 +02:00
Guillaume Ayoub
73390c922e Sort the methods in the server class 2011-06-29 11:04:09 +02:00
Guillaume Ayoub
21d435b560 Minor typo fixes 2011-06-16 10:40:30 +02:00
Guillaume Ayoub
1d67706b56 Clean the calendar paths 2011-06-16 10:39:36 +02:00
Guillaume Ayoub
af10a2f1c4 Fix URLs in report requests 2011-06-16 07:54:55 +02:00
Guillaume Ayoub
de0643e741 Fix propfind paths 2011-06-16 07:50:21 +02:00
Guillaume Ayoub
87a4a4e012 Merge branch 'master' into lightning 2011-06-15 23:22:49 +02:00
Pieter Naaijkens
00d8b08341 Merge URI sanitize fix 2011-06-15 23:21:26 +02:00
Guillaume Ayoub
264bc66051 Merge branch 'master' into lightning 2011-06-13 23:01:42 +02:00
Guillaume Ayoub
da42112740 Allow the `None` value for public and private calendars 2011-06-13 22:32:47 +02:00
Guillaume Ayoub
f9836ab093 Clean support of public calendars, add support of private calendars 2011-06-13 22:15:52 +02:00
Guillaume Ayoub
3149643706 Log "nobody" instead of "None" as anonymous calendars owner. 2011-06-11 18:14:08 +02:00
Guillaume Ayoub
fe71b34697 Use 'key in dict' instead of 'dict.get(key)' 2011-06-08 08:20:37 +02:00
Guillaume Ayoub
b8bcf65785 Restore the Lightning + anonymous calendars support 2011-06-08 07:43:40 +02:00
Roberto De Ioris
4bd425608d get config filename from env variable RADICALE_CONFIG 2011-06-07 17:44:53 +02:00
Guillaume Ayoub
ec9e410659 Clean a docstring 2011-06-05 12:52:24 +02:00
Guillaume Ayoub
080e4984aa Don't use isinstance(root, ET.Element) as ET.Element is a function in Python 2.6 2011-06-05 12:47:45 +02:00
Guillaume Ayoub
e9935ae1a6 Use % instead of format for consistency (and Python 2.6 support) 2011-06-05 12:34:50 +02:00
Guillaume Ayoub
dd6063ccb6 Give an UID if none has already been set 2011-06-05 12:31:00 +02:00
Guillaume Ayoub
fadd5dd675 Minor documentation and typo fixes caused by my insane love for PEP-3101 and pylint 2011-06-02 20:15:07 +02:00
Lukasz Langa
f7868afed1 iCal bootstrapping using a default URL works 2011-06-01 22:33:18 +02:00
Lukasz Langa
1510e6c194 Create directories for .props as well. 2011-06-01 18:59:53 +02:00
Lukasz Langa
537d6b6fd2 Create the directory structure if none found. 2011-06-01 18:22:26 +02:00
Lukasz Langa
1e6a4e7fb4 timezone is a part of the VCALENDAR file 2011-06-01 17:46:46 +02:00
Lukasz Langa
31edc1b03d explicit component content-types for iCal 2011-06-01 16:22:36 +02:00
Lukasz Langa
710b518b0f Without the newline iCal complains in the logs:
11-06-01 16:11:06 iCal[12955] Unexpected EOF, returning last token as fallback
2011-06-01 16:21:03 +02:00
Lukasz Langa
5b9180c295 The owner field should be an URL. Fixes delays in iCal. 2011-06-01 15:30:47 +02:00
Lukasz Langa
8bcdb5b1dc py3k-compatible next() used. Works with 2.6-2.7 as well. 2011-06-01 14:22:15 +02:00
Lukasz Langa
e05e94a129 preliminary iCal/iPhone support introduced 2011-06-01 12:43:49 +02:00
Lukasz Langa
911cd48efe proppatch actually writes properties. 2011-05-24 17:33:57 +02:00
Lukasz Langa
85e283830a MKCALENDAR now actually creates the calendar. 2011-05-24 16:12:35 +02:00
Lukasz Langa
b230601ee2 elementtree in Python 2.x would rather receive encoded strings. 2011-05-24 15:09:37 +02:00
Guillaume Ayoub
ca9c148705 Set calendars always personal with authentication activated 2011-05-17 00:10:36 +02:00
Guillaume Ayoub
7c0e9686a8 Minor typo fix 2011-05-15 19:53:40 +02:00
Guillaume Ayoub
06f1987975 Add an option to store PID in daemon mode 2011-05-13 22:50:55 +02:00
Guillaume Ayoub
bd2c50dadf Log user login instead of calendar owner for sucessful accesses 2011-05-13 22:26:53 +02:00
Guillaume Ayoub
e7ba2ab78b Register XML namespaces cleanly with Python 2.7+ and 3.2+
The old code was relying on a largely used but private variable.
Moreover, it was bugged with the empty string for "D", adding ":"
instead of nothing at the beginning of tag names with Python 2.6,
3.0 and 3.1, breaking at least the Lightning support.

This new code still relies on the private variable for old
Python versions, but uses the good-way™ for actual and future
versions. No default namespace is used for old versions, but
that's not that bad.
2011-05-13 22:03:50 +02:00
Guillaume Ayoub
261ea03518 Add full_environment in configuration module 2011-05-13 10:15:21 +02:00
Guillaume Ayoub
4f3b574e35 Minor typo fixes 2011-05-13 10:13:56 +02:00
Guillaume Ayoub
70e66ed070 Merge commit 'refs/merge-requests/10' of git://gitorious.org/radicale/radicale into merge-requests/10 2011-05-12 17:31:32 +02:00
Łukasz Mierzwa
d49776af8d just a small logging fix so that we got 'anonymous user' in logs instead of calendar owner if user is not authenticated 2011-05-11 22:12:10 +02:00
Guillaume Ayoub
5a0f841968 Revert "Remove useless calls to _tag", that was breaking the pretty namespaces
This reverts commit 3b17ed2969.
2011-05-11 18:12:23 +02:00
Lukasz Langa
6ba69f22a4 Pretty formatting and filtering of environment variables. 2011-05-11 17:09:44 +02:00
Lukasz Langa
ae0851be35 treat the DAV namespace as default (XML output is nicer) 2011-05-11 16:24:55 +02:00
Lukasz Langa
663fda4ecb add the Apple iCal namespace to registry 2011-05-11 16:24:20 +02:00
Lukasz Langa
afcfb11fde Revert "Remove useless calls to _tag"
This reverts commit 3b17ed2969.
2011-05-11 15:05:23 +02:00
Lukasz Langa
d228bcbad2 report needs a content-type as well. 2011-05-11 14:57:27 +02:00
Guillaume Ayoub
8f2335093d Always return pretty XML 2011-05-11 11:20:39 +02:00
Guillaume Ayoub
0328b2244b Use the internal decoder to log requests 2011-05-11 08:43:03 +02:00
Guillaume Ayoub
3b17ed2969 Remove useless calls to _tag 2011-05-11 08:39:32 +02:00
Guillaume Ayoub
ac83dadc9c Typo fix 2011-05-11 08:13:33 +02:00
Guillaume Ayoub
77ab37c49c Enhance readability 2011-05-11 06:56:34 +02:00
Guillaume Ayoub
58c6fe399c Cut a long line 2011-05-11 06:50:17 +02:00
Guillaume Ayoub
6121bc882a Disable a useless pylint warning 2011-05-11 06:37:30 +02:00
Guillaume Ayoub
ce362e1b50 Drop Python 2.5 support 2011-05-11 06:21:35 +02:00
Guillaume Ayoub
aacfa8ff46 Various minor typo fixes 2011-05-11 06:19:05 +02:00
Guillaume Ayoub
7e1815cbeb Merge commit 'refs/merge-requests/9' of git://gitorious.org/radicale/radicale into merge-requests/9 2011-05-11 05:01:00 +02:00
Lukasz Langa
485e375139 Minor py3k compatibility changes: iteritems() doesn't exist on Python 3.x, logged text must be Unicode. 2011-05-10 19:16:03 +02:00
Guillaume Ayoub
2830afd71d Allow authentication before LDAP searches (patch from Łukasz) 2011-05-10 14:45:54 +02:00
Lukasz Langa
0d8fa5db6b More deprecation fixes
xmlutils.py:116: DeprecationWarning: This method will be removed in future
                 versions.  Use 'list(elem)' or iteration over elem instead.
prop_list = prop_element.getchildren()
2011-05-10 14:21:13 +02:00
Lukasz Langa
4230ec2fa9 Use pretty namespace prefixes in output. 2011-05-09 17:02:31 +02:00
Lukasz Langa
32b01d60fc in debug mode, prettify XML output for analysis 2011-05-09 16:51:58 +02:00
Lukasz Langa
6b5db413c5 logging and debugging fixes
* optparse values may not be strings, ConfigParser requires strings

* forcing DEBUG level should work for all handlers regardless of configuration
  source (file, command line options)
2011-05-09 16:43:41 +02:00
Lukasz Langa
4212f6dfe0 the replaced syntax is deprecated 2011-05-09 14:04:17 +02:00
Lukasz Langa
00fb296ed7 take encryption function from globals() rather than locals() 2011-05-09 13:56:53 +02:00
Guillaume Ayoub
0171690af5 Set personal calendars in the default configuration 2011-05-09 00:12:22 +02:00
Guillaume Ayoub
44b11db1ae Typo fix in a logging message 2011-05-07 14:32:21 +02:00
Guillaume Ayoub
899379d073 Add a default logging configuration file, and small typo fixes 2011-05-07 12:52:54 +02:00
Guillaume Ayoub
e87ffeadb1 Remove default request logging 2011-05-07 12:18:32 +02:00
Guillaume Ayoub
f39d90caa9 Catch all LDAP exceptions 2011-05-06 17:11:13 +02:00
Guillaume Ayoub
51853a22bc Manage empty strings for CONTENT_LENGTH header 2011-05-06 15:02:29 +02:00
Guillaume Ayoub
a2f1e173d6 Clean code and add comments using pylint 2011-05-01 20:36:39 +02:00
Guillaume Ayoub
421189e263 Get CONTENT_LENGTH as it may be absent 2011-05-01 19:08:15 +02:00
Guillaume Ayoub
0202756540 Cast header item into list for Python 3.x compatibility 2011-05-01 17:51:27 +02:00
Guillaume Ayoub
882d70e2cb Make the HTTPServer class inherit from object 2011-05-01 16:45:04 +02:00
Guillaume Ayoub
6389411edd Add support for SSL back 2011-05-01 15:25:52 +02:00
Guillaume Ayoub
2fd6efae14 Simple support for WSGI (no SSL yet) 2011-05-01 14:46:29 +02:00
Rémi Hainaud
dcecc68223 Fix log encoding for requests 2011-04-28 19:05:21 +02:00
Rémi Hainaud
474113454b Add support for iCal (closes #252) 2011-04-28 18:36:33 +02:00
Guillaume Ayoub
c1da6872dd Add support for PROPPATCH requests 2011-04-28 18:04:34 +02:00
Guillaume Ayoub
eb52368550 Unfold lines in iCal files 2011-04-25 20:35:51 +02:00
Guillaume Ayoub
39f7c7a96f Fix support of owner-less calendars 2011-04-25 20:12:37 +02:00
Guillaume Ayoub
d061c09344 Add support for VJOURNAL items (closes #435) 2011-04-25 19:38:03 +02:00
Guillaume Ayoub
5f14a92633 Print request headers and not response headers 2011-04-25 19:36:19 +02:00
Guillaume Ayoub
0a0764e789 Add responses headers and content in logs 2011-04-25 19:15:16 +02:00
Guillaume Ayoub
12a8e01492 Clean LDAP support 2011-04-25 16:47:42 +02:00
Guillaume Ayoub
78e52d5cf4 Revert changes in __init__ 2011-04-25 13:35:17 +02:00
Guillaume Ayoub
af285e5db9 Revert changes in xmlutils 2011-04-25 13:33:48 +02:00
Guillaume Ayoub
43a1886546 Merge commit 'refs/merge-requests/8' of gitorious.org:radicale/radicale into merge-requests/8 2011-04-25 13:29:51 +02:00
Guillaume Ayoub
17f5c85f2d Add support for supported-report-set in propfind requests (related to #252) 2011-04-15 21:33:53 +02:00
Corentin Le Bail
938aa85aed Coninuing the merge 2011-04-10 19:19:59 +02:00
Corentin Le Bail
c34d5cd7cd Merge branch 'master' of git://gitorious.org/radicale/radicale 2011-04-10 19:17:51 +02:00
Corentin Le Bail
c890d6e55a Merge with radicale/master 2011-04-10 19:17:35 +02:00
Corentin Le Bail
96bded2bbc Merge branch 'master' of git://gitorious.org/radicale/radicale
Conflicts:
	config
	radicale/__init__.py
	radicale/config.py
	radicale/log.py
2011-04-10 18:55:49 +02:00
Guillaume Ayoub
5673444ba7 Clean owner-less calendars support (fixes #254) 2011-04-10 18:51:38 +02:00
Guillaume Ayoub
6c65cc1539 Merge commit 'refs/merge-requests/6' of gitorious.org:radicale/radicale into merge-requests/6 2011-04-10 18:37:23 +02:00
Guillaume Ayoub
d9ea784e31 Add logs (fixes #162) 2011-04-10 18:17:06 +02:00
Corentin Le Bail
b92f9871ac Merge branch 'master' of git://gitorious.org/~clebail/radicale/ares-radicale
Conflicts:
	radicale/__init__.py
2011-04-10 09:35:44 +02:00
Corentin Le Bail
f8137315c0 Merge branch 'master' of git://gitorious.org/radicale/radicale
Conflicts:
	radicale/__init__.py
2011-04-10 09:35:01 +02:00
System User
08b145e5ca Merge branch 'master' of git://gitorious.org/radicale/radicale
Conflicts:
	radicale/__init__.py
2011-04-07 16:30:46 +02:00
System User
6b8db006b6 Log most verbose
Stdout for default log output
2011-04-07 16:27:47 +02:00
Guillaume Ayoub
48be062d38 Disable IPv6 in default configuration 2011-04-02 21:49:48 +02:00
Guillaume Ayoub
9bab3cde5d Clean IPv6 support 2011-04-02 21:45:45 +02:00
Guillaume Ayoub
d577661767 Merge commit 'refs/merge-requests/3' of git://gitorious.org/radicale/radicale into merge-requests/3 2011-04-02 18:42:20 +02:00
Guillaume Ayoub
4b737667e3 Version bump 2011-04-02 11:57:23 +02:00
Guillaume Ayoub
b19b4c8810 0.5 version 2011-04-02 11:37:42 +02:00
René 'Necoro' Neumann
72c57a042d Allow missing owner 2011-03-25 01:30:34 +01:00
Corentin Le Bail
6fc00a3197 Default logfile 2011-02-22 18:13:35 +01:00
System User
a4024f8183 Logging to stdout, syslog or file 2011-02-22 15:46:42 +01:00
System User
bb7f36fc59 Merge branch 'master' of git://gitorious.org/~clebail/radicale/ares-radicale
Conflicts:
	radicale/xmlutils.py
2011-02-17 10:42:02 +01:00
Corentin Le Bail
35e277252b Multiple logging sextion in default config 2011-02-16 14:50:42 +01:00
Corentin Le Bail
284063a270 Merge branch 'master' of git://gitorious.org/~clebail/radicale/ares-radicale
Conflicts:
	config
	radicale/acl/authLdap.py
	radicale/config.py
	radicale/log.py
2011-02-16 14:17:28 +01:00
Corentin Le Bail
50919133ac Logging 2011-02-16 13:53:27 +01:00
System User
1f1d051656 Merge remote branch 'radicale/master' 2011-02-14 10:07:05 +01:00
Guillaume Ayoub
2e1b51e3c1 Softly ignore /user/ PROPFIND and REPORT requests (references #181) 2011-02-12 12:05:02 +01:00
René 'Necoro' Neumann
396d7c3721 First support for IPv6 and multiple interfaces 2011-02-08 19:27:00 +01:00
Guillaume Ayoub
9b535ba4b2 Add support for MKCALENDAR requests 2011-02-01 17:01:30 +01:00
Guillaume Ayoub
9874129bbb Add simple support for calendar-user-address-set (references #181) 2011-01-27 00:04:30 +01:00
Guillaume Ayoub
04938243a8 Update copyright year 2011-01-09 17:46:22 +01:00
Guillaume Ayoub
d11d4cc8c1 Pylint, remove fixed todos 2011-01-09 17:41:42 +01:00
Guillaume Ayoub
039e868e5f iPhone support, thank you Andrew 2011-01-07 15:25:05 +01:00
System User
9d012fb76f Merge branch 'master' of git://gitorious.org/radicale/radicale 2011-01-03 15:29:53 +01:00
Guillaume Ayoub
dcabf4249e Adding the calendar-home-set property management 2010-12-29 19:10:56 +01:00
Guillaume Ayoub
c39ac102e8 Remove a done/rejected TODO 2010-12-29 16:47:07 +01:00
System User
3a9226ca80 Merge branch 'master' of git://gitorious.org/radicale/radicale
Conflicts:

	radicale/xmlutils.py
2010-12-23 10:10:40 +01:00
System User
55d67e629d Logging 2010-12-23 10:06:37 +01:00
Guillaume Ayoub
091d89889d Fix get requests for whole calendar 2010-12-20 15:49:48 +01:00
Guillaume Ayoub
72f3af9ab9 Fix bug caused by commit:673da6a9 2010-12-17 17:19:39 +01:00
System User
8ad91b74b6 cn => dn
Default configuration
2010-12-02 17:58:56 +01:00
System User
766adcda50 os.path.expanduser for logging file name 2010-12-02 16:57:02 +01:00
System User
77ff57eb72 Add class for logging in log file 2010-12-02 16:42:16 +01:00
System User
8a86f57304 Adding LDAP authentification 2010-12-02 10:01:09 +01:00
Guillaume Ayoub
673da6a90a Merge Nicolas Évrard changes - Content-type added on multi-status responses and depth handled in propfind 2010-11-30 11:57:37 +01:00
Guillaume Ayoub
2add4ae801 Merge branch 'master' of gitorious.org:radicale/radicale 2010-11-11 21:48:09 +01:00
Guillaume Ayoub
50e1366e8c Only write calendar file when needed (closes bug #192) 2010-11-11 21:46:13 +01:00
Ronan Dunklau
47815347fb Fixed a bug when altering the only event on a calendar 2010-09-30 16:57:23 +02:00
Guillaume Ayoub
076b6b60a4 Fix the PROPFIND request management (list events and todos) 2010-09-28 16:32:47 +02:00
Guillaume Ayoub
040b125377 Cut long lines 2010-09-28 16:04:17 +02:00
Guillaume Ayoub
9b153d56cc Add support for supported-report-set PROPFIND tag 2010-09-14 05:06:46 +02:00
Guillaume Ayoub
71819cdb39 Support displayname and principal-URL tags in PROPFIND requests 2010-09-12 13:13:21 +02:00
Guillaume Ayoub
873dec1d5d Avoid exception when deleting an item already deleted (fix bug #180) 2010-09-07 01:42:20 +02:00
Guillaume Ayoub
547c888c63 0.5 git version bump 2010-08-07 23:37:05 +02:00
Guillaume Ayoub
2f641b6a3f Version 0.4 bump 2010-08-07 14:55:05 +02:00
Guillaume Ayoub
bd5b345017 Add support for personal calendars, available only for owner. 2010-07-03 16:27:48 +02:00
Guillaume Ayoub
666e7034a0 Simplify __import__ call in acl. 2010-07-03 16:27:29 +02:00
Guillaume Ayoub
a1b40e82c6 Add HEAD requests support, set a new _answer variable in request handler. 2010-06-27 01:45:49 +02:00
Guillaume Ayoub
91e00b3f48 Fix the last-modified date format according to RFC2822. 2010-06-27 01:33:56 +02:00
Guillaume Ayoub
391037c24c Add Last-Modified HTTP header for GET requests. 2010-06-24 01:50:21 +02:00
Guillaume Ayoub
97dd530bb6 Remove useless parenthesis. 2010-06-24 00:36:00 +02:00
Guillaume Ayoub
07f3c13b62 Preparing the tree for the future 0.5 version. 2010-06-14 19:59:52 +02:00
Guillaume Ayoub
6f1da96d46 Version 0.3 bump. 2010-06-14 19:05:27 +02:00
Guillaume Ayoub
9b86e6ef27 Replace pylint "disable-msg" by "disable", and disable one more msg in setup. 2010-06-05 01:18:59 +02:00
Guillaume Ayoub
90de4184bc Set the version to "git" for all git versions. 2010-06-05 00:40:56 +02:00
Guillaume Ayoub
054950be54 Version management, next version is 0.3. 2010-05-31 00:49:52 +02:00
Guillaume Ayoub
8eb6520931 PUT and GET requests updated, adding Evolution support. 2010-04-19 16:09:50 +02:00
Guillaume Ayoub
58b608c4d0 Disable false errors reported by Pylint. 2010-04-13 00:41:56 +02:00
Guillaume Ayoub
57eef3c5ab Ignore CTag and remove useless workaround for empty calendars. 2010-04-13 00:31:00 +02:00
Guillaume Ayoub
d4bdc36550 Report item modification to users in various cases. 2010-04-13 00:25:01 +02:00
Guillaume Ayoub
f479b4ba67 Check ETag before modifying or adding items. 2010-04-12 14:43:40 +02:00
Guillaume Ayoub
a45ca25df9 Set hreferences for calendar items, fixing the PUT and DELETE requests. 2010-04-11 22:46:57 +02:00
Guillaume Ayoub
9a9342a1bd Remove the useless ElementTree protected namespaces hack. 2010-04-10 16:26:22 +02:00
Guillaume Ayoub
c7820b87e0 Set constant values after defining functions in htpasswd module. 2010-04-10 00:19:01 +02:00
Guillaume Ayoub
6fd85fe6b6 Remove trailing space. 2010-04-10 00:18:38 +02:00
Guillaume Ayoub
5d81889a4f The `crypt` module is only present on Unix, import if needed 2010-04-09 22:05:44 +02:00
Guillaume Ayoub
f075224d3d Fix crash if Content-Type is not given in request. 2010-04-09 21:56:20 +02:00
Guillaume Ayoub
efed0b415d Use request._decode instead of request.decode. 2010-04-09 21:53:00 +02:00
Guillaume Ayoub
f38576d999 Use posixpath instead of os.path to normalize request path. 2010-04-09 21:52:15 +02:00
Guillaume Ayoub
690a76c3b7 Fix the GET request. 2010-04-09 20:35:20 +02:00
Guillaume Ayoub
e1a161edc9 Rename calendar into ical to avoid name collisions. 2010-02-11 01:41:24 +01:00
Guillaume Ayoub
9a07ec71d3 Merge ical/support/calendar modules. 2010-02-10 23:52:50 +01:00
Guillaume Ayoub
21a743fcde Code cleaned using Pylint, fixes various minor bugs too. 2010-02-10 18:57:21 +01:00
Guillaume Ayoub
a75bb261ed Use replace instead of lstrip in htpasswd ACL (Thanks Simon!). 2010-02-02 20:02:27 +01:00
Guillaume Ayoub
1998dc3b08 Add authentication structure, with fake and htpasswd methods. 2010-01-21 18:52:53 +01:00
Guillaume Ayoub
06843adca1 Add docstrings and use @property when needed. 2010-01-19 20:31:21 +01:00
Guillaume Ayoub
86dd1b0ef4 Manage SSL (HTTPS) connections. 2010-01-19 17:49:32 +01:00
Guillaume Ayoub
1b8608021f Add command-line options, user configuration and daemon mode. 2010-01-18 10:48:06 +01:00
Guillaume Ayoub
f1c8497f3b Configuration cleanup. 2010-01-16 13:33:50 +01:00
Guillaume Ayoub
4ee09cf817 Python 3 support and minor fixes. 2010-01-15 16:04:03 +01:00
Guillaume Ayoub
4a0d3936e8 Update copyright and remove tab intentation indications. 2010-01-15 00:15:41 +01:00
Guillaume Ayoub
5e5e5e1023 Remove Twisted dependency. 2010-01-10 18:55:32 +01:00
Guillaume Ayoub
330283ef94 Remove empty collection in propfind resourcetype (Sunbird-1.0b2 ready). 2009-12-29 20:15:31 +01:00
Guillaume Ayoub
97c1675741 Quote etags. 2009-12-29 20:05:38 +01:00
Guillaume Ayoub
6545bc8273 Add getetag and getcontenttype support for propfind requests (Sunbird 1.0 ready). 2009-12-09 12:56:03 +01:00
(no author)
81f7201399 Huge code and copyright cleanup.
git-svn-id: http://svn.32rwr.info/radicale/trunk@9 74e4794c-479d-4a33-9dda-c6c359d70f12
2009-07-27 15:04:54 +00:00
(no author)
e7a5ef8c5d Factorize code and remove encoding bugs
git-svn-id: http://svn.32rwr.info/radicale/trunk@8 74e4794c-479d-4a33-9dda-c6c359d70f12
2009-07-25 16:18:05 +00:00
(no author)
34d1d30998 Remove duplicates in REPORT request
git-svn-id: http://svn.32rwr.info/radicale/trunk@7 74e4794c-479d-4a33-9dda-c6c359d70f12
2009-07-13 21:15:30 +00:00
(no author)
3593799f97 Fix a unicode/string bug in plain support
git-svn-id: http://svn.32rwr.info/radicale/trunk@6 74e4794c-479d-4a33-9dda-c6c359d70f12
2009-07-13 20:24:29 +00:00
(no author)
e87d37703d Out-of-the-box simple configuration
git-svn-id: http://svn.32rwr.info/radicale/trunk@5 74e4794c-479d-4a33-9dda-c6c359d70f12
2008-12-30 19:26:03 +00:00
(no author)
5e1a4d4131 HTTP support
git-svn-id: http://svn.32rwr.info/radicale/trunk@4 74e4794c-479d-4a33-9dda-c6c359d70f12
2008-12-30 17:41:48 +00:00
(no author)
b1591aea6f Files added
git-svn-id: http://svn.32rwr.info/radicale/trunk@2 74e4794c-479d-4a33-9dda-c6c359d70f12
2008-12-30 16:25:42 +00:00