socket.c   socket.c 
skipping to change at line 113 skipping to change at line 113
lfp_cmsg_len (size_t length) lfp_cmsg_len (size_t length)
{ {
return CMSG_LEN(length); return CMSG_LEN(length);
} }
DSO_PUBLIC void* DSO_PUBLIC void*
lfp_cmsg_data (struct cmsghdr* cmsg) lfp_cmsg_data (struct cmsghdr* cmsg)
{ {
return CMSG_DATA(cmsg); return CMSG_DATA(cmsg);
} }
DSO_PUBLIC int
lfp_getpeereid(int sockfd, uid_t *euid, gid_t *egid)
{
#if defined(HAVE_GETPEEREID)
return getpeereid(sockfd, euid, egid);
#elif defined(HAVE_GETPEERUCRED)
ucred_t stack_ucred;
ucred_t *ucred = &stack_ucred;
SYSGUARD(getpeerucred(sockfd, &ucred));
*euid = ucred_geteuid(ucred);
*egid = ucred_getegid(ucred);
return (*euid < 0 || *egid < 0) ? -1 : 0;
#elif defined(SO_PEERCRED)
struct ucred ucred;
socklen_t len = sizeof(ucred);
SYSGUARD(getsockopt(sockfd, SOL_SOCKET, SO_PEERCRED, &ucred, &len));
*euid = ucred.uid;
*egid = ucred.gid;
return 0;
#endif
}
 End of changes. 1 change blocks. 
0 lines changed or deleted 0 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/