40 static const char* ixfr_str =
"journal";
56 "allocator_alloc() failed", ixfr_str);
61 part->
plus = ldns_rr_list_new();
64 "ldns_rr_list_new() failed", ixfr_str);
68 part->
min = ldns_rr_list_new();
71 "ldns_rr_list_new() failed", ixfr_str);
72 ldns_rr_list_free(part->
plus);
87 if (!part || !allocator) {
90 ldns_rr_list_deep_free(part->
min);
91 ldns_rr_list_free(part->
plus);
115 "allocator_alloc() failed", ixfr_str, z->
name);
147 if (!ldns_rr_list_push_rr(ixfr->
part[0]->
plus, rr)) {
148 ods_fatal_exit(
"[%s] fatal unable to +RR: ldns_rr_list_push_rr() failed",
151 if (ldns_rr_get_type(rr) == LDNS_RR_TYPE_SOA) {
178 if (!ldns_rr_list_push_rr(ixfr->
part[0]->
min, rr)) {
179 ods_fatal_exit(
"[%s] fatal unable to -RR: ldns_rr_list_push_rr() failed",
182 if (ldns_rr_get_type(rr) == LDNS_RR_TYPE_SOA) {
194 part_rr_list_print_nonsoa(FILE* fd, ldns_rr_list* list)
201 for (i = 0; i < ldns_rr_list_rr_count(list); i++) {
202 if (ldns_rr_get_type(ldns_rr_list_rr(list, i)) != LDNS_RR_TYPE_SOA) {
226 part = ixfr->
part[i];
237 error = part_rr_list_print_nonsoa(fd, part->
min);
244 error = part_rr_list_print_nonsoa(fd, part->
plus);
266 part_print(fd, ixfr, i);
291 ixfr->
part[i] = NULL;
294 ixfr->
part[i] = NULL;
298 if (!ixfr->
part[0]) {
300 "part_create() failed", ixfr_str, zone->
name);
void ixfr_cleanup(ixfr_type *ixfr)
void ixfr_print(FILE *fd, ixfr_type *ixfr)
void ods_log_debug(const char *format,...)
#define lock_basic_destroy(lock)
void * allocator_alloc(allocator_type *allocator, size_t size)
void ods_fatal_exit(const char *format,...)
void ixfr_add_rr(ixfr_type *ixfr, ldns_rr *rr)
void ixfr_del_rr(ixfr_type *ixfr, ldns_rr *rr)
part_type * part[IXFR_MAX_PARTS]
void ods_log_error(const char *format,...)
adapter_type * adoutbound
ods_status util_rr_print(FILE *fd, const ldns_rr *rr)
allocator_type * allocator
query_state ixfr(query_type *q, engine_type *engine)
lock_basic_type ixfr_lock
#define lock_basic_init(lock)
void ods_log_deeebug(const char *format,...)
void ixfr_purge(ixfr_type *ixfr)
void allocator_deallocate(allocator_type *allocator, void *data)
#define ods_log_assert(x)
ixfr_type * ixfr_create(void *zone)