Hi,

On Wed, Mar 28, 2012 at 09:03:44AM -0400, Jonathan K. Bullard wrote:
> I've looked into this a bit more, and have found that where the options are
> actually used, argv_printf() is called to parse the command line into an
> argv structure. argv_printf uses parse_line() to do the actual parsing, and
> parse_line() processes single- and double-quotes and backslashes. I
> think that when options.c __checks__ an options command arguments, it
> should accept exactly the same input as the part of OpenVPN that __uses__
> the option's commands.

Cool :-) - thanks for investigation, I have learned something new today
(I have copy-paste used the argv_sprintf() stuff, but not fully investigated
what it does).

> Attached is a heavily revised version of my original patch. It uses
> argv_printf() to __check__ an option's commands, so it accepts exactly the
> same input as the parts of OpenVPN that __use__ the options' commands. 

As already noted by Fabian, the "gc" stuff is not needed, and you need
an argv_reset() call - but other than that, this looks close to inclusion,
I'd say :-)

> It
> also makes all the relevant changes suggested by Gert except having the
> argument following --iproute checked. The --iproute code is handled
> differently than the other options, and I think it is OK that we don't do
> checking in 2.3 on something that wasn't checked in 2.2 and (apparently)
> might go away sometime soon.

Makes sense.

gert
-- 
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de

Attachment: pgpfqkkoSwxBL.pgp
Description: PGP signature

Reply via email to