summaryrefslogtreecommitdiff
path: root/src/lib/libc/net/res_init.c
diff options
context:
space:
mode:
authoritojun <>2001-06-11 10:06:01 +0000
committeritojun <>2001-06-11 10:06:01 +0000
commit3181f54059d8f111597b6e6ebec0e24f7939ada7 (patch)
treebfe7ada7d6c92fea65c972ec4fb3bcfcdbfc2dc5 /src/lib/libc/net/res_init.c
parente48fbbe799cf5b7ff38a184af2aa7f3ce90f7f65 (diff)
downloadopenbsd-3181f54059d8f111597b6e6ebec0e24f7939ada7.tar.gz
openbsd-3181f54059d8f111597b6e6ebec0e24f7939ada7.tar.bz2
openbsd-3181f54059d8f111597b6e6ebec0e24f7939ada7.zip
support EDNS0 (RFC2671) buffer size notification on DNS queries.
"options edns0" in /etc/resolv.conf will enable the behavior. no behavior change if you don't have the line. see resolv.conf(5) for more details. EDNS0 is useful for avoiding TCP DNS queries/replies on larger DNS responses. also, draft-ietf-dnsext-message-size-* plans to mandate EDNS0 support for DNS clients that support IPv6 transport.
Diffstat (limited to 'src/lib/libc/net/res_init.c')
-rw-r--r--src/lib/libc/net/res_init.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libc/net/res_init.c b/src/lib/libc/net/res_init.c
index bba8cfaad1..c44539604a 100644
--- a/src/lib/libc/net/res_init.c
+++ b/src/lib/libc/net/res_init.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: res_init.c,v 1.20 2000/11/10 15:33:04 provos Exp $ */ 1/* $OpenBSD: res_init.c,v 1.21 2001/06/11 10:06:00 itojun Exp $ */
2 2
3/* 3/*
4 * ++Copyright++ 1985, 1989, 1993 4 * ++Copyright++ 1985, 1989, 1993
@@ -64,7 +64,7 @@
64static char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93"; 64static char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93";
65static char rcsid[] = "$From: res_init.c,v 8.7 1996/09/28 06:51:07 vixie Exp $"; 65static char rcsid[] = "$From: res_init.c,v 8.7 1996/09/28 06:51:07 vixie Exp $";
66#else 66#else
67static char rcsid[] = "$OpenBSD: res_init.c,v 1.20 2000/11/10 15:33:04 provos Exp $"; 67static char rcsid[] = "$OpenBSD: res_init.c,v 1.21 2001/06/11 10:06:00 itojun Exp $";
68#endif 68#endif
69#endif /* LIBC_SCCS and not lint */ 69#endif /* LIBC_SCCS and not lint */
70 70
@@ -608,6 +608,8 @@ res_setoptions(options, source)
608#endif 608#endif
609 } else if (!strncmp(cp, "inet6", sizeof("inet6") - 1)) { 609 } else if (!strncmp(cp, "inet6", sizeof("inet6") - 1)) {
610 _res.options |= RES_USE_INET6; 610 _res.options |= RES_USE_INET6;
611 } else if (!strncmp(cp, "edns0", sizeof("edns0") - 1)) {
612 _res.options |= RES_USE_EDNS0;
611 } else { 613 } else {
612 /* XXX - print a warning here? */ 614 /* XXX - print a warning here? */
613 } 615 }