From a795b00db82d6257042c12c43269d756ff1b06d4 Mon Sep 17 00:00:00 2001 From: itojun <> Date: Mon, 11 Jun 2001 10:06:03 +0000 Subject: [PATCH] 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. --- src/include/arpa/nameser.h | 3 ++- src/include/resolv.h | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/include/arpa/nameser.h b/src/include/arpa/nameser.h index 23af2400..b1086ad9 100644 --- a/src/include/arpa/nameser.h +++ b/src/include/arpa/nameser.h @@ -1,4 +1,4 @@ -/* $OpenBSD: nameser.h,v 1.3 1997/03/13 19:11:54 downsj Exp $ */ +/* $OpenBSD: nameser.h,v 1.4 2001/06/11 10:06:03 itojun Exp $ */ /* * ++Copyright++ 1983, 1989, 1993 @@ -183,6 +183,7 @@ #define T_SRV 33 /* Server selection */ #define T_ATMA 34 /* ATM Address */ #define T_NAPTR 35 /* Naming Authority PoinTeR */ +#define T_OPT 41 /* OPT pseudo-RR, RFC2761 */ /* non standard */ #define T_UINFO 100 /* user (finger) information */ #define T_UID 101 /* user ID */ diff --git a/src/include/resolv.h b/src/include/resolv.h index c7d6715c..ea7bf495 100644 --- a/src/include/resolv.h +++ b/src/include/resolv.h @@ -1,4 +1,4 @@ -/* $OpenBSD: resolv.h,v 1.5 2001/01/04 21:37:11 todd Exp $ */ +/* $OpenBSD: resolv.h,v 1.6 2001/06/11 10:06:02 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -192,6 +192,8 @@ struct __res_state_ext { #define RES_INSECURE2 0x00000800 /* type 2 security disabled */ #define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */ #define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */ +/* KAME extensions: use higher bit to avoid conflict with ISC use */ +#define RES_USE_EDNS0 0x40000000 /* use EDNS0 */ #define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH) @@ -284,6 +286,7 @@ extern const struct res_sym __p_type_syms[]; #define res_nameinquery __res_nameinquery #define res_queriesmatch __res_queriesmatch #define res_close __res_close +#define res_opt __res_opt #ifdef BIND_RES_POSIX3 #define dn_expand __dn_expand