Fix compat issue with preexec_fn in Python 3.8
Fixes: rhbz#1759290
This commit is contained in:
parent
2c65074a31
commit
341de25783
50
0001-Don-t-install-a-preexec_fn-by-default.patch
Normal file
50
0001-Don-t-install-a-preexec_fn-by-default.patch
Normal file
@ -0,0 +1,50 @@
|
||||
From 7ee24413f0945b7d582a33795cdfc7c59471cb69 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Heimes <cheimes@redhat.com>
|
||||
Date: Mon, 7 Oct 2019 21:58:00 +0200
|
||||
Subject: [PATCH] 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>
|
||||
---
|
||||
ipapython/ipautil.py | 20 ++++++++++++--------
|
||||
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py
|
||||
index d87b9e3c1..e047324d3 100644
|
||||
--- a/ipapython/ipautil.py
|
||||
+++ b/ipapython/ipautil.py
|
||||
@@ -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 umask:
|
||||
- os.umask(umask)
|
||||
+ 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 is not None:
|
||||
+ os.umask(umask)
|
||||
+ else:
|
||||
+ preexec_fn = None
|
||||
|
||||
try:
|
||||
# pylint: disable=subprocess-popen-preexec-fn
|
||||
--
|
||||
2.20.1
|
||||
|
@ -135,7 +135,7 @@
|
||||
|
||||
Name: %{package_name}
|
||||
Version: %{IPA_VERSION}
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: The Identity, Policy and Audit system
|
||||
|
||||
License: GPLv3+
|
||||
@ -143,6 +143,7 @@ URL: http://www.freeipa.org/
|
||||
Source0: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz
|
||||
Source1: https://releases.pagure.org/freeipa/freeipa-%{version}.tar.gz.asc
|
||||
Patch1: freeipa-samba-4.11-unixid-fixes.patch
|
||||
Patch2: 0001-Don-t-install-a-preexec_fn-by-default.patch
|
||||
|
||||
# For the timestamp trick in patch application
|
||||
BuildRequires: diffstat
|
||||
@ -1334,6 +1335,10 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Oct 08 2019 Christian Heimes <cheimes@redhat.com> - 4.8.1-4
|
||||
- Fix compatibility issue with preexec_fn in Python 3.8
|
||||
- Fixes: rhbz#1759290
|
||||
|
||||
* Tue Oct 1 2019 Alexander Bokovoy <abokovoy@redhat.com> - 4.8.1-3
|
||||
- Fix ipasam for compatibility with Samba 4.11
|
||||
- Fixes: rhbz#1757089
|
||||
|
Loading…
Reference in New Issue
Block a user