mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
Issue #16400: Add command line option for isolated mode.
-I Run Python in isolated mode. This also implies -E and -s. In isolated mode sys.path contains neither the script’s directory nor the user’s site-packages directory. All PYTHON* environment variables are ignored, too. Further restrictions may be imposed to prevent the user from injecting malicious code.
This commit is contained in:
parent
562d9cbfe9
commit
ad73a9cf97
11 changed files with 77 additions and 10 deletions
|
@ -112,6 +112,7 @@ int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */
|
|||
int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
|
||||
int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
|
||||
int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
|
||||
int Py_IsolatedFlag = 0; /* for -I, isolate from user's env */
|
||||
|
||||
PyThreadState *_Py_Finalizing = NULL;
|
||||
|
||||
|
|
|
@ -1369,6 +1369,7 @@ static PyStructSequence_Field flags_fields[] = {
|
|||
{"bytes_warning", "-b"},
|
||||
{"quiet", "-q"},
|
||||
{"hash_randomization", "-R"},
|
||||
{"isolated", "-I"},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
@ -1376,7 +1377,7 @@ static PyStructSequence_Desc flags_desc = {
|
|||
"sys.flags", /* name */
|
||||
flags__doc__, /* doc */
|
||||
flags_fields, /* fields */
|
||||
12
|
||||
13
|
||||
};
|
||||
|
||||
static PyObject*
|
||||
|
@ -1406,6 +1407,7 @@ make_flags(void)
|
|||
SetFlag(Py_BytesWarningFlag);
|
||||
SetFlag(Py_QuietFlag);
|
||||
SetFlag(Py_HashRandomizationFlag);
|
||||
SetFlag(Py_IsolatedFlag);
|
||||
#undef SetFlag
|
||||
|
||||
if (PyErr_Occurred()) {
|
||||
|
@ -1944,7 +1946,7 @@ PySys_SetArgvEx(int argc, wchar_t **argv, int updatepath)
|
|||
void
|
||||
PySys_SetArgv(int argc, wchar_t **argv)
|
||||
{
|
||||
PySys_SetArgvEx(argc, argv, 1);
|
||||
PySys_SetArgvEx(argc, argv, Py_IsolatedFlag == 0);
|
||||
}
|
||||
|
||||
/* Reimplementation of PyFile_WriteString() no calling indirectly
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue