"WINBINDD_PRIV_PIPE_DIR" },
/* Credential cache access */
- { WINBINDD_CCACHE_SAVE, winbindd_ccache_save, "CCACHE_SAVE" },
/* End of list */
{ WINBINDD_CCACHE_NTLMAUTH,
winbindd_ccache_ntlm_auth,
"NTLMAUTH" },
+ { WINBINDD_CCACHE_SAVE,
+ winbindd_ccache_save,
+ "CCACHE_SAVE" },
};
struct winbindd_async_dispatch_table {
return NT_STATUS_IS_OK(result);
}
-void winbindd_ccache_save(struct winbindd_cli_state *state)
+bool winbindd_ccache_save(struct winbindd_cli_state *state)
{
struct winbindd_domain *domain;
fstring name_namespace, name_domain, name_user;
DEBUG(5,("winbindd_ccache_save: cannot parse domain and user "
"from name [%s]\n",
state->request->data.ccache_save.user));
- request_error(state);
- return;
+ return false;
}
/*
if (domain == NULL) {
DEBUG(5, ("winbindd_ccache_save: can't get domain [%s]\n",
name_domain));
- request_error(state);
- return;
+ return false;
}
if (!check_client_uid(state, state->request->data.ccache_save.uid)) {
- request_error(state);
- return;
+ return false;
}
status = winbindd_add_memory_creds(
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, ("winbindd_add_memory_creds failed %s\n",
nt_errstr(status)));
- request_error(state);
- return;
+ return false;
}
- request_ok(state);
+ return true;
}
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);
+bool winbindd_ccache_save(struct winbindd_cli_state *state);
/* The following definitions come from winbindd/winbindd_cm.c */
void winbind_msg_domain_offline(struct messaging_context *msg_ctx,