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
pgpfqkkoSwxBL.pgp
Description: PGP signature