diff options
Diffstat (limited to 'mail/qmail-qfilter/files/qmail-qfilter-queue.sh')
-rw-r--r-- | mail/qmail-qfilter/files/qmail-qfilter-queue.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mail/qmail-qfilter/files/qmail-qfilter-queue.sh b/mail/qmail-qfilter/files/qmail-qfilter-queue.sh new file mode 100644 index 00000000000..9abbe7175fe --- /dev/null +++ b/mail/qmail-qfilter/files/qmail-qfilter-queue.sh @@ -0,0 +1,28 @@ +#!@SH@ +# +# Wrapper for qmail-queue that filters messages before injecting +# into the queue. +# +# Using this wrapper, executable filters: +# * Must be placed in @PKG_SYSCONFDIR@ +# * Must have filenames matching "qfilter-*" +# * Will be executed with no arguments +# * Will be executed in sort(1) order + +possible_qfilters=`@ECHO@ @PKG_SYSCONFDIR@/qfilter-* | @SORT@` +qfilters="" + +if [ "${possible_qfilters}" = "@PKG_SYSCONFDIR@/qfilter-*" ]; then + qfilters="@CAT@" +else + for qfilter in ${possible_qfilters}; do + if [ -x "${qfilter}" ]; then + qfilters="${qfilters} ${qfilter}" + fi + done + [ -z "${qfilters}" ] && qfilters="@CAT@" +fi + +qfilter_cmd="@PREFIX@/bin/qmail-qfilter `@ECHO@ ${qfilters} | @SED@ -e 's| | -- |g'`" + +exec ${qfilter_cmd} |