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: Erik Skultety <eskultet@redhat.com>
virNetServerClientGetPrivateData;
virNetServerClientGetReadonly;
virNetServerClientGetSELinuxContext;
+virNetServerClientGetTransport;
virNetServerClientGetUNIXIdentity;
virNetServerClientImmediateClose;
virNetServerClientInit;
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;
+}
bool virNetServerClientNeedAuth(virNetServerClientPtr client);
+int virNetServerClientGetTransport(virNetServerClientPtr client);
#endif /* __VIR_NET_SERVER_CLIENT_H__ */