summaryrefslogtreecommitdiff
path: root/sysdep/unix/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdep/unix/io.c')
-rw-r--r--sysdep/unix/io.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index ba8ff5fc..aa86f62e 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -1529,8 +1529,12 @@ sk_connect_unix(sock *s, char *name, socklen_t namelen)
struct sockaddr_un sa;
int fd;
- /* if (namelen > sizeof(sa.sun_path)) */
- /* return -1; */
+ log(L_DEBUG, "sk_connect_unix %d %s", name[0], name + 1);
+
+ if (namelen > sizeof(sa.sun_path))
+ return -1;
+
+ log(L_DEBUG, "sk_connect_unix 2");
/* We are sloppy during error (leak fd and not set s->err), but we die anyway */
@@ -1538,9 +1542,13 @@ sk_connect_unix(sock *s, char *name, socklen_t namelen)
if (fd < 0)
return -1;
+ log(L_DEBUG, "sk_connect_unix 3");
+
if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0)
return -1;
+ log(L_DEBUG, "sk_connect_unix 4");
+
/* Path length checked in test_old_bird() */
memset(&sa, 0, sizeof(sa));
sa.sun_family = AF_UNIX;
@@ -1550,6 +1558,8 @@ sk_connect_unix(sock *s, char *name, socklen_t namelen)
if (connect(fd, (struct sockaddr *) &sa, sizeof(sa.sun_family) + namelen) < 0)
return -1;
+ log(L_DEBUG, "sk_connect_unix 5");
+
s->fd = fd;
s->type = SK_UNIX;
sk_insert(s);