"WINBINDD_PRIV_PIPE_DIR" },
/* Credential cache access */
- { WINBINDD_CCACHE_NTLMAUTH, winbindd_ccache_ntlm_auth, "NTLMAUTH" },
{ WINBINDD_CCACHE_SAVE, winbindd_ccache_save, "CCACHE_SAVE" },
/* End of list */
{ WINBINDD_DC_INFO,
winbindd_dc_info,
"DC_INFO" },
+ { WINBINDD_CCACHE_NTLMAUTH,
+ winbindd_ccache_ntlm_auth,
+ "NTLMAUTH" },
};
struct winbindd_async_dispatch_table {
return True;
}
-void winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state)
+bool winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state)
{
struct winbindd_domain *domain;
fstring name_namespace, name_domain, name_user;
if (!ok) {
DEBUG(5,("winbindd_ccache_ntlm_auth: cannot parse domain and user from name [%s]\n",
state->request->data.ccache_ntlm_auth.user));
- request_error(state);
- return;
+ return false;
}
domain = find_auth_domain(state->request->flags, name_domain);
if (domain == NULL) {
DEBUG(5,("winbindd_ccache_ntlm_auth: can't get domain [%s]\n",
name_domain));
- request_error(state);
- return;
+ return false;
}
if (!check_client_uid(state, state->request->data.ccache_ntlm_auth.uid)) {
- request_error(state);
- return;
+ return false;
}
/* validate blob lengths */
data_blob_free(&auth);
process_result:
- if (!NT_STATUS_IS_OK(result)) {
- request_error(state);
- return;
- }
- request_ok(state);
+ return NT_STATUS_IS_OK(result);
}
void winbindd_ccache_save(struct winbindd_cli_state *state)
/* The following definitions come from winbindd/winbindd_ccache_access.c */
-void winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state);
+bool winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state);
enum winbindd_result winbindd_dual_ccache_ntlm_auth(struct winbindd_domain *domain,
struct winbindd_cli_state *state);
void winbindd_ccache_save(struct winbindd_cli_state *state);