mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-26 22:45:17 +00:00
Fix reporting of TLS connection errors
The code for connecting to a server tries each socket in turn until it finds one that connects. Unfortunately for TLS sockets if it connected, but failed TLS handshake it would treat that as a failure to connect, and try the next socket. This is bad, it should have reported the TLS failure immediately. $ virsh -c qemu://somehost.com/system error: unable to connect to libvirtd at 'somehost.com': Invalid argument error: failed to connect to the hypervisor $ ./tools/virsh -c qemu://somehost.com/system error: server certificate failed validation: The certificate hasn't got a known issuer. error: failed to connect to the hypervisor * src/remote/remote_driver.c: Stop trying to connect if the TLS handshake fails
This commit is contained in:
parent
9b2c299a35
commit
469b6b3a75
@ -632,7 +632,7 @@ doRemoteOpen (virConnectPtr conn,
|
|||||||
if (!priv->session) {
|
if (!priv->session) {
|
||||||
close (priv->sock);
|
close (priv->sock);
|
||||||
priv->sock = -1;
|
priv->sock = -1;
|
||||||
continue;
|
goto failed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
goto tcp_connected;
|
goto tcp_connected;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user