[libvirt] [PATCHv2] schema: Relax schema for domain name
Eric Blake
eblake at redhat.com
Tue Jan 31 23:56:10 UTC 2012
On 01/25/2012 08:49 AM, Peter Krempa wrote:
> The domain schema enforced restrictions on the domain name string that
> the code doesn't. This patch relaxes the check, leaving the restrictions
> on the driver or hypervisor. The only invalid character is a newline.
> ---
> docs/schemas/domaincommon.rng | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
> index 4fa968d..ecf3484 100644
> --- a/docs/schemas/domaincommon.rng
> +++ b/docs/schemas/domaincommon.rng
> @@ -3030,7 +3030,7 @@
> </define>
> <define name="domainName">
> <data type="string">
> - <param name="pattern">[A-Za-z0-9_\.\+\-&:/]+</param>
> + <param name="pattern">[^\n]+</param>
Phooey. This patch is causing a test failure on RHEL 6.2. Apparently,
the version of libxml2-2.7.6-4.el6_2.1.x86_64 is treating that as a
regular expression that forbids literal 'n'; whereas on Fedora 16,
libxml2-2.7.8-6.fc16.x86_64 treats it as forbidding newline.
Interestingly enough, using a literal newline made the test patch in
both platforms. I'm checking this in under the build-breaker rule, and
we'll need the same hack when we check in the XML for <title>:
From c3c2cc653408dd51f2f87371dfb0b00f7181fc00 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake at redhat.com>
Date: Tue, 31 Jan 2012 16:51:36 -0700
Subject: [PATCH] build: fix text regression
Commit 8a09ee410 tickles a bug in libxml2-2.7.6 on RHEL 6.2,
where libxml2 treats the pattern [^\n] as excluding literal
backslash and n, instead of the intended newline, thus failing
to validate any domain name containing 'n'.
* docs/schemas/domaincommon.rng: Use literal newline instead.
---
docs/schemas/domaincommon.rng | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 66e5491..2423154 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -3058,7 +3058,9 @@
</define>
<define name="domainName">
<data type="string">
- <param name="pattern">[^\n]+</param>
+ <!-- Use literal newline instead of \n for bug in libxml2 2.7.6 -->
+ <param name="pattern">[^
+]+</param>
</data>
</define>
<define name="diskSerial">
--
1.7.7.6
--
Eric Blake eblake at redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120131/23e5e266/attachment-0001.sig>
More information about the libvir-list
mailing list