[PATCH spice 04/18] reds-stream: add reds_stream_is_plain_unix()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Marc-André Lureau <mlureau@xxxxxxxxxx>

Utility function used in follow-up code.

Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
---
 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

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]