[radvd-devel-l] string type in radvd scanner.l

Reuben Hawkins reubenhwk at gmail.com
Thu May 5 13:30:00 EDT 2011

Hi All,

This is what the radvd scanner considers a string (for interface names
and dnssl)...

string          [a-zA-Z0-9`~!@#$%\^&*()_\-+=:\[\]<>,\.?\\]{1,255}

Does it really need to be so complex?  This change was added October
14, 2008 with the commit message... "Accept virtually any interface
name (up to 15 chars) instead of forcing a specific naming
convention." and it was defined as...

string    [a-z]([a-z:._-]|{digit})*([:.]{digit}+)?

As it is now, scanner.o is 369K (on my machine), but with the older
version of string, scanner.o is 68K.  The rest of radvd is only 157K.
The more complex version of string increases the size of radvd by a
factor of three.  Is this really needed?  Can somebody come up with
something simpler which will provide a decent trade-off?

Thanks in advance,

More information about the radvd-devel-l mailing list