diff --git a/stdlib/_socket.pyi b/stdlib/_socket.pyi index 903ec9d978ba..7af5be43c234 100644 --- a/stdlib/_socket.pyi +++ b/stdlib/_socket.pyi @@ -30,8 +30,6 @@ _RetAddress: TypeAlias = Any has_ipv6: bool -# Per socketmodule.c, only these three families are portable -AF_UNIX: int AF_INET: int AF_INET6: int @@ -46,58 +44,56 @@ if sys.platform == "linux": SOCK_NONBLOCK: int # Address families not mentioned in the docs -AF_AAL5: int AF_APPLETALK: int -AF_ASH: int -AF_ATMPVC: int -AF_ATMSVC: int -AF_AX25: int -AF_BRIDGE: int AF_DECnet: int -AF_ECONET: int AF_IPX: int -AF_IRDA: int -AF_KEY: int -AF_LLC: int -AF_NETBEUI: int -AF_NETROM: int -AF_PPPOX: int -AF_ROSE: int -AF_ROUTE: int -AF_SECURITY: int AF_SNA: int -AF_SYSTEM: int AF_UNSPEC: int -AF_WANPIPE: int -AF_X25: int + +if sys.platform != "win32": + AF_ROUTE: int + AF_SYSTEM: int + AF_UNIX: int + +if sys.platform != "darwin": + AF_IRDA: int + +if sys.platform != "darwin" and sys.platform != "win32": + AF_AAL5: int + AF_ASH: int + AF_ATMPVC: int + AF_ATMSVC: int + AF_AX25: int + AF_BRIDGE: int + AF_ECONET: int + AF_KEY: int + AF_LLC: int + AF_NETBEUI: int + AF_NETROM: int + AF_PPPOX: int + AF_ROSE: int + AF_SECURITY: int + AF_WANPIPE: int + AF_X25: int # The "many constants" referenced by the docs SOMAXCONN: int AI_ADDRCONFIG: int AI_ALL: int AI_CANONNAME: int -AI_DEFAULT: int -AI_MASK: int AI_NUMERICHOST: int AI_NUMERICSERV: int AI_PASSIVE: int AI_V4MAPPED: int -AI_V4MAPPED_CFG: int -EAI_ADDRFAMILY: int EAI_AGAIN: int EAI_BADFLAGS: int -EAI_BADHINTS: int EAI_FAIL: int EAI_FAMILY: int -EAI_MAX: int EAI_MEMORY: int EAI_NODATA: int EAI_NONAME: int -EAI_OVERFLOW: int -EAI_PROTOCOL: int EAI_SERVICE: int EAI_SOCKTYPE: int -EAI_SYSTEM: int INADDR_ALLHOSTS_GROUP: int INADDR_ANY: int INADDR_BROADCAST: int @@ -107,103 +103,82 @@ INADDR_NONE: int INADDR_UNSPEC_GROUP: int IPPORT_RESERVED: int IPPORT_USERRESERVED: int -IPPROTO_AH: int -IPPROTO_BIP: int -IPPROTO_DSTOPTS: int -IPPROTO_EGP: int -IPPROTO_EON: int -IPPROTO_ESP: int -IPPROTO_FRAGMENT: int -IPPROTO_GGP: int -IPPROTO_GRE: int -IPPROTO_HELLO: int -IPPROTO_HOPOPTS: int + +if sys.platform != "win32" or sys.version_info >= (3, 8): + IPPROTO_AH: int + IPPROTO_DSTOPTS: int + IPPROTO_EGP: int + IPPROTO_ESP: int + IPPROTO_FRAGMENT: int + IPPROTO_GGP: int + IPPROTO_HOPOPTS: int + IPPROTO_ICMPV6: int + IPPROTO_IDP: int + IPPROTO_IGMP: int + IPPROTO_IPV4: int + IPPROTO_IPV6: int + IPPROTO_MAX: int + IPPROTO_ND: int + IPPROTO_NONE: int + IPPROTO_PIM: int + IPPROTO_PUP: int + IPPROTO_ROUTING: int + IPPROTO_SCTP: int + + if sys.platform != "darwin": + IPPROTO_CBT: int + IPPROTO_ICLFXBM: int + IPPROTO_IGP: int + IPPROTO_L2TP: int + IPPROTO_PGM: int + IPPROTO_RDP: int + IPPROTO_ST: int + IPPROTO_ICMP: int -IPPROTO_ICMPV6: int -IPPROTO_IDP: int -IPPROTO_IGMP: int IPPROTO_IP: int -IPPROTO_IPCOMP: int -IPPROTO_IPIP: int -IPPROTO_IPV4: int -IPPROTO_IPV6: int -IPPROTO_MAX: int -IPPROTO_MOBILE: int -IPPROTO_ND: int -IPPROTO_NONE: int -IPPROTO_PIM: int -IPPROTO_PUP: int IPPROTO_RAW: int -IPPROTO_ROUTING: int -IPPROTO_RSVP: int -IPPROTO_SCTP: int IPPROTO_TCP: int -IPPROTO_TP: int IPPROTO_UDP: int -IPPROTO_VRRP: int -IPPROTO_XTP: int IPV6_CHECKSUM: int -IPV6_DONTFRAG: int -IPV6_DSTOPTS: int -IPV6_HOPLIMIT: int -IPV6_HOPOPTS: int IPV6_JOIN_GROUP: int IPV6_LEAVE_GROUP: int IPV6_MULTICAST_HOPS: int IPV6_MULTICAST_IF: int IPV6_MULTICAST_LOOP: int -IPV6_NEXTHOP: int -IPV6_PATHMTU: int -IPV6_PKTINFO: int -IPV6_RECVDSTOPTS: int -IPV6_RECVHOPLIMIT: int -IPV6_RECVHOPOPTS: int -IPV6_RECVPATHMTU: int -IPV6_RECVPKTINFO: int -IPV6_RECVRTHDR: int IPV6_RECVTCLASS: int -IPV6_RTHDR: int -IPV6_RTHDRDSTOPTS: int -IPV6_RTHDR_TYPE_0: int IPV6_TCLASS: int IPV6_UNICAST_HOPS: int -IPV6_USE_MIN_MTU: int IPV6_V6ONLY: int -IPX_TYPE: int + +if sys.platform != "darwin" or sys.version_info >= (3, 9): + IPV6_DONTFRAG: int + IPV6_HOPLIMIT: int + IPV6_HOPOPTS: int + IPV6_PKTINFO: int + IPV6_RECVRTHDR: int + IPV6_RTHDR: int + IP_ADD_MEMBERSHIP: int -IP_DEFAULT_MULTICAST_LOOP: int -IP_DEFAULT_MULTICAST_TTL: int IP_DROP_MEMBERSHIP: int IP_HDRINCL: int -IP_MAX_MEMBERSHIPS: int IP_MULTICAST_IF: int IP_MULTICAST_LOOP: int IP_MULTICAST_TTL: int IP_OPTIONS: int IP_RECVDSTADDR: int -IP_RECVOPTS: int -IP_RECVRETOPTS: int -IP_RETOPTS: int +if sys.version_info >= (3, 10): + IP_RECVTOS: int +elif sys.platform != "win32" and sys.platform != "darwin": + IP_RECVTOS: int IP_TOS: int -IP_TRANSPARENT: int IP_TTL: int -LOCAL_PEERCRED: int -MSG_BCAST: int -MSG_BTAG: int -MSG_CMSG_CLOEXEC: int -MSG_CONFIRM: int MSG_CTRUNC: int MSG_DONTROUTE: int -MSG_DONTWAIT: int -MSG_EOF: int -MSG_EOR: int -MSG_ERRQUEUE: int -MSG_ETAG: int -MSG_FASTOPEN: int -MSG_MCAST: int -MSG_MORE: int -MSG_NOSIGNAL: int -MSG_NOTIFICATION: int + +if sys.platform != "darwin": + if sys.platform != "win32" or sys.version_info >= (3, 7): + MSG_ERRQUEUE: int + MSG_OOB: int MSG_PEEK: int MSG_TRUNC: int @@ -215,42 +190,25 @@ NI_NAMEREQD: int NI_NOFQDN: int NI_NUMERICHOST: int NI_NUMERICSERV: int -SCM_CREDENTIALS: int -SCM_CREDS: int -SCM_RIGHTS: int SHUT_RD: int SHUT_RDWR: int SHUT_WR: int -SOL_ATALK: int -SOL_AX25: int -SOL_HCI: int SOL_IP: int -SOL_IPX: int -SOL_NETROM: int -SOL_ROSE: int SOL_SOCKET: int SOL_TCP: int SOL_UDP: int SO_ACCEPTCONN: int -SO_BINDTODEVICE: int SO_BROADCAST: int SO_DEBUG: int SO_DONTROUTE: int SO_ERROR: int -SO_EXCLUSIVEADDRUSE: int SO_KEEPALIVE: int SO_LINGER: int -SO_MARK: int SO_OOBINLINE: int -SO_PASSCRED: int -SO_PEERCRED: int -SO_PRIORITY: int SO_RCVBUF: int SO_RCVLOWAT: int SO_RCVTIMEO: int SO_REUSEADDR: int -SO_REUSEPORT: int -SO_SETFIB: int SO_SNDBUF: int SO_SNDLOWAT: int SO_SNDTIMEO: int @@ -258,26 +216,109 @@ SO_TYPE: int SO_USELOOPBACK: int if sys.platform == "linux" and sys.version_info >= (3, 11): SO_INCOMING_CPU: int -TCP_CORK: int -TCP_DEFER_ACCEPT: int TCP_FASTOPEN: int -TCP_INFO: int TCP_KEEPCNT: int -TCP_KEEPIDLE: int -TCP_KEEPINTVL: int -TCP_LINGER2: int + +if sys.platform != "win32" or sys.version_info >= (3, 7): + TCP_KEEPINTVL: int + if sys.platform != "darwin": + TCP_KEEPIDLE: int + TCP_MAXSEG: int TCP_NODELAY: int -TCP_QUICKACK: int -TCP_SYNCNT: int -TCP_WINDOW_CLAMP: int -if sys.version_info >= (3, 7): +if sys.version_info >= (3, 7) and sys.platform != "win32": TCP_NOTSENT_LOWAT: int if sys.version_info >= (3, 10) and sys.platform == "darwin": TCP_KEEPALIVE: int if sys.version_info >= (3, 11) and sys.platform == "darwin": TCP_CONNECTION_INFO: int +if sys.platform != "darwin": + MSG_BCAST: int + MSG_MCAST: int + SO_EXCLUSIVEADDRUSE: int + +if sys.platform != "win32": + AI_DEFAULT: int + AI_MASK: int + AI_V4MAPPED_CFG: int + EAI_ADDRFAMILY: int + EAI_BADHINTS: int + EAI_MAX: int + EAI_OVERFLOW: int + EAI_PROTOCOL: int + EAI_SYSTEM: int + IPPROTO_EON: int + IPPROTO_GRE: int + IPPROTO_HELLO: int + IPPROTO_IPCOMP: int + IPPROTO_IPIP: int + IPPROTO_RSVP: int + IPPROTO_TP: int + IPPROTO_XTP: int + IPV6_RTHDR_TYPE_0: int + IP_DEFAULT_MULTICAST_LOOP: int + IP_DEFAULT_MULTICAST_TTL: int + IP_MAX_MEMBERSHIPS: int + IP_RECVOPTS: int + IP_RECVRETOPTS: int + IP_RETOPTS: int + LOCAL_PEERCRED: int + MSG_DONTWAIT: int + MSG_EOF: int + MSG_EOR: int + MSG_NOSIGNAL: int # Sometimes this exists on darwin, sometimes not + SCM_CREDS: int + SCM_RIGHTS: int + SO_REUSEPORT: int + +if sys.platform != "win32": + if sys.platform != "darwin" or sys.version_info >= (3, 9): + IPV6_DSTOPTS: int + IPV6_NEXTHOP: int + IPV6_PATHMTU: int + IPV6_RECVDSTOPTS: int + IPV6_RECVHOPLIMIT: int + IPV6_RECVHOPOPTS: int + IPV6_RECVPATHMTU: int + IPV6_RECVPKTINFO: int + IPV6_RTHDRDSTOPTS: int + IPV6_USE_MIN_MTU: int + +if sys.platform != "win32" and sys.platform != "darwin": + IPPROTO_BIP: int + IPPROTO_MOBILE: int + IPPROTO_VRRP: int + IPX_TYPE: int + IP_TRANSPARENT: int + MSG_BTAG: int + MSG_CMSG_CLOEXEC: int + MSG_CONFIRM: int + MSG_ETAG: int + MSG_FASTOPEN: int + MSG_MORE: int + MSG_NOTIFICATION: int + SCM_CREDENTIALS: int + SOL_ATALK: int + SOL_AX25: int + SOL_HCI: int + SOL_IPX: int + SOL_NETROM: int + SOL_ROSE: int + SO_BINDTODEVICE: int + SO_MARK: int + SO_PASSCRED: int + SO_PEERCRED: int + SO_PRIORITY: int + SO_SETFIB: int + TCP_CORK: int + TCP_DEFER_ACCEPT: int + TCP_INFO: int + TCP_LINGER2: int + TCP_QUICKACK: int + TCP_SYNCNT: int + TCP_WINDOW_CLAMP: int + # Specifically-documented constants if sys.platform == "linux": @@ -404,7 +445,6 @@ if sys.platform == "win32": SIO_RCVALL: int SIO_KEEPALIVE_VALS: int SIO_LOOPBACK_FAST_PATH: int - RCVALL_IPLEVEL: int RCVALL_MAX: int RCVALL_OFF: int RCVALL_ON: int @@ -462,16 +502,18 @@ if sys.platform == "linux" and sys.version_info >= (3, 7): SO_VM_SOCKETS_BUFFER_MIN_SIZE: int VM_SOCKETS_INVALID_VERSION: int -AF_LINK: int # Availability: BSD, macOS +if sys.platform != "win32" or sys.version_info >= (3, 9): + AF_LINK: int # BDADDR_* and HCI_* listed with other bluetooth constants below -SO_DOMAIN: int -SO_PASSSEC: int -SO_PEERSEC: int -SO_PROTOCOL: int -TCP_CONGESTION: int -TCP_USER_TIMEOUT: int +if sys.platform != "win32" and sys.platform != "darwin": + SO_DOMAIN: int + SO_PASSSEC: int + SO_PEERSEC: int + SO_PROTOCOL: int + TCP_CONGESTION: int + TCP_USER_TIMEOUT: int if sys.platform == "linux" and sys.version_info >= (3, 8): AF_QIPCRTR: int @@ -497,18 +539,19 @@ if sys.platform == "linux": NETLINK_W1: int NETLINK_XFRM: int +if sys.platform != "darwin": + if sys.platform != "win32" or sys.version_info >= (3, 9): + AF_BLUETOOTH: int + BDADDR_ANY: str + BDADDR_LOCAL: str + BTPROTO_RFCOMM: int + if sys.platform != "win32" and sys.platform != "darwin": # Linux and some BSD support is explicit in the docs # Windows and macOS do not support in practice - AF_BLUETOOTH: int BTPROTO_HCI: int BTPROTO_L2CAP: int - BTPROTO_RFCOMM: int BTPROTO_SCO: int # not in FreeBSD - - BDADDR_ANY: str - BDADDR_LOCAL: str - HCI_FILTER: int # not in NetBSD or DragonFlyBSD # not in FreeBSD, NetBSD, or DragonFlyBSD HCI_TIME_STAMP: int @@ -637,14 +680,14 @@ def inet_aton(__ip_string: str) -> bytes: ... # ret val 4 bytes in length def inet_ntoa(__packed_ip: bytes) -> str: ... def inet_pton(__address_family: int, __ip_string: str) -> bytes: ... def inet_ntop(__address_family: int, __packed_ip: bytes) -> str: ... -def CMSG_LEN(__length: int) -> int: ... -def CMSG_SPACE(__length: int) -> int: ... def getdefaulttimeout() -> float | None: ... def setdefaulttimeout(__timeout: float | None) -> None: ... -def socketpair(__family: int = ..., __type: int = ..., __proto: int = ...) -> tuple[socket, socket]: ... if sys.platform != "win32": def sethostname(__name: str) -> None: ... + def CMSG_LEN(__length: int) -> int: ... + def CMSG_SPACE(__length: int) -> int: ... + def socketpair(__family: int = ..., __type: int = ..., __proto: int = ...) -> tuple[socket, socket]: ... # Windows added these in 3.8, but didn't have them before if sys.platform != "win32" or sys.version_info >= (3, 8): diff --git a/stdlib/socket.pyi b/stdlib/socket.pyi index 23d50816e454..0b06e888aeb6 100644 --- a/stdlib/socket.pyi +++ b/stdlib/socket.pyi @@ -12,21 +12,15 @@ from typing_extensions import Literal import _socket from _socket import ( _FD, - EAI_ADDRFAMILY as EAI_ADDRFAMILY, EAI_AGAIN as EAI_AGAIN, EAI_BADFLAGS as EAI_BADFLAGS, - EAI_BADHINTS as EAI_BADHINTS, EAI_FAIL as EAI_FAIL, EAI_FAMILY as EAI_FAMILY, - EAI_MAX as EAI_MAX, EAI_MEMORY as EAI_MEMORY, EAI_NODATA as EAI_NODATA, EAI_NONAME as EAI_NONAME, - EAI_OVERFLOW as EAI_OVERFLOW, - EAI_PROTOCOL as EAI_PROTOCOL, EAI_SERVICE as EAI_SERVICE, EAI_SOCKTYPE as EAI_SOCKTYPE, - EAI_SYSTEM as EAI_SYSTEM, INADDR_ALLHOSTS_GROUP as INADDR_ALLHOSTS_GROUP, INADDR_ANY as INADDR_ANY, INADDR_BROADCAST as INADDR_BROADCAST, @@ -35,88 +29,32 @@ from _socket import ( INADDR_NONE as INADDR_NONE, INADDR_UNSPEC_GROUP as INADDR_UNSPEC_GROUP, IP_ADD_MEMBERSHIP as IP_ADD_MEMBERSHIP, - IP_DEFAULT_MULTICAST_LOOP as IP_DEFAULT_MULTICAST_LOOP, - IP_DEFAULT_MULTICAST_TTL as IP_DEFAULT_MULTICAST_TTL, IP_DROP_MEMBERSHIP as IP_DROP_MEMBERSHIP, IP_HDRINCL as IP_HDRINCL, - IP_MAX_MEMBERSHIPS as IP_MAX_MEMBERSHIPS, IP_MULTICAST_IF as IP_MULTICAST_IF, IP_MULTICAST_LOOP as IP_MULTICAST_LOOP, IP_MULTICAST_TTL as IP_MULTICAST_TTL, IP_OPTIONS as IP_OPTIONS, IP_RECVDSTADDR as IP_RECVDSTADDR, - IP_RECVOPTS as IP_RECVOPTS, - IP_RECVRETOPTS as IP_RECVRETOPTS, - IP_RETOPTS as IP_RETOPTS, IP_TOS as IP_TOS, - IP_TRANSPARENT as IP_TRANSPARENT, IP_TTL as IP_TTL, IPPORT_RESERVED as IPPORT_RESERVED, IPPORT_USERRESERVED as IPPORT_USERRESERVED, - IPPROTO_AH as IPPROTO_AH, - IPPROTO_BIP as IPPROTO_BIP, - IPPROTO_DSTOPTS as IPPROTO_DSTOPTS, - IPPROTO_EGP as IPPROTO_EGP, - IPPROTO_EON as IPPROTO_EON, - IPPROTO_ESP as IPPROTO_ESP, - IPPROTO_FRAGMENT as IPPROTO_FRAGMENT, - IPPROTO_GGP as IPPROTO_GGP, - IPPROTO_GRE as IPPROTO_GRE, - IPPROTO_HELLO as IPPROTO_HELLO, - IPPROTO_HOPOPTS as IPPROTO_HOPOPTS, IPPROTO_ICMP as IPPROTO_ICMP, - IPPROTO_ICMPV6 as IPPROTO_ICMPV6, - IPPROTO_IDP as IPPROTO_IDP, - IPPROTO_IGMP as IPPROTO_IGMP, IPPROTO_IP as IPPROTO_IP, - IPPROTO_IPCOMP as IPPROTO_IPCOMP, - IPPROTO_IPIP as IPPROTO_IPIP, - IPPROTO_IPV4 as IPPROTO_IPV4, - IPPROTO_IPV6 as IPPROTO_IPV6, - IPPROTO_MAX as IPPROTO_MAX, - IPPROTO_MOBILE as IPPROTO_MOBILE, - IPPROTO_ND as IPPROTO_ND, - IPPROTO_NONE as IPPROTO_NONE, - IPPROTO_PIM as IPPROTO_PIM, - IPPROTO_PUP as IPPROTO_PUP, IPPROTO_RAW as IPPROTO_RAW, - IPPROTO_ROUTING as IPPROTO_ROUTING, - IPPROTO_RSVP as IPPROTO_RSVP, - IPPROTO_SCTP as IPPROTO_SCTP, IPPROTO_TCP as IPPROTO_TCP, - IPPROTO_TP as IPPROTO_TP, IPPROTO_UDP as IPPROTO_UDP, - IPPROTO_VRRP as IPPROTO_VRRP, - IPPROTO_XTP as IPPROTO_XTP, IPV6_CHECKSUM as IPV6_CHECKSUM, - IPV6_DONTFRAG as IPV6_DONTFRAG, - IPV6_DSTOPTS as IPV6_DSTOPTS, - IPV6_HOPLIMIT as IPV6_HOPLIMIT, - IPV6_HOPOPTS as IPV6_HOPOPTS, IPV6_JOIN_GROUP as IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP as IPV6_LEAVE_GROUP, IPV6_MULTICAST_HOPS as IPV6_MULTICAST_HOPS, IPV6_MULTICAST_IF as IPV6_MULTICAST_IF, IPV6_MULTICAST_LOOP as IPV6_MULTICAST_LOOP, - IPV6_NEXTHOP as IPV6_NEXTHOP, - IPV6_PATHMTU as IPV6_PATHMTU, - IPV6_PKTINFO as IPV6_PKTINFO, - IPV6_RECVDSTOPTS as IPV6_RECVDSTOPTS, - IPV6_RECVHOPLIMIT as IPV6_RECVHOPLIMIT, - IPV6_RECVHOPOPTS as IPV6_RECVHOPOPTS, - IPV6_RECVPATHMTU as IPV6_RECVPATHMTU, - IPV6_RECVPKTINFO as IPV6_RECVPKTINFO, - IPV6_RECVRTHDR as IPV6_RECVRTHDR, IPV6_RECVTCLASS as IPV6_RECVTCLASS, - IPV6_RTHDR as IPV6_RTHDR, - IPV6_RTHDR_TYPE_0 as IPV6_RTHDR_TYPE_0, - IPV6_RTHDRDSTOPTS as IPV6_RTHDRDSTOPTS, IPV6_TCLASS as IPV6_TCLASS, IPV6_UNICAST_HOPS as IPV6_UNICAST_HOPS, - IPV6_USE_MIN_MTU as IPV6_USE_MIN_MTU, IPV6_V6ONLY as IPV6_V6ONLY, - IPX_TYPE as IPX_TYPE, - LOCAL_PEERCRED as LOCAL_PEERCRED, NI_DGRAM as NI_DGRAM, NI_MAXHOST as NI_MAXHOST, NI_MAXSERV as NI_MAXSERV, @@ -124,61 +62,35 @@ from _socket import ( NI_NOFQDN as NI_NOFQDN, NI_NUMERICHOST as NI_NUMERICHOST, NI_NUMERICSERV as NI_NUMERICSERV, - SCM_CREDENTIALS as SCM_CREDENTIALS, - SCM_CREDS as SCM_CREDS, - SCM_RIGHTS as SCM_RIGHTS, SHUT_RD as SHUT_RD, SHUT_RDWR as SHUT_RDWR, SHUT_WR as SHUT_WR, SO_ACCEPTCONN as SO_ACCEPTCONN, - SO_BINDTODEVICE as SO_BINDTODEVICE, SO_BROADCAST as SO_BROADCAST, SO_DEBUG as SO_DEBUG, SO_DONTROUTE as SO_DONTROUTE, SO_ERROR as SO_ERROR, - SO_EXCLUSIVEADDRUSE as SO_EXCLUSIVEADDRUSE, SO_KEEPALIVE as SO_KEEPALIVE, SO_LINGER as SO_LINGER, - SO_MARK as SO_MARK, SO_OOBINLINE as SO_OOBINLINE, - SO_PASSCRED as SO_PASSCRED, - SO_PEERCRED as SO_PEERCRED, - SO_PRIORITY as SO_PRIORITY, SO_RCVBUF as SO_RCVBUF, SO_RCVLOWAT as SO_RCVLOWAT, SO_RCVTIMEO as SO_RCVTIMEO, SO_REUSEADDR as SO_REUSEADDR, - SO_REUSEPORT as SO_REUSEPORT, - SO_SETFIB as SO_SETFIB, SO_SNDBUF as SO_SNDBUF, SO_SNDLOWAT as SO_SNDLOWAT, SO_SNDTIMEO as SO_SNDTIMEO, SO_TYPE as SO_TYPE, SO_USELOOPBACK as SO_USELOOPBACK, - SOL_ATALK as SOL_ATALK, - SOL_AX25 as SOL_AX25, - SOL_HCI as SOL_HCI, SOL_IP as SOL_IP, - SOL_IPX as SOL_IPX, - SOL_NETROM as SOL_NETROM, - SOL_ROSE as SOL_ROSE, SOL_SOCKET as SOL_SOCKET, SOL_TCP as SOL_TCP, SOL_UDP as SOL_UDP, SOMAXCONN as SOMAXCONN, - TCP_CORK as TCP_CORK, - TCP_DEFER_ACCEPT as TCP_DEFER_ACCEPT, TCP_FASTOPEN as TCP_FASTOPEN, - TCP_INFO as TCP_INFO, TCP_KEEPCNT as TCP_KEEPCNT, - TCP_KEEPIDLE as TCP_KEEPIDLE, - TCP_KEEPINTVL as TCP_KEEPINTVL, - TCP_LINGER2 as TCP_LINGER2, TCP_MAXSEG as TCP_MAXSEG, TCP_NODELAY as TCP_NODELAY, - TCP_QUICKACK as TCP_QUICKACK, - TCP_SYNCNT as TCP_SYNCNT, - TCP_WINDOW_CLAMP as TCP_WINDOW_CLAMP, SocketType as SocketType, _Address as _Address, _RetAddress as _RetAddress, @@ -208,14 +120,150 @@ from _socket import ( timeout as timeout, ) +if sys.platform != "darwin" or sys.version_info >= (3, 9): + from _socket import ( + IPV6_DONTFRAG as IPV6_DONTFRAG, + IPV6_HOPLIMIT as IPV6_HOPLIMIT, + IPV6_HOPOPTS as IPV6_HOPOPTS, + IPV6_PKTINFO as IPV6_PKTINFO, + IPV6_RECVRTHDR as IPV6_RECVRTHDR, + IPV6_RTHDR as IPV6_RTHDR, + ) + +if sys.platform != "darwin": + from _socket import SO_EXCLUSIVEADDRUSE as SO_EXCLUSIVEADDRUSE + +if sys.version_info >= (3, 10): + from _socket import IP_RECVTOS as IP_RECVTOS +elif sys.platform != "darwin" and sys.platform != "win32": + from _socket import IP_RECVTOS as IP_RECVTOS + if sys.version_info >= (3, 7): from _socket import close as close + +if sys.platform != "win32" or sys.version_info >= (3, 7): + from _socket import TCP_KEEPINTVL as TCP_KEEPINTVL + + if sys.platform != "darwin": + from _socket import TCP_KEEPIDLE as TCP_KEEPIDLE + +if sys.platform != "win32" or sys.version_info >= (3, 8): + from _socket import ( + IPPROTO_AH as IPPROTO_AH, + IPPROTO_DSTOPTS as IPPROTO_DSTOPTS, + IPPROTO_EGP as IPPROTO_EGP, + IPPROTO_ESP as IPPROTO_ESP, + IPPROTO_FRAGMENT as IPPROTO_FRAGMENT, + IPPROTO_GGP as IPPROTO_GGP, + IPPROTO_HOPOPTS as IPPROTO_HOPOPTS, + IPPROTO_ICMPV6 as IPPROTO_ICMPV6, + IPPROTO_IDP as IPPROTO_IDP, + IPPROTO_IGMP as IPPROTO_IGMP, + IPPROTO_IPV4 as IPPROTO_IPV4, + IPPROTO_IPV6 as IPPROTO_IPV6, + IPPROTO_MAX as IPPROTO_MAX, + IPPROTO_ND as IPPROTO_ND, + IPPROTO_NONE as IPPROTO_NONE, + IPPROTO_PIM as IPPROTO_PIM, + IPPROTO_PUP as IPPROTO_PUP, + IPPROTO_ROUTING as IPPROTO_ROUTING, + IPPROTO_SCTP as IPPROTO_SCTP, + ) + + if sys.platform != "darwin": + from _socket import ( + IPPROTO_CBT as IPPROTO_CBT, + IPPROTO_ICLFXBM as IPPROTO_ICLFXBM, + IPPROTO_IGP as IPPROTO_IGP, + IPPROTO_L2TP as IPPROTO_L2TP, + IPPROTO_PGM as IPPROTO_PGM, + IPPROTO_RDP as IPPROTO_RDP, + IPPROTO_ST as IPPROTO_ST, + ) +if sys.platform != "win32" and sys.platform != "darwin": + from _socket import ( + IP_TRANSPARENT as IP_TRANSPARENT, + IPPROTO_BIP as IPPROTO_BIP, + IPPROTO_MOBILE as IPPROTO_MOBILE, + IPPROTO_VRRP as IPPROTO_VRRP, + IPX_TYPE as IPX_TYPE, + SCM_CREDENTIALS as SCM_CREDENTIALS, + SO_BINDTODEVICE as SO_BINDTODEVICE, + SO_MARK as SO_MARK, + SO_PASSCRED as SO_PASSCRED, + SO_PEERCRED as SO_PEERCRED, + SO_PRIORITY as SO_PRIORITY, + SO_SETFIB as SO_SETFIB, + SOL_ATALK as SOL_ATALK, + SOL_AX25 as SOL_AX25, + SOL_HCI as SOL_HCI, + SOL_IPX as SOL_IPX, + SOL_NETROM as SOL_NETROM, + SOL_ROSE as SOL_ROSE, + TCP_CORK as TCP_CORK, + TCP_DEFER_ACCEPT as TCP_DEFER_ACCEPT, + TCP_INFO as TCP_INFO, + TCP_LINGER2 as TCP_LINGER2, + TCP_QUICKACK as TCP_QUICKACK, + TCP_SYNCNT as TCP_SYNCNT, + TCP_WINDOW_CLAMP as TCP_WINDOW_CLAMP, + ) if sys.platform != "win32": - from _socket import CMSG_LEN as CMSG_LEN, CMSG_SPACE as CMSG_SPACE, sethostname as sethostname + from _socket import ( + CMSG_LEN as CMSG_LEN, + CMSG_SPACE as CMSG_SPACE, + EAI_ADDRFAMILY as EAI_ADDRFAMILY, + EAI_BADHINTS as EAI_BADHINTS, + EAI_MAX as EAI_MAX, + EAI_OVERFLOW as EAI_OVERFLOW, + EAI_PROTOCOL as EAI_PROTOCOL, + EAI_SYSTEM as EAI_SYSTEM, + IP_DEFAULT_MULTICAST_LOOP as IP_DEFAULT_MULTICAST_LOOP, + IP_DEFAULT_MULTICAST_TTL as IP_DEFAULT_MULTICAST_TTL, + IP_MAX_MEMBERSHIPS as IP_MAX_MEMBERSHIPS, + IP_RECVOPTS as IP_RECVOPTS, + IP_RECVRETOPTS as IP_RECVRETOPTS, + IP_RETOPTS as IP_RETOPTS, + IPPROTO_EON as IPPROTO_EON, + IPPROTO_GRE as IPPROTO_GRE, + IPPROTO_HELLO as IPPROTO_HELLO, + IPPROTO_IPCOMP as IPPROTO_IPCOMP, + IPPROTO_IPIP as IPPROTO_IPIP, + IPPROTO_RSVP as IPPROTO_RSVP, + IPPROTO_TP as IPPROTO_TP, + IPPROTO_XTP as IPPROTO_XTP, + IPV6_RTHDR_TYPE_0 as IPV6_RTHDR_TYPE_0, + LOCAL_PEERCRED as LOCAL_PEERCRED, + SCM_CREDS as SCM_CREDS, + SCM_RIGHTS as SCM_RIGHTS, + SO_REUSEPORT as SO_REUSEPORT, + sethostname as sethostname, + ) + + if sys.platform != "darwin" or sys.version_info >= (3, 9): + from _socket import ( + IPV6_DSTOPTS as IPV6_DSTOPTS, + IPV6_NEXTHOP as IPV6_NEXTHOP, + IPV6_PATHMTU as IPV6_PATHMTU, + IPV6_RECVDSTOPTS as IPV6_RECVDSTOPTS, + IPV6_RECVHOPLIMIT as IPV6_RECVHOPLIMIT, + IPV6_RECVHOPOPTS as IPV6_RECVHOPOPTS, + IPV6_RECVPATHMTU as IPV6_RECVPATHMTU, + IPV6_RECVPKTINFO as IPV6_RECVPKTINFO, + IPV6_RTHDRDSTOPTS as IPV6_RTHDRDSTOPTS, + IPV6_USE_MIN_MTU as IPV6_USE_MIN_MTU, + ) + if sys.platform != "win32" or sys.version_info >= (3, 8): from _socket import if_indextoname as if_indextoname, if_nameindex as if_nameindex, if_nametoindex as if_nametoindex + +if sys.platform != "darwin": + if sys.platform != "win32" or sys.version_info >= (3, 9): + from _socket import BDADDR_ANY as BDADDR_ANY, BDADDR_LOCAL as BDADDR_LOCAL, BTPROTO_RFCOMM as BTPROTO_RFCOMM + if sys.platform == "darwin" and sys.version_info >= (3, 10): from _socket import TCP_KEEPALIVE as TCP_KEEPALIVE + if sys.platform == "linux": from _socket import ( ALG_OP_DECRYPT as ALG_OP_DECRYPT, @@ -317,12 +365,13 @@ if sys.platform == "linux" and sys.version_info >= (3, 7): SO_VM_SOCKETS_BUFFER_MAX_SIZE as SO_VM_SOCKETS_BUFFER_MAX_SIZE, SO_VM_SOCKETS_BUFFER_MIN_SIZE as SO_VM_SOCKETS_BUFFER_MIN_SIZE, SO_VM_SOCKETS_BUFFER_SIZE as SO_VM_SOCKETS_BUFFER_SIZE, - TCP_NOTSENT_LOWAT as TCP_NOTSENT_LOWAT, VM_SOCKETS_INVALID_VERSION as VM_SOCKETS_INVALID_VERSION, VMADDR_CID_ANY as VMADDR_CID_ANY, VMADDR_CID_HOST as VMADDR_CID_HOST, VMADDR_PORT_ANY as VMADDR_PORT_ANY, ) +if sys.platform != "win32" and sys.version_info >= (3, 7): + from _socket import TCP_NOTSENT_LOWAT as TCP_NOTSENT_LOWAT if sys.platform == "linux" and sys.version_info >= (3, 8): from _socket import ( CAN_BCM_CAN_FD_FRAME as CAN_BCM_CAN_FD_FRAME, @@ -372,7 +421,6 @@ if sys.platform == "linux" and sys.version_info >= (3, 11): from _socket import SO_INCOMING_CPU as SO_INCOMING_CPU if sys.platform == "win32": from _socket import ( - RCVALL_IPLEVEL as RCVALL_IPLEVEL, RCVALL_MAX as RCVALL_MAX, RCVALL_OFF as RCVALL_OFF, RCVALL_ON as RCVALL_ON, @@ -388,33 +436,36 @@ EAGAIN: int EWOULDBLOCK: int class AddressFamily(IntEnum): - AF_UNIX: int AF_INET: int AF_INET6: int - AF_AAL5: int AF_APPLETALK: int - AF_ASH: int - AF_ATMPVC: int - AF_ATMSVC: int - AF_AX25: int - AF_BRIDGE: int AF_DECnet: int - AF_ECONET: int AF_IPX: int - AF_IRDA: int - AF_KEY: int - AF_LLC: int - AF_NETBEUI: int - AF_NETROM: int - AF_PPPOX: int - AF_ROSE: int - AF_ROUTE: int - AF_SECURITY: int AF_SNA: int - AF_SYSTEM: int AF_UNSPEC: int - AF_WANPIPE: int - AF_X25: int + if sys.platform != "darwin": + AF_IRDA: int + if sys.platform != "win32": + AF_ROUTE: int + AF_SYSTEM: int + AF_UNIX: int + if sys.platform != "darwin" and sys.platform != "win32": + AF_AAL5: int + AF_ASH: int + AF_ATMPVC: int + AF_ATMSVC: int + AF_AX25: int + AF_BRIDGE: int + AF_ECONET: int + AF_KEY: int + AF_LLC: int + AF_NETBEUI: int + AF_NETROM: int + AF_PPPOX: int + AF_ROSE: int + AF_SECURITY: int + AF_WANPIPE: int + AF_X25: int if sys.platform == "linux": AF_CAN: int AF_PACKET: int @@ -426,51 +477,61 @@ class AddressFamily(IntEnum): AF_VSOCK: int if sys.version_info >= (3, 8): AF_QIPCRTR: int - AF_LINK: int # availability: BSD, macOS - if sys.platform != "darwin": - AF_BLUETOOTH: int - -AF_UNIX: AddressFamily -AF_INET: AddressFamily -AF_INET6: AddressFamily -AF_AAL5: AddressFamily -AF_APPLETALK: AddressFamily -AF_ASH: AddressFamily -AF_ATMPVC: AddressFamily -AF_ATMSVC: AddressFamily -AF_AX25: AddressFamily -AF_BRIDGE: AddressFamily -AF_DECnet: AddressFamily -AF_ECONET: AddressFamily -AF_IPX: AddressFamily -AF_IRDA: AddressFamily -AF_KEY: AddressFamily -AF_LLC: AddressFamily -AF_NETBEUI: AddressFamily -AF_NETROM: AddressFamily -AF_PPPOX: AddressFamily -AF_ROSE: AddressFamily -AF_ROUTE: AddressFamily -AF_SECURITY: AddressFamily -AF_SNA: AddressFamily -AF_SYSTEM: AddressFamily -AF_UNSPEC: AddressFamily -AF_WANPIPE: AddressFamily -AF_X25: AddressFamily + if sys.platform != "win32" or sys.version_info >= (3, 9): + AF_LINK: int + if sys.platform != "darwin": + AF_BLUETOOTH: int + +AF_INET = AddressFamily.AF_INET +AF_INET6 = AddressFamily.AF_INET6 +AF_APPLETALK = AddressFamily.AF_APPLETALK +AF_DECnet = AddressFamily.AF_DECnet +AF_IPX = AddressFamily.AF_IPX +AF_SNA = AddressFamily.AF_SNA +AF_UNSPEC = AddressFamily.AF_UNSPEC + +if sys.platform != "darwin": + AF_IRDA = AddressFamily.AF_IRDA + +if sys.platform != "win32": + AF_ROUTE = AddressFamily.AF_ROUTE + AF_SYSTEM = AddressFamily.AF_SYSTEM + AF_UNIX = AddressFamily.AF_UNIX + +if sys.platform != "win32" and sys.platform != "darwin": + AF_AAL5 = AddressFamily.AF_AAL5 + AF_ASH = AddressFamily.AF_ASH + AF_ATMPVC = AddressFamily.AF_ATMPVC + AF_ATMSVC = AddressFamily.AF_ATMSVC + AF_AX25 = AddressFamily.AF_AX25 + AF_BRIDGE = AddressFamily.AF_BRIDGE + AF_ECONET = AddressFamily.AF_ECONET + AF_KEY = AddressFamily.AF_KEY + AF_LLC = AddressFamily.AF_LLC + AF_NETBEUI = AddressFamily.AF_NETBEUI + AF_NETROM = AddressFamily.AF_NETROM + AF_PPPOX = AddressFamily.AF_PPPOX + AF_ROSE = AddressFamily.AF_ROSE + AF_SECURITY = AddressFamily.AF_SECURITY + AF_WANPIPE = AddressFamily.AF_WANPIPE + AF_X25 = AddressFamily.AF_X25 + if sys.platform == "linux": - AF_CAN: AddressFamily - AF_PACKET: AddressFamily - AF_RDS: AddressFamily - AF_TIPC: AddressFamily - AF_ALG: AddressFamily - AF_NETLINK: AddressFamily + AF_CAN = AddressFamily.AF_CAN + AF_PACKET = AddressFamily.AF_PACKET + AF_RDS = AddressFamily.AF_RDS + AF_TIPC = AddressFamily.AF_TIPC + AF_ALG = AddressFamily.AF_ALG + AF_NETLINK = AddressFamily.AF_NETLINK if sys.version_info >= (3, 7): - AF_VSOCK: AddressFamily + AF_VSOCK = AddressFamily.AF_VSOCK if sys.version_info >= (3, 8): - AF_QIPCRTR: AddressFamily -AF_LINK: AddressFamily # availability: BSD, macOS -if sys.platform != "darwin": - AF_BLUETOOTH: AddressFamily + AF_QIPCRTR = AddressFamily.AF_QIPCRTR + +if sys.platform != "win32" or sys.version_info >= (3, 9): + AF_LINK = AddressFamily.AF_LINK + if sys.platform != "darwin": + AF_BLUETOOTH = AddressFamily.AF_BLUETOOTH class SocketKind(IntEnum): SOCK_STREAM: int @@ -482,80 +543,99 @@ class SocketKind(IntEnum): SOCK_CLOEXEC: int SOCK_NONBLOCK: int -SOCK_STREAM: SocketKind -SOCK_DGRAM: SocketKind -SOCK_RAW: SocketKind -SOCK_RDM: SocketKind -SOCK_SEQPACKET: SocketKind +SOCK_STREAM = SocketKind.SOCK_STREAM +SOCK_DGRAM = SocketKind.SOCK_DGRAM +SOCK_RAW = SocketKind.SOCK_RAW +SOCK_RDM = SocketKind.SOCK_RDM +SOCK_SEQPACKET = SocketKind.SOCK_SEQPACKET if sys.platform == "linux": - SOCK_CLOEXEC: SocketKind - SOCK_NONBLOCK: SocketKind + SOCK_CLOEXEC = SocketKind.SOCK_CLOEXEC + SOCK_NONBLOCK = SocketKind.SOCK_NONBLOCK class MsgFlag(IntFlag): - MSG_BCAST: int - MSG_BTAG: int - MSG_CMSG_CLOEXEC: int - MSG_CONFIRM: int MSG_CTRUNC: int MSG_DONTROUTE: int - MSG_DONTWAIT: int - MSG_EOF: int - MSG_EOR: int - MSG_ERRQUEUE: int - MSG_ETAG: int - MSG_FASTOPEN: int - MSG_MCAST: int - MSG_MORE: int - MSG_NOSIGNAL: int - MSG_NOTIFICATION: int MSG_OOB: int MSG_PEEK: int MSG_TRUNC: int MSG_WAITALL: int -MSG_BCAST: MsgFlag -MSG_BTAG: MsgFlag -MSG_CMSG_CLOEXEC: MsgFlag -MSG_CONFIRM: MsgFlag -MSG_CTRUNC: MsgFlag -MSG_DONTROUTE: MsgFlag -MSG_DONTWAIT: MsgFlag -MSG_EOF: MsgFlag -MSG_EOR: MsgFlag -MSG_ERRQUEUE: MsgFlag -MSG_ETAG: MsgFlag -MSG_FASTOPEN: MsgFlag -MSG_MCAST: MsgFlag -MSG_MORE: MsgFlag -MSG_NOSIGNAL: MsgFlag -MSG_NOTIFICATION: MsgFlag -MSG_OOB: MsgFlag -MSG_PEEK: MsgFlag -MSG_TRUNC: MsgFlag -MSG_WAITALL: MsgFlag + if sys.platform != "darwin": + MSG_BCAST: int + MSG_MCAST: int + + if sys.platform != "win32" or sys.version_info >= (3, 7): + MSG_ERRQUEUE: int + + if sys.platform != "win32" and sys.platform != "darwin": + MSG_BTAG: int + MSG_CMSG_CLOEXEC: int + MSG_CONFIRM: int + MSG_ETAG: int + MSG_FASTOPEN: int + MSG_MORE: int + MSG_NOTIFICATION: int + + if sys.platform != "win32": + MSG_DONTWAIT: int + MSG_EOF: int + MSG_EOR: int + MSG_NOSIGNAL: int # sometimes this exists on darwin, sometimes not + +MSG_CTRUNC = MsgFlag.MSG_CTRUNC +MSG_DONTROUTE = MsgFlag.MSG_DONTROUTE +MSG_OOB = MsgFlag.MSG_OOB +MSG_PEEK = MsgFlag.MSG_PEEK +MSG_TRUNC = MsgFlag.MSG_TRUNC +MSG_WAITALL = MsgFlag.MSG_WAITALL + +if sys.platform != "darwin": + MSG_BCAST = MsgFlag.MSG_BCAST + MSG_MCAST = MsgFlag.MSG_MCAST + + if sys.platform != "win32" or sys.version_info >= (3, 7): + MSG_ERRQUEUE = MsgFlag.MSG_ERRQUEUE + +if sys.platform != "win32": + MSG_DONTWAIT = MsgFlag.MSG_DONTWAIT + MSG_EOF = MsgFlag.MSG_EOF + MSG_EOR = MsgFlag.MSG_EOR + MSG_NOSIGNAL = MsgFlag.MSG_NOSIGNAL # Sometimes this exists on darwin, sometimes not + +if sys.platform != "win32" and sys.platform != "darwin": + MSG_BTAG = MsgFlag.MSG_BTAG + MSG_CMSG_CLOEXEC = MsgFlag.MSG_CMSG_CLOEXEC + MSG_CONFIRM = MsgFlag.MSG_CONFIRM + MSG_ETAG = MsgFlag.MSG_ETAG + MSG_FASTOPEN = MsgFlag.MSG_FASTOPEN + MSG_MORE = MsgFlag.MSG_MORE + MSG_NOTIFICATION = MsgFlag.MSG_NOTIFICATION class AddressInfo(IntFlag): AI_ADDRCONFIG: int AI_ALL: int AI_CANONNAME: int - AI_DEFAULT: int - AI_MASK: int AI_NUMERICHOST: int AI_NUMERICSERV: int AI_PASSIVE: int AI_V4MAPPED: int - AI_V4MAPPED_CFG: int - -AI_ADDRCONFIG: AddressInfo -AI_ALL: AddressInfo -AI_CANONNAME: AddressInfo -AI_DEFAULT: AddressInfo -AI_MASK: AddressInfo -AI_NUMERICHOST: AddressInfo -AI_NUMERICSERV: AddressInfo -AI_PASSIVE: AddressInfo -AI_V4MAPPED: AddressInfo -AI_V4MAPPED_CFG: AddressInfo + if sys.platform != "win32": + AI_DEFAULT: int + AI_MASK: int + AI_V4MAPPED_CFG: int + +AI_ADDRCONFIG = AddressInfo.AI_ADDRCONFIG +AI_ALL = AddressInfo.AI_ALL +AI_CANONNAME = AddressInfo.AI_CANONNAME +AI_NUMERICHOST = AddressInfo.AI_NUMERICHOST +AI_NUMERICSERV = AddressInfo.AI_NUMERICSERV +AI_PASSIVE = AddressInfo.AI_PASSIVE +AI_V4MAPPED = AddressInfo.AI_V4MAPPED + +if sys.platform != "win32": + AI_DEFAULT = AddressInfo.AI_DEFAULT + AI_MASK = AddressInfo.AI_MASK + AI_V4MAPPED_CFG = AddressInfo.AI_V4MAPPED_CFG if sys.platform == "win32": errorTab: dict[int, str] # undocumented diff --git a/stubs/ldap3/ldap3/core/server.pyi b/stubs/ldap3/ldap3/core/server.pyi index 65890428ec7a..9594d6bdcf1a 100644 --- a/stubs/ldap3/ldap3/core/server.pyi +++ b/stubs/ldap3/ldap3/core/server.pyi @@ -1,7 +1,10 @@ -from socket import AF_UNIX as AF_UNIX +import sys from typing import Any from typing_extensions import Literal +if sys.platform != "win32": + from socket import AF_UNIX as AF_UNIX + unix_socket_available: bool class Server: diff --git a/tests/stubtest_allowlists/darwin-py311.txt b/tests/stubtest_allowlists/darwin-py311.txt index 746a6e104368..e0ea915460fc 100644 --- a/tests/stubtest_allowlists/darwin-py311.txt +++ b/tests/stubtest_allowlists/darwin-py311.txt @@ -2,3 +2,6 @@ _?curses.A_ITALIC _?curses.color_pair xxlimited.Xxo.x_exports distutils.util.__warningregistry__ + +# Exists at runtime, missing from stub +socket.TCP_CONNECTION_INFO diff --git a/tests/stubtest_allowlists/darwin.txt b/tests/stubtest_allowlists/darwin.txt index 70f4802252fd..9f4fe1c480c2 100644 --- a/tests/stubtest_allowlists/darwin.txt +++ b/tests/stubtest_allowlists/darwin.txt @@ -10,12 +10,19 @@ select.KQ_FILTER_NETDEV # system dependent select.kqueue.__init__ # default C signature is wrong select.POLLMSG # system dependent +# Sometimes this exists on darwin, sometimes not +(_socket.MSG_NOSIGNAL)? +(socket.MsgFlag.MSG_NOSIGNAL)? +(socket.MSG_NOSIGNAL)? + # Exists at runtime, but missing from stubs distutils.msvccompiler.MSVCCompiler.get_msvc_paths distutils.msvccompiler.MSVCCompiler.set_path_env_var distutils.msvccompiler.MacroExpander mimetypes.MimeTypes.read_windows_registry selectors.DefaultSelector.fileno +socket.PF_SYSTEM +socket.SYSPROTO_CONTROL posix.NGROUPS_MAX posix.error.characters_written diff --git a/tests/stubtest_allowlists/linux.txt b/tests/stubtest_allowlists/linux.txt index 849d8862c300..b9ff3100c484 100644 --- a/tests/stubtest_allowlists/linux.txt +++ b/tests/stubtest_allowlists/linux.txt @@ -1,3 +1,4 @@ +_socket.* _posixsubprocess.cloexec_pipe os.EX_NOTFOUND os.SF_MNOWAIT @@ -10,6 +11,7 @@ select.EPOLL_RDHUP selectors.KqueueSelector signal.SIGEMT signal.SIGINFO +socket.[A-Z0-9_]+ # Exists at runtime, but missing from stubs distutils.msvccompiler.MSVCCompiler.get_msvc_paths diff --git a/tests/stubtest_allowlists/py3_common.txt b/tests/stubtest_allowlists/py3_common.txt index eafc23df67fa..8d30690c159a 100644 --- a/tests/stubtest_allowlists/py3_common.txt +++ b/tests/stubtest_allowlists/py3_common.txt @@ -24,7 +24,6 @@ _collections_abc.Set.__rsub__ _collections_abc.Set.__rxor__ _csv.Dialect.__init__ # C __init__ signature is inaccurate -_socket.* _threading_local.local.__new__ _weakref.ref.* # Alias for _weakref.ReferenceType, problems should be fixed there _weakref.CallableProxyType.__getattr__ # Should have all attributes of proxy @@ -237,6 +236,7 @@ xml.etree.cElementTree.Element.__iter__ # Doesn't exist at runtime, but instanc # Exists at runtime, but missing from stubs # ========== _json.encode_basestring +_socket.CAPI _thread.LockType.acquire_lock _thread.LockType.locked_lock _thread.LockType.release_lock @@ -290,6 +290,7 @@ multiprocessing.managers.SyncManager.Pool multiprocessing.pool.Pool.Process multiprocessing.pool.ThreadPool.Process multiprocessing.synchronize.Semaphore.get_value +socket.CAPI tkinter.Misc.config tkinter.font.Font.counter tkinter.simpledialog.Dialog.apply @@ -404,6 +405,7 @@ multiprocessing.managers.DictProxy.values # GetSetDescriptor that always raises AttributeError builtins.OSError.characters_written # Aliases for OSError +_socket.error.characters_written builtins.EnvironmentError.characters_written builtins.IOError.characters_written dbm.dumb.error.characters_written @@ -522,7 +524,6 @@ os.O_[A-Z_]+ (posix.O_[A-Z_]+)? (posix.ST_[A-Z]+)? socket.AF_DECnet -socket.[A-Z0-9_]+ (termios.[A-Z0-9_]+)? # Loadable SQLite extensions are disabled on GitHub runners