<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/src/network, branch v1.1.2</title>
<subtitle>musl - an implementation of the standard library for Linux-based systems</subtitle>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/'/>
<entry>
<title>optimize SOCK_CLOEXEC fallback for socket function</title>
<updated>2014-06-06T19:30:28+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-06T19:30:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=1cacc01dc0623ac6443e19580222331812bddbbc'/>
<id>1cacc01dc0623ac6443e19580222331812bddbbc</id>
<content type='text'>
the fcntl function is heavy, so make the syscall directly instead.
also, avoid the code size and runtime overhead of querying the old
flags, since it's reasonable to assume nothing will be set on a
newly-created socket. this code is only used on old kernels which lack
proper atomic close-on-exec support, so future changes that might
invalidate such an assumption do not need to be considered.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the fcntl function is heavy, so make the syscall directly instead.
also, avoid the code size and runtime overhead of querying the old
flags, since it's reasonable to assume nothing will be set on a
newly-created socket. this code is only used on old kernels which lack
proper atomic close-on-exec support, so future changes that might
invalidate such an assumption do not need to be considered.
</pre>
</div>
</content>
</entry>
<entry>
<title>add SOCK_CLOEXEC fallback for socketpair on old kernels</title>
<updated>2014-06-06T19:29:00+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-06T19:29:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=1d348566e6ab446d9c452b1b93aede74368b6618'/>
<id>1d348566e6ab446d9c452b1b93aede74368b6618</id>
<content type='text'>
as usual, this is non-atomic, but better than producing an error or
failing to set the close-on-exec flag at all.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
as usual, this is non-atomic, but better than producing an error or
failing to set the close-on-exec flag at all.
</pre>
</div>
</content>
</entry>
<entry>
<title>implement dn_comp RFC 1035 domain name compression</title>
<updated>2014-06-06T18:44:54+00:00</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2014-06-06T18:44:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=abce3156399f30d9b16e198af62af7f7c33fcbe0'/>
<id>abce3156399f30d9b16e198af62af7f7c33fcbe0</id>
<content type='text'>
the input name is validated, the other parameters are assumed to be
valid (the list of already compressed names are not checked for
infinite reference loops or out-of-bound offsets).

names are handled case-sensitively for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the input name is validated, the other parameters are assumed to be
valid (the list of already compressed names are not checked for
infinite reference loops or out-of-bound offsets).

names are handled case-sensitively for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>accept trailing . and empty domain names</title>
<updated>2014-06-06T18:41:15+00:00</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2014-06-06T17:20:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=07355f503a9b0a3ab7a051e2931499a4c5898b15'/>
<id>07355f503a9b0a3ab7a051e2931499a4c5898b15</id>
<content type='text'>
trailing . should be accepted in domain name strings by convention
(RFC 1034), host name lookup accepts "." but rejects empty "", res_*
interfaces also accept empty name following existing practice.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
trailing . should be accepted in domain name strings by convention
(RFC 1034), host name lookup accepts "." but rejects empty "", res_*
interfaces also accept empty name following existing practice.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix the domain name length limit checks</title>
<updated>2014-06-05T21:06:37+00:00</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2014-06-05T20:52:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=2abb70c302efe46dfd8fd9e1d64fa00f1376f428'/>
<id>2abb70c302efe46dfd8fd9e1d64fa00f1376f428</id>
<content type='text'>
A domain name is at most 255 bytes long (RFC 1035), but the string
representation is two bytes smaller so the strlen maximum is 253.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A domain name is at most 255 bytes long (RFC 1035), but the string
representation is two bytes smaller so the strlen maximum is 253.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix multiple validation issues in dns response label parsing</title>
<updated>2014-06-05T21:01:46+00:00</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2014-06-05T20:32:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=b3d9e0b94ea73c68ef4169ec82c898ce59a4e30a'/>
<id>b3d9e0b94ea73c68ef4169ec82c898ce59a4e30a</id>
<content type='text'>
Due to an error introduced in commit fcc522c92335783293ac19df318415cd97fbf66b,
checking of the remaining output buffer space was not performed correctly,
allowing malformed input to write past the end of the buffer.

In addition, the loop detection logic failed to account for the possibility
of infinite loops with no output, which would hang the function.

The output size is now limited more strictly so only names with valid length
are accepted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to an error introduced in commit fcc522c92335783293ac19df318415cd97fbf66b,
checking of the remaining output buffer space was not performed correctly,
allowing malformed input to write past the end of the buffer.

In addition, the loop detection logic failed to account for the possibility
of infinite loops with no output, which would hang the function.

The output size is now limited more strictly so only names with valid length
are accepted.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix missing function declarations in refactored ip literal parsing code</title>
<updated>2014-06-05T19:55:20+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-05T19:55:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=7e222f46a832cc7c148c376084c69d7493b11d6c'/>
<id>7e222f46a832cc7c148c376084c69d7493b11d6c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add support for reverse port lookups from services file to getnameinfo</title>
<updated>2014-06-04T23:33:20+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-04T23:33:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=fde3c29de461253c1d814e462a2b8ae5f694583a'/>
<id>fde3c29de461253c1d814e462a2b8ae5f694583a</id>
<content type='text'>
this also affects the legacy getservbyport family, which uses
getnameinfo as its backend.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this also affects the legacy getservbyport family, which uses
getnameinfo as its backend.
</pre>
</div>
</content>
</entry>
<entry>
<title>add support for reverse name lookups from hosts file to getnameinfo</title>
<updated>2014-06-04T20:53:39+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-04T20:53:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=01dc3f4fea73e4df31cc3e3bb1cd5580fc0d7938'/>
<id>01dc3f4fea73e4df31cc3e3bb1cd5580fc0d7938</id>
<content type='text'>
this also affects the legacy gethostbyaddr family, which uses
getnameinfo as its backend.

some other minor changes associated with the refactoring of source
files are also made; in particular, the resolv.conf parser now uses
the same code that's used elsewhere to handle ip literals, so as a
side effect it can now accept a scope id for nameserver addressed with
link-local scope.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this also affects the legacy gethostbyaddr family, which uses
getnameinfo as its backend.

some other minor changes associated with the refactoring of source
files are also made; in particular, the resolv.conf parser now uses
the same code that's used elsewhere to handle ip literals, so as a
side effect it can now accept a scope id for nameserver addressed with
link-local scope.
</pre>
</div>
</content>
</entry>
<entry>
<title>remove some dummy "ent" function aliases that duplicated real ones</title>
<updated>2014-06-04T08:39:34+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-04T08:39:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=934aa1350b96461f205ad69c95e8f6f035f6b62c'/>
<id>934aa1350b96461f205ad69c95e8f6f035f6b62c</id>
<content type='text'>
the service and protocol functions are defined also in other files,
and the protocol ones are actually non-nops elsewhere, so the weak
definitions in ent.c could have prevented the strong definitions from
getting pulled in and used in some static programs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the service and protocol functions are defined also in other files,
and the protocol ones are actually non-nops elsewhere, so the weak
definitions in ent.c could have prevented the strong definitions from
getting pulled in and used in some static programs.
</pre>
</div>
</content>
</entry>
</feed>
