From 1a69ff99a883c295c2a6bf032168b9fcff8b39f9 Mon Sep 17 00:00:00 2001 From: Alin Năstac Date: Fri, 4 Jan 2008 10:30:29 +0000 Subject: Version bump. (Portage version: 2.1.3.19) --- mail-filter/dkim-milter/ChangeLog | 11 +- mail-filter/dkim-milter/dkim-milter-2.4.2.ebuild | 149 +++++++++++++++++++ .../dkim-milter/files/digest-dkim-milter-2.4.2 | 3 + .../files/dkim-milter-2.4.2-gentoo.patch | 165 +++++++++++++++++++++ .../files/dkim-milter-diffheaders.patch | 14 ++ 5 files changed, 340 insertions(+), 2 deletions(-) create mode 100644 mail-filter/dkim-milter/dkim-milter-2.4.2.ebuild create mode 100644 mail-filter/dkim-milter/files/digest-dkim-milter-2.4.2 create mode 100644 mail-filter/dkim-milter/files/dkim-milter-2.4.2-gentoo.patch create mode 100644 mail-filter/dkim-milter/files/dkim-milter-diffheaders.patch (limited to 'mail-filter') diff --git a/mail-filter/dkim-milter/ChangeLog b/mail-filter/dkim-milter/ChangeLog index 5311539f7d59..81296e127c2b 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.12 2007/12/28 10:09:57 dragonheart Exp $ +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dkim-milter/ChangeLog,v 1.13 2008/01/04 10:30:29 mrness Exp $ + +*dkim-milter-2.4.2 (04 Jan 2008) + + 04 Jan 2008; Alin Năstac + +files/dkim-milter-2.4.2-gentoo.patch, + +files/dkim-milter-diffheaders.patch, +dkim-milter-2.4.2.ebuild: + Version bump. *dkim-milter-2.4.1 (28 Dec 2007) diff --git a/mail-filter/dkim-milter/dkim-milter-2.4.2.ebuild b/mail-filter/dkim-milter/dkim-milter-2.4.2.ebuild new file mode 100644 index 000000000000..852ce72fb3d8 --- /dev/null +++ b/mail-filter/dkim-milter/dkim-milter-2.4.2.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2008 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.2.ebuild,v 1.1 2008/01/04 10:30:29 mrness 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}/${PN}-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() { + 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." + + ewarn "Make sure your MTA has r/w access to the socket file." + ewarn "This can be done either by setting UMask to 002 and adding MTA's user" + ewarn "to milter group or you can simply set UMask to 000." +} + +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" + while read -n 1 -s -p " Press 1 or 2 on the keyboard to select the key size " keysize ; do + [[ "${keysize}" == "1" || "${keysize}" == "2" ]] && echo && break + done + case ${keysize} in + 1) keysize=512 ;; + *) keysize=1024 ;; + esac + + # generate the private and public keys + openssl genrsa -out "${ROOT}"etc/mail/dkim-filter/${selector}.private ${keysize} && \ + chown milter:milter "${ROOT}"etc/mail/dkim-filter/${selector}.private && chmod u=r,g-rwx,o-rwx "${ROOT}"etc/mail/dkim-filter/${selector}.private && + openssl rsa -in "${ROOT}"etc/mail/dkim-filter/${selector}.private -out "${ROOT}"etc/mail/dkim-filter/${selector}.public -pubout -outform PEM || \ + { 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 = unix:/var/run/dkim-filter/dkim-filter.sock" + + # DNS configuration + { + local line + pubkey= + while read line; do + [[ "${line}" == "--"* ]] || pubkey="${pubkey}${line}" + done + } < "${ROOT}"etc/mail/dkim-filter/${selector}.public + echo + einfo "After you configured your MTA, publish your key by adding this TXT record to your domain:" + einfo " ${selector}._domainkey IN TXT \"v=DKIM1\\; k=rsa\\; t=y\\; p=${pubkey}\"" + echo + 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" +} diff --git a/mail-filter/dkim-milter/files/digest-dkim-milter-2.4.2 b/mail-filter/dkim-milter/files/digest-dkim-milter-2.4.2 new file mode 100644 index 000000000000..f7d887ea41b7 --- /dev/null +++ b/mail-filter/dkim-milter/files/digest-dkim-milter-2.4.2 @@ -0,0 +1,3 @@ +MD5 738f4e94823e4d778161d6f9935581f9 dkim-milter-2.4.2.tar.gz 613940 +RMD160 a142124206c544b6543499b8f0adfc4b68ba1a37 dkim-milter-2.4.2.tar.gz 613940 +SHA256 37eb77ebb2a3083a4b7d5792d50a80681d41deb5ee843ca23528bdeb49fab504 dkim-milter-2.4.2.tar.gz 613940 diff --git a/mail-filter/dkim-milter/files/dkim-milter-2.4.2-gentoo.patch b/mail-filter/dkim-milter/files/dkim-milter-2.4.2-gentoo.patch new file mode 100644 index 000000000000..00e7fa4b8e79 --- /dev/null +++ b/mail-filter/dkim-milter/files/dkim-milter-2.4.2-gentoo.patch @@ -0,0 +1,165 @@ +diff -ur dkim-milter-2.4.2.orig/devtools/Site/site.config.m4 dkim-milter-2.4.2/devtools/Site/site.config.m4 +--- dkim-milter-2.4.2.orig/devtools/Site/site.config.m4 2008-01-04 11:34:53.000000000 +0200 ++++ dkim-milter-2.4.2/devtools/Site/site.config.m4 2008-01-04 11:39:07.000000000 +0200 +@@ -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 ') + +diff -ur dkim-milter-2.4.2.orig/dkim-filter/dkim-filter.conf.sample dkim-milter-2.4.2/dkim-filter/dkim-filter.conf.sample +--- dkim-milter-2.4.2.orig/dkim-filter/dkim-filter.conf.sample 2007-12-14 09:22:19.000000000 +0200 ++++ dkim-milter-2.4.2/dkim-filter/dkim-filter.conf.sample 2008-01-04 11:39:07.000000000 +0200 +@@ -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 diff --git a/mail-filter/dkim-milter/files/dkim-milter-diffheaders.patch b/mail-filter/dkim-milter/files/dkim-milter-diffheaders.patch new file mode 100644 index 000000000000..309fad4bd3d3 --- /dev/null +++ b/mail-filter/dkim-milter/files/dkim-milter-diffheaders.patch @@ -0,0 +1,14 @@ +--- devtools/Site/site.config.m4.orig 2007-10-13 13:44:57.000000000 +1000 ++++ devtools/Site/site.config.m4 2007-10-13 13:45:45.000000000 +1000 +@@ -67,9 +67,9 @@ + dnl to have the "tre" library and its header files installed. If necessary, + dnl enable these lines by deleting "dnl" from the front of them and edit + dnl paths as needed. +-dnl APPENDDEF(`confINCDIRS', `-I/usr/local/include/tre ') ++APPENDDEF(`confINCDIRS', `-I/usr/include/tre ') + dnl APPENDDEF(`confLIBDIRS', `-L/usr/local/lib/tre ') +-dnl APPENDDEF(`confLIBS', `-ltre ') ++APPENDDEF(`confLIBS', `-ltre ') + + dnl Code For Future Release (FFRs): + dnl -- cgit v1.2.3-65-gdbad