[PATCH] p2v: Allow virt-v2v input and output drivers containing '-' (RHBZ#1590220).
The new ‘-o rhv-upload’ output mode contains a '-' character in the name, but the regular expression which matched the output of the virt-v2v command did not recognize '-' as a valid character. It ended up mapping this to just "rhv" meaning two "rhv" entries would appear in the list of output drivers. Thanks: Ming Xie. --- p2v/ssh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/p2v/ssh.c b/p2v/ssh.c index d2699fffd..2fcf0ef3e 100644 --- a/p2v/ssh.c +++ b/p2v/ssh.c @@ -181,8 +181,8 @@ compile_regexps (void) 0); COMPILE (feature_libguestfs_rewrite_re, "libguestfs-rewrite", 0); COMPILE (feature_colours_option_re, "colours-option", 0); - COMPILE (feature_input_re, "input:((?:\\w)*)", 0); - COMPILE (feature_output_re, "output:((?:\\w)*)", 0); + COMPILE (feature_input_re, "input:((?:[-\\w])*)", 0); + COMPILE (feature_output_re, "output:((?:[-\\w])*)", 0); COMPILE (portfwd_re, "Allocated port ((?:\\d)+) for remote forward", 0); } -- 2.16.2
On Tuesday, 12 June 2018 11:27:56 CEST Richard W.M. Jones wrote:
The new ‘-o rhv-upload’ output mode contains a '-' character in the name, but the regular expression which matched the output of the virt-v2v command did not recognize '-' as a valid character. It ended up mapping this to just "rhv" meaning two "rhv" entries would appear in the list of output drivers.
Thanks: Ming Xie. --- p2v/ssh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/p2v/ssh.c b/p2v/ssh.c index d2699fffd..2fcf0ef3e 100644 --- a/p2v/ssh.c +++ b/p2v/ssh.c @@ -181,8 +181,8 @@ compile_regexps (void) 0); COMPILE (feature_libguestfs_rewrite_re, "libguestfs-rewrite", 0); COMPILE (feature_colours_option_re, "colours-option", 0); - COMPILE (feature_input_re, "input:((?:\\w)*)", 0); - COMPILE (feature_output_re, "output:((?:\\w)*)", 0); + COMPILE (feature_input_re, "input:((?:[-\\w])*)", 0); + COMPILE (feature_output_re, "output:((?:[-\\w])*)", 0);
What about making them a bit more loose, e.g.: input:((?:[^\\n])+) so there are no further changes to do, in case other non-word characters are used in the names of input, and output modes? -- Pino Toscano
On Tue, Jun 12, 2018 at 12:13:32PM +0200, Pino Toscano wrote:
On Tuesday, 12 June 2018 11:27:56 CEST Richard W.M. Jones wrote:
The new ‘-o rhv-upload’ output mode contains a '-' character in the name, but the regular expression which matched the output of the virt-v2v command did not recognize '-' as a valid character. It ended up mapping this to just "rhv" meaning two "rhv" entries would appear in the list of output drivers.
Thanks: Ming Xie. --- p2v/ssh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/p2v/ssh.c b/p2v/ssh.c index d2699fffd..2fcf0ef3e 100644 --- a/p2v/ssh.c +++ b/p2v/ssh.c @@ -181,8 +181,8 @@ compile_regexps (void) 0); COMPILE (feature_libguestfs_rewrite_re, "libguestfs-rewrite", 0); COMPILE (feature_colours_option_re, "colours-option", 0); - COMPILE (feature_input_re, "input:((?:\\w)*)", 0); - COMPILE (feature_output_re, "output:((?:\\w)*)", 0); + COMPILE (feature_input_re, "input:((?:[-\\w])*)", 0); + COMPILE (feature_output_re, "output:((?:[-\\w])*)", 0);
What about making them a bit more loose, e.g.:
input:((?:[^\\n])+)
so there are no further changes to do, in case other non-word characters are used in the names of input, and output modes?
I was actually thinking about tightening up the v2v side. Do we imagine that there will be input or output modes using characters outside the set '-', a-z, A-Z, 0-9? Given that it's part of the command line too. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
On Tuesday, 12 June 2018 18:16:11 CEST Richard W.M. Jones wrote:
On Tue, Jun 12, 2018 at 12:13:32PM +0200, Pino Toscano wrote:
On Tuesday, 12 June 2018 11:27:56 CEST Richard W.M. Jones wrote:
The new ‘-o rhv-upload’ output mode contains a '-' character in the name, but the regular expression which matched the output of the virt-v2v command did not recognize '-' as a valid character. It ended up mapping this to just "rhv" meaning two "rhv" entries would appear in the list of output drivers.
Thanks: Ming Xie. --- p2v/ssh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/p2v/ssh.c b/p2v/ssh.c index d2699fffd..2fcf0ef3e 100644 --- a/p2v/ssh.c +++ b/p2v/ssh.c @@ -181,8 +181,8 @@ compile_regexps (void) 0); COMPILE (feature_libguestfs_rewrite_re, "libguestfs-rewrite", 0); COMPILE (feature_colours_option_re, "colours-option", 0); - COMPILE (feature_input_re, "input:((?:\\w)*)", 0); - COMPILE (feature_output_re, "output:((?:\\w)*)", 0); + COMPILE (feature_input_re, "input:((?:[-\\w])*)", 0); + COMPILE (feature_output_re, "output:((?:[-\\w])*)", 0);
What about making them a bit more loose, e.g.:
input:((?:[^\\n])+)
so there are no further changes to do, in case other non-word characters are used in the names of input, and output modes?
I was actually thinking about tightening up the v2v side. Do we imagine that there will be input or output modes using characters outside the set '-', a-z, A-Z, 0-9? Given that it's part of the command line too.
Maybe '_', and '.' too, although I can imagine we do not want them. Otherwise, LGTM. -- Pino Toscano
participants (2)
-
Pino Toscano -
Richard W.M. Jones