diff options
author | Daniel Black <dragonheart@gentoo.org> | 2007-12-28 10:09:57 +0000 |
---|---|---|
committer | Daniel Black <dragonheart@gentoo.org> | 2007-12-28 10:09:57 +0000 |
commit | 92bfaa2e1d4cc9fea234cdb1d7c00cc512eccf1f (patch) | |
tree | 264685eb43bc7e27e74f168216e357220adad78d /mail-filter | |
parent | Adding myself as maintainer. (diff) | |
download | gentoo-2-92bfaa2e1d4cc9fea234cdb1d7c00cc512eccf1f.tar.gz gentoo-2-92bfaa2e1d4cc9fea234cdb1d7c00cc512eccf1f.tar.bz2 gentoo-2-92bfaa2e1d4cc9fea234cdb1d7c00cc512eccf1f.zip |
version bump
(Portage version: 2.1.4_rc11)
Diffstat (limited to 'mail-filter')
-rw-r--r-- | mail-filter/dkim-milter/ChangeLog | 9 | ||||
-rw-r--r-- | mail-filter/dkim-milter/dkim-milter-2.4.1.ebuild | 144 | ||||
-rw-r--r-- | mail-filter/dkim-milter/files/digest-dkim-milter-2.4.1 | 3 | ||||
-rw-r--r-- | mail-filter/dkim-milter/files/dkim-filter-2.4.1-init | 45 | ||||
-rw-r--r-- | mail-filter/dkim-milter/files/dkim-milter-2.4.1-gentoo.patch | 163 |
5 files changed, 363 insertions, 1 deletions
diff --git a/mail-filter/dkim-milter/ChangeLog b/mail-filter/dkim-milter/ChangeLog index 8b62562e180a..5311539f7d59 100644 --- a/mail-filter/dkim-milter/ChangeLog +++ b/mail-filter/dkim-milter/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for mail-filter/dkim-milter # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dkim-milter/ChangeLog,v 1.11 2007/11/14 04:46:36 mrness Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dkim-milter/ChangeLog,v 1.12 2007/12/28 10:09:57 dragonheart Exp $ + +*dkim-milter-2.4.1 (28 Dec 2007) + + 28 Dec 2007; Daniel Black <dragonheart@gentoo.org> + +files/dkim-milter-2.4.1-gentoo.patch, +files/dkim-filter-2.4.1-init, + +dkim-milter-2.4.1.ebuild: + version bump 14 Nov 2007; Alin Năstac <mrness@gentoo.org> -files/dkim-milter-2.3.0-diffheaders.patch, diff --git a/mail-filter/dkim-milter/dkim-milter-2.4.1.ebuild b/mail-filter/dkim-milter/dkim-milter-2.4.1.ebuild new file mode 100644 index 000000000000..70ff8e3053b6 --- /dev/null +++ b/mail-filter/dkim-milter/dkim-milter-2.4.1.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dkim-milter/dkim-milter-2.4.1.ebuild,v 1.1 2007/12/28 10:09:57 dragonheart Exp $ + +inherit eutils toolchain-funcs + +DESCRIPTION="A milter-based application to provide DomainKeys Identified Mail (DKIM) service" +HOMEPAGE="http://sourceforge.net/projects/dkim-milter/" +SRC_URI="mirror://sourceforge/dkim-milter/${P}.tar.gz" + +LICENSE="Sendmail-Open-Source" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ipv6 diffheaders" + +RDEPEND="dev-libs/openssl + >=sys-libs/db-3.2 + || ( mail-filter/libmilter mail-mta/sendmail ) + diffheaders? ( dev-libs/tre )" +DEPEND="${RDEPEND}" + +pkg_setup() { + enewgroup milter + enewuser milter -1 -1 -1 milter +} + +src_unpack() { + unpack ${A} + + cd "${S}" || die "source dir not found" + + cp site.config.m4.dist devtools/Site/site.config.m4 || \ + die "failed to copy site.config.m4" + epatch "${FILESDIR}/${P}-gentoo.patch" + + local ENVDEF="" + use ipv6 && ENVDEF="${ENVDEF} -DNETINET6" + sed -i -e "s:@@CFLAGS@@:${CFLAGS}:" -e "s:@@ENVDEF@@:${ENVDEF}:" \ + devtools/Site/site.config.m4 + echo "APPENDDEF(\`confNO_MAN_BUILD', \` ')">>devtools/Site/site.config.m4 + + #use diffheaders && epatch "${FILESDIR}/${P}-diffheaders.patch" + use diffheaders && epatch "${FILESDIR}/${PN}-2.3.2-diffheaders.patch" +} + +src_compile() { + emake -j1 CC="$(tc-getCC)" || die "emake failed" +} + +src_test() { + emake -j1 CC="$(tc-getCC)" OPTIONS=check \ + || die "emake check failed" +} + +src_install() { + # no other program need to read from here + dodir /etc/mail/dkim-filter + fowners milter:milter /etc/mail/dkim-filter + fperms 700 /etc/mail/dkim-filter + + insinto /etc/mail/dkim-filter + newins dkim-filter/dkim-filter.conf.sample dkim-filter.conf + + newinitd "${FILESDIR}/dkim-filter-2.4.1-init" dkim-filter \ + || die "newinitd failed" + + # prepare directory for .pid, .sock and .stats files + dodir /var/run/dkim-filter + fowners milter:milter /var/run/dkim-filter + + dodir /usr/bin + emake -j1 DESTDIR="${D}" \ + SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \ + install || die "make install failed" + + # man build is broken; do man page installation by hand + doman */*.{3,5,8} + + # some people like docs + dodoc RELEASE_NOTES *.txt +} + +pkg_postinst() { + pkg_setup # create milter user + + elog "If you want to sign your mail messages, you will have to run" + elog " emerge --config ${CATEGORY}/${PN}" + elog "It will help you create your key and give you hints on how" + elog "to configure your DNS and MTA." +} + +pkg_config() { + local selector keysize pubkey + + read -p "Enter the selector name (default ${HOSTNAME}): " selector + [[ -n "${selector}" ]] || selector=${HOSTNAME} + if [[ -z "${selector}" ]]; then + eerror "Oddly enough, you don't have a HOSTNAME." + return 1 + fi + if [[ -f "${ROOT}"etc/mail/dkim-filter/${selector}.private ]]; then + ewarn "The private key for this selector already exists." + else + einfo "Select the size of private key:" + einfo " [1] 512 bits" + einfo " [2] 1024 bits" + einfo " [3] 2048 bits - danger -may not fit in DNS packet" + while read -n 1 -s -p " Press 1,2 or 3 on the keyboard to select the key size " keysize ; do + [[ "${keysize}" == "1" || "${keysize}" == "2" ]] && echo && break + done + case ${keysize} in + 1) keysize=512 ;; + 3) keysize=2048 ;; + *) keysize=1024 ;; + esac + + # generate the private and public keys + dkim-genkey -b ${keysize} -D "${ROOT}"etc/mail/dkim-filter/ \ + -s ${selector} && \ + chown milter:milter \ + "${ROOT}"etc/mail/dkim-filter/"${selector}".private || \ + { eerror "Failed to create private and public keys." ; return 1; } + fi + + # dkim-filter selector configuration + echo + einfo "Make sure you have the following settings in your dkim-filter.conf:" + einfo " Keyfile /etc/mail/dkim-filter/${selector}.private" + einfo " Selector ${selector}" + + # MTA configuration + echo + einfo "If you are using Postfix, add following lines to your main.cf:" + einfo " smtpd_milters = unix:/var/run/dkim-filter/dkim-filter.sock" + einfo " non_smtpd_milters = \$smtpd_milters" + + # DNS configuration + einfo "After you configured your MTA, publish your key by adding this TXT record to your domain:" + cat "${ROOT}"etc/mail/dkim-filter/${selector}.txt + einfo "t=y signifies you only test the DKIM on your domain. See following page for the complete list of tags:" + einfo " http://www.dkim.org/specs/rfc4871-dkimbase.html#key-text" + einfo + einfo "Also look at the draft SSP http://www.dkim.org/specs/draft-ietf-dkim-ssp-01.html" +} diff --git a/mail-filter/dkim-milter/files/digest-dkim-milter-2.4.1 b/mail-filter/dkim-milter/files/digest-dkim-milter-2.4.1 new file mode 100644 index 000000000000..7878664124fe --- /dev/null +++ b/mail-filter/dkim-milter/files/digest-dkim-milter-2.4.1 @@ -0,0 +1,3 @@ +MD5 f0d143eb868842303e1c0bed30c955bb dkim-milter-2.4.1.tar.gz 614119 +RMD160 ff24f468f0a741cc82d4b99d0b4f43d23dd132ab dkim-milter-2.4.1.tar.gz 614119 +SHA256 7b53f6650ba651ef7633c2de9d514056fd7150e0f4b71d5b5914eaa8b71d87d4 dkim-milter-2.4.1.tar.gz 614119 diff --git a/mail-filter/dkim-milter/files/dkim-filter-2.4.1-init b/mail-filter/dkim-milter/files/dkim-filter-2.4.1-init new file mode 100644 index 000000000000..7ff7c88837ce --- /dev/null +++ b/mail-filter/dkim-milter/files/dkim-filter-2.4.1-init @@ -0,0 +1,45 @@ +#!/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/dkim-milter/files/dkim-filter-2.4.1-init,v 1.1 2007/12/28 10:09:57 dragonheart Exp $ + +CONFFILE=/etc/mail/dkim-filter/${SVCNAME}.conf +PIDFILE=/var/run/dkim-filter/${SVCNAME}.pid + +depend() { + use dns logger net +} + +check_cfg() { + + if [ ! -f "${CONFFILE}" ] ; then + eerror "Configuration file ${CONFFILE} is missing" + return 1 + fi + + if egrep -q '^[[:space:]]*Background[[:space:]]+no' "${CONFFILE}" ; then + eerror "${SVCNAME} service cannot run with Background key set to yes!" + return 1 + fi + + if egrep -q '^[[:space:]]*PidFile[[:space:]]' "${CONFFILE}"; then + eerror "Please remove PidFile key from your configuration file!" + eerror "${SVCNAME} is automatically configured to use ${PIDFILE} as pid file." + return 1 + fi +} + +start() { + check_cfg || return 1 + + ebegin "Starting DKIM filter" + start-stop-daemon --start --pidfile "${PIDFILE}" \ + --exec /usr/bin/dkim-filter -- -x "${CONFFILE}" -P "${PIDFILE}" + eend $? +} + +stop() { + ebegin "Stopping DKIM filter" + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} diff --git a/mail-filter/dkim-milter/files/dkim-milter-2.4.1-gentoo.patch b/mail-filter/dkim-milter/files/dkim-milter-2.4.1-gentoo.patch new file mode 100644 index 000000000000..272c32a890a3 --- /dev/null +++ b/mail-filter/dkim-milter/files/dkim-milter-2.4.1-gentoo.patch @@ -0,0 +1,163 @@ +--- site.config.m4.dist 2007-12-18 10:59:54.000000000 +1100 ++++ devtools/Site/site.config.m4 2007-12-28 19:27:46.000000000 +1100 +@@ -11,7 +11,10 @@ + dnl If you are encountering coredumps and want to be able to analyze them + dnl using something like "gdb", enable this next line by deleting the "dnl" + dnl at the front of it. +-dnl define(`confOPTIMIZE', `-g') ++define(`confOPTIMIZE', `@@CFLAGS@@') ++define(`confENVDEF', `@@ENVDEF@@') ++dnl man build is broken ++define(`confNO_MAN_BUILD',`') + + dnl Shared library for libdkim + dnl +@@ -32,7 +35,7 @@ + dnl + dnl If you want to use the asynchronous resolver library, enable this + dnl next line by deleting the "dnl" at the front of it. +-dnl define(`bld_USE_ARLIB', `true') ++define(`bld_USE_ARLIB', `true') + dnl + dnl libar normally uses res_init() or res_ninit() to load the contents + dnl of resolv.conf for its use. If neither of these work on your system +@@ -57,7 +60,7 @@ + dnl it has seen, rather than relying on the DNS server to provide caching, + dnl enable this next line by deleting the "dnl" at the front of it. Also + dnl see the section below called "BerkeleyDB". +-dnl APPENDDEF(`confENVDEF', `-DQUERY_CACHE ') ++APPENDDEF(`confENVDEF', `-DQUERY_CACHE ') + + dnl BerkeleyDB -- Berkeley DB ("Sleepycat") database + dnl +@@ -70,7 +73,7 @@ + dnl by deleting "dnl" from the front of them: + dnl APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB/include ') + dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB/lib ') +-dnl APPENDDEF(`confLIBS', `-ldb ') ++APPENDDEF(`confLIBS', `-ldb ') + + dnl OpenSSL -- cryptography library + dnl +@@ -106,7 +109,7 @@ + dnl APPENDDEF(`confENVDEF', `-D_FFR_REQUIRED_HEADERS ') + dnl APPENDDEF(`confENVDEF', `-D_FFR_SELECT_CANONICALIZATION ') + dnl APPENDDEF(`confENVDEF', `-D_FFR_SELECTOR_HEADER ') +-dnl APPENDDEF(`confENVDEF', `-D_FFR_STATS ') ++APPENDDEF(`confENVDEF', `-D_FFR_STATS ') + dnl APPENDDEF(`confENVDEF', `-D_FFR_VBR ') + dnl APPENDDEF(`confENVDEF', `-D_FFR_ZTAGS ') + +--- ./dkim-filter/dkim-filter.conf.sample.orig 2007-12-14 18:22:19.000000000 +1100 ++++ ./dkim-filter/dkim-filter.conf.sample 2007-12-28 19:30:54.000000000 +1100 +@@ -20,13 +20,6 @@ + + # AutoRestart No + +-## Background { yes | no } +-## default "yes" +-## +-## Indicate whether or not the filter should run in the background. +- +-# Background Yes +- + ## BodyLengths { yes | no } + ## default "no" + ## +@@ -74,7 +67,7 @@ + ## Specify for which domain(s) signing should be done. No default; must + ## be specified for signing. + +-Domain example.com ++Domain my-domain.com + + ## ExternalIgnoreList filename + ## +@@ -89,7 +82,7 @@ + ## Specifies the path to the private key to use when signing. Ignored if + ## Keylist is set. No default; must be specified for signing. + +-KeyFile /var/db/dkim/example.private ++KeyFile /etc/mail/dkim-filter/my-selector-name.private + + ## KeyList filename + ## +@@ -106,7 +99,7 @@ + ## as the beginning of a comment. See dkim-filter.conf(5) for more + ## information. + +-# KeyList /var/db/dkim/keylist ++# KeyList /etc/mail/dkim-filter/keylist + + ## InternalHosts filename + ## +@@ -114,7 +107,7 @@ + ## hosts from which mail should be signed rather than verified. + ## Automatically contains 127.0.0.1. See man page for file format. + +-# InternalHosts filename ++# InternalHosts /etc/mail/dkim-filter/internalhosts + + ## MacroList macro[=value][,...] + ## +@@ -198,22 +191,6 @@ + + # PeerList filename + +-## PidFile filename +-## +-## Name of the file where the filter should write its pid before beginning +-## normal operations. +- +-# PidFile filename +- +-## POPDBFile filename +-## +-## Names a database which should be checked for "POP before SMTP" records +-## as a form of authentication of users who may be sending mail through +-## the MTA for signing. Requires special compilation of the filter. +-## See dkim-filter.conf(5) for more information. +- +-# POPDBFile filename +- + ## Quarantine { yes | no } + ## default "no" + ## +@@ -288,7 +265,7 @@ + ## inet:port to listen on all interfaces + ## local:/path/to/socket to listen on a UNIX domain socket + +-Socket inet:port@localhost ++Socket local:/var/run/dkim-filter/dkim-filter.sock + + ## SubDomains { yes | no } + ## default "no" +@@ -318,7 +295,7 @@ + ## The system has its own default which will be used (usually 022). + ## See the umask(2) man page for more information. + +-# UMask 022 ++UMask 002 + + ## Userid userid + ## default (none) +@@ -326,7 +303,7 @@ + ## Change to user "userid" before starting normal operation? May include + ## a group ID as well, separated from the userid by a colon. + +-# UserID userid ++UserID milter + + ## UseSSPDeny { yes | no } + ## default "no" +@@ -344,3 +321,10 @@ + ## messages it has processed. + + # X-Header No ++ ++## Statistics filename ++## ++## Names a file to which useful statistics will be saved. ++## See man dkim-stats page ++ ++Statistics /var/run/dkim-filter/dkim-filter.stats |