Commit Graph

29 Commits

Author SHA1 Message Date
itojun 9d735055cd make it possible to compile it without -DINET6
From: "Castor Fu" <castor@geocast.com>
2000-02-15 18:55:55 +00:00
itojun b3092550ea sa_len was not properly set due to autoconf #ifdef.
(mistake in yesterday's upgrade)
2000-02-10 03:06:53 +00:00
itojun 34a6354b59 revise extended scoped address format support. delimiter and the order
is changed, based on discussion in ipngwg scoped address cabal.
past code:	fe80::1@de0
now:		de0%fe80::1
this will be in sync with next extended address format proposal
(which should be final - I don't want to make this kind of change again).
2000-02-09 12:25:06 +00:00
itojun 59b810d3a5 backout previous commit - freeaddrinfo(NULL) issue. 2000-01-28 08:09:48 +00:00
itojun e4dc489b2c allow freeaddrinfo(NULL). nothing is talked in RFC2553 (maybe in X/Open?).
however, since NRL freeaddrinfo permits it, we need to.
2000-01-27 08:25:51 +00:00
itojun 541dde0213 fix RFC2553 conformance. AI_CANONNAME does not mean reverse query. 2000-01-26 06:51:29 +00:00
itojun 324dad9e89 fix comment.
better sync with kame tree.
2000-01-24 03:08:12 +00:00
itojun bd6de83f9b remove #if 0'ed portion (AF filtering in normal name resolution)
add comment to the fragment which confused mycroft
2000-01-23 04:03:21 +00:00
mycroft 82267feccd Doh. I'm a dork. 2000-01-23 01:37:19 +00:00
mycroft c72eee355c Partially delint. 2000-01-22 23:54:20 +00:00
itojun 2705db0080 do not filter address families that are not supported by kernel.
the behavior was introduced in 1.8 -> 1.9, by itojun, and it was
not a correct behavior.

even if we may be able to connect to the the returned addresses,
filtering them out is not a correct thing to do.  for example, even if
you have partial unreachablility in IPv4, gethostbyname(3) will return
IPv4 addresses in the unreachable network nonetheless.
2000-01-17 15:57:29 +00:00
itojun 79641939e0 remove #if 0'ed sections. 2000-01-17 08:34:04 +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
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 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 5f3726439e Need "namespace.h". 1999-08-22 12:54:02 +00:00
itojun 94c4bdf1cc pacify too-picky compiler.
From: onoe@sm.sony.co.jp
1999-08-13 09:45:51 +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
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
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
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