<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/ext/socket, branch v2_1_7</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 44497: [Backport #11441]</title>
<updated>2015-08-17T08:50:03+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-08-17T08:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=445954a4bb610229af80380e6f2d26537b3d26a9'/>
<id>445954a4bb610229af80380e6f2d26537b3d26a9</id>
<content type='text'>
	* 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/branches/ruby_2_1@51612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* 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/branches/ruby_2_1@51612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 50685: [Backport #11198]</title>
<updated>2015-06-09T07:31:14+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-06-09T07:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f2016423a6e52b0b779265151b27361aeefedd54'/>
<id>f2016423a6e52b0b779265151b27361aeefedd54</id>
<content type='text'>
	* ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile
	  [ruby-core:69419] [Feature #11198]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile
	  [ruby-core:69419] [Feature #11198]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 50449: [Backport #11123]</title>
<updated>2015-05-21T05:16:26+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-05-21T05:16:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3a312317e68a8365edbd71cda5729c3d08d27bbb'/>
<id>3a312317e68a8365edbd71cda5729c3d08d27bbb</id>
<content type='text'>
	* ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard
	  [Bug #11123]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard
	  [Bug #11123]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 50404,50405: [Backport #10975]</title>
<updated>2015-05-21T04:59:03+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-05-21T04:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ad70c73ccb29e45f0530633e94cdea37da4fac17'/>
<id>ad70c73ccb29e45f0530633e94cdea37da4fac17</id>
<content type='text'>
	* ext/socket/ipsocket.c (init_inetsock_internal): preserve errno
	  before other library calls and use rb_syserr_fail.
	  [ruby-core:68531] [Bug #10975]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/ipsocket.c (init_inetsock_internal): preserve errno
	  before other library calls and use rb_syserr_fail.
	  [ruby-core:68531] [Bug #10975]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 50187,50202: [Backport #11051]</title>
<updated>2015-05-21T04:26:32+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-05-21T04:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e358e2f89964ed1950d64d040218cd80add26b72'/>
<id>e358e2f89964ed1950d64d040218cd80add26b72</id>
<content type='text'>
	* ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of
	  addrinfo.  [ruby-dev:48923] [Bug #11051]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of
	  addrinfo.  [ruby-dev:48923] [Bug #11051]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r49543,r49557: [Backport #10854]</title>
<updated>2015-02-14T22:36:43+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-02-14T22:36:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8e210f995f37222facee57555996c205fb4fe390'/>
<id>8e210f995f37222facee57555996c205fb4fe390</id>
<content type='text'>
	* ext/socket/getaddrinfo.c (get_addr): reject too long hostname to
	  get rid of GHOST vulnerability on very old platforms.

	* ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic
	  check for the canonnical name.
	  check for the canonical name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/getaddrinfo.c (get_addr): reject too long hostname to
	  get rid of GHOST vulnerability on very old platforms.

	* ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic
	  check for the canonnical name.
	  check for the canonical name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r45152: [Backport #9525]</title>
<updated>2014-09-05T15:14:23+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-09-05T15:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=667af1ee3149ba51a5559a3db3d1fc52fda06bed'/>
<id>667af1ee3149ba51a5559a3db3d1fc52fda06bed</id>
<content type='text'>
	* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45045,r45046,r45530: [Backport #9697]</title>
<updated>2014-05-22T15:24:30+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-05-22T15:24:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e60ec9551caa0c715b389bf94b46be93d47b7f5c'/>
<id>e60ec9551caa0c715b389bf94b46be93d47b7f5c</id>
<content type='text'>
	* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

	* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.

	* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
	  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/branches/ruby_2_1@46054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

	* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.

	* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
	  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/branches/ruby_2_1@46054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 45084: [Backport #9547]</title>
<updated>2014-02-22T10:03:49+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T10:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3aa457ce139a2698a7c1c22e7d928f1325830cf9'/>
<id>3aa457ce139a2698a7c1c22e7d928f1325830cf9</id>
<content type='text'>
	* ext/socket/init.c (wait_connectable): break if the socket is
	  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/branches/ruby_2_1@45129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/init.c (wait_connectable): break if the socket is
	  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/branches/ruby_2_1@45129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 45066: [Backport #9545] [Backport #9550]</title>
<updated>2014-02-22T07:19:41+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T07:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d439b3b1d9fd12c217d04f94b09027cf6014281b'/>
<id>d439b3b1d9fd12c217d04f94b09027cf6014281b</id>
<content type='text'>
	* 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/branches/ruby_2_1@45120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* 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/branches/ruby_2_1@45120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
