summaryrefslogtreecommitdiffstats
path: root/lib/libc/net/getaddrinfo.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r292445, r292554:ume2015-12-281-4/+3
| | | | Use _map_v4v6_address().
* MFC r292539:ume2015-12-281-1/+6
| | | | | | | If we end up following a CNAME chain that does not find any data return that instead of internal error. PR: 156684
* Add AI_V4MAPPED and AI_ALL support for getaddrinfo(3).ume2015-12-251-25/+133
| | | | PR: 198092
* MFC r292129:ume2015-12-191-1/+1
| | | | | | | | | RFC 3493 requires ignoring the loopback address for AI_ADDRCONFIG. Since it breaks certain jail setup, we ignore just 127.0.0.1 instead of whole loopback address range. PR: 192014 Reviewed by: hrs
* MFC r292059:ume2015-12-171-1/+2
| | | | | | | | The calls to RES_SET_H_ERRNO() macro on error paths wind up dereferencing an uninitialized res. PR: 202142 Submitted by: Sean Boudreau
* MFC r267912, r267915:ume2014-07-031-13/+29
| | | | | | | - Exclude loopback address rather than loopback interface. - style(9) Spotted by: melifaro
* MFC r267800:ume2014-06-301-1/+2
| | | | | Exclude IPv4 address from doing longest match. It prevented DNS based load balancing.
* MFC r267616, 267640:ume2014-06-251-29/+62
| | | | | | | | | | | | | | | Retooling addrconfig() to exclude addresses on loopback interfaces when looking for configured addresses. This change is based upon the code from the submitter, and made following changes: - Exclude addresses assigned on interfaces which are down, like NetBSD does. - Exclude addresses assigned on interfaces which are ifdisabled. Use SOCK_CLOEXEC. PR: 190824 Submitted by: Justin McOmie
* MFC r264212,r264213,r264248,r265776,r265811,r265909:kevlo2014-05-131-0/+5
| | | | | | | | | | | | | | - Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. Tested with vlc and a test suite [1]. [1] http://www.erg.abdn.ac.uk/~gerrit/udp-lite/files/udplite_linux.tar.gz Reviewed by: jhb, glebius, adrian - Fix a logic bug which prevented the sending of UDP packet with 0 checksum. - Disable TX checksum offload for UDP-Lite completely. It wasn't used for partial checksum coverage, but even for full checksum coverage it doesn't work.
* libc: Use SOCK_CLOEXEC for various internal file descriptors.jilles2013-09-061-5/+7
| | | | | | | This change avoids undesirably passing some internal file descriptors to a process created (fork+exec) by another thread. Kernel support for SOCK_CLOEXEC was added in r248534, March 19, 2013.
* libc: Make various internal file descriptors from fopen() close-on-exec.jilles2013-08-231-2/+2
|
* Return zero from get_addrselectpolicy() when no source-address-selectionemax2012-07-181-0/+2
| | | | | | policy is installed. MFC after: 1 week
* libc: Remove some unused strings from getaddrinfo().jilles2012-07-151-13/+12
|
* Fix two warnings about self-assignment in libc. These normally onlydim2012-06-061-1/+1
| | | | | | | trigger with clang, when you either use -save-temps, or ccache. Reported by: Sevan / Venture37 <venture37@gmail.com> MFC after: 3 days
* Eliminate two cases of unwanted strncpy(). The name is not requireddelphij2012-04-021-2/+0
| | | | | | | | by the current code, and the results would get overwritten anyway by subsequent memset(). Reviewed by: ume MFC after: 1 month
* Handle the internal scope address representation of the KAME IPv6ume2012-01-071-1/+2
| | | | | | | stack for the node-local multicast address. Spotted by: Rainer Bredehorn <Bredehorn__at__gmx.de> MFC after: 1 week
* Query DNS only once per an address family.ume2009-03-291-86/+170
| | | | | Obtained from: KAME MFC after: 2 weeks
* Add support for SCTP to getaddrinfo(3).ume2009-03-251-7/+20
| | | | | | | | | | | | | Now, getaddrinfo(3) returns two SOCK_STREAMs, IPPROTO_TCP and IPPROTO_SCTP. It confuses some programs. If getaddrinfo(3) returns IPPROTO_SCTP when SOCK_STREAM is specified by hints.ai_socktype, at least Apache doesn't work. So, I made getaddrinfo(3) to return IPPROTO_SCTP with SOCK_STREAM only when IPPROTO_SCTP is specified explicitly by hints.ai_protocol. PR: bin/128167 Submitted by: Bruce Cran <bruce__at__cran.org.uk> (partly) MFC after: 2 week
* getaddrinfo(3) should accept numeric when ai_socktype is notume2009-03-241-1/+11
| | | | | | | | specified in hint or hints is NULL. PR: bin/51827 Submitted by: Mark Andrews <marka__at__isc.org> MFC after: 1 week
* Shutup warning for DNAME RR.ume2009-02-081-1/+2
| | | | | | PR: bin/127591 Submitted by: "Eugene M. Kim" <20080111.freebsd.org__at__ab.ote.we.lv> MFC after: 1 week
* Remove incomplete support of AI_ALL and AI_V4MAPPED.ume2008-02-031-21/+0
| | | | Reported by: "Heiko Wundram (Beenic)" <wundram__at__beenic.net>
* ensure the head entry of addrinfo chain has non-NULL ai_canonname to bejinmei2007-09-051-2/+19
| | | | | | | | | compliant with RFC3493. PR: standards/114910 Approved by: ume (mentor) Approved by: re MFC after: 1 week
* do not overload the port number on to the return value ofume2006-07-231-8/+9
| | | | | | | str2number(). this could result in an unexpected code path. Obtained from: KAME MFC after: 1 week
* remove obsolete comments.ume2006-07-221-8/+0
| | | | MFC after: 3 days
* simplification in explore_numeric: unified the post-process withume2006-07-211-32/+22
| | | | | | | GET_AI and GET_PORT. Commented on an impossible case. Obtained from: KAME MFC after: 1 week
* RFC3493 requires use of inet_aton for AF_INET.ume2006-07-211-3/+7
| | | | | Obtained from: KAME MFC after: 1 week
* clean-up: rewrote explore_null and explore_numeric without using sentinel.ume2006-07-211-35/+20
| | | | | | | | we do not need it since we make (at most) a single addrinfo entry in these cases. Obtained from: KAME MFC after: 1 week
* - Extend the nsswitch to support Services, Protocols and Rpcume2006-04-281-0/+197
| | | | | | | | databases. - Make nsswitch support caching. Submitted by: Michael Bushkov <bushman__at__rsu.ru> Sponsored by: Google Summer of Code 2005
* fix indent.ume2006-04-011-9/+9
|
* If the query choked with EDNS0, retry without EDNS0.ume2006-03-281-8/+24
| | | | Obtained from: res_nquery() of BIND9.
* - Use ANSI C prototype.ume2006-03-251-104/+38
| | | | - Remove trailing space.
* When res_nquerydomain() returns SERVFAIL, we should try next domain.ume2006-03-241-1/+9
|
* When res_send() fails, we should reserve an error code.ume2006-03-241-2/+2
|
* Update the resolver in libc to BIND9's one.ume2006-03-211-75/+83
| | | | | | | | | | | | | | | | | | | | | | Since, res_sendsigned(3) and the friends use MD5 functions, it is hard to include them without having MD5 functions in libc. So, res_sendsigned(3) is not merged into libc. Since, res_update(3) in BIND9 is not binary compatible with our res_update(3), res_update(3) is leaved as is, except some necessary modifications. The res_update(3) and the friends are not essential part of the resolver. They are not defined in resolv.h but defined in res_update.h separately in BIND9. Further, they are not called from our tree. So, I hide them from our resolv.h, but leave them only for binary backward compatibility (perhaps, no one calls them). Since, struct __res_state_ext is not exposed in BIND9, I hide it from our resolv.h. And, global variable _res_ext is removed. It breaks binary backward compatibility. But, since it is not used from outside of our libc, I think it is safe. Reviewed by: arch@ (no objection)
* When we are doing initialization against q, use its own size, notdelphij2006-03-211-1/+1
| | | | | | | the size of q2. This should be a no-op because q and q2 are of the same type. Submitted by: Alexey Dobriyan <adobriyan gmail com>
* Handle the errors returned by res_querydomain() in same manner.ume2006-03-011-0/+20
| | | | | | Reported by: yar Tested by: yar, Rostislav Krasny <rosti.bsd__at__gmail.com> MFC after: 1 week
* - Just query 'as is', if there is a trailing dot in the name.ume2006-02-241-9/+20
| | | | | | | | | | - Don't query 'as is' twice. PR: bin/62139 Reported by: Rostislav Krasny <rosti.bsd__at__gmail.com> Tested by: Rostislav Krasny <rosti.bsd__at__gmail.com> Obtained from: BIND9 (with some modification) MFC after: 1 week
* Remove padding for ABI compatibility of ai_addrlen memberume2005-07-221-3/+0
| | | | | from struct addrinfo. This change break ABI compatibility on 64 bit arch.
* - The ai_addrlen of a struct addrinfo used to be a size_t, perume2005-05-151-1/+4
| | | | | | | | | | | | | | | | RFC 2553. In XNS5.2, and subsequently in POSIX-2001 and RFC 3493, it was changed to a socklen_t. And, the n_net of a struct netent used to be an unsigned long integer. In XNS5, and subsequently in POSIX-2001, it was changed to an uint32_t. To accomodate for this while preserving ABI compatibility with the old interface, we need to prepend or append 32 bits of padding, depending on the (LP64) architecture's endianness. - Correct 1st argument of getnetbyaddr() to uint32_t on 32 bit arch. Stay as is on 64 bit arch for ABI backward compatibility for now. Reviewed by: das, peter MFC after: 2 weeks
* Submitted by: Jinmei Tatuya, Hajimu Umemotognn2005-05-141-2/+2
| | | | | | | | | | Reviewed by: rwatson at freebsd dot org Approved by: rwatson at freebsd dot org MFC after: 1 week Fix the matchlen() function so that it handles the IPv4 (AF_INET) case correctly. Until now it has been treating IPv4 addresses as if they were IPv6 which could lead to corruption errors.
* free ypbuf only when yp_match() succeed.ume2005-05-131-1/+1
|
* the 3rd argument of getsockname() should be socklen_t*.ume2005-05-021-1/+2
| | | | Submitted by: stefanf
* Now, our getservbyname(3) is thread-safe. So, we don't needume2005-04-151-14/+1
| | | | to protect it with mutex lock.
* hostalias() is not thread-safe. So, introduce _res_hostalias()ume2005-04-151-2/+3
| | | | | | and use it. Obtained from: BIND9
* remove needless res_init() call.ume2005-04-141-9/+0
| | | | Inspired by: NetBSD
* - we are no longer shareing any resources to be locked betweenume2005-04-061-10/+6
| | | | | | getaddrinfo(3) and getipnodeby*(3). - use definitions in reentrant.h. - remove obsolete comment.
* separate gai_strerror(3) from getaddrinfo.c.ume2005-04-061-27/+0
| | | | Requested by: phantom
* make yp stuff re-entrant.ume2005-04-051-26/+15
| | | | Obtained from: NetBSD
* make _files_getaddrinfo() re-entrant.ume2005-04-041-22/+19
| | | | Obtained from: NetBSD
* . Convert return type of gai_strerror() to 'const char *' as POSIX requires.phantom2005-02-141-29/+21
| | | | | . Convert ai_errlist[] to simple 'char *' array, and appropriately optimize gai_strerror()
OpenPOWER on IntegriCloud