about summary refs log tree commit diff
path: root/resolv
diff options
context:
space:
mode:
Diffstat (limited to 'resolv')
-rw-r--r--resolv/arpa/nameser.h145
-rw-r--r--resolv/arpa/nameser_compat.h127
-rw-r--r--resolv/res_debug.c7
3 files changed, 178 insertions, 101 deletions
diff --git a/resolv/arpa/nameser.h b/resolv/arpa/nameser.h
index 80d5cdf951..a99d5ec508 100644
--- a/resolv/arpa/nameser.h
+++ b/resolv/arpa/nameser.h
@@ -228,60 +228,97 @@ typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
 /*%
  * Currently defined type values for resources and queries.
  */
-typedef enum __ns_type {
-	ns_t_invalid = 0,	/*%< Cookie. */
-	ns_t_a = 1,		/*%< Host address. */
-	ns_t_ns = 2,		/*%< Authoritative server. */
-	ns_t_md = 3,		/*%< Mail destination. */
-	ns_t_mf = 4,		/*%< Mail forwarder. */
-	ns_t_cname = 5,		/*%< Canonical name. */
-	ns_t_soa = 6,		/*%< Start of authority zone. */
-	ns_t_mb = 7,		/*%< Mailbox domain name. */
-	ns_t_mg = 8,		/*%< Mail group member. */
-	ns_t_mr = 9,		/*%< Mail rename name. */
-	ns_t_null = 10,		/*%< Null resource record. */
-	ns_t_wks = 11,		/*%< Well known service. */
-	ns_t_ptr = 12,		/*%< Domain name pointer. */
-	ns_t_hinfo = 13,	/*%< Host information. */
-	ns_t_minfo = 14,	/*%< Mailbox information. */
-	ns_t_mx = 15,		/*%< Mail routing information. */
-	ns_t_txt = 16,		/*%< Text strings. */
-	ns_t_rp = 17,		/*%< Responsible person. */
-	ns_t_afsdb = 18,	/*%< AFS cell database. */
-	ns_t_x25 = 19,		/*%< X_25 calling address. */
-	ns_t_isdn = 20,		/*%< ISDN calling address. */
-	ns_t_rt = 21,		/*%< Router. */
-	ns_t_nsap = 22,		/*%< NSAP address. */
-	ns_t_nsap_ptr = 23,	/*%< Reverse NSAP lookup (deprecated). */
-	ns_t_sig = 24,		/*%< Security signature. */
-	ns_t_key = 25,		/*%< Security key. */
-	ns_t_px = 26,		/*%< X.400 mail mapping. */
-	ns_t_gpos = 27,		/*%< Geographical position (withdrawn). */
-	ns_t_aaaa = 28,		/*%< Ip6 Address. */
-	ns_t_loc = 29,		/*%< Location Information. */
-	ns_t_nxt = 30,		/*%< Next domain (security). */
-	ns_t_eid = 31,		/*%< Endpoint identifier. */
-	ns_t_nimloc = 32,	/*%< Nimrod Locator. */
-	ns_t_srv = 33,		/*%< Server Selection. */
-	ns_t_atma = 34,		/*%< ATM Address */
-	ns_t_naptr = 35,	/*%< Naming Authority PoinTeR */
-	ns_t_kx = 36,		/*%< Key Exchange */
-	ns_t_cert = 37,		/*%< Certification record */
-	ns_t_a6 = 38,		/*%< IPv6 address (deprecated, use ns_t_aaaa) */
-	ns_t_dname = 39,	/*%< Non-terminal DNAME (for IPv6) */
-	ns_t_sink = 40,		/*%< Kitchen sink (experimentatl) */
-	ns_t_opt = 41,		/*%< EDNS0 option (meta-RR) */
-	ns_t_apl = 42,		/*%< Address prefix list (RFC3123) */
-	ns_t_tkey = 249,	/*%< Transaction key */
-	ns_t_tsig = 250,	/*%< Transaction signature. */
-	ns_t_ixfr = 251,	/*%< Incremental zone transfer. */
-	ns_t_axfr = 252,	/*%< Transfer zone of authority. */
-	ns_t_mailb = 253,	/*%< Transfer mailbox records. */
-	ns_t_maila = 254,	/*%< Transfer mail agent records. */
-	ns_t_any = 255,		/*%< Wildcard match. */
-	ns_t_zxfr = 256,	/*%< BIND-specific, nonstandard. */
-	ns_t_max = 65536
-} ns_type;
+typedef enum __ns_type
+  {
+    ns_t_invalid = 0,
+
+    ns_t_a = 1,
+    ns_t_ns = 2,
+    ns_t_md = 3,
+    ns_t_mf = 4,
+    ns_t_cname = 5,
+    ns_t_soa = 6,
+    ns_t_mb = 7,
+    ns_t_mg = 8,
+    ns_t_mr = 9,
+    ns_t_null = 10,
+    ns_t_wks = 11,
+    ns_t_ptr = 12,
+    ns_t_hinfo = 13,
+    ns_t_minfo = 14,
+    ns_t_mx = 15,
+    ns_t_txt = 16,
+    ns_t_rp = 17,
+    ns_t_afsdb = 18,
+    ns_t_x25 = 19,
+    ns_t_isdn = 20,
+    ns_t_rt = 21,
+    ns_t_nsap = 22,
+    ns_t_nsap_ptr = 23,
+    ns_t_sig = 24,
+    ns_t_key = 25,
+    ns_t_px = 26,
+    ns_t_gpos = 27,
+    ns_t_aaaa = 28,
+    ns_t_loc = 29,
+    ns_t_nxt = 30,
+    ns_t_eid = 31,
+    ns_t_nimloc = 32,
+    ns_t_srv = 33,
+    ns_t_atma = 34,
+    ns_t_naptr = 35,
+    ns_t_kx = 36,
+    ns_t_cert = 37,
+    ns_t_a6 = 38,
+    ns_t_dname = 39,
+    ns_t_sink = 40,
+    ns_t_opt = 41,
+    ns_t_apl = 42,
+    ns_t_ds = 43,
+    ns_t_sshfp = 44,
+    ns_t_ipseckey = 45,
+    ns_t_rrsig = 46,
+    ns_t_nsec = 47,
+    ns_t_dnskey = 48,
+    ns_t_dhcid = 49,
+    ns_t_nsec3 = 50,
+    ns_t_nsec3param = 51,
+    ns_t_tlsa = 52,
+    ns_t_smimea = 53,
+    ns_t_hip = 55,
+    ns_t_ninfo = 56,
+    ns_t_rkey = 57,
+    ns_t_talink = 58,
+    ns_t_cds = 59,
+    ns_t_cdnskey = 60,
+    ns_t_openpgpkey = 61,
+    ns_t_csync = 62,
+    ns_t_spf = 99,
+    ns_t_uinfo = 100,
+    ns_t_uid = 101,
+    ns_t_gid = 102,
+    ns_t_unspec = 103,
+    ns_t_nid = 104,
+    ns_t_l32 = 105,
+    ns_t_l64 = 106,
+    ns_t_lp = 107,
+    ns_t_eui48 = 108,
+    ns_t_eui64 = 109,
+    ns_t_tkey = 249,
+    ns_t_tsig = 250,
+    ns_t_ixfr = 251,
+    ns_t_axfr = 252,
+    ns_t_mailb = 253,
+    ns_t_maila = 254,
+    ns_t_any = 255,
+    ns_t_uri = 256,
+    ns_t_caa = 257,
+    ns_t_avc = 258,
+    ns_t_ta = 32768,
+    ns_t_dlv = 32769,
+
+    ns_t_max = 65536
+  } ns_type;
 
 /*%
  * Values for class field
diff --git a/resolv/arpa/nameser_compat.h b/resolv/arpa/nameser_compat.h
index 6a2f029892..f1c390f3b9 100644
--- a/resolv/arpa/nameser_compat.h
+++ b/resolv/arpa/nameser_compat.h
@@ -120,49 +120,90 @@ typedef struct {
 #define DELETE		ns_uop_delete
 #define ADD		ns_uop_add
 
-#define T_A		ns_t_a
-#define T_NS		ns_t_ns
-#define T_MD		ns_t_md
-#define T_MF		ns_t_mf
-#define T_CNAME		ns_t_cname
-#define T_SOA		ns_t_soa
-#define T_MB		ns_t_mb
-#define T_MG		ns_t_mg
-#define T_MR		ns_t_mr
-#define T_NULL		ns_t_null
-#define T_WKS		ns_t_wks
-#define T_PTR		ns_t_ptr
-#define T_HINFO		ns_t_hinfo
-#define T_MINFO		ns_t_minfo
-#define T_MX		ns_t_mx
-#define T_TXT		ns_t_txt
-#define	T_RP		ns_t_rp
-#define T_AFSDB		ns_t_afsdb
-#define T_X25		ns_t_x25
-#define T_ISDN		ns_t_isdn
-#define T_RT		ns_t_rt
-#define T_NSAP		ns_t_nsap
-#define T_NSAP_PTR	ns_t_nsap_ptr
-#define	T_SIG		ns_t_sig
-#define	T_KEY		ns_t_key
-#define	T_PX		ns_t_px
-#define	T_GPOS		ns_t_gpos
-#define	T_AAAA		ns_t_aaaa
-#define	T_LOC		ns_t_loc
-#define	T_NXT		ns_t_nxt
-#define	T_EID		ns_t_eid
-#define	T_NIMLOC	ns_t_nimloc
-#define	T_SRV		ns_t_srv
-#define T_ATMA		ns_t_atma
-#define T_NAPTR		ns_t_naptr
-#define T_A6		ns_t_a6
-#define T_DNAME		ns_t_dname
-#define	T_TSIG		ns_t_tsig
-#define	T_IXFR		ns_t_ixfr
-#define T_AXFR		ns_t_axfr
-#define T_MAILB		ns_t_mailb
-#define T_MAILA		ns_t_maila
-#define T_ANY		ns_t_any
+#define T_A ns_t_a
+#define T_NS ns_t_ns
+#define T_MD ns_t_md
+#define T_MF ns_t_mf
+#define T_CNAME ns_t_cname
+#define T_SOA ns_t_soa
+#define T_MB ns_t_mb
+#define T_MG ns_t_mg
+#define T_MR ns_t_mr
+#define T_NULL ns_t_null
+#define T_WKS ns_t_wks
+#define T_PTR ns_t_ptr
+#define T_HINFO ns_t_hinfo
+#define T_MINFO ns_t_minfo
+#define T_MX ns_t_mx
+#define T_TXT ns_t_txt
+#define T_RP ns_t_rp
+#define T_AFSDB ns_t_afsdb
+#define T_X25 ns_t_x25
+#define T_ISDN ns_t_isdn
+#define T_RT ns_t_rt
+#define T_NSAP ns_t_nsap
+#define T_NSAP_PTR ns_t_nsap_ptr
+#define T_SIG ns_t_sig
+#define T_KEY ns_t_key
+#define T_PX ns_t_px
+#define T_GPOS ns_t_gpos
+#define T_AAAA ns_t_aaaa
+#define T_LOC ns_t_loc
+#define T_NXT ns_t_nxt
+#define T_EID ns_t_eid
+#define T_NIMLOC ns_t_nimloc
+#define T_SRV ns_t_srv
+#define T_ATMA ns_t_atma
+#define T_NAPTR ns_t_naptr
+#define T_KX ns_t_kx
+#define T_CERT ns_t_cert
+#define T_A6 ns_t_a6
+#define T_DNAME ns_t_dname
+#define T_SINK ns_t_sink
+#define T_OPT ns_t_opt
+#define T_APL ns_t_apl
+#define T_DS ns_t_ds
+#define T_SSHFP ns_t_sshfp
+#define T_IPSECKEY ns_t_ipseckey
+#define T_RRSIG ns_t_rrsig
+#define T_NSEC ns_t_nsec
+#define T_DNSKEY ns_t_dnskey
+#define T_DHCID ns_t_dhcid
+#define T_NSEC3 ns_t_nsec3
+#define T_NSEC3PARAM ns_t_nsec3param
+#define T_TLSA ns_t_tlsa
+#define T_SMIMEA ns_t_smimea
+#define T_HIP ns_t_hip
+#define T_NINFO ns_t_ninfo
+#define T_RKEY ns_t_rkey
+#define T_TALINK ns_t_talink
+#define T_CDS ns_t_cds
+#define T_CDNSKEY ns_t_cdnskey
+#define T_OPENPGPKEY ns_t_openpgpkey
+#define T_CSYNC ns_t_csync
+#define T_SPF ns_t_spf
+#define T_UINFO ns_t_uinfo
+#define T_UID ns_t_uid
+#define T_GID ns_t_gid
+#define T_UNSPEC ns_t_unspec
+#define T_NID ns_t_nid
+#define T_L32 ns_t_l32
+#define T_L64 ns_t_l64
+#define T_LP ns_t_lp
+#define T_EUI48 ns_t_eui48
+#define T_EUI64 ns_t_eui64
+#define T_TKEY ns_t_tkey
+#define T_TSIG ns_t_tsig
+#define T_IXFR ns_t_ixfr
+#define T_AXFR ns_t_axfr
+#define T_MAILB ns_t_mailb
+#define T_MAILA ns_t_maila
+#define T_ANY ns_t_any
+#define T_URI ns_t_uri
+#define T_CAA ns_t_caa
+#define T_AVC ns_t_avc
+#define T_TA ns_t_ta
+#define T_DLV ns_t_dlv
 
 #define C_IN		ns_c_in
 #define C_CHAOS		ns_c_chaos
diff --git a/resolv/res_debug.c b/resolv/res_debug.c
index 12059c229b..14557dd323 100644
--- a/resolv/res_debug.c
+++ b/resolv/res_debug.c
@@ -372,9 +372,8 @@ const struct res_sym __p_update_section_syms[] attribute_hidden = {
 };
 
 /*
- * Names of RR types and qtypes.  Types and qtypes are the same, except
- * that T_ANY is a qtype but not a type.  (You can ask for records of type
- * T_ANY, but you can't have any records of that type in the database.)
+ * Names of RR types and qtypes.  The list is incomplete because its
+ * size is part of the ABI.
  */
 extern const struct res_sym __p_type_syms[];
 libresolv_hidden_proto (__p_type_syms)
@@ -418,13 +417,13 @@ const struct res_sym __p_type_syms[] = {
   {ns_t_tsig,   (char *) "TSIG",  (char *) "transaction signature"},
   {ns_t_ixfr,   (char *) "IXFR",  (char *) "incremental zone transfer"},
   {ns_t_axfr,   (char *) "AXFR",  (char *) "zone transfer"},
-  {ns_t_zxfr,   (char *) "ZXFR",  (char *) "compressed zone transfer"},
   {ns_t_mailb,  (char *) "MAILB", (char *) "mailbox-related data (deprecated)"},
   {ns_t_maila,  (char *) "MAILA", (char *) "mail agent (deprecated)"},
   {ns_t_naptr,  (char *) "NAPTR", (char *) "URN Naming Authority"},
   {ns_t_kx,     (char *) "KX",    (char *) "Key Exchange"},
   {ns_t_cert,   (char *) "CERT",  (char *) "Certificate"},
   {ns_t_any,    (char *) "ANY",   (char *) "\"any\""},
+  {0, NULL, NULL},		/* Padding to preserve ABI.  */
   {0, NULL, NULL}
 };
 libresolv_hidden_data_def (__p_type_syms)