aboutsummaryrefslogtreecommitdiffstats
path: root/ext/socket
Commit message (Collapse)AuthorAgeFilesLines
* * ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed.akr2014-05-111-1/+0
| | | | | | | | | | * ext/strscan/strscan.c (BUFSIZE): Ditto. * ext/zlib/zlib.c (OBJ_IS_FREED): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: Add IP_TRANSPARENT.akr2014-05-051-0/+1
| | | | | | | | IP_TRANSPARENT is provieded since glibc-2.12. Reported by Eliezer Croitoru. [ruby-core:50372] [Bug #7476] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.akr2014-04-071-1/+5
| | | | | | | | Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] Fixed by Heesob Park. [ruby-core:61868] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* option.c: use rb_w32_inet_ptonnobu2014-02-231-0/+4
| | | | | | | * ext/socket/option.c (inet_pton): use rb_w32_inet_pton, instead of inet_ntop directly, which is unavailable on older version Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* raddrinfo.c: suppress warningsnobu2014-02-231-11/+9
| | | | | | | | * ext/socket/raddrinfo.c (numeric_getaddrinfo): move conditionally used variables inside the block, to suppress warnings on platforms where inet_pton() is not available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix a filename.akr2014-02-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix second argument of MEMZEROkazu2014-02-211-1/+1
| | | | | | | * ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of MEMZERO is type. Coverity Scan found this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/init.c (wait_connectable): break if the socket isshugo2014-02-211-2/+6
| | | | | | | | | | | | writable to avoid infinite loops on FreeBSD and other platforms which conforms to SUSv3. This problem cannot be reproduced with loopback interfaces, so it's hard to write test code. rsock_connect() and wait_connectable() are overly complicated, so they should be refactored, but I commit this fix as a workaround for the release of Ruby 1.9.3 scheduled on Feb 24. [ruby-core:60940] [Bug #9547] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket: sendmsg/recvmsg only retries blocking on errorsnormal2014-02-211-10/+8
| | | | | | | | * ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error (bsock_recvmsg_internal): ditto * test/socket/test_unix.rb: test above for infinite loop git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc.akr2014-02-201-4/+2
| | | | | | | | | Suggested by Eric Wong. https://bugs.ruby-lang.org/issues/9525#note-14 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket: Bypass getaddrinfo() if node and serv are numeric.akr2014-02-194-9/+128
| | | | | | | | | | | | | | | | | | | | | Reporeted by Naotoshi Seo. [ruby-core:60801] [Bug #9525] * ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len. * ext/socket/sockport.h (SET_SIN6_LEN): New macro. (INIT_SOCKADDR_IN6): Ditto. * ext/socket/rubysocket.h (struct rb_addrinfo): Add allocated_by_malloc field. * ext/socket/raddrinfo.c (numeric_getaddrinfo): New function. (rb_getaddrinfo): Call numeric_getaddrinfo at first. (rb_freeaddrinfo): Free struct addrinfo properly when it is allocated by numeric_getaddrinfo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket: Wrap struct addrinfo by struct rb_addrinfo.akr2014-02-195-76/+100
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.akr2014-02-191-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h,akr2014-02-141-1/+0
| | | | | | | | | | | | | | | | | | | | | include/ruby/io.h, include/ruby/ruby.h, include/ruby/win32.h, include/ruby/backward/rubysig.h, bignum.c, gc.c, io.c, process.c, safe.c, struct.c, thread.c, ext/socket/rubysocket.h, ext/-test-/old_thread_select: Remove deprecated definitions [ruby-core:60581] [Feature #9502] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket: split out SOCK_CLOEXEC versions of wrappers for readabilitynormal2014-01-312-19/+29
| | | | | | | | * ext/socket/init.c (rsock_socket0): split out SOCK_CLOEXEC version * ext/socket/socket.c (rsock_socketpair0): ditto [ruby-core:60377] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket.c: suppress warningsnobu2014-01-311-0/+4
| | | | | | | * ext/socket/init.c (rsock_socket0): suppress unused label warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket.c: suppress warningsnobu2014-01-291-0/+4
| | | | | | | * ext/socket/socket.c (rsock_socketpair0): suppress unused label warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket: Avoid redundant fcntl/fstat syscalls for cloexecakr2014-01-285-20/+83
| | | | | | | | | sockets. Patch by Eric Wong. [ruby-core:59429] [Feature #9330] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Several more OS information for TYPE_IP_MULTICAST_LOOP andakr2014-01-211-1/+12
| | | | | | | TYPE_IP_MULTICAST_TTL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/option.c: fix typonobu2014-01-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP andakr2014-01-201-1/+1
| | | | | | | IP_MULTICAST_TTL on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP andakr2014-01-201-1/+1
| | | | | | | | IP_MULTICAST_TTL on Mac OS X. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: Use "byte" as default argument forakr2014-01-201-4/+13
| | | | | | | | | IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option to follow the original multicast implementation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: Use preprocessor macros to avoid repeatedakr2014-01-201-35/+24
| | | | | | | conditionals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket/option.c: helper functionsnobu2014-01-191-12/+26
| | | | | | | * ext/socket/option.c (sockopt_pack_byte, sockopt_pack_int): extract helper functions to pack integers in a String. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket/option.c: revert r44647nobu2014-01-191-14/+20
| | | | | | | * ext/socket/option.c (NUM2SOCKOPT, sockopt_value): revert because these names are confusing. [ruby-dev:47903] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf-utf8/nkf.c: fix typo by @windwiny [fix GH-506]hsbt2014-01-192-3/+3
| | | | | | | | | | | * ext/openssl/ossl_ssl.c: ditto * ext/psych/yaml/scanner.c: ditto * ext/socket/init.c: ditto * ext/socket/socket.c: ditto * ext/tk/tcltklib.c: ditto * ext/win32ole/win32ole.c: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket/option.c: socket option variationsnobu2014-01-191-20/+14
| | | | | | | * ext/socket/option.c (NUM2SOCKOPT, sockopt_value): extract to wrap socket option variations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket: Avoid unnecessary ppoll/select on Linux.akr2014-01-184-4/+20
| | | | | | | | Patch by Eric Wong. [ruby-core:57950] [Bug #9039] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC]akr2014-01-181-4/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socketakr2014-01-181-7/+7
| | | | | | | | | option takes a byte on OpenBSD. Fixed by Jeremy Evans. [ruby-core:59496] [Bug #9350] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket.c: format flagsnobu2014-01-041-14/+4
| | | | | | | | | * ext/socket/socket.c (rsock_syserr_fail_host_port): use format flags, '+' to inspect, ' ' to quote unprintables. * ext/socket/socket.c (rsock_syserr_fail_path): ditto. * ext/socket/socket.c (rsock_syserr_fail_raddrinfo): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket.c: use rb_syserr_failnobu2014-01-042-17/+42
| | | | | | | | | | | | | | * ext/socket/socket.c (rsock_syserr_fail_host_port): add errno argument version anduse rb_syserr_fail_str() instead of rb_sys_fail_str() with restoring errno. * ext/socket/socket.c (rsock_syserr_fail_path): ditto, and rb_syserr_fail(). * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use rsock_syserr_fail_raddrinfo(). * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto. * ext/socket/socket.c (setup_domain_and_type): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errnocharliesome2014-01-031-0/+13
| | | | | | | | | | | | before calling rb_sys_fail_str to prevent [BUG] errno == 0. Patch by Eric Wong. [ruby-core:59498] [Bug #9352] * ext/socket/socket.c (rsock_sys_fail_path): ditto * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto * ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb: Don't test $! in "ensure" clause becauseakr2013-12-131-30/+49
| | | | | | | | | | | | | it may be set before the body. Reported by ko1 and mrkn. [ruby-core:59088] [Bug #9247] * lib/cgi/core.rb: Ditto. * lib/drb/ssl.rb: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ifaddr.c (rsock_getifaddrs): fix possible memory leak.mame2013-10-021-0/+4
| | | | | | | | | When a system had no interface, this function used xmalloc for root but did not return any reference to it. This patch fixes it by immediately returning an empty array if no interface is found. Coverity Scan found this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: define MSG_FASTOPEN.glass2013-09-151-0/+1
| | | | | | [ruby-core:57138] [Feature #8897] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c: Remove spaces between SI prefix and unit to followakr2013-09-091-2/+2
| | | | | | | | | | | | | | SI brochure. http://www.bipm.org/en/si/si_brochure/ https://www.nmij.jp/library/units/si/ * time.c: Ditto. * ext/socket/ancdata.c: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb (TCP_FASTOPEN): Defined for TCP fast open.akr2013-09-071-0/+1
| | | | | | | [ruby-core:57048] [Feature #8871] patch by Masaki Matsushita. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/unixserver.c: [DOC] Document #acceptzzak2013-08-194-17/+19
| | | | | | | | | | * ext/socket/tcpserver.c: ditto * ext/socket/udpsocket.c: [DOC] Fix indentation of documentation * ext/socket/socket.c: ditto Patches by David Rodríguez [ruby-core:56734] [Bug #8802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ipsocket.c (init_inetsock_internal): Don't try mismachedakr2013-07-011-1/+1
| | | | | | | | address family if already failed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ipsocket.c (init_inetsock_internal): Use an addressakr2013-07-011-2/+7
| | | | | | | | | family for local address wihch is different to the remote address if no other choice. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ipsocket.c (init_inetsock_internal): Don't use localakr2013-06-281-3/+12
| | | | | | | | addresses which address family is different to remote address. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb: Enable RFC 3542 IPV6 socket options for OS Xdrbrain2013-06-121-0/+5
| | | | | | | 10.7+. [ruby-trunk - Bug #8517] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * safe.c (rb_set_safe_level, safe_setter): raise an ArgumentErrorshugo2013-06-124-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when $SAFE is set to 4. $SAFE=4 is now obsolete. [ruby-core:55222] [Feature #8468] * object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust): Kernel#untrusted?, untrust, and trust are now deprecated. Their behavior is same as tainted?, taint, and untaint, respectively. * include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED() and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(), respectively. * array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c, ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c, ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c, ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c, ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c, ext/socket/socket.c, ext/socket/udpsocket.c, ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c, ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c, load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c, safe.c, string.c, thread.c, transcode.c, variable.c, vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for $SAFE=4. * test/dl/test_dl2.rb, test/erb/test_erb.rb, test/readline/test_readline.rb, test/readline/test_readline_history.rb, test/ruby/test_alias.rb, test/ruby/test_array.rb, test/ruby/test_dir.rb, test/ruby/test_encoding.rb, test/ruby/test_env.rb, test/ruby/test_eval.rb, test/ruby/test_exception.rb, test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb, test/ruby/test_io.rb, test/ruby/test_method.rb, test/ruby/test_module.rb, test/ruby/test_object.rb, test/ruby/test_pack.rb, test/ruby/test_rand.rb, test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb, test/ruby/test_struct.rb, test/ruby/test_thread.rb, test/ruby/test_time.rb: remove tests for $SAFE=4. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent.kou2013-06-101-2/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing returnkou2013-06-101-1/+1
| | | | | | | value assignment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntunaruse2013-06-101-1/+10
| | | | | | 13.04's getaddrinfo issue with mdns4. [ruby-list:49420] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: rename functions introduced in r41009naruse2013-06-021-31/+28
| | | | | | | | s/ip/ipv4/g because they are ipv4 functions. (there's a policy that the name "ip" is for methods which supports both ipv4 and ipv6) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c (inspect_byte): used only on NetBSD.nobu2013-05-311-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e