summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2008-01-04 10:30:29 +0000
committerAlin Năstac <mrness@gentoo.org>2008-01-04 10:30:29 +0000
commit1a69ff99a883c295c2a6bf032168b9fcff8b39f9 (patch)
tree916594314983cd885cef6e7e8f060408f96d6411 /mail-filter
parentAdded src_test. (diff)
downloadgentoo-2-1a69ff99a883c295c2a6bf032168b9fcff8b39f9.tar.gz
gentoo-2-1a69ff99a883c295c2a6bf032168b9fcff8b39f9.tar.bz2
gentoo-2-1a69ff99a883c295c2a6bf032168b9fcff8b39f9.zip
Version bump.
(Portage version: 2.1.3.19)
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/dkim-milter/ChangeLog11
-rw-r--r--mail-filter/dkim-milter/dkim-milter-2.4.2.ebuild149
-rw-r--r--mail-filter/dkim-milter/files/digest-dkim-milter-2.4.23
-rw-r--r--mail-filter/dkim-milter/files/dkim-milter-2.4.2-gentoo.patch165
-rw-r--r--mail-filter/dkim-milter/files/dkim-milter-diffheaders.patch14
5 files changed, 340 insertions, 2 deletions
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 <mrness@gentoo.org>
+ +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