On Thu, Jan 08, 2026 at 01:52:47PM +0100, Michal Prívozník wrote:
> On 1/8/26 11:09, Richard W.M. Jones wrote:
> > On Thu, Jan 08, 2026 at 09:23:23AM +0100, Michal Privoznik via Devel wrote:
> >> From: Michal Privoznik <[email protected]>
> >>
> >> The aim of this helper function is to URI-encode given string
> >> twice. There's a bug (fixed in next commit) in which we're unable
> >> to fetch .vmx file for a domain if corresponding datastore
> >> contains some special characters (like +). Cole Robinson
> >> discovered that encoding datastore twice enables libvirt to work
> >> around the issue [2]. Well, this function does exactly that.
> >> It was tested with the following inputs and all worked
> >> flawlessly: "datastore", "datastore2", "datastore2+",
> >> "datastore3+-@", "data store2+".
> >>
> >> 1: https://issues.redhat.com/browse/RHEL-134127
> >> 2: https://issues.redhat.com/browse/RHEL-133729#comment-28604072
> >>
> >> Signed-off-by: Michal Privoznik <[email protected]>
> >> ---
> >>  src/esx/esx_util.c | 17 +++++++++++++++++
> >>  src/esx/esx_util.h |  3 +++
> >>  2 files changed, 20 insertions(+)
> >>
> >> diff --git a/src/esx/esx_util.c b/src/esx/esx_util.c
> >> index 7ee0e5f7c0..e47ea36730 100644
> >> --- a/src/esx/esx_util.c
> >> +++ b/src/esx/esx_util.c
> >> @@ -448,3 +448,20 @@ esxUtil_EscapeForXml(const char *string)
> >>  
> >>      return virBufferContentAndReset(&buffer);
> >>  }
> >> +
> >> +
> >> +
> > 
> > 3 blank lines between functions is OK??
> 
> It matches style used in the file. But yeah, I can drop this one extra
> line and post a patch to drops the other extra lines.
> 
> > 
> >> +/* esxUtil_EscapeInventoryObject:
> >> + * @buf: the buffer to append to
> >> + * @string: the string argument which will be URI-encoded
> >> + *
> >> + * URI-encode given @string TWICE and append the result to the @buf.
> >> + */
> >> +void
> >> +esxUtil_EscapeInventoryObject(virBuffer *buf, const char *string)
> > 
> > It's nit-picky but should we explain here why we are double-encoding
> > the string (ie. to workaround a VMware bug)?
> 
> It's in the commit message, but yeah, I'll add it into a comment too.
> Does the following sound reasonable?
> 
>  * URI-encode given @string TWICE and append the result to the @buf. This is
>  * to be used with inventory objects (like 'dcPath' and 'dsName') to work
>  * around a VMware bug in which once round of URI-encoding is not enough.

Seems fine, thanks.

Rich.

> 
> > 
> > But other than that, for the whole series:
> > 
> > Reviewed-by: Richard W.M. Jones <[email protected]>
> 
> Thanks!
> 
> Michal

-- 
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

Reply via email to