summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuan Van <langthang@gentoo.org>2006-07-20 01:27:05 +0000
committerTuan Van <langthang@gentoo.org>2006-07-20 01:27:05 +0000
commit5cb3a6dc38a95fdcdb2c084cc7ac3d8c98e6f3f2 (patch)
treee4380dfbd649da05c0b9fee163d31652f43bb758 /mail-filter
parentVersion bump. (diff)
downloadgentoo-2-5cb3a6dc38a95fdcdb2c084cc7ac3d8c98e6f3f2.tar.gz
gentoo-2-5cb3a6dc38a95fdcdb2c084cc7ac3d8c98e6f3f2.tar.bz2
gentoo-2-5cb3a6dc38a95fdcdb2c084cc7ac3d8c98e6f3f2.zip
add some sanity checking
(Portage version: 2.1.1_pre3-r1)
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/dk-milter/ChangeLog5
-rwxr-xr-xmail-filter/dk-milter/files/dk-filter.init79
2 files changed, 82 insertions, 2 deletions
diff --git a/mail-filter/dk-milter/ChangeLog b/mail-filter/dk-milter/ChangeLog
index 728cd8091935..d7bc107e0d4f 100644
--- a/mail-filter/dk-milter/ChangeLog
+++ b/mail-filter/dk-milter/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for mail-filter/dk-filter
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/ChangeLog,v 1.6 2006/07/18 00:55:38 langthang Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/ChangeLog,v 1.7 2006/07/20 01:27:05 langthang Exp $
+
+ 20 Jul 2006; Tuấn Văn <langthang@gentoo.org> files/dk-filter.init:
+ add some sanity checking.
18 Jul 2006; Tuấn Văn <langthang@gentoo.org>
+files/dk-milter-0.4.1-queueID.patch, files/dk-filter.conf,
diff --git a/mail-filter/dk-milter/files/dk-filter.init b/mail-filter/dk-milter/files/dk-filter.init
index 85b50b842f3f..e61117ce5189 100755
--- a/mail-filter/dk-milter/files/dk-filter.init
+++ b/mail-filter/dk-milter/files/dk-filter.init
@@ -1,14 +1,91 @@
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/files/dk-filter.init,v 1.2 2006/07/18 00:55:38 langthang Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/files/dk-filter.init,v 1.3 2006/07/20 01:27:05 langthang Exp $
depend() {
# need net
use dns logger net
}
+warn_msg() {
+ echo
+ ewarn "$1 parameter is not set!"
+ ewarn "dk-filter starts with"
+ ewarn "$1=${!1}"
+ ewarn "please set it in /etc/conf.d/dk-filter"
+ echo
+}
+
+die_msg() {
+ echo
+ eerror "please set paramter $1 in"
+ eerror "/etc/conf.d/dk-filter then start again"
+ echo
+}
+
+check_cfg() {
+
+ if [[ ! -f /etc/conf.d/dk-filter ]] ; then
+ eerror "/etc/conf.d/dk-filter is missing"
+ return 1
+ fi
+
+ source /etc/conf.d/dk-filter || {
+ eerror "Prolem sourcing /etc/conf.d/dk-filter"
+ eerror "Please correct them then start dk-filter again"
+ return 1
+ }
+
+ if [[ -z "${DK_FILTER_OPTS}" ]] ; then
+ die_msg DK_FILTER_OPTS
+ return 1
+ fi
+
+ if [[ -z "${SELECTOR}" ]] ; then
+ die_msg SELECTOR
+ return 1
+ fi
+
+ if [[ -z "${KEYPATH}" ]] ; then
+ die_msg KEYPATH
+ return 1
+ fi
+
+ if [[ ! -f "${KEYPATH}" ]] ; then
+ echo
+ eerror "run gentxt.sh to generate a private key first"
+ eerror "then set KEYPATH in /etc/conf.d/dk-filter to"
+ eerror "the location of your private key"
+ echo
+ return 1
+ fi
+
+ if [[ -z "${SOCKETSPEC}" ]] ; then
+ SOCKETSPEC="inet:8025@localhost"
+ warn_msg SOCKETSPEC
+ fi
+
+ if [[ -z "${DOMAIN}" ]] ; then
+ DOMAIN=$(domainname)
+ warn_msg DOMAIN
+ fi
+
+ if [[ -z "${CANON}" ]] ; then
+ CANON="simple"
+ warn_msg CANON
+ fi
+
+ if [[ -z "${CANON}" ]] ; then
+ USER="milter"
+ warn_msg USER
+ fi
+
+ source /etc/conf.d/dk-filter
+}
start() {
+ check_cfg || return 1
+ einfo "DK_FILTER_OPTS: $DK_FILTER_OPTS"
ebegin "Starting DomainKeys Filter"
start-stop-daemon --start --quiet --background \
--exec /usr/bin/dk-filter -- ${DK_FILTER_OPTS}