cpython/Modules
Patrick McLean 2b2ead7438 bpo-36046: Add user and group parameters to subprocess (GH-11950)
* subprocess: Add user, group and extra_groups paremeters to subprocess.Popen

This adds a `user` parameter to the Popen constructor that will call
setreuid() in the child before calling exec(). This allows processes
running as root to safely drop privileges before running the subprocess
without having to use a preexec_fn.

This also adds a `group` parameter that will call setregid() in
the child process before calling exec().

Finally an `extra_groups` parameter was added that will call
setgroups() to set the supplimental groups.
2019-09-12 18:15:44 +01:00
..
_blake2 bpo-37034: Display argument name on errors with keyword arguments with Argument Clinic. (GH-13593) 2019-08-29 17:49:08 +03:00
_ctypes closes bpo-38127: _ctypes: PyObject_IsSubclass() should be checked for failure. (GH-16011) 2019-09-12 11:09:32 +01:00
_decimal Revert mode change that loses information in directory listings on Linux. (#15366) 2019-08-21 23:00:04 +02:00
_io bpo-15999: Clean up of handling boolean arguments. (GH-15610) 2019-09-01 12:16:51 +03:00
_multiprocessing Remove some unused defines in multiprocessing.h. (GH-15661) 2019-09-07 10:44:36 +03:00
_sha3 bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_sqlite closes bpo-37347: Fix refcount problem in sqlite3. (GH-14268) 2019-07-12 20:15:48 -07:00
_ssl bpo-34271: Fix compatibility with 1.0.2 (GH-13728) 2019-06-03 20:40:15 +02:00
_xxtestfuzz Fix typos in docs, comments and test assert messages (#14872) 2019-07-21 16:12:33 -04:00
cjkcodecs bpo-37034: Display argument name on errors with keyword arguments with Argument Clinic. (GH-13593) 2019-08-29 17:49:08 +03:00
clinic bpo-38132: Simplify _hashopenssl code (GH-16023) 2019-09-12 13:42:07 +01:00
expat Fix typos mostly in comments, docs and test names (GH-15209) 2019-08-30 16:21:19 -04:00
_abc.c bpo-37547: add _PyObject_CallMethodOneArg (GH-14685) 2019-07-11 17:59:05 +09:00
_asynciomodule.c bpo-37648: Fixed minor inconsistency in some __contains__. (GH-14904) 2019-08-04 14:12:48 +03:00
_bisectmodule.c bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749) 2018-11-27 13:27:31 +02:00
_bz2module.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_codecsmodule.c bpo-36297: remove "unicode_internal" codec (GH-12342) 2019-03-18 15:44:11 +09:00
_collectionsmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
_contextvarsmodule.c bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473) 2018-09-21 15:33:56 -04:00
_cryptmodule.c bpo-28503: Use crypt_r() when available instead of crypt() (GH-11373) 2018-12-30 15:42:32 -08:00
_csv.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
_curses_panel.c bpo-35810: Incref heap-allocated types in PyObject_Init (GH-11661) 2019-03-27 12:52:18 +01:00
_cursesmodule.c bpo-37738: Fix curses addch(str, color_pair) (GH-15071) 2019-08-14 12:31:43 +02:00
_datetimemodule.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
_dbmmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
_elementtree.c bpo-36543: Remove old-deprecated ElementTree features. (GH-12707) 2019-09-01 11:18:35 +03:00
_functoolsmodule.c bpo-37358: Use vectorcall for functools.partial (GH-14284) 2019-07-13 07:39:18 -07:00
_gdbmmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
_hashopenssl.c bpo-38137: Re-add OpenSSL 1.0.2 compat (GH-16051) 2019-09-12 07:33:26 -07:00
_heapqmodule.c bpo-34797: Convert heapq to the argument clinic (GH-9560) 2018-09-28 12:39:43 -07:00
_json.c bpo-37587: optimize json.loads (GH-15134) 2019-08-08 17:57:10 +09:00
_localemodule.c bpo-36254: Fix invalid uses of %d in format strings in C. (GH-12264) 2019-03-13 22:59:55 +02:00
_lsprof.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_lzmamodule.c bpo-21872: fix lzma library decompresses data incompletely (GH-14048) 2019-09-12 15:20:37 +01:00
_math.c Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_math.h Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_opcode.c bpo-32455: Add jump parameter to dis.stack_effect(). (GH-6610) 2018-09-18 09:54:26 +03:00
_operator.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_pickle.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
_posixsubprocess.c bpo-36046: Add user and group parameters to subprocess (GH-11950) 2019-09-12 18:15:44 +01:00
_queuemodule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_randommodule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_scproxy.c closes bpo-31903: Release the GIL when calling into SystemConfiguration (GH-4178) 2018-09-11 16:14:00 -07:00
_sre.c bpo-37483: add _PyObject_CallOneArg() function (#14558) 2019-07-04 19:31:34 +09:00
_ssl.c bpo-35941: Fix performance regression in new code (GH-12610) 2019-09-09 09:06:55 -07:00
_ssl_data.h
_stat.c bpo-37834: Normalise handling of reparse points on Windows (GH-15231) 2019-08-21 15:27:33 -07:00
_statisticsmodule.c bpo-37798: Fix _statistics module doc (GH-15546) 2019-09-03 12:21:45 +03:00
_struct.c bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095) 2019-09-10 17:04:08 +01:00
_testbuffer.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_testcapimodule.c bpo-37879: Fix warnings in _testcapimodule (GH-16004) 2019-09-12 10:12:53 +01:00
_testimportmultiple.c
_testinternalcapi.c bpo-36763: Implement the PEP 587 (GH-13592) 2019-05-27 16:39:22 +02:00
_testmultiphase.c bpo-32388: Remove cross-version binary compatibility requirement in tp_flags (GH-4944) 2019-05-29 22:12:38 +02:00
_threadmodule.c bpo-37878: Remove PyThreadState_DeleteCurrent() function (GH-15315) 2019-09-05 18:06:49 +02:00
_tkinter.c bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095) 2019-09-10 17:04:08 +01:00
_tracemalloc.c bpo-37878: Remove PyThreadState_DeleteCurrent() function (GH-15315) 2019-09-05 18:06:49 +02:00
_uuidmodule.c bpo-32627: Fix compile error when conflicting _uuid headers included (GH-11751) 2019-06-24 13:59:50 -04:00
_weakref.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
_winapi.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
_xxsubinterpretersmodule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
addrinfo.h replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
arraymodule.c Remove redundant check from arraymodule b_getitem (GH-14676) 2019-07-11 14:57:42 -07:00
atexitmodule.c bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749) 2018-11-27 13:27:31 +02:00
audioop.c bpo-33781: audioop: enhance rounding double as int (GH-7447) 2018-06-06 15:50:50 +02:00
binascii.c bpo-34749: Improved performance of binascii.a2b_base64(). (GH-9444) 2019-07-14 05:15:32 -07:00
cmathmodule.c bpo-36908: 'This module is always available' isn't helpful. (#13297) 2019-05-17 15:29:13 +05:30
config.c.in rename _imp initialization function to follow conventions (#5432) 2018-01-29 11:33:57 -08:00
errnomodule.c
faulthandler.c bpo-37933: Fix faulthandler.cancel_dump_traceback_later() (GH-15440) 2019-08-29 18:30:04 +02:00
fcntlmodule.c closes bpo-37964: add F_GETPATH command to fcntl (GH-15550) 2019-08-28 18:56:17 -07:00
gc_weakref.txt
gcmodule.c bpo-38070: visit_decref() calls _PyObject_IsFreed() (GH-15782) 2019-09-09 17:44:59 +02:00
getaddrinfo.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
getbuildinfo.c bpo-27593: Get SCM build info from git instead of hg. (#446) 2017-03-04 00:19:55 -05:00
getnameinfo.c
getpath.c bpo-37649: Fix exec_prefix check (GH-14897) 2019-09-09 09:05:21 -07:00
grpmodule.c bpo-38072: PEP-384 grpmodule (GH-15788) 2019-09-10 03:30:36 -07:00
hashlib.h bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
hashtable.c bpo-36594: Fix incorrect use of %p in format strings (GH-12769) 2019-05-06 12:56:50 -04:00
hashtable.h Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
itertoolsmodule.c bpo-34410: Fix a crash in the tee iterator when re-enter it. (GH-15625) 2019-09-09 11:47:14 +03:00
ld_so_aix.in Issue #10656: Fix out-of-tree building on AIX 2016-11-20 07:56:37 +00:00
main.c bpo-15999: Clean up of handling boolean arguments. (GH-15610) 2019-09-01 12:16:51 +03:00
makesetup closes bpo-34212: Build core extension modules with Py_BUILD_CORE_BUILTIN. (GH-8712) 2018-11-26 20:21:31 -06:00
makexp_aix
mathmodule.c bpo-37691: Let math.dist() accept sequences and iterables for coordinates (GH-14975) 2019-07-27 14:04:29 -07:00
md5module.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
mmapmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
nismodule.c bpo-35356: Fix a possible reference leak in nis.maps(). (GH-10808) 2018-11-30 09:40:16 +02:00
ossaudiodev.c Remove a dead comment from ossaudiodev.c (#15346) 2019-08-20 12:20:47 -07:00
overlapped.c bpo-37445: Include FORMAT_MESSAGE_IGNORE_INSERTS in FormatMessageW() calls (GH-14462) 2019-09-09 02:20:38 -07:00
parsermodule.c bpo-15999: Clean up of handling boolean arguments. (GH-15610) 2019-09-01 12:16:51 +03:00
posixmodule.c bpo-32592: Set Windows 8 as the minimum required version for API support (GH-15951) 2019-09-11 17:03:37 +01:00
posixmodule.h bpo-33441: Make the sigset_t converter available in other modules. (GH-6720) 2018-05-08 07:48:50 +03:00
pwdmodule.c bpo-38073: Make pwd module PEP-384 compatible (GH-15790) 2019-09-10 05:59:43 -07:00
pyexpat.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
readline.c bpo-37194: Add a new public PyObject_CallNoArgs() function (GH-13890) 2019-06-17 14:27:23 +02:00
README
resource.c bpo-34674: Assume unistd.h exists on Unix. (GH-9290) 2018-09-13 21:57:31 -07:00
rotatingtree.c
rotatingtree.h bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
selectmodule.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
Setup bpo-37798: Add C fastpath for statistics.NormalDist.inv_cdf() (GH-15266) 2019-08-23 15:20:30 -07:00
sha1module.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
sha256module.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
sha512module.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
signalmodule.c bpo-38037: Fix reference counters in signal module (GH-15753) 2019-09-09 15:46:26 +02:00
socketmodule.c closes bpo-37405: Make socket.getsockname() always return a tuple for AF_CAN. (GH-14392) 2019-09-12 11:02:48 +01:00
socketmodule.h Unmark files as executable that can't actually be executed. (GH-15353) 2019-08-20 21:53:59 -07:00
spwdmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
sre.h bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471) 2017-12-04 14:29:05 +02:00
sre_constants.h bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885) 2017-10-24 23:31:42 +03:00
sre_lib.h bpo-34294: re module, fix wrong capturing groups in rare cases. (GH-11546) 2019-02-18 15:26:37 +02:00
symtablemodule.c bpo-37253: Add _PyCompilerFlags_INIT macro (GH-14018) 2019-06-13 02:16:41 +02:00
syslogmodule.c bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749) 2018-11-27 13:27:31 +02:00
termios.c bpo-38071: Make termios PEP-384 compatible (GH-15785) 2019-09-10 03:33:30 -07:00
testcapi_long.h
timemodule.c bpo-36205: Fix the rusage implementation of time.process_time() (GH-15538) 2019-08-27 00:13:12 -04:00
tkappinit.c
tkinter.h
unicodedata.c bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095) 2019-09-10 17:04:08 +01:00
unicodedata_db.h closes bpo-36861: Update Unicode database to 12.1.0. (GH-13214) 2019-05-08 20:59:35 -07:00
unicodename_db.h closes bpo-36861: Update Unicode database to 12.1.0. (GH-13214) 2019-05-08 20:59:35 -07:00
winreparse.h bpo-31512: Add non-elevated symlink support for Windows (GH-3652) 2019-04-09 11:19:46 -07:00
xxlimited.c bpo-32388: Remove cross-version binary compatibility requirement in tp_flags (GH-4944) 2019-05-29 22:12:38 +02:00
xxmodule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
xxsubtype.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
zlibmodule.c bpo-38074: Make zlib extension module PEP-384 compatible (GH-15792) 2019-09-10 03:27:03 -07:00

Source files for standard library extension modules,
and former extension modules that are now builtin modules.