Parcourir la source

Set calendars always personal with authentication activated

Guillaume Ayoub il y a 15 ans
Parent
commit
ca9c148705
5 fichiers modifiés avec 3 ajouts et 12 suppressions
  1. 0 3
      config
  2. 0 3
      radicale/__init__.py
  3. 2 3
      radicale/acl/LDAP.py
  4. 1 2
      radicale/acl/htpasswd.py
  5. 0 1
      radicale/config.py

+ 0 - 3
config

@@ -36,9 +36,6 @@ stock = utf-8
 # Access method
 # Value: None | htpasswd | LDAP
 type = None
-# Personal calendars only available for logged in users
-# If True, /alice/calendar will only be available for alice
-personal = True
 # Htpasswd filename
 htpasswd_filename = /etc/radicale/users
 # Htpasswd encryption method

+ 0 - 3
radicale/__init__.py

@@ -169,9 +169,6 @@ class Application(object):
         if not calendar or not self.acl:
             # No calendar or no acl, don't check rights
             status, headers, answer = function(environ, calendar, content)
-        elif calendar.owner is None and config.getboolean("acl", "personal"):
-            # No owner and personal calendars, don't check rights
-            status, headers, answer = function(environ, calendar, content)
         else:
             # Ask authentication backend to check rights
             log.LOGGER.info(

+ 2 - 3
radicale/acl/LDAP.py

@@ -32,15 +32,14 @@ from radicale import config, log
 BASE = config.get("acl", "ldap_base")
 ATTRIBUTE = config.get("acl", "ldap_attribute")
 CONNEXION = ldap.initialize(config.get("acl", "ldap_url"))
-PERSONAL = config.getboolean("acl", "personal")
 BINDDN = config.get("acl", "ldap_binddn")
 PASSWORD = config.get("acl", "ldap_password")
 
 
 def has_right(owner, user, password):
     """Check if ``user``/``password`` couple is valid."""
-    if (user != owner and PERSONAL) or not user:
-        # User is not owner and personal calendars, or no user given, forbidden
+    if not user or (owner and user != owner):
+        # No user given, or owner is set and is not user, forbidden
         return False
 
     if BINDDN and PASSWORD:

+ 1 - 2
radicale/acl/htpasswd.py

@@ -34,7 +34,6 @@ from radicale import config
 
 
 FILENAME = config.get("acl", "htpasswd_filename")
-PERSONAL = config.getboolean("acl", "personal")
 ENCRYPTION = config.get("acl", "htpasswd_encryption")
 
 
@@ -64,6 +63,6 @@ def has_right(owner, user, password):
     for line in open(FILENAME).readlines():
         if line.strip():
             login, hash_value = line.strip().split(":")
-            if login == user and (not PERSONAL or user == owner):
+            if login == user and (not owner or owner == user):
                 return globals()["_%s" % ENCRYPTION](hash_value, password)
     return False

+ 0 - 1
radicale/config.py

@@ -50,7 +50,6 @@ INITIAL_CONFIG = {
         "stock": "utf-8"},
     "acl": {
         "type": "None",
-        "personal": "True",
         "httpasswd_filename": "/etc/radicale/users",
         "httpasswd_encryption": "crypt",
         "ldap_url": "ldap://localhost:389/",