Commit Graph

271 Commits

Author SHA1 Message Date
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
kleink
0b4eeeca95 Use a _files prefix for local backend routines; would clash with namespace.h
otherwise.
1999-05-04 15:11:42 +00:00
christos
5b997c7925 Remove unused 'len' and the relevant gcc kludges. 1999-05-04 13:51:39 +00:00
christos
180ff547a4 int -> socklen_t 1999-05-03 15:26:12 +00:00
christos
588dd8cf5a Don't bother de-linting inside __GNUC__ ifdefs. 1999-05-03 15:20:28 +00:00
christos
8fe3352a10 sprinkle argsused till lint smiles at you. 1999-05-03 15:17:13 +00:00