[libvirt] Support for older libxml2 [Was: [PATCH] Fixed URI parsing]
Daniel Veillard
veillard at redhat.com
Wed Feb 15 15:01:55 UTC 2012
On Wed, Feb 15, 2012 at 03:05:34PM +0100, Martin Kletzander wrote:
> On 02/13/2012 10:57 AM, Martin Kletzander wrote:
> > But as I say, I think this is the worst option considering the real
> > problem is with "brackets around IPv6 in libxml2" and fixing it there
> > would save us from dealing with lots of bugs.
>
> Let's suppose bug #624626 [1] will be fixed soon. Is there a need to
> support older libxml2 as well (those versions without the fix) in this case?
>
> Martin
>
> [1] https://bugzilla.redhat.com/show_bug.cgi?id=624626
Hum ....
I completely missed this, I'm not sure I understand comment 2:
paphio:~/XML -> testURI --debug 'qemu+ssh://[3ffe::102]/system'
scheme: qemu+ssh
server: [3ffe::102]
path: /system
qemu+ssh://[3ffe::102]/system
paphio:~/XML ->
Seems to me that libxml2 URI parsing works as expected
if I look at http://www.ietf.org/rfc/rfc3986.txt which is the level
of the URI spec that libxml2 implements:
authority = [ userinfo "@" ] host [ ":" port ]
host = IP-literal / IPv4address / reg-name
IP-literal = "[" ( IPv6address / IPvFuture ) "]"
IPv6address = 6( h16 ":" ) ls32
/ "::" 5( h16 ":" ) ls32
/ [ h16 ] "::" 4( h16 ":" ) ls32
/ [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
/ [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
/ [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32
/ [ *4( h16 ":" ) h16 ] "::" ls32
/ [ *5( h16 ":" ) h16 ] "::" h16
/ [ *6( h16 ":" ) h16 ] "::"
ls32 = ( h16 ":" h16 ) / IPv4address
; least-significant 32 bits of address
h16 = 1*4HEXDIG
; 16 bits of address represented in hexadecimal
so it seems to me that the "[" and "]" are part of the host address
per the RFC spec and well libxml2 parsing is adequate. I'm not sure
I understand the parsing problem,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list