summaryrefslogtreecommitdiff
path: root/source4/dsdb/dns
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-02-17 22:20:18 +1100
committerStefan Metzmacher <metze@samba.org>2010-02-23 13:48:21 +0100
commit7593b6d03b0cfb4bbe43a89f33610f513a0bfa9b (patch)
tree9408eadd3b4e5ce2d0d9c9119bbbfe9b274c0bf3 /source4/dsdb/dns
parentcb7ab80ee883a69f575940bfa6b4c99242c7f646 (diff)
downloadsamba-7593b6d03b0cfb4bbe43a89f33610f513a0bfa9b.tar.gz
s4-dns: improved logging, and run name check at startup
Diffstat (limited to 'source4/dsdb/dns')
-rw-r--r--source4/dsdb/dns/dns_update.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source4/dsdb/dns/dns_update.c b/source4/dsdb/dns/dns_update.c
index 9252ffbe4b4..0f5de36ed15 100644
--- a/source4/dsdb/dns/dns_update.c
+++ b/source4/dsdb/dns/dns_update.c
@@ -67,13 +67,14 @@ static void dnsupdate_rndc_done(struct composite_context *c)
struct dnsupdate_service *service = talloc_get_type_abort(c->async.private_data,
struct dnsupdate_service);
service->confupdate.status = composite_wait(c);
+ talloc_free(c);
+ service->confupdate.c = NULL;
if (!NT_STATUS_IS_OK(service->confupdate.status)) {
DEBUG(0,(__location__ ": Failed rndc update - %s\n",
nt_errstr(service->confupdate.status)));
- return;
+ } else {
+ DEBUG(3,("Completed rndc reload OK\n"));
}
- talloc_free(c);
- service->confupdate.c = NULL;
}
/*
@@ -198,13 +199,14 @@ static void dnsupdate_nameupdate_done(struct composite_context *c)
struct dnsupdate_service *service = talloc_get_type_abort(c->async.private_data,
struct dnsupdate_service);
service->nameupdate.status = composite_wait(c);
+ talloc_free(c);
+ service->nameupdate.c = NULL;
if (!NT_STATUS_IS_OK(service->nameupdate.status)) {
DEBUG(0,(__location__ ": Failed DNS update - %s\n",
nt_errstr(service->nameupdate.status)));
- return;
+ } else {
+ DEBUG(3,("Completed DNS update check OK\n"));
}
- talloc_free(c);
- service->nameupdate.c = NULL;
}
/*
@@ -297,6 +299,7 @@ static void dnsupdate_task_init(struct task_server *task)
service->nameupdate.interval = lp_parm_int(task->lp_ctx, NULL,
"dnsupdate", "name interval", 600); /* in seconds */
+ dnsupdate_rebuild(service);
status = dnsupdate_confupdate_schedule(service);
if (!NT_STATUS_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,
@@ -305,6 +308,7 @@ static void dnsupdate_task_init(struct task_server *task)
return;
}
+ dnsupdate_check_names(service);
status = dnsupdate_nameupdate_schedule(service);
if (!NT_STATUS_IS_OK(status)) {
task_server_terminate(task, talloc_asprintf(task,