diff options
author | Darren Tucker <dtucker@zip.com.au> | 2016-02-19 09:05:39 +1100 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2016-02-19 09:05:39 +1100 |
commit | 907091acb188b1057d50c2158f74c3ecf1c2302b (patch) | |
tree | 62f2c59f51e55a3f49c7c173527425eb1b19a876 /configure.ac | |
parent | 292a8dee14e5e67dcd1b49ba5c7b9023e8420d59 (diff) |
Make Solaris privs code build on older systems.
Not all systems with Solaris privs have priv_basicset so factor that
out and provide backward compatibility code. Similarly, not all have
PRIV_NET_ACCESS so wrap that in #ifdef. Based on code from
alex at cooperi.net and djm@ with help from carson at taltos.org and
wieland at purdue.edu.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index b4c0aaab..e36b0494 100644 --- a/configure.ac +++ b/configure.ac @@ -896,11 +896,9 @@ mips-sony-bsd|mips-sony-newsos4) else AC_MSG_RESULT([no]) fi - AC_CHECK_FUNC([setppriv], - [ AC_CHECK_HEADERS([priv.h], [ - SOLARIS_PRIVS="yes" - ]) - ]) + AC_CHECK_FUNCS([setppriv]) + AC_CHECK_FUNCS([priv_basicset]) + AC_CHECK_HEADERS([priv.h]) AC_ARG_WITH([solaris-contracts], [ --with-solaris-contracts Enable Solaris process contracts (experimental)], [ @@ -925,7 +923,9 @@ mips-sony-bsd|mips-sony-newsos4) [ --with-solaris-privs Enable Solaris/Illumos privileges (experimental)], [ AC_MSG_CHECKING([for Solaris/Illumos privilege support]) - if test "x$SOLARIS_PRIVS" = "xyes" ; then + if test "x$ac_cv_func_setppriv" = "xyes" -a \ + "x$ac_cv_header_priv_h" = "xyes" ; then + SOLARIS_PRIVS=yes AC_MSG_RESULT([found]) AC_DEFINE([NO_UID_RESTORATION_TEST], [1], [Define to disable UID restoration test]) |