diff options
author | 2006-07-20 01:27:05 +0000 | |
---|---|---|
committer | 2006-07-20 01:27:05 +0000 | |
commit | 5cb3a6dc38a95fdcdb2c084cc7ac3d8c98e6f3f2 (patch) | |
tree | e4380dfbd649da05c0b9fee163d31652f43bb758 /mail-filter | |
parent | Version bump. (diff) | |
download | gentoo-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/ChangeLog | 5 | ||||
-rwxr-xr-x | mail-filter/dk-milter/files/dk-filter.init | 79 |
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} |