summaryrefslogtreecommitdiff
path: root/source4/dns_server/dlz_bind9.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2017-09-14 15:02:36 +1200
committerDouglas Bagnall <dbagnall@samba.org>2017-09-20 02:25:30 +0200
commitc1e41d489d8b199ad1f7f1546ae50461cda0fbce (patch)
treeec7631263ad46fff0d7ba2bcf24882f862b49d81 /source4/dns_server/dlz_bind9.c
parent6c28abc249f83a1083a71b2d526098d42c4f5c14 (diff)
downloadsamba-c1e41d489d8b199ad1f7f1546ae50461cda0fbce.tar.gz
samdb: Rework samdb_connect_url() to return LDB error code and an error string
This allows debugging of why the LDB failed to start up. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Diffstat (limited to 'source4/dns_server/dlz_bind9.c')
-rw-r--r--source4/dns_server/dlz_bind9.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source4/dns_server/dlz_bind9.c b/source4/dns_server/dlz_bind9.c
index 9bf1b611fbb..cf171cb6608 100644
--- a/source4/dns_server/dlz_bind9.c
+++ b/source4/dns_server/dlz_bind9.c
@@ -614,6 +614,8 @@ _PUBLIC_ isc_result_t dlz_create(const char *dlzname,
isc_result_t result;
struct ldb_dn *dn;
NTSTATUS nt_status;
+ int ret;
+ char *errstring = NULL;
if (dlz_bind9_state != NULL) {
*dbdata = dlz_bind9_state;
@@ -701,11 +703,14 @@ _PUBLIC_ isc_result_t dlz_create(const char *dlzname,
}
}
- state->samdb = samdb_connect_url(state, state->ev_ctx, state->lp,
- system_session(state->lp), 0, state->options.url);
- if (state->samdb == NULL) {
- state->log(ISC_LOG_ERROR, "samba_dlz: Failed to connect to %s",
- state->options.url);
+ ret = samdb_connect_url(state, state->ev_ctx, state->lp,
+ system_session(state->lp), 0,
+ state->options.url,
+ &state->samdb, &errstring);
+ if (ret != LDB_SUCCESS) {
+ state->log(ISC_LOG_ERROR,
+ "samba_dlz: Failed to connect to %s: %s",
+ errstring, ldb_strerror(ret));
result = ISC_R_FAILURE;
goto failed;
}