commit 358fc5dc55b9f1d1ee39ce3cfea70b965ce876ab
parent 1b6c56fbaeff3898532766a17250917e478b66d2
Author: Christian Grothoff <christian@grothoff.org>
Date: Mon, 31 Aug 2015 17:20:25 +0000
add apparmor detecton to configure.ac and Makefile.am
Diffstat:
8 files changed, 34 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,6 @@
+Mon Aug 31 19:19:17 CEST 2015
+ Adding apparmor support. -jmorvan/CG
+
Sun Dec 22 23:11:28 CET 2013
Releasing GNU libextractor 1.3. -CG
diff --git a/configure.ac b/configure.ac
@@ -282,6 +282,17 @@ fi
# restore LIBS
LIBS=$LIBSOLD
+
+# check for apparmor
+AC_CHECK_LIB(apparmor, aa_change_profile,
+ [AC_CHECK_HEADERS([sys/apparmor.h],
+ AM_CONDITIONAL(HAVE_APPARMOR, true)
+ AC_DEFINE(HAVE_APPARMOR,1,[Have apparmor]),
+ AM_CONDITIONAL(HAVE_APPARMOR, false)
+ AC_DEFINE(HAVE_APPARMOR,0,[lacking apparmor]))],
+ AM_CONDITIONAL(HAVE_APPARMOR, false),
+ -lapparmor)
+
# FIXME: allow --with-oggvorbis=PFX
# test if we have vorbisfile
@@ -846,3 +857,8 @@ fi
else
AC_MSG_NOTICE([NOTICE: gstreamer not found, gstreamer support disabled])
fi
+
+if test "x$HAVE_APPARMOR_TRUE" = "x#"
+then
+ AC_MSG_NOTICE([NOTICE: libapparmor not found, apparmor support disabled])
+fi
diff --git a/src/Makefile.am b/src/Makefile.am
@@ -3,6 +3,4 @@ if WANT_FRAMEWORK
INTLEMU_SUBDIRS = intlemu
endif
-INCLUDES = -I$(top_srcdir)/src/include
-
SUBDIRS = include $(INTLEMU_SUBDIRS) main common plugins .
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
@@ -1,5 +1,5 @@
# This Makefile.am is in the public domain
-INCLUDES = -I$(top_srcdir)/src/include
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
LIBS = \
@LE_LIBINTL@ @LIBS@
@@ -26,4 +26,4 @@ libextractor_common_la_LIBADD = \
libextractor_common_la_SOURCES = \
le_architecture.h \
$(LINK_UNZIP) \
- convert.c convert.h
+ convert.c convert.h
diff --git a/src/include/extractor.h b/src/include/extractor.h
@@ -382,7 +382,7 @@ enum EXTRACTOR_MetaType
EXTRACTOR_METATYPE_VIDEO_DURATION = 225,
EXTRACTOR_METATYPE_AUDIO_DURATION = 226,
EXTRACTOR_METATYPE_SUBTITLE_DURATION = 227,
-
+
EXTRACTOR_METATYPE_AUDIO_PREVIEW = 228,
EXTRACTOR_METATYPE_LAST = 229
diff --git a/src/main/Makefile.am b/src/main/Makefile.am
@@ -1,7 +1,7 @@
# This Makefile.am is in the public domain
SUBDIRS = .
-INCLUDES = -I$(top_srcdir)/src/include
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
LIBS = \
@LE_LIBINTL@ @LE_LIB_LIBS@
@@ -24,9 +24,9 @@ if HAVE_BZ2
bz2lib = -lbz2
TEST_BZIP2 = test_bzip2
endif
-#if HAVE_LIBAPPARMOR
+if HAVE_APPARMOR
apparmor=-lapparmor
-#endif
+endif
if WINDOWS
EXTRACTOR_IPC=extractor_ipc_w32.c
diff --git a/src/main/extractor_ipc_gnu.c b/src/main/extractor_ipc_gnu.c
@@ -35,8 +35,9 @@
#include <sys/wait.h>
#include <sys/shm.h>
#include <signal.h>
-
+#if HAVE_SYS_APPARMOR_H
#include <sys/apparmor.h>
+#endif
/**
* A shared memory resource (often shared with several
@@ -324,13 +325,15 @@ EXTRACTOR_IPC_channel_create_ (struct EXTRACTOR_PluginList *plugin,
(void) close (p2[0]);
free (channel->mdata);
free (channel);
-//#if HAVE_LIBAPPARMOR
+#if HAVE_SYS_APPARMOR_H
+#if HAVE_APPARMOR
if (0 > aa_change_profile("libextractor"))
- {
+ {
perror("Failure changing profile -- aborting");
_exit(1);
}
-//#endif
+#endif
+#endif
EXTRACTOR_plugin_main_ (plugin, p1[0], p2[1]);
_exit (0);
}
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
@@ -1,5 +1,5 @@
# This Makefile.am is in the public domain
-INCLUDES = \
+AM_CPPFLAGS = \
-I$(top_srcdir)/src/include \
-I$(top_srcdir)/src/common
@@ -498,7 +498,7 @@ libextractor_ole2_la_SOURCES = \
libextractor_ole2_la_CFLAGS = \
$(GSF_CFLAGS)
libextractor_ole2_la_CPPFLAGS = \
- $(GSF_CFLAGS)
+ $(GSF_CFLAGS) $(AM_CPPFLAGS)
libextractor_ole2_la_LDFLAGS = \
$(PLUGINFLAGS)
libextractor_ole2_la_LIBADD = \