mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-02 13:47:13 +03:00
Introduce virNetSocketRemoteAddrStringURI
It will return the socket address and port in a URI-like format: [::1]:1234 Add a test case to virnetsockettest.
This commit is contained in:
parent
0f7eeb20ad
commit
2da6a13e5f
@ -227,6 +227,7 @@ virNetSocketPreExecRestart;
|
|||||||
virNetSocketRead;
|
virNetSocketRead;
|
||||||
virNetSocketRecvFD;
|
virNetSocketRecvFD;
|
||||||
virNetSocketRemoteAddrString;
|
virNetSocketRemoteAddrString;
|
||||||
|
virNetSocketRemoteAddrStringURI;
|
||||||
virNetSocketRemoveIOCallback;
|
virNetSocketRemoveIOCallback;
|
||||||
virNetSocketSendFD;
|
virNetSocketSendFD;
|
||||||
virNetSocketSetBlocking;
|
virNetSocketSetBlocking;
|
||||||
|
@ -87,6 +87,7 @@ struct _virNetSocket {
|
|||||||
virSocketAddr remoteAddr;
|
virSocketAddr remoteAddr;
|
||||||
char *localAddrStr;
|
char *localAddrStr;
|
||||||
char *remoteAddrStr;
|
char *remoteAddrStr;
|
||||||
|
char *remoteAddrStrURI;
|
||||||
|
|
||||||
#if WITH_GNUTLS
|
#if WITH_GNUTLS
|
||||||
virNetTLSSessionPtr tlsSession;
|
virNetTLSSessionPtr tlsSession;
|
||||||
@ -269,6 +270,10 @@ static virNetSocketPtr virNetSocketNew(virSocketAddrPtr localAddr,
|
|||||||
!(sock->remoteAddrStr = virSocketAddrFormatFull(remoteAddr, true, ";")))
|
!(sock->remoteAddrStr = virSocketAddrFormatFull(remoteAddr, true, ";")))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
if (remoteAddr &&
|
||||||
|
!(sock->remoteAddrStrURI = virSocketAddrFormatFull(remoteAddr, true, NULL)))
|
||||||
|
goto error;
|
||||||
|
|
||||||
sock->client = isClient;
|
sock->client = isClient;
|
||||||
|
|
||||||
PROBE(RPC_SOCKET_NEW,
|
PROBE(RPC_SOCKET_NEW,
|
||||||
@ -1204,6 +1209,7 @@ void virNetSocketDispose(void *obj)
|
|||||||
|
|
||||||
VIR_FREE(sock->localAddrStr);
|
VIR_FREE(sock->localAddrStr);
|
||||||
VIR_FREE(sock->remoteAddrStr);
|
VIR_FREE(sock->remoteAddrStr);
|
||||||
|
VIR_FREE(sock->remoteAddrStrURI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1465,6 +1471,10 @@ const char *virNetSocketRemoteAddrString(virNetSocketPtr sock)
|
|||||||
return sock->remoteAddrStr;
|
return sock->remoteAddrStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *virNetSocketRemoteAddrStringURI(virNetSocketPtr sock)
|
||||||
|
{
|
||||||
|
return sock->remoteAddrStrURI;
|
||||||
|
}
|
||||||
|
|
||||||
#if WITH_GNUTLS
|
#if WITH_GNUTLS
|
||||||
static ssize_t virNetSocketTLSSessionWrite(const char *buf,
|
static ssize_t virNetSocketTLSSessionWrite(const char *buf,
|
||||||
|
@ -150,6 +150,7 @@ bool virNetSocketHasPendingData(virNetSocketPtr sock);
|
|||||||
|
|
||||||
const char *virNetSocketLocalAddrString(virNetSocketPtr sock);
|
const char *virNetSocketLocalAddrString(virNetSocketPtr sock);
|
||||||
const char *virNetSocketRemoteAddrString(virNetSocketPtr sock);
|
const char *virNetSocketRemoteAddrString(virNetSocketPtr sock);
|
||||||
|
const char *virNetSocketRemoteAddrStringURI(virNetSocketPtr sock);
|
||||||
|
|
||||||
int virNetSocketListen(virNetSocketPtr sock, int backlog);
|
int virNetSocketListen(virNetSocketPtr sock, int backlog);
|
||||||
int virNetSocketAccept(virNetSocketPtr sock,
|
int virNetSocketAccept(virNetSocketPtr sock,
|
||||||
|
@ -275,6 +275,11 @@ static int testSocketUNIXAddrs(const void *data ATTRIBUTE_UNUSED)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (STRNEQ(virNetSocketRemoteAddrStringURI(csock), "127.0.0.1:0")) {
|
||||||
|
VIR_DEBUG("Unexpected remote address");
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (virNetSocketAccept(lsock, &ssock) < 0) {
|
if (virNetSocketAccept(lsock, &ssock) < 0) {
|
||||||
VIR_DEBUG("Unexpected client socket missing");
|
VIR_DEBUG("Unexpected client socket missing");
|
||||||
@ -292,6 +297,11 @@ static int testSocketUNIXAddrs(const void *data ATTRIBUTE_UNUSED)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (STRNEQ(virNetSocketRemoteAddrStringURI(ssock), "127.0.0.1:0")) {
|
||||||
|
VIR_DEBUG("Unexpected remote address");
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user