On Tue, Nov 13, 2018 at 11:36:57AM +0000, Daniel P. Berrangé wrote: > When no server name is provided in the URI, modern versions of libxml2 > will set the port to '-1'. This is a change from behaviour with earlier > versions which set it to 0. > > Libvirt expects the port to be 0 in these cases and as a result we get a > bug when connecting to URIs which lack a server name: > > $ virsh -c test+ssh:///default list > error: failed to connect to the hypervisor > error: Cannot recv data: Bad port '-1': Connection reset by peer > > This libxml2 change was attempting to fix another bug identified by > libvirt where it didn't roundtrip URIs correctly in: > > https://github.com/GNOME/libxml2/commit/beb7281055dbf0ed4d041022a67c6c5cfd126f25 > > Essentially libxml2 was not expecting apps to look at the URI port > field when the server name is not provided. This was a reasonable > assumption, but none the less libvirt did look at it :-) > > The fix is to ensure we explicitly set port to 0 when server name > is not present, avoiding undefined behaviour for the port field in > libxml2. > > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> > --- Reviewed-by: Erik Skultety <eskultet@xxxxxxxxxx> -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list