Commit Graph

455 Commits

Author SHA1 Message Date
sommerfeld
76a009b2be Avoid compile-time variable format string (format audit) 2000-10-04 14:52:27 +00:00
sommerfeld
ae42ec1652 Avoid run-time construction of format string we can build at compile time 2000-10-04 14:46:23 +00:00
itojun
9ebff4b328 remove merge error from kame. 2000-09-25 23:37:55 +00:00
itojun
a931ac8209 off-by-1 error in string length validation.
From: Pavel Kankovsky <peak@argo.troja.mff.cuni.cz>
2000-09-25 23:07:28 +00:00
lukem
4a1b4395d7 don't bother declaring in6_addrany[] and in6_loopback #ifndef INET6 2000-09-23 04:40:19 +00:00
ad
82759dbdf5 Use .{B,Bs,F,N,O}x and fix miscellaneous errors. 2000-09-21 10:43:49 +00:00
itojun
e871d0cd31 on /etc/hosts lookup, set "official host name" (the leftmost hostname)
into ai_canonname.  this is to synchronize with practice in gethostby*.
comment from ume@mahoroba.org.  sync with kame.
2000-08-31 17:32:39 +00:00
itojun
14fcd6ed41 mention that current get{addr,name}info implementation are not thread-safe.
(sync with kame)
From: Greg Thompson
2000-08-09 22:52:49 +00:00
itojun
babc498cc8 implement EDNS0 support, as EDNS0 support will be made mandatory for
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.
2000-08-09 14:40:52 +00:00
itojun
6acd1fa341 sync comment with reality. from kame 2000-08-07 16:18:45 +00:00
itojun
698d9a8d8b on gethostby* with NIS backend, make a lookup against ipnodes.{byname,byaddr}
for non-IPv4 address.  obeys solaris8 practice.

XXX does not support scoped address extension, as gethostby* are not
scope-aware.  always use getaddrinfo/getnameinfo.
XXX it is not very useful at this moment, if you define multiple entries for
single hostname.  see PR 10713 for detail.
2000-07-30 03:01:01 +00:00
itojun
31089a149f plug host_addrs overrun. rogue NIS server can transmit tons of lines,
effectively overrun host_addrs buffer.
2000-07-30 02:44:36 +00:00
itojun
c8c092ff17 do not try to transmit UDP DNS query forever, in EINTR-busy situation.
the change uses extra variables which can be avoided,
it is to make the change look similar to BIND8 change.
question: timeout resolution is 1 second (time_t).  should we use
timevals instead?

PR 6410 From: maximum entropy <entropy@venom.bernstein.com>
2000-07-27 00:35:02 +00:00
itojun
3f0f0ab67d typo. s/Fa getaddrinfo/Fn getaddrinfo/. sync with kame. 2000-07-25 04:51:27 +00:00
itojun
f69808cddd move pitfall example to downwards. wording fixes. sync with kame. 2000-07-25 04:39:54 +00:00
itojun
e3256888e3 give pitfall examples.
in response to couple of PRs including 10666.  sync with kame.
2000-07-25 02:33:29 +00:00
itojun
ff9df0b1b7 correct malloc() size computation mistake. bug from bsdi, found
by kjc.  sync with kame.
2000-07-24 12:06:55 +00:00
itojun
20aa4f5b37 reject empty scopeid/numeric portname explicitly. sync with kame. 2000-07-09 04:48:17 +00:00
itojun
a00fcf14af use strtoul() to check for all-digit string, not isdigit(). sync with kame. 2000-07-09 04:23:49 +00:00
itojun
d3884933be %-format pedant (always pass %s, don't use variable alone).
from openbsd.
2000-07-08 03:28:01 +00:00
itohy
7daefc5a5a Passing "char" values to ctype(3) functions is problematic.
If an argument of a ctype function is outside "unsigned char"
and if it is not EOF, the behavior is undefined.

The isascii(3) is the sole exception of above and it was used to
be used to check a value was valid for other ctype functions in
ancient systems.  On modern systems, the ctype functions take
all values of "unsigned char", and this check is obsolete and
even wrong for non-ASCII systems.  However, we leave the isascii()
untouched for now, so as not to change the current behavior.
2000-07-07 08:03:36 +00:00
cgd
f447d9b890 to get (f)lex output to go to stdout, use -t (a flag supported by
flex) rather than -o/dev/stdout which uses a flex feature (-o isn't
in vendor lex, at least on solaris 7) and also requires that
"/dev/stdout" function in the expected manner.
2000-07-07 05:30:58 +00:00
christos
ae40c8edb2 remove register
elide non-portable casts
2000-07-06 03:02:22 +00:00
christos
1c3b369611 add explicit casts
elide non-portable casts
2000-07-06 03:01:32 +00:00
christos
373996b8e8 add constcond lint directive 2000-07-06 03:00:39 +00:00
christos
bc44f19756 add explicit casts
elide non-portable casts
2000-07-06 03:00:16 +00:00
christos
e464ac9461 add explicit casts 2000-07-06 02:59:47 +00:00
christos
43264d6a9a add argsused lint directives
add explicit casts
elide non-portable casts
2000-07-06 02:59:20 +00:00
christos
e9001c0972 elide non portable casts
add lint const castaway directives
2000-07-06 02:58:07 +00:00
christos
db34dc9efd de-register
use the proper types for vars
2000-07-06 02:57:23 +00:00
christos
b5835eb63b remove noop checks 2000-07-06 02:56:55 +00:00
christos
47197be00f elide non-portable casts 2000-07-06 02:56:25 +00:00
christos
a0d18445ab avoid non portable casts 2000-07-06 02:55:45 +00:00
christos
970724237c avoid non-portable casts 2000-07-06 02:54:55 +00:00
christos
7bc5ea812e - remove unused vars
- fix non-portable casts
2000-07-06 02:54:12 +00:00
christos
b0c8c0de7d - avoid non portable casts
- cast arguments to avoid promotion warnings
2000-07-06 02:53:12 +00:00
christos
5570317afb add CONSTCOND where appropriate 2000-07-06 02:52:07 +00:00
itojun
920101cf2e return EAI_NODATA, instead of EAI_NONAME, on name resolution errors.
EAI_NONAME does not make sense in these situations.  from kame.
From: enami@netbsd.org
2000-07-05 12:41:16 +00:00
itojun
f64eeac13d typo in RFC number. KAME PR 263 2000-06-30 16:48:47 +00:00
itojun
d18bfb3eba add cmetz paper, correct example 2000-06-22 20:32:28 +00:00
itojun
35d0fb470c do not assume that nsaddr_list[n].sa_len is properly initialized,
there can be some third-party code that does not.
2000-06-18 21:41:23 +00:00
itojun
855792d5bd recomend get{addr,name}info for scoped address support. 2000-06-18 20:30:26 +00:00
ghudson
dcb9078cff Set errno when res_mkquery fails. 2000-06-18 04:07:03 +00:00
cgd
d220ca5ba3 fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well.  No functional changes.
2000-06-14 06:48:47 +00:00
itojun
b3d17a6362 besure to check getnameinfo() return value. (debugging code) 2000-06-14 01:52:41 +00:00
itojun
814b7243b2 correct ENI_SALEN case to meet rfc2553bis. 2000-06-12 04:27:58 +00:00
itojun
87a2cc9945 correct return value from getnameinfo to meet rf2553bis.
(this also corrects incorrect "success" value, 0, on invalid sockaddr)
2000-06-12 03:55:10 +00:00
itojun
7eab145046 correct arg type (salen) to conform to RFC2553. 2000-06-04 08:52:21 +00:00
itojun
b757ddbced correct arg type for getnameinfo(3) for RFC2553 conformance. 2000-06-04 08:51:23 +00:00
itojun
ed26506c25 usr.sbin/lpr/lpd now compiles lib/libc/net/rcmd.c on its own, to avoid
use of non-exported function __ivaliduser{,_sa}().

we cannot make __ivaliduser{,_sa}() static yet, since doing that would choke
compiled lpd binaries.  we should do it on next libc major version bump.
added a memo on lib/libc/shlib_version.
2000-05-30 01:07:43 +00:00
tron
b4969ca513 Fix an alignment problem introduced by the patch for PR lib/8032.
Fixes PR lib/10048 by J.T. Conklin.
2000-05-23 07:03:10 +00:00
itojun
854cf60c06 nroff correction. from openbsd. 2000-05-17 14:36:41 +00:00
itojun
4d829aa5ea linebreak fix (nroff tradition) 2000-05-17 14:31:06 +00:00
itojun
4b9654f602 typo in function name 2000-05-17 14:24:59 +00:00
itojun
cc50260947 correct use of .Dt. nuke space at EOL. wording (duplicated verb). 2000-05-17 14:20:21 +00:00
itojun
5cf4e14fea $NetBSD$ 2000-05-11 03:08:46 +00:00
itojun
e2a25fa8de update internet draft #. correct samples.
sync getnameinfo function prototype with /usr/include/netdb.h (not
standard conformant yet, needs update - will do soon)
2000-05-11 03:08:06 +00:00
kleink
cd628af723 Need an internal name for send(); noticed by itojun. 2000-05-08 13:38:44 +00:00
itojun
183b1060ec typo in comment 2000-04-28 02:37:57 +00:00
itojun
15311778c6 don't look at $HOSTALIASES, if issetugid() says the binary is dirty. 2000-04-27 16:32:37 +00:00
itojun
c90f48caf4 remove unused struct def. more sanity check for NULL. 2000-04-27 05:30:22 +00:00
itojun
3fc57d3ff8 bring in latest KAME implementation.
conforms to draft-ietf-ipngwg-scopedaddr-format-01.txt.
behavior change: returns numeric scopeid if we can't convert to string.
removed #if 0'ed portion which we will never revisit.
2000-04-26 16:08:38 +00:00
itojun
4009c33ef7 add $KAME$ 2000-04-26 16:08:10 +00:00
itojun
e7cb023342 disable AI_ADDRCONFIG (post RFC2553 specification),
it has bug in PF_UNSPEC caes.  From: ume
fix boundary check which was broken by delint in the past.
2000-04-26 12:25:51 +00:00
itojun
d585d4d8d9 simplify #ifdef a bit, by assuming getnameinfo. 2000-04-26 10:55:53 +00:00
itojun
0308db5ae0 improve comment before setbuf() in hostalias(). 2000-04-26 06:51:37 +00:00
itojun
bdb0d9a667 sync with BIND 4.9.7. uses BIND 8.x codebase for dn_expand().
hyphenchar() definition is now fixed to specwise-correct declaration
(only "-" is permitted).  may need more KNF and/or delint.
2000-04-25 14:39:00 +00:00
itojun
75753d9452 sync with BIND 4.9.7. mostly costmetic.
XXX 4.9.5 -> 4.9.7 moves _res from data to bss.  the bss version of the code
is committed, but is wrapped with #ifdef __RES_IN_BSS and is disabled
(_res is still in data segment).
2000-04-25 13:57:08 +00:00
itojun
e1e1e8e6ba sync with BIND 4.9.7. strict boundary checking. 2000-04-25 13:47:38 +00:00
itojun
393bcd0129 sync with BIND 4.9.7. reject too short messages. 2000-04-25 13:46:10 +00:00
itojun
c3f3ab4c5c sync with BIND 4.9.7. correct boundary checking broken by delint mistake
(auto increment evaluation order).  costmetic changes.
2000-04-25 13:27:22 +00:00
itojun
bb0ecf8c42 sync with BIND 4.9.7. mostly costmetic. 2000-04-25 13:26:03 +00:00
itojun
25855cd3a5 correct a use of sizeof() against nsaddr_list. 2000-04-25 08:56:06 +00:00
itojun
0635beac21 cleanup nsaddr_list handling.
- be more backward compatible with apps that update _res.nsaddr_list[n].
- allow scoped IPv6 addresses in /etc/resolv.conf (like fe80::1%lo0).
- simplify #ifdefs.
2000-04-25 08:51:39 +00:00
itojun
bcbd70d5bf add missing period. 2000-04-24 16:17:07 +00:00
itojun
72eddcac5b add __RCSID(). 2000-04-24 10:40:24 +00:00
itojun
92db021bdc use BSDI-origin if_{index,name}* functions. they use getifaddrs(3) as
backend and are more robust against SIOCGIFCONF alignment issue.
now getifaddrs always takes care of the issue.  (sync with kame tree)
use weak symbol just in case.
2000-04-24 10:24:46 +00:00
itojun
c6bf4b09bd supply weak alias for IPv6-related library additions. sorry to be late. 2000-04-24 09:27:30 +00:00
itojun
c217a09193 synchronize better with BIND 8.2.2P5 (actually, src/dist/bind).
inet_net_pton() becomes more strict on hexadecimals/octals.
2000-04-23 16:59:12 +00:00
itojun
79e89da473 change copyright notice from 3-clause TNF -> 4-clause TNF.
not sure if which we prefer, but the point is to use exactly the same
copyright.  From: matthew green <mrg@eterna.com.au>
2000-04-19 15:16:02 +00:00
itojun
f716418a10 in yphostent, initialize res0 when getaddrinfo fails. 2000-04-03 01:12:26 +00:00
christos
e904ed8773 Try to silence some of the lint warnings. Unfortunately we cannot fix
them all right now until we fix the ALIGN() macro to return u_long in
all the ports.
2000-04-02 21:31:54 +00:00
christos
f8c9a1f999 Delint:
- add notreached comment
	- remove unused variables
	- cast to void * first to avoid casting warnings
	- fix bug in _yphostent where cur and sentinel were not
	  being initialized.
2000-04-02 21:30:37 +00:00
christos
d24bee08a9 make this compile on non 4.4BSD systems 2000-03-17 06:11:55 +00:00
itojun
d5aee78db5 visit all requests even if we get errors from name server.
this will solve name query failures for IPv4-only node, when
the DNS server returns SERVFAIL or NXDOMAIN (should success with an == 0).
PR: 9621
2000-03-16 13:51:43 +00:00
sjg
413ffc39c1 Listing generated files nslexer.c nsparser.c in SRCS breaks make depend
in a clean dir. Put the actual src files nslexer.l nsparser.y there.
2000-03-14 14:34:50 +00:00
itojun
8e1ca1a351 fix fatal typo, which misused luser/ruser (PR 9543). 2000-03-05 09:40:57 +00:00
itojun
2dc247fc34 make CMSG_ALIGN always synchronize with kernel's idea of ALIGNBYTES.
ancillary data alignment will be ALIGNBYTES, not sizeof(long) - 1, from now.

CMSG_xx will NOT resolve into constant.  if you use CMSG_xx to allocate
arrays, you'll lose.

bump shlib minor for libc.

NOTE: if you are on top of arch with ALIGNBYTES != sizeof(long) - 1,
you need to recompile IPv6-related binaries.  there is no way to guarantee
backward compat in this aspect.  sorry for this.  this should be the last
backward compat breakage for IPv6-related ancillary data manipulation.
(we still have PR 9516 for unix-domain sockets...)
2000-03-02 07:41:49 +00:00
itojun
fe31f96aea fix alignment constraint in IPv6 routing header manipulation (ancillary data).
documented in RFC2292.
from: shin@kame.net
2000-02-29 18:24:31 +00:00
itojun
7b48263c7b (rcmd.c) to make Zoularis happier, pass sa_len separately from sockaddrs.
this changes function prototype for __ivalid*.
This commit breaks binary compatibility for __ivalid*.  I believe this can be
forgiven due to the following:
- this is not really exported function.  no function prototype is in headers.
  function name starts with underbars.  No third-party applications are
  expected to use it.
- the function was introduced very recently, when rcmd.c was made IPv6-ready.
- the only customer in NetBSD tree is lpd.

(lpd.c) sync with rcmd.c change.
2000-02-24 06:33:47 +00:00
itojun
73f8a2b760 add freeifaddrs.3 as MLINKS. 2000-02-23 15:44:00 +00:00
itojun
4b9363d8e4 add freeifaddrs(), which reclaims region allocated by getifaddrs().
in sync with kame and bsdi.
2000-02-23 15:29:18 +00:00
itojun
6037c7862b add getifaddrs(3) from bsdi4, as mentioned in tech-net (in SIOCGIFCONF
related thread).
this will save future apps from complexity of SIOCGIFCONF.

getifaddrs(3) does not use SIOCGIFCONF internally, it uses sysctl.
2000-02-23 06:57:46 +00:00
itojun
b2da836f1e avoid memory leak on valid FQDN + invalid port name. 2000-02-22 05:47:15 +00:00
itojun
08f1ee0d30 query NIS hosts.byname only when necessary (= PF_UNSPEC of PF_INET queries). 2000-02-20 17:07:01 +00:00
itojun
503ce101c1 getaddrinfo(3) now obeys nsswitch.conf correctly. 2000-02-20 14:45:34 +00:00
itojun
40e69da142 to honor the search order defined by nsswitch.conf,
getaddrinfo(3) now calls lower-layer resolver functions directly.

XXX code duplicate with gethnamaddr.c/res_search.c - future code
maintenance issue?  Since BIND[89] does not address this issue either at
this moment, switching to BIND[89] does not help.
2000-02-20 14:44:30 +00:00
itojun
5b36a9108a do not perform sleep() every time we get ECONNREFUSED.
try all the set of addresses before go to sleep() and retry.

not sure if we still need sleep() - retry logic.  why is it so persistent
in connecting?

From: SHIMIZU Ryo <ryo@misakimix.org>
2000-02-18 04:16:54 +00:00
itojun
823d2a5d81 to synchronize with progress of discussion for post
draft-ietf-ipngwg-scopedaddr-format-00.txt (will be 01),
use "address%interface" notation for extended scoped IPv6 address.

NOTE: the change affects link-local addresses only.  I hope it to be
the final change on it.....
2000-02-17 17:06:17 +00:00
itojun
8829e73e38 preparation to flip extended scoped address syntax.
the specification is still under debate; there is high possibility that
"fe80::1%de0" will be the finalist but i'm not sure yet.
2000-02-16 04:50:23 +00:00