diff options
author | Andrew Bartlett <abartlet@samba.org> | 2017-09-14 15:02:36 +1200 |
---|---|---|
committer | Douglas Bagnall <dbagnall@samba.org> | 2017-09-20 02:25:30 +0200 |
commit | c1e41d489d8b199ad1f7f1546ae50461cda0fbce (patch) | |
tree | ec7631263ad46fff0d7ba2bcf24882f862b49d81 /source4/dns_server/dlz_bind9.c | |
parent | 6c28abc249f83a1083a71b2d526098d42c4f5c14 (diff) | |
download | samba-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.c | 15 |
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; } |