Commit Graph

276 Commits

Author SHA1 Message Date
itojun 2cd2ee94b9 allow reverse query for v4 loopbacknet (127.0.0.0/8). 2000-01-05 04:54:54 +00:00
itojun 9ffbadc055 clarify text for RES_USE_INET6. this is almost always unnecessary. 2000-01-03 11:56:05 +00:00
assar 8f5685ec6b ignore KEY and SIG records when matching responses to the query. we
get those as extras from DNSsec-enabled name servers.
1999-12-28 15:47:41 +00:00
itojun 1f9eba958f properly check the error result from if_nametoindex(), to disallow
bogus interface index specification like fe80::1@bogus.
(sync with kame)
1999-12-27 10:20:59 +00:00
itojun 72e7091f16 more complete solution for gethostby*() buffer overwrite issue.
(we need thread-safe gethostby*...)
1999-12-13 17:05:45 +00:00
itojun 58481c1c06 fix getaddrinfo(3) and getnameinfo(3).
getaddrinfo(3): result from gethostby* will be broken if we call it again.
deep-copy them.  we have sa_len so configure them.
getnameinfo(3): we have sa_len so configure them.
1999-12-13 16:22:56 +00:00
itojun 1501f61891 bring in latest KAME get{addr,name}info(3).
getnameinfo(3) globs ai_socktype and ai_protocol correctly.
KAME scopeid extension is implemented.
(draft-ietf-ipngwg-scopedaddr-format-00.txt)

bump up shlib minor
(may not be necessary, but rather big difference in behavior - especially
ai_flags)
1999-12-13 14:18:31 +00:00
itojun 0b3c3042e6 inet6_rthdr_reverse() is not implemented yet. 1999-12-12 14:59:09 +00:00
itojun c3f65850fd wording fixes (from openbsd camp -> kame) 1999-12-12 11:21:04 +00:00
itojun a57d497906 add manpage for inet6_{option,rthdr}_*. 1999-12-12 11:20:03 +00:00
kleink d574ffc673 (bcopy, bzero) -> (memcpy, memset) 1999-11-30 15:55:25 +00:00
lukem 2468bbbf42 don't use err(); instead pass an error condition back to a higher
layer to warn() about.
1999-11-28 05:46:15 +00:00
is bcb4c98ba9 Properly check for overflows. Fixes PR8314 as annotated by mjl. 1999-11-13 04:52:50 +00:00
jdolecek 894f4bc996 add freeaddrinfo(3) and gai_strerror(3) as links to getaddrinfo(3) 1999-11-10 22:41:00 +00:00
is 94efbddebd Check for invalid component numbers (wrong hex "digits", octal numbers
with digits of 8 or 9) and complain. Fixes PR 8314 by ITOH Yasufumi (but
adding the check of hexadecimal numbers).
1999-11-03 11:47:02 +00:00
lukem 0e4f2591aa change default nsswitch.conf entry for `hosts' from:
hosts: dns files
to
	hosts: files dns

this should speed things up a lot at boot if hostnames that are in
/etc/hosts are used for ifconfig, route, etc.
1999-10-24 12:36:02 +00:00
kleink 749057fddc Need internal names for these, too. 1999-09-20 15:07:21 +00:00
lukem d896261208 back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
1999-09-20 04:38:56 +00:00
lukem 2393f50e9e return NS_UNAVAIL if args are dodgy 1999-09-16 23:43:52 +00:00
lukem b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
kleink 252971afdb Add indirect reference stubs for inet_[ap]ton() for environments not supporting
weak aliases; addresses PR lib/7435 but leaves the original file intact.
1999-09-15 14:21:01 +00:00
kleink 5f3726439e Need "namespace.h". 1999-08-22 12:54:02 +00:00
itojun 46c3891136 bring in IPv6 numeric address parsing fix from bind821.
XXX bind821 should be imported here
1999-08-17 17:50:27 +00:00
mycroft 9f5f4ac699 Make some needed weak aliases. 1999-08-17 03:58:39 +00:00
mycroft 6ea04fe2cd This file was incorrect. The indirect name is res_close(),
not _res_close()!
1999-08-17 03:57:15 +00:00
itojun 94c4bdf1cc pacify too-picky compiler.
From: onoe@sm.sony.co.jp
1999-08-13 09:45:51 +00:00
itojun daa44a5758 do not make reverse query against IPv6 unspecified, or loopback addresses.
From: ume@mahoroba.org
1999-08-09 15:00:14 +00:00
itojun bc3bad7a1c - provide reverse query for mapped address (::ffff:10.1.1.1).
- NI_NUMERICHOST and NI_HOSTREQD conflict with each other,
  so bark if there are both.
(sync with recent KAME)
1999-08-01 06:45:28 +00:00
christos caf92b66b5 - make sure that host_addr is suitably aligned
- add appropriate casts
- take out & in from array; it is meaningless
1999-07-19 19:42:27 +00:00
tron 5f9dd87d66 Make sure that "h_addr_list" pointers are longword aligned because some
broken applications depend on it. Fixes PR lib/8032 by David K Brownlee.
1999-07-19 17:43:59 +00:00
itojun f958dccbd1 - do not make query for AFs that are not supported by kernel.
i.e. do not make query for IPv6 addresses, when running on non-IPv6 kernel,
  or, do not query for IPv4 address on IPv6-only kernel :-)

  This kind of behavior is not very well documented in RFC2553.  This
  may violate the spec.

- on EAI_AGAIN, only retry 3 times (3 is a magic number).  Previous code
  made retries forever.  This solves situation where name server is wrongly
  configured and nameserver:53 returns icmp port unreach.

The only proper fix for all getaddrinfo() related twists would be to
implement getipnodebyname() and get rid of wacky get_addr().
We need to contribute bind8 development for this.
1999-07-14 22:10:03 +00:00
itojun 2842a2f6bb fix name resolution problem when you have "hosts: files dns" on
/etc/nsswitch.conf.

This was because of two reasons:
- /etc/hosts lookup code damaged some of internal
  state used by gethostbyname2().
- getaddrinfo() was not persistent enough against errors.

Sorry for the delay, and hope this fix all the following PRs
(I checked in my environment immitating those PRs and it worked for me)
PR: 7901, 7912, 7921
1999-07-06 02:00:41 +00:00
itojun 06d4151d10 check address family on getting entries from /etc/hosts. 1999-07-04 22:44:28 +00:00
itojun db0f8786bd if the list of name server on /etc/resolv.conf is in a
non-supported AF, try the next nameserver instead of abort.

This helps situations like:
- you write IPv6 nameserver into /etc/resolv.conf and
- run non-IPv6 kernel
1999-07-04 03:52:55 +00:00
lukem abd1f8ab5b capitalize the first word of most error strings except those words that are
argument names to the function. e.g, if `const char *servname' is an argument
name, keep using "servname invalid [...]" instead of "Servname invalid [...]"
1999-07-04 02:02:29 +00:00
itojun 4620b00436 add NetBSD RCSID on top. 1999-07-04 00:43:43 +00:00
itojun d505f1145c fix USE_GETIPNODEBY case. 1999-07-04 00:34:20 +00:00
itojun f69724e659 fix behavior when there's dangling CNAME on specific AF.
TODO: have getipnodeby{name,addr} and let them do the trick.
1999-07-04 00:33:14 +00:00
itojun a45fa8f3c7 improve lint friendliness on USE_GETIPNODEBY case.
(no change in behavior)
1999-07-03 14:29:29 +00:00
kleink 350df37660 Add a reference to XNS5.2 D2.0 for inet_{ntop,pton}(). 1999-07-03 14:16:12 +00:00
kleink 4531426e5f Add missing LIBRARY sections. 1999-07-03 13:58:31 +00:00
kleink b1b0fd03a8 <sys/errno.h> -> <errno.h>; kill our own declaration of errno (_REENTRANT!). 1999-07-03 13:57:26 +00:00
lukem b8e9b3ff69 remove trailing `.' on error messages, since messages from strerror() and
h_strerror() don't return messages with a trailing `.' (and the `.' looks
ugly when using warnx() with the error message).
1999-07-03 07:00:42 +00:00
kleink 312f023d61 Need "namespace.h". 1999-07-02 15:27:08 +00:00
itojun 37e8159125 add IPv6 support functions.
get{addr,name} info are implemented to have as little impact to existing
resolver code as possible, so they are NOT the optimal implementation.
They are at this moment not very thread safe (as they call
gethostby{name,addr}).

(shlib minor version)++, as new interfaces are added.

TODO: getipnodeby{name,addr} - which needs total reimplementation of
gethostby{name,addr}.
upgrade rcmd.c for multiple af support (needed for IPv6-ready rsh/rlogin)
1999-07-01 18:23:53 +00:00
itojun e24b45d811 IPv6 DNS transport support for resolver.
Now you can write
	nameserver 3ffe:0501:4819::42
in /etc/resolv.conf for DNS query over IPv6 network.
(the above address is alive as DNS server)
1999-07-01 18:19:35 +00:00
itojun 7f7f5bff87 document gethostbyname2(). 1999-07-01 18:18:27 +00:00
itojun e061ef3163 fix hardcoded T_A.
this fixes gethostbyname2(host, AF_INET6) to actually work.
1999-07-01 16:43:18 +00:00
sommerfeld fc8fafa627 Clarify that sdl->sdl_len must be initialized before call to link_addr() 1999-06-25 16:13:21 +00:00
tron 23b3336739 As discussed on "tech-net@netbsd.org":
Enhance the file resolver to return all IP addresses of a host on a
call to gethostbyname().
1999-06-02 22:14:07 +00:00