This partially reverts commit
9b45c9f049a7e9b6c1abfa6988b63b760714e169.
It changed the default format of socket address from the one SASL
requires, but did not adjust all the callers.
It also removed the test coverage for it.
Revert most of the changes except the virSocketAddrFormatFull support
for URI-formatted strings.
This fixes https://bugzilla.redhat.com/show_bug.cgi?id=
1345743 while
reverting the format used by virt-admin's client-info command from
the URI one to the SASL one.
https://bugzilla.redhat.com/show_bug.cgi?id=
1345743
virNetSASLSessionPtr sasl = NULL;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
- char *localAddr = NULL;
- char *remoteAddr = NULL;
virMutexLock(&priv->lock);
goto authfail;
}
- localAddr = virNetServerClientLocalAddrFormatSASL(client);
- remoteAddr = virNetServerClientRemoteAddrFormatSASL(client);
-
sasl = virNetSASLSessionNewServer(saslCtxt,
"libvirt",
- localAddr,
- remoteAddr);
-
- VIR_FREE(localAddr);
- VIR_FREE(remoteAddr);
-
+ virNetServerClientLocalAddrString(client),
+ virNetServerClientRemoteAddrString(client));
if (!sasl)
goto authfail;
sasl_callback_t *saslcb = NULL;
int ret = -1;
const char *mechlist;
- char *localAddr = NULL;
- char *remoteAddr = NULL;
virNetSASLContextPtr saslCtxt;
virNetSASLSessionPtr sasl = NULL;
struct remoteAuthInteractState state;
saslcb = NULL;
}
- localAddr = virNetClientLocalAddrFormatSASL(priv->client);
- remoteAddr = virNetClientRemoteAddrFormatSASL(priv->client);
-
/* Setup a handle for being a client */
if (!(sasl = virNetSASLSessionNewClient(saslCtxt,
"libvirt",
cleanup:
VIR_FREE(serverin);
- VIR_FREE(localAddr);
- VIR_FREE(remoteAddr);
remoteAuthInteractStateClear(&state, true);
VIR_FREE(saslcb);
return virNetSocketRemoteAddrString(client->sock);
}
-char *virNetClientLocalAddrFormatSASL(virNetClientPtr client)
-{
- return virNetSocketLocalAddrFormatSASL(client->sock);
-}
-
-char *virNetClientRemoteAddrFormatSASL(virNetClientPtr client)
-{
- return virNetSocketRemoteAddrFormatSASL(client->sock);
-}
-
#if WITH_GNUTLS
int virNetClientGetTLSKeySize(virNetClientPtr client)
{
const char *virNetClientLocalAddrString(virNetClientPtr client);
const char *virNetClientRemoteAddrString(virNetClientPtr client);
-char *virNetClientLocalAddrFormatSASL(virNetClientPtr client);
-char *virNetClientRemoteAddrFormatSASL(virNetClientPtr client);
# ifdef WITH_GNUTLS
int virNetClientGetTLSKeySize(virNetClientPtr client);
return virNetSocketRemoteAddrString(client->sock);
}
-char *virNetServerClientLocalAddrFormatSASL(virNetServerClientPtr client)
-{
- if (!client->sock)
- return NULL;
- return virNetSocketLocalAddrFormatSASL(client->sock);
-}
-
-char *virNetServerClientRemoteAddrFormatSASL(virNetServerClientPtr client)
-{
- if (!client->sock)
- return NULL;
- return virNetSocketRemoteAddrFormatSASL(client->sock);
-}
void virNetServerClientDispose(void *obj)
{
const char *virNetServerClientLocalAddrString(virNetServerClientPtr client);
const char *virNetServerClientRemoteAddrString(virNetServerClientPtr client);
-char *virNetServerClientLocalAddrFormatSASL(virNetServerClientPtr client);
-char *virNetServerClientRemoteAddrFormatSASL(virNetServerClientPtr client);
int virNetServerClientSendMessage(virNetServerClientPtr client,
virNetMessagePtr msg);
if (localAddr &&
- !(sock->localAddrStr = virSocketAddrFormatFull(localAddr, true, NULL)))
+ !(sock->localAddrStr = virSocketAddrFormatFull(localAddr, true, ";")))
goto error;
if (remoteAddr &&
- !(sock->remoteAddrStr = virSocketAddrFormatFull(remoteAddr, true, NULL)))
+ !(sock->remoteAddrStr = virSocketAddrFormatFull(remoteAddr, true, ";")))
goto error;
sock->client = isClient;
return sock->remoteAddrStr;
}
-/* These helper functions return a SASL-formatted socket addr string,
- * caller is responsible for freeing the string.
- */
-char *virNetSocketLocalAddrFormatSASL(virNetSocketPtr sock)
-{
- return virSocketAddrFormatFull(&sock->localAddr, true, ";");
-}
-
-char *virNetSocketRemoteAddrFormatSASL(virNetSocketPtr sock)
-{
- return virSocketAddrFormatFull(&sock->remoteAddr, true, ";");
-}
-
#if WITH_GNUTLS
static ssize_t virNetSocketTLSSessionWrite(const char *buf,
const char *virNetSocketLocalAddrString(virNetSocketPtr sock);
const char *virNetSocketRemoteAddrString(virNetSocketPtr sock);
-char *virNetSocketLocalAddrFormatSASL(virNetSocketPtr sock);
-char *virNetSocketRemoteAddrFormatSASL(virNetSocketPtr sock);
int virNetSocketListen(virNetSocketPtr sock, int backlog);
int virNetSocketAccept(virNetSocketPtr sock,
if (virNetSocketNewListenUNIX(path, 0700, -1, getegid(), &lsock) < 0)
goto cleanup;
- if (STRNEQ(virNetSocketLocalAddrString(lsock), "127.0.0.1:0")) {
+ if (STRNEQ(virNetSocketLocalAddrString(lsock), "127.0.0.1;0")) {
VIR_DEBUG("Unexpected local address");
goto cleanup;
}
if (virNetSocketNewConnectUNIX(path, false, NULL, &csock) < 0)
goto cleanup;
- if (STRNEQ(virNetSocketLocalAddrString(csock), "127.0.0.1:0")) {
+ if (STRNEQ(virNetSocketLocalAddrString(csock), "127.0.0.1;0")) {
VIR_DEBUG("Unexpected local address");
goto cleanup;
}
- if (STRNEQ(virNetSocketRemoteAddrString(csock), "127.0.0.1:0")) {
+ if (STRNEQ(virNetSocketRemoteAddrString(csock), "127.0.0.1;0")) {
VIR_DEBUG("Unexpected local address");
goto cleanup;
}
}
- if (STRNEQ(virNetSocketLocalAddrString(ssock), "127.0.0.1:0")) {
+ if (STRNEQ(virNetSocketLocalAddrString(ssock), "127.0.0.1;0")) {
VIR_DEBUG("Unexpected local address");
goto cleanup;
}
- if (STRNEQ(virNetSocketRemoteAddrString(ssock), "127.0.0.1:0")) {
+ if (STRNEQ(virNetSocketRemoteAddrString(ssock), "127.0.0.1;0")) {
VIR_DEBUG("Unexpected local address");
goto cleanup;
}