summaryrefslogtreecommitdiffstats
path: root/Modules/socketmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* Donn Cave <donn@oz.net>:Fred Drake2000-05-161-0/+2
| | | | BeOS (up to 5.0) lacks <netinet/tcp.h>.
* Vladimir Marangozov's long-awaited malloc restructuring.Guido van Rossum2000-05-031-9/+9
| | | | | | | | | | For more comments, read the patches@python.org archives. For documentation read the comments in mymalloc.h and objimpl.h. (This is not exactly what Vladimir posted to the patches list; I've made a few changes, and Vladimir sent me a fix in private email for a problem that only occurs in debug mode. I'm also holding back on his change to main.c, which seems unnecessary to me.)
* Fix typo in last patch -- the symbol's name is MSG_DONWAIT, notGuido van Rossum2000-04-251-1/+1
| | | | MSG_DONTWAIT. Reported by Fredrik Lundh.
* Patch by Charles G Waldman:Guido van Rossum2000-04-251-1/+4
| | | | | 1) Adds MSG_DONTWAIT if defined (I needed this) 2) Spells "coreectly" correctly ;-)
* Jack Jansen: The GUSI 2.0 I/O library used on the Mac uses theGuido van Rossum2000-04-241-9/+15
| | | | | | | | | | socklen_t (unsigned int) for most size parameters. Apparently this is part of the UNIX 98 standard. [GvR: the changes to configure.in etc. that I just checked in make sure that socklen_t is defined everywhere, so I deleted the little part of Jack's mod to define socklen_t if not in GUSI2. I suppose I will have to add it to the Windows config.h in a minute.]
* Use an explicit macro SOCKETCLOSE which expands to closesocket (onGuido van Rossum2000-04-211-10/+14
| | | | | | | | | Windows), soclose (on OS2), or to close (everywhere else). Hopefully this fixes a new compilation error that I suddenly get on Windows because the macro definition for close -> closesocket apparently was done before including io.h, which contains a prototype for close. (No idea why this wasn't an error before.)
* In dealloc(), only close the socket if fd != -1.Guido van Rossum2000-04-101-1/+2
|
* Add warning that multi-arg connect() etc. are deprecated.Guido van Rossum2000-04-041-1/+1
|
* Put back multi-arg capability on connect/connect_ex/bind, forGuido van Rossum2000-04-041-21/+15
| | | | backwards compatibility, and to avoid a revolution.
* Add '#include <netinet/tcp.h>'Andrew M. Kuchling2000-03-311-0/+1
| | | | | | "man tcp" on Solaris says that TCP_NODELAY is defined in netinet/tcp.h, and the Open Groups Unix98 spec agrees (http://www.opengroup.org/onlinepubs/009619199/ninettcp.htm).
* Fix all routines to use PyArg_ParseTuple(), and add ":name" to theGuido van Rossum2000-03-241-58/+71
| | | | | | | | argument format strings. THIS WILL PROBABLY BREAK LOTS OF CODE!!! Also fixed a bogus string in an error message in getsockaddrlen().
* Fixed inet_ntoa() docstring.Fred Drake2000-03-071-1/+1
|
* Massive patch by Skip Montanaro to add ":name" to as manyGuido van Rossum2000-02-291-9/+9
| | | | PyArg_ParseTuple() format string arguments as possible.
* OpenSSL support. This is based on patches for a version of SSLeay byGuido van Rossum1999-12-071-1/+290
| | | | | | Brian E Gallew, which were improved and adapted to OpenSSL 0.9.4 by Laszlo Kovacs of HP. Both have kindly given permission to include the patches in the Python distribution. Final formatting by GvR.
* Bugfix by Jack Jansen for Macintosh (for the inet_ntoa/aton changes):Guido van Rossum1999-11-041-1/+6
| | | | | <arpa/inet.h> doesn't exist and isn't needed; and inet_addr() returns a structure containing a long rather than a long.
* (1) On Linux, we really need to trust the configure script to selectGuido van Rossum1999-09-151-2/+13
| | | | | | | | | the right variant of gethostbyname_r for us, since not all Linuxes are equal in this respect. Reported by Laurent Pointal. (2) On BeOS, Chris Herborth reports that instead of arpa/inet.h you must include net/netdb.h to get the inet_ntoa() and inet_addr() prototypes.
* It appears that inet_aton() doesn't really exist except in libresolv;Guido van Rossum1999-09-091-20/+3
| | | | | the proper function to call is inet_addr(). Since we already had code to do that (for MS-Windows), this simplifies things a lot!
* Port inet_ntoa and inet_aton to Windows:Guido van Rossum1999-08-201-2/+23
| | | | | | - fix unescaped newline in string literal - removed unused err variable - Windows doesn't have inet_aton; use inet_addr instead
* Patch by Ben Gertzfield to add inet_aton() and inet_ntoa() calls.Guido van Rossum1999-08-201-0/+72
|
* Patch by Marc-Andre Lemburg to add a bunch more symbols.Guido van Rossum1999-08-091-2/+86
|
* Put back __osf__ support for gethostbyname_r(); the real bug was thatGuido van Rossum1999-04-131-1/+5
| | | | | | it was being used even without threads. This of course might be an all-platform problem so now we only use the _r variant when we are using threads.
* 3-arg gethostbyname_r doesn't really work on OSF/1.Guido van Rossum1999-04-101-1/+1
|
* Implement two suggestions by Jonathan Giddy: (1) in AIX, clear theGuido van Rossum1999-03-241-0/+19
| | | | | | | | | | | | data struct before calling gethostby{name,addr}_r(); (2) ignore the 3/5/6 args determinations made by the configure script and switch on platform identifiers instead: AIX, OSF have 3 args Sun, SGI have 5 args Linux has 6 args On all other platforms, undef HAVE_GETHOSTBYNAME_R altogether.
* Vladimir Marangozov implements the AIX 3-arg gethostbyname_r code.Guido van Rossum1999-03-241-14/+32
|
* Clean up pass for the previous patches.Guido van Rossum1999-03-221-23/+35
| | | | | | | | | | | | | | | | | | - Use HAVE_GETHOSTBYNAME_R_6_ARG instead of testing for Linux and glibc2. - If gethostbyname takes 3 args, undefine HAVE_GETHOSTBYNAME_R -- don't know what code should be used. - New symbol USE_GETHOSTBYNAME_LOCK defined iff the lock should be used. - Modify the gethostbyaddr() code to also hold on to the lock until after it is safe to release, overlapping with the Python lock. (Note: I think that it could in theory be possible that Python code executed while gethostbyname_lock is held could attempt to reacquire the lock -- e.g. in a signal handler or destructor. I will simply say "don't do that then.")
* Jonathan Giddy writes:Guido van Rossum1999-03-221-8/+15
| | | | | | | | Here's a patch to fix the race condition, which wasn't fixed by Rob's patch. It holds the gethostbyname lock until the results are copied out, which means that this lock and the Python global lock are held at the same time. This shouldn't be a problem as long as the gethostbyname lock is always acquired when the global lock is not held.
* Patch by Rob Riggs for Linux -- glibc2 has a different argumentGuido van Rossum1999-03-151-0/+24
| | | | converntion for gethostbyname_r() etc. than Solaris!
* Thanks to Chris Herborth, the thread primitives now have proper Py*Guido van Rossum1998-12-211-8/+8
| | | | | names in the source code (they already had those for the linker, through some smart macros; but the source still had the old, un-Py names).
* Add DL_EXPORT() to all modules that could possibly be usedGuido van Rossum1998-12-041-1/+1
| | | | on BeOS or Windows.
* Use the t# format where appropriate. Greg Stein.Guido van Rossum1998-10-081-1/+1
|
* Renamed thread.h to pythread.h.Guido van Rossum1998-10-011-1/+1
|
* Remove some unused variables from gethostbyaddr_ex and gethostbyaddr,Guido van Rossum1998-09-131-4/+0
| | | | discovered by Marc Lemburg.
* Removed unused variables.Guido van Rossum1998-08-061-4/+0
|
* Changes for BeOS, QNX and long long, by Chris Herborth.Guido van Rossum1998-08-041-3/+40
|
* Added gethostbyname_ex(), which returns the same kind of data asGuido van Rossum1998-08-041-37/+99
| | | | | | | | gethostbyaddr(). (Plain gethostbyname() returns only the IP address.) This moves the code shared by gethostbyaddr() and gethostbyname_ex() to a subroutine. Original patch by Dan Stromberg; some tweaks by GvR.
* Added copious docstrings, plus two minor layout tweaks.Guido van Rossum1998-07-071-39/+309
|
* Some systems (e.g. Linux) use enums for some symbols (like IPPROTO_IP)Guido van Rossum1998-05-281-0/+11
| | | | | | so that our #ifdef test has the wrong effect. Substitute hardcoded values for some important symbols (but not for the whole range -- some are pretty obscure so it's not worth it).
* Threading speedup patches by Christopher Lindblad <cjl@infoseek.com>.Guido van Rossum1998-04-091-2/+44
|
* Left-aligned preprocessor directives and changed C++ comments to CGuido van Rossum1997-12-021-9/+9
| | | | comments.
* os2 patch by Jeff RushGuido van Rossum1997-11-221-15/+116
|
* PySocketSock_methods: Added "connect_ex" so the method can actually beBarry Warsaw1997-11-201-0/+1
| | | | called!
* Add s.connect_ex() which returns errno instead of raising an exception.Guido van Rossum1997-11-191-0/+20
|
* Apply two changes, systematically:Guido van Rossum1997-10-011-9/+8
| | | | | | | | | | | | | | | | | (1) Use PyErr_NewException("module.class", NULL, NULL) to create the exception object. (2) Remove all calls to Py_FatalError(); instead, return or ignore the errors -- the import code now checks PyErr_Occurred() after calling a module's init function, so it's no longer a fatal error for the initialization to fail. Also did some small cleanups, e.g. removed unnecessary test for "already initialized" from initfpectl(), and unified initposix()/initnt(). I haven't checked this very thoroughly, so while the changes are pretty trivial -- beware of untested code!
* socket_type -> SocketTypeGuido van Rossum1997-06-021-2/+2
|
* Add socket.socket_type, as discussed on c.l.p.Guido van Rossum1997-05-211-0/+5
|
* Remove the last three uses of PyArg_GetInt() from the source.Guido van Rossum1997-05-151-3/+3
|
* In makesockaddr(), if we don't know the address family, don't raise anGuido van Rossum1997-05-071-3/+6
| | | | exception -- return it as a tuple. Seems useful in promiscuous mode.
* Tweaks to keep the Microsoft compiler quier.Guido van Rossum1997-04-091-1/+3
|
* Check of return values and proper error handling.Barry Warsaw1997-01-031-30/+60
|
* Added the new getprotobyname() call to the module overview at the top.Guido van Rossum1996-12-191-0/+1
|