From: Matthias Bolte Date: Tue, 28 Jun 2011 22:33:09 +0000 (+0200) Subject: Fix compilation with systemtap 1.3 X-Git-Tag: v0.9.3-rc2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c565b67a6afcd470a3238008ac045b540d4ebed6;p=thirdparty%2Flibvirt.git Fix compilation with systemtap 1.3 Version 1.3 of uses this macro #define STAP_CAST(t) (size_t)t that breaks like this if t is a function remote.c:1775: error: cast from function call of type 'const char *' to non-matching type 'long unsigned int' [-Wbad-function-cast] For that to work it should probably look like this #define STAP_CAST(t) ((size_t)(t)) In systemtap 1.4 this was completely rewritten. Anyway, before commit df0b57a95a767c t was always a variable, but now also a function is used here, namely virNetSASLSessionGetIdentity. Use an intermediate variable to avoid this problem. --- diff --git a/daemon/remote.c b/daemon/remote.c index 9547702961..9e6cf77f27 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -1759,13 +1759,13 @@ remoteSASLFinish(virNetServerClientPtr client) if (virNetServerClientSetIdentity(client, identity) < 0) goto error; - virNetServerClientSetSASLSession(client, priv->sasl); VIR_DEBUG("Authentication successful %d", virNetServerClientGetFD(client)); + + identity = virNetSASLSessionGetIdentity(priv->sasl); PROBE(CLIENT_AUTH_ALLOW, "fd=%d, auth=%d, username=%s", - virNetServerClientGetFD(client), REMOTE_AUTH_SASL, - virNetSASLSessionGetIdentity(priv->sasl)); + virNetServerClientGetFD(client), REMOTE_AUTH_SASL, identity); virNetSASLSessionFree(priv->sasl); priv->sasl = NULL; @@ -1793,6 +1793,7 @@ remoteDispatchAuthSaslStart(virNetServerPtr server ATTRIBUTE_UNUSED, int rv = -1; struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client); + const char *identity; virMutexLock(&priv->lock); @@ -1856,9 +1857,9 @@ authfail: goto error; authdeny: + identity = virNetSASLSessionGetIdentity(priv->sasl); PROBE(CLIENT_AUTH_DENY, "fd=%d, auth=%d, username=%s", - virNetServerClientGetFD(client), REMOTE_AUTH_SASL, - virNetSASLSessionGetIdentity(priv->sasl)); + virNetServerClientGetFD(client), REMOTE_AUTH_SASL, identity); goto error; error: @@ -1888,7 +1889,7 @@ remoteDispatchAuthSaslStep(virNetServerPtr server ATTRIBUTE_UNUSED, int rv = -1; struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client); - + const char *identity; virMutexLock(&priv->lock); @@ -1952,9 +1953,9 @@ authfail: goto error; authdeny: + identity = virNetSASLSessionGetIdentity(priv->sasl); PROBE(CLIENT_AUTH_DENY, "fd=%d, auth=%d, username=%s", - virNetServerClientGetFD(client), REMOTE_AUTH_SASL, - virNetSASLSessionGetIdentity(priv->sasl)); + virNetServerClientGetFD(client), REMOTE_AUTH_SASL, identity); goto error; error: