The Samba-Bugzilla – Bug 5264
group information reported by getgrnam() sporadically contains corrupted usernames
Last modified: 2008-02-15 17:40:50 UTC
We have a domain named "NA" with group named "our-group-name" containing 58 members (names changed to protect the innocent/guilty). Using a simple test program that uses getgrnam() to list the users that are members of a specified group (get_group_members - attached below), we see something like this:
Note that the first 3 user names are prefixed with "NA\na\" instead of just "NA\". That's the problem that is the topic of this bug report. The particular usernames that contain the extra "na\" prefix varies every 15-30 minutes. E.g., if we run "./get_group_members NA\\our-group-name" an hour from now, we may see linus being reported INcorrectly ("NA\na\linus"), and charlie being reported correctly ("NA\charlie"). Every 15-30 minutes, a different set of 1-5 users seem to enter this group membership "penalty box" (without any manual user intervention).
Prior to our upgrade to 3.0.26a and subsequently to 3.0.28, we did NOT have this problem.
Here is get_group_members.c:
fprintf(stderr, "Usage: get_group_members <group_name>\n");
fprintf(stderr, "List all users who are members of the group <group_name>\n");
int main(int argc, char *argv)
struct group *grent;
if (argc != 2)
groupname = argv;
if((grent = getgrnam(groupname)) && grent->gr_mem)
members = grent->gr_mem;
printf("group name %s not valid\n", groupname);