RestrictedPython 7.4__py3-none-any.whl → 8.1a1.dev0__py3-none-any.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.
- RestrictedPython/Guards.py +0 -4
- RestrictedPython/transformer.py +2 -2
- {RestrictedPython-7.4.dist-info → restrictedpython-8.1a1.dev0.dist-info}/METADATA +47 -8
- restrictedpython-8.1a1.dev0.dist-info/RECORD +14 -0
- {RestrictedPython-7.4.dist-info → restrictedpython-8.1a1.dev0.dist-info}/WHEEL +1 -1
- RestrictedPython-7.4.dist-info/RECORD +0 -14
- {RestrictedPython-7.4.dist-info → restrictedpython-8.1a1.dev0.dist-info}/LICENSE.txt +0 -0
- {RestrictedPython-7.4.dist-info → restrictedpython-8.1a1.dev0.dist-info}/top_level.txt +0 -0
RestrictedPython/Guards.py
CHANGED
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
import builtins
|
|
19
19
|
|
|
20
|
-
from RestrictedPython._compat import IS_PY311_OR_GREATER
|
|
21
20
|
from RestrictedPython.transformer import INSPECT_ATTRIBUTES
|
|
22
21
|
|
|
23
22
|
|
|
@@ -106,9 +105,6 @@ _safe_exceptions = [
|
|
|
106
105
|
'ZeroDivisionError',
|
|
107
106
|
]
|
|
108
107
|
|
|
109
|
-
if IS_PY311_OR_GREATER:
|
|
110
|
-
_safe_exceptions.append("ExceptionGroup")
|
|
111
|
-
|
|
112
108
|
for name in _safe_names:
|
|
113
109
|
safe_builtins[name] = getattr(builtins, name)
|
|
114
110
|
|
RestrictedPython/transformer.py
CHANGED
|
@@ -1141,8 +1141,8 @@ class RestrictingNodeTransformer(ast.NodeTransformer):
|
|
|
1141
1141
|
return self.node_contents_visit(node)
|
|
1142
1142
|
|
|
1143
1143
|
def visit_TryStar(self, node):
|
|
1144
|
-
"""
|
|
1145
|
-
|
|
1144
|
+
"""Disallow `ExceptionGroup` due to a potential sandbox escape."""
|
|
1145
|
+
self.not_allowed(node)
|
|
1146
1146
|
|
|
1147
1147
|
def visit_ExceptHandler(self, node):
|
|
1148
1148
|
"""Protect exception handlers."""
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: RestrictedPython
|
|
3
|
-
Version:
|
|
3
|
+
Version: 8.1a1.dev0
|
|
4
4
|
Summary: RestrictedPython is a defined subset of the Python language which allows to provide a program input into a trusted environment.
|
|
5
5
|
Home-page: https://github.com/zopefoundation/RestrictedPython
|
|
6
6
|
Author: Zope Foundation and Contributors
|
|
7
7
|
Author-email: zope-dev@zope.dev
|
|
8
|
-
License: ZPL
|
|
8
|
+
License: ZPL-2.1
|
|
9
9
|
Project-URL: Documentation, https://restrictedpython.readthedocs.io/
|
|
10
10
|
Project-URL: Source, https://github.com/zopefoundation/RestrictedPython
|
|
11
11
|
Project-URL: Tracker, https://github.com/zopefoundation/RestrictedPython/issues
|
|
@@ -15,7 +15,6 @@ Classifier: License :: OSI Approved :: Zope Public License
|
|
|
15
15
|
Classifier: Programming Language :: Python
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -23,15 +22,27 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
24
23
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
25
24
|
Classifier: Topic :: Security
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.9, <3.15
|
|
27
26
|
Description-Content-Type: text/x-rst
|
|
28
27
|
License-File: LICENSE.txt
|
|
29
|
-
Provides-Extra: docs
|
|
30
|
-
Requires-Dist: Sphinx; extra == "docs"
|
|
31
|
-
Requires-Dist: furo; extra == "docs"
|
|
32
28
|
Provides-Extra: test
|
|
33
29
|
Requires-Dist: pytest; extra == "test"
|
|
34
30
|
Requires-Dist: pytest-mock; extra == "test"
|
|
31
|
+
Provides-Extra: docs
|
|
32
|
+
Requires-Dist: Sphinx; extra == "docs"
|
|
33
|
+
Requires-Dist: furo; extra == "docs"
|
|
34
|
+
Dynamic: author
|
|
35
|
+
Dynamic: author-email
|
|
36
|
+
Dynamic: classifier
|
|
37
|
+
Dynamic: description
|
|
38
|
+
Dynamic: description-content-type
|
|
39
|
+
Dynamic: home-page
|
|
40
|
+
Dynamic: keywords
|
|
41
|
+
Dynamic: license
|
|
42
|
+
Dynamic: project-url
|
|
43
|
+
Dynamic: provides-extra
|
|
44
|
+
Dynamic: requires-python
|
|
45
|
+
Dynamic: summary
|
|
35
46
|
|
|
36
47
|
.. image:: https://github.com/zopefoundation/RestrictedPython/actions/workflows/tests.yml/badge.svg
|
|
37
48
|
:target: https://github.com/zopefoundation/RestrictedPython/actions/workflows/tests.yml
|
|
@@ -124,6 +135,34 @@ the documentation `Contributing page
|
|
|
124
135
|
Changes
|
|
125
136
|
=======
|
|
126
137
|
|
|
138
|
+
8.1a1.dev0 (2025-03-20)
|
|
139
|
+
-----------------------
|
|
140
|
+
|
|
141
|
+
- Allow to use the package with Python 3.14 -- Caution: No security
|
|
142
|
+
audit has been done so far.
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
8.0 (2025-01-23)
|
|
146
|
+
----------------
|
|
147
|
+
|
|
148
|
+
Backwards incompatible changes
|
|
149
|
+
++++++++++++++++++++++++++++++
|
|
150
|
+
|
|
151
|
+
- Disallow ``try/except*`` clauses due to a possible sandbox escape and
|
|
152
|
+
probable uselessness of this feature in the context of ``RestrictedPython``.
|
|
153
|
+
In addition, remove ``ExceptionGroup`` from ``safe_builtins`` (as useful only
|
|
154
|
+
with ``try/except*``). - This feature was introduced into
|
|
155
|
+
``RestrictedPython`` in version 6.0 for Python 3.11+. (CVE-2025-22153)
|
|
156
|
+
|
|
157
|
+
- Drop support for Python 3.8.
|
|
158
|
+
|
|
159
|
+
Features
|
|
160
|
+
++++++++
|
|
161
|
+
|
|
162
|
+
- Update setuptools version pin.
|
|
163
|
+
(`#292 <https://github.com/zopefoundation/RestrictedPython/issues/292>`_)
|
|
164
|
+
|
|
165
|
+
|
|
127
166
|
7.4 (2024-10-09)
|
|
128
167
|
----------------
|
|
129
168
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
RestrictedPython/Eval.py,sha256=pa79tc-JsT7xfzwg0ceMkxyioIEnFbNHc_PsKUhkkj8,3201
|
|
2
|
+
RestrictedPython/Guards.py,sha256=hGLMmqB7SPWwaxHl5elPED6MPCLCWg2nmCVM4_OYaV4,8089
|
|
3
|
+
RestrictedPython/Limits.py,sha256=dORpuly21vSjy8gzNac9IYfIXMMWRVFvqUiKKIeZ3OM,1866
|
|
4
|
+
RestrictedPython/PrintCollector.py,sha256=bBCpnUPOuKz1wJDuSgh7wo2aoKfcTJeeT8OYnM-K9F8,1137
|
|
5
|
+
RestrictedPython/Utilities.py,sha256=u4HUdyjGawaeHyXSakyt4gRT17BZietXnF5WqicujjE,3033
|
|
6
|
+
RestrictedPython/__init__.py,sha256=qB_s6zDxuXPAGMoKYKBMc-xZ0gTnQ0ZvtY5FxdAG3aM,1862
|
|
7
|
+
RestrictedPython/_compat.py,sha256=2Mew5xHBB0Lg3YfhbFyTdOSt4TQCWnEBGQ1SNFeR8a0,318
|
|
8
|
+
RestrictedPython/compile.py,sha256=IhcF733t-bkPcvfQ2_NyBeCbSIPtHYxR-GQNNHnaMHM,6727
|
|
9
|
+
RestrictedPython/transformer.py,sha256=UEs-dqbE6r0lGq7JLszVsIXnZTnO_ak2pw8Isyp9l6s,41419
|
|
10
|
+
restrictedpython-8.1a1.dev0.dist-info/LICENSE.txt,sha256=PmcdsR32h1FswdtbPWXkqjg-rKPCDOo_r1Og9zNdCjw,2070
|
|
11
|
+
restrictedpython-8.1a1.dev0.dist-info/METADATA,sha256=DkKGZ8zJq_r9nj5RoJVJ7Sa7u1J2tH62Fjg_vnSMA9A,14433
|
|
12
|
+
restrictedpython-8.1a1.dev0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
|
13
|
+
restrictedpython-8.1a1.dev0.dist-info/top_level.txt,sha256=E1-3ARWcduVJnQAScms0FgqnBx_PovrzYsNMYuLGwa0,17
|
|
14
|
+
restrictedpython-8.1a1.dev0.dist-info/RECORD,,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
RestrictedPython/Eval.py,sha256=pa79tc-JsT7xfzwg0ceMkxyioIEnFbNHc_PsKUhkkj8,3201
|
|
2
|
-
RestrictedPython/Guards.py,sha256=Ls4eJa94nj6z6L65faEBCX8m7dHr3iF4n8-HlFpMniE,8217
|
|
3
|
-
RestrictedPython/Limits.py,sha256=dORpuly21vSjy8gzNac9IYfIXMMWRVFvqUiKKIeZ3OM,1866
|
|
4
|
-
RestrictedPython/PrintCollector.py,sha256=bBCpnUPOuKz1wJDuSgh7wo2aoKfcTJeeT8OYnM-K9F8,1137
|
|
5
|
-
RestrictedPython/Utilities.py,sha256=u4HUdyjGawaeHyXSakyt4gRT17BZietXnF5WqicujjE,3033
|
|
6
|
-
RestrictedPython/__init__.py,sha256=qB_s6zDxuXPAGMoKYKBMc-xZ0gTnQ0ZvtY5FxdAG3aM,1862
|
|
7
|
-
RestrictedPython/_compat.py,sha256=2Mew5xHBB0Lg3YfhbFyTdOSt4TQCWnEBGQ1SNFeR8a0,318
|
|
8
|
-
RestrictedPython/compile.py,sha256=IhcF733t-bkPcvfQ2_NyBeCbSIPtHYxR-GQNNHnaMHM,6727
|
|
9
|
-
RestrictedPython/transformer.py,sha256=qpvsswxFDkVTra48qxQivnAbBoVdmEVLgdDKCwwt2cI,41418
|
|
10
|
-
RestrictedPython-7.4.dist-info/LICENSE.txt,sha256=PmcdsR32h1FswdtbPWXkqjg-rKPCDOo_r1Og9zNdCjw,2070
|
|
11
|
-
RestrictedPython-7.4.dist-info/METADATA,sha256=oU8AXsXRUKtaYTnteX0ulTyVZQVM2gQBdXeRDGwKLHg,13448
|
|
12
|
-
RestrictedPython-7.4.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
|
|
13
|
-
RestrictedPython-7.4.dist-info/top_level.txt,sha256=E1-3ARWcduVJnQAScms0FgqnBx_PovrzYsNMYuLGwa0,17
|
|
14
|
-
RestrictedPython-7.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|