summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2013-12-07 12:36:45 -0500
committerJason R. Coombs <jaraco@jaraco.com>2013-12-07 12:36:45 -0500
commitd6902858957c1a979298478f02e0cfbf57e38314 (patch)
treeece0dda5b8f6563bffd33975d0642be1a363ef60
parent074fa0ecbe18b9908a29e6a22bfe99b924b3ab98 (diff)
downloadpython-setuptools-bitbucket-d6902858957c1a979298478f02e0cfbf57e38314.tar.gz
Exempt lib2to3 pickled grammars from the DirectorySandboxing. Fixes #121.2.0
-rw-r--r--CHANGES.txt1
-rwxr-xr-xsetuptools/sandbox.py7
2 files changed, 6 insertions, 2 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index f04f5b91..90e2aaa8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@ CHANGES
2.0
---
+* Issue #121: Exempt lib2to3 pickled grammars from DirectorySandbox.
* Issue #41: Dropped support for Python 2.4 and Python 2.5. Clients requiring
setuptools for those versions of Python should use setuptools 1.x.
* Removed ``setuptools.command.easy_install.HAS_USER_SITE``. Clients
diff --git a/setuptools/sandbox.py b/setuptools/sandbox.py
index 26960846..042c5958 100755
--- a/setuptools/sandbox.py
+++ b/setuptools/sandbox.py
@@ -199,8 +199,11 @@ class DirectorySandbox(AbstractSandbox):
"utime", "lchown", "chroot", "mkfifo", "mknod", "tempnam",
])
- _exception_patterns = []
- "allow writing to paths that match the pattern"
+ _exception_patterns = [
+ # Allow lib2to3 to attempt to save a pickled grammar object (#121)
+ '.*lib2to3.*\.pickle$',
+ ]
+ "exempt writing to paths that match the pattern"
def __init__(self, sandbox, exceptions=_EXCEPTIONS):
self._sandbox = os.path.normcase(os.path.realpath(sandbox))