additional dns_rdata_{tostruct,freestruct}() testing.
This commit is contained in:
@@ -39,25 +39,32 @@ isc_lex_t *lex;
|
||||
isc_lexspecials_t specials;
|
||||
|
||||
static void
|
||||
viastruct(dns_rdata_t *rdata) {
|
||||
viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
|
||||
dns_rdata_t *rdata2, isc_buffer_t *b)
|
||||
{
|
||||
isc_result_t result;
|
||||
void *sp = NULL;
|
||||
isc_boolean_t need_free = ISC_FALSE;
|
||||
|
||||
UNUSED(rdata2); /* XXXMPA remove when fromstruct is ready. */
|
||||
UNUSED(b);
|
||||
|
||||
switch (rdata->type) {
|
||||
case dns_rdatatype_a6: {
|
||||
dns_rdata_in_a6_t in_a6;
|
||||
result = dns_rdata_tostruct(rdata, &in_a6, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_a6, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_a: {
|
||||
switch (rdata->rdclass) {
|
||||
case dns_rdataclass_hs: {
|
||||
dns_rdata_hs_a_t hs_a;
|
||||
result = dns_rdata_tostruct(rdata, &hs_a, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &hs_a, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdataclass_in: {
|
||||
dns_rdata_in_a_t in_a;
|
||||
result = dns_rdata_tostruct(rdata, &in_a, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_a, NULL);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -68,12 +75,12 @@ viastruct(dns_rdata_t *rdata) {
|
||||
}
|
||||
case dns_rdatatype_aaaa: {
|
||||
dns_rdata_in_aaaa_t in_aaaa;
|
||||
result = dns_rdata_tostruct(rdata, &in_aaaa, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_aaaa, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_afsdb: {
|
||||
dns_rdata_afsdb_t afsdb;
|
||||
result = dns_rdata_tostruct(rdata, &afsdb, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &afsdb, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_any: {
|
||||
@@ -82,177 +89,182 @@ viastruct(dns_rdata_t *rdata) {
|
||||
}
|
||||
case dns_rdatatype_cert: {
|
||||
dns_rdata_cert_t cert;
|
||||
result = dns_rdata_tostruct(rdata, &cert, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &cert, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_cname: {
|
||||
dns_rdata_cname_t cname;
|
||||
result = dns_rdata_tostruct(rdata, &cname, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &cname, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_dname: {
|
||||
dns_rdata_dname_t dname;
|
||||
result = dns_rdata_tostruct(rdata, &dname, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &dname, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_gpos: {
|
||||
dns_rdata_gpos_t gpos;
|
||||
result = dns_rdata_tostruct(rdata, &gpos, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &gpos, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_hinfo: {
|
||||
dns_rdata_hinfo_t hinfo;
|
||||
result = dns_rdata_tostruct(rdata, &hinfo, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &hinfo, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_isdn: {
|
||||
dns_rdata_isdn_t isdn;
|
||||
result = dns_rdata_tostruct(rdata, &isdn, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &isdn, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_key: {
|
||||
dns_rdata_key_t key;
|
||||
result = dns_rdata_tostruct(rdata, &key, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &key, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_kx: {
|
||||
dns_rdata_in_kx_t in_kx;
|
||||
result = dns_rdata_tostruct(rdata, &in_kx, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_kx, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_loc: {
|
||||
dns_rdata_loc_t loc;
|
||||
result = dns_rdata_tostruct(rdata, &loc, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &loc, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mb: {
|
||||
dns_rdata_mb_t mb;
|
||||
result = dns_rdata_tostruct(rdata, &mb, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &mb, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_md: {
|
||||
dns_rdata_md_t md;
|
||||
result = dns_rdata_tostruct(rdata, &md, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &md, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mf: {
|
||||
dns_rdata_mf_t mf;
|
||||
result = dns_rdata_tostruct(rdata, &mf, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &mf, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mg: {
|
||||
dns_rdata_mg_t mg;
|
||||
result = dns_rdata_tostruct(rdata, &mg, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &mg, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_minfo: {
|
||||
dns_rdata_minfo_t minfo;
|
||||
result = dns_rdata_tostruct(rdata, &minfo, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &minfo, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mr: {
|
||||
dns_rdata_mr_t mr;
|
||||
result = dns_rdata_tostruct(rdata, &mr, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &mr, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mx: {
|
||||
dns_rdata_mx_t mx;
|
||||
result = dns_rdata_tostruct(rdata, &mx, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &mx, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_naptr: {
|
||||
dns_rdata_in_naptr_t in_naptr;
|
||||
result = dns_rdata_tostruct(rdata, &in_naptr, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_naptr, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_ns: {
|
||||
dns_rdata_ns_t ns;
|
||||
result = dns_rdata_tostruct(rdata, &ns, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &ns, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nsap: {
|
||||
dns_rdata_in_nsap_t in_nsap;
|
||||
result = dns_rdata_tostruct(rdata, &in_nsap, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_nsap, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nsap_ptr: {
|
||||
dns_rdata_in_nsap_ptr_t in_nsap_ptr;
|
||||
result = dns_rdata_tostruct(rdata, &in_nsap_ptr, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_nsap_ptr, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_null: {
|
||||
dns_rdata_null_t null;
|
||||
result = dns_rdata_tostruct(rdata, &null, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &null, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nxt: {
|
||||
dns_rdata_nxt_t nxt;
|
||||
result = dns_rdata_tostruct(rdata, &nxt, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &nxt, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_opt: {
|
||||
dns_rdata_opt_t opt;
|
||||
result = dns_rdata_tostruct(rdata, &opt, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &opt, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_ptr: {
|
||||
dns_rdata_ptr_t ptr;
|
||||
result = dns_rdata_tostruct(rdata, &ptr, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &ptr, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_px: {
|
||||
dns_rdata_in_px_t in_px;
|
||||
result = dns_rdata_tostruct(rdata, &in_px, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_px, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_rp: {
|
||||
dns_rdata_rp_t rp;
|
||||
result = dns_rdata_tostruct(rdata, &rp, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &rp, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_rt: {
|
||||
dns_rdata_rt_t rt;
|
||||
result = dns_rdata_tostruct(rdata, &rt, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &rt, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_sig: {
|
||||
dns_rdata_sig_t sig;
|
||||
result = dns_rdata_tostruct(rdata, &sig, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &sig, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_soa: {
|
||||
dns_rdata_soa_t soa;
|
||||
result = dns_rdata_tostruct(rdata, &soa, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &soa, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_srv: {
|
||||
dns_rdata_in_srv_t in_srv;
|
||||
result = dns_rdata_tostruct(rdata, &in_srv, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_srv, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_tkey: {
|
||||
dns_rdata_tkey_t tkey;
|
||||
result = dns_rdata_tostruct(rdata, &tkey, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &tkey, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_tsig: {
|
||||
dns_rdata_any_tsig_t tsig;
|
||||
result = dns_rdata_tostruct(rdata, sp = &tsig, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_txt: {
|
||||
dns_rdata_txt_t txt;
|
||||
result = dns_rdata_tostruct(rdata, &txt, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &txt, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_unspec: {
|
||||
dns_rdata_unspec_t unspec;
|
||||
result = dns_rdata_tostruct(rdata, &unspec, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &unspec, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_wks: {
|
||||
dns_rdata_in_wks_t in_wks;
|
||||
result = dns_rdata_tostruct(rdata, &in_wks, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_wks, NULL);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_x25: {
|
||||
dns_rdata_x25_t x25;
|
||||
result = dns_rdata_tostruct(rdata, &x25, NULL);
|
||||
result = dns_rdata_tostruct(rdata, sp = &x25, NULL);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -263,6 +275,472 @@ viastruct(dns_rdata_t *rdata) {
|
||||
printf("viastruct: tostuct %d %d return %s\n",
|
||||
rdata->type, rdata->rdclass,
|
||||
dns_result_totext(result));
|
||||
else
|
||||
dns_rdata_freestruct(sp);
|
||||
|
||||
switch (rdata->type) {
|
||||
case dns_rdatatype_a6: {
|
||||
dns_rdata_in_a6_t in_a6;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_a6, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_a: {
|
||||
switch (rdata->rdclass) {
|
||||
case dns_rdataclass_hs: {
|
||||
dns_rdata_hs_a_t hs_a;
|
||||
result = dns_rdata_tostruct(rdata, sp = &hs_a, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdataclass_in: {
|
||||
dns_rdata_in_a_t in_a;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_a, mctx);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
result = ISC_R_NOTIMPLEMENTED;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_aaaa: {
|
||||
dns_rdata_in_aaaa_t in_aaaa;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_aaaa, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_afsdb: {
|
||||
dns_rdata_afsdb_t afsdb;
|
||||
result = dns_rdata_tostruct(rdata, sp = &afsdb, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_any: {
|
||||
result = ISC_R_NOTIMPLEMENTED;
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_cert: {
|
||||
dns_rdata_cert_t cert;
|
||||
result = dns_rdata_tostruct(rdata, sp = &cert, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_cname: {
|
||||
dns_rdata_cname_t cname;
|
||||
result = dns_rdata_tostruct(rdata, sp = &cname, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_dname: {
|
||||
dns_rdata_dname_t dname;
|
||||
result = dns_rdata_tostruct(rdata, sp = &dname, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_gpos: {
|
||||
dns_rdata_gpos_t gpos;
|
||||
result = dns_rdata_tostruct(rdata, sp = &gpos, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_hinfo: {
|
||||
dns_rdata_hinfo_t hinfo;
|
||||
result = dns_rdata_tostruct(rdata, sp = &hinfo, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_isdn: {
|
||||
dns_rdata_isdn_t isdn;
|
||||
result = dns_rdata_tostruct(rdata, sp = &isdn, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_key: {
|
||||
dns_rdata_key_t key;
|
||||
result = dns_rdata_tostruct(rdata, sp = &key, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_kx: {
|
||||
dns_rdata_in_kx_t in_kx;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_kx, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_loc: {
|
||||
dns_rdata_loc_t loc;
|
||||
result = dns_rdata_tostruct(rdata, sp = &loc, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mb: {
|
||||
dns_rdata_mb_t mb;
|
||||
result = dns_rdata_tostruct(rdata, sp = &mb, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_md: {
|
||||
dns_rdata_md_t md;
|
||||
result = dns_rdata_tostruct(rdata, sp = &md, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mf: {
|
||||
dns_rdata_mf_t mf;
|
||||
result = dns_rdata_tostruct(rdata, sp = &mf, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mg: {
|
||||
dns_rdata_mg_t mg;
|
||||
result = dns_rdata_tostruct(rdata, sp = &mg, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_minfo: {
|
||||
dns_rdata_minfo_t minfo;
|
||||
result = dns_rdata_tostruct(rdata, sp = &minfo, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mr: {
|
||||
dns_rdata_mr_t mr;
|
||||
result = dns_rdata_tostruct(rdata, sp = &mr, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mx: {
|
||||
dns_rdata_mx_t mx;
|
||||
result = dns_rdata_tostruct(rdata, sp = &mx, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_naptr: {
|
||||
dns_rdata_in_naptr_t in_naptr;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_naptr, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_ns: {
|
||||
dns_rdata_ns_t ns;
|
||||
result = dns_rdata_tostruct(rdata, sp = &ns, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nsap: {
|
||||
dns_rdata_in_nsap_t in_nsap;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_nsap, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nsap_ptr: {
|
||||
dns_rdata_in_nsap_ptr_t in_nsap_ptr;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_nsap_ptr, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_null: {
|
||||
dns_rdata_null_t null;
|
||||
result = dns_rdata_tostruct(rdata, sp = &null, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nxt: {
|
||||
dns_rdata_nxt_t nxt;
|
||||
result = dns_rdata_tostruct(rdata, sp = &nxt, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_opt: {
|
||||
dns_rdata_opt_t opt;
|
||||
result = dns_rdata_tostruct(rdata, sp = &opt, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_ptr: {
|
||||
dns_rdata_ptr_t ptr;
|
||||
result = dns_rdata_tostruct(rdata, sp = &ptr, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_px: {
|
||||
dns_rdata_in_px_t in_px;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_px, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_rp: {
|
||||
dns_rdata_rp_t rp;
|
||||
result = dns_rdata_tostruct(rdata, sp = &rp, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_rt: {
|
||||
dns_rdata_rt_t rt;
|
||||
result = dns_rdata_tostruct(rdata, sp = &rt, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_sig: {
|
||||
dns_rdata_sig_t sig;
|
||||
result = dns_rdata_tostruct(rdata, sp = &sig, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_soa: {
|
||||
dns_rdata_soa_t soa;
|
||||
result = dns_rdata_tostruct(rdata, sp = &soa, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_srv: {
|
||||
dns_rdata_in_srv_t in_srv;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_srv, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_tkey: {
|
||||
dns_rdata_tkey_t tkey;
|
||||
result = dns_rdata_tostruct(rdata, sp = &tkey, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_tsig: {
|
||||
dns_rdata_any_tsig_t tsig;
|
||||
result = dns_rdata_tostruct(rdata, sp = &tsig, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_txt: {
|
||||
dns_rdata_txt_t txt;
|
||||
result = dns_rdata_tostruct(rdata, sp = &txt, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_unspec: {
|
||||
dns_rdata_unspec_t unspec;
|
||||
result = dns_rdata_tostruct(rdata, sp = &unspec, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_wks: {
|
||||
dns_rdata_in_wks_t in_wks;
|
||||
result = dns_rdata_tostruct(rdata, sp = &in_wks, mctx);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_x25: {
|
||||
dns_rdata_x25_t x25;
|
||||
result = dns_rdata_tostruct(rdata, sp = &x25, mctx);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
result = ISC_R_NOTIMPLEMENTED;
|
||||
break;
|
||||
}
|
||||
if (result != ISC_R_SUCCESS)
|
||||
printf("viastruct: tostuct %d %d return %s\n",
|
||||
rdata->type, rdata->rdclass,
|
||||
dns_result_totext(result));
|
||||
else
|
||||
need_free = ISC_TRUE;
|
||||
|
||||
#if 0
|
||||
/*
|
||||
dns_rdata_fromstruct(dns_rdata_t *rdata, dns_rdataclass_t rdclass,
|
||||
dns_rdatatype_t type, void *source,
|
||||
isc_buffer_t *target)
|
||||
*/
|
||||
|
||||
switch (rdata->type) {
|
||||
case dns_rdatatype_a6: {
|
||||
dns_rdata_in_a6_t in_a6;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_a6, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_a: {
|
||||
switch (rdata->rdclass) {
|
||||
case dns_rdataclass_hs: {
|
||||
dns_rdata_hs_a_t hs_a;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type,
|
||||
&hs_a, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdataclass_in: {
|
||||
dns_rdata_in_a_t in_a;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type,
|
||||
&in_a, b);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
result = ISC_R_NOTIMPLEMENTED;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_aaaa: {
|
||||
dns_rdata_in_aaaa_t in_aaaa;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_aaaa, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_afsdb: {
|
||||
dns_rdata_afsdb_t afsdb;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &afsdb, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_any: {
|
||||
result = ISC_R_NOTIMPLEMENTED;
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_cert: {
|
||||
dns_rdata_cert_t cert;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &cert, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_cname: {
|
||||
dns_rdata_cname_t cname;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &cname, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_dname: {
|
||||
dns_rdata_dname_t dname;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &dname, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_gpos: {
|
||||
dns_rdata_gpos_t gpos;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &gpos, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_hinfo: {
|
||||
dns_rdata_hinfo_t hinfo;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &hinfo, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_isdn: {
|
||||
dns_rdata_isdn_t isdn;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &isdn, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_key: {
|
||||
dns_rdata_key_t key;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &key, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_kx: {
|
||||
dns_rdata_in_kx_t in_kx;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_kx, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_loc: {
|
||||
dns_rdata_loc_t loc;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &loc, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mb: {
|
||||
dns_rdata_mb_t mb;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &mb, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_md: {
|
||||
dns_rdata_md_t md;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &md, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mf: {
|
||||
dns_rdata_mf_t mf;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &mf, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mg: {
|
||||
dns_rdata_mg_t mg;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &mg, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_minfo: {
|
||||
dns_rdata_minfo_t minfo;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &minfo, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mr: {
|
||||
dns_rdata_mr_t mr;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &mr, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_mx: {
|
||||
dns_rdata_mx_t mx;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &mx, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_naptr: {
|
||||
dns_rdata_in_naptr_t in_naptr;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_naptr, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_ns: {
|
||||
dns_rdata_ns_t ns;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &ns, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nsap: {
|
||||
dns_rdata_in_nsap_t in_nsap;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_nsap, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nsap_ptr: {
|
||||
dns_rdata_in_nsap_ptr_t in_nsap_ptr;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_nsap_ptr, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_null: {
|
||||
dns_rdata_null_t null;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &null, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_nxt: {
|
||||
dns_rdata_nxt_t nxt;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &nxt, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_opt: {
|
||||
dns_rdata_opt_t opt;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &opt, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_ptr: {
|
||||
dns_rdata_ptr_t ptr;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &ptr, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_px: {
|
||||
dns_rdata_in_px_t in_px;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_px, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_rp: {
|
||||
dns_rdata_rp_t rp;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &rp, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_rt: {
|
||||
dns_rdata_rt_t rt;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &rt, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_sig: {
|
||||
dns_rdata_sig_t sig;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &sig, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_soa: {
|
||||
dns_rdata_soa_t soa;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &soa, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_srv: {
|
||||
dns_rdata_in_srv_t in_srv;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_srv, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_tkey: {
|
||||
dns_rdata_tkey_t tkey;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &tkey, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_tsig: {
|
||||
dns_rdata_any_tsig_t tsig;
|
||||
result = dns_rdata_fromstruct(rdata2, rdclass, type, &tsig, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_txt: {
|
||||
dns_rdata_txt_t txt;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &txt, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_unspec: {
|
||||
dns_rdata_unspec_t unspec;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &unspec, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_wks: {
|
||||
dns_rdata_in_wks_t in_wks;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &in_wks, b);
|
||||
break;
|
||||
}
|
||||
case dns_rdatatype_x25: {
|
||||
dns_rdata_x25_t x25;
|
||||
result = dns_rdata_fromstruct(rdata2, rdc, type, &x25, b);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
result = ISC_R_NOTIMPLEMENTED;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
if (need_free)
|
||||
dns_rdata_freestruct(sp);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -513,8 +991,15 @@ main(int argc, char *argv[]) {
|
||||
fputs(" ", stdout);
|
||||
}
|
||||
}
|
||||
if (tostruct)
|
||||
viastruct(&rdata);
|
||||
if (tostruct) {
|
||||
isc_mem_t *mctx2 = NULL;
|
||||
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx2)
|
||||
== ISC_R_SUCCESS);
|
||||
viastruct(&rdata, mctx2, NULL, NULL);
|
||||
if (!quiet && stats)
|
||||
isc_mem_stats(mctx2, stdout);
|
||||
isc_mem_destroy(&mctx2);
|
||||
}
|
||||
|
||||
isc_buffer_init(&tbuf, outbuf, sizeof(outbuf));
|
||||
result = dns_rdata_totext(&rdata, NULL, &tbuf);
|
||||
|
||||
Reference in New Issue
Block a user