Radicale 3.8.2__tar.gz → 3.8.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {radicale-3.8.2 → radicale-3.8.3}/CHANGELOG.md +4 -0
- {radicale-3.8.2 → radicale-3.8.3}/PKG-INFO +1 -1
- {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/PKG-INFO +1 -1
- {radicale-3.8.2 → radicale-3.8.3}/pyproject.toml +1 -1
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/__init__.py +3 -2
- {radicale-3.8.2 → radicale-3.8.3}/radicale/group/htgroup.py +1 -1
- {radicale-3.8.2 → radicale-3.8.3}/COPYING.md +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/DOCUMENTATION.md +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/MANIFEST.in +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/README.md +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/SOURCES.txt +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/dependency_links.txt +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/entry_points.txt +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/requires.txt +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/top_level.txt +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/config +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/__main__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/base.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/delete.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/get.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/head.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/mkcalendar.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/mkcol.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/move.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/options.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/post.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/propfind.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/proppatch.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/put.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/app/report.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/denyall.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/dovecot.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/htpasswd.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/http_remote_user.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/http_x_remote_user.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/imap.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/ldap.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/none.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/oauth2.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/pam.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/remote_user.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/config.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/group/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/group/from_auth.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/group/none.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/email/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/none.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/rabbitmq/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/httputils.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/item/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/item/filter.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/log.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/pathutils.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/py.typed +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/authenticated.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/from_file.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/owner_only.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/owner_write.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/server.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/common.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/csv.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/files.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/none.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/base.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/cache.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/create_collection.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/delete.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/discover.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/get.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/history.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/lock.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/meta.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/move.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/sync.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/upload.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/verify.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem_nolock.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/auth.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/rights.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/storage_simple_sync.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/web.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/types.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/utils.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/__init__.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icon.png +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/delete.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/download.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/edit.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/eye.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/key.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/new.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/repeat.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/share.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/upload.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/loading.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/logo.svg +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/main.css +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/index.html +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/api/api.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/api/common.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/api/sharing.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/config.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/constants.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/main.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/models/collection.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CollectionsScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CreateEditCollectionScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CreateEditShareScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/DeleteConfirmationScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/IncomingSharingScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/LoadingScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/LoginScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/ShareCollectionScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/UploadCollectionScene.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/scene_manager.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/collection_utils.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/collections_cache.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/error.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/form_validator.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/misc.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/permissions.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/url_text.js +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/web/none.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale/xmlutils.py +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/radicale.wsgi +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/rights +0 -0
- {radicale-3.8.2 → radicale-3.8.3}/setup.cfg +0 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.8.3
|
|
4
|
+
* Fix: [group] htgroup: fix not working htgroup_cache=True
|
|
5
|
+
* Fix: auth: clear rights/user_groups before conditional set depending on group_type/auth_type
|
|
6
|
+
|
|
3
7
|
## 3.8.2
|
|
4
8
|
* Add: tests: sharing API plus CalDAV/CardDAV workflow and corrupt CSV handling (covers #2259)
|
|
5
9
|
* Add: tests: mocked LDAP, IMAP, OAuth2 and PAM authentication servers (covers #2259)
|
|
@@ -3,7 +3,7 @@ name = "Radicale"
|
|
|
3
3
|
# When the version is updated, a new section in the CHANGELOG.md file must be
|
|
4
4
|
# added too.
|
|
5
5
|
readme = "README.md"
|
|
6
|
-
version = "3.8.
|
|
6
|
+
version = "3.8.3"
|
|
7
7
|
authors = [{name = "Guillaume Ayoub", email = "guillaume.ayoub@kozea.fr"}, {name = "Unrud", email = "unrud@outlook.com"}, {name = "Peter Bieringer", email = "pb@bieringer.de"}]
|
|
8
8
|
license = {text = "GNU GPL v3"}
|
|
9
9
|
description = "CalDAV and CardDAV Server"
|
|
@@ -601,10 +601,11 @@ class Application(ApplicationPartDelete, ApplicationPartHead,
|
|
|
601
601
|
logger.info("Refused unsafe username: %r", user)
|
|
602
602
|
user = ""
|
|
603
603
|
|
|
604
|
+
self._rights._user_groups = set([])
|
|
604
605
|
if user:
|
|
605
606
|
group_type = self.configuration.get("group", "type")
|
|
606
|
-
if group_type in ["htgroup"]:
|
|
607
|
-
self._rights._user_groups = self._group.groups(login)
|
|
607
|
+
if group_type in ["htgroup"] and login:
|
|
608
|
+
self._rights._user_groups = self._group.groups(login)
|
|
608
609
|
elif group_type in ["from_auth"]:
|
|
609
610
|
auth_type = self.configuration.get("auth", "type")
|
|
610
611
|
if auth_type in ["ldap", "pam"]:
|
|
@@ -151,7 +151,7 @@ class Group(group.BaseGroup):
|
|
|
151
151
|
htgroup_size = os.stat(self._filename).st_size
|
|
152
152
|
htgroup_mtime_ns = os.stat(self._filename).st_mtime_ns
|
|
153
153
|
if (htgroup_size != self._htgroup_size) or (htgroup_mtime_ns != self._htgroup_mtime_ns):
|
|
154
|
-
(self._htgroup_ok, self.
|
|
154
|
+
(self._htgroup_ok, self._htgroup_by_member, self._htgroup_size, self._htgroup_mtime_ns) = self._read_htgroup(False, False)
|
|
155
155
|
self._htgroup_not_ok_time = 0
|
|
156
156
|
|
|
157
157
|
# log reminder of problemantic file every interval
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CreateEditCollectionScene.js
RENAMED
|
File without changes
|
{radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CreateEditShareScene.js
RENAMED
|
File without changes
|
{radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/DeleteConfirmationScene.js
RENAMED
|
File without changes
|
{radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/IncomingSharingScene.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/ShareCollectionScene.js
RENAMED
|
File without changes
|
{radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/UploadCollectionScene.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|