perl_access hash value length limit?
David E Mussulman
mussulma at illinois.edu
Tue Jan 11 23:28:42 UTC 2011
I think I've found a bug in INN 2.5.2 with the readers.conf perl_access
access() returned hash value length. I added a bunch of newsgroups
today that pushed the character count in the 'read' key's value from
6456 characters to 8238 characters. With a 'read' string that long, INN
didn't work anymore for incoming connections. Syslog reported the error
"syntax error in (null)(2), Expected value." and terminated the
If I reverted my newsgroup adds from the flatfile that my perl_access
script uses to build the hash, back down to its this-morning length of
6456 characters, it worked again. Add one or two newsgroups more and it
still worked. So somewhere between those two value's character lengths,
INN stopped liking it.
I don't think perl cares, or that we've hit a limit in perl, since a
small test perl script that calls the same perl_access library and
simply prints out the resulting hash showed the thing in entirity
(that's how I was able to see the character counts). I'm hoping it's
something simple like a buffer limit being hit in INN.
Backstory: We've been using INN for years to support internal newsgroups
for CS course discussions. 18 months ago we started naming the groups
per-semester (for more granular access control and versioning), but that
means each term we add 100 or so newsgroups. Either wildmats didn't
work in the perl_access hash at one time, or we decided not to use them
but each newsgroup is enumerated individually in the read and post hash
values. FWIW, I was able to squeeze all of this semester's groups in by
just putting a comma inbetween groups (I had comma-space before) and my
current length is 7803. That'll get me through the start of the
semester, but I'll need a solution by summer.
Thanks for the help,
More information about the inn-workers