<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/src/network, branch v1.0.3</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>fix multiple validation issues in dns response label parsing</title>
<updated>2014-06-06T21:57:37+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=309cfa4f2c3a5596a024d0bff7bba326382884b4'/>
<id>309cfa4f2c3a5596a024d0bff7bba326382884b4</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.

(cherry picked from commit b3d9e0b94ea73c68ef4169ec82c898ce59a4e30a)
</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.

(cherry picked from commit b3d9e0b94ea73c68ef4169ec82c898ce59a4e30a)
</pre>
</div>
</content>
</entry>
<entry>
<title>remove some dummy "ent" function aliases that duplicated real ones</title>
<updated>2014-06-06T21:57:36+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=8daa49cdfd5c74fb8edf931394be11c62b915e52'/>
<id>8daa49cdfd5c74fb8edf931394be11c62b915e52</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.

(cherry picked from commit 934aa1350b96461f205ad69c95e8f6f035f6b62c)
</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.

(cherry picked from commit 934aa1350b96461f205ad69c95e8f6f035f6b62c)
</pre>
</div>
</content>
</entry>
<entry>
<title>fix if_nametoindex return value when interface does not exist</title>
<updated>2014-06-06T21:57:36+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-06-03T21:53:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=f8b5cc8a7e7482560f1b781d43a271c496a6d55c'/>
<id>f8b5cc8a7e7482560f1b781d43a271c496a6d55c</id>
<content type='text'>
the return value is unsigned, so negative results for "errors" do not
make sense; 0 is the value reserved for when the interface name does
not exist.

(cherry picked from commit 8041af59881219c32267c3491bee43591d3c3fe6)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the return value is unsigned, so negative results for "errors" do not
make sense; 0 is the value reserved for when the interface name does
not exist.

(cherry picked from commit 8041af59881219c32267c3491bee43591d3c3fe6)
</pre>
</div>
</content>
</entry>
<entry>
<title>add fallback emulation for accept4 on old kernels</title>
<updated>2014-02-22T03:25:26+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-02-22T03:25:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=dc01e2cbfb290198c03514fe51ed32c1098b774f'/>
<id>dc01e2cbfb290198c03514fe51ed32c1098b774f</id>
<content type='text'>
the other atomic FD_CLOEXEC interfaces (dup3, pipe2, socket) already
had such emulation in place. the justification for doing the emulation
here is the same as for the other functions: it allows applications to
simply use accept4 rather than having to have their own fallback code
for ENOSYS/EINVAL (which one you get is arch-specific!) and there is
no reasonable way an application could benefit from knowing the
operation is emulated/non-atomic since there is no workaround at the
application level for non-atomicity (that is the whole reason these
interfaces were added).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the other atomic FD_CLOEXEC interfaces (dup3, pipe2, socket) already
had such emulation in place. the justification for doing the emulation
here is the same as for the other functions: it allows applications to
simply use accept4 rather than having to have their own fallback code
for ENOSYS/EINVAL (which one you get is arch-specific!) and there is
no reasonable way an application could benefit from knowing the
operation is emulated/non-atomic since there is no workaround at the
application level for non-atomicity (that is the whole reason these
interfaces were added).
</pre>
</div>
</content>
</entry>
<entry>
<title>add ipv6 and icmpv6 to getprotoent-family functions</title>
<updated>2014-02-13T17:27:40+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-02-13T17:27:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=3e02ce1b411306fb3cbf0194662bec667fed1008'/>
<id>3e02ce1b411306fb3cbf0194662bec667fed1008</id>
<content type='text'>
based on patch by orc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
based on patch by orc.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix typo in table for getprotoent that caused out-of-bound reads</title>
<updated>2014-02-13T17:24:40+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-02-13T17:24:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=eb375ef795a7e810a24d8b45c680be365a402a91'/>
<id>eb375ef795a7e810a24d8b45c680be365a402a91</id>
<content type='text'>
this was unlikely to lead to any crash or dangerous behavior, but
caused adjacent string constants to be treated as part of the
protocols table, possibly returning nonsensical results for unknown
protocol names/numbers or when getprotoent was called in a loop to
enumerate all protocols.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this was unlikely to lead to any crash or dangerous behavior, but
caused adjacent string constants to be treated as part of the
protocols table, possibly returning nonsensical results for unknown
protocol names/numbers or when getprotoent was called in a loop to
enumerate all protocols.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix argument types for legacy function inet_makeaddr</title>
<updated>2014-01-07T03:17:24+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2014-01-07T03:17:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=dbe221ecff2dd8a3d4d005d80b81064e156f8f4a'/>
<id>dbe221ecff2dd8a3d4d005d80b81064e156f8f4a</id>
<content type='text'>
the type int was taken from seemingly erroneous man pages. glibc uses
in_addr_t (uint32_t), and semantically, the arguments should be
unsigned.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the type int was taken from seemingly erroneous man pages. glibc uses
in_addr_t (uint32_t), and semantically, the arguments should be
unsigned.
</pre>
</div>
</content>
</entry>
<entry>
<title>implement legacy function herror</title>
<updated>2013-12-20T16:56:16+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2013-12-20T16:56:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=18144af297e7aa3a0f121262dba569446de6191a'/>
<id>18144af297e7aa3a0f121262dba569446de6191a</id>
<content type='text'>
based on patch by Timo Teräs; greatly simplified to use fprintf.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
based on patch by Timo Teräs; greatly simplified to use fprintf.
</pre>
</div>
</content>
</entry>
<entry>
<title>include cleanups: remove unused headers and add feature test macros</title>
<updated>2013-12-12T05:09:18+00:00</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2013-12-12T05:09:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=571744447c23f91feb6439948f3a619aca850dfb'/>
<id>571744447c23f91feb6439948f3a619aca850dfb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>remove an unnecessary check in inet_pton</title>
<updated>2013-12-12T04:18:34+00:00</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2013-12-12T04:18:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=ac45692a53a1b8d2ede329d91652d43c1fb5dc8d'/>
<id>ac45692a53a1b8d2ede329d91652d43c1fb5dc8d</id>
<content type='text'>
at most 4 hexadecimal digits are processed in one field so the
value cannot overflow. the netdb.h header was not used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
at most 4 hexadecimal digits are processed in one field so the
value cannot overflow. the netdb.h header was not used.
</pre>
</div>
</content>
</entry>
</feed>
