perl_access hash value length limit?
fschlich at CIS.FU-Berlin.DE
Wed Jan 12 09:54:00 UTC 2011
On Tue, Jan 11, 2011 at 05:28:42PM -0600, David E Mussulman wrote:
> 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
The reason is that CONFgetword() in lib/conffile.c limits the size of
any single configuration line to BIG_BUFFER, which by default is 8192.
So, I believe a simple work-around would be to recompile INN with
BIG_BUFFER set to a larger value, like 16384, in include/inn/options.h
The rejection of longer configuration lines looks quite intentional in
the parser code. I'm not entirely sure about the new parser
(lib/confparse.c); it uses a buffer size of 8192 as well, but I think it
will resize the buffer if necessary, and it's also possible to continue
a string over multiple lines. So I think a proper fix would be to
convert readers.conf to the new parser, but I'm not sure if anybody
intends to go forward with that in the forseeable future...
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 5557 bytes
Desc: not available
More information about the inn-workers