If a cvs server has a user who is a member of more than 31 groups and there are more than 31 repositories, each with a different group ownership that this user is a member of, the user will not be seen as a member of groups beyond the 31st when attempting to access the repositories. How reproducible: Attempt to commit to group higher than #31 in the 'id <user>' output and the user will get a permission denied error. Steps to Reproduce: Created 33 cvs repositories, each with its own unique group assigned a user to all of them. User can commit to repository #31, but not repository #32. # id -a tester1 uid=20002(tester1) gid=100(users) groups=100(users),1004(cvstest1),1005(cvstest2),1006(cvstest3),1007(cvstest4),1008(cvstest5),1009(cvstest6),1010(cvstest7),1011(cvstest8),1012(cvstest9),1013(cvstest10),1014(cvstest11),1015(cvstest12),1016(cvstest13),1017(cvstest14),1018(cvstest15),1019(cvstest16),1020(cvstest17),1021(cvstest18),1022(cvstest19),1023(cvstest20),1024(cvstest21),1025(cvstest22),1026(cvstest23),1027(cvstest24),1028(cvstest25),1029(cvstest26),1030(cvstest27),1031(cvstest28),1032(cvstest29),1033(cvstest30),1034(cvstest31),1035(cvstest32),1036(cvstest33) # id -G tester1 | wc -w 34 # cvs -d:ext:tester1.lan:/cvsroot/cvstest32 import foo vendor start tester1.lan's password: cvs server: cannot make path to /cvsroot/cvstest32/foo: Permission denied N foo/two cvs server: ERROR: cannot write file /cvsroot/cvstest32/foo/two,v: No such file or directory No conflicts created by this import # cvs -d:ext:tester1.lan:/cvsroot/cvstest31 import foo2 vendor start tester1.lan's password: N foo2/two No conflicts created by this import Expected results: The user should be able to commit to all groups, not just the first 31.
This is also open under Redhat's internal issue #49316
Closed in Issue Tracker, so I'm closing it too.