--- nsswitch/winbind_nss_aix.c.orig 2006-04-14 07:56:21.000000000 -0400 +++ nsswitch/winbind_nss_aix.c 2006-04-14 10:39:53.000000000 -0400 @@ -372,6 +372,7 @@ num_gids = response.data.num_entries; gid_list = (gid_t *)response.extra_data; + logit("num_gids = %u\n", num_gids); /* allocate a space large enough to contruct the string */ tmpbuf = malloc(num_gids*12); @@ -632,19 +633,17 @@ results[i].attr_un.au_char = strdup(pwd->pw_passwd); } else if (strcmp(attributes[i], S_HOME) == 0) { results[i].attr_un.au_char = strdup(pwd->pw_dir); - } else if (strcmp(attributes[0], S_SHELL) == 0) { + } else if (strcmp(attributes[i], S_SHELL) == 0) { results[i].attr_un.au_char = strdup(pwd->pw_shell); - } else if (strcmp(attributes[0], S_REGISTRY) == 0) { + } else if (strcmp(attributes[i], S_REGISTRY) == 0) { results[i].attr_un.au_char = strdup("WINBIND"); - } else if (strcmp(attributes[0], S_GECOS) == 0) { + } else if (strcmp(attributes[i], S_GECOS) == 0) { results[i].attr_un.au_char = strdup(pwd->pw_gecos); - } else if (strcmp(attributes[0], S_PGRP) == 0) { + } else if (strcmp(attributes[i], S_PGRP) == 0) { results[i] = pwd_to_group(pwd); - } else if (strcmp(attributes[0], S_GECOS) == 0) { - results[i].attr_un.au_char = strdup(pwd->pw_gecos); - } else if (strcmp(attributes[0], S_GROUPSIDS) == 0) { + } else if (strcmp(attributes[i], S_GROUPS) == 0) { results[i] = pwd_to_groupsids(pwd); - } else if (strcmp(attributes[0], "SID") == 0) { + } else if (strcmp(attributes[i], "SID") == 0) { results[i] = pwd_to_sid(pwd); } else { logit("Unknown user attribute '%s'\n", attributes[i]);