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.
- AccessControl/AuthEncoding.py +48 -0
- AccessControl/ImplC.py +39 -0
- AccessControl/ImplPython.py +914 -0
- AccessControl/Implementation.py +111 -0
- AccessControl/Owned.py +30 -0
- AccessControl/Permission.py +179 -0
- AccessControl/PermissionMapping.py +165 -0
- AccessControl/PermissionRole.py +19 -0
- AccessControl/Permissions.py +65 -0
- AccessControl/Role.py +34 -0
- AccessControl/SecurityInfo.py +502 -0
- AccessControl/SecurityManagement.py +84 -0
- AccessControl/SecurityManager.py +30 -0
- AccessControl/SimpleObjectPolicies.py +151 -0
- AccessControl/SpecialUsers.py +25 -0
- AccessControl/User.py +54 -0
- AccessControl/ZopeGuards.py +712 -0
- AccessControl/ZopeSecurityPolicy.py +61 -0
- AccessControl/__init__.py +55 -0
- AccessControl/_compat.h +18 -0
- AccessControl/cAccessControl.c +2526 -0
- AccessControl/cAccessControl.cp315-win_amd64.pyd +0 -0
- AccessControl/class_init.py +94 -0
- AccessControl/configure.zcml +5 -0
- AccessControl/frozen.py +57 -0
- AccessControl/interfaces.py +390 -0
- AccessControl/logger_wrapper.py +8 -0
- AccessControl/meta.zcml +52 -0
- AccessControl/metaconfigure.py +61 -0
- AccessControl/owner.py +288 -0
- AccessControl/permissions.zcml +100 -0
- AccessControl/requestmethod.py +96 -0
- AccessControl/rolemanager.py +490 -0
- AccessControl/safe_formatter.py +86 -0
- AccessControl/security.py +203 -0
- AccessControl/tainted.py +195 -0
- AccessControl/tests/__init__.py +0 -0
- AccessControl/tests/actual_python.py +260 -0
- AccessControl/tests/mixed_module/__init__.py +9 -0
- AccessControl/tests/mixed_module/submodule/__init__.py +5 -0
- AccessControl/tests/private_module/__init__.py +5 -0
- AccessControl/tests/private_module/submodule/__init__.py +5 -0
- AccessControl/tests/public_module/__init__.py +11 -0
- AccessControl/tests/public_module/submodule/__init__.py +5 -0
- AccessControl/tests/testClassSecurityInfo.py +192 -0
- AccessControl/tests/testImplementation.py +65 -0
- AccessControl/tests/testModuleSecurity.py +335 -0
- AccessControl/tests/testPermissionMapping.py +12 -0
- AccessControl/tests/testPermissionRole.py +170 -0
- AccessControl/tests/testSecurityManager.py +264 -0
- AccessControl/tests/testZCML.py +489 -0
- AccessControl/tests/testZopeGuards.py +1086 -0
- AccessControl/tests/testZopeSecurityPolicy.py +799 -0
- AccessControl/tests/test_frozen.py +124 -0
- AccessControl/tests/test_owner.py +289 -0
- AccessControl/tests/test_requestmethod.py +138 -0
- AccessControl/tests/test_rolemanager.py +137 -0
- AccessControl/tests/test_safe_formatter.py +226 -0
- AccessControl/tests/test_safeiter.py +59 -0
- AccessControl/tests/test_tainted.py +320 -0
- AccessControl/tests/test_userfolder.py +198 -0
- AccessControl/tests/test_users.py +666 -0
- AccessControl/unauthorized.py +38 -0
- AccessControl/userfolder.py +432 -0
- AccessControl/users.py +502 -0
- accesscontrol-7.6.dist-info/METADATA +474 -0
- accesscontrol-7.6.dist-info/RECORD +71 -0
- accesscontrol-7.6.dist-info/WHEEL +5 -0
- accesscontrol-7.6.dist-info/entry_points.txt +2 -0
- accesscontrol-7.6.dist-info/licenses/LICENSE.txt +44 -0
- 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
|
+
}
|
AccessControl/_compat.h
ADDED
|
@@ -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
|