From: Marc Hartmayer Date: Thu, 21 Dec 2017 14:29:00 +0000 (+0100) Subject: rpc: Be more precise in which cases the authentication is needed and introduce *Locked X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ee8bb0511d1e9cac3358da647c35a86e605f621c;p=libvirt.git rpc: Be more precise in which cases the authentication is needed and introduce *Locked Be more precise in which cases the authentication is needed and introduce *Locked. Signed-off-by: Marc Hartmayer Reviewed-by: Boris Fiuczynski Reviewed-by: Bjoern Walk Reviewed-by: Stefan Zimmermann Reviewed-by: John Ferlan --- diff --git a/src/libvirt_remote.syms b/src/libvirt_remote.syms index 1c107e1d69..cecd71c49e 100644 --- a/src/libvirt_remote.syms +++ b/src/libvirt_remote.syms @@ -143,6 +143,7 @@ virNetServerClientIsLocal; virNetServerClientIsSecure; virNetServerClientLocalAddrStringSASL; virNetServerClientNeedAuth; +virNetServerClientNeedAuthLocked; virNetServerClientNew; virNetServerClientNewPostExecRestart; virNetServerClientPreExecRestart; diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index f4a2571f55..748132ae61 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -1518,12 +1518,19 @@ int virNetServerClientSendMessage(virNetServerClientPtr client, } -bool virNetServerClientNeedAuth(virNetServerClientPtr client) +bool +virNetServerClientNeedAuthLocked(virNetServerClientPtr client) { - bool need = false; + return !(client->auth == VIR_NET_SERVER_SERVICE_AUTH_NONE); +} + + +bool +virNetServerClientNeedAuth(virNetServerClientPtr client) +{ + bool need; virObjectLock(client); - if (client->auth) - need = true; + need = virNetServerClientNeedAuthLocked(client); virObjectUnlock(client); return need; } diff --git a/src/rpc/virnetserverclient.h b/src/rpc/virnetserverclient.h index 2569f93c3b..1182d53c70 100644 --- a/src/rpc/virnetserverclient.h +++ b/src/rpc/virnetserverclient.h @@ -147,6 +147,7 @@ int virNetServerClientSendMessage(virNetServerClientPtr client, virNetMessagePtr msg); bool virNetServerClientNeedAuth(virNetServerClientPtr client); +bool virNetServerClientNeedAuthLocked(virNetServerClientPtr client); int virNetServerClientGetTransport(virNetServerClientPtr client); int virNetServerClientGetInfo(virNetServerClientPtr client,