[msw@sid msw]$ id msw uid=2195(msw) gid=2195(msw) groups=2195(msw),1076,1070,4001(idevel) notice that group 1070 did not get resolved to a name. Only the primary group and the last supplimental group have names resolved. The server has the needed info: [msw@sid msw]$ ypmatch 1070 group.bygid devel:x:1070:{list of members} [msw@sid msw]$ ypmatch devel group.byname devel:x:1070:{list of members} It seems that gr_name is not getting properly filled in by the nis module.
I will set up a testing NIS server at home and debug this today.
No idea if this is useful information or not, but it appears to work with nscd running.
The bug was with very long results that cause expansion of the initial buffer. For future testing reference, be sure to have some such cases in the NIS test environment (e.g. group lines with many members--group 1070's line is 719 chars long. It so happens this is the same underlying bug that was reported today in a different context (it bites all sorts of get* functions with long results). I had already fixed it before that evil bastard msw made me risk my immortal soul by setting up NIS at home. It didn't occur to me that it was probably the same bug until after my fingers were fouled with that nasty yellow newsprint. Now I'm screwed. The fix is in glibc mainline already. Jakub should catch it in his next sweep of miscellaneous fixes into the RH rpm version.
looks good now