Ignore:
Timestamp:
Nov 25, 2016, 8:04:54 PM (9 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to version 4.4.7

Location:
vendor/current/nsswitch
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/nsswitch/wins.c

    r988 r989  
    4040#endif
    4141
    42 NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
    43                           char *buffer, size_t buflen, int *h_errnop);
    44 NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
    45                            char *buffer, size_t buflen, int *h_errnop);
     42NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname,
     43                                     struct hostent *he,
     44                                     char *buffer,
     45                                     size_t buflen,
     46                                     int *errnop,
     47                                     int *h_errnop);
     48NSS_STATUS _nss_wins_gethostbyname2_r(const char *name,
     49                                      int af,
     50                                      struct hostent *he,
     51                                      char *buffer,
     52                                      size_t buflen,
     53                                      int *errnop,
     54                                      int *h_errnop);
    4655
    4756static char *lookup_byname_backend(const char *name)
     
    226235  **************************************************************************/
    227236NSS_STATUS
    228 _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
    229                           char *buffer, size_t buflen, int *h_errnop)
     237_nss_wins_gethostbyname_r(const char *hostname,
     238                          struct hostent *he,
     239                          char *buffer,
     240                          size_t buflen,
     241                          int *errnop,
     242                          int *h_errnop)
    230243{
    231244        NSS_STATUS nss_status = NSS_STATUS_SUCCESS;
     
    248261        ip = lookup_byname_backend(name);
    249262        if (ip == NULL) {
     263                *errnop = EINVAL;
     264                *h_errnop = NETDB_INTERNAL;
    250265                nss_status = NSS_STATUS_NOTFOUND;
    251266                goto out;
     
    255270        wbcFreeMemory(ip);
    256271        if (rc == 0) {
     272                *errnop = errno;
     273                *h_errnop = NETDB_INTERNAL;
    257274                nss_status = NSS_STATUS_TRYAGAIN;
    258275                goto out;
     
    264281
    265282        if ((he->h_name = get_static(&buffer, &buflen, namelen)) == NULL) {
     283                *errnop = EAGAIN;
     284                *h_errnop = NETDB_INTERNAL;
    266285                nss_status = NSS_STATUS_TRYAGAIN;
    267286                goto out;
     
    276295
    277296        if (get_static(&buffer, &buflen, i) == NULL) {
     297                *errnop = EAGAIN;
     298                *h_errnop = NETDB_INTERNAL;
    278299                nss_status = NSS_STATUS_TRYAGAIN;
    279300                goto out;
     
    282303        if ((he->h_addr_list = (char **)get_static(
    283304                     &buffer, &buflen, 2 * sizeof(char *))) == NULL) {
     305                *errnop = EAGAIN;
     306                *h_errnop = NETDB_INTERNAL;
    284307                nss_status = NSS_STATUS_TRYAGAIN;
    285308                goto out;
     
    288311        if ((he->h_addr_list[0] = get_static(&buffer, &buflen,
    289312                                             INADDRSZ)) == NULL) {
     313                *errnop = EAGAIN;
     314                *h_errnop = NETDB_INTERNAL;
    290315                nss_status = NSS_STATUS_TRYAGAIN;
    291316                goto out;
     
    307332
    308333        if (get_static(&buffer, &buflen, i) == NULL) {
     334                *errnop = EAGAIN;
     335                *h_errnop = NETDB_INTERNAL;
    309336                nss_status = NSS_STATUS_TRYAGAIN;
    310337                goto out;
     
    313340        if ((he->h_aliases = (char **)get_static(
    314341                     &buffer, &buflen, sizeof(char *))) == NULL) {
     342                *errnop = EAGAIN;
     343                *h_errnop = NETDB_INTERNAL;
    315344                nss_status = NSS_STATUS_TRYAGAIN;
    316345                goto out;
     
    319348        he->h_aliases[0] = NULL;
    320349
     350        *h_errnop = NETDB_SUCCESS;
    321351        nss_status = NSS_STATUS_SUCCESS;
    322352
     
    331361
    332362NSS_STATUS
    333 _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
    334                            char *buffer, size_t buflen, int *h_errnop)
     363_nss_wins_gethostbyname2_r(const char *name,
     364                           int af,
     365                           struct hostent *he,
     366                           char *buffer,
     367                           size_t buflen,
     368                           int *errnop,
     369                           int *h_errnop)
    335370{
    336371        NSS_STATUS nss_status;
    337372
    338373        if(af!=AF_INET) {
     374                *errnop = EAFNOSUPPORT;
    339375                *h_errnop = NO_DATA;
    340376                nss_status = NSS_STATUS_UNAVAIL;
    341377        } else {
    342                 nss_status = _nss_wins_gethostbyname_r(
    343                                 name, he, buffer, buflen, h_errnop);
     378                nss_status = _nss_wins_gethostbyname_r(name,
     379                                                       he,
     380                                                       buffer,
     381                                                       buflen,
     382                                                       errnop,
     383                                                       h_errnop);
    344384        }
    345385        return nss_status;
Note: See TracChangeset for help on using the changeset viewer.