I wanted to share this with you and make it available on the mailinglist because it took me a few minutes to figure out and it's a stupid issue so I don't want you to waste any time on it.
The cvs pserver passes all repositories that it wants to serve, on the command line. Thus, how many repositories you can serve is limited by how many characters you can pass on the command line. This is really silly because there's already a config file where it can read this from (/etc/cvsd/cvsd.conf). I haven't found a way around it.
So, every now and then, someone will complain that pserver checkouts (anonymous cvs access) doesn't work. Usually there will be some "pam_auth token not released" error of some sort. What I do then is that I edit the /etc/cvsd/cvsd.conf file and remove all projects who are using svn, darcs or arch (I check the project page, they usually announce this) until cvs pserver works again.
Then it works until I have added enough projects to make it break again at which point I go back and revise which of the new projects aren't using CVS.
I don't have a longterm fix for that one yet but it's probably something we need to address over the next year.
One possible solution is to symlink /project to /p which will drastically shorten the arguments to cvsd on the command line but this would mean that anonymous CVS users would have to specify anonymous@common-lisp.net:/p/project/cvsroot and SSH CVS users would still use :/project/project/cvsroot - that's probably going to confuse the hell out of alot of people.
Erik.