summaryrefslogtreecommitdiffstats
path: root/ext/socket
Commit message (Collapse)AuthorAgeFilesLines
* * configure.in, common.mk: AIX link issue. a patch from Yutakamatz2006-08-071-0/+6
| | | | | | | | | Kanemoto <kinpoco at gmail.com>. [ruby-dev:29190] * ext/socket/socket.c: AIX socket support. [ruby-dev:29190] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_s_socketpair): try GC only once.akr2006-06-211-7/+9
| | | | | | | [ruby-dev:28778] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (bsock_recv_nonblock): new methodakr2006-06-171-100/+99
| | | | | | | | | | BasicSocket#recv_nonblock. (udp_recvfrom_nonblock): renamed from ip_recvfrom_nonblock. IPSocket#recvfrom_nonblock is moved to UDPSocket#recvfrom_nonblock. (unix_recvfrom_nonblock): removed. UNIXSocket#is removed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: add new configure option `--with-winsock2' for mingw.usa2006-06-071-1/+1
| | | | | | | | | | | * win32/Makefile.sub (config.h): define USE_WINSOCK2 in config.h instead of in CPPFLAGS. * ext/socket/extconf.rb: determine whether to use winsock2 or not by using with_config. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/{configure.bat, setup.mak, Makefile.sub, win32.h}: addusa2006-06-071-1/+5
| | | | | | | | | | | | | | | | | support new configure option `--with-winsock2'. * win32/win32.c (StartSockets): ditto. * ext/socket/extconf.rb: ditto. * win32/win32.c (open_ifs_socket): new function. * win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket() instead of socket(). ifs socket support is backported from trunk. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_s_unpack_sockaddr_in): rejectakr2006-06-051-0/+14
| | | | | | | | | non-AF_INET/AF_INET6 sockaddr. (sock_s_unpack_sockaddr_un): reject non-AF_UNIX sockaddr. [ruby-dev:28691] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: fix sockaddr_un handling.akr2006-06-041-25/+44
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update doc.akr2006-06-021-50/+52
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a comment.akr2006-06-011-6/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (s_recvfrom): alen may be zero with UNIXSocketakr2006-06-011-61/+282
| | | | | | | | | | | | | | | too. (tested on NetBSD 3.0) (s_recvfrom_nonblock): extracted from sock_recvfrom_nonblock. (sock_recvfrom_nonblock): use s_recvfrom_nonblock. (ip_recvfrom_nonblock): new method: IPSocket#recvfrom_nonblock (unix_recvfrom_nonblock): new method: UNIXSocket#recvfrom_nonblock (s_accept_nonblock): extracted from sock_accept_nonblock. (sock_accept_nonblock): use s_accept_nonblock. (tcp_accept_nonblock): new method: TCPServer#accept_nonblock (unix_accept_nonblock): new method: UNIXServer#accept_nonblock git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.h, lib/mkmf.rb (create_header): clear command line options fornobu2006-05-252-64/+35
| | | | | | | | | | | | | | | macros moved to extconf.h. * ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and EXTSTATIC permanent. * ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS. * {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added $(INCFLAGS). git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update nonblocking methods document.akr2006-05-241-27/+34
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add reason for accept(2) failure in accept_nonblock.akr2006-05-221-2/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update *_nonblock doc.akr2006-05-221-160/+25
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use rb_read_pending instead of rb_io_read_pending.akr2006-05-221-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * rubyio.h (rb_io_set_nonblock): declared.akr2006-05-221-2/+361
| | | | | | | | | | | | | | | | | * io.c (rb_io_set_nonblock): new function. (io_getpartial): nonblocking read support. (io_read_nonblock): new method: IO#read_nonblock. (io_write_nonblock): new method: IO#write_nonblock. * ext/socket/socket.c (sock_connect_nonblock): new method: Socket#connect_nonblock. (sock_accept_nonblock): new method: Socket#accept_nonblock. (sock_recvfrom_nonblock): new method: Socket#recvfrom_nonblock. [ruby-core:7917] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (make_hostent_internal): accept ai_familymatz2006-05-021-5/+4
| | | | | | | | check from Sam Roberts <sroberts at uniserve.com>. [ruby-core:07691] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: document update patch from Sam Robertsmatz2006-04-211-2/+232
| | | | | | | <sroberts at uniserve.com>. [ruby-core:07701] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (init_inetsock_internal): remove settingusa2005-11-281-0/+5
| | | | | | | | SO_REUSEADDR option on server socket on Cygwin. fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ]) git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (init_inetsock_internal): remove settingusa2005-11-281-5/+0
| | | | | | | | SO_REUSEADDR option on server socket. fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ]) git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: Socket Documentation. [ruby-core:6580]ocean2005-11-111-0/+510
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * file.c (rb_thread_flock): wrap the flock system call byakr2005-09-181-0/+4
| | | | | | | | | | | | | | | TRAP_BEG/TRAP_END to enable signals. [ruby-dev:27122] * ext/socket/socket.c (bsock_send): wrap the sendto and send system call by TRAP_BEG/TRAP_END to enable signals when writing to a socket which is full. [ruby-dev:27132] * io.c (rb_io_syswrite): wrap the write system call by TRAP_BEG/TRAP_END to enable signals when writing to a pipe which is full. [ruby-dev:27134] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (ruby_connect): revert [ruby-talk:111654]matz2005-08-021-6/+2
| | | | | | | changes at 2004-09-07. [ruby-dev:26656] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (ruby_connect): break immediately if amatz2005-07-281-0/+5
| | | | | | | socket is non-blocking. [ruby-talk:111654] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: sorry, BeOS also uses HAVE_CLOSESOCKET,ocean2005-07-192-2/+5
| | | | | | | | | | so reverted. * ext/socket/extconf.rb: should not define HAVE_CLOSESOCKET on windows. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: should not undef close on win32.ocean2005-07-191-5/+0
| | | | | | | | it's defined to rb_w32_close, otherwise handle leaks. [ruby-Bugs-2131] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use CMSG_LEN.akr2005-07-021-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (unix_send_io, unix_recv_io): support x86-64 andakr2005-07-021-13/+29
| | | | | | | IA64. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (get2comp): calculate proper 2's complement formatz2005-06-082-2/+33
| | | | | | | | | | | | | | | | negative numbers. a bug in normalizing negative numbers reported from Honda Hiroki <hhonda@ipflex.com>. * ext/socket/socket.c (ruby_getaddrinfo__aix): merged a patch from KUBO Takehiro <kubo@jiubao.org> to support AIX. [ruby-list:40832] * lib/yaml/rubytypes.rb (Array::to_yaml): merged a patch from Tilman Sauerbeck <tilman@code-monkey.de>. [ruby-core:05055] * lib/yaml/rubytypes.rb (Hash::to_yaml): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: document from Sam Robertsmatz2005-03-081-0/+85
| | | | | | | | | | | <sroberts@uniserve.com> for getsockopt and setsockopt is merged. [ruby-doc:824] * eval.c (block_pass): should not push unique number if a block is not an orphan. [ruby-dev:25808] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.rb: workaround for some of 4.4BSD-Lite derived OSs.usa2005-03-081-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * exception error messages updated. [ruby-core:04497]matz2005-02-281-4/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (Init_socket): add bunch of Socketmatz2005-02-281-0/+252
| | | | | | | | constants. Patch from Sam Roberts <sroberts@uniserve.com>. [ruby-core:04409] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.usa2005-02-211-7/+45
| | | | | | | | | | | | | | * win32/win32.[ch] (fcntl): ditto. * win32/win32.c (rb_w32_connect): support nonblocking mode. * ext/socket/socket.c (wait_connectable, ruby_connect): support nonblocking connect on various platforms. all changes are backported from CVS HEAD. [ruby-core:3154], [ruby-core:4364]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/Makefile.sub (COMMON_HEADERS): shouldn't include winsock2.h.usa2005-02-101-2/+1
| | | | | | | | * ext/socket/extconf.rb (sockaddr_storage): remove workaround for mswin32. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/curses/curses.c (window_color_set): [ruby-core:04393]matz2005-02-081-0/+3
| | | | | | | | * ext/socket/socket.c (Init_socket): SO_REUSEPORT added. [ruby-talk:130092] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * instruby.rb, rubytest.rb (srcdir): no longer embed srcdir intousa2005-02-061-1/+2
| | | | | | | | | | | | | | | rbconfig.rb. (backported from CVS HEAD) * ext/socket/extconf.rb (sockaddr_storage): winsock2.h have the definition of struct sockaddr_storage, but socket.c doesn't include it because this version of ruby still has binary level compatibility with winsock1. * lib/mkmf.rb (create_makefile): should support header files in depend file. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb: check if getaddrinfo() works fine only whennobu2005-02-061-150/+54
| | | | | | | | | | | | | | | | | | | | | | | wide-getaddrinfo option is not given. fixed: [ruby-dev:25422] * lib/mkmf.rb ($extmk): check if under ext directory. * lib/mkmf.rb (Logging.postpone): allow recursive operation. * lib/mkmf.rb (try_constant): make sure if really a constant, reduce the number of times of compile. * lib/mkmf.rb (have_macro, have_var, byte_order): new functions. * lib/mkmf.rb (find_library): allow directory list with separators. * lib/mkmf.rb (arg_config): manage provided configuration options. * lib/mkmf.rb (dir_config): accept arrays of directory names as default values. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (run_trap_eval): prototype; avoid VC++ warnings.usa2004-12-111-1/+1
| | | | | | | | | * ext/socket/getaddrinfo.c: fix typo. fixed: [ruby-core:03947] * win32/win32.c: need to include dln.h. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_listen): get OpenFile just before callingnobu2004-12-091-1/+3
| | | | | | | listen(2). fixed: [ruby-dev:25149] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Port socket library to VMS.akiyoshi2004-12-092-2/+11
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]matz2004-12-071-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_setgroups): [ruby-dev:25081]matz2004-12-061-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * re.c (rb_reg_eqq): document fix. [ruby-talk:122541] * ext/socket/socket.c (sock_connect): use rb_str_new4(). [ruby-dev:25052] * io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050] * io.c (io_fwrite): takes VALUE string as an argument. [ruby-dev:25050] * ext/socket/socket.c (sock_connect): remove rb_str_locktmp(). [ruby-dev:25050] * ext/socket/socket.c (udp_connect): [ruby-dev:25045] * ext/socket/socket.c (udp_bind): ditto. * ext/socket/socket.c (udp_send): ditto. * ext/socket/socket.c (bsock_send): ditto. * ext/socket/socket.c (s_recvfrom): ditto. * hash.c (rb_hash_hash): should provide "hash" method where "eql?" is redefined. [ruby-talk:122482] * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039] * hash.c (rb_hash_hash): should provide "hash" method where "eql?" is redefined. [ruby-talk:122482] * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (rb_glob2): do not allocate buffer from heap to avoidmatz2004-11-101-4/+0
| | | | | | | | | | | | | | | memory leaks. use string object for buffering instead. [ruby-dev:24738] * dir.c (join_path): ditto. * io.c (io_read): external input buffer may be modified even after rb_str_locktmp(). [ruby-dev:24735] * dir.c (fnmatch): p or s may be NULL. [ruby-dev:24749] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_mark): enable GC stack checking.matz2004-11-041-0/+2
| | | | | | | | | | | | | | | | | | | | * string.c (str_gsub): lock strings temporarily. [ruby-dev:24687] * ext/socket/socket.c (s_recvfrom): tmplock input buffer. [ruby-dev:24705] * array.c (rb_ary_uniq_bang): do not push frozen string from hash table. [ruby-dev:24695] * array.c (rb_ary_and): ditto. * array.c (rb_ary_or): ditto. * ext/enumerator/enumerator.c (each_cons_i): pass copy of an internal consequent array. [ruby-talk:118691] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * MANIFEST, ext/**/MANIFEST: removed.eban2004-11-011-8/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_gsub): reentrant check. [ruby-dev:24432]matz2004-10-201-5/+7
| | | | | | | * backport all SEGV bug fixes from CVS HEAD. [ruby-dev:24536] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (read_all): block string buffer modification duringmatz2004-10-191-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb_io_fread() by freezing it temporarily. [ruby-dev:24479] * dir.c (rb_push_glob): block call at once the end of method. [ruby-dev:24487] * ext/enumerator/enumerator.c (enum_each_slice): remove rb_gc_force_recycle() to prevent potential SEGV. [ruby-dev:24499] * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string buffer by clearing klass. [ruby-dev:24510] * ext/socket/socket.c (sock_s_getservbyaname): protocol string might be altered. [ruby-dev:24503] * string.c (rb_str_upto): check if return value from succ is a string. [ruby-dev:24504] * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to avoid mode string modification. [ruby-dev:24454] * io.c (rb_io_getline_fast): should take delim as unsigned char to distinguish EOF and '\377'. [ruby-dev:24460] * io.c (rb_io_getline): add check for RS modification. [ruby-dev:24461] * enum.c (enum_sort_by): use qsort() directly instead using rb_iterate(). [ruby-dev:24462] * enum.c (enum_each_with_index): remove rb_gc_force_recycle() to prevent access to recycled object (via continuation for example). [ruby-dev:24463] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_sum): check was done with false pointer.matz2004-10-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ruby-dev:24383] * string.c (rb_str_sum): string may be altered. [ruby-dev:24381] * eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe sourcefile string modification. [ruby-dev:24373] * io.c (io_read): block string buffer modification during rb_io_fread() by freezing it temporarily. [ruby-dev:24366] * io.c (rb_io_s_popen): mode argument may be altered. [ruby-dev:24375] * file.c (rb_file_s_basename): ext argument may be altered. [ruby-dev:24377] * enum.c (enum_sort_by): use NODE instead of 2 element arrays. [ruby-dev:24378] * string.c (rb_str_chomp_bang): StringValue() may change the receiver. [ruby-dev:24371] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/socket.c (s_recvfrom): remove C++ style comment.eban2004-07-151-1/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e