AccessControl 7.6__cp315-cp315-win_amd64.whl

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 (71) hide show
  1. AccessControl/AuthEncoding.py +48 -0
  2. AccessControl/ImplC.py +39 -0
  3. AccessControl/ImplPython.py +914 -0
  4. AccessControl/Implementation.py +111 -0
  5. AccessControl/Owned.py +30 -0
  6. AccessControl/Permission.py +179 -0
  7. AccessControl/PermissionMapping.py +165 -0
  8. AccessControl/PermissionRole.py +19 -0
  9. AccessControl/Permissions.py +65 -0
  10. AccessControl/Role.py +34 -0
  11. AccessControl/SecurityInfo.py +502 -0
  12. AccessControl/SecurityManagement.py +84 -0
  13. AccessControl/SecurityManager.py +30 -0
  14. AccessControl/SimpleObjectPolicies.py +151 -0
  15. AccessControl/SpecialUsers.py +25 -0
  16. AccessControl/User.py +54 -0
  17. AccessControl/ZopeGuards.py +712 -0
  18. AccessControl/ZopeSecurityPolicy.py +61 -0
  19. AccessControl/__init__.py +55 -0
  20. AccessControl/_compat.h +18 -0
  21. AccessControl/cAccessControl.c +2526 -0
  22. AccessControl/cAccessControl.cp315-win_amd64.pyd +0 -0
  23. AccessControl/class_init.py +94 -0
  24. AccessControl/configure.zcml +5 -0
  25. AccessControl/frozen.py +57 -0
  26. AccessControl/interfaces.py +390 -0
  27. AccessControl/logger_wrapper.py +8 -0
  28. AccessControl/meta.zcml +52 -0
  29. AccessControl/metaconfigure.py +61 -0
  30. AccessControl/owner.py +288 -0
  31. AccessControl/permissions.zcml +100 -0
  32. AccessControl/requestmethod.py +96 -0
  33. AccessControl/rolemanager.py +490 -0
  34. AccessControl/safe_formatter.py +86 -0
  35. AccessControl/security.py +203 -0
  36. AccessControl/tainted.py +195 -0
  37. AccessControl/tests/__init__.py +0 -0
  38. AccessControl/tests/actual_python.py +260 -0
  39. AccessControl/tests/mixed_module/__init__.py +9 -0
  40. AccessControl/tests/mixed_module/submodule/__init__.py +5 -0
  41. AccessControl/tests/private_module/__init__.py +5 -0
  42. AccessControl/tests/private_module/submodule/__init__.py +5 -0
  43. AccessControl/tests/public_module/__init__.py +11 -0
  44. AccessControl/tests/public_module/submodule/__init__.py +5 -0
  45. AccessControl/tests/testClassSecurityInfo.py +192 -0
  46. AccessControl/tests/testImplementation.py +65 -0
  47. AccessControl/tests/testModuleSecurity.py +335 -0
  48. AccessControl/tests/testPermissionMapping.py +12 -0
  49. AccessControl/tests/testPermissionRole.py +170 -0
  50. AccessControl/tests/testSecurityManager.py +264 -0
  51. AccessControl/tests/testZCML.py +489 -0
  52. AccessControl/tests/testZopeGuards.py +1086 -0
  53. AccessControl/tests/testZopeSecurityPolicy.py +799 -0
  54. AccessControl/tests/test_frozen.py +124 -0
  55. AccessControl/tests/test_owner.py +289 -0
  56. AccessControl/tests/test_requestmethod.py +138 -0
  57. AccessControl/tests/test_rolemanager.py +137 -0
  58. AccessControl/tests/test_safe_formatter.py +226 -0
  59. AccessControl/tests/test_safeiter.py +59 -0
  60. AccessControl/tests/test_tainted.py +320 -0
  61. AccessControl/tests/test_userfolder.py +198 -0
  62. AccessControl/tests/test_users.py +666 -0
  63. AccessControl/unauthorized.py +38 -0
  64. AccessControl/userfolder.py +432 -0
  65. AccessControl/users.py +502 -0
  66. accesscontrol-7.6.dist-info/METADATA +474 -0
  67. accesscontrol-7.6.dist-info/RECORD +71 -0
  68. accesscontrol-7.6.dist-info/WHEEL +5 -0
  69. accesscontrol-7.6.dist-info/entry_points.txt +2 -0
  70. accesscontrol-7.6.dist-info/licenses/LICENSE.txt +44 -0
  71. accesscontrol-7.6.dist-info/top_level.txt +1 -0
@@ -0,0 +1,61 @@
1
+ ##############################################################################
2
+ #
3
+ # Copyright (c) 2002 Zope Foundation and Contributors.
4
+ #
5
+ # This software is subject to the provisions of the Zope Public License,
6
+ # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
7
+ # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
8
+ # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
9
+ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
10
+ # FOR A PARTICULAR PURPOSE
11
+ #
12
+ ##############################################################################
13
+ """Define Zope's default security policy
14
+ """
15
+
16
+ from types import MethodType
17
+
18
+ # AccessControl.Implementation inserts:
19
+ # ZopeSecurityPolicy, getRoles, rolesForPermissionOn
20
+ from AccessControl.SimpleObjectPolicies import _noroles
21
+
22
+
23
+ rolesForPermissionOn = None # XXX: avoid import loop
24
+
25
+ tuple_or_list = (tuple, list)
26
+
27
+
28
+ def getRoles(container, name, value, default):
29
+
30
+ global rolesForPermissionOn # XXX: avoid import loop
31
+
32
+ if rolesForPermissionOn is None:
33
+ from .PermissionRole import rolesForPermissionOn
34
+
35
+ roles = getattr(value, '__roles__', _noroles)
36
+ if roles is _noroles:
37
+ if not name or not isinstance(name, str):
38
+ return default
39
+
40
+ if isinstance(value, MethodType):
41
+ container = value.__self__
42
+
43
+ cls = getattr(container, '__class__', None)
44
+ if cls is None:
45
+ return default
46
+
47
+ roles = getattr(cls, name + '__roles__', _noroles)
48
+ if roles is _noroles:
49
+ return default
50
+
51
+ value = container
52
+
53
+ if roles is None or isinstance(roles, tuple_or_list):
54
+ return roles
55
+
56
+ # Do not override global variable `rolesForPermissionOn`.
57
+ roles_rolesForPermissionOn = getattr(roles, 'rolesForPermissionOn', None)
58
+ if roles_rolesForPermissionOn is not None:
59
+ roles = roles_rolesForPermissionOn(value)
60
+
61
+ return roles
@@ -0,0 +1,55 @@
1
+ ##############################################################################
2
+ #
3
+ # Copyright (c) 2002 Zope Foundation and Contributors.
4
+ #
5
+ # This software is subject to the provisions of the Zope Public License,
6
+ # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
7
+ # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
8
+ # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
9
+ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
10
+ # FOR A PARTICULAR PURPOSE
11
+ #
12
+ ##############################################################################
13
+
14
+ # This has to happen early so things get initialized properly
15
+ from AccessControl.Implementation import setImplementation
16
+ from AccessControl.safe_formatter import safe_format
17
+ from AccessControl.safe_formatter import safe_format_map
18
+ from AccessControl.SecurityInfo import ACCESS_NONE
19
+ from AccessControl.SecurityInfo import ACCESS_PRIVATE
20
+ from AccessControl.SecurityInfo import ACCESS_PUBLIC
21
+ from AccessControl.SecurityInfo import ClassSecurityInfo
22
+ from AccessControl.SecurityInfo import ModuleSecurityInfo
23
+ from AccessControl.SecurityInfo import allow_class
24
+ from AccessControl.SecurityInfo import allow_module
25
+ from AccessControl.SecurityInfo import freeze_security_declarations
26
+ from AccessControl.SecurityInfo import secureModule
27
+ from AccessControl.SecurityManagement import getSecurityManager
28
+ from AccessControl.SecurityManagement import setSecurityPolicy
29
+ from AccessControl.SimpleObjectPolicies import allow_type
30
+ from AccessControl.unauthorized import Unauthorized
31
+ from AccessControl.ZopeGuards import full_write_guard
32
+ from AccessControl.ZopeGuards import get_safe_globals
33
+ from AccessControl.ZopeGuards import safe_builtins
34
+
35
+
36
+ ModuleSecurityInfo('AccessControl').declarePublic('getSecurityManager') # NOQA
37
+
38
+ # allow imports of utility_builtins
39
+
40
+ for name in ('string', 'math', 'random'):
41
+ ModuleSecurityInfo(name).setDefaultAccess('allow')
42
+
43
+ ModuleSecurityInfo('DateTime').declarePublic('DateTime') # NOQA: D001
44
+
45
+ # We want to allow all methods on string type except "format".
46
+ # That one needs special handling to avoid access to attributes.
47
+ rules = {m: True for m in dir(str) if not m.startswith('_')}
48
+ rules['format'] = safe_format
49
+ rules['format_map'] = safe_format_map
50
+ allow_type(str, rules)
51
+
52
+ zodbupdate_decode_dict = {
53
+ 'AccessControl.users User name': 'utf-8',
54
+ 'AccessControl.users User __': 'utf-8',
55
+ }
@@ -0,0 +1,18 @@
1
+ /*****************************************************************************
2
+
3
+ Copyright (c) 2012 Zope Foundation and Contributors.
4
+ All Rights Reserved.
5
+
6
+ This software is subject to the provisions of the Zope Public License,
7
+ Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
8
+ THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
9
+ WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
10
+ WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
11
+ FOR A PARTICULAR PURPOSE
12
+
13
+ ****************************************************************************/
14
+
15
+ #include "Python.h"
16
+
17
+ #define NATIVE_FORMAT PyUnicode_Format
18
+ #define NATIVE_GET_SIZE PyUnicode_GET_LENGTH