From be680bed4a8c51acebce012d7848d651f686105c Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Thu, 21 Dec 2017 15:29:02 +0100 Subject: [PATCH] rpc: Refactor the condition whether a client needs authentication Add virNetServerClientAuthMethodImpliesAuthenticated() for deciding whether a authentication method implies that a client is automatically authenticated or not. Use this new function in virNetServerClientNeedAuthLocked(). Signed-off-by: Marc Hartmayer Reviewed-by: Boris Fiuczynski Reviewed-by: Stefan Zimmermann --- src/rpc/virnetserverclient.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index 748132ae61..afe4fb47a2 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -354,6 +354,23 @@ static void virNetServerClientSockTimerFunc(int timer, } +/** + * virNetServerClientAuthMethodImpliesAuthenticated: + * @auth: authentication method to check + * + * Check if the passed authentication method implies that a client is + * automatically authenticated. + * + * Returns true if @auth implies that a client is automatically + * authenticated, otherwise false. + */ +static bool +virNetServerClientAuthMethodImpliesAuthenticated(int auth) +{ + return auth == VIR_NET_SERVER_SERVICE_AUTH_NONE; +} + + static virNetServerClientPtr virNetServerClientNewInternal(unsigned long long id, virNetSocketPtr sock, @@ -1521,7 +1538,7 @@ int virNetServerClientSendMessage(virNetServerClientPtr client, bool virNetServerClientNeedAuthLocked(virNetServerClientPtr client) { - return !(client->auth == VIR_NET_SERVER_SERVICE_AUTH_NONE); + return !virNetServerClientAuthMethodImpliesAuthenticated(client->auth); }