[libvirt] [PATCH]: Fix qemu+tls negotiation
Chris Lalancette
clalance at redhat.com
Tue Mar 3 08:53:04 UTC 2009
Daniel P. Berrange wrote:
>> diff --git a/qemud/qemud.c b/qemud/qemud.c
>> index e852841..fd315fc 100644
>> --- a/qemud/qemud.c
>> +++ b/qemud/qemud.c
>> @@ -1339,6 +1339,8 @@ static int qemudDispatchServer(struct qemud_server *server, struct qemud_socket
>> /* Begin the TLS handshake. */
>> ret = gnutls_handshake (client->tlssession);
>> if (ret == 0) {
>> + client->handshake = 0;
>> +
>> /* Unlikely, but ... Next step is to check the certificate. */
>> if (remoteCheckAccess (client) == -1)
>> goto cleanup;
>
> This chunk is not required, because we have just VIR_ALLOC(client)
> and thus its memory is guarenteed all zero.
Yeah, good point, it's not strictly necessary, but I guess harmless. Since DV
committed it already, we can clean it up later.
>
>> @@ -1930,6 +1932,8 @@ qemudDispatchClientHandshake(struct qemud_server *server,
>> /* Continue the handshake. */
>> ret = gnutls_handshake (client->tlssession);
>> if (ret == 0) {
>> + client->handshake = 0;
>> +
>> /* Finished. Next step is to check the certificate. */
>> if (remoteCheckAccess (client) == -1)
>> qemudDispatchClientFailure(client);
>
> This bit must have been lost in the recent refactoring i did
Right, this is the really important bit, and the one that makes it work for me.
--
Chris Lalancette
More information about the libvir-list
mailing list