40 static const char* dname_str =
"domain";
48 log_dname(ldns_rdf *rdf,
const char* pre,
int level)
54 str = ldns_rdf2str(rdf);
93 if (!dname || !zoneptr) {
99 ods_log_error(
"[%s] unable to create domain: allocator_alloc() "
100 "failed", dname_str);
103 domain->
dname = ldns_rdf_clone(dname);
104 if (!domain->
dname) {
105 ods_log_error(
"[%s] unable to create domain: ldns_rdf_clone() "
106 "failed", dname_str);
110 domain->
zone = zoneptr;
173 if (!domain || !domain->
rrsets || !rrtype) {
177 while (rrset && rrset->
rrtype != rrtype) {
206 rrset->
domain = (
void*) domain;
224 if (!domain || !rrtype) {
228 ods_log_error(
"[%s] unable to delete RRset: RRset with RRtype %s "
247 ods_log_error(
"[%s] unable to delete RRset: RRset with RRtype %s "
268 ods_log_error(
"[%s] unable to delete RRset: RRset with RRtype %s "
290 if (rrset->
rrtype == LDNS_RR_TYPE_NSEC3PARAMS ||
291 rrset->
rrtype == LDNS_RR_TYPE_DNSKEY) {
310 rrset = prev_rrset->
next;
336 ldns_rr* del_rr = NULL;
346 if (rrset->
rrtype == LDNS_RR_TYPE_NSEC3PARAMS ||
347 rrset->
rrtype == LDNS_RR_TYPE_DNSKEY) {
354 for (i=0; i < rrset->
rr_count; i++) {
362 del_rr = rrset->
rrs[i].
rr;
364 ldns_rr_free(del_rr);
383 rrset = prev_rrset->
next;
407 ldns_rbnode_t* n = LDNS_RBTREE_NULL;
414 n = ldns_rbtree_next(domain->
node);
415 while (n && n != LDNS_RBTREE_NULL) {
417 if (!ldns_dname_is_subdomain(d->
dname, domain->
dname)) {
428 n = ldns_rbtree_next(n);
443 return LDNS_RR_TYPE_SOA;
448 return LDNS_RR_TYPE_DS;
451 return LDNS_RR_TYPE_NS;
455 return LDNS_RR_TYPE_SOA;
469 return LDNS_RR_TYPE_SOA;
472 while (parent && !parent->
is_apex) {
475 return LDNS_RR_TYPE_A;
479 return LDNS_RR_TYPE_DNAME;
484 return LDNS_RR_TYPE_SOA;
499 if (!domain || !fd) {
501 ods_log_crit(
"[%s] unable to print domain: domain or fd missing",
509 str = ldns_rdf2str(domain->
dname);
510 fprintf(fd,
";;Empty non-terminal %s\n", str);
537 if (rrset->
rrtype != LDNS_RR_TYPE_SOA) {
541 ods_log_crit(
"[%s] failed to print one or more RRsets: %s",
568 ldns_rdf_deep_free(domain->
dname);
583 if (!domain || !fd) {
600 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)