From 5519f67ea172e8a7ef41a140f3b26c5c89e48b47 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 2 Jul 2021 09:37:25 +0200 Subject: [PATCH] gensec_krb5: restore ipv6 support for kpasswd We need to offer as much space we have in order to get the address out of tsocket_address_bsd_sockaddr(). This fixes a regression in commit 43c808f2ff907497dfff0988ff90a48fdcfc16ef. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14750 Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett (cherry picked from commit 0388a8f33bdde49f1cc805a0291859203c1a52b4) --- source4/auth/gensec/gensec_krb5.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source4/auth/gensec/gensec_krb5.c b/source4/auth/gensec/gensec_krb5.c index 45abbb97b6bb..7d87b3ac6b9b 100644 --- a/source4/auth/gensec/gensec_krb5.c +++ b/source4/auth/gensec/gensec_krb5.c @@ -149,8 +149,9 @@ static NTSTATUS gensec_krb5_start(struct gensec_security *gensec_security, bool struct samba_sockaddr addr; bool ok; + addr.sa_socklen = sizeof(addr.u); sockaddr_ret = tsocket_address_bsd_sockaddr( - tlocal_addr, &addr.u.sa, sizeof(addr.u.sa)); + tlocal_addr, &addr.u.sa, addr.sa_socklen); if (sockaddr_ret < 0) { talloc_free(gensec_krb5_state); return NT_STATUS_INTERNAL_ERROR; @@ -170,8 +171,9 @@ static NTSTATUS gensec_krb5_start(struct gensec_security *gensec_security, bool struct samba_sockaddr addr; bool ok; + addr.sa_socklen = sizeof(addr.u); sockaddr_ret = tsocket_address_bsd_sockaddr( - tremote_addr, &addr.u.sa, sizeof(addr.u.sa)); + tremote_addr, &addr.u.sa, addr.sa_socklen); if (sockaddr_ret < 0) { talloc_free(gensec_krb5_state); return NT_STATUS_INTERNAL_ERROR; -- 2.25.1