From 33698e8ff40fcc67df3d95658e87196f8021de6f Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Thu, 17 Mar 2022 20:40:00 +0000 Subject: bpo-46030: socket module add couple of FreeBSD constants. (GH-30018) Co-authored-by: Andrew Svetlov --- Doc/library/socket.rst | 15 +++++++++++++++ .../next/Library/2021-12-10-07-07-47.bpo-46030.UN349J.rst | 1 + Modules/socketmodule.c | 9 +++++++++ 3 files changed, 25 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2021-12-10-07-07-47.bpo-46030.UN349J.rst diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst index 679631a..f8392ba 100755 --- a/Doc/library/socket.rst +++ b/Doc/library/socket.rst @@ -556,6 +556,21 @@ Constants .. availability:: Linux >= 4.7. +.. data:: SCM_CREDS2 + LOCAL_CREDS + LOCAL_CREDS_PERSISTENT + + LOCAL_CREDS and LOCAL_CREDS_PERSISTENT can be used + with SOCK_DGRAM, SOCK_STREAM sockets, equivalent to + Linux/DragonFlyBSD SO_PASSCRED, while LOCAL_CREDS + sends the credentials at first read, LOCAL_CREDS_PERSISTENT + sends for each read, SCM_CREDS2 must be then used for + the latter for the message type. + + .. versionadded:: 3.11 + + .. availability:: FreeBSD. + Functions ^^^^^^^^^ diff --git a/Misc/NEWS.d/next/Library/2021-12-10-07-07-47.bpo-46030.UN349J.rst b/Misc/NEWS.d/next/Library/2021-12-10-07-07-47.bpo-46030.UN349J.rst new file mode 100644 index 0000000..4f91b17 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-12-10-07-07-47.bpo-46030.UN349J.rst @@ -0,0 +1 @@ +Add ``LOCAL_CREDS``, ``LOCAL_CREDS_PERSISTENT`` and ``SCM_CREDS2`` FreeBSD constants to the socket module. diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index fbdd1a1..7f7af18 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -7581,6 +7581,12 @@ PyInit__socket(void) #ifdef SO_PROTOCOL PyModule_AddIntMacro(m, SO_PROTOCOL); #endif +#ifdef LOCAL_CREDS + PyModule_AddIntMacro(m, LOCAL_CREDS); +#endif +#ifdef LOCAL_CREDS_PERSISTENT + PyModule_AddIntMacro(m, LOCAL_CREDS_PERSISTENT); +#endif /* Maximum number of connections for "listen" */ #ifdef SOMAXCONN @@ -7599,6 +7605,9 @@ PyInit__socket(void) #ifdef SCM_CREDS PyModule_AddIntMacro(m, SCM_CREDS); #endif +#ifdef SCM_CREDS2 + PyModule_AddIntMacro(m, SCM_CREDS2); +#endif /* Flags for send, recv */ #ifdef MSG_OOB -- cgit v0.12