in pam_linux.go [36:55]
func isMemberOf(groupName string) bool {
if len(groupName) == 0 {
return false
}
CgroupName := C.CString(groupName)
if CgroupName == nil {
pamLog("bad group name: %s", groupName)
return false
}
defer C.free(unsafe.Pointer(CgroupName))
groupEnt := C.getgrnam(CgroupName)
if groupEnt == nil {
pamLog("bad group: %s", groupName)
return false
}
return C.group_member(C.int(groupEnt.gr_gid)) != 0
}