Make get_remote_uid() work on BSD
I've attached a patch that will make file URIs work on operating systems that provide the getpeereid() function call to check the user ID of the peer connected to a UNIX domain socket.
This commit is contained in:
parent
4347114455
commit
dda5415def
|
@ -445,6 +445,7 @@ esac
|
|||
if test x$enable_un = xyes; then
|
||||
AC_DEFINE(HAVE_UN, 1, [Define if unix domain socket support is enabled])
|
||||
STRUCT_UCRED
|
||||
AC_CHECK_FUNCS(getpeereid)
|
||||
fi
|
||||
|
||||
dnl --------------------------- Post Protocol Tests ---------------------------
|
||||
|
|
|
@ -416,7 +416,13 @@ static int get_remote_uid(int fd)
|
|||
|
||||
return cred.uid;
|
||||
#else
|
||||
(void)fd;
|
||||
#ifdef HAVE_GETPEEREID
|
||||
uid_t euid;
|
||||
gid_t egid;
|
||||
|
||||
if (getpeereid(fd, &euid, &egid) == 0)
|
||||
return euid;
|
||||
#endif
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue