Victor Stinner
a772662423
Issue #23618 : Fix EINTR handling on Windows
...
Windows uses WSAEINTR error code, not EINTR, for socket functions.
2015-04-01 11:09:43 +02:00
Victor Stinner
70a46f635f
Issue #23618 : Enhance EINTR handling in socket.connect()
...
Call PyErr_CheckSignals() immediatly if connect() or select() fails with EINTR
in internal_connect().
Refactor also the code to limit indentaton and make it more readable.
2015-03-31 22:03:59 +02:00
Victor Stinner
ee699e9d2b
Issue #23618 : Fix EINTR handling in socket.connect()
...
Call PyErr_CheckSignals() if connect(), select() or getsockopt() failed with
EINTR.
2015-03-31 21:28:42 +02:00
Victor Stinner
c4e819a54f
Issue #23618 : Cleanup internal_connect() in socketmodule.c
...
On Windows, it looks like using the C type socklen_t for getsockopt() (instead
of int) is fine, it was already used in socket.getsockopt().
2015-03-31 21:23:10 +02:00
Victor Stinner
b6c15bcad3
Issue #23618 : Refactor internal_connect()
...
On Windows, internal_connect() now reuses internal_connect_select() and always
calls getsockopt().
2015-03-31 16:35:35 +02:00
Victor Stinner
dd88d3db45
Issue #23618 : Refactor internal_connect()
...
The function now returns the error code instead of using the global errno
(POSIX) or WSAGetLastError() (Windows).
internal_connect() now returns errno if getsockopt() fails.
2015-03-31 16:08:22 +02:00
Victor Stinner
1bb0aef4d1
Issue #22117 : Fix integer overflow check in socket_parse_timeout() on Windows
2015-03-31 16:31:19 +02:00
Victor Stinner
dd83bd2f9c
Issue #23618 : Fix internal_connect_select()
2015-03-31 14:24:47 +02:00
Victor Stinner
416f2e66ca
Issue #23618 : internal_connect_select() now waits also for error events
2015-03-31 13:56:29 +02:00
Victor Stinner
e6951c6c8a
Issue #23618 : Refactor internal_select() to prepare socket.connect() for EINTR
2015-03-31 13:50:44 +02:00
Victor Stinner
391fa713f7
Issue #23618 : Refactor the _socket module
...
* Inline internal_select() function
* Rename internal_select_ex() internal_select()
2015-03-31 13:15:31 +02:00
Victor Stinner
869e1778c0
Issue #22117 : Replace usage of _PyTime_ROUND_UP with _PyTime_ROUND_CEILING
...
All these functions only accept positive timeouts, so this change has no effect
in practice.
2015-03-30 03:49:14 +02:00
Victor Stinner
ea9c0dd2c2
Issue #22117 : Fix usage of _PyTime_AsTimeval()
...
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or
not useful) to raise a Python exception on overflow.
2015-03-30 02:51:13 +02:00
Victor Stinner
71694d5c8c
Issue #22117 : The socket module uses _PyTime_t timestamp for timeouts
2015-03-28 01:18:54 +01:00
Victor Stinner
b7df3144ef
Issue #23618 , #22117 : refactor socketmodule.c
...
Move Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS inside internal_select_ex() to
prepare a switch to the _PyTime_t type and retry syscall on EINTR.
2015-03-27 22:59:32 +01:00
Victor Stinner
f50e187724
Fix compiler warnings: comparison between signed and unsigned numbers
2015-03-20 11:32:24 +01:00
Serhiy Storchaka
8490f5acfe
Issue #23001 : Few functions in modules mmap, ossaudiodev, socket, ssl, and
...
codecs, that accepted only read-only bytes-like object now accept writable
bytes-like object too.
2015-03-20 09:00:36 +02:00
Victor Stinner
9a8089b32a
Issue #23646 : Enhance precision of time.sleep() and socket timeout when
...
interrupted by a signal
Add a new _PyTime_AddDouble() function and remove _PyTime_ADD_SECONDS() macro.
The _PyTime_ADD_SECONDS only supported an integer number of seconds, the
_PyTime_AddDouble() has subsecond resolution.
2015-03-20 01:42:20 +01:00
Serhiy Storchaka
caa01f861c
Fixed GCC version testing.
2015-03-05 23:42:24 +02:00
Victor Stinner
a4c727131e
Fix "GCC diagnostic" in socketmodule.c
...
Fix regression of changeset 7c6e3358221a on GCC < 4.4. The _socket module
cannot be compiled on "x86 FreeBSD 7.2 3.x" buildbot anymore.
2015-03-05 14:04:03 +01:00
Serhiy Storchaka
b48af340b9
Silenced minor GCC warnings.
2015-02-26 15:27:57 +02:00
Serhiy Storchaka
4d0d982985
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:33:32 +02:00
Serhiy Storchaka
1a1ff29659
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:28:22 +02:00
Charles-François Natali
6e6c59b508
Issue #23285 : PEP 475 -- Retry system calls failing with EINTR.
2015-02-07 13:27:50 +00:00
Serhiy Storchaka
b757c83ec6
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:25:22 +02:00
Steve Dower
65e4cb10d9
Issue #22919 : Windows build updated to support VC 14.0 (Visual Studio 2015), which will be used for the official 3.5 release.
2014-11-22 12:54:57 -08:00
Serhiy Storchaka
92bf919ed0
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:26:10 +02:00
Charles-François Natali
ea07eb9469
Issue #22378 : socket module: add SO_MARK.
2014-09-18 23:18:46 +01:00
Serhiy Storchaka
d8a1447c99
Issue #22215 : Now ValueError is raised instead of TypeError when str or bytes
...
argument contains not permitted null character or byte.
2014-09-06 20:07:17 +03:00
Victor Stinner
ae58649721
Issue #22043 : time.monotonic() is now always available
...
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Victor Stinner
1a62a680d6
Issue #22218 : Fix "comparison between signed and unsigned integers" warnings in
...
socketmodule.c.
2014-08-17 19:33:28 +02:00
Martin v. Löwis
17fd1e1013
Issue #22127 : fix typo.
2014-08-05 16:13:50 +02:00
Martin v. Löwis
eb1c28a849
Issue #22127 : Bypass IDNA for pure-ASCII host names (in particular for numeric IPs).
2014-08-05 16:10:38 +02:00
Victor Stinner
011428e168
(Merge 3.4) Fix repr(_socket.socket) on Windows 64-bit: don't fail with
...
OverflowError on closed socket. repr(socket.socket) already works fine.
2014-07-26 14:37:57 +02:00
Victor Stinner
e254e53c83
Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError
...
on closed socket. repr(socket.socket) already works fine.
2014-07-26 14:36:55 +02:00
Victor Stinner
b6dab6bce8
Issue #22042 : Avoid dangerous C cast in socket.setblocking()
...
Avoid cast from (int*) to (u_long*), even if sizeof(int) == sizeof(u_long).
2014-07-23 22:56:55 +02:00
Berker Peksag
d9375f121e
Fix typo in socket.getaddrinfo() docstring.
...
Reported by Krishna Kumar Thakur on docs@.
2014-06-30 11:30:00 +03:00
Berker Peksag
a6ec5ee3c8
Fix typo in socket.getaddrinfo() docstring.
...
Reported by Krishna Kumar Thakur on docs@.
2014-06-30 11:28:40 +03:00
Victor Stinner
8e44aa5ae4
Issue #23834 : Fix socket.sendto(), use the C Py_ssize_t type to store the
...
result of sendto() instead of the C int type.
2015-04-02 17:16:08 +02:00
Victor Stinner
ef7f140366
All modern compilers provide a offsetof() function
...
offsetof() is used directly in many other .c files without any issue.
2014-06-03 18:45:05 +02:00
Charles-François Natali
644b8f52a8
Issue #21455 : Add a default backlog to socket.listen().
2014-05-22 19:45:39 +01:00
Vinay Sajip
ed6783f315
Issue #10141 , Issue 20065: Changed #if to take CAN_RAW into account.
2014-03-21 11:44:32 +00:00
Vinay Sajip
ecfc98c67b
Issue #10141 : updated new usages of AF_CAN to be in #ifdef AF_CAN rather than #ifdef HAVE_LINUX_CAN_H to allow compilation on older Linuxes.
2014-03-20 12:42:42 +00:00
Charles-François Natali
4025ac7549
Issue #20065 : socketmodule: Fix build error when AF_CAN is defined without the
...
proper CAN headers.
2014-02-08 22:54:48 +01:00
Charles-François Natali
b4062e8f8a
Issue #20065 : socketmodule: Fix build error when AF_CAN is defined without the
...
proper CAN headers.
2014-02-08 22:54:11 +01:00
Benjamin Peterson
901acb4d89
merge 3.3 ( #20251 )
2014-01-14 00:22:50 -05:00
Benjamin Peterson
a677d7628b
remove overly strict assertion ( closes #20251 )
2014-01-14 00:21:49 -05:00
Benjamin Peterson
c6b37e21f5
merge 3.3 ( #20246 )
2014-01-13 23:14:42 -05:00
Benjamin Peterson
5688222907
merge 3.2 ( #20246 )
2014-01-13 23:12:55 -05:00
Benjamin Peterson
fbf648ebba
complain when nbytes > buflen to fix possible buffer overflow ( closes #20246 )
2014-01-13 22:59:38 -05:00
Brett Cannon
b05cbe61b3
Issue #12837 : Silence a Clang compiler warning on OS X.
...
Now makes CPython build without warnings on OS X under Clang with
-Wno-unused-value -Wno-empty-body -Qunused-arguments
-Wno-deprecated-declarations.
Thanks to David Watson for taking an initial stab at a solution.
2014-01-07 17:01:01 -05:00
Christian Heimes
af01f66817
Issue #16136 : Remove VMS support and VMS-related code
2013-12-21 16:19:10 +01:00
Guido van Rossum
638aebd58e
Fix broken docstring continuation line for detach().
2013-12-04 11:50:09 -08:00
Victor Stinner
9a954838ab
Close #19827 : On UNIX, setblocking() and settimeout() methods of socket.socket
...
can now avoid a second syscall if the ioctl() function can be used, or if the
non-blocking flag of the socket is unchanged.
2013-12-04 00:41:24 +01:00
Benjamin Peterson
1314ef73d0
add SO_PRIORITY ( closes #19802 )
...
Patch by Claudiu Popa.
2013-11-27 09:18:54 -06:00
Victor Stinner
e990c6e952
Fix sock_recvfrom_guts(): recvfrom() size is limited to an int on Windows, not
...
on other OSes!
2013-11-16 00:18:58 +01:00
Jason R. Coombs
8ec784c2df
Issue #7171 : Update syntax to replace MAX in favor of Py_MAX (matching implementation for Unix).
2013-11-10 13:43:22 -05:00
Serhiy Storchaka
9594942716
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 19:40:23 +03:00
Christian Heimes
9228837e31
Issue #18549 : Eliminate dead code in socket_ntohl().
...
CID 982369
2013-07-25 11:46:10 +02:00
Christian Heimes
d2774c7d09
Issue #18259 : Declare sethostname in socketmodule.c for AIX
2013-06-19 02:06:29 +02:00
Ronald Oussoren
a822d36675
Ensure that the fix for #17269 also works on OSX 10.4
...
AI_NUMERICSERV isn't defined on OSX 10.4.
2013-06-10 10:36:28 +02:00
Victor Stinner
a534fc4b3b
Close #18109 : os.uname() now decodes fields from the locale encoding, and
...
socket.gethostname() now decodes the hostname from the locale encoding, instead
of using the UTF-8 encoding in strict mode.
2013-06-03 22:07:27 +02:00
Ronald Oussoren
27a4ac535f
Issue #17269 : Workaround for a platform bug in getaddrinfo on OSX
...
Without this patch socket.getaddrinfo crashed when called
with some unusual argument combinations.
2013-05-24 13:47:37 +02:00
Benjamin Peterson
18b7191653
C89 declaration compliance
2013-05-16 15:29:44 -05:00
Terry Jan Reedy
0f84764a09
Issue #17047 : remove doubled words added in 3.3
...
as reported by Serhiy Storchaka and Matthew Barnett.
2013-03-11 18:34:00 -04:00
Antoine Pitrou
c73c561181
Issue #17173 : Remove uses of locale-dependent C functions (isalpha() etc.) in the interpreter.
...
I've left a couple of them in: zlib (third-party lib), getaddrinfo.c
(doesn't include Python.h, and probably obsolete), _sre.c (legitimate
use for the re.LOCALE flag), mpdecimal (needs to build without Python.h).
2013-02-09 23:14:42 +01:00
Antoine Pitrou
4de7457009
Issue #17173 : Remove uses of locale-dependent C functions (isalpha() etc.) in the interpreter.
...
I've left a couple of them in: zlib (third-party lib), getaddrinfo.c
(doesn't include Python.h, and probably obsolete), _sre.c (legitimate
use for the re.LOCALE flag).
2013-02-09 23:11:27 +01:00
Serhiy Storchaka
9101e23ff6
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
This is a backport of changesets 13e2e44db99d and 525407d89277.
2013-01-19 12:41:45 +02:00
Serhiy Storchaka
441d30fac7
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
This is a backport of changesets 13e2e44db99d and 525407d89277.
2013-01-19 12:26:26 +02:00
Christian Heimes
15b6885fe0
Make sure that *really* no more than sizeof(ifr.ifr_name) chars are strcpy-ed to ifr.ifr_name and that the string is *always* NUL terminated. New code shouldn't use strcpy(), too. CID 719692
2012-09-10 01:25:50 +02:00
Andrew Svetlov
c53eb9dfe2
Merge 3.2 to default
2012-08-14 18:42:10 +03:00
Matthias Klose
d182a6c77e
Modules/socketmodule.c: netdb_lock: define static.
2012-08-14 17:29:04 +02:00
Atsuo Ishimoto
da0fc14d46
Issue #7171 : Add Windows implementation of ``inet_ntop`` and ``inet_pton`` to socket module.
2012-07-16 15:16:54 +09:00
Georg Brandl
6083a4bc1c
Re #18521 : remove assignments of variables that are immediately reassigned.
2013-10-14 06:51:46 +02:00
Charles-François Natali
0cc86850b6
Issue #16201 : socket: Use inet_pton()/inet_addr() instead of ad-hoc parsing for
...
numeric IP addresses.
2013-09-13 19:53:08 +02:00
Charles-François Natali
24aa041731
Use INADDR_BROADCAST instead of hard-coded value (it's part of POSIX and
...
already appears without #ifdef a couple lines above).
2013-08-31 14:48:25 +02:00
Victor Stinner
daf455554b
Issue #18571 : Implementation of the PEP 446: file descriptors and file handles
...
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Serhiy Storchaka
46e1ce214b
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 20:17:03 +03:00
Christian Heimes
7c8cd257e4
Issue #18549 : Eliminate dead code in socket_ntohl().
...
CID 982369
2013-07-25 11:47:25 +02:00
Victor Stinner
14b9b11098
If MS_WIN64 is defined, MS_WINDOWS is also defined: #ifdef can be simplified.
2013-06-25 00:37:25 +02:00
Victor Stinner
9a644b23cc
Issue #9566 : recv(), recvfrom(), send(), sendall() and sendto() methods
...
of socket.socket objects now truncate the input buffer to INT_MAX bytes on
Windows to avoid an integer overflow.
(sendall() still send the whole buffer.)
2013-06-24 23:47:41 +02:00
Christian Heimes
71515510d8
Issue #18259 : Declare sethostname in socketmodule.c for AIX
2013-06-19 02:07:20 +02:00
Ronald Oussoren
36451f076b
(3.3->default) Ensure that the fix for #17269 also works on OSX 10.4
...
AI_NUMERICSERV isn't defined on OSX 10.4.
2013-06-10 10:37:12 +02:00
Victor Stinner
640c35ce13
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
...
multiprocessing.h: remove unused MIN and MAX macros
2013-06-04 23:14:37 +02:00
Victor Stinner
0b81111b18
(Merge 3.3) Close #18109 : os.uname() now decodes fields from the locale
...
encoding, and socket.gethostname() now decodes the hostname from the locale
encoding, instead of using the UTF-8 encoding in strict mode.
2013-06-03 22:09:14 +02:00
Ronald Oussoren
dc3e6cc452
(3.3->default) Issue #17269 : Workaround for a platform bug in getaddrinfo on OSX
...
Without this patch socket.getaddrinfo crashed when called
with some unusual argument combinations.
2013-05-24 13:51:21 +02:00
Giampaolo Rodola'
80e1c43ddf
Fix issue #17996 : expose socket.AF_LINK constant on BSD and OSX.
2013-05-21 21:02:04 +02:00
Charles-François Natali
b10c71daa2
Backed out changeset c0f2b038fc12
2013-05-21 10:45:46 +02:00
Charles-François Natali
c7c333d25d
Issue #17683 : socket module: return AF_UNIX addresses in Linux abstract
...
namespace as string.
2013-05-21 09:49:18 +02:00
Charles-Francois Natali
74ca886788
Issue #17917 : Use PyModule_AddIntMacro() instead of PyModule_AddIntConstant()
...
when applicable.
2013-05-20 19:13:19 +02:00
Benjamin Peterson
aa96588399
merge 3.3
2013-05-16 15:30:09 -05:00
Terry Jan Reedy
8b53559a89
Merge with 3.3, issue #17047 : remove doubled words added in 3.3,
...
as reported by Serhiy Storchaka and Matthew Barnett.
2013-03-11 18:36:38 -04:00
Charles-François Natali
773e42dff8
Issue #15359 : Add CAN_BCM protocol support to the socket module. Patch by Brian
...
Thorne.
2013-02-05 19:42:01 +01:00
Serhiy Storchaka
7898043868
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
2013-01-15 01:12:17 +02:00
Andrew Svetlov
0832af6628
Issue #16717 : get rid of socket.error, replace with OSError
2012-12-18 23:10:48 +02:00
Benjamin Peterson
57b667261c
expose TCP_FASTOPEN and MSG_FASTOPEN
2012-12-12 22:24:47 -05:00
Jesus Cea
14c81aba50
#16135 : Removal of OS/2 support (Modules/*)
2012-10-05 02:11:36 +02:00
Charles-François Natali
f8f5237b2f
Remove useless test (flowinfo is unsigned).
2012-06-23 10:26:54 +02:00
Charles-François Natali
9b0c006eb0
Remove useless test (flowinfo is unsigned).
2012-06-23 10:17:05 +02:00
Kristján Valur Jónsson
10f383a937
Issue #14310 : inter-process socket duplication for windows
2012-04-07 11:23:31 +00:00