diff --git a/src/rr-dict.c b/src/rr-dict.c index aaf0bfcd..c6831daf 100644 --- a/src/rr-dict.c +++ b/src/rr-dict.c @@ -344,7 +344,7 @@ static priv_getdns_rdata_def dname_rdata[] = { static priv_getdns_rdata_def opt_rdata[] = { { "options" , GETDNS_RDF_R }, { "option_code" , GETDNS_RDF_I2 }, - { "option_data" , GETDNS_RDF_X_2 }}; + { "option_data" , GETDNS_RDF_X_S }}; static priv_getdns_rdata_def apl_rdata[] = { { "apitems" , GETDNS_RDF_R }, { "address_family" , GETDNS_RDF_I2 }, @@ -371,8 +371,8 @@ static priv_getdns_rdata_def rrsig_rdata[] = { { "algorithm" , GETDNS_RDF_I1 }, { "labels" , GETDNS_RDF_I1 }, { "original_ttl" , GETDNS_RDF_I4 }, - { "signature_expiration" , GETDNS_RDF_I4 }, - { "signature_inception" , GETDNS_RDF_I4 }, + { "signature_expiration" , GETDNS_RDF_T }, + { "signature_inception" , GETDNS_RDF_T }, { "key_tag" , GETDNS_RDF_I2 }, { "signers_name" , GETDNS_RDF_N }, { "signature" , GETDNS_RDF_B }}; @@ -412,13 +412,13 @@ static priv_getdns_rdata_def spf_rdata[] = { { "text" , GETDNS_RDF_S_M }}; static priv_getdns_rdata_def nid_rdata[] = { { "preference" , GETDNS_RDF_I2 }, - { "node_id" , GETDNS_RDF_X8 }}; + { "node_id" , GETDNS_RDF_AA }}; static priv_getdns_rdata_def l32_rdata[] = { { "preference" , GETDNS_RDF_I2 }, { "locator32" , GETDNS_RDF_A }}; static priv_getdns_rdata_def l64_rdata[] = { { "preference" , GETDNS_RDF_I2 }, - { "locator64" , GETDNS_RDF_X8 }}; + { "locator64" , GETDNS_RDF_AA }}; static priv_getdns_rdata_def lp_rdata[] = { { "preference" , GETDNS_RDF_I2 }, { "fqdn" , GETDNS_RDF_N }}; @@ -428,28 +428,28 @@ static priv_getdns_rdata_def eui64_rdata[] = { { "eui64_address" , GETDNS_RDF_X8 }}; static priv_getdns_rdata_def tkey_rdata[] = { { "algorithm" , GETDNS_RDF_N }, - { "inception" , GETDNS_RDF_I4 }, - { "expiration" , GETDNS_RDF_I4 }, + { "inception" , GETDNS_RDF_T }, + { "expiration" , GETDNS_RDF_T }, { "mode" , GETDNS_RDF_I2 }, { "error" , GETDNS_RDF_I2 }, - { "key_data" , GETDNS_RDF_X_2 }, - { "other_data" , GETDNS_RDF_X_2 }}; + { "key_data" , GETDNS_RDF_X_S }, + { "other_data" , GETDNS_RDF_X_S }}; static priv_getdns_rdata_def tsig_rdata[] = { { "algorithm" , GETDNS_RDF_N }, - { "time_signed" , GETDNS_RDF_I6 }, + { "time_signed" , GETDNS_RDF_T6 }, { "fudge" , GETDNS_RDF_I2 }, - { "mac" , GETDNS_RDF_X_2 }, + { "mac" , GETDNS_RDF_X_S }, { "original_id" , GETDNS_RDF_I2 }, { "error" , GETDNS_RDF_I2 }, - { "other_data" , GETDNS_RDF_X_2 }}; + { "other_data" , GETDNS_RDF_X_S }}; static priv_getdns_rdata_def uri_rdata[] = { { "priority" , GETDNS_RDF_I2 }, { "weight" , GETDNS_RDF_I2 }, - { "target" , GETDNS_RDF_S_M }}; + { "target" , GETDNS_RDF_S_L }}; static priv_getdns_rdata_def caa_rdata[] = { { "flags" , GETDNS_RDF_I1 }, { "tag" , GETDNS_RDF_S }, - { "value" , GETDNS_RDF_S_M }}; + { "value" , GETDNS_RDF_S_L }}; static priv_getdns_rdata_def dlv_rdata[] = { { "key_tag" , GETDNS_RDF_I2 }, { "algorithm" , GETDNS_RDF_I1 }, diff --git a/src/rr-dict.h b/src/rr-dict.h index 316cf178..21d56b80 100644 --- a/src/rr-dict.h +++ b/src/rr-dict.h @@ -60,28 +60,55 @@ typedef struct priv_getdns_rdf_special { #define GETDNS_RDF_LEN_VAL 0x00FF00 typedef enum priv_getdns_rdf_wf_type { - GETDNS_RDF_N = 0x060000, - GETDNS_RDF_N_A = GETDNS_RDF_N, - GETDNS_RDF_N_A_C = GETDNS_RDF_N, - GETDNS_RDF_N_C = GETDNS_RDF_N, - GETDNS_RDF_N_M = 0x160000, + GETDNS_RDF_N = 0x060000, /* N */ + GETDNS_RDF_N_A = GETDNS_RDF_N, /* N[A] */ + GETDNS_RDF_N_A_C = GETDNS_RDF_N, /* N[A,C] */ + GETDNS_RDF_N_C = GETDNS_RDF_N, /* N[C] */ + GETDNS_RDF_N_M = 0x160000, /* N[M] */ - GETDNS_RDF_I1 = 0x010001, - GETDNS_RDF_I2 = 0x010002, - GETDNS_RDF_I4 = 0x010004, - GETDNS_RDF_I6 = 0x020006, - GETDNS_RDF_A = 0x020004, - GETDNS_RDF_AAAA = 0x020010, + GETDNS_RDF_I1 = 0x010001, /* I1 */ + GETDNS_RDF_I2 = 0x010002, /* I2 */ + GETDNS_RDF_I4 = 0x010004, /* I4 */ - GETDNS_RDF_S = 0x020100, - GETDNS_RDF_S_M = 0x120100, + GETDNS_RDF_T = 0x010004, /* T */ + /* Time values using ring arithmetics + * (rfc1982) for TKEY['inception'], + * TKEY['expiration'], + * RRSIG['inception'] and + * RRSIG['expiration'] + */ + GETDNS_RDF_T6 = 0x020006, /* T6 */ + /* Absolute time values (since epoch) + * for TSIG['time_signed'] + */ - GETDNS_RDF_B = 0x020000, - GETDNS_RDF_B_C = 0x020100, - GETDNS_RDF_B32_C = 0x020100, - GETDNS_RDF_X = 0x020000, - GETDNS_RDF_X_C = 0x020100, - GETDNS_RDF_X_2 = 0x020200, + GETDNS_RDF_A = 0x020004, /* A */ + GETDNS_RDF_AA = 0x020008, /* AA */ + GETDNS_RDF_AAAA = 0x020010, /* AAAA */ + + GETDNS_RDF_S = 0x020100, /* S */ + GETDNS_RDF_S_L = 0x020000, /* S[L] */ + GETDNS_RDF_S_M = 0x120100, /* S[M] */ + + GETDNS_RDF_B = 0x020000, /* B */ + GETDNS_RDF_B_C = 0x020100, /* B[C] */ + + GETDNS_RDF_B32_C = 0x020100, /* B32[C] */ + + GETDNS_RDF_X = 0x020000, /* X */ + GETDNS_RDF_X_C = 0x020100, /* X[C] */ + /* for NSEC3['salt'] and + * NSEC3PARAM['salt']. + */ + GETDNS_RDF_X_S = 0x020200, /* X[S] */ + /* for OPT['option_data'], + * TKEY['key_data'], + * TKEY['other_data'], + * TSIG['mac'] and + * TSIG['other_data'] + * Although those do not have an + * official presentation format. + */ GETDNS_RDF_X6 = 0x020006, GETDNS_RDF_X8 = 0x020008,