• Christian Heimes's avatar
    bpo-28134: Auto-detect socket values from file descriptor (#1349) · b6e43af6
    Christian Heimes yazdı
    Fix socket(fileno=fd) by auto-detecting the socket's family, type,
    and proto from the file descriptor. The auto-detection can be overruled
    by passing in family, type, and proto explicitly.
    
    Without the fix, all socket except for TCP/IP over IPv4 are basically broken:
    
    >>> s = socket.create_connection(('www.python.org', 443))
    >>> s
    <socket.socket fd=3, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6, laddr=('2003:58:bc4a:3b00:56ee:75ff:fe47:ca7b', 59730, 0, 0), raddr=('2a04:4e42:1b::223', 443, 0, 0)>
    >>> socket.socket(fileno=s.fileno())
    <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('2003:58:bc4a:3b00::%2550471192', 59730, 0, 2550471192), raddr=('2a04:4e42:1b:0:700c:e70b:ff7f:0%2550471192', 443, 0, 2550471192)>
    Signed-off-by: 's avatarChristian Heimes <christian@python.org>
    b6e43af6
Adı
Son kayıt (commit)
Son güncelleme
..
_blake2 Loading commit data...
_ctypes Loading commit data...
_decimal Loading commit data...
_io Loading commit data...
_multiprocessing Loading commit data...
_sha3 Loading commit data...
_sqlite Loading commit data...
_xxtestfuzz Loading commit data...
cjkcodecs Loading commit data...
clinic Loading commit data...
expat Loading commit data...
README Loading commit data...
Setup.dist Loading commit data...
_asynciomodule.c Loading commit data...
_bisectmodule.c Loading commit data...
_bz2module.c Loading commit data...
_codecsmodule.c Loading commit data...
_collectionsmodule.c Loading commit data...
_contextvarsmodule.c Loading commit data...
_cryptmodule.c Loading commit data...
_csv.c Loading commit data...
_curses_panel.c Loading commit data...
_cursesmodule.c Loading commit data...
_datetimemodule.c Loading commit data...
_dbmmodule.c Loading commit data...
_elementtree.c Loading commit data...
_functoolsmodule.c Loading commit data...
_gdbmmodule.c Loading commit data...
_hashopenssl.c Loading commit data...
_heapqmodule.c Loading commit data...
_json.c Loading commit data...
_localemodule.c Loading commit data...
_lsprof.c Loading commit data...
_lzmamodule.c Loading commit data...
_math.c Loading commit data...
_math.h Loading commit data...
_opcode.c Loading commit data...
_operator.c Loading commit data...
_pickle.c Loading commit data...
_posixsubprocess.c Loading commit data...
_queuemodule.c Loading commit data...
_randommodule.c Loading commit data...
_scproxy.c Loading commit data...
_sre.c Loading commit data...
_ssl.c Loading commit data...
_ssl_data.h Loading commit data...
_stat.c Loading commit data...
_struct.c Loading commit data...
_testbuffer.c Loading commit data...
_testcapimodule.c Loading commit data...
_testimportmultiple.c Loading commit data...
_testmultiphase.c Loading commit data...
_threadmodule.c Loading commit data...
_tkinter.c Loading commit data...
_tracemalloc.c Loading commit data...
_uuidmodule.c Loading commit data...
_weakref.c Loading commit data...
_winapi.c Loading commit data...
addrinfo.h Loading commit data...
arraymodule.c Loading commit data...
atexitmodule.c Loading commit data...
audioop.c Loading commit data...
binascii.c Loading commit data...
cmathmodule.c Loading commit data...
config.c.in Loading commit data...
errnomodule.c Loading commit data...
faulthandler.c Loading commit data...
fcntlmodule.c Loading commit data...
gc_weakref.txt Loading commit data...
gcmodule.c Loading commit data...
getaddrinfo.c Loading commit data...
getbuildinfo.c Loading commit data...
getnameinfo.c Loading commit data...
getpath.c Loading commit data...
grpmodule.c Loading commit data...
hashlib.h Loading commit data...
hashtable.c Loading commit data...
hashtable.h Loading commit data...
itertoolsmodule.c Loading commit data...
ld_so_aix.in Loading commit data...
main.c Loading commit data...
makesetup Loading commit data...
makexp_aix Loading commit data...
mathmodule.c Loading commit data...
md5module.c Loading commit data...
mmapmodule.c Loading commit data...
nismodule.c Loading commit data...
ossaudiodev.c Loading commit data...
overlapped.c Loading commit data...
parsermodule.c Loading commit data...
posixmodule.c Loading commit data...
posixmodule.h Loading commit data...
pwdmodule.c Loading commit data...
pyexpat.c Loading commit data...
readline.c Loading commit data...
resource.c Loading commit data...
rotatingtree.c Loading commit data...
rotatingtree.h Loading commit data...
selectmodule.c Loading commit data...
sha1module.c Loading commit data...
sha256module.c Loading commit data...
sha512module.c Loading commit data...
signalmodule.c Loading commit data...
socketmodule.c Loading commit data...
socketmodule.h Loading commit data...
spwdmodule.c Loading commit data...
sre.h Loading commit data...
sre_constants.h Loading commit data...
sre_lib.h Loading commit data...
symtablemodule.c Loading commit data...
syslogmodule.c Loading commit data...
termios.c Loading commit data...
testcapi_long.h Loading commit data...
timemodule.c Loading commit data...
tkappinit.c Loading commit data...
tkinter.h Loading commit data...
unicodedata.c Loading commit data...
unicodedata_db.h Loading commit data...
unicodename_db.h Loading commit data...
winreparse.h Loading commit data...
xxlimited.c Loading commit data...
xxmodule.c Loading commit data...
xxsubtype.c Loading commit data...
zipimport.c Loading commit data...
zlibmodule.c Loading commit data...