[PATCH] lib: Replace stream socket

  • From: Sander Vrijders <sander.vrijders@xxxxxxxx>
  • To: ouroboros@xxxxxxxxxxxxx
  • Date: Tue, 13 Mar 2018 17:00:26 +0100

The UNIX sockets were using SOCK_STREAM, which does not preserve the
message boundaries. This switches to SOCK_SEQPACKET, since that does
preserve the boundaries.

Signed-off-by: Sander Vrijders <sander.vrijders@xxxxxxxx>
---
 src/lib/sockets.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/sockets.c b/src/lib/sockets.c
index 9e5bbe1..6e7d4ad 100644
--- a/src/lib/sockets.c
+++ b/src/lib/sockets.c
@@ -38,7 +38,7 @@ int client_socket_open(char * file_name)
         int sockfd;
         struct sockaddr_un serv_addr;
 
-        sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+        sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
         if (sockfd < 0)
                 return -1;
 
@@ -66,7 +66,7 @@ int server_socket_open(char * file_name)
                         return -1;
         }
 
-        sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+        sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
         if (sockfd < 0)
                 return -1;
 
-- 
2.16.2


Other related posts:

  • » [PATCH] lib: Replace stream socket - Sander Vrijders