1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/socket
nagachika 667af1ee31 merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r45152: [Backport #9525]
* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.

	* ext/socket: Bypass getaddrinfo() if node and serv are numeric.
	  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.

	* ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc.
	  Suggested by Eric Wong.
	  https://bugs.ruby-lang.org/issues/9525#note-14

	* ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of
	  MEMZERO is type.  Coverity Scan found this bug.

	* include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a
	  wrapper function for inet_pton minimum supported client is
	  Vista, as well as inet_ntop.

	* ext/socket/option.c (inet_pton): use rb_w32_inet_pton, instead of
	  inet_ntop directly, which is unavailable on older version Windows.

	* ext/socket/raddrinfo.c (inet_pton): use rb_w32_inet_pton, instead of
	  inet_pton directly, which is unavailable on older version Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-05 15:14:23 +00:00
..
lib * ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because 2013-12-13 16:11:12 +00:00
.document * ext/socket/.document: Add ifaddr.c. 2013-05-14 14:48:00 +00:00
addrinfo.h * ext/**/*.[ch]: removed trailing spaces. 2010-04-22 08:04:13 +00:00
ancdata.c merge revision(s) 45066: [Backport #9545] [Backport #9550] 2014-02-22 07:19:41 +00:00
basicsocket.c * safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError 2013-06-12 14:20:51 +00:00
constants.c constants.c: fix macro name 2013-04-08 15:28:43 +00:00
depend Fix a dependency. 2013-05-16 10:29:05 +00:00
extconf.rb merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r45152: [Backport #9525] 2014-09-05 15:14:23 +00:00
getaddrinfo.c {getaddrinfo,getnameinfo}.c: fix for old platforms 2013-05-03 04:35:37 +00:00
getnameinfo.c {getaddrinfo,getnameinfo}.c: fix for old platforms 2013-05-03 04:35:37 +00:00
ifaddr.c * ext/socket/ifaddr.c (rsock_getifaddrs): fix possible memory leak. 2013-10-02 12:41:28 +00:00
init.c merge revision(s) 45084: [Backport #9547] 2014-02-22 10:03:49 +00:00
ipsocket.c merge revision(s) r45045,r45046,r45530: [Backport #9697] 2014-05-22 15:24:30 +00:00
mkconstants.rb * ext/socket/mkconstants.rb: define MSG_FASTOPEN. 2013-09-15 15:48:38 +00:00
option.c merge revision(s) 44638: [Backport #9350] 2014-02-20 01:56:10 +00:00
raddrinfo.c merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r45152: [Backport #9525] 2014-09-05 15:14:23 +00:00
rubysocket.h merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r45152: [Backport #9525] 2014-09-05 15:14:23 +00:00
socket.c merge revision(s) r45045,r45046,r45530: [Backport #9697] 2014-05-22 15:24:30 +00:00
sockport.h merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r45152: [Backport #9525] 2014-09-05 15:14:23 +00:00
sockssocket.c * ext/socket: Make Socket documentation appear. Add documentation for 2011-08-15 23:08:39 +00:00
tcpserver.c * ext/socket/unixserver.c: [DOC] Document #accept 2013-08-19 16:54:59 +00:00
tcpsocket.c socket: ai_addrlen is socklen_t 2013-02-15 07:54:38 +00:00
udpsocket.c merge revision(s) r45045,r45046,r45530: [Backport #9697] 2014-05-22 15:24:30 +00:00
unixserver.c * ext/socket/unixserver.c: [DOC] Document #accept 2013-08-19 16:54:59 +00:00
unixsocket.c * file.c, ext/etc/etc.c, ext/socket/unixsocket.c, 2013-05-09 12:12:17 +00:00