diff options
Diffstat (limited to 'source4/ldap_server/ldap_server.c')
-rw-r--r-- | source4/ldap_server/ldap_server.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source4/ldap_server/ldap_server.c b/source4/ldap_server/ldap_server.c index 99595ebd12a..d59668be939 100644 --- a/source4/ldap_server/ldap_server.c +++ b/source4/ldap_server/ldap_server.c @@ -964,6 +964,7 @@ static void ldapsrv_task_init(struct task_server *task) } else { char **wcard; int i; + int num_binds = 0; wcard = iface_list_wildcard(task); if (wcard == NULL) { DEBUG(0,("No wildcard addresses available\n")); @@ -971,9 +972,14 @@ static void ldapsrv_task_init(struct task_server *task) } for (i=0; wcard[i]; i++) { status = add_socket(task, task->lp_ctx, model_ops, wcard[i], ldap_service); - if (!NT_STATUS_IS_OK(status)) goto failed; + if (NT_STATUS_IS_OK(status)) { + num_binds++; + } } talloc_free(wcard); + if (num_binds == 0) { + goto failed; + } } ldapi_path = lpcfg_private_path(ldap_service, task->lp_ctx, "ldapi"); |