40 #include <sys/types.h>
44 static const char* tools_str =
"tools";
75 ods_log_debug(
"[%s] zone %s switch to new signconf", tools_str,
107 "publish dnskeys (%s)", tools_str, zone->
name,
118 "publish nsec3param (%s)", tools_str, zone->
name,
139 tools_str, zone->
name);
141 ods_log_error(
"[%s] unable to read zone %s: adapter failed (%s)",
168 int fdlimit = sysconf(_SC_OPEN_MAX);
169 while (fd < fdlimit) {
197 "changed)", tools_str, zone->
name?zone->
name:
"(null)",
210 ods_log_error(
"[%s] unable to write zone %s: adapter failed (%s)",
227 switch ((pid = fork())) {
229 ods_log_error(
"[%s] notify nameserver failed: unable to fork "
230 "(%s)", tools_str, strerror(errno));
238 ods_log_error(
"[%s] notify nameserver failed: execv() failed "
239 "(%s)", tools_str, strerror(errno));
246 while((wpid = waitpid(pid, &status, 0)) <= 0) {
247 if (errno != EINTR) {
253 "failed (%s)", tools_str, strerror(errno));
254 }
else if (!WIFEXITED(status)) {
256 "command did not terminate normally", tools_str);
267 ods_log_debug(
"[%s] log stats for zone %s serial %u", tools_str,
void namedb_cleanup_denials(namedb_type *db)
#define ODS_SE_NOTIFY_CMD
task_id signconf_compare_denial(signconf_type *a, signconf_type *b)
void ods_log_debug(const char *format,...)
ods_status adapter_read(void *zone)
void signconf_cleanup(signconf_type *sc)
void ods_log_info(const char *format,...)
enum ods_enum_status ods_status
void ods_log_error(const char *format,...)
lock_basic_type stats_lock
const char * ods_status2str(ods_status status)
void namedb_init_denials(namedb_type *db)
adapter_type * adoutbound
ods_status zone_publish_nsec3param(zone_type *zone)
void stats_log(stats_type *stats, const char *name, uint32_t serial, ldns_rr_type nsec_type)
#define lock_basic_lock(lock)
engineconfig_type * config
void namedb_rollback(namedb_type *db, unsigned keepsc)
void zone_rollback_dnskeys(zone_type *zone)
ods_status zone_publish_dnskeys(zone_type *zone)
time_t duration2time(duration_type *duration)
void zone_rollback_nsec3param(zone_type *zone)
void ods_log_verbose(const char *format,...)
lock_basic_type ixfr_lock
void signconf_log(signconf_type *sc, const char *name)
void ixfr_purge(ixfr_type *ixfr)
#define ods_log_assert(x)
ods_status zone_load_signconf(zone_type *zone, signconf_type **new_signconf)
ods_status adapter_write(void *zone)
void dnshandler_fwd_notify(dnshandler_type *dnshandler, uint8_t *pkt, size_t len)
void namedb_wipe_denial(namedb_type *db)
#define lock_basic_unlock(lock)
dnshandler_type * dnshandler
void stats_clear(stats_type *stats)