On closer investigation, the reason none of the group stuff worked with my patch to libshadow was that groupio.c uses the same calls as for updating passwords, with the result that it was attempting to write group files in the same way as passwd files (whereas /etc/group is the same format on NetBSD as elsewhere). For the moment I've worked around this by shifting all my changes to a different commonio.c (commoniobsd.c) and adding unmodified versions of the three modified functions with different names then hacked groupio.c to use those. No hint is passed regarding whether the file is a password or a group file, so can anyone suggest a better mechanism or should I just stick with this for now? (with this fix, the login and passwd packages seem to basically work so can probably be taken off the TODO list. We still lose the ability to alter the NetBSD specific stuff, but that can probably be added in later)
-- Matthew Garrett | [EMAIL PROTECTED]

