summaryrefslogtreecommitdiff
path: root/mail-filter/opendkim
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-10-27 12:48:57 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-10-27 12:48:57 +0100
commit70b82ae359a5538711e103b0e8dfb92654296644 (patch)
tree8412b84ff9ce02a22be5251052b00feefe1d5b70 /mail-filter/opendkim
parent64e107b9b6058580ff0432107eb37cefb0b2a7d8 (diff)
gentoo resync : 27.10.2018
Diffstat (limited to 'mail-filter/opendkim')
-rw-r--r--mail-filter/opendkim/Manifest2
-rw-r--r--mail-filter/opendkim/files/opendkim-2.10.3-openssl-1.1.1.patch170
-rw-r--r--mail-filter/opendkim/opendkim-2.10.3-r4.ebuild205
3 files changed, 377 insertions, 0 deletions
diff --git a/mail-filter/opendkim/Manifest b/mail-filter/opendkim/Manifest
index ec5c3ac294ba..a338dceee8f7 100644
--- a/mail-filter/opendkim/Manifest
+++ b/mail-filter/opendkim/Manifest
@@ -1,9 +1,11 @@
AUX opendkim-2.10.3-gnutls-3.4.patch 1555 BLAKE2B 17a74a6487a514b967d35e77a0a6bb22733648b561b8eac31d95eed16b0faef82a047a1444626bd560b27bc8ed67dd17f9cadc82449d169fdfb6ed45b50644b1 SHA512 f159f7ef3dffe876ccb01cff5b8fbb599357765ff028ef1db28b7f3dba5e13579c7e9bac305fc36fc324fdad0697224f8caa66d27dd3a1085b5fca133365f4ef
+AUX opendkim-2.10.3-openssl-1.1.1.patch 5889 BLAKE2B 288900a8cba7b4ccf376240485234a0d01720b96a874ac73a7b2f5f5a63f00a67f5a940d5657a702fc7c058989764fe52d17e6625ce96c7cf390cee6c9a29ed9 SHA512 63d0b27e4cde4aadc72320f3ea6b2ea3e45357c019b4fe0e473eb6010c0c6ed3e4ec9541448325848cdd52955943d2ba2527f9819f5e10d5953f085ba4663f85
AUX opendkim-r1.service 516 BLAKE2B 738fd145b6e6c62d76bdb45a6f782c1dfacb1623a658c648b924366fb0ec56d15fdaf0137d3cd3cfb777c563d6967c1272755db1bf4f02fef91ecb2f7d575c91 SHA512 ad0f95ee60628319f3e8f316984f2bee0fd278cebd52bf1c662cc0d38ff09e5bc5df76349e8aeb2918cdf44a92b05b2d5df2ed11738e86a6a5a64c86004fd971
AUX opendkim.init.r3 1430 BLAKE2B a09484ef2123f9d7096211c1539eab5fda14ff1f36a291c2f6366781ad868d43028bae60eb4e3676380f3c830a350cf53c6cb42837f56160c5b9c59d1f7e261b SHA512 d0a5985ffac171774664d4f619924f25c462d5829e8281b8ff643c22918295d513cf6e0e3a335c550c378b6d4739604539585f2ca809172a090f15d5c1294cf4
AUX opendkim.service 439 BLAKE2B 203f8d5a55f9f08069eec0bac8b9af743e3c0414a927c47ae67533a94c67371aa12963c347361056939cc18492612f067102eca09166de6aa83d1b0541d4a8e6 SHA512 308edc70fdb0bd57b424e739412217fd8017b017e9b27bc0954dec55294d10d8b7713f6f191836b94aa49bf578bfb391dca748af0c8d9b72e14ebe1eae21e834
DIST opendkim-2.10.3.tar.gz 1210224 BLAKE2B affd4526568431fa1afee93a167c5569912c9344ea4e6eee3281a035bd0c76d2be5d2e8e144bbebabd681a73388a37ac56d9a2e4daf00af9baadad14ffb42265 SHA512 97923e533d072c07ae4d16a46cbed95ee799aa50f19468d8bc6d1dc534025a8616c3b4b68b5842bc899b509349a2c9a67312d574a726b048c0ea46dd4fcc45d8
EBUILD opendkim-2.10.3-r2.ebuild 6175 BLAKE2B 05595a7b01903c41fb9ca88b02ee7a9cce42782f79ed0b9ef66df0983c732bd2f3556bbc8236a5ce92bf04fe7baeb6f9c756c5a580a9fde3650cf1b2b1bced8d SHA512 35a36a6a9ad16b322faf0d51356e7c0401900f8f98dadfbf0ea9c884665baa404b9ca3ebf22af160c5ef03a08a60775b379897a61b7102d178214b3424eb38b4
EBUILD opendkim-2.10.3-r3.ebuild 6086 BLAKE2B f1473a7605c8ebb73170498ce826ce0b6a630c5109a0661a6a3226aa25d06fad04fc621b9b8c3931f47f497bbaae1cf2273fdb101c2c805aef6921283ee5f8e4 SHA512 4601d56f81230dca6753b3793b0392c1b05365706d1f97961f6bbe5172cbeebb2fa4b914390460b7872e9aca72e44c6b89ba6ea71c2c40504a1e8343d84bf74d
+EBUILD opendkim-2.10.3-r4.ebuild 6125 BLAKE2B f5e860bf2e5ca784c9b7d5b325d5ad2ea991a0b568507645753192ed2b8c85feb192b40f5ebcfe07e13884770a3161ca17fc5af66c84da07dffb1e9f1180bbec SHA512 d47ef5280f95272f7cf6087c1a5c67325564cf8058b083aa0b7b85b3b1f1a634f3a770ee2e08eeb0b428f04a24cc26a8ae7c43d04d5b83f9378d7f57e7cd3758
EBUILD opendkim-2.10.3.ebuild 6095 BLAKE2B 9711f8fc38d5539b6d7b736aae3716c19ccdd0cd309ba70cab1b9a13d899899ef332d1883a90b85481b1bb2176fa26b12338c8885466a19c18b3ee836711b287 SHA512 36bf472733dca5a49ee41bde1317a4a0c4de519f7490f0c506437223080ef158b9172d51d6db81ed9555a3a1e9fbc31cd5fab9fa3eb05d928dc474d779b9d14e
MISC metadata.xml 1576 BLAKE2B 055ffde1fc3b21a129056d4a457a40ffcc72aa06ded28068165ef67e5af180ac422dec4bf1a395d97fe31987da3426a007044e3c6d3424f08c944c04f26e2007 SHA512 8595e50d9a6775a337a06d7ca32c00d6b37c862eba46c5edfe895230d89cd8952fccca8ad0ed98483b7d47318c6178a11d0ee33070f731d31960c8c20fb10cb7
diff --git a/mail-filter/opendkim/files/opendkim-2.10.3-openssl-1.1.1.patch b/mail-filter/opendkim/files/opendkim-2.10.3-openssl-1.1.1.patch
new file mode 100644
index 000000000000..825d7753aca2
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim-2.10.3-openssl-1.1.1.patch
@@ -0,0 +1,170 @@
+From FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223568
+--- a/configure.ac 2015-05-12 18:43:09 UTC
++++ b/configure.ac
+@@ -860,26 +860,28 @@ then
+ AC_SEARCH_LIBS([ERR_peek_error], [crypto], ,
+ AC_MSG_ERROR([libcrypto not found]))
+
+- AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+- [
+- if test x"$enable_shared" = x"yes"
+- then
+- AC_MSG_ERROR([Cannot build shared opendkim
+- against static openssl libraries.
+- Configure with --disable-shared
+- to get this working or obtain a
+- shared libssl library for
+- opendkim to use.])
+- fi
+
+- # avoid caching issue - last result of SSL_library_init
+- # shouldn't be cached for this next check
+- unset ac_cv_search_SSL_library_init
+- LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
+- AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+- AC_MSG_ERROR([libssl not found]), [-ldl])
+- ]
+- )
++ AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM([[#include <openssl/ssl.h>]],
++ [[SSL_library_init();]])],
++ [od_have_ossl="yes";],
++ [od_have_ossl="no";])
++ if test x"$od_have_ossl" = x"no"
++ then
++ if test x"$enable_shared" = x"yes"
++ then
++ AC_MSG_ERROR([Cannot build shared opendkim
++ against static openssl libraries.
++ Configure with --disable-shared
++ to get this working or obtain a
++ shared libssl library for
++ opendkim to use.])
++ fi
++
++ LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
++ AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
++ AC_MSG_ERROR([libssl not found]), [-ldl])
++ fi
+
+ AC_CHECK_DECL([SHA256_DIGEST_LENGTH],
+ AC_DEFINE([HAVE_SHA256], 1,
+--- a/libopendkim/tests/Makefile.in 2015-05-12 18:43:48 UTC
++++ b/libopendkim/tests/Makefile.in
+@@ -1108,8 +1108,10 @@ am__nobase_list = $(am__nobase_strip_setup); \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+ am__base_list = \
+- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\
++/ /g' | \
++ sed '$$!N;$$!N;$$!N;$$!N;s/\
++/ /g'
+ am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+@@ -4131,16 +4133,19 @@ uninstall-am: uninstall-dist_docDATA
+ @LCOV_TRUE@description.txt: $(check_PROGRAMS) $(check_SCRIPTS)
+ @LCOV_TRUE@ rm -f $@
+ @LCOV_TRUE@ for i in $(check_PROGRAMS); do \
+-@LCOV_TRUE@ testname=$${i/t-}; \
+-@LCOV_TRUE@ testname=$${testname//-/_}; \
++@LCOV_TRUE@ testname=$${i#t-}; \
++@LCOV_TRUE@ testname=$$(echo $${testname} | sed -e 's/-/_/g'); \
+ @LCOV_TRUE@ fgrep '***' $$i.c | tail -n 1 | \
+-@LCOV_TRUE@ (echo $${testname} ; sed -e 's/[^*]*\*\*\*\(.*\)\\n.*/\t\1\n/g' ) >> $@; \
++@LCOV_TRUE@ (echo $${testname} ; sed -e 's/[^*]*\*\*\*\(.*\)\\
++@LCOV_TRUE@.*/ \1\
++@LCOV_TRUE@/g' ) >> $@; \
+ @LCOV_TRUE@ done
+ @LCOV_TRUE@ for i in $(check_SCRIPTS); do \
+-@LCOV_TRUE@ testname=$${i/t-}; \
+-@LCOV_TRUE@ testname=$${testname//-/_}; \
++@LCOV_TRUE@ testname=$${i#t-}; \
++@LCOV_TRUE@ testname=$$(echo $${testname} | sed -e 's/-/_/g'); \
+ @LCOV_TRUE@ grep '^#' $$i | tail -n 1 | \
+-@LCOV_TRUE@ (echo $${testname} ; sed -e 's/^# \(.*\)/\t\1\n/g' ) >> $@; \
++@LCOV_TRUE@ (echo $${testname} ; sed -e 's/^# \(.*\)/ \1\
++@LCOV_TRUE@/g' ) >> $@; \
+ @LCOV_TRUE@ done
+
+ @LCOV_TRUE@description.html: description.txt
+--- a/libopendkim/dkim-canon.c 2015-05-11 03:56:13 UTC
++++ b/libopendkim/dkim-canon.c
+@@ -388,7 +388,7 @@ dkim_canon_header_string(struct dkim_dstring *dstr, dk
+ }
+
+ /* skip all spaces before first word */
+- while (*p != '\0' && DKIM_ISWSP(*p))
++ while (*p != '\0' && DKIM_ISLWSP(*p))
+ p++;
+
+ space = FALSE; /* just saw a space */
+--- a/opendkim/tests/Makefile.in 2015-05-12 18:43:49 UTC
++++ b/opendkim/tests/Makefile.in
+@@ -139,8 +139,10 @@ am__nobase_list = $(am__nobase_strip_setup); \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+ am__base_list = \
+- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\
++/ /g' | \
++ sed '$$!N;$$!N;$$!N;$$!N;s/\
++/ /g'
+ am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+@@ -1298,14 +1300,16 @@ uninstall-am: uninstall-dist_docDATA
+ @LCOV_TRUE@description.txt: $(check_SCRIPTS)
+ @LCOV_TRUE@ rm -f $@
+ @LCOV_TRUE@ for test in $? ; do \
+-@LCOV_TRUE@ testname=$${test/t-}; \
+-@LCOV_TRUE@ testname=$${testname//-/_}; \
++@LCOV_TRUE@ testname=$${test#t-}; \
++@LCOV_TRUE@ testname=$$(echo $${testname} | sed -e 's/-/_/g'); \
+ @LCOV_TRUE@ grep ^# $$test | tail -n 1 | \
+-@LCOV_TRUE@ sed -e "s/^#\(.*\)/$${testname}\n\t\1\n/g" >> $@; \
++@LCOV_TRUE@ sed -e "s/^#\(.*\)/$${testname}\
++@LCOV_TRUE@ \1\
++@LCOV_TRUE@/g" >> $@; \
+ @LCOV_TRUE@ done
+
+ @LCOV_TRUE@description.html: description.txt
+-@LCOV_TRUE@ gendesc --output $@ $<
++@LCOV_TRUE@ gendesc --output $@ $?
+
+ @LCOV_TRUE@maintainer-clean-local:
+ @LCOV_TRUE@ -rm -rf lcov/[^C]*
+--- a/opendkim/opendkim-crypto.c 2013-02-25 21:02:41 UTC
++++ b/opendkim/opendkim-crypto.c
+@@ -222,7 +222,11 @@ dkimf_crypto_free_id(void *ptr)
+ {
+ assert(pthread_setspecific(id_key, ptr) == 0);
+
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++ OPENSSL_thread_stop();
++#else
+ ERR_remove_state(0);
++#endif
+
+ free(ptr);
+
+@@ -392,11 +396,15 @@ dkimf_crypto_free(void)
+ {
+ if (crypto_init_done)
+ {
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++ OPENSSL_thread_stop();
++#else
+ CRYPTO_cleanup_all_ex_data();
+ CONF_modules_free();
+ EVP_cleanup();
+ ERR_free_strings();
+ ERR_remove_state(0);
++#endif
+
+ if (nmutexes > 0)
+ {
+
diff --git a/mail-filter/opendkim/opendkim-2.10.3-r4.ebuild b/mail-filter/opendkim/opendkim-2.10.3-r4.ebuild
new file mode 100644
index 000000000000..6c1b66b18e1b
--- /dev/null
+++ b/mail-filter/opendkim/opendkim-2.10.3-r4.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools db-use eutils systemd user
+
+# for betas
+#MY_P=${P/_b/.B}
+#S=${WORKDIR}/${PN}-2.8.0
+#SRC_URI="mirror://sourceforge/opendkim/${MY_P}.tar.gz"
+
+DESCRIPTION="A milter-based application to provide DKIM signing and verification"
+HOMEPAGE="http://opendkim.org"
+SRC_URI="mirror://sourceforge/opendkim/${P}.tar.gz"
+
+LICENSE="Sendmail-Open-Source BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+berkdb gnutls ldap libressl lmdb lua memcached opendbx poll sasl selinux +ssl static-libs unbound"
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ dev-libs/libbsd
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ berkdb? ( >=sys-libs/db-3.2:* )
+ opendbx? ( >=dev-db/opendbx-1.4.0 )
+ lua? ( dev-lang/lua:* )
+ ldap? ( net-nds/openldap )
+ lmdb? ( dev-db/lmdb )
+ memcached? ( dev-libs/libmemcached )
+ sasl? ( dev-libs/cyrus-sasl )
+ unbound? ( >=net-dns/unbound-1.4.1:= net-dns/dnssec-root )
+ !unbound? ( net-libs/ldns )
+ gnutls? ( >=net-libs/gnutls-3.3 )"
+
+RDEPEND="${DEPEND}
+ sys-process/psmisc
+ selinux? ( sec-policy/selinux-dkim )
+"
+
+REQUIRED_USE="sasl? ( ldap )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gnutls-3.4.patch"
+ "${FILESDIR}/${P}-openssl-1.1.1.patch"
+)
+
+pkg_setup() {
+ enewgroup milter
+ # mail-milter/spamass-milter creates milter user with this home directory
+ # For consistency reasons, milter user must be created here with this home directory
+ # even though this package doesn't need a home directory for this user (#280571)
+ enewuser milter -1 -1 /var/lib/milter milter
+}
+
+src_prepare() {
+ default
+
+ sed -i -e 's:/var/db/dkim:/etc/opendkim:g' \
+ -e 's:/var/db/opendkim:/var/lib/opendkim:g' \
+ -e 's:/etc/mail:/etc/opendkim:g' \
+ -e 's:mailnull:milter:g' \
+ -e 's:^#[[:space:]]*PidFile.*:PidFile /run/opendkim/opendkim.pid:' \
+ opendkim/opendkim.conf.sample opendkim/opendkim.conf.simple.in \
+ stats/opendkim-reportstats{,.in} || die
+
+ sed -i -e 's:dist_doc_DATA:dist_html_DATA:' libopendkim/docs/Makefile.am \
+ || die
+
+ sed -i -e '/sock.*mt.getcwd/s:mt.getcwd():"/tmp":' opendkim/tests/*.lua
+ sed -i -e '/sock.*mt.getcwd/s:mt.getcwd():"/proc/self/cwd":' opendkim/tests/*.lua
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=()
+ if use berkdb ; then
+ myconf+=(
+ $(db_includedir)
+ --with-db-incdir=${myconf#-I}
+ --enable-popauth
+ --enable-query_cache
+ --enable-stats
+ )
+ fi
+ if use unbound; then
+ myconf+=( --with-unbound )
+ else
+ myconf+=( --with-ldns )
+ fi
+ if use ldap; then
+ myconf+=( $(use_with sasl) )
+ fi
+ econf \
+ $(use_with berkdb db) \
+ $(use_with opendbx odbx) \
+ $(use_with lua) \
+ $(use_enable lua rbl) \
+ $(use_with ldap openldap) \
+ $(use_with lmdb) \
+ $(use_enable poll) \
+ $(use_enable static-libs static) \
+ $(use_with gnutls) \
+ $(use_with memcached libmemcached) \
+ "${myconf[@]}" \
+ --enable-filter \
+ --enable-atps \
+ --enable-identity_header \
+ --enable-rate_limit \
+ --enable-resign \
+ --enable-replace_rules \
+ --enable-default_sender \
+ --enable-sender_macro \
+ --enable-vbr \
+ --disable-live-testing
+ #--with-test-socket=/tmp/opendkim-$(echo ${RANDOM})-S
+ #--disable-rpath
+}
+
+src_install() {
+ default
+ prune_libtool_files
+
+ dosbin stats/opendkim-reportstats
+
+ newinitd "${FILESDIR}/opendkim.init.r3" opendkim
+ systemd_newunit "${FILESDIR}/opendkim-r1.service" opendkim.service
+
+ dodir /etc/opendkim /var/lib/opendkim
+ fowners milter:milter /var/lib/opendkim
+
+ # default configuration
+ if [ ! -f "${ROOT}"/etc/opendkim/opendkim.conf ]; then
+ grep ^[^#] "${S}"/opendkim/opendkim.conf.simple \
+ > "${D}"/etc/opendkim/opendkim.conf
+ if use unbound; then
+ echo TrustAnchorFile /etc/dnssec/root-anchors.txt >> "${D}"/etc/opendkim/opendkim.conf
+ fi
+ echo UserID milter >> "${D}"/etc/opendkim/opendkim.conf
+ if use berkdb; then
+ echo Statistics /var/lib/opendkim/stats.dat >> \
+ "${D}"/etc/opendkim/opendkim.conf
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSION} ]]; then
+ elog "If you want to sign your mail messages and need some help"
+ elog "please 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."
+ fi
+}
+
+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/opendkim/${selector}.private ]]; then
+ ewarn "The private key for this selector already exists."
+ else
+ keysize=1024
+ # generate the private and public keys
+ opendkim-genkey -b ${keysize} -D "${ROOT}"etc/opendkim/ \
+ -s ${selector} -d '(your domain)' && \
+ chown milter:milter \
+ "${ROOT}"etc/opendkim/"${selector}".private || \
+ { eerror "Failed to create private and public keys." ; return 1; }
+ chmod go-r "${ROOT}"etc/opendkim/"${selector}".private
+ fi
+
+ # opendkim selector configuration
+ echo
+ einfo "Make sure you have the following settings in your /etc/opendkim/opendkim.conf:"
+ einfo " Keyfile /etc/opendkim/${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/opendkim/opendkim.sock"
+ einfo " non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock"
+ einfo " and read http://www.postfix.org/MILTER_README.html"
+
+ # DNS configuration
+ einfo "After you configured your MTA, publish your key by adding this TXT record to your domain:"
+ cat "${ROOT}"etc/opendkim/${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"
+}