<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/net/getaddrinfo.c, branch release/5.3.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-11-04T19:12:42+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-11-04T19:12:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3f86d8a2ea3f3265afaa1fd263b0004c5c000e69'/>
<id>3f86d8a2ea3f3265afaa1fd263b0004c5c000e69</id>
<content type='text'>
'RELENG_5_3_0_RELEASE'.

This commit was manufactured to restore the state of the 5.3-RELEASE image.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_5_3_0_RELEASE'.

This commit was manufactured to restore the state of the 5.3-RELEASE image.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename variable name from `name' to `hostname'.</title>
<updated>2004-06-16T16:41:23+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2004-06-16T16:41:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a214cd1abd9cb1968995eb44bff474f4807f65bb'/>
<id>a214cd1abd9cb1968995eb44bff474f4807f65bb</id>
<content type='text'>
This is a corresponding change to bin/67994.  I'll soon commit
bin/67994 into 4-STABLE.  Actually, 5-CURRENT's getaddrinfo()
doesn't have the problem mentiond in bin/67994.  However, it is
good to be in sync variable name with 4-STABLE and KAME.

PR:		bin/67994
Submitted by:	JINMEI Tatuya &lt;jinmei@ocean.jinmei.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a corresponding change to bin/67994.  I'll soon commit
bin/67994 into 4-STABLE.  Actually, 5-CURRENT's getaddrinfo()
doesn't have the problem mentiond in bin/67994.  However, it is
good to be in sync variable name with 4-STABLE and KAME.

PR:		bin/67994
Submitted by:	JINMEI Tatuya &lt;jinmei@ocean.jinmei.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Treat IPv4 private address as global scope rather than site scope.</title>
<updated>2004-05-31T21:09:14+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2004-05-31T21:09:14+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=251b48a1bbe550c16e4ef6d2e73060018b4b8b40'/>
<id>251b48a1bbe550c16e4ef6d2e73060018b4b8b40</id>
<content type='text'>
Though it breaks RFC 3484, without this change, dest addr selection
doesn't work well under NAT environment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Though it breaks RFC 3484, without this change, dest addr selection
doesn't work well under NAT environment.
</pre>
</div>
</content>
</entry>
<entry>
<title>use source address as a hint to determine destination address.</title>
<updated>2004-05-31T19:27:54+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2004-05-31T19:27:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4d489f472bd9574d8ab26a1a24c81d44634155e2'/>
<id>4d489f472bd9574d8ab26a1a24c81d44634155e2</id>
<content type='text'>
Obtained from:	KAME
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Obtained from:	KAME
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the resolver(3) and many associated interfaces much more reentrant.</title>
<updated>2004-02-25T21:03:46+00:00</updated>
<author>
<name>Brian Feldman</name>
<email>green@FreeBSD.org</email>
</author>
<published>2004-02-25T21:03:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=33dee819339974eaf7dbf69068001771cbdcd548'/>
<id>33dee819339974eaf7dbf69068001771cbdcd548</id>
<content type='text'>
The getaddrinfo(3), getipnodebyname(3) and resolver(3) can coincide now
with what should be totally reentrant, and h_errno values will now
be preserved correctly, but this does not affect interfaces such as
gethostbyname(3) which are still mostly non-reentrant.

In all of these relevant functions, the thread-safety has been pushed
down as far as it seems possible right now.  This means that operations
that are selected via nsdispatch(3) (i.e. files, yp, dns) are protected
still under global locks that getaddrinfo(3) defines, but where possible
the locking is greatly reduced.  The most noticeable improvement is
that multiple DNS lookups can now be run at the same time, and this
shows major improvement in performance of DNS-lookup threaded programs,
and solves the "Mozilla tab serialization" problem.

No single-threaded applications need to be recompiled.  Multi-threaded
applications that reference "_res" to change resolver(3) options will
need to be recompiled, and ones which reference "h_errno" will also
if they desire the correct h_errno values.  If the applications already
understood that _res and h_errno were not thread-safe and had their own
locking, they will see no performance improvement but will not
actually break in any way.

Please note that when NSS modules are used, or when nsdispatch(3)
defaults to adding any lookups of its own to the individual libc
_nsdispatch() calls, those MUST be reentrant as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The getaddrinfo(3), getipnodebyname(3) and resolver(3) can coincide now
with what should be totally reentrant, and h_errno values will now
be preserved correctly, but this does not affect interfaces such as
gethostbyname(3) which are still mostly non-reentrant.

In all of these relevant functions, the thread-safety has been pushed
down as far as it seems possible right now.  This means that operations
that are selected via nsdispatch(3) (i.e. files, yp, dns) are protected
still under global locks that getaddrinfo(3) defines, but where possible
the locking is greatly reduced.  The most noticeable improvement is
that multiple DNS lookups can now be run at the same time, and this
shows major improvement in performance of DNS-lookup threaded programs,
and solves the "Mozilla tab serialization" problem.

No single-threaded applications need to be recompiled.  Multi-threaded
applications that reference "_res" to change resolver(3) options will
need to be recompiled, and ones which reference "h_errno" will also
if they desire the correct h_errno values.  If the applications already
understood that _res and h_errno were not thread-safe and had their own
locking, they will see no performance improvement but will not
actually break in any way.

Please note that when NSS modules are used, or when nsdispatch(3)
defaults to adding any lookups of its own to the individual libc
_nsdispatch() calls, those MUST be reentrant as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>add destination address selection described in RFC3484.</title>
<updated>2003-10-30T17:36:53+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2003-10-30T17:36:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4c6867a867ad07908c0b7f43788412b49cc26447'/>
<id>4c6867a867ad07908c0b7f43788412b49cc26447</id>
<content type='text'>
in KAME implementation, even when no policy is installed
into kernel, getaddrinfo(3) sorts addresses.  Since it
causes POLA violation, I modified to don't sort addresses
when no policy is installed into kernel,

Obtained from:	KAME
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
in KAME implementation, even when no policy is installed
into kernel, getaddrinfo(3) sorts addresses.  Since it
causes POLA violation, I modified to don't sort addresses
when no policy is installed into kernel,

Obtained from:	KAME
</pre>
</div>
</content>
</entry>
<entry>
<title>oops, revert previous change to getaddrinfo.c.  This is not related</title>
<updated>2003-10-24T18:43:24+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2003-10-24T18:43:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=bf838688af9fcabe2534cdb07e6dd18b87be0cbf'/>
<id>bf838688af9fcabe2534cdb07e6dd18b87be0cbf</id>
<content type='text'>
to RFC3493.  The previous change was related to RFC3484 (Default
Address Selection for IPv6), and it will come later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to RFC3493.  The previous change was related to RFC3484 (Default
Address Selection for IPv6), and it will come later.
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch Advanced Sockets API for IPv6 from RFC2292 to RFC3542</title>
<updated>2003-10-24T18:26:30+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2003-10-24T18:26:30+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f95d46333db63ce9df4e8a2ca8c5c09bc0edfe72'/>
<id>f95d46333db63ce9df4e8a2ca8c5c09bc0edfe72</id>
<content type='text'>
(aka RFC2292bis).  Though I believe this commit doesn't break
backward compatibility againt existing binaries, it breaks
backward compatibility of API.
Now, the applications which use Advanced Sockets API such as
telnet, ping6, mld6query and traceroute6 use RFC3542 API.

Obtained from:	KAME
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(aka RFC2292bis).  Though I believe this commit doesn't break
backward compatibility againt existing binaries, it breaks
backward compatibility of API.
Now, the applications which use Advanced Sockets API such as
telnet, ping6, mld6query and traceroute6 use RFC3542 API.

Obtained from:	KAME
</pre>
</div>
</content>
</entry>
<entry>
<title>reorder functions to be in sync with KAME.</title>
<updated>2003-10-23T14:32:03+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2003-10-23T14:32:03+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=688a5c3ea3061d3de40f52ee35559bc1712eb130'/>
<id>688a5c3ea3061d3de40f52ee35559bc1712eb130</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>EAI_ADDRFAMILY and EAI_NODATA was deprecated in RFC3493</title>
<updated>2003-10-23T13:55:36+00:00</updated>
<author>
<name>Hajimu UMEMOTO</name>
<email>ume@FreeBSD.org</email>
</author>
<published>2003-10-23T13:55:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=37b3e941672a71200ddbfabe3e19aff7b5ed73f8'/>
<id>37b3e941672a71200ddbfabe3e19aff7b5ed73f8</id>
<content type='text'>
(aka RFC2553bis).  Now, getaddrinfo(3) returns EAI_NONAME
instead of EAI_NODATA.  Our getaddrinfo(3) nor getnameinfo(3)
didn't use EAI_ADDRFAMILY.

Obtained from:	KAME
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(aka RFC2553bis).  Now, getaddrinfo(3) returns EAI_NONAME
instead of EAI_NODATA.  Our getaddrinfo(3) nor getnameinfo(3)
didn't use EAI_ADDRFAMILY.

Obtained from:	KAME
</pre>
</div>
</content>
</entry>
</feed>
