From f925ebcacc53ec62f2c235c38b0acca9e800e533 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 5 Jun 2014 12:32:30 -0700 Subject: s3/s4: smbd, rpc, ldap, cldap, kdc services. Allow us to start if we bind to *either* :: or 0.0.0.0. Allows us to cope with systems configured as only IPv4 or only IPv6. Bug #10653 - Samba won't start on a machine configured with only IPv4. https://bugzilla.samba.org/show_bug.cgi?id=10653 Signed-off-by: Jeremy Allison Reviewed-By: Amitay Isaacs Reviewed-By: Alexander Bokovoy Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Sat Jun 7 01:01:44 CEST 2014 on sn-devel-104 (cherry picked from commit 463311422ca1caad2e228deb630e9d12e212fae1) --- source4/rpc_server/dcerpc_server.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source4/rpc_server/dcerpc_server.c') diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index e41c0556f3f..ad53685be02 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -1741,13 +1741,19 @@ static NTSTATUS dcesrv_add_ep_tcp(struct dcesrv_context *dce_ctx, } else { char **wcard; int i; + int num_binds = 0; wcard = iface_list_wildcard(dce_ctx); NT_STATUS_HAVE_NO_MEMORY(wcard); for (i=0; wcard[i]; i++) { status = add_socket_rpc_tcp_iface(dce_ctx, e, event_ctx, model_ops, wcard[i]); - NT_STATUS_NOT_OK_RETURN(status); + if (NT_STATUS_IS_OK(status)) { + num_binds++; + } } talloc_free(wcard); + if (num_binds == 0) { + return NT_STATUS_INVALID_PARAMETER_MIX; + } } return NT_STATUS_OK; -- cgit v1.2.1