42 static const char* dname_str =
"domain";
50 log_dname(ldns_rdf *rdf,
const char* pre,
int level)
56 str = ldns_rdf2str(rdf);
95 if (!dname || !zoneptr) {
101 ods_log_error(
"[%s] unable to create domain: allocator_alloc() "
102 "failed", dname_str);
105 domain->
dname = ldns_rdf_clone(dname);
106 if (!domain->
dname) {
107 ods_log_error(
"[%s] unable to create domain: ldns_rdf_clone() "
108 "failed", dname_str);
112 domain->
zone = zoneptr;
175 if (!domain || !domain->
rrsets || !rrtype) {
179 while (rrset && rrset->
rrtype != rrtype) {
208 rrset->
domain = (
void*) domain;
226 if (!domain || !rrtype) {
230 ods_log_error(
"[%s] unable to delete RRset: RRset with RRtype %s "
249 ods_log_error(
"[%s] unable to delete RRset: RRset with RRtype %s "
270 ods_log_error(
"[%s] unable to delete RRset: RRset with RRtype %s "
292 if (rrset->
rrtype == LDNS_RR_TYPE_NSEC3PARAMS ||
293 rrset->
rrtype == LDNS_RR_TYPE_DNSKEY) {
312 rrset = prev_rrset->
next;
338 ldns_rr* del_rr = NULL;
348 if (rrset->
rrtype == LDNS_RR_TYPE_NSEC3PARAMS ||
349 rrset->
rrtype == LDNS_RR_TYPE_DNSKEY) {
356 for (i=0; i < rrset->
rr_count; i++) {
364 del_rr = rrset->
rrs[i].
rr;
366 ldns_rr_free(del_rr);
385 rrset = prev_rrset->
next;
409 ldns_rbnode_t* n = LDNS_RBTREE_NULL;
416 n = ldns_rbtree_next(domain->
node);
417 while (n && n != LDNS_RBTREE_NULL) {
419 if (!ldns_dname_is_subdomain(d->
dname, domain->
dname)) {
430 n = ldns_rbtree_next(n);
445 return LDNS_RR_TYPE_SOA;
450 return LDNS_RR_TYPE_DS;
453 return LDNS_RR_TYPE_NS;
457 return LDNS_RR_TYPE_SOA;
471 return LDNS_RR_TYPE_SOA;
474 while (parent && !parent->
is_apex) {
477 return LDNS_RR_TYPE_A;
481 return LDNS_RR_TYPE_DNAME;
486 return LDNS_RR_TYPE_SOA;
501 if (!domain || !fd) {
503 ods_log_crit(
"[%s] unable to print domain: domain or fd missing",
511 str = ldns_rdf2str(domain->
dname);
512 fprintf(fd,
";;Empty non-terminal %s\n", str);
539 if (rrset->
rrtype != LDNS_RR_TYPE_SOA) {
543 ods_log_crit(
"[%s] failed to print one or more RRsets: %s",
570 ldns_rdf_deep_free(domain->
dname);
585 if (!domain || !fd) {
602 if (rrset->
rrtype != LDNS_RR_TYPE_SOA) {