Commit Graph

257 Commits

Author SHA1 Message Date
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
christos
bcb1db5f7b Make these work again, by undef'ing the macro that could cause syntax errors.
Also add NOSTRICT in the {h,n}to{n,h}s() cases where the prototype would get
widened...
1999-05-03 13:12:34 +00:00
mycroft
77b2201463 Do a lame hack to reduce the size of the lexer state buffer, which reduces
memory consumption substantially.  The buffer is only used to print line
numbers...
1999-04-22 00:37:42 +00:00
lukem
257ec2e899 specifically include stdarg/varargs.h 1999-04-18 02:27:53 +00:00
mycroft
68d6f4bf44 Remove spurious .ne's. 1999-03-24 06:27:49 +00:00
garbled
38c96853cf Last of the .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Wheee!
1999-03-22 19:44:33 +00:00
fair
0204f38aae Several things: a patch from PR#6355, nroff/mandoc cleanup, and
update a reference to RFC 1884 to RFC 2373.
1999-03-17 23:19:43 +00:00
christos
3bb2365914 - fix gcc-2.8.1 warnings
- portability fix: Don't use bindresvport() if !BSD4_4 because we could
  be on an operating system where it takes different arguments (hint, hint).
1999-03-16 18:15:13 +00:00
drochner
a34eb7c1b7 use ${ARCHDIR} instead of ${.CURDIR}/arch/${MACHINE_ARCH} where appropriate
libc builds on pmax again
1999-02-24 15:05:20 +00:00
simonb
36362e2a99 In hesiod_to_bind(), don't append lhs and an extra dot if lhs is empty.
Now works with Ultrix hesiod.conf files.
1999-02-11 06:16:38 +00:00
kleink
73991fa256 Add missing LIBRARY section. 1999-02-10 17:30:45 +00:00
lukem
efa00c6291 nsdispatch isn't currently thread safe; highlight this as a bug 1999-02-09 23:38:25 +00:00
lukem
712ba4aec4 after discussion with greg hudson, change default classes back to "in,hs" 1999-01-25 22:36:19 +00:00
lukem
0b7af13a74 add hesiod(3) et al 1999-01-25 03:43:04 +00:00
lukem
3ca17e24f3 * change default classes from "IN,HS" to "HS" (for backwards compat
with older hesiod.conf files & parsers)
* check list != NULL in hesiod_free_list()
* hes_free() is now just a wrapper to hesiod_free_list()
1999-01-25 00:33:36 +00:00