From 814ef9288f84dce95eacf3643c30ff5f45899488 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Thu, 14 Jul 2016 21:50:34 +0200 Subject: [PATCH] Add flags in DOVECOT_BINARY_CFLAGS and DOVECOT_BINARY_LDFLAGS to all binaries. In effect, this adds PIE and RELRO to binaries. --- configure.ac | 4 ++++ src/managesieve-login/Makefile.am | 2 ++ src/managesieve/Makefile.am | 5 +++-- src/sieve-tools/Makefile.am | 12 ++++++++---- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index ff4a978e5..3eee5c1e1 100644 --- a/configure.ac +++ b/configure.ac @@ -36,6 +36,10 @@ DC_DOVECOT_MODULEDIR LIBDOVECOT_INCLUDE="$LIBDOVECOT_INCLUDE $LIBDOVECOT_STORAGE_INCLUDE" CFLAGS="$DOVECOT_CFLAGS -I\$(top_srcdir)" LIBS="$DOVECOT_LIBS" +BINARY_CFLAGS="$DOVECOT_BINARY_CFLAGS" +BINARY_LDFLAGS="$DOVECOT_BINARY_LDFLAGS" +AC_SUBST(BINARY_CFLAGS) +AC_SUBST(BINARY_LDFLAGS) AC_SUBST(LIBDOVECOT_INCLUDE) # Define Sieve documentation install dir diff --git a/src/managesieve-login/Makefile.am b/src/managesieve-login/Makefile.am index 7f7c38bc8..3bfbc75a2 100644 --- a/src/managesieve-login/Makefile.am +++ b/src/managesieve-login/Makefile.am @@ -24,6 +24,8 @@ libmanagesieve_login_settings_la_CFLAGS = \ libs = \ $(top_builddir)/src/lib-managesieve/libmanagesieve.la +managesieve_login_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +managesieve_login_LDFLAGS = $(BINARY_LDFLAGS) managesieve_login_LDADD = $(libs) $(LIBDOVECOT_LOGIN) $(LIBDOVECOT) managesieve_login_DEPENDENCIES = $(libs) $(LIBDOVECOT_LOGIN_DEPS) $(LIBDOVECOT_DEPS) diff --git a/src/managesieve/Makefile.am b/src/managesieve/Makefile.am index 8a87b03a5..17b579036 100644 --- a/src/managesieve/Makefile.am +++ b/src/managesieve/Makefile.am @@ -18,13 +18,14 @@ settings_LTLIBRARIES = \ libmanagesieve_settings_la_SOURCES = \ managesieve-settings.c -managesieve_LDFLAGS = -export-dynamic - libs = \ managesieve-settings.lo \ $(top_builddir)/src/lib-managesieve/libmanagesieve.la \ $(top_builddir)/src/lib-sieve/libdovecot-sieve.la +managesieve_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +managesieve_LDFLAGS = -export-dynamic $(BINARY_LDFLAGS) + managesieve_LDADD = $(libs) $(LIBDOVECOT_STORAGE) $(LIBDOVECOT_LDA) $(LIBDOVECOT) managesieve_DEPENDENCIES = $(libs) $(LIBDOVECOT_STORAGE_DEPS) $(LIBDOVECOT_LDA_DEPS) $(LIBDOVECOT_DEPS) diff --git a/src/sieve-tools/Makefile.am b/src/sieve-tools/Makefile.am index 33bfbf57f..f2ceffd64 100644 --- a/src/sieve-tools/Makefile.am +++ b/src/sieve-tools/Makefile.am @@ -16,7 +16,8 @@ libs_deps = $(libs) $(LIBDOVECOT_STORAGE_DEPS) $(LIBDOVECOT_LDA_DEPS) $(LIBDOVEC # Sieve Compile Tool -sievec_LDFLAGS = -export-dynamic +sievec_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +sievec_LDFLAGS = -export-dynamic $(BINARY_LDFLAGS) sievec_LDADD = $(libs_ldadd) sievec_DEPENDENCIES = $(libs_deps) @@ -25,7 +26,8 @@ sievec_SOURCES = \ # Sieve Dump Tool -sieve_dump_LDFLAGS = -export-dynamic +sieve_dump_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +sieve_dump_LDFLAGS = -export-dynamic $(BINARY_LDFLAGS) sieve_dump_LDADD = $(libs_ldadd) sieve_dump_DEPENDENCIES = $(libs_deps) @@ -34,7 +36,8 @@ sieve_dump_SOURCES = \ # Sieve Test Tool -sieve_test_LDFLAGS = -export-dynamic +sieve_test_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +sieve_test_LDFLAGS = -export-dynamic $(BINARY_LDFLAGS) sieve_test_LDADD = $(libs_ldadd) sieve_test_DEPENDENCIES = $(libs_deps) @@ -45,7 +48,8 @@ sieve_test_SOURCES = \ # Sieve Filter Tool -sieve_filter_LDFLAGS = -export-dynamic +sieve_filter_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +sieve_filter_LDFLAGS = -export-dynamic $(BINARY_LDFLAGS) sieve_filter_LDADD = $(libs_ldadd) sieve_filter_DEPENDENCIES = $(libs_deps) -- GitLab