winbindd: winbindd_ccache_ntlm_auth() -> bool_dispatch_table
[samba.git] / source3 / winbindd / winbindd_ccache_access.c
index ddeaf1d99402e75ecca05a0e4b2d58d19561baab..7b558660cc9072586664ee842dad65cb1523b24b 100644 (file)
@@ -180,7 +180,7 @@ static bool check_client_uid(struct winbindd_cli_state *state, uid_t uid)
        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;
@@ -206,8 +206,7 @@ void winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state)
        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);
@@ -215,13 +214,11 @@ void winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state)
        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 */
@@ -309,11 +306,7 @@ void winbindd_ccache_ntlm_auth(struct winbindd_cli_state *state)
        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)