aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/posix
AgeCommit message (Collapse)Author
2013-12-02Remove redundant GAIH_OKIFUNSPEC and GAIH_EAI.Pavel Simerda
Only gaih_inet() and gaih_inet_serv() use a special bit flag denoted by the GAIH_OKIFUNSPEC macro. Only the return value of gaih_inet_serv() is actively checked for the bit flag which is redundant because it just copies the nonzero property of the value otherwise returned. The return value of gaih_inet() is only checked for being zero and then the bit flag is filtered out. As the bit flag is set only for otherwise nonzero return values, it doesn't affect the zero comparison. GAIH_EAI just an alias to ~GAIH_OKIFUNSPEC.
2013-12-02getaddrinfo: remove dead codePavel Simerda
2013-10-25Fix stack overflow due to large AF_INET6 requestsSiddhesh Poyarekar
Resolves #16072 (CVE-2013-4458). This patch fixes another stack overflow in getaddrinfo when it is called with AF_INET6. The AF_UNSPEC case was fixed as CVE-2013-1914, but the AF_INET6 case went undetected back then.
2013-10-25Fix incorrect getaddrinfo assertion triggerAllan McRae
[BZ #9954] With the following /etc/hosts: 127.0.0.1 www.my-domain.es 127.0.1.1 www.my-domain.es 192.168.0.1 www.my-domain.es Using getaddrinfo() on www.my-domain.es, trigger the following assertion: ../sysdeps/posix/getaddrinfo.c:1473: rfc3484_sort: Assertion `src->results[i].native == -1 || src->results[i].native == a1_native' failed. This is due to two different bugs: - In rfc3484_sort() rule 7, src->results[i].native is assigned even if src->results[i].index is -1, meaning that no interface is associated. - In getaddrinfo() the source IP address used with the lo interface needs a special case, as it can be any IP within 127.X.Y.Z.
2013-10-17Don't use gethostbyaddr to determine canonical nameAndreas Schwab
2013-10-10Fix readdir regressions on sparc 32-bit.David S. Miller
* sysdeps/posix/dirstream.h (struct __dirstream): Fix alignment of directory block.
2013-09-30Properly cache the result from looking up the nss database configAndreas Schwab
2013-08-28Use __glibc_unlikely instead of __builtin_expect (..., 0)Siddhesh Poyarekar
2013-08-16CVE-2013-4237, BZ #14699: Buffer overflow in readdir_rFlorian Weimer
* sysdeps/posix/dirstream.h (struct __dirstream): Add errcode member. * sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode member. * sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member. * sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit. Return delayed error code. Remove GETDENTS_64BIT_ALIGNED conditional. * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define GETDENTS_64BIT_ALIGNED. * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. * manual/filesys.texi (Reading/Closing Directory): Document ENAMETOOLONG return value of readdir_r. Recommend readdir more strongly. * manual/conf.texi (Limits for Files): Add portability note to NAME_MAX, PATH_MAX. (Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX.
2013-06-11Fix symbol definitions for __clock_* functionsSiddhesh Poyarekar
__clock_gettime and other __clock_* functions could result in an extra PLT reference within libc.so if it actually gets used. None of the code currently uses them, which is why this probably went unnoticed.
2013-06-08Use (void) in no-arguments function definitions.Joseph Myers
2013-05-21Set EAI_SYSTEM only when h_errno is NETDB_INTERNALSiddhesh Poyarekar
Fixes BZ #15339. NSS_STATUS_UNAVAIL may mean that a necessary input resource is not available. This could occur in a number of cases including when the network is down, system runs out of file descriptors, etc. The correct differentiator in such a case is the h_errno, which gives the nature of failure. In case of failures other than a simple 'not found', we set h_errno as NETDB_INTERNAL and let errno be the identifier for the exact error.
2013-05-16Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold
2013-05-06Clean up POSIX.1 implementation of truncate.Roland McGrath
2013-05-01Add missing #include in sysdeps/posix/opendir.c.Roland McGrath
2013-04-23Fix name space use in last commit.Roland McGrath
2013-04-23Add generic POSIX implementation of C11 timespec_get.Roland McGrath
2013-04-22Minor cleanup in getaddrinfoSiddhesh Poyarekar
Replace repeated computations of alloca size with a local variable that stores the computed value.
2013-04-03Fix stack overflow in getaddrinfo with many resultsAndreas Schwab
2013-03-28Never call syslog in __libc_message.Roland McGrath
2013-03-19Consolidate Linux and POSIX libc_fatal code.Roland McGrath
2013-02-14Remove bp-sym.h and BP_SYM uses from C code.Joseph Myers
2013-01-23ulimit: include <limits.h>Pino Toscano
2013-01-23ulimit: move linux implementation as posixPino Toscano
The linux implementation of ulimit works correctly and has nothing specific to Linux, so move it as general posix implementation.
2013-01-02Fix copyright notice corruption from update-copyright bug.Joseph Myers
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2013-01-01Add script to update copyright notices and reformat some to facilitate its use.Joseph Myers
2012-11-19Return EAI_SYSTEM if we're out of file descriptorsSiddhesh Poyarekar
Resolves BZ #14719.
2012-11-17Generate /usr/libexec/getconf files when cross-compiling.Joseph Myers
2012-10-30Suppress incorrect link warnings for NSS symbolsChris Metcalf
When glibc is built with --enable-static-nss, the warning that using NSS symbols requires the nss shared objects to be present is no longer true, as those symbols are built into libc. Suppress the warning for those symbols by providing a new macro (nss_interface_function) for the NSS functions that is defined as static_link_warning in the normal case, and empty for static NSS.
2012-10-24BZ#14743: Move clock_* symbols from librt to libc.Roland McGrath
2012-10-16__alloc_dir: avoid integer overflow in malloc argumentFlorian Weimer
2012-10-03sysconf/posix: handle _SC_LEVEL4_CACHE_LINESIZEPino Toscano
2012-09-28Implement POSIX-generic sleep via nanosleep rather than SIGARLM.Roland McGrath
2012-09-28 [BZ #11438]Jeff Law
* sysdeps/posix/getaddrinfo.c (default_scopes): Map RFC 1918 * addresses to global scope. * posix/tst-rfc3484.c: Verify 10/8, 172.16/12 and 196.128/16 addresses are in the same scope as 192.0.2/24. * posix/gai.conf: Document new scope table defaults.
2012-08-22 * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use gethostbyname4_rJeff Law
if the family is PF_UNSPEC.
2012-08-17Move some things from sysdeps/unix to sysdeps/posix.Roland McGrath
2012-08-17Fix typo in last change.Roland McGrath
2012-08-17Fix getaddrinfo for [!_STATBUF_ST_NSEC] case.Roland McGrath
2012-08-15Add casts to suppress warnings in system.c under [!_LIBC_REENTRANT].Roland McGrath
2012-08-08Add a missing #include.Roland McGrath
2012-08-07Move common dirent implementation from sysdeps/unix to sysdeps/posix.Roland McGrath
2012-07-30Fix lots of bitrot for stub configurations.Roland McGrath
2012-07-25Rename __secure_getenv to secure_getenvFlorian Weimer
2012-07-12Avoid duplicate DNS requests if answer is longer than a implementationJeroen van Bemmel
limit [BZ #14307] * sysdeps/posix/getaddrinfo.c (gaih_inet): Increase the size of the temporary buffer used to invoke __gethostbyname2_r, __gethostbyaddr_r and gethostbyname4_r to make room for struct host_data / struct gaih_addrtuple. * resolv/nss_dns/dns-host.c (global scope): Move definition of implementation constants MAX_NR_ALIASES and MAX_NR_ADDRS to header file nss/nsswitch.h. * nss/nsswitch.h (global scope): Add definition of implementation constants MAX_NR_ALIASES and MAX_NR_ADDRS (moved from resolv/nss_dns/dns-host.c).
2012-05-24Switch gettimeofday from INTUSE to libc_hidden_proto.Roland McGrath
2012-05-10Hurd: libc_once_getThomas Schwinge
2012-05-10Hurd: #include <kernel-features.h>Thomas Schwinge
2012-04-23Move sysdeps/unix/sysv/gethostname.c to sysdeps/posix/.Joseph Myers
2012-02-27Add missing headersAndreas Schwab