提交 42b06aa6 编写于 作者: E Erik Skultety

rpc: virnetserverclient: Implement client connection transport retrieval

Although we document 6 types of transport that we support, internally we can
only differentiate between TCP, TLS, and UNIX transports only, since both SSH
and libssh2 transports, due to using netcat, behave in the exactly the same
way as a UNIX socket.
Signed-off-by: NErik Skultety <eskultet@redhat.com>
上级 15500e92
......@@ -125,6 +125,7 @@ virNetServerClientGetIdentity;
virNetServerClientGetPrivateData;
virNetServerClientGetReadonly;
virNetServerClientGetSELinuxContext;
virNetServerClientGetTransport;
virNetServerClientGetUNIXIdentity;
virNetServerClientImmediateClose;
virNetServerClientInit;
......
......@@ -1568,3 +1568,25 @@ virNetServerClientStartKeepAlive(virNetServerClientPtr client)
virObjectUnlock(client);
return ret;
}
int
virNetServerClientGetTransport(virNetServerClientPtr client)
{
int ret = -1;
virObjectLock(client);
if (client->sock && virNetSocketIsLocal(client->sock))
ret = VIR_CLIENT_TRANS_UNIX;
else
ret = VIR_CLIENT_TRANS_TCP;
#ifdef WITH_GNUTLS
if (client->tls)
ret = VIR_CLIENT_TRANS_TLS;
#endif
virObjectUnlock(client);
return ret;
}
......@@ -145,5 +145,6 @@ int virNetServerClientSendMessage(virNetServerClientPtr client,
bool virNetServerClientNeedAuth(virNetServerClientPtr client);
int virNetServerClientGetTransport(virNetServerClientPtr client);
#endif /* __VIR_NET_SERVER_CLIENT_H__ */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册