diff options
author | David CARLIER <devnexen@gmail.com> | 2022-05-08 23:19:41 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-08 23:19:41 (GMT) |
commit | 9d85aba9e245c1a0f6d1879f8bc6c260cb4eb721 (patch) | |
tree | 09649312b8e06e5fbf55748d481b8a167d57d770 | |
parent | 859250cc55711f4d62b65922d3f7537826c3801e (diff) | |
download | cpython-9d85aba9e245c1a0f6d1879f8bc6c260cb4eb721.zip cpython-9d85aba9e245c1a0f6d1879f8bc6c260cb4eb721.tar.gz cpython-9d85aba9e245c1a0f6d1879f8bc6c260cb4eb721.tar.bz2 |
gh-91968: Add socket constants SO_USER_COOKIE/SO_RTABLE from BSD (#91967)
Those are somewhat equivalent to Linux' SO_MARK.
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
-rwxr-xr-x | Doc/library/socket.rst | 5 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2022-04-26-18-37-24.gh-issue-91968.fuuH1_.rst | 1 | ||||
-rw-r--r-- | Modules/socketmodule.c | 6 |
3 files changed, 12 insertions, 0 deletions
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst index ee1aee5..4c193b8 100755 --- a/Doc/library/socket.rst +++ b/Doc/library/socket.rst @@ -392,6 +392,11 @@ Constants Added ``TCP_CONNECTION_INFO``. On MacOS this constant can be used in the same way that ``TCP_INFO`` is used on Linux and BSD. + .. versionchanged:: 3.12 + Added ``SO_RTABLE`` and ``SO_USER_COOKIE``. On OpenBSD + and FreeBSD respectively those constants can be used in the same way that + ``SO_MARK`` is used on Linux. + .. data:: AF_CAN PF_CAN SOL_CAN_* diff --git a/Misc/NEWS.d/next/Library/2022-04-26-18-37-24.gh-issue-91968.fuuH1_.rst b/Misc/NEWS.d/next/Library/2022-04-26-18-37-24.gh-issue-91968.fuuH1_.rst new file mode 100644 index 0000000..f16f5d3 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-04-26-18-37-24.gh-issue-91968.fuuH1_.rst @@ -0,0 +1 @@ +Add ``SO_RTABLE`` and ``SO_USER_COOKIE`` constants to :mod:`socket`. diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 9aefa44..f376513 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -7595,6 +7595,12 @@ PyInit__socket(void) #ifdef SO_MARK PyModule_AddIntMacro(m, SO_MARK); #endif +#ifdef SO_USER_COOKIE + PyModule_AddIntMacro(m, SO_USER_COOKIE); +#endif +#ifdef SO_RTABLE + PyModule_AddIntMacro(m, SO_RTABLE); +#endif #ifdef SO_DOMAIN PyModule_AddIntMacro(m, SO_DOMAIN); #endif |