[Python-checkins] bpo-46030: socket module add couple of FreeBSD constants. (GH-30018)
asvetlov
webhook-mailer at python.org
Thu Mar 17 16:40:15 EDT 2022
https://github.com/python/cpython/commit/33698e8ff40fcc67df3d95658e87196f8021de6f
commit: 33698e8ff40fcc67df3d95658e87196f8021de6f
branch: main
author: David CARLIER <devnexen at gmail.com>
committer: asvetlov <andrew.svetlov at gmail.com>
date: 2022-03-17T22:40:00+02:00
summary:
bpo-46030: socket module add couple of FreeBSD constants. (GH-30018)
Co-authored-by: Andrew Svetlov <andrew.svetlov at gmail.com>
files:
A Misc/NEWS.d/next/Library/2021-12-10-07-07-47.bpo-46030.UN349J.rst
M Doc/library/socket.rst
M Modules/socketmodule.c
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index 679631a739092..f8392ba1254b7 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 0000000000000..4f91b17963157
--- /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 fbdd1a164db25..7f7af1895bd9f 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
More information about the Python-checkins
mailing list