12 #include <openssl/ssl.h>
13 #include <openssl/evp.h>
14 #include <openssl/rand.h>
15 #include <openssl/err.h>
16 #include <openssl/md5.h>
67 fprintf(out,
";; rcode: %s\n", rcode->
name);
71 if (rr_descriptor && rr_descriptor->
_name) {
72 fprintf(out,
";; qtype: %s\n", rr_descriptor->
_name);
74 fprintf(out,
"TYPE%u",
78 fprintf(out,
";; NODATA response\n");
80 fprintf(out,
"rrset:\n");
82 fprintf(out,
"sigs:\n");
84 fprintf(out,
"---\n");
86 fprintf(out,
"<no data>\n");
209 printf(
"There were already sigs!\n");
211 printf(
"replacing the old sigs\n");
242 possible_parent_name,
283 ldns_rdf *name = NULL, *key_name = NULL;
287 bool other_rrset =
false;
411 return ldns_dnssec_build_data_chain_nokeyname(res,
420 ldns_dnssec_build_data_chain_dnskey(res,
430 ldns_dnssec_build_data_chain_other(res,
449 if(!new_tree)
return NULL;
451 new_tree->
rrset = NULL;
478 if (parent > result) {
487 print_tabs(FILE *out,
size_t nr, uint8_t *map,
size_t treedepth)
490 for (i = 0; i < nr; i++) {
492 fprintf(out,
"|---");
493 }
else if (map && i < treedepth && map[i] == 1) {
502 ldns_dnssec_trust_tree_print_sm_fmt(FILE *out,
519 memset(sibmap, 0, treedepth);
525 print_tabs(out, tabs, sibmap, treedepth);
529 if (descriptor->
_name) {
530 fprintf(out,
" (%s", descriptor->
_name);
532 fprintf(out,
" (TYPE%d",
537 fprintf(out,
" keytag: %u",
539 fprintf(out,
" alg: ");
541 fprintf(out,
" flags: ");
544 fprintf(out,
" keytag: ");
546 fprintf(out,
" digest type: ");
559 if (tree->
parent_count > 1 && i < tree->parent_count - 1) {
570 print_tabs(out, tabs + 1, sibmap, treedepth);
574 fprintf(out,
"Existence of DS is denied by:\n");
576 fprintf(out,
"Existence is denied by:\n");
581 fprintf(out,
"Existence of DS is denied by:\n");
583 print_tabs(out, tabs + 1, sibmap, treedepth);
585 "Error in denial of existence: %s\n",
592 print_tabs(out, tabs + 1, sibmap, treedepth);
599 printf(
"; SSL Error: ");
600 ERR_load_crypto_strings();
601 ERR_print_errors_fp(stdout);
606 parent_signature[i]);
607 printf(
"For RRset:\n");
610 printf(
"With key:\n");
614 ldns_dnssec_trust_tree_print_sm_fmt(out, fmt,
622 print_tabs(out, tabs, sibmap, treedepth);
623 fprintf(out,
"<no data>\n");
626 fprintf(out,
"<null pointer>\n");
640 ldns_dnssec_trust_tree_print_sm_fmt(out, fmt,
641 tree, tabs, extended, NULL, 0);
651 tree, tabs, extended);
699 if (data_chain && data_chain->
rrset) {
700 cur_rrset = data_chain->
rrset;
713 new_tree->
rr = cur_rr;
714 new_tree->
rrset = cur_rrset;
768 new_tree, data_chain,
775 new_tree, data_chain, check_time);
813 tmp_rrset = cur_rrset;
821 assert(tmp_rrset == cur_rrset);
841 if (tmp_rrset && tmp_rrset != cur_rrset
849 if (cur_parent_rr == new_tree->
parents[i]->
rr) {
877 new_tree, data_chain, cur_sig_rr, ldns_time(NULL));
899 if (cur_parent_rr != cur_rr &&
904 cur_parent_tree->
rr = cur_parent_rr;
905 cur_parent_tree->
rrset = cur_rrset;
907 cur_rrset, cur_sig_rr,
908 cur_parent_rr, check_time);
910 cur_parent_tree, cur_sig_rr, cur_status))
924 new_tree, data_chain, cur_rr, cur_sig_rr, ldns_time(NULL));
977 new_tree, data_chain, cur_rr, ldns_time(NULL));
1026 cur_parent_tree, NULL, result))
1038 new_tree, data_chain, ldns_time(NULL));
1083 result = parent_result;
1107 if (!rrset || !rrsig || !keys) {
1125 keys, check_time, good_keys);
1136 return verify_result;