The Samba-Bugzilla – Attachment 5714 Details for
Bug 7341
winbind not working over IPv6
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
v3-4-test: getpeername check
ipv6-part1-v3-4-test.patch (text/plain), 1.97 KB, created by
Guenther Deschner
on 2010-05-18 10:08:31 UTC
(
hide
)
Description:
v3-4-test: getpeername check
Filename:
MIME Type:
Creator:
Guenther Deschner
Created:
2010-05-18 10:08:31 UTC
Size:
1.97 KB
patch
obsolete
>From 3e0a94cdbb3de8f25fab42527794a830b0907e33 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org> >Date: Fri, 14 May 2010 23:21:47 +0200 >Subject: [PATCH] s3-winbind: make the getpeername() checks in cm_prepare_connection IPv6 aware. > >Note that this failure was hard to track, as winbind did only log a super helpful >"cm_prepare_connection: Success" debug message. > >IPv6 gurus, please check > >Successfully tested in two independent IPv6 networks now. > >Guenther >(cherry picked from commit 14ac2bb36ee22be6133ca1d069dc5de6c1891f47) >--- > source3/winbindd/winbindd_cm.c | 30 +++++++++++++++++++++++++----- > 1 files changed, 25 insertions(+), 5 deletions(-) > >diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c >index 670e494..a0b4c9c 100644 >--- a/source3/winbindd/winbindd_cm.c >+++ b/source3/winbindd/winbindd_cm.c >@@ -794,11 +794,31 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain, > > peeraddr_len = sizeof(peeraddr); > >- if ((getpeername((*cli)->fd, &peeraddr, &peeraddr_len) != 0) || >- (peeraddr_len != sizeof(struct sockaddr_in)) || >- (peeraddr_in->sin_family != PF_INET)) >- { >- DEBUG(0,("cm_prepare_connection: %s\n", strerror(errno))); >+ if ((getpeername((*cli)->fd, &peeraddr, &peeraddr_len) != 0)) { >+ DEBUG(0,("cm_prepare_connection: getpeername failed with: %s\n", >+ strerror(errno))); >+ result = NT_STATUS_UNSUCCESSFUL; >+ goto done; >+ } >+ >+ if ((peeraddr_len != sizeof(struct sockaddr_in)) >+#ifdef HAVE_IPV6 >+ && (peeraddr_len != sizeof(struct sockaddr_in6)) >+#endif >+ ) { >+ DEBUG(0,("cm_prepare_connection: got unexpected peeraddr len %d\n", >+ peeraddr_len)); >+ result = NT_STATUS_UNSUCCESSFUL; >+ goto done; >+ } >+ >+ if ((peeraddr_in->sin_family != PF_INET) >+#ifdef HAVE_IPV6 >+ && (peeraddr_in->sin_family != PF_INET6) >+#endif >+ ) { >+ DEBUG(0,("cm_prepare_connection: got unexpected family %d\n", >+ peeraddr_in->sin_family)); > result = NT_STATUS_UNSUCCESSFUL; > goto done; > } >-- >1.6.6.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 7341
:
5710
|
5711
| 5714 |
5715