# HG changeset patch # Parent 57f3514564f62b93847d3867c3a4ff41a082cc92 Issue #nnnnn: Document socket.SO_*, SCM_*, MSG_*, IPPROTO_* symbols Issue #nnnnn: socket.SO_REUSEADDR is always required in the test suite Also remove redundant addition of IPPROTO_IPV6. diff -r 57f3514564f6 Doc/library/socket.rst --- a/Doc/library/socket.rst Tue Jun 28 10:12:22 2016 -0700 +++ b/Doc/library/socket.rst Wed Jun 29 02:48:38 2016 +0000 @@ -217,11 +217,10 @@ Constants ^^^^^^^^^ +.. versionchanged:: 3.4 The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:`SocketKind` :class:`.IntEnum` collections. - .. versionadded:: 3.4 - .. data:: AF_UNIX AF_INET AF_INET6 @@ -273,6 +272,7 @@ AI_* NI_* TCP_* + LOCAL_PEERCRED Many constants of these forms, documented in the Unix documentation on sockets and/or the IP protocol, are also defined in the socket module. They are @@ -281,6 +281,42 @@ in the Unix header files are defined; for a few symbols, default values are provided. + Constants always included: + IPPROTO_IP, IPPROTO_ICMP, IPPROTO_TCP, IPPROTO_UDP, IPPROTO_RAW. + + Constants originally included in 3.0 when defined by the OS: + SO_DEBUG, SO_ACCEPTCONN, SO_REUSEADDR, SO_EXCLUSIVEADDRUSE, + SO_KEEPALIVE, SO_DONTROUTE, SO_BROADCAST, SO_USELOOPBACK, + SO_LINGER, SO_OOBINLINE, SO_REUSEPORT, + SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO, SO_RCVTIMEO, + SO_ERROR, SO_TYPE, + MSG_OOB, MSG_PEEK, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOR, + MSG_TRUNC, MSG_CTRUNC, MSG_WAITALL, MSG_BTAG, MSG_ETAG, + IPPROTO_HOPOPTS, + IPPROTO_IGMP, IPPROTO_GGP, IPPROTO_IPV4, IPPROTO_IPV6, IPPROTO_IPIP, + IPPROTO_EGP, IPPROTO_PUP, + IPPROTO_IDP, IPPROTO_HELLO, IPPROTO_ND, IPPROTO_TP, + IPPROTO_ROUTING, IPPROTO_FRAGMENT, IPPROTO_RSVP, IPPROTO_GRE, IPPROTO_ESP, + IPPROTO_AH, IPPROTO_MOBILE, IPPROTO_ICMPV6, IPPROTO_NONE, IPPROTO_DSTOPTS, + IPPROTO_XTP, IPPROTO_EON, IPPROTO_PIM, IPPROTO_IPCOMP, IPPROTO_VRRP, + IPPROTO_BIP, IPPROTO_MAX. + + .. versionadded:: 3.2 + SO_SETFIB. + + .. versionadded:: 3.3 + SO_PASSCRED, SO_PEERCRED, LOCAL_PEERCRED, SO_BINDTODEVICE, + SCM_RIGHTS, SCM_CREDENTIALS, SCM_CREDS, + MSG_NOSIGNAL, MSG_NOTIFICATION, MSG_CMSG_CLOEXEC, MSG_ERRQUEUE, + MSG_CONFIRM, MSG_MORE, MSG_EOF, MSG_BCAST, MSG_MCAST, + IPPROTO_SCTP. + + .. versionadded:: 3.4 + SO_PRIORITY, MSG_FASTOPEN. + + .. versionadded:: 3.5 + SO_MARK. + .. data:: AF_CAN PF_CAN SOL_CAN_* diff -r 57f3514564f6 Lib/test/test_socket.py --- a/Lib/test/test_socket.py Tue Jun 28 10:12:22 2016 -0700 +++ b/Lib/test/test_socket.py Wed Jun 29 02:48:38 2016 +0000 @@ -761,6 +761,11 @@ socket.SOCK_SEQPACKET socket.SOL_SOCKET socket.SO_REUSEADDR + socket.IPPROTO_IP + socket.IPPROTO_ICMP + socket.IPPROTO_TCP + socket.IPPROTO_UDP + socket.IPPROTO_RAW def testHostnameRes(self): # Testing hostname resolution mechanisms diff -r 57f3514564f6 Misc/NEWS --- a/Misc/NEWS Tue Jun 28 10:12:22 2016 -0700 +++ b/Misc/NEWS Wed Jun 29 02:48:38 2016 +0000 @@ -84,6 +84,12 @@ locale encoding, and fix get_begidx() and get_endidx() to return code point indexes. +Documentation +------------- + +- Issue #nnnnn: For the socket.SO_*, SCM_*, MSG_* and IPPROTO_* constants, + list the individual symbols defined by Python. + IDLE ---- diff -r 57f3514564f6 Modules/socketmodule.c --- a/Modules/socketmodule.c Tue Jun 28 10:12:22 2016 -0700 +++ b/Modules/socketmodule.c Wed Jun 29 02:48:38 2016 +0000 @@ -6513,9 +6513,7 @@ #ifdef SO_ACCEPTCONN PyModule_AddIntMacro(m, SO_ACCEPTCONN); #endif -#ifdef SO_REUSEADDR PyModule_AddIntMacro(m, SO_REUSEADDR); -#endif #ifdef SO_EXCLUSIVEADDRUSE PyModule_AddIntMacro(m, SO_EXCLUSIVEADDRUSE); #endif @@ -6820,9 +6818,6 @@ #ifdef IPPROTO_TP PyModule_AddIntMacro(m, IPPROTO_TP); #endif -#ifdef IPPROTO_IPV6 - PyModule_AddIntMacro(m, IPPROTO_IPV6); -#endif #ifdef IPPROTO_ROUTING PyModule_AddIntMacro(m, IPPROTO_ROUTING); #endif