From 0d06dfa24cd7ca3aae7015240dd86d07c62b7127 Mon Sep 17 00:00:00 2001 From: Tyler Hicks Date: Thu, 26 Mar 2015 16:25:16 -0500 Subject: [PATCH] libapparmor: Fix FTBFS when secure_getenv() is not available Allow libapparmor to build on older systems where secure_getenv() is still named __secure_getenv(). This snippet was taken from the glibc wiki: https://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv Signed-off-by: Tyler Hicks Acked-by: Steve Beattie --- libraries/libapparmor/configure.ac | 2 +- libraries/libapparmor/src/private.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/libraries/libapparmor/configure.ac b/libraries/libapparmor/configure.ac index fe6971cc1..479ba6ddc 100644 --- a/libraries/libapparmor/configure.ac +++ b/libraries/libapparmor/configure.ac @@ -81,7 +81,7 @@ AM_CONDITIONAL(HAVE_RUBY, test x$with_ruby = xyes) AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h stdint.h syslog.h) -AC_CHECK_FUNCS(asprintf) +AC_CHECK_FUNCS([asprintf __secure_getenv secure_getenv]) AM_PROG_CC_C_O AC_C_CONST diff --git a/libraries/libapparmor/src/private.c b/libraries/libapparmor/src/private.c index c99a57d1e..f078f2887 100644 --- a/libraries/libapparmor/src/private.c +++ b/libraries/libapparmor/src/private.c @@ -30,6 +30,19 @@ #include "private.h" +/** + * Allow libapparmor to build on older systems where secure_getenv() is still + * named __secure_getenv(). This snippet was taken from the glibc wiki + * (https://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv). + */ +#ifndef HAVE_SECURE_GETENV + #ifdef HAVE___SECURE_GETENV + #define secure_getenv __secure_getenv + #else + #error neither secure_getenv nor __secure_getenv is available + #endif +#endif + struct ignored_suffix_t { const char * text; int len;