http://www.contrib.andrew.cmu.edu/~shadow/auth_unix.c.diff
is a diff which probably works. I'm still unsure if there are platforms using the 3 argument version of getgrent_r() and it appears to be a non-standard function anyway, so this probably needs configure glue.
--- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html