Index: source/nsswitch/winbind_nss_solaris.c =================================================================== --- source/nsswitch/winbind_nss_solaris.c.orig 2005-12-02 13:21:45.000000000 -0600 +++ source/nsswitch/winbind_nss_solaris.c 2006-01-02 09:35:41.100616000 -0600 @@ -358,7 +358,9 @@ int addrcount = 0; int len = 0; struct in_addr *addrp; +#ifdef AF_INET6 struct in6_addr *addrp6; +#endif int i; /* response is tab separated list of ip addresses with hostname @@ -390,6 +392,7 @@ addrp -= addrcount; he->h_addr_list = (char **)ROUND_DOWN(addrp, sizeof (char*)); he->h_addr_list -= addrcount+1; +#ifdef AF_INET6 } else { he->h_length = sizeof(struct in6_addr); addrp6 = (struct in6_addr *)ROUND_DOWN(buffer + buflen, @@ -397,6 +400,7 @@ addrp6 -= addrcount; he->h_addr_list = (char **)ROUND_DOWN(addrp6, sizeof (char*)); he->h_addr_list -= addrcount+1; +#endif } /* buffer too small?! */ @@ -417,6 +421,7 @@ argp->erange = 1; return NSS_STR_PARSE_ERANGE; } +#ifdef AF_INET6 } else { he->h_addr_list[i] = (char *)&addrp6[i]; if (strchr(data, ':') != 0) { @@ -432,6 +437,7 @@ } IN6_INADDR_TO_V4MAPPED(&in4, &addrp6[i]); } +#endif } data = p+1; } @@ -473,6 +479,7 @@ ZERO_STRUCT(response); ZERO_STRUCT(request); +#ifdef AF_INET6 /* I assume there that AI_ADDRCONFIG cases are handled in nss frontend code, at least it seems done so in solaris... @@ -490,6 +497,9 @@ /* I'm not that sure if this is correct, but... */ af = AF_INET6; #endif +#else + af = AF_INET; +#endif strncpy(request.data.winsreq, argp->key.name, strlen(argp->key.name)) ; @@ -536,6 +546,7 @@ ZERO_STRUCT(response); ZERO_STRUCT(request); +#ifdef AF_INET6 /* winbindd currently does not resolve IPv6 */ if(argp->key.hostaddr.type == AF_INET6) { argp->h_errno = NO_DATA; @@ -544,6 +555,10 @@ p = inet_ntop(argp->key.hostaddr.type, argp->key.hostaddr.addr, request.data.winsreq, INET6_ADDRSTRLEN); +#else + p = inet_ntop(argp->key.hostaddr.type, argp->key.hostaddr.addr, + request.data.winsreq, 16); +#endif ret = winbindd_request_response(WINBINDD_WINS_BYIP, &request, &response);