Ignore:
Timestamp:
Mar 11, 2009, 9:14:55 AM (17 years ago)
Author:
Paul Smedley
Message:

Add 'missing' 3.0.34 diffs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/nsswitch/winbind_nss_solaris.c

    r1 r165  
    361361        int len = 0;
    362362        struct in_addr *addrp;
     363
    363364        struct in6_addr *addrp6;
     365
    364366        int i;
    365367
     
    393395                he->h_addr_list = (char **)ROUND_DOWN(addrp, sizeof (char*));
    394396                he->h_addr_list -= addrcount+1;
    395         } else {
     397        }
     398#if defined(AF_INET6)
     399        else {
    396400                he->h_length = sizeof(struct in6_addr);
    397401                addrp6 = (struct in6_addr *)ROUND_DOWN(buffer + buflen,
     
    401405                he->h_addr_list -= addrcount+1;
    402406        }
     407
    403408
    404409        /* buffer too small?! */
     
    420425                    return NSS_STR_PARSE_ERANGE;
    421426                  }
    422                 } else {
     427                }
     428#if defined(AF_INET6)
     429                else {
    423430                  he->h_addr_list[i] = (char *)&addrp6[i];
    424431                  if (strchr(data, ':') != 0) {
     
    436443                  }
    437444                }
     445
    438446                data = p+1;
    439447        }
     
    483491           IPv4 to IPv6.
    484492         */
     493
    485494#ifdef HAVE_NSS_XBYY_KEY_IPNODE
    486495        af = argp->key.ipnode.af_family;
     
    493502        af = AF_INET6;
    494503#endif
     504
    495505
    496506        strncpy(request.data.winsreq, argp->key.name, sizeof(request.data.winsreq) - 1);
     
    541551        ZERO_STRUCT(request);
    542552
     553
    543554        /* winbindd currently does not resolve IPv6 */
    544555        if(argp->key.hostaddr.type == AF_INET6) {
     
    548559
    549560        p = inet_ntop(argp->key.hostaddr.type, argp->key.hostaddr.addr,
    550                         request.data.winsreq, INET6_ADDRSTRLEN);
     561                        request.data.winsreq, sizeof request.data.winsreq);
     562#else
     563        snprintf(request.data.winsreq, sizeof request.data.winsreq,
     564                "%u.%u.%u.%u",
     565                ((unsigned char *)argp->key.hostaddr.addr)[0],
     566                ((unsigned char *)argp->key.hostaddr.addr)[1],
     567                ((unsigned char *)argp->key.hostaddr.addr)[2],
     568                ((unsigned char *)argp->key.hostaddr.addr)[3]);
     569#endif
    551570
    552571        ret = winbindd_request_response(WINBINDD_WINS_BYIP, &request, &response);
Note: See TracChangeset for help on using the changeset viewer.