cpython/Modules
Nir Soffer c22f134211
gh-94821: Fix autobind of empty unix domain address (GH-94826)
When binding a unix socket to an empty address on Linux, the socket is
automatically bound to an available address in the abstract namespace.

    >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    >>> s.bind("")
    >>> s.getsockname()
    b'\x0075499'

Since python 3.9, the socket is bound to the one address:

    >>> s.getsockname()
    b'\x00'

And trying to bind multiple sockets will fail with:

    Traceback (most recent call last):
      File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind
        s2.bind("")
    OSError: [Errno 98] Address already in use

Added 2 tests:
- Auto binding empty address on Linux
- Failing to bind an empty address on other platforms

Fixes f6b3a07b7d (bpo-44493: Add missing terminated NUL in sockaddr_un's length (GH-26866)
2022-07-15 09:13:33 +03:00
..
_blake2 bpo-47095: Use libb2 to provide blake2 implementation (GH-32059) 2022-03-26 20:52:24 +01:00
_ctypes gh-92869: ctypes: Add c_time_t (#92870) 2022-07-03 11:58:02 -07:00
_decimal gh-89653: Use int type for Unicode kind (#92704) 2022-05-13 12:41:05 +02:00
_io Fix typo in _io.TextIOWrapper Clinic input (#94037) 2022-06-22 14:02:14 +02:00
_multiprocessing GH-94736: Fix _multiprocessing.SemLock subclassing (#94738) 2022-07-11 13:12:36 +01:00
_sha3 bpo-47098: Replace Keccak Code Package with tiny_sha3 (GH-32060) 2022-03-26 21:36:08 +01:00
_sqlite gh-94321: Document sqlite3.PrepareProtocol (#94620) 2022-07-08 00:33:17 +02:00
_sre gh-91404: Revert "bpo-23689: re module, fix memory leak when a match is terminated by a signal or allocation failure (GH-32283) (#93882) 2022-06-17 01:19:44 -07:00
_ssl gh-91320: Argument Clinic uses _PyCFunction_CAST() (#32210) 2022-05-03 20:25:41 +02:00
_testcapi gh-93649: Fix linkage of _PyTestCapi_Init_Vectorcall (#94702) 2022-07-13 13:22:45 +02:00
_xxtestfuzz bpo-29505: Add fuzzer for ast.literal_eval (GH-28777) 2021-10-06 16:22:09 -07:00
cjkcodecs gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
clinic gh-94199: Remove ssl.RAND_pseudo_bytes() function (#94202) 2022-06-24 11:05:53 +02:00
expat bpo-46932: Update bundled libexpat to 2.4.7 (GH-31736) 2022-03-07 21:46:18 +00:00
README
Setup gh-93939: Build C extensions without setup.py (GH-94474) 2022-07-14 00:51:49 -07:00
Setup.bootstrap.in bpo-47152: Move sources of the _sre module into a subdirectory (GH-32290) 2022-04-04 10:53:26 +03:00
Setup.stdlib.in gh-93939: Build C extensions without setup.py (GH-94474) 2022-07-14 00:51:49 -07:00
_abc.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_asynciomodule.c bpo-45924: Fix asyncio incorrect traceback when future's exception is raised multiple times (GH-30274) 2022-07-11 13:32:11 +01:00
_bisectmodule.c gh-92839: fixed typo in _bisectmodule.c (line 131) (#92849) 2022-05-28 13:08:06 -05:00
_bz2module.c gh-94401: Remove unneeded bz2 module state (#94402) 2022-06-29 17:51:36 +02:00
_codecsmodule.c bpo-45467: Fix IncrementalDecoder and StreamReader in the "raw-unicode-escape" codec (GH-28944) 2021-10-14 20:04:19 +03:00
_collectionsmodule.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
_contextvarsmodule.c
_cryptmodule.c closes bpo-44751: Move crypt.h include from public header to _cryptmodule (GH-27394) 2021-07-27 15:58:12 -07:00
_csv.c gh-89653: Use int type for Unicode kind (#92704) 2022-05-13 12:41:05 +02:00
_curses_panel.c bpo-43916: Add Py_TPFLAGS_DISALLOW_INSTANTIATION type flag (GH-25721) 2021-04-30 12:46:15 +02:00
_cursesmodule.c GH-94644: fix test_curses ref leak (GH-94647) 2022-07-07 03:57:45 -07:00
_datetimemodule.c gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
_dbmmodule.c gh-89452: Prefer gdbm-compat over ndbm (#92208) 2022-05-03 18:27:38 +02:00
_elementtree.c gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
_functoolsmodule.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
_gdbmmodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from dbms modules (GH-31358) 2022-02-16 18:57:28 +09:00
_hashopenssl.c DOC: correct bytesarray -> bytearray in comments (GH-92410) 2022-06-21 22:04:03 +02:00
_heapqmodule.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
_json.c gh-94393: Remove unneeded module state from _json (#94394) 2022-07-02 08:24:19 +02:00
_localemodule.c bpo-47000: Add `locale.getencoding()` (GH-32068) 2022-04-09 09:54:54 +09:00
_lsprof.c gh-94510: Raise on re-entrant calls to sys.setprofile and sys.settrace (GH-94511) 2022-07-05 20:18:47 +02:00
_lzmamodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from lzma module (GH-31683) 2022-03-05 01:38:56 +09:00
_math.h bpo-45548: Remove _math.c workarounds for pre-C99 libm (GH-29179) 2021-10-25 01:25:27 -07:00
_opcode.c gh-94216: add pseudo instructions to the dis/opcodes modules (GH-94241) 2022-07-01 15:33:35 +01:00
_operator.c DOC: correct bytesarray -> bytearray in comments (GH-92410) 2022-06-21 22:04:03 +02:00
_pickle.c GH-89988: Fix memory leak in pickle.Pickler dispatch_table lookup (GH-94298) 2022-06-28 10:01:43 +03:00
_posixsubprocess.c gh-82616: Add Py_IS_TYPE_SIGNED() macro (#93178) 2022-05-27 15:05:35 +02:00
_queuemodule.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_randommodule.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_scproxy.c
_ssl.c gh-94637: Release GIL in SSLContext.set_default_verify_paths (GH-94658) 2022-07-09 18:11:15 +02:00
_ssl.h bpo-46541: remove usage of _Py_IDENTIFIER from _ssl module (GH-31599) 2022-03-02 00:38:21 +09:00
_ssl_data.h
_ssl_data_111.h bpo-43788: Generate version specific _ssl_data.h (GH-25300) 2021-04-09 08:02:00 -07:00
_ssl_data_300.h bpo-43788: Generate version specific _ssl_data.h (GH-25300) 2021-04-09 08:02:00 -07:00
_stat.c
_statisticsmodule.c
_struct.c GH-94254: Make _struct module types immutable (#94269) 2022-06-26 12:12:01 +02:00
_testbuffer.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
_testcapi_feature_macros.inc gh-91324: List feature macros in the stable ABI manifest, improve tests (GH-32415) 2022-04-28 16:30:28 +02:00
_testcapimodule.c gh-93649: Split vectorcall testing from _testcapimodule.c (GH-94549) 2022-07-08 08:56:26 -07:00
_testimportmultiple.c
_testinternalcapi.c Fix NULL test in _testinternalcapi (GH-92861) 2022-05-16 21:32:48 -04:00
_testmultiphase.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
_threadmodule.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
_tkinter.c bpo-46996: Remove support of Tcl/Tk < 8.5.12 (GH-31839) 2022-03-17 13:05:52 +02:00
_tracemalloc.c bpo-47177: Replace `f_lasti` with `prev_instr` (GH-32208) 2022-04-07 12:31:01 -07:00
_typingmodule.c bpo-44353: Implement typing.NewType __call__ method in C (#27262) 2021-07-22 23:06:54 +02:00
_uuidmodule.c bpo-45847: Port _uuid to PY_STDLIB_MOD (GH-29741) 2021-11-24 10:20:37 +01:00
_weakref.c bpo-46937: convert remaining functions to AC in _weakref (GH-31705) 2022-03-07 18:57:45 +09:00
_winapi.c bpo-42658: Use LCMapStringEx in ntpath.normcase to match OS behaviour for case-folding (GH-32010) 2022-06-07 00:47:27 +01:00
_xxsubinterpretersmodule.c gh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938) 2022-06-19 12:02:33 +02:00
_zoneinfo.c gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
addrinfo.h
arraymodule.c gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
atexitmodule.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
audioop.c Deprecate audioop (GH-32392) 2022-04-07 12:27:35 -07:00
binascii.c gh-93172: Remove unnecessary "if"s in binascii_a2b_qp_impl() from Modules/binascii.c (GH-93181) 2022-05-25 11:38:47 -04:00
cmathmodule.c bpo-46656: Remove Py_NO_NAN macro (GH-31160) 2022-02-25 01:32:57 +01:00
config.c.in Add tests for the C tokenizer and expose it as a private module (GH-27924) 2021-08-24 17:50:05 +01:00
errnomodule.c bpo-42971: Add errno.EQFULL (macOS) (GH-24419) 2021-08-06 23:35:13 +02:00
faulthandler.c gh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938) 2022-06-19 12:02:33 +02:00
fcntlmodule.c gh-93475: Expose FICLONE and FICLONERANGE constants in fcntl (#93478) 2022-06-06 23:21:58 +02:00
gc_weakref.txt Fix typos in the Modules directory (GH-28761) 2021-10-07 01:34:42 -07:00
gcmodule.c bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS (gh-93185) 2022-05-27 17:38:01 -06:00
getaddrinfo.c
getbuildinfo.c bpo-45532: Replace 'default' with 'main' as default in sys.version (GH-29100) 2021-10-21 02:09:03 +09:00
getnameinfo.c gh-84461: Silence some compiler warnings on WASM (GH-93978) 2022-06-20 13:34:40 +02:00
getpath.c bpo-46890: Fix setting of sys._base_executable with framework builds on macOS (GH-31958) 2022-04-05 02:05:36 -04:00
getpath.py gh-91985: Ensure in-tree builds override platstdlib_dir in every path calculation (GH-93641) 2022-06-16 22:41:57 +01:00
getpath_noop.c bpo-45582: Port getpath[p].c to Python (GH-29041) 2021-12-03 00:08:42 +00:00
grpmodule.c
hashlib.h hashlib: Fix old message about unicode objects. (GH-28653) 2021-10-01 14:38:49 +02:00
itertoolsmodule.c bpo-46728: fix docstring of combinations_with_replacement for consistency (GH-31293) 2022-02-15 09:02:21 +09:00
ld_so_aix.in
main.c gh-77782: Deprecate global configuration variable (#93943) 2022-06-17 16:12:00 +02:00
makesetup gh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS (GH-94413) 2022-06-29 15:44:14 +02:00
makexp_aix
mathmodule.c Remove usage of _Py_IDENTIFIER from math module (#93739) 2022-06-12 18:45:02 +09:00
md5module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
mmapmodule.c gh-94395: Remove unneeded module state from mmap (#94396) 2022-06-29 07:20:53 +02:00
nismodule.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
ossaudiodev.c gh-91734: Fix ossaudio support on Solaris (GH-91735) 2022-04-20 13:46:08 +03:00
overlapped.c gh-94401: Remove unneeded overlapped module state (#94403) 2022-06-29 12:24:51 +02:00
posixmodule.c gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
posixmodule.h bpo-41498: Fix build on platforms without sigset_t (GH-29770) 2021-11-25 12:28:41 +01:00
pwdmodule.c bpo-46670: Remove unused macros in the Modules directory (GH-31194) 2022-02-07 16:21:31 +01:00
pyexpat.c gh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938) 2022-06-19 12:02:33 +02:00
readline.c bpo-45434: pyport.h no longer includes <stdlib.h> (GH-28914) 2021-10-13 19:25:53 +02:00
resource.c bpo-40280: Address more test failures on Emscripten (GH-31050) 2022-02-05 20:52:01 +01:00
rotatingtree.c
rotatingtree.h
selectmodule.c bpo-40280: select: Use NULL for empty fdset (GH-31865) 2022-03-14 14:40:28 +01:00
sha1module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
sha256module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
sha512module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
signalmodule.c gh-84461: Silence some compiler warnings on WASM (GH-93978) 2022-06-20 13:34:40 +02:00
socketmodule.c gh-94821: Fix autobind of empty unix domain address (GH-94826) 2022-07-15 09:13:33 +03:00
socketmodule.h gh-92658: AF_HYPERV is only supported on Windows (#93192) 2022-05-25 04:44:57 +02:00
spwdmodule.c gh-91217: deprecate spwd (#91846) 2022-04-23 14:48:17 -07:00
symtablemodule.c bpo-42725: Render annotations effectless on symbol table with PEP 563 (GH-25583) 2021-05-03 10:43:00 +03:00
syslogmodule.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
termios.c Remove trailing spaces. (GH-28706) 2021-10-03 16:58:14 +03:00
testcapi_long.h
timemodule.c gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742) 2022-06-14 07:15:26 +03:00
tkappinit.c
tkinter.h
unicodedata.c Remove usage of _Py_IDENTIFIER from unicodedata module. (GH-91532) 2022-04-15 10:44:05 +09:00
unicodedata_db.h closes bpo-45190: Update Unicode data to version 14.0.0. (GH-28336) 2021-09-14 11:00:38 -07:00
unicodename_db.h closes bpo-45190: Update Unicode data to version 14.0.0. (GH-28336) 2021-09-14 11:00:38 -07:00
winreparse.h
xxlimited.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
xxlimited_35.c gh-90763: Modernise xx template module initialisation (#93078) 2022-06-10 12:39:02 +02:00
xxmodule.c gh-90763: Modernise xx template module initialisation (#93078) 2022-06-10 12:39:02 +02:00
xxsubtype.c gh-91320: Use _PyCFunction_CAST() (#92251) 2022-05-03 21:42:14 +02:00
zlibmodule.c bpo-38256: Fix binascii.crc32() when inputs are 4+GiB (GH-32000) 2022-03-20 12:28:15 -07:00

README

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