Commit Graph
22 Commits
Author SHA1 Message Date
Timo TeräsandRich Felker 6a5242e4cb make protocol table zero byte separated and add ipv6 protocols 2015-02-10 16:54:33 -05:00
Timo TeräsandRich Felker be1f67ab6f add arm private syscall numbers
it is part of kernel uapi, and some programs (e.g. nodejs) do use them
2014-12-03 09:50:35 -05:00
Timo TeräsandRich Felker 0a24be213a make endmntent function handle null argument
The function originates from SunOS 4.x in which the null argument
is allowed. glibc also handles this case.
2014-08-08 00:45:10 -04:00
Timo TeräsandRich Felker 08e4052c43 reimplement if_nameindex and getifaddrs using netlink
the previous implementations had several deficiencies, the most severe
of which was the inability to report unconfigured interfaces or
interfaces without ipv4 addresses. among the options discussed for
fixing this, using netlink turned out to be the one with the least
cost and most additional advantages. other improvements include:

if_nameindex now avoids duplicates in the list it produces, but still
includes legacy-style interface aliases if any are in use.

getifaddrs now reports hardware addresses and includes the scope_id
for link-local ipv6 addresses in the resulting address.
2014-07-29 20:57:31 -04:00
Timo TeräsandRich Felker 5abfd55d6e add routing protocols to getprotoent-family functions
iptables and quagga need them to work.
2014-06-24 17:39:31 -04:00
Timo TeräsandRich Felker fe82bb9b92 fix gethostby*_r result pointer value on error
according to the documentation in the man pages, the GNU extension
functions gethostbyaddr_r, gethostbyname_r and gethostbyname2_r are
guaranteed to set the result pointer to NULL in case of error or no
result.
2014-06-20 09:17:57 -04:00
Timo TeräsandRich Felker 348fc5561c implement %y and %C specifiers in strptime 2014-06-06 17:41:12 -04:00
Timo TeräsandRich Felker 1871f583f4 add ipsec and tunneling protocols to getprotoent-family functions
iptables and ipsec-tools among others require these to function
properly.
2014-06-02 01:44:47 -04:00
Timo TeräsandRich Felker 0f2315b4af do not try to interpret implementation specific strings as tz definition 2014-04-22 16:45:58 -04:00
Timo TeräsandRich Felker fbeadd150f make socketcall types common as they are same for all architectures 2014-04-17 14:53:27 -04:00
Timo TeräsandRich Felker 6fbdeff0e5 fix search past the end of haystack in memmem
to optimize the search, memchr is used to find the first occurrence of
the first character of the needle in the haystack before switching to
a search for the full needle. however, the number of characters
skipped by this first step were not subtracted from the haystack
length, causing memmem to search past the end of the haystack.
2014-04-09 21:06:17 -04:00
Timo TeräsandRich Felker 2b74315d8a remove lazy ssp initialization
now that thread pointer is initialized always, ssp canary
initialization can be done unconditionally. this simplifies
the ldso as it does not try to detect ssp usage, and the
init function itself as it is always called exactly once.
this also merges ssp init path for shared and static linking.
2014-03-25 19:12:45 -04:00
Timo TeräsandRich Felker 8769196ffb clean up internal dynamic linker functions enumerating phdrs
record phentsize in struct dso, so the phdrs can be easily
enumerated via it. simplify all functions enumerating phdrs
to require only struct dso. also merge find_map_range and
find_dso to kernel_mapped_dso function that does both tasks
during single phdr enumeration.
2014-03-25 16:03:53 -04:00
Timo TeräsandRich Felker e13a2b8953 implement PT_GNU_RELRO support 2014-03-25 15:58:23 -04:00
Timo TeräsandRich Felker 0a8d98285f fix confstr return value
per the specification, the terminating null byte is counted.
2014-03-24 17:33:54 -04:00
Timo TeräsandRich Felker a0351ee6a7 add NO_ADDRESS macro to netdb.h as an alias for NO_DATA
some applications expect it to be defined, despite the standard making
it impossible for it to ever be returned as a value distinct from
NO_DATA. since these macros are outside the scope of the current
standards, no special effort is made to hide NO_ADDRESS under
conditions where the others are exposed.
2014-02-05 15:58:11 -05:00
Timo TeräsandRich Felker 16a3580ef3 add legacy functions setkey() and encrypt() 2014-02-05 11:09:53 -05:00
Timo TeräsandRich Felker 7e10f209fb fix struct signalfd_siginfo
ssi_ptr is really 64-bit in kernel, so fix that. assuming sizeof(void*)
for it also caused incorrect padding for 32-bits, as the following
64-bits are aligned to 64-bits (and the padding was not taken into
account), so fix the padding as well. add addr_lsb field while there.
2013-12-29 21:55:21 -05:00
Timo TeräsandRich Felker e2b4525e3b add TCP_INFO and TCP_MD5SIG socket option related structures 2013-12-20 11:36:26 -05:00
Timo TeräsandRich Felker 4b2c8fee35 add linux tcp state enums 2013-11-23 16:57:53 -05:00
Timo TeräsandRich Felker 7c0ca4d361 add multicast structures from RFC 3678 to netinet/in.h
and use _GNU_SOURCE || _BSD_SOURCE guards for all of the RFC 3678
namespace polluting things like glibc/uclibc does.
2013-11-23 16:56:43 -05:00
Timo TeräsandRich Felker 48748143a3 use separate sigaction buffers for old and new data
in signal() it is needed since __sigaction uses restrict in parameters
and sharing the buffer is technically an aliasing error. do the same
for the syscall, as at least qemu-user does not handle it properly.
2013-07-30 09:14:56 -04:00