perl_access hash value length limit?

Julien ÉLIE julien at trigofacile.com
Sat Jan 22 20:11:42 UTC 2011


Hi Russ,

>> 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...
>
> Yup, the new parser has no arbitrary limits; the buffer there will be
> resized as needed to get all of a token.

Besides, the new parser works better than the readers.conf (or 
innfeed.conf to only mention it) parser.  There are weird things when a 
bad syntax is used.  Inexact error messages, or the parsing of the block 
is stopped, or sometimes segfaults (just seen one while playing with 
long strings)…



> Switching to the new parser is unfortunately a fair bit of work, although
> it would clean up a lot of nnrpd code.

It would indeed be great…
I see ticket #2:
     http://inn.eyrie.org/trac/ticket/2

The long-term intention is for the new config parser in lib/confparse.c 
to be used for parsing as many INN configuration files as possible. It 
would be nice to have Perl bindings to this interface so that Perl 
utilities could also make use of it (inncheck would immediately benefit).



I bet it would also need separating innconf.c in two:  generic functions 
(to be reused with readersconf.c and other similar parsers) and specific 
functions for inn.conf.

-- 
Julien ÉLIE

« – Avez-vous été attaqués par une force supérieure en nombre ?
   – Supérieure en nombre…
   – …On ne peut pas dire !
   – …Ils étaient un…
   – …Et pas bien gros avec ça ! » (Astérix)



More information about the inn-workers mailing list