summaryrefslogtreecommitdiffstats
path: root/lib/libc/net/getaddrinfo.c
Commit message (Collapse)AuthorAgeFilesLines
...
* 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()
* use strdup().ume2005-01-281-2/+1
| | | | | Obtained from: KAME MFC after: 1 week
* implement AI_NUMERICSERV (as defined in RFC3493).ume2005-01-271-10/+13
| | | | | Obtained from: KAME MFC after: 1 week
* fill ai_canonname field for numeric hostname, by the given hostname.ume2005-01-271-7/+25
| | | | | | | follow new recommendation in RFC3493. Obtained from: KAME MFC after: 1 week
* query A RR before AAAA RR.ume2005-01-271-10/+10
| | | | MFC after: 1 week
* Don't ignore the last line of config file (/etc/hosts, /etc/services, etc)sobomax2005-01-031-3/+3
| | | | | | | | which doesn't end in \n, since it may be very confusing. Also this should increase consistency, since most other config files work just fine regardless of the presence of traling \n in the last line. MFC After: 2 weeks
* Rename variable name from `name' to `hostname'.ume2004-06-161-7/+7
| | | | | | | | | | This is a corresponding change to bin/67994. I'll soon commit bin/67994 into 4-STABLE. Actually, 5-CURRENT's getaddrinfo() doesn't have the problem mentiond in bin/67994. However, it is good to be in sync variable name with 4-STABLE and KAME. PR: bin/67994 Submitted by: JINMEI Tatuya <jinmei@ocean.jinmei.org>
* Treat IPv4 private address as global scope rather than site scope.ume2004-05-311-1/+1
| | | | | Though it breaks RFC 3484, without this change, dest addr selection doesn't work well under NAT environment.
* use source address as a hint to determine destination address.ume2004-05-311-0/+111
| | | | Obtained from: KAME
* Make the resolver(3) and many associated interfaces much more reentrant.green2004-02-251-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The getaddrinfo(3), getipnodebyname(3) and resolver(3) can coincide now with what should be totally reentrant, and h_errno values will now be preserved correctly, but this does not affect interfaces such as gethostbyname(3) which are still mostly non-reentrant. In all of these relevant functions, the thread-safety has been pushed down as far as it seems possible right now. This means that operations that are selected via nsdispatch(3) (i.e. files, yp, dns) are protected still under global locks that getaddrinfo(3) defines, but where possible the locking is greatly reduced. The most noticeable improvement is that multiple DNS lookups can now be run at the same time, and this shows major improvement in performance of DNS-lookup threaded programs, and solves the "Mozilla tab serialization" problem. No single-threaded applications need to be recompiled. Multi-threaded applications that reference "_res" to change resolver(3) options will need to be recompiled, and ones which reference "h_errno" will also if they desire the correct h_errno values. If the applications already understood that _res and h_errno were not thread-safe and had their own locking, they will see no performance improvement but will not actually break in any way. Please note that when NSS modules are used, or when nsdispatch(3) defaults to adding any lookups of its own to the individual libc _nsdispatch() calls, those MUST be reentrant as well.
* add destination address selection described in RFC3484.ume2003-10-301-7/+412
| | | | | | | | | in KAME implementation, even when no policy is installed into kernel, getaddrinfo(3) sorts addresses. Since it causes POLA violation, I modified to don't sort addresses when no policy is installed into kernel, Obtained from: KAME
* oops, revert previous change to getaddrinfo.c. This is not relatedume2003-10-241-275/+155
| | | | | to RFC3493. The previous change was related to RFC3484 (Default Address Selection for IPv6), and it will come later.
* Switch Advanced Sockets API for IPv6 from RFC2292 to RFC3542ume2003-10-241-155/+275
| | | | | | | | | | (aka RFC2292bis). Though I believe this commit doesn't break backward compatibility againt existing binaries, it breaks backward compatibility of API. Now, the applications which use Advanced Sockets API such as telnet, ping6, mld6query and traceroute6 use RFC3542 API. Obtained from: KAME
* reorder functions to be in sync with KAME.ume2003-10-231-128/+132
|
* EAI_ADDRFAMILY and EAI_NODATA was deprecated in RFC3493ume2003-10-231-10/+4
| | | | | | | | (aka RFC2553bis). Now, getaddrinfo(3) returns EAI_NONAME instead of EAI_NODATA. Our getaddrinfo(3) nor getnameinfo(3) didn't use EAI_ADDRFAMILY. Obtained from: KAME
* oops, gai_strerror must return default value when error codeume2003-10-221-0/+1
| | | | isn't found in ai_errlist.
* make ai_errlist struct. this is preparation for RFC3493ume2003-10-221-19/+32
| | | | | | (EAI_NODATA is depricated). Obtained from: KAME
* Replace use of a spinlock with a mutex.deischen2003-05-041-6/+4
|
* Back out the `hiding' of strlcpy and strlcat. Several peoplenectar2003-05-011-2/+2
| | | | vocally objected to this safety belt.
* `Hide' strlcpy and strlcat (using the namespace.h / __weak_referencenectar2003-04-291-2/+2
| | | | | | | technique) so that we don't wind up calling into an application's version if the application defines them. Inspired by: qpopper's interfering and buggy version of strlcpy
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-241-1/+1
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* Eliminate 19 warnings in libc (at level WARNS=2) of thenectar2003-02-271-1/+1
| | | | `implicit declaration of function' variety.
* - scopeid is u_int32_tume2002-10-251-14/+21
| | | | | | | - strtoul pedant. pointed out by deraadt Obtained from: KAME MFC after: 1 week
* - kill strcpyume2002-10-251-67/+56
| | | | | | | | | | | | | | - port range check need to be done before htons. from deraadt - %d/%u audit - correct bad practice in the code - it uses two changing variables to manage buffer (buf and buflen). we eliminate buflen and use fixed point (ep) as the ending pointer. - use snprintf, not sprintf - pass correct name into q.name. from lukem@netbsd - sync comment Obtained from: KAME MFC after: 1 week
* Put giant locks due to make getaddrinfo(), getnameinfo()ume2002-10-061-1/+22
| | | | | | | | | | and getipnodeby*() thread-safe. Our res_*() is not thread-safe. So, we share lock between getaddrinfo() and getipnodeby*(). Still, we cannot use getaddrinfo() and getipnodeby*() in conjunction with other functions which call res_*(). Requested by: many people
* Allocate 64K recieve buffer for DNS responses.ume2002-09-151-20/+45
| | | | | | | | KAME did the modification only to _dns_getaddrinfo(). However, it is not sufficient, and res_queryN() should be modified, too. So, I did same modification to res_queryN(). Obtained from: KAME
* Check for truncation in calls to res_send/res_query/res_search.nectar2002-09-151-1/+3
| | | | Fail when it is detected.
* Backout the increase of MAXPACKET from 1024 to 65536: itnectar2002-09-151-1/+5
| | | | | | broke pthreads. Reported by: mbr, tjr
* When using res_send/res_query/res_search, the caller must eithernectar2002-09-131-5/+1
| | | | | | | | | insure enough space is available for the response, or be prepared to resize the buffer and retry as necessary. Do the conservative thing and make sure enough space is available. Reviewed by: silence on freebsd-audit
* Fixed getaddrinfo to honor sortlist in /etc/resolv.confpirzyk2002-08-211-0/+82
| | | | | | | PR: bin/27939 Reviewed by: ru, sheldonh (about a year ago) Obtained from: ume (via KAME, I think) MFC after: 1 month
* Remove an #include <syslog.h>. It's already included conditionallymux2002-08-021-1/+0
| | | | | | above, as it should be. Submitted by: Olivier Houchard <cognet@ci0.org>
* Fix the style of the SCM ID's.obrien2002-03-221-1/+3
| | | | I believe have made all of libc .c's as consistent as possible.
* Remove multi-line __P() usage.obrien2002-03-221-16/+16
|
* Remove __P() usage.obrien2002-03-211-18/+18
|
* balance parens.alfred2002-02-051-1/+1
| | | | Submitted by: mbr
* Fix cc -Wall, fix rcsid warnings, add missing prototypes,alfred2002-02-051-0/+4
| | | | | | | | | change prototypes to be the same as in the original sun tirpc code. Remove ()P macro in a file where the mayority had ()P already removed. Add them if the mayority use ()P macros. Submitted by: mbr Requested by: bde
* Return ENONAME if getaddrinfo() is called with AI_NUMERICHOSTroam2002-02-011-1/+1
| | | | | | | | | and the hostname given is not numeric. PR: 34390 Submitted by: Serge van den Boom <svdb@stack.nl> Approved by: silence from -net MFC after: 1 month
* Implement EDNS0 support, as EDNS0 support will be made mandatory forume2001-06-101-1/+5
| | | | | | | | | | | IPv6 transport-ready resolvers/DNS servers. Need careful configuration when enable it. (default config is not affected). See manpage for details. XXX visible symbol __res_opt() is added, however, it is not supposed to be called from outside, libc minor is not bumped. Obtained from: KAME/NetBSD
* Nuke non-standard EAI_RESNULL.ume2001-03-171-8/+0
|
* Fix style that got corrupted.obrien2001-03-051-17/+17
|
* Fix FreeBSD id style breakage from rev 1.17obrien2001-03-051-1/+1
|
* Enable AI_ADDRCONFIG as a valid flag of getaddrinfo(3). Someume2001-02-191-5/+0
| | | | | | applications specify AI_ADDRCONFIG and fail to run under FreeBSD. Latest mews is known. Now, getaddrinfo(3) behaves according to AI_ADDRCONFIG.
* Remove _THREAD_SAFE and make libc thread-safe by default bydeischen2001-01-241-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adding (weak definitions to) stubs for some of the pthread functions. If the threads library is linked in, the real pthread functions will pulled in. Use the following convention for system calls wrapped by the threads library: __sys_foo - actual system call _foo - weak definition to __sys_foo foo - weak definition to __sys_foo Change all libc uses of system calls wrapped by the threads library from foo to _foo. In order to define the prototypes for _foo(), we introduce namespace.h and un-namespace.h (suggested by bde). All files that need to reference these system calls, should include namespace.h before any standard includes, then include un-namespace.h after the standard includes and before any local includes. <db.h> is an exception and shouldn't be included in between namespace.h and un-namespace.h namespace.h will define foo to _foo, and un-namespace.h will undefine foo. Try to eliminate some of the recursive calls to MT-safe functions in libc/stdio in preparation for adding a mutex to FILE. We have recursive mutexes, but would like to avoid using them if possible. Remove uneeded includes of <errno.h> from a few files. Add $FreeBSD$ to a few files in order to pass commitprep. Approved by: -arch
* Add nsswitch support. By creating an /etc/nsswitch.conf file, you cannectar2000-09-061-234/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | configure FreeBSD so that various databases such as passwd and group can be looked up using flat files, NIS, or Hesiod. = Hesiod has been added to libc (see hesiod(3)). = A library routine for parsing nsswitch.conf and invoking callback functions as specified has been added to libc (see nsdispatch(3)). = The following C library functions have been modified to use nsdispatch: . getgrent, getgrnam, getgrgid . getpwent, getpwnam, getpwuid . getusershell . getaddrinfo . gethostbyname, gethostbyname2, gethostbyaddr . getnetbyname, getnetbyaddr . getipnodebyname, getipnodebyaddr, getnodebyname, getnodebyaddr = host.conf has been removed from src/etc. rc.network has been modified to warn that host.conf is no longer used at boot time. In addition, if there is a host.conf but no nsswitch.conf, the latter is created at boot time from the former. Obtained from: NetBSD
* Use _close() instead of close() in addrconfig() to keep it from becoming ajasone2000-07-211-3/+3
| | | | potential cancellation point in libc_r.
* reject empty scopeid. use strtoul() for checking all-numericness ofitojun2000-07-091-8/+15
| | | | | portname. explicitly reject empty numeric portname. sync with kame. based on comments from itohy@netbsd.org
* sync with kame.itojun2000-07-051-29/+50
| | | | | - better return code. from enami@netbsd - do not use "class" as variable name. C++ guy had trouble with it.
OpenPOWER on IntegriCloud