summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2001-06-10 20:25:24 +0000
committerume <ume@FreeBSD.org>2001-06-10 20:25:24 +0000
commit32dc912febbf3960c47a0ebfd387977b2c78656b (patch)
tree262ae419994b75015819bd1f21a102e4d30832d2 /include
parent28fc250493cc9938edeed93280f363eeba7bcd2f (diff)
downloadFreeBSD-src-32dc912febbf3960c47a0ebfd387977b2c78656b.zip
FreeBSD-src-32dc912febbf3960c47a0ebfd387977b2c78656b.tar.gz
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. Obtained from: KAME/NetBSD
Diffstat (limited to 'include')
-rw-r--r--include/arpa/nameser.h1
-rw-r--r--include/arpa/nameser_compat.h1
-rw-r--r--include/resolv.h4
3 files changed, 6 insertions, 0 deletions
diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h
index 3e09c91..343e641 100644
--- a/include/arpa/nameser.h
+++ b/include/arpa/nameser.h
@@ -273,6 +273,7 @@ typedef enum __ns_type {
ns_t_srv = 33, /* Server Selection. */
ns_t_atma = 34, /* ATM Address */
ns_t_naptr = 35, /* Naming Authority PoinTeR */
+ ns_t_opt = 41, /* OPT pseudo-RR, RFC2761 */
/* Query type values which do not appear in resource records. */
ns_t_ixfr = 251, /* Incremental zone transfer. */
ns_t_axfr = 252, /* Transfer zone of authority. */
diff --git a/include/arpa/nameser_compat.h b/include/arpa/nameser_compat.h
index 850fb8a..2321797 100644
--- a/include/arpa/nameser_compat.h
+++ b/include/arpa/nameser_compat.h
@@ -173,6 +173,7 @@ typedef struct {
#define T_SRV ns_t_srv
#define T_ATMA ns_t_atma
#define T_NAPTR ns_t_naptr
+#define T_OPT ns_t_opt
#define T_IXFR ns_t_ixfr
#define T_AXFR ns_t_axfr
#define T_MAILB ns_t_mailb
diff --git a/include/resolv.h b/include/resolv.h
index 4a0cf74..a076c7e 100644
--- a/include/resolv.h
+++ b/include/resolv.h
@@ -150,6 +150,8 @@ struct __res_state_ext {
#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */
#define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */
#define RES_NOTLDQUERY 0x00004000 /* Don't query TLD names */
+/* 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)
@@ -249,6 +251,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
#define res_mkupdate __res_mkupdate
#define res_mkupdrec __res_mkupdrec
#define res_freeupdrec __res_freeupdrec
@@ -303,6 +306,7 @@ int res_nameinquery __P((const char *, int, int,
int res_queriesmatch __P((const u_char *, const u_char *,
const u_char *, const u_char *));
void res_close __P((void));
+int res_opt __P((int, u_char *, int, int));
const char * p_section __P((int, int));
/* XXX The following depend on the ns_updrec typedef in arpa/nameser.h */
#ifdef _ARPA_NAMESER_H_
OpenPOWER on IntegriCloud