diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-10-12 12:43:24 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-10-12 15:55:18 +0300 |
commit | 739c6ee525a4f7bb76b8fe2bd75e81a122764ced (patch) | |
tree | b90dfed5972048513d2076e5562a77e4e862d8b0 /configure.ac | |
parent | 6ec886e647516e800febddee3f70491edfb561b0 (diff) | |
download | mailutils-739c6ee525a4f7bb76b8fe2bd75e81a122764ced.tar.gz mailutils-739c6ee525a4f7bb76b8fe2bd75e81a122764ced.tar.bz2 |
Split maidag into three single-purpose tools
Maidag operated in three modes: mda, url and lmtp. In mda mode
it is normally started by sendmail with non-root privileges.
In order to be able to write to other users' mailboxes, the binary
must be setuid, which creates certain security threats. As these appear
to be impossible to avoid in a single multi-purpose program, it has
been decided to replace maidag with three single-purpose tools: mda,
putmail, and lmtpd. The mda tool is a local mail delivery agent. It is
the only one for which the setuid bit is required, so special measures
have been taken to secure it. In particular, to avoid unverified user
inputs it disallows to override any configuration settings from the
command line.
The two other tools provide the functionality of the url and lmtp mode.
* Makefile.am (MAIDAG_DIR): Replace with MDA_DIR
* configure.ac (MU_COND_MAILBOX_QUOTA): New conditional.
Use names relative to ${top_builddir} instead of ".".
* maidag: Remove.
* mda/.gitignore: New file.
* mda/Makefile.am: New file.
* mda/lib/Makefile.am: New file.
* mda/lib/deliver.c: New file.
* mda/lib/forward.c: New file.
* mda/lib/libmda.h: New file.
* mda/lib/mailquota.c: New file.
* mda/lib/script.c: New file.
* mda/lib/util.c: New file.
* mda/lmtpd.c: New file.
* mda/mda.c: New file.
* mda/putmail.c: New file.
* mda/tests/.gitignore: New file.
* mda/tests/Makefile.am: New file.
* mda/tests/atlocal.in: New file.
* mda/tests/input.msg: New file.
* mda/tests/lmtpd.at: New file.
* mda/tests/putmail.at: New file.
* mda/tests/testsuite.at: New file.
* doc/texinfo/programs/maidag.texi: Remove.
* doc/texinfo/programs/mda.texi: New file.
* doc/texinfo/programs/lmtpd.texi: New file.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index c841acfbf..5c7717289 100644 --- a/configure.ac +++ b/configure.ac @@ -933,7 +933,7 @@ if test -n "$SQL_MODULES"; then USE_SQL=1 AC_DEFINE(USE_SQL) BUILD_SQL=libsql.la - SQLLIB=../sql/libsql.la + SQLLIB='${top_builddir}/sql/libsql.la' for module in $SQL_MODULES do @@ -957,7 +957,6 @@ if test -n "$SQL_MODULES"; then SQL_MODULES="$SQL_MODULES" fi]) fi - # LDAP support AC_ARG_WITH(ldap, @@ -980,6 +979,10 @@ if test $status_ldap = maybe; then fi +# Mailbox quota support +AM_CONDITIONAL([MU_COND_MAILBOX_QUOTA],[test -n "$status_dbm$status_mysql"]) + + # Virtual domain support MU_ENABLE_SUPPORT(virtual-domains) AC_SUBST(SITE_VIRTUAL_PWDDIR) @@ -1182,7 +1185,7 @@ GINT_INIT([gint],[2.2.0 with-guile], if test -z "$GUILE_BINDIR"; then GUILE_BINDIR="`guile-config info prefix`/bin" fi - LIBMU_SCM=../libmu_scm/libmu_scm.la + LIBMU_SCM='${top_builddir}/libmu_scm/libmu_scm.la' LIBMU_SCM_DEPS='${MU_LIB_MAILBOX} ${MU_LIB_MAILER}' MU_GUILE_SIEVE_MOD_DIR='$(GUILE_SITE)/$(PACKAGE)/sieve-modules' GINT_INCLUDES='${MU_APP_COMMON_INCLUDES}' @@ -1324,7 +1327,7 @@ MU_ENABLE_BUILD(imap4d,,,["$mu_build_servers" = yes],,[server_list]) MU_ENABLE_BUILD(comsat,,,["$mu_build_servers" = yes],,[server_list]) MU_ENABLE_BUILD(frm,,,["$mu_build_clients" = yes],,[client_list]) -MU_ENABLE_BUILD(maidag,,,["$mu_build_clients" = yes],,[client_list]) +MU_ENABLE_BUILD(mda,,,["$mu_build_clients" = yes],,[client_list]) MU_ENABLE_BUILD(mail,,,["$mu_build_clients" = yes],,[client_list]) AC_SUBST([MAILBINDIR],'${bindir}') @@ -1363,7 +1366,7 @@ AC_CONFIG_FILES([testsuite/Makefile testsuite/atlocal]) MU_CONFIG_TESTSUITE(libmailutils) MU_CONFIG_TESTSUITE(frm) -MU_CONFIG_TESTSUITE(maidag) +MU_CONFIG_TESTSUITE(mda) MU_CONFIG_TESTSUITE(mail) MU_CONFIG_TESTSUITE(messages) MU_CONFIG_TESTSUITE(readmsg) @@ -1518,7 +1521,8 @@ AC_CONFIG_FILES([ libproto/Makefile libproto/mbox/Makefile libproto/mailer/Makefile - maidag/Makefile + mda/Makefile + mda/lib/Makefile mail/Makefile mail/testsuite/Makefile libmailutils/auth/Makefile |