From: Volker Lendecke Date: Wed, 2 May 2018 16:27:23 +0000 (+0200) Subject: winbindd: winbindd_dc_info() -> bool_dispatch_table X-Git-Tag: ldb-1.4.0~154 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de162c033c0708bfc76c1e698474b2f7225f25a9;p=thirdparty%2Fsamba.git winbindd: winbindd_dc_info() -> bool_dispatch_table Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher --- diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c index 714663b7c9f..1608a14974c 100644 --- a/source3/winbindd/winbindd.c +++ b/source3/winbindd/winbindd.c @@ -535,7 +535,6 @@ static struct winbindd_dispatch_table { /* Miscellaneous */ { WINBINDD_DOMAIN_INFO, winbindd_domain_info, "DOMAIN_INFO" }, - { WINBINDD_DC_INFO, winbindd_dc_info, "DC_INFO" }, { WINBINDD_PRIV_PIPE_DIR, winbindd_priv_pipe_dir, "WINBINDD_PRIV_PIPE_DIR" }, @@ -568,6 +567,9 @@ static struct winbindd_bool_dispatch_table { { WINBINDD_NETBIOS_NAME, winbindd_netbios_name, "NETBIOS_NAME" }, + { WINBINDD_DC_INFO, + winbindd_dc_info, + "DC_INFO" }, }; struct winbindd_async_dispatch_table { diff --git a/source3/winbindd/winbindd_misc.c b/source3/winbindd/winbindd_misc.c index db73784bff8..e55fc4ef874 100644 --- a/source3/winbindd/winbindd_misc.c +++ b/source3/winbindd/winbindd_misc.c @@ -452,7 +452,7 @@ static void domain_info_done(struct tevent_req *req) request_ok(state->cli); } -void winbindd_dc_info(struct winbindd_cli_state *cli) +bool winbindd_dc_info(struct winbindd_cli_state *cli) { struct winbindd_domain *domain; char *dc_name, *dc_ip; @@ -468,8 +468,7 @@ void winbindd_dc_info(struct winbindd_cli_state *cli) if (domain == NULL) { DEBUG(10, ("Could not find domain %s\n", cli->request->domain_name)); - request_error(cli); - return; + return false; } } else { domain = find_our_domain(); @@ -479,8 +478,7 @@ void winbindd_dc_info(struct winbindd_cli_state *cli) talloc_tos(), domain->name, &dc_name, &dc_ip)) { DEBUG(10, ("fetch_current_dc_from_gencache(%s) failed\n", domain->name)); - request_error(cli); - return; + return false; } cli->response->data.num_entries = 1; @@ -491,15 +489,14 @@ void winbindd_dc_info(struct winbindd_cli_state *cli) TALLOC_FREE(dc_ip); if (cli->response->extra_data.data == NULL) { - request_error(cli); - return; + return false; } /* must add one to length to copy the 0 for string termination */ cli->response->length += strlen((char *)cli->response->extra_data.data) + 1; - request_ok(cli); + return true; } bool winbindd_ping(struct winbindd_cli_state *state) diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h index e6ffee1bacb..ea8225256bc 100644 --- a/source3/winbindd/winbindd_proto.h +++ b/source3/winbindd/winbindd_proto.h @@ -386,7 +386,7 @@ enum winbindd_result winbindd_dual_list_trusted_domains(struct winbindd_domain * struct winbindd_cli_state *state); void winbindd_show_sequence(struct winbindd_cli_state *state); void winbindd_domain_info(struct winbindd_cli_state *state); -void winbindd_dc_info(struct winbindd_cli_state *state); +bool winbindd_dc_info(struct winbindd_cli_state *state); bool winbindd_ping(struct winbindd_cli_state *state); bool winbindd_info(struct winbindd_cli_state *state); bool winbindd_interface_version(struct winbindd_cli_state *state);