return(0);
}
+#if UNIX_AUTH_STYLE == 1
static void mkcreds(struct msghdr *msg)
{
struct ucred *ucred;
ucred->gid = getgid();
msg->msg_controllen = cmsg->cmsg_len;
}
+#endif
int dc_handlewrite(void)
{
msg.msg_iovlen = 1;
bufvec.iov_base = queue->buf;
bufvec.iov_len = queue->buflen;
+#if UNIX_AUTH_STYLE == 1
if((servinfo.family == PF_UNIX) && !servinfo.sentcreds)
{
mkcreds(&msg);
servinfo.sentcreds = 1;
}
+#endif
ret = sendmsg(fd, &msg, MSG_NOSIGNAL | MSG_DONTWAIT);
if(ret < 0)
{
{
dc_freeresp(resp);
dc_disconnect();
+ errno = EPROTONOSUPPORT;
return(-1);
}
dc_freeresp(resp);