From 71d41a015add73e0fb355dd9713e99febd71d46f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 24 Mar 2012 16:00:36 +0100 Subject: libreplace: Add getpeereid implementation. --- lib/replace/libreplace_network.m4 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'lib/replace/libreplace_network.m4') diff --git a/lib/replace/libreplace_network.m4 b/lib/replace/libreplace_network.m4 index eadcc6bfc1..bb2a84324e 100644 --- a/lib/replace/libreplace_network.m4 +++ b/lib/replace/libreplace_network.m4 @@ -473,6 +473,30 @@ fi LIBS=$old_LIBS CPPFLAGS="$libreplace_SAVE_CPPFLAGS" +AC_CACHE_CHECK([for SO_PEERCRED],libreplace_cv_HAVE_PEERCRED,[ +AC_TRY_COMPILE([#include +#include ], +[struct ucred cred; + socklen_t cred_len; + int ret = getsockopt(0, SOL_SOCKET, SO_PEERCRED, &cred, &cred_len); +], +libreplace_cv_HAVE_PEERCRED=yes,libreplace_cv_HAVE_PEERCRED=no,libreplace_cv_HAVE_PEERCRED=cross)]) +if test x"$libreplace_cv_HAVE_PEERCRED" = x"yes"; then + AC_DEFINE(HAVE_PEERCRED,1,[Whether we can use SO_PEERCRED to get socket credentials]) +fi + +AC_CACHE_CHECK([for getpeereid],libreplace_cv_HAVE_GETPEEREID,[ +AC_TRY_LINK([#include +#include ], +[uid_t uid; gid_t gid; int ret; + ret = getpeereid(0, &uid, &gid); +], +libreplace_cv_HAVE_GETPEEREID=yes,libreplace_cv_HAVE_GETPEEREID=no)]) +if test x"$libreplace_cv_HAVE_GETPEEREID" = xyes; then + AC_DEFINE(HAVE_GETPEEREID,1, + [Whether we have getpeereid to get socket credentials]) +fi + LIBREPLACEOBJ="${LIBREPLACEOBJ} ${LIBREPLACE_NETWORK_OBJS}" echo "LIBREPLACE_NETWORK_CHECKS: END" -- cgit