<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/socket, branch v3_3_11</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) beb85e7eeee4163cd45b69645a60cdb942f72c05: [Backport #21705]</title>
<updated>2025-11-30T01:36:56+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-11-30T01:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1974ccabbfdc73e78e758a6ad7ea8542e2119432'/>
<id>1974ccabbfdc73e78e758a6ad7ea8542e2119432</id>
<content type='text'>
	[PATCH] [Bug #21705] Fix segfaults on Windows

	It should check the type of the argument and coercion before
	converting the encoding.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21705] Fix segfaults on Windows

	It should check the type of the argument and coercion before
	converting the encoding.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #20208] Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoi… (#9791)</title>
<updated>2024-03-14T16:27:05+00:00</updated>
<author>
<name>KJ Tsanaktsidis</name>
<email>kj@kjtsanaktsidis.id.au</email>
</author>
<published>2024-03-14T16:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=606dd03e9b0d4cf65ef56e52fab063e3ed5ef797'/>
<id>606dd03e9b0d4cf65ef56e52fab063e3ed5ef797</id>
<content type='text'>
Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"

This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"

This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440.</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent a warning: assigned but unused variable - status</title>
<updated>2023-12-12T01:31:37+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2023-12-12T01:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=73b43fffa163e11ce9e7e8880631acb870ac1695'/>
<id>73b43fffa163e11ce9e7e8880631acb870ac1695</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>always omit test_ai_addrconfig.</title>
<updated>2023-12-07T09:28:47+00:00</updated>
<author>
<name>Tanaka Akira</name>
<email>akr@fsij.org</email>
</author>
<published>2023-12-07T09:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=abf192eb16ea845ac11743a32bd2f3e2d234488b'/>
<id>abf192eb16ea845ac11743a32bd2f3e2d234488b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns (#7295)</title>
<updated>2023-12-07T08:55:15+00:00</updated>
<author>
<name>KJ Tsanaktsidis</name>
<email>kj@kjtsanaktsidis.id.au</email>
</author>
<published>2023-12-07T08:55:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d2ba8ea54a4089959afdeecdd963e3c4ff391748'/>
<id>d2ba8ea54a4089959afdeecdd963e3c4ff391748</id>
<content type='text'>
When making an outgoing TCP or UDP connection, set AI_ADDRCONFIG in the
hints we send to getaddrinfo(3) (if supported). This will prompt the
resolver to _NOT_ issue A or AAAA queries if the system does not
actually have an IPv4 or IPv6 address (respectively).

This makes outgoing connections marginally more efficient on
non-dual-stack systems, since we don't have to try connecting to an
address which can't possibly work.

More importantly, however, this works around a race condition present
in some older versions of glibc on aarch64 where it could accidently
send the two outgoing DNS queries with the same DNS txnid, and get
confused when receiving the responses. This manifests as outgoing
connections sometimes taking 5 seconds (the DNS timeout before retry) to
be made.

Fixes #19144</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When making an outgoing TCP or UDP connection, set AI_ADDRCONFIG in the
hints we send to getaddrinfo(3) (if supported). This will prompt the
resolver to _NOT_ issue A or AAAA queries if the system does not
actually have an IPv4 or IPv6 address (respectively).

This makes outgoing connections marginally more efficient on
non-dual-stack systems, since we don't have to try connecting to an
address which can't possibly work.

More importantly, however, this works around a race condition present
in some older versions of glibc on aarch64 where it could accidently
send the two outgoing DNS queries with the same DNS txnid, and get
confused when receiving the responses. This manifests as outgoing
connections sometimes taking 5 seconds (the DNS timeout before retry) to
be made.

Fixes #19144</pre>
</div>
</content>
</entry>
<entry>
<title>Fixup with review comment</title>
<updated>2023-12-01T03:20:03+00:00</updated>
<author>
<name>Misaki Shioi</name>
<email>shioi.mm@gmail.com</email>
</author>
<published>2023-12-01T01:23:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=52c2660163240a494b65eb9942c3978896ed807b'/>
<id>52c2660163240a494b65eb9942c3978896ed807b</id>
<content type='text'>
https://github.com/ruby/ruby/pull/9088#discussion_r1411490445
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/ruby/pull/9088#discussion_r1411490445
</pre>
</div>
</content>
</entry>
<entry>
<title>Relax test conditions to velify Socket::ResolutionError#error_code</title>
<updated>2023-12-01T03:20:03+00:00</updated>
<author>
<name>Misaki Shioi</name>
<email>shioi.mm@gmail.com</email>
</author>
<published>2023-12-01T00:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1bfd30a1e3fa2c1d2729667ed698b7c604c2a1bd'/>
<id>1bfd30a1e3fa2c1d2729667ed698b7c604c2a1bd</id>
<content type='text'>
The test for Socket::ResolutionError#error_code fails in the FreeBSD environment with this test condition. Because Socket::ResolutionError#error_code returns Socket::EAI_FAIL instead of Socket::EAI_FAMILY.

https://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20231130T103002Z.fail.html.gz

This PR avoids the test failure by relaxing the condition.

Also changed the domain for testing to `example.com`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The test for Socket::ResolutionError#error_code fails in the FreeBSD environment with this test condition. Because Socket::ResolutionError#error_code returns Socket::EAI_FAIL instead of Socket::EAI_FAMILY.

https://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20231130T103002Z.fail.html.gz

This PR avoids the test failure by relaxing the condition.

Also changed the domain for testing to `example.com`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Skip test_resolurion_error_error_code with FreeBSD environment</title>
<updated>2023-11-30T11:17:27+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-11-30T11:17:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=722cb9a56d091a10fd6ff9eddfcc7773f06a393e'/>
<id>722cb9a56d091a10fd6ff9eddfcc7773f06a393e</id>
<content type='text'>
  https://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20231130T103002Z.fail.html.gz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  https://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20231130T103002Z.fail.html.gz
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the argument order</title>
<updated>2023-11-30T04:36:11+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-11-30T04:36:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e6d4441618161397610088192c65b42f217d4e38'/>
<id>e6d4441618161397610088192c65b42f217d4e38</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace SocketError with Socket::ResolutionError in rsock_raise_socket_error</title>
<updated>2023-11-30T04:27:19+00:00</updated>
<author>
<name>Misaki Shioi</name>
<email>shioi.mm@gmail.com</email>
</author>
<published>2023-11-23T07:49:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=52f6de41961d511e82826d6266441d91a92dcd59'/>
<id>52f6de41961d511e82826d6266441d91a92dcd59</id>
<content type='text'>
rsock_raise_socket_error is called only when getaddrinfo and getaddrname fail
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rsock_raise_socket_error is called only when getaddrinfo and getaddrname fail
</pre>
</div>
</content>
</entry>
</feed>
