Don't log Unix creds here.
[doldaconnect.git] / daemon / net.c
index d90146d..0fc9e45 100644 (file)
@@ -360,7 +360,6 @@ static void recvcmsg(struct socket *sk, struct msghdr *msg)
            {
                cred = (struct ucred *)CMSG_DATA(cmsg);
                memcpy(&sk->ucred, cred, sizeof(*cred));
-               flog(LOG_INFO, "received Unix creds: pid %i, uid %i, gid %i", cred->pid, cred->uid, cred->gid);
            }
        }
     }
@@ -398,12 +397,16 @@ static void sockrecv(struct socket *sk)
        if(inq > 65536)
            inq = 65536;
        sizebuf(&sk->inbuf.s.buf, &sk->inbuf.s.bufsize, sk->inbuf.s.datasize + inq, 1, 1);
-       /*
-       ret = read(sk->fd, sk->inbuf.s.buf + sk->inbuf.s.datasize, inq);
-       */
-       bufvec.iov_base = sk->inbuf.s.buf + sk->inbuf.s.datasize;
-       bufvec.iov_len = inq;
-       ret = recvmsg(sk->fd, &msg, 0);
+       if(sk->isrealsocket)
+       {
+           bufvec.iov_base = sk->inbuf.s.buf + sk->inbuf.s.datasize;
+           bufvec.iov_len = inq;
+           ret = recvmsg(sk->fd, &msg, 0);
+       } else {
+           ret = read(sk->fd, sk->inbuf.s.buf + sk->inbuf.s.datasize, inq);
+           msg.msg_controllen = 0;
+           msg.msg_flags = 0;
+       }
        if(ret < 0)
        {
            if((errno == EINTR) || (errno == EAGAIN))