On Tue, Dec 12, 2017 at 12:36:30PM +0100, Marc Hartmayer wrote:
Add virNetServerClientAuthMethodImpliesAuthenticated() for deciding
whether a authentication method implies that a client is automatically
authenticated or not. Use this new function in
virNetServerClientNeedAuth().
Signed-off-by: Marc Hartmayer <mhartmay(a)linux.vnet.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.vnet.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi(a)linux.vnet.ibm.com>
---
src/rpc/virnetserverclient.c | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c
index 96fd1e6d15c2..616b6fe115e5 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;
+}
This just seems to be functionally identical to the existing
virNetServerClientNeedAuth method you're refactoring. The only
difference is whether ther mutex is held or not. Giving it a
completely different name is just confusing in this case. Our
normal practice is to just name the method the same, but add
a "Locked" suffix to indicate that the caller must already
hold the lock.
+
+
static virNetServerClientPtr
virNetServerClientNewInternal(unsigned long long id,
virNetSocketPtr sock,
@@ -1515,10 +1532,9 @@ int virNetServerClientSendMessage(virNetServerClientPtr client,
bool virNetServerClientNeedAuth(virNetServerClientPtr client)
{
- bool need = true;
+ bool need;
virObjectLock(client);
- if (client->auth == VIR_NET_SERVER_SERVICE_AUTH_NONE)
- need = false;
+ need = !virNetServerClientAuthMethodImpliesAuthenticated(client->auth);
virObjectUnlock(client);
return need;
}
--
2.13.4
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|