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) {
void ods_log_alert(const char *format,...)
size_t domain_count_rrset_is_added(domain_type *domain)
void domain_cleanup(domain_type *domain)
rrset_type * domain_del_rrset(domain_type *domain, ldns_rr_type rrtype)
void domain_add_rrset(domain_type *domain, rrset_type *rrset)
void rrset_cleanup(rrset_type *rrset)
void domain_backup2(FILE *fd, domain_type *domain, int sigs)
rrset_type * domain_lookup_rrset(domain_type *domain, ldns_rr_type rrtype)
const char * rrset_type2str(ldns_rr_type type)
void ods_log_debug(const char *format,...)
void * allocator_alloc(allocator_type *allocator, size_t size)
void domain_print(FILE *fd, domain_type *domain, ods_status *status)
size_t rrset_count_rr_is_added(rrset_type *rrset)
void ods_fatal_exit(const char *format,...)
void ods_log_info(const char *format,...)
enum ods_enum_status ods_status
void ods_log_error(const char *format,...)
const char * ods_status2str(ods_status status)
void domain_diff(domain_type *domain, unsigned is_ixfr, unsigned more_coming)
void ods_log_crit(const char *format,...)
int domain_ent2unsignedns(domain_type *domain)
void log_rrset(ldns_rdf *dname, ldns_rr_type type, const char *pre, int level)
void denial_print(FILE *fd, denial_type *denial, ods_status *status)
ldns_rr_type domain_is_delegpt(domain_type *domain)
ldns_rr_type domain_is_occluded(domain_type *domain)
void log_dname(ldns_rdf *rdf, const char *pre, int level)
void rrset_backup2(FILE *fd, rrset_type *rrset)
allocator_type * allocator
void rrset_del_rr(rrset_type *rrset, uint16_t rrnum)
void ods_log_verbose(const char *format,...)
size_t domain_count_rrset(domain_type *domain)
void ods_log_deeebug(const char *format,...)
void domain_rollback(domain_type *domain, int keepsc)
void allocator_deallocate(allocator_type *allocator, void *data)
void rrset_diff(rrset_type *rrset, unsigned is_ixfr, unsigned more_coming)
#define ods_log_assert(x)
void ods_log_warning(const char *format,...)
void rrset_print(FILE *fd, rrset_type *rrset, int skip_rrsigs, ods_status *status)
domain_type * domain_create(void *zoneptr, ldns_rdf *dname)