diff options
-rw-r--r-- | Makefile.am | 4 | ||||
-rwxr-xr-x | bootstrap-configure | 1 | ||||
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/main.c | 12 |
4 files changed, 23 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am index 0eaadda0..50be3fd5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -237,7 +237,7 @@ src_ofonod_SOURCES = $(gdbus_sources) $(builtin_sources) \ src/gprs.c src/idmap.h src/idmap.c \ src/radio-settings.c src/stkutil.h src/stkutil.c -src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ -ldl +src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ @CAPNG_LIBS@ -ldl src_ofonod_LDFLAGS = -Wl,--export-dynamic -Wl,--version-script=src/ofono.ver @@ -254,7 +254,7 @@ else build_plugindir = $(plugindir) endif -AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ $(builtin_cflags) \ +AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @CAPNG_CFLAGS@ $(builtin_cflags) \ -DOFONO_PLUGIN_BUILTIN \ -DPLUGINDIR=\""$(build_plugindir)"\" diff --git a/bootstrap-configure b/bootstrap-configure index f6659438..5642f6b6 100755 --- a/bootstrap-configure +++ b/bootstrap-configure @@ -12,4 +12,5 @@ fi --mandir=/usr/share/man \ --sysconfdir=/etc \ --localstatedir=/var \ + --enable-capng \ --disable-datafiles $* diff --git a/configure.ac b/configure.ac index 6ec275c6..d2f921f1 100644 --- a/configure.ac +++ b/configure.ac @@ -125,6 +125,16 @@ AC_SUBST(UDEV_CFLAGS) AC_SUBST(UDEV_LIBS) AM_CONDITIONAL(UDEV, test "${enable_udev}" = "yes") +AC_ARG_ENABLE(capng, AC_HELP_STRING([--enable-capng], + [enable capabilities support]), [enable_capng=${enableval}]) +if (test "${enable_capng}" = "yes"); then + PKG_CHECK_MODULES(CAPNG, libcap-ng, dummy=yes, + AC_MSG_ERROR(Capabilities library is required)) + AC_SUBST(CAPNG_CFLAGS) + AC_SUBST(CAPNG_LIBS) + AC_DEFINE(HAVE_CAPNG, 1, [Define to 1 if you have capabilities library.]) +fi + AC_ARG_ENABLE(isimodem, AC_HELP_STRING([--disable-isimodem], [disable PhoNet/ISI modem support]), [enable_isimodem=${enableval}]) @@ -23,8 +23,6 @@ #include <config.h> #endif -#include <gdbus.h> - #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -32,6 +30,12 @@ #include <signal.h> #include <sys/signalfd.h> +#include <gdbus.h> + +#ifdef HAVE_CAPNG +#include <cap-ng.h> +#endif + #include "ofono.h" #define SHUTDOWN_GRACE_SECONDS 10 @@ -114,6 +118,10 @@ int main(int argc, char **argv) GIOChannel *signal_io; int signal_source; +#ifdef HAVE_CAPNG + /* Drop capabilities */ +#endif + sigemptyset(&mask); sigaddset(&mask, SIGTERM); sigaddset(&mask, SIGINT); |