summaryrefslogtreecommitdiffstats
path: root/source/winbindd/winbindd_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/winbindd/winbindd_util.c')
-rw-r--r--source/winbindd/winbindd_util.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/winbindd/winbindd_util.c b/source/winbindd/winbindd_util.c
index 4668d3725dc..83c5053f781 100644
--- a/source/winbindd/winbindd_util.c
+++ b/source/winbindd/winbindd_util.c
@@ -1544,3 +1544,15 @@ void winbindd_unset_locator_kdc_env(const struct winbindd_domain *domain)
}
#endif /* HAVE_KRB5_LOCATE_PLUGIN_H */
+
+void set_auth_errors(struct winbindd_response *resp, NTSTATUS result)
+{
+ resp->data.auth.nt_status = NT_STATUS_V(result);
+ fstrcpy(resp->data.auth.nt_status_string, nt_errstr(result));
+
+ /* we might have given a more useful error above */
+ if (*resp->data.auth.error_string == '\0')
+ fstrcpy(resp->data.auth.error_string,
+ get_friendly_nt_error_msg(result));
+ resp->data.auth.pam_error = nt_status_to_pam(result);
+}