diff --git a/python3/Python/pylifecycle.c b/python3/Python/pylifecycle.c index 960a38ae..84524b48 100644 --- a/python3/Python/pylifecycle.c +++ b/python3/Python/pylifecycle.c @@ -33,6 +33,7 @@ extern void _PyIO_Fini(void); #include // setlocale() #include // getenv() +#include #if defined(__APPLE__) #include @@ -141,6 +142,17 @@ _Py_IsFinalizing(void) int (*_PyOS_mystrnicmp_hack)(const char *, const char *, Py_ssize_t) = \ PyOS_mystrnicmp; /* Python/pystrcmp.o */ +static const char *trust_path = "/etc/alt/security/python-trust"; + +void +get_py_trust(int *Py_IgnoreEnvironmentFlag) +{ + struct stat buffer; + int exist = stat(trust_path, &buffer); + + if (exist == 0) + *Py_IgnoreEnvironmentFlag = 1; +} /* APIs to access the initialization flags * @@ -1297,6 +1309,7 @@ Py_InitializeEx(int install_sigs) void Py_Initialize(void) { + get_py_trust(&Py_IgnoreEnvironmentFlag); Py_InitializeEx(1); }