From: Noel Power Date: Sat, 21 Oct 2023 11:24:01 +0000 (+0100) Subject: s3/winbindd: in winbindd_pam_auth_send use canonicalize_username X-Git-Tag: talloc-2.4.2~1171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be6ed28f02f1b62bbb4248e8cd9afcc54b04133a;p=thirdparty%2Fsamba.git s3/winbindd: in winbindd_pam_auth_send use canonicalize_username replace use of canonicalize_username_fstr with canonicalize_username Signed-off-by: Noel Power Reviewed-by: Andrew Bartlett Reviewed-by: Andreas Schneider --- diff --git a/source3/winbindd/winbindd_pam_auth.c b/source3/winbindd/winbindd_pam_auth.c index 9493eee3cfa..431da098f0b 100644 --- a/source3/winbindd/winbindd_pam_auth.c +++ b/source3/winbindd/winbindd_pam_auth.c @@ -70,9 +70,9 @@ static NTSTATUS fake_password_policy(struct winbindd_response *r, struct winbindd_pam_auth_state { struct wbint_PamAuth *r; - fstring name_namespace; - fstring name_domain; - fstring name_user; + char *name_namespace; + char *name_domain; + char *name_user; }; static void winbindd_pam_auth_done(struct tevent_req *subreq); @@ -86,6 +86,7 @@ struct tevent_req *winbindd_pam_auth_send(TALLOC_CTX *mem_ctx, struct winbindd_pam_auth_state *state; struct winbindd_domain *domain; char *mapped = NULL; + char *auth_user = NULL; NTSTATUS status; bool ok; @@ -118,15 +119,19 @@ struct tevent_req *winbindd_pam_auth_send(TALLOC_CTX *mem_ctx, fstrcpy(request->data.auth.user, mapped); } - ok = canonicalize_username_fstr(request->data.auth.user, - state->name_namespace, - state->name_domain, - state->name_user); + auth_user = request->data.auth.user; + ok = canonicalize_username(state, + &auth_user, + &state->name_namespace, + &state->name_domain, + &state->name_user); if (!ok) { tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); return tevent_req_post(req, ev); } + fstrcpy(request->data.auth.user, auth_user); + domain = find_auth_domain(request->flags, state->name_namespace); if (domain == NULL) { tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER);