The Samba-Bugzilla – Attachment 7088 Details for
Bug 8600
cldap doesn't work over ipv6
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patches for v3-6-test
tmp36.diff (text/plain), 2.73 KB, created by
Stefan Metzmacher
on 2011-11-11 01:45:31 UTC
(
hide
)
Description:
Patches for v3-6-test
Filename:
MIME Type:
Creator:
Stefan Metzmacher
Created:
2011-11-11 01:45:31 UTC
Size:
2.73 KB
patch
obsolete
>From 36052d8117af010f59966b21b3c7dba40838ba92 Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Fri, 21 Oct 2011 09:49:30 +0200 >Subject: [PATCH 1/2] libcli/cldap: make sure the local and remote address family matches > >metze > >Signed-off-by: Matthieu Patou <mat@matws.net> >(cherry picked from commit 66530e91498cfa77a9d2e3a031f8a2e1c5ee6804) >--- > libcli/cldap/cldap.c | 30 +++++++++++++++++++++++++----- > 1 files changed, 25 insertions(+), 5 deletions(-) > >diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c >index f5585c2..4432921 100644 >--- a/libcli/cldap/cldap.c >+++ b/libcli/cldap/cldap.c >@@ -313,6 +313,27 @@ NTSTATUS cldap_socket_init(TALLOC_CTX *mem_ctx, > struct tsocket_address *any = NULL; > NTSTATUS status; > int ret; >+ const char *fam = NULL; >+ >+ if (local_addr == NULL && remote_addr == NULL) { >+ return NT_STATUS_INVALID_PARAMETER_MIX; >+ } >+ >+ if (remote_addr) { >+ bool is_ipv4; >+ bool is_ipv6; >+ >+ is_ipv4 = tsocket_address_is_inet(remote_addr, "ipv4"); >+ is_ipv6 = tsocket_address_is_inet(remote_addr, "ipv6"); >+ >+ if (is_ipv4) { >+ fam = "ipv4"; >+ } else if (is_ipv6) { >+ fam = "ipv6"; >+ } else { >+ return NT_STATUS_INVALID_ADDRESS; >+ } >+ } > > c = talloc_zero(mem_ctx, struct cldap_socket); > if (!c) { >@@ -329,11 +350,10 @@ NTSTATUS cldap_socket_init(TALLOC_CTX *mem_ctx, > c->event.ctx = ev; > > if (!local_addr) { >- /* we use ipv4 here instead of ip, as otherwise we end >- up with a PF_INET6 socket, and sendto() for ipv4 >- addresses will fail. That breaks cldap name >- resolution for winbind to IPv4 hosts. */ >- ret = tsocket_address_inet_from_strings(c, "ipv4", >+ /* >+ * Here we the address family of the remote address. >+ */ >+ ret = tsocket_address_inet_from_strings(c, fam, > NULL, 0, > &any); > if (ret != 0) { >-- >1.7.4.1 > > >From e2df5abff23e30d0db2abe2946d8986b23238b3b Mon Sep 17 00:00:00 2001 >From: Matthieu Patou <mat@matws.net> >Date: Fri, 21 Oct 2011 16:11:41 +0200 >Subject: [PATCH 2/2] libcli-cldap: avoid the case local == remote == NULL > (cherry picked from commit 4d2d33ee09941ddb211e21788c01d886730224c2) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > libcli/cldap/cldap.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > >diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c >index 4432921..363ffbd 100644 >--- a/libcli/cldap/cldap.c >+++ b/libcli/cldap/cldap.c >@@ -351,8 +351,12 @@ NTSTATUS cldap_socket_init(TALLOC_CTX *mem_ctx, > > if (!local_addr) { > /* >- * Here we the address family of the remote address. >+ * Here we know the address family of the remote address. > */ >+ if (fam == NULL) { >+ return NT_STATUS_INVALID_PARAMETER_MIX; >+ } >+ > ret = tsocket_address_inet_from_strings(c, fam, > NULL, 0, > &any); >-- >1.7.4.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
Flags:
jra
:
review+
Actions:
View
Attachments on
bug 8600
: 7088