perl_access hash value length limit?

Florian Schlichting fschlich at CIS.FU-Berlin.DE
Wed Jan 12 09:54:00 UTC 2011


Hi David,

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
> connection.

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...

Florian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5557 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/inn-workers/attachments/20110112/fa7f680e/attachment.bin>


More information about the inn-workers mailing list