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.
Files changed (136) hide show
  1. {radicale-3.8.2 → radicale-3.8.3}/CHANGELOG.md +4 -0
  2. {radicale-3.8.2 → radicale-3.8.3}/PKG-INFO +1 -1
  3. {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/PKG-INFO +1 -1
  4. {radicale-3.8.2 → radicale-3.8.3}/pyproject.toml +1 -1
  5. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/__init__.py +3 -2
  6. {radicale-3.8.2 → radicale-3.8.3}/radicale/group/htgroup.py +1 -1
  7. {radicale-3.8.2 → radicale-3.8.3}/COPYING.md +0 -0
  8. {radicale-3.8.2 → radicale-3.8.3}/DOCUMENTATION.md +0 -0
  9. {radicale-3.8.2 → radicale-3.8.3}/MANIFEST.in +0 -0
  10. {radicale-3.8.2 → radicale-3.8.3}/README.md +0 -0
  11. {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/SOURCES.txt +0 -0
  12. {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/dependency_links.txt +0 -0
  13. {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/entry_points.txt +0 -0
  14. {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/requires.txt +0 -0
  15. {radicale-3.8.2 → radicale-3.8.3}/Radicale.egg-info/top_level.txt +0 -0
  16. {radicale-3.8.2 → radicale-3.8.3}/config +0 -0
  17. {radicale-3.8.2 → radicale-3.8.3}/radicale/__init__.py +0 -0
  18. {radicale-3.8.2 → radicale-3.8.3}/radicale/__main__.py +0 -0
  19. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/base.py +0 -0
  20. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/delete.py +0 -0
  21. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/get.py +0 -0
  22. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/head.py +0 -0
  23. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/mkcalendar.py +0 -0
  24. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/mkcol.py +0 -0
  25. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/move.py +0 -0
  26. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/options.py +0 -0
  27. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/post.py +0 -0
  28. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/propfind.py +0 -0
  29. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/proppatch.py +0 -0
  30. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/put.py +0 -0
  31. {radicale-3.8.2 → radicale-3.8.3}/radicale/app/report.py +0 -0
  32. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/__init__.py +0 -0
  33. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/denyall.py +0 -0
  34. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/dovecot.py +0 -0
  35. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/htpasswd.py +0 -0
  36. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/http_remote_user.py +0 -0
  37. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/http_x_remote_user.py +0 -0
  38. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/imap.py +0 -0
  39. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/ldap.py +0 -0
  40. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/none.py +0 -0
  41. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/oauth2.py +0 -0
  42. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/pam.py +0 -0
  43. {radicale-3.8.2 → radicale-3.8.3}/radicale/auth/remote_user.py +0 -0
  44. {radicale-3.8.2 → radicale-3.8.3}/radicale/config.py +0 -0
  45. {radicale-3.8.2 → radicale-3.8.3}/radicale/group/__init__.py +0 -0
  46. {radicale-3.8.2 → radicale-3.8.3}/radicale/group/from_auth.py +0 -0
  47. {radicale-3.8.2 → radicale-3.8.3}/radicale/group/none.py +0 -0
  48. {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/__init__.py +0 -0
  49. {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/email/__init__.py +0 -0
  50. {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/none.py +0 -0
  51. {radicale-3.8.2 → radicale-3.8.3}/radicale/hook/rabbitmq/__init__.py +0 -0
  52. {radicale-3.8.2 → radicale-3.8.3}/radicale/httputils.py +0 -0
  53. {radicale-3.8.2 → radicale-3.8.3}/radicale/item/__init__.py +0 -0
  54. {radicale-3.8.2 → radicale-3.8.3}/radicale/item/filter.py +0 -0
  55. {radicale-3.8.2 → radicale-3.8.3}/radicale/log.py +0 -0
  56. {radicale-3.8.2 → radicale-3.8.3}/radicale/pathutils.py +0 -0
  57. {radicale-3.8.2 → radicale-3.8.3}/radicale/py.typed +0 -0
  58. {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/__init__.py +0 -0
  59. {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/authenticated.py +0 -0
  60. {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/from_file.py +0 -0
  61. {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/owner_only.py +0 -0
  62. {radicale-3.8.2 → radicale-3.8.3}/radicale/rights/owner_write.py +0 -0
  63. {radicale-3.8.2 → radicale-3.8.3}/radicale/server.py +0 -0
  64. {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/__init__.py +0 -0
  65. {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/common.py +0 -0
  66. {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/csv.py +0 -0
  67. {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/files.py +0 -0
  68. {radicale-3.8.2 → radicale-3.8.3}/radicale/sharing/none.py +0 -0
  69. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/__init__.py +0 -0
  70. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/__init__.py +0 -0
  71. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/base.py +0 -0
  72. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/cache.py +0 -0
  73. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/create_collection.py +0 -0
  74. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/delete.py +0 -0
  75. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/discover.py +0 -0
  76. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/get.py +0 -0
  77. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/history.py +0 -0
  78. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/lock.py +0 -0
  79. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/meta.py +0 -0
  80. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/move.py +0 -0
  81. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/sync.py +0 -0
  82. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/upload.py +0 -0
  83. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem/verify.py +0 -0
  84. {radicale-3.8.2 → radicale-3.8.3}/radicale/storage/multifilesystem_nolock.py +0 -0
  85. {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/__init__.py +0 -0
  86. {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/auth.py +0 -0
  87. {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/rights.py +0 -0
  88. {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/storage_simple_sync.py +0 -0
  89. {radicale-3.8.2 → radicale-3.8.3}/radicale/tests/custom/web.py +0 -0
  90. {radicale-3.8.2 → radicale-3.8.3}/radicale/types.py +0 -0
  91. {radicale-3.8.2 → radicale-3.8.3}/radicale/utils.py +0 -0
  92. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/__init__.py +0 -0
  93. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal.py +0 -0
  94. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icon.png +0 -0
  95. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/delete.svg +0 -0
  96. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/download.svg +0 -0
  97. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/edit.svg +0 -0
  98. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/eye.svg +0 -0
  99. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/key.svg +0 -0
  100. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/new.svg +0 -0
  101. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/repeat.svg +0 -0
  102. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/share.svg +0 -0
  103. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/icons/upload.svg +0 -0
  104. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/loading.svg +0 -0
  105. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/logo.svg +0 -0
  106. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/css/main.css +0 -0
  107. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/index.html +0 -0
  108. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/api/api.js +0 -0
  109. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/api/common.js +0 -0
  110. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/api/sharing.js +0 -0
  111. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/config.js +0 -0
  112. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/constants.js +0 -0
  113. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/main.js +0 -0
  114. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/models/collection.js +0 -0
  115. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CollectionsScene.js +0 -0
  116. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CreateEditCollectionScene.js +0 -0
  117. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/CreateEditShareScene.js +0 -0
  118. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/DeleteConfirmationScene.js +0 -0
  119. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/IncomingSharingScene.js +0 -0
  120. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/LoadingScene.js +0 -0
  121. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/LoginScene.js +0 -0
  122. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/ShareCollectionScene.js +0 -0
  123. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/UploadCollectionScene.js +0 -0
  124. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/scenes/scene_manager.js +0 -0
  125. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/collection_utils.js +0 -0
  126. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/collections_cache.js +0 -0
  127. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/error.js +0 -0
  128. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/form_validator.js +0 -0
  129. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/misc.js +0 -0
  130. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/permissions.js +0 -0
  131. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/internal_data/js/utils/url_text.js +0 -0
  132. {radicale-3.8.2 → radicale-3.8.3}/radicale/web/none.py +0 -0
  133. {radicale-3.8.2 → radicale-3.8.3}/radicale/xmlutils.py +0 -0
  134. {radicale-3.8.2 → radicale-3.8.3}/radicale.wsgi +0 -0
  135. {radicale-3.8.2 → radicale-3.8.3}/rights +0 -0
  136. {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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Radicale
3
- Version: 3.8.2
3
+ Version: 3.8.3
4
4
  Summary: CalDAV and CardDAV Server
5
5
  Author-email: Guillaume Ayoub <guillaume.ayoub@kozea.fr>, Unrud <unrud@outlook.com>, Peter Bieringer <pb@bieringer.de>
6
6
  License: GNU GPL v3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Radicale
3
- Version: 3.8.2
3
+ Version: 3.8.3
4
4
  Summary: CalDAV and CardDAV Server
5
5
  Author-email: Guillaume Ayoub <guillaume.ayoub@kozea.fr>, Unrud <unrud@outlook.com>, Peter Bieringer <pb@bieringer.de>
6
6
  License: GNU GPL v3
@@ -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.2"
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) if login else set([])
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._htgroup, self._htgroup_size, self._htgroup_mtime_ns) = self._read_htgroup(False, False)
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