The Samba-Bugzilla – Attachment 2387 Details for
Bug 4516
no IPv6 on Solaris 2.6
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
a patch against 3.0.25rc1
p.4516 (text/plain), 2.64 KB, created by
David Leonard (550 5.7.1 Unable to deliver)
on 2007-04-16 00:25:39 UTC
(
hide
)
Description:
a patch against 3.0.25rc1
Filename:
MIME Type:
Creator:
David Leonard (550 5.7.1 Unable to deliver)
Created:
2007-04-16 00:25:39 UTC
Size:
2.64 KB
patch
obsolete
>--- /tmp/samba-3.0.25rc1/source/nsswitch/winbind_nss_solaris.c 2007-03-01 14:54:16.000000000 +1000 >+++ samba/source/nsswitch/winbind_nss_solaris.c 2007-02-05 10:54:53.000000000 +1000 >@@ -360,7 +360,9 @@ > int addrcount = 0; > int len = 0; > struct in_addr *addrp; >+#if defined(AF_INET6) > struct in6_addr *addrp6; >+#endif > int i; > > /* response is tab separated list of ip addresses with hostname >@@ -392,7 +394,9 @@ > addrp -= addrcount; > he->h_addr_list = (char **)ROUND_DOWN(addrp, sizeof (char*)); > he->h_addr_list -= addrcount+1; >- } else { >+ } >+#if defined(AF_INET6) >+ else { > he->h_length = sizeof(struct in6_addr); > addrp6 = (struct in6_addr *)ROUND_DOWN(buffer + buflen, > sizeof(struct in6_addr)); >@@ -400,6 +404,7 @@ > he->h_addr_list = (char **)ROUND_DOWN(addrp6, sizeof (char*)); > he->h_addr_list -= addrcount+1; > } >+#endif > > /* buffer too small?! */ > if((char *)he->h_addr_list < buffer ) { >@@ -419,7 +424,9 @@ > argp->erange = 1; > return NSS_STR_PARSE_ERANGE; > } >- } else { >+ } >+#if defined(AF_INET6) >+ else { > he->h_addr_list[i] = (char *)&addrp6[i]; > if (strchr(data, ':') != 0) { > if (inet_pton(AF_INET6, data, &addrp6[i]) != 1) { >@@ -435,6 +442,7 @@ > IN6_INADDR_TO_V4MAPPED(&in4, &addrp6[i]); > } > } >+#endif > data = p+1; > } > >@@ -482,6 +490,7 @@ > AF_INET or for AF_INET6 and AI_ALL|AI_V4MAPPED we have to map > IPv4 to IPv6. > */ >+#if defined(AF_INET6) > #ifdef HAVE_NSS_XBYY_KEY_IPNODE > af = argp->key.ipnode.af_family; > if(af == AF_INET6 && argp->key.ipnode.flags == 0) { >@@ -492,6 +501,7 @@ > /* I'm not that sure if this is correct, but... */ > af = AF_INET6; > #endif >+#endif > > strncpy(request.data.winsreq, argp->key.name, sizeof(request.data.winsreq) - 1); > request.data.winsreq[sizeof(request.data.winsreq) - 1] = '\0'; >@@ -540,6 +550,7 @@ > ZERO_STRUCT(response); > ZERO_STRUCT(request); > >+#if defined(AF_INET6) > /* winbindd currently does not resolve IPv6 */ > if(argp->key.hostaddr.type == AF_INET6) { > argp->h_errno = NO_DATA; >@@ -547,7 +558,15 @@ > } > > p = inet_ntop(argp->key.hostaddr.type, argp->key.hostaddr.addr, >- request.data.winsreq, INET6_ADDRSTRLEN); >+ request.data.winsreq, sizeof request.data.winsreq); >+#else >+ snprintf(request.data.winsreq, sizeof request.data.winsreq, >+ "%u.%u.%u.%u", >+ ((unsigned char *)argp->key.hostaddr.addr)[0], >+ ((unsigned char *)argp->key.hostaddr.addr)[1], >+ ((unsigned char *)argp->key.hostaddr.addr)[2], >+ ((unsigned char *)argp->key.hostaddr.addr)[3]); >+#endif > > ret = winbindd_request_response(WINBINDD_WINS_BYIP, &request, &response); >
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 4516
: 2387