[libvirt] [PATCH] Add conditionals to allow build without SASL

Jason Helfman jhelfman at e-e.com
Thu Jun 30 17:35:54 UTC 2011


On Thu, Jun 30, 2011 at 06:18:43PM +0100, Daniel P. Berrange thus spake:
>* daemon/libvirtd.c, daemon/remote.c: Add #if HAVE_SASL and
>  suitable function stubs to allow build without SASL
>---
> daemon/libvirtd.c |    6 ++++++
> daemon/remote.c   |   44 ++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 50 insertions(+), 0 deletions(-)
>
>diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
>index 118aa92..60ee705 100644
>--- a/daemon/libvirtd.c
>+++ b/daemon/libvirtd.c
>@@ -91,7 +91,9 @@
>
> #include "configmake.h"
>
>+#if HAVE_SASL
> virNetSASLContextPtr saslCtxt = NULL;
>+#endif
> virNetServerProgramPtr remoteProgram = NULL;
> virNetServerProgramPtr qemuProgram = NULL;
>
>@@ -560,6 +562,7 @@ static int daemonSetupNetworking(virNetServerPtr srv,
>         }
>     }
>
>+#if HAVE_SASL
>     if (config->auth_unix_rw == REMOTE_AUTH_SASL ||
>         config->auth_unix_ro == REMOTE_AUTH_SASL ||
>         config->auth_tcp == REMOTE_AUTH_SASL ||
>@@ -569,6 +572,7 @@ static int daemonSetupNetworking(virNetServerPtr srv,
>         if (!saslCtxt)
>             goto error;
>     }
>+#endif
>
> #if HAVE_POLKIT0
>     if (auth_unix_rw == REMOTE_AUTH_POLKIT ||
>@@ -745,8 +749,10 @@ static int remoteConfigGetAuth(virConfPtr conf, const char *key, int *auth, cons
>
>     if (STREQ(p->str, "none")) {
>         *auth = VIR_NET_SERVER_SERVICE_AUTH_NONE;
>+#if HAVE_SASL
>     } else if (STREQ(p->str, "sasl")) {
>         *auth = VIR_NET_SERVER_SERVICE_AUTH_SASL;
>+#endif
>     } else if (STREQ(p->str, "polkit")) {
>         *auth = VIR_NET_SERVER_SERVICE_AUTH_POLKIT;
>     } else {
>diff --git a/daemon/remote.c b/daemon/remote.c
>index 9e6cf77..2889908 100644
>--- a/daemon/remote.c
>+++ b/daemon/remote.c
>@@ -1653,6 +1653,7 @@ cleanup:
> }
>
>
>+#ifdef HAVE_SASL
> /*
>  * Initializes the SASL session in prepare for authentication
>  * and gives the client a list of allowed mechanisms to choose
>@@ -1969,6 +1970,49 @@ error:
>     virMutexUnlock(&priv->lock);
>     return -1;
> }
>+#else
>+static int
>+remoteDispatchAuthSaslInit(virNetServerPtr server ATTRIBUTE_UNUSED,
>+                           virNetServerClientPtr client ATTRIBUTE_UNUSED,
>+                           virNetMessageHeaderPtr hdr ATTRIBUTE_UNUSED,
>+                           virNetMessageErrorPtr rerr,
>+                           remote_auth_sasl_init_ret *ret ATTRIBUTE_UNUSED)
>+{
>+    VIR_WARN("Client tried unsupported SASL auth");
>+    virNetError(VIR_ERR_AUTH_FAILED, "%s",
>+                _("authentication failed"));
>+    virNetMessageSaveError(rerr);
>+    return -1;
>+}
>+static int
>+remoteDispatchAuthSaslStart(virNetServerPtr server ATTRIBUTE_UNUSED,
>+                            virNetServerClientPtr client ATTRIBUTE_UNUSED,
>+                            virNetMessageHeaderPtr hdr ATTRIBUTE_UNUSED,
>+                            virNetMessageErrorPtr rerr,
>+                            remote_auth_sasl_start_args *args ATTRIBUTE_UNUSED,
>+                            remote_auth_sasl_start_ret *ret ATTRIBUTE_UNUSED)
>+{
>+    VIR_WARN("Client tried unsupported SASL auth");
>+    virNetError(VIR_ERR_AUTH_FAILED, "%s",
>+                _("authentication failed"));
>+    virNetMessageSaveError(rerr);
>+    return -1;
>+}
>+static int
>+remoteDispatchAuthSaslStep(virNetServerPtr server ATTRIBUTE_UNUSED,
>+                           virNetServerClientPtr client ATTRIBUTE_UNUSED,
>+                           virNetMessageHeaderPtr hdr ATTRIBUTE_UNUSED,
>+                           virNetMessageErrorPtr rerr,
>+                           remote_auth_sasl_step_args *args ATTRIBUTE_UNUSED,
>+                           remote_auth_sasl_step_ret *ret ATTRIBUTE_UNUSED)
>+{
>+    VIR_WARN("Client tried unsupported SASL auth");
>+    virNetError(VIR_ERR_AUTH_FAILED, "%s",
>+                _("authentication failed"));
>+    virNetMessageSaveError(rerr);
>+    return -1;
>+}
>+#endif
>
>
>
>-- 
>1.7.4.4
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
>

Build was successful. Thanks!

-- 
Jason Helfman
System Administrator
experts-exchange.com
http://www.experts-exchange.com/M_4830110.html
E4AD 7CF1 1396 27F6 79DD  4342 5E92 AD66 8C8C FBA5




More information about the libvir-list mailing list