From 4fe6900d34c658a81df5efc40e562c161597ace2 Mon Sep 17 00:00:00 2001 From: itojun <> Date: Fri, 14 Sep 2001 23:49:29 +0000 Subject: add "options insecure[12]" support for /etc/resolv.conf. insecure1 is necessary for IPv6 dynamic DNS server discovery, draft-ietf-ipngwg-dns-discovery-02.txt. sync with kame. ok'ed by angelos --- src/lib/libc/net/res_init.c | 8 ++++++-- src/lib/libc/net/res_send.c | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib/libc/net/res_init.c b/src/lib/libc/net/res_init.c index d21eed4a87..c74e0339ba 100644 --- a/src/lib/libc/net/res_init.c +++ b/src/lib/libc/net/res_init.c @@ -1,4 +1,4 @@ -/* $OpenBSD: res_init.c,v 1.23 2001/06/30 00:50:21 itojun Exp $ */ +/* $OpenBSD: res_init.c,v 1.24 2001/09/14 23:49:29 itojun Exp $ */ /* * ++Copyright++ 1985, 1989, 1993 @@ -64,7 +64,7 @@ static char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93"; static char rcsid[] = "$From: res_init.c,v 8.7 1996/09/28 06:51:07 vixie Exp $"; #else -static char rcsid[] = "$OpenBSD: res_init.c,v 1.23 2001/06/30 00:50:21 itojun Exp $"; +static char rcsid[] = "$OpenBSD: res_init.c,v 1.24 2001/09/14 23:49:29 itojun Exp $"; #endif #endif /* LIBC_SCCS and not lint */ @@ -607,6 +607,10 @@ res_setoptions(options, source) #endif } else if (!strncmp(cp, "inet6", sizeof("inet6") - 1)) { _res.options |= RES_USE_INET6; + } else if (!strncmp(cp, "insecure1", sizeof("insecure1") - 1)) { + _res.options |= RES_INSECURE1; + } else if (!strncmp(cp, "insecure2", sizeof("insecure2") - 1)) { + _res.options |= RES_INSECURE2; } else if (!strncmp(cp, "edns0", sizeof("edns0") - 1)) { _res.options |= RES_USE_EDNS0; } else { diff --git a/src/lib/libc/net/res_send.c b/src/lib/libc/net/res_send.c index d0f17af8ed..ab50559de6 100644 --- a/src/lib/libc/net/res_send.c +++ b/src/lib/libc/net/res_send.c @@ -1,4 +1,4 @@ -/* $OpenBSD: res_send.c,v 1.9 2000/06/22 07:31:18 itojun Exp $ */ +/* $OpenBSD: res_send.c,v 1.10 2001/09/14 23:49:29 itojun Exp $ */ /* * ++Copyright++ 1985, 1989, 1993 @@ -64,7 +64,7 @@ static char sccsid[] = "@(#)res_send.c 8.1 (Berkeley) 6/4/93"; static char rcsid[] = "$From: res_send.c,v 8.12 1996/10/08 04:51:06 vixie Exp $"; #else -static char rcsid[] = "$OpenBSD: res_send.c,v 1.9 2000/06/22 07:31:18 itojun Exp $"; +static char rcsid[] = "$OpenBSD: res_send.c,v 1.10 2001/09/14 23:49:29 itojun Exp $"; #endif #endif /* LIBC_SCCS and not lint */ @@ -625,7 +625,8 @@ read_len: * as we wish to receive answers from the first * server to respond. */ - if (_res.nscount == 1 || (try == 0 && ns == 0)) { + if (!(_res.options & RES_INSECURE1) && + (_res.nscount == 1 || (try == 0 && ns == 0))) { /* * Connect only if we are sure we won't * receive a response from another server. -- cgit v1.2.3-55-g6feb