mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-26 16:16:31 -06:00
Don't install a preexec_fn by default
ipautil.run() now only installs a preexec_fn when it is actually needed. This addresses a compatibility issue with mod_wsgi subinterpreters under Python 3.8. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1759290 See: https://bugs.python.org/issue37951 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This commit is contained in:
parent
c77bbe7899
commit
0b8c81a5bc
@ -515,14 +515,18 @@ def run(args, stdin=None, raiseonerr=True, nolog=(), env=None,
|
||||
for group, gid in zip(suplementary_groups, suplementary_gids):
|
||||
logger.debug('suplementary_group=%s (GID %d)', group, gid)
|
||||
|
||||
def preexec_fn():
|
||||
if runas is not None:
|
||||
os.setgroups(suplementary_gids)
|
||||
os.setregid(pent.pw_gid, pent.pw_gid)
|
||||
os.setreuid(pent.pw_uid, pent.pw_uid)
|
||||
if runas is not None or umask is not None:
|
||||
# preexec function is not supported in WSGI environment
|
||||
def preexec_fn():
|
||||
if runas is not None:
|
||||
os.setgroups(suplementary_gids)
|
||||
os.setregid(pent.pw_gid, pent.pw_gid)
|
||||
os.setreuid(pent.pw_uid, pent.pw_uid)
|
||||
|
||||
if umask:
|
||||
os.umask(umask)
|
||||
if umask is not None:
|
||||
os.umask(umask)
|
||||
else:
|
||||
preexec_fn = None
|
||||
|
||||
try:
|
||||
# pylint: disable=subprocess-popen-preexec-fn
|
||||
|
Loading…
Reference in New Issue
Block a user