[Spice-devel] [PATCH spice 04/18] reds-stream: add reds_stream_is_plain_unix()
Marc-André Lureau
marcandre.lureau at gmail.com
Tue Dec 15 15:49:18 PST 2015
From: Marc-André Lureau <mlureau at redhat.com>
Utility function used in follow-up code.
Signed-off-by: Marc-André Lureau <marcandre.lureau at gmail.com>
---
server/reds-stream.c | 18 ++++++++++++++++++
server/reds-stream.h | 1 +
2 files changed, 19 insertions(+)
diff --git a/server/reds-stream.c b/server/reds-stream.c
index c0f443b..d87cb23 100644
--- a/server/reds-stream.c
+++ b/server/reds-stream.c
@@ -236,6 +236,24 @@ int reds_stream_get_family(const RedsStream *s)
return s->priv->info->laddr_ext.ss_family;
}
+int reds_stream_is_plain_unix(const RedsStream *s)
+{
+ spice_return_val_if_fail(s != NULL, FALSE);
+
+ if (reds_stream_get_family(s) != AF_UNIX)
+ return FALSE;
+
+#if HAVE_SASL
+ if (s->priv->sasl.conn)
+ return FALSE;
+#endif
+ if (s->priv->ssl)
+ return FALSE;
+
+ return TRUE;
+
+}
+
ssize_t reds_stream_writev(RedsStream *s, const struct iovec *iov, int iovcnt)
{
int i;
diff --git a/server/reds-stream.h b/server/reds-stream.h
index 8e0edb0..9e53b22 100644
--- a/server/reds-stream.h
+++ b/server/reds-stream.h
@@ -73,6 +73,7 @@ RedsStreamSslStatus reds_stream_ssl_accept(RedsStream *stream);
int reds_stream_enable_ssl(RedsStream *stream, SSL_CTX *ctx);
void reds_stream_set_info_flag(RedsStream *stream, unsigned int flag);
int reds_stream_get_family(const RedsStream *stream);
+int reds_stream_is_plain_unix(const RedsStream *stream);
typedef enum {
REDS_SASL_ERROR_OK,
--
2.5.0
More information about the Spice-devel
mailing list