summaryrefslogtreecommitdiff
path: root/mail-filter
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /mail-filter
reinit the tree, so we can have metadata
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/MailScanner/MailScanner-4.84.5.2.ebuild320
-rw-r--r--mail-filter/MailScanner/Manifest7
-rw-r--r--mail-filter/MailScanner/files/confd.mailscanner4
-rw-r--r--mail-filter/MailScanner/files/initd.mailscanner48
-rw-r--r--mail-filter/MailScanner/metadata.xml14
-rw-r--r--mail-filter/afew/Manifest5
-rw-r--r--mail-filter/afew/afew-1.1.0.ebuild37
-rw-r--r--mail-filter/afew/afew-1.2.0.ebuild37
-rw-r--r--mail-filter/afew/metadata.xml22
-rw-r--r--mail-filter/amavisd-milter/Manifest12
-rw-r--r--mail-filter/amavisd-milter/amavisd-milter-1.5.0-r1.ebuild32
-rw-r--r--mail-filter/amavisd-milter/amavisd-milter-1.5.0.ebuild26
-rw-r--r--mail-filter/amavisd-milter/amavisd-milter-1.6.0-r1.ebuild33
-rw-r--r--mail-filter/amavisd-milter/amavisd-milter-1.6.0.ebuild32
-rw-r--r--mail-filter/amavisd-milter/files/amavisd-milter-1.6.0-policybank.patch20
-rw-r--r--mail-filter/amavisd-milter/files/amavisd-milter.confd14
-rw-r--r--mail-filter/amavisd-milter/files/amavisd-milter.initd29
-rw-r--r--mail-filter/amavisd-milter/metadata.xml11
-rw-r--r--mail-filter/amavisd-new/Manifest20
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.10.1-r4.ebuild181
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.10.1.ebuild180
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.11.0-r2.ebuild177
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.11.0-r3.ebuild180
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.7.2.ebuild167
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.8.1-r1.ebuild188
-rw-r--r--mail-filter/amavisd-new/amavisd-new-2.9.1-r2.ebuild180
-rw-r--r--mail-filter/amavisd-new/files/amavis-mc.initd17
-rw-r--r--mail-filter/amavisd-new/files/amavisd-snmp.initd31
-rw-r--r--mail-filter/amavisd-new/files/amavisd.initd45
-rw-r--r--mail-filter/amavisd-new/files/amavisd.initd-r144
-rw-r--r--mail-filter/amavisd-new/files/amavisd.service22
-rw-r--r--mail-filter/amavisd-new/metadata.xml20
-rw-r--r--mail-filter/anomy-sanitizer/Manifest10
-rw-r--r--mail-filter/anomy-sanitizer/anomy-sanitizer-1.76-r1.ebuild106
-rw-r--r--mail-filter/anomy-sanitizer/files/anomy.conf207
-rw-r--r--mail-filter/anomy-sanitizer/files/sample2_mailfilter.sh83
-rw-r--r--mail-filter/anomy-sanitizer/files/sample_mailfiler.sh76
-rw-r--r--mail-filter/anomy-sanitizer/metadata.xml5
-rw-r--r--mail-filter/anubis/Manifest12
-rw-r--r--mail-filter/anubis/anubis-4.1.1-r1.ebuild94
-rw-r--r--mail-filter/anubis/anubis-4.1.1.ebuild93
-rw-r--r--mail-filter/anubis/anubis-4.2.ebuild67
-rw-r--r--mail-filter/anubis/files/4.1.1-gnutls.patch11
-rw-r--r--mail-filter/anubis/files/4.1.1-gnutls3.patch14
-rw-r--r--mail-filter/anubis/files/4.1.1-gpgme.patch32
-rw-r--r--mail-filter/anubis/files/4.1.1-testsuite.patch14
-rw-r--r--mail-filter/anubis/metadata.xml8
-rw-r--r--mail-filter/ask/Manifest7
-rw-r--r--mail-filter/ask/ask-2.4.1.ebuild56
-rw-r--r--mail-filter/ask/ask-2.5.3.ebuild41
-rw-r--r--mail-filter/ask/metadata.xml15
-rw-r--r--mail-filter/assp/Manifest14
-rw-r--r--mail-filter/assp/assp-1.8.5.9.ebuild176
-rw-r--r--mail-filter/assp/assp-1.9.4.7.ebuild177
-rw-r--r--mail-filter/assp/assp-1.9.4.8.ebuild177
-rw-r--r--mail-filter/assp/assp-1.9.4.9.ebuild177
-rw-r--r--mail-filter/assp/assp-1.9.8.13030.ebuild177
-rw-r--r--mail-filter/assp/files/asspd.init21
-rw-r--r--mail-filter/assp/metadata.xml25
-rw-r--r--mail-filter/bmf/Manifest6
-rw-r--r--mail-filter/bmf/bmf-0.9.4-r2.ebuild55
-rw-r--r--mail-filter/bmf/files/bmf-0.9.4_QA.patch19
-rw-r--r--mail-filter/bmf/metadata.xml11
-rw-r--r--mail-filter/bogofilter/Manifest7
-rw-r--r--mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild126
-rw-r--r--mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch24
-rw-r--r--mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch11
-rw-r--r--mail-filter/bogofilter/metadata.xml19
-rw-r--r--mail-filter/clamassassin/Manifest5
-rw-r--r--mail-filter/clamassassin/clamassassin-1.2.4.ebuild38
-rw-r--r--mail-filter/clamassassin/metadata.xml13
-rw-r--r--mail-filter/clamsmtp/Manifest6
-rw-r--r--mail-filter/clamsmtp/clamsmtp-1.10.ebuild37
-rw-r--r--mail-filter/clamsmtp/files/clamsmtpd.init20
-rw-r--r--mail-filter/clamsmtp/metadata.xml12
-rw-r--r--mail-filter/couriersrs/Manifest6
-rw-r--r--mail-filter/couriersrs/couriersrs-0.1.2.ebuild28
-rw-r--r--mail-filter/couriersrs/files/couriersrs-0.1.2-automake-fixes.diff36
-rw-r--r--mail-filter/couriersrs/metadata.xml9
-rw-r--r--mail-filter/dcc/Manifest15
-rw-r--r--mail-filter/dcc/dcc-1.3.140-r1.ebuild146
-rw-r--r--mail-filter/dcc/dcc-1.3.154.ebuild132
-rw-r--r--mail-filter/dcc/dcc-1.3.158.ebuild132
-rw-r--r--mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch17
-rw-r--r--mail-filter/dcc/files/dcc-1.3.140-freebsd.patch13
-rw-r--r--mail-filter/dcc/files/dcc.confd14
-rw-r--r--mail-filter/dcc/files/dcc.initd135
-rw-r--r--mail-filter/dcc/files/dcc.initd-1.3.140100
-rw-r--r--mail-filter/dcc/files/dcc.initd-1.3.154102
-rw-r--r--mail-filter/dcc/metadata.xml15
-rw-r--r--mail-filter/disspam/Manifest5
-rw-r--r--mail-filter/disspam/disspam-0.14.ebuild32
-rw-r--r--mail-filter/disspam/metadata.xml8
-rw-r--r--mail-filter/dkimproxy/Manifest7
-rw-r--r--mail-filter/dkimproxy/dkimproxy-1.4.1.ebuild27
-rw-r--r--mail-filter/dkimproxy/files/dkimproxy.in.initd19
-rw-r--r--mail-filter/dkimproxy/files/dkimproxy.out.initd19
-rw-r--r--mail-filter/dkimproxy/metadata.xml11
-rw-r--r--mail-filter/dovecot-antispam/Manifest5
-rw-r--r--mail-filter/dovecot-antispam/dovecot-antispam-2.0_pre20130429.ebuild37
-rw-r--r--mail-filter/dovecot-antispam/metadata.xml8
-rw-r--r--mail-filter/dovecot_deleted_to_trash/Manifest6
-rw-r--r--mail-filter/dovecot_deleted_to_trash/dovecot_deleted_to_trash-0.6.ebuild35
-rw-r--r--mail-filter/dovecot_deleted_to_trash/files/29-delete-to-trash.conf13
-rw-r--r--mail-filter/dovecot_deleted_to_trash/metadata.xml11
-rw-r--r--mail-filter/dspam/Manifest9
-rw-r--r--mail-filter/dspam/dspam-3.10.2-r1.ebuild221
-rw-r--r--mail-filter/dspam/files/dspam.confd7
-rw-r--r--mail-filter/dspam/files/dspam.cron-r45
-rw-r--r--mail-filter/dspam/files/dspam.initd44
-rw-r--r--mail-filter/dspam/files/dspam.logrotate10
-rw-r--r--mail-filter/dspam/metadata.xml38
-rw-r--r--mail-filter/exim-geoip/Manifest5
-rw-r--r--mail-filter/exim-geoip/exim-geoip-0.1.ebuild29
-rw-r--r--mail-filter/exim-geoip/metadata.xml17
-rw-r--r--mail-filter/exim-p0f/Manifest5
-rw-r--r--mail-filter/exim-p0f/exim-p0f-0.1.ebuild29
-rw-r--r--mail-filter/exim-p0f/metadata.xml17
-rw-r--r--mail-filter/gld/Manifest8
-rw-r--r--mail-filter/gld/files/gld.rc22
-rw-r--r--mail-filter/gld/files/tables.sql15
-rw-r--r--mail-filter/gld/gld-1.7-r2.ebuild76
-rw-r--r--mail-filter/gld/gld-1.7-r3.ebuild77
-rw-r--r--mail-filter/gld/metadata.xml8
-rw-r--r--mail-filter/imapfilter/Manifest10
-rw-r--r--mail-filter/imapfilter/imapfilter-2.5.4.ebuild38
-rw-r--r--mail-filter/imapfilter/imapfilter-2.5.6.ebuild38
-rw-r--r--mail-filter/imapfilter/imapfilter-2.5.7-r1.ebuild42
-rw-r--r--mail-filter/imapfilter/imapfilter-2.5.7.ebuild38
-rw-r--r--mail-filter/imapfilter/metadata.xml11
-rw-r--r--mail-filter/libdkim/Manifest15
-rw-r--r--mail-filter/libdkim/files/debianize/Makefile.in93
-rw-r--r--mail-filter/libdkim/files/debianize/aclocal.m4171
-rw-r--r--mail-filter/libdkim/files/debianize/configure.ac39
-rw-r--r--mail-filter/libdkim/files/debianize/libdkim.pc.in12
-rw-r--r--mail-filter/libdkim/files/debianize/libdkim.ver4
-rw-r--r--mail-filter/libdkim/files/libdkim-1.0.21-gcc6.patch25
-rw-r--r--mail-filter/libdkim/files/libdkim-extra-options.patch87
-rw-r--r--mail-filter/libdkim/files/patches/fix_warnings.patch293
-rw-r--r--mail-filter/libdkim/files/patches/series2
-rw-r--r--mail-filter/libdkim/files/patches/strtok_r.patch119
-rw-r--r--mail-filter/libdkim/libdkim-1.0.21-r3.ebuild54
-rw-r--r--mail-filter/libdkim/metadata.xml8
-rw-r--r--mail-filter/libmilter/Manifest8
-rw-r--r--mail-filter/libmilter/files/gentoo.config.m45
-rw-r--r--mail-filter/libmilter/files/libmilter-build-system.patch89
-rw-r--r--mail-filter/libmilter/files/libmilter-sharedlib.patch55
-rw-r--r--mail-filter/libmilter/libmilter-1.0.2.ebuild66
-rw-r--r--mail-filter/libmilter/metadata.xml12
-rw-r--r--mail-filter/libsieve/Manifest5
-rw-r--r--mail-filter/libsieve/libsieve-2.2.7.ebuild25
-rw-r--r--mail-filter/libsieve/metadata.xml14
-rw-r--r--mail-filter/libspf2/Manifest9
-rw-r--r--mail-filter/libspf2/files/libspf2-1.2.10-gcc5.patch22
-rw-r--r--mail-filter/libspf2/files/libspf2-1.2.9-ipv6.patch61
-rw-r--r--mail-filter/libspf2/libspf2-1.2.10.ebuild45
-rw-r--r--mail-filter/libspf2/libspf2-1.2.9-r3.ebuild42
-rw-r--r--mail-filter/libspf2/metadata.xml9
-rw-r--r--mail-filter/libsrs2/Manifest6
-rw-r--r--mail-filter/libsrs2/files/libsrs2-1.0.18-parallel-make.diff13
-rw-r--r--mail-filter/libsrs2/libsrs2-1.0.18.ebuild33
-rw-r--r--mail-filter/libsrs2/metadata.xml17
-rw-r--r--mail-filter/libsrs_alt/Manifest6
-rw-r--r--mail-filter/libsrs_alt/files/libsrs_alt-1.0-ftime.patch12
-rw-r--r--mail-filter/libsrs_alt/libsrs_alt-1.0.ebuild43
-rw-r--r--mail-filter/libsrs_alt/metadata.xml14
-rw-r--r--mail-filter/maildrop/Manifest12
-rw-r--r--mail-filter/maildrop/files/maildrop-disable-fam.patch54
-rw-r--r--mail-filter/maildrop/files/maildrop-testsuite-r3.patch65
-rw-r--r--mail-filter/maildrop/files/maildroprc3
-rw-r--r--mail-filter/maildrop/maildrop-2.8.3.ebuild143
-rw-r--r--mail-filter/maildrop/maildrop-2.8.5.ebuild142
-rw-r--r--mail-filter/maildrop/maildrop-2.9.0.ebuild138
-rw-r--r--mail-filter/maildrop/metadata.xml17
-rw-r--r--mail-filter/mailfilter/Manifest12
-rw-r--r--mail-filter/mailfilter/files/0.8.2-gcc44.patch26
-rw-r--r--mail-filter/mailfilter/files/0.8.2-gcc46.patch20
-rw-r--r--mail-filter/mailfilter/files/0.8.2-openssl-1.patch16
-rw-r--r--mail-filter/mailfilter/files/rcfile.example1127
-rw-r--r--mail-filter/mailfilter/files/rcfile.example2133
-rw-r--r--mail-filter/mailfilter/mailfilter-0.8.2.ebuild33
-rw-r--r--mail-filter/mailfilter/mailfilter-0.8.4.ebuild26
-rw-r--r--mail-filter/mailfilter/metadata.xml11
-rw-r--r--mail-filter/mapson/Manifest6
-rw-r--r--mail-filter/mapson/files/mapson-3.3-gcc6.patch287
-rw-r--r--mail-filter/mapson/mapson-3.3.ebuild41
-rw-r--r--mail-filter/mapson/metadata.xml11
-rw-r--r--mail-filter/metadata.xml40
-rw-r--r--mail-filter/milter-regex/Manifest8
-rw-r--r--mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch38
-rw-r--r--mail-filter/milter-regex/files/milter-regex-conf8
-rw-r--r--mail-filter/milter-regex/files/milter-regex-init41
-rw-r--r--mail-filter/milter-regex/metadata.xml10
-rw-r--r--mail-filter/milter-regex/milter-regex-1.9.ebuild60
-rw-r--r--mail-filter/mimedefang/Manifest12
-rw-r--r--mail-filter/mimedefang/files/mimedefang-2.72-ldflags.patch38
-rw-r--r--mail-filter/mimedefang/files/mimedefang.conf131
-rw-r--r--mail-filter/mimedefang/files/mimedefang.init102
-rw-r--r--mail-filter/mimedefang/metadata.xml12
-rw-r--r--mail-filter/mimedefang/mimedefang-2.73.ebuild64
-rw-r--r--mail-filter/mimedefang/mimedefang-2.74.ebuild62
-rw-r--r--mail-filter/mimedefang/mimedefang-2.75.ebuild62
-rw-r--r--mail-filter/normalizemime/Manifest5
-rw-r--r--mail-filter/normalizemime/metadata.xml8
-rw-r--r--mail-filter/normalizemime/normalizemime-1.19.ebuild22
-rw-r--r--mail-filter/opendkim/Manifest11
-rw-r--r--mail-filter/opendkim/files/opendkim-2.10.3-gnutls-3.4.patch52
-rw-r--r--mail-filter/opendkim/files/opendkim-r1.service15
-rw-r--r--mail-filter/opendkim/files/opendkim.init.r355
-rw-r--r--mail-filter/opendkim/files/opendkim.service11
-rw-r--r--mail-filter/opendkim/metadata.xml34
-rw-r--r--mail-filter/opendkim/opendkim-2.10.3-r2.ebuild198
-rw-r--r--mail-filter/opendkim/opendkim-2.10.3-r3.ebuild204
-rw-r--r--mail-filter/opendkim/opendkim-2.10.3.ebuild195
-rw-r--r--mail-filter/opendmarc/Manifest13
-rw-r--r--mail-filter/opendmarc/files/opendmarc.confd3
-rw-r--r--mail-filter/opendmarc/files/opendmarc.initd53
-rw-r--r--mail-filter/opendmarc/metadata.xml20
-rw-r--r--mail-filter/opendmarc/opendmarc-1.1.3.ebuild24
-rw-r--r--mail-filter/opendmarc/opendmarc-1.3.0.ebuild51
-rw-r--r--mail-filter/opendmarc/opendmarc-1.3.1.ebuild51
-rw-r--r--mail-filter/opendmarc/opendmarc-1.3.2-r1.ebuild64
-rw-r--r--mail-filter/opensmtpd-extras/Manifest7
-rw-r--r--mail-filter/opensmtpd-extras/metadata.xml43
-rw-r--r--mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201606062304.ebuild92
-rw-r--r--mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201609141255.ebuild82
-rw-r--r--mail-filter/p3scan/Manifest11
-rw-r--r--mail-filter/p3scan/files/p3scan-ocreat.patch11
-rw-r--r--mail-filter/p3scan/files/p3scan.init27
-rw-r--r--mail-filter/p3scan/files/p3scan.init-r134
-rw-r--r--mail-filter/p3scan/metadata.xml12
-rw-r--r--mail-filter/p3scan/p3scan-2.3.1.ebuild77
-rw-r--r--mail-filter/p3scan/p3scan-2.3.2-r1.ebuild100
-rw-r--r--mail-filter/p3scan/p3scan-2.3.2-r2.ebuild93
-rw-r--r--mail-filter/policyd-weight/Manifest6
-rw-r--r--mail-filter/policyd-weight/files/policyd-weight.init.d-r129
-rw-r--r--mail-filter/policyd-weight/metadata.xml18
-rw-r--r--mail-filter/policyd-weight/policyd-weight-0.1.15.2-r1.ebuild42
-rw-r--r--mail-filter/policyd/Manifest11
-rw-r--r--mail-filter/policyd/files/policyd-cleanup.cron2
-rw-r--r--mail-filter/policyd/files/policyd-makefile.patch39
-rw-r--r--mail-filter/policyd/files/policyd-post182.patch52
-rw-r--r--mail-filter/policyd/files/policyd.confd2
-rw-r--r--mail-filter/policyd/files/policyd.rc21
-rw-r--r--mail-filter/policyd/metadata.xml11
-rw-r--r--mail-filter/policyd/policyd-1.82-r1.ebuild74
-rw-r--r--mail-filter/policyd/policyd-1.82-r2.ebuild75
-rw-r--r--mail-filter/popfile/Manifest7
-rw-r--r--mail-filter/popfile/files/popfile33
-rw-r--r--mail-filter/popfile/metadata.xml5
-rw-r--r--mail-filter/popfile/popfile-1.1.3-r1.ebuild55
-rw-r--r--mail-filter/popfile/popfile-1.1.3.ebuild54
-rw-r--r--mail-filter/postfwd/Manifest8
-rw-r--r--mail-filter/postfwd/files/postfwd.conf18
-rw-r--r--mail-filter/postfwd/files/postfwd.init27
-rw-r--r--mail-filter/postfwd/files/postfwd.service11
-rw-r--r--mail-filter/postfwd/metadata.xml34
-rw-r--r--mail-filter/postfwd/postfwd-1.35-r3.ebuild87
-rw-r--r--mail-filter/postgrey/Manifest16
-rw-r--r--mail-filter/postgrey/files/postgrey-1.34-perl-5.18.patch33
-rw-r--r--mail-filter/postgrey/files/postgrey-1.34-r3.rc.new100
-rw-r--r--mail-filter/postgrey/files/postgrey.conf.new55
-rw-r--r--mail-filter/postgrey/files/postgrey.service17
-rw-r--r--mail-filter/postgrey/files/targrey-0.31-postgrey-1.34.patch202
-rw-r--r--mail-filter/postgrey/metadata.xml20
-rw-r--r--mail-filter/postgrey/postgrey-1.34-r3.ebuild70
-rw-r--r--mail-filter/postgrey/postgrey-1.35-r2.ebuild71
-rw-r--r--mail-filter/postgrey/postgrey-1.36-r1.ebuild72
-rw-r--r--mail-filter/postgrey/postgrey-1.37.ebuild69
-rw-r--r--mail-filter/postsrsd/Manifest7
-rw-r--r--mail-filter/postsrsd/files/postsrsd.init30
-rw-r--r--mail-filter/postsrsd/files/postsrsd.init-r130
-rw-r--r--mail-filter/postsrsd/metadata.xml11
-rw-r--r--mail-filter/postsrsd/postsrsd-1.4-r1.ebuild24
-rw-r--r--mail-filter/postsrsd/postsrsd-1.4.ebuild24
-rw-r--r--mail-filter/procmail-lib/Manifest7
-rw-r--r--mail-filter/procmail-lib/metadata.xml11
-rw-r--r--mail-filter/procmail-lib/procmail-lib-20081108.ebuild23
-rw-r--r--mail-filter/procmail-lib/procmail-lib-20091202.ebuild23
-rw-r--r--mail-filter/procmail/Manifest13
-rw-r--r--mail-filter/procmail/files/gentoo-maildir3.diff12
-rw-r--r--mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch70
-rw-r--r--mail-filter/procmail/files/procmail-comsat-segfault.diff20
-rw-r--r--mail-filter/procmail/files/procmail-lazy-bindings.diff16
-rw-r--r--mail-filter/procmail/files/procmail-maxprocs-fix.diff11
-rw-r--r--mail-filter/procmail/files/procmail-pipealloc.diff21
-rw-r--r--mail-filter/procmail/files/procmail-prefix.patch155
-rw-r--r--mail-filter/procmail/metadata.xml8
-rw-r--r--mail-filter/procmail/procmail-3.22-r10.ebuild107
-rw-r--r--mail-filter/procmail/procmail-3.22-r11.ebuild120
-rw-r--r--mail-filter/pypolicyd-spf/Manifest5
-rw-r--r--mail-filter/pypolicyd-spf/metadata.xml11
-rw-r--r--mail-filter/pypolicyd-spf/pypolicyd-spf-2.0.1.ebuild42
-rw-r--r--mail-filter/qmail-scanner/Manifest21
-rw-r--r--mail-filter/qmail-scanner/files/qmail-scanner-2.05.logrotate4
-rw-r--r--mail-filter/qmail-scanner/files/qmail-scanner-2.06.logrotate4
-rw-r--r--mail-filter/qmail-scanner/files/qmail-scanner-2.08-disable-suid-check.patch17
-rw-r--r--mail-filter/qmail-scanner/files/qmail-scanner-2.08.logrotate4
-rw-r--r--mail-filter/qmail-scanner/files/qmailscanner.cronjob2
-rw-r--r--mail-filter/qmail-scanner/files/qmailscanner.logrotate4
-rw-r--r--mail-filter/qmail-scanner/metadata.xml15
-rw-r--r--mail-filter/qmail-scanner/qmail-scanner-1.25-r1.ebuild163
-rw-r--r--mail-filter/qmail-scanner/qmail-scanner-2.05.ebuild190
-rw-r--r--mail-filter/qmail-scanner/qmail-scanner-2.06.ebuild192
-rw-r--r--mail-filter/qmail-scanner/qmail-scanner-2.08.ebuild193
-rw-r--r--mail-filter/razor/Manifest7
-rw-r--r--mail-filter/razor/files/razor-2.85-cosmetic-pv-fix.patch22
-rw-r--r--mail-filter/razor/files/razor-2.85-use-sha-not-sha1.patch119
-rw-r--r--mail-filter/razor/metadata.xml23
-rw-r--r--mail-filter/razor/razor-2.85-r2.ebuild81
-rw-r--r--mail-filter/rblcheck/Manifest7
-rw-r--r--mail-filter/rblcheck/files/rblcheck-1.5-configure.patch20
-rw-r--r--mail-filter/rblcheck/metadata.xml11
-rw-r--r--mail-filter/rblcheck/rblcheck-1.5-r1.ebuild29
-rw-r--r--mail-filter/rblcheck/rblcheck-1.5-r2.ebuild29
-rw-r--r--mail-filter/rmilter/Manifest12
-rw-r--r--mail-filter/rmilter/files/rmilter.initd27
-rw-r--r--mail-filter/rmilter/files/rmilter.initd-r125
-rw-r--r--mail-filter/rmilter/files/rmilter.initd-r226
-rw-r--r--mail-filter/rmilter/metadata.xml15
-rw-r--r--mail-filter/rmilter/rmilter-1.10.0-r1.ebuild45
-rw-r--r--mail-filter/rmilter/rmilter-1.10.0-r2.ebuild45
-rw-r--r--mail-filter/rmilter/rmilter-1.10.0.ebuild45
-rw-r--r--mail-filter/rmilter/rmilter-1.9.2.ebuild45
-rw-r--r--mail-filter/rmilter/rmilter-9999.ebuild45
-rw-r--r--mail-filter/rspamd/Manifest9
-rw-r--r--mail-filter/rspamd/files/rspamd-1.5.7-map.patch11
-rw-r--r--mail-filter/rspamd/files/rspamd.init-r250
-rw-r--r--mail-filter/rspamd/files/rspamd.init-r548
-rw-r--r--mail-filter/rspamd/files/rspamd.logrotate12
-rw-r--r--mail-filter/rspamd/metadata.xml24
-rw-r--r--mail-filter/rspamd/rspamd-1.6.3.ebuild75
-rw-r--r--mail-filter/rspamd/rspamd-9999.ebuild74
-rw-r--r--mail-filter/scmail/Manifest7
-rw-r--r--mail-filter/scmail/files/scmail-doc-encoding.diff28
-rw-r--r--mail-filter/scmail/files/scmail-gauche-0.9.diff35
-rw-r--r--mail-filter/scmail/metadata.xml7
-rw-r--r--mail-filter/scmail/scmail-1.3.ebuild34
-rw-r--r--mail-filter/sid-milter/Manifest11
-rw-r--r--mail-filter/sid-milter/files/gentoo-config.m46
-rw-r--r--mail-filter/sid-milter/files/sid-filter.conf5
-rw-r--r--mail-filter/sid-milter/files/sid-filter.init-r188
-rw-r--r--mail-filter/sid-milter/files/sid-milter-1.0.0-as-needed.patch21
-rw-r--r--mail-filter/sid-milter/files/sid-milter-1.0.0-nopra_on_spf1.patch57
-rw-r--r--mail-filter/sid-milter/metadata.xml14
-rw-r--r--mail-filter/sid-milter/sid-milter-1.0.0-r6.ebuild64
-rw-r--r--mail-filter/sid-milter/sid-milter-1.0.0-r7.ebuild66
-rw-r--r--mail-filter/sieve-connect/Manifest5
-rw-r--r--mail-filter/sieve-connect/metadata.xml42
-rw-r--r--mail-filter/sieve-connect/sieve-connect-0.87.ebuild33
-rw-r--r--mail-filter/sigh/Manifest5
-rwxr-xr-xmail-filter/sigh/files/sigh.initd22
-rw-r--r--mail-filter/sigh/metadata.xml21
-rw-r--r--mail-filter/sigh/sigh-1607.1.2.ebuild47
-rw-r--r--mail-filter/spamass-milter/Manifest9
-rw-r--r--mail-filter/spamass-milter/files/README.gentoo52
-rw-r--r--mail-filter/spamass-milter/files/spamass-milter-auth_users.patch92
-rw-r--r--mail-filter/spamass-milter/files/spamass-milter.conf329
-rw-r--r--mail-filter/spamass-milter/files/spamass-milter.rc454
-rw-r--r--mail-filter/spamass-milter/metadata.xml8
-rw-r--r--mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild41
-rw-r--r--mail-filter/spamassassin-botnet/Manifest5
-rw-r--r--mail-filter/spamassassin-botnet/metadata.xml19
-rw-r--r--mail-filter/spamassassin-botnet/spamassassin-botnet-0.8-r1.ebuild49
-rw-r--r--mail-filter/spamassassin/Manifest23
-rw-r--r--mail-filter/spamassassin/files/3.4.1-spamd.conf25
-rw-r--r--mail-filter/spamassassin/files/3.4.1-spamd.init55
-rwxr-xr-xmail-filter/spamassassin/files/3.4.1-spamd.init-r134
-rw-r--r--mail-filter/spamassassin/files/secrets.cf14
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7199.patch280
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7223.patch14
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231-extra.patch140
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231.patch29
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7265.patch88
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7404.patch23
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7462.patch198
-rw-r--r--mail-filter/spamassassin/files/spamassassin-3.4.1-perl526.patch14
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service-r115
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service-r310
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service.conf10
-rw-r--r--mail-filter/spamassassin/files/spamassassin.service.conf-r12
-rw-r--r--mail-filter/spamassassin/files/update-spamassassin-rules.cron38
-rw-r--r--mail-filter/spamassassin/metadata.xml36
-rw-r--r--mail-filter/spamassassin/spamassassin-3.4.1-r16.ebuild243
-rw-r--r--mail-filter/spamassassin/spamassassin-3.4.1-r8.ebuild240
-rw-r--r--mail-filter/spambayes/Manifest11
-rw-r--r--mail-filter/spambayes/files/bayescustomize.ini171
-rw-r--r--mail-filter/spambayes/files/spambayespop3proxy.rc22
-rw-r--r--mail-filter/spambayes/metadata.xml9
-rw-r--r--mail-filter/spambayes/spambayes-1.1_alpha6-r2.ebuild40
-rw-r--r--mail-filter/spambayes/spambayes-1.1_beta1.ebuild40
-rw-r--r--mail-filter/spambayes/spambayes-1.1_beta2.ebuild42
-rw-r--r--mail-filter/spamdyke/Manifest9
-rw-r--r--mail-filter/spamdyke/files/spamdyke-4.3.0-gcc46.patch10
-rw-r--r--mail-filter/spamdyke/metadata.xml21
-rw-r--r--mail-filter/spamdyke/spamdyke-4.3.0-r1.ebuild81
-rw-r--r--mail-filter/spamdyke/spamdyke-4.3.0.ebuild77
-rw-r--r--mail-filter/spamdyke/spamdyke-5.0.1.ebuild85
-rw-r--r--mail-filter/spampd/Manifest10
-rw-r--r--mail-filter/spampd/files/conf15
-rw-r--r--mail-filter/spampd/files/init23
-rw-r--r--mail-filter/spampd/files/init-r123
-rw-r--r--mail-filter/spampd/metadata.xml11
-rw-r--r--mail-filter/spampd/spampd-2.30.ebuild23
-rw-r--r--mail-filter/spampd/spampd-2.42.ebuild25
-rw-r--r--mail-filter/spamprobe/Manifest10
-rw-r--r--mail-filter/spamprobe/files/spamprobe-1.4b-gcc43.patch150
-rw-r--r--mail-filter/spamprobe/files/spamprobe-1.4d+db-5.0.patch13
-rw-r--r--mail-filter/spamprobe/files/spamprobe-1.4d-gcc47.patch28
-rw-r--r--mail-filter/spamprobe/files/spamprobe-1.4d-giflib5.patch27
-rw-r--r--mail-filter/spamprobe/files/spamprobe-1.4d-libpng14.patch23
-rw-r--r--mail-filter/spamprobe/metadata.xml11
-rw-r--r--mail-filter/spamprobe/spamprobe-1.4d-r1.ebuild42
-rw-r--r--mail-filter/sqlgrey/Manifest7
-rw-r--r--mail-filter/sqlgrey/files/sqlgrey-1.7.6-init.patch18
-rw-r--r--mail-filter/sqlgrey/files/sqlgrey.service22
-rw-r--r--mail-filter/sqlgrey/metadata.xml13
-rw-r--r--mail-filter/sqlgrey/sqlgrey-1.7.6-r2.ebuild254
-rw-r--r--mail-filter/tmda/Manifest6
-rw-r--r--mail-filter/tmda/files/tmda-1.0-non-interactive-tty.patch31
-rw-r--r--mail-filter/tmda/metadata.xml11
-rw-r--r--mail-filter/tmda/tmda-1.1.12-r2.ebuild57
-rw-r--r--mail-filter/zdkimfilter/Manifest5
-rw-r--r--mail-filter/zdkimfilter/metadata.xml21
-rw-r--r--mail-filter/zdkimfilter/zdkimfilter-1.1.ebuild47
425 files changed, 19731 insertions, 0 deletions
diff --git a/mail-filter/MailScanner/MailScanner-4.84.5.2.ebuild b/mail-filter/MailScanner/MailScanner-4.84.5.2.ebuild
new file mode 100644
index 000000000000..2cac1b8f9525
--- /dev/null
+++ b/mail-filter/MailScanner/MailScanner-4.84.5.2.ebuild
@@ -0,0 +1,320 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator multilib
+
+MY_PV=$(get_version_component_range 1-3 )
+MY_PVR=$(replace_version_separator 3 '-' )
+
+DESCRIPTION="Free Anti-Virus and Anti-Spam Filter"
+HOMEPAGE="http://www.mailscanner.info/"
+SRC_URI="http://www.mailscanner.info/files/4/tar/${PN}-install-${MY_PVR}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="clamav doc exim postfix spamassassin"
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}
+ dev-perl/Archive-Zip
+ virtual/perl-IO-Compress
+ dev-perl/Convert-BinHex
+ dev-perl/Convert-TNEF
+ dev-perl/DBD-SQLite
+ dev-perl/DBI
+ dev-perl/Filesys-Df
+ dev-perl/HTML-Parser
+ dev-perl/HTML-Tagset
+ dev-perl/IO-stringy
+ dev-perl/MIME-tools
+ dev-perl/MailTools
+ dev-perl/Net-CIDR
+ dev-perl/Net-DNS
+ dev-perl/OLE-StorageLite
+ dev-perl/Sys-Hostname-Long
+ dev-perl/TimeDate
+ net-mail/tnef
+ dev-perl/Sys-SigAction
+ virtual/perl-File-Spec
+ virtual/perl-File-Temp
+ virtual/perl-Getopt-Long
+ virtual/perl-Sys-Syslog
+ virtual/perl-MIME-Base64
+ postfix? ( mail-mta/postfix )
+ exim? ( !postfix? ( mail-mta/exim ) )
+ !postfix? ( !exim? ( mail-mta/sendmail ) )
+ clamav? ( app-antivirus/clamav )
+ spamassassin? ( mail-filter/spamassassin )"
+
+S="${WORKDIR}/${PN}-${MY_PVR}"
+BASE="/usr"
+
+src_unpack() {
+ unpack ${A}
+ unpack ./${PN}-install-${MY_PV}/perl-tar/${PN}-${MY_PVR}.tar.gz
+
+ # setup MTA
+ if use postfix ; then
+ RUNASUSER='postfix'
+ RUNASGROUP='postfix'
+ INQUEUE='/var/spool/postfix.in/deferred'
+ OUTQUEUE='/var/spool/postfix/incoming'
+ MTA='postfix'
+ SENDMAIL='/usr/lib/sendmail'
+ SENDMAIL2='/usr/lib/sendmail'
+ elif use exim ; then
+ RUNASUSER='mail'
+ RUNASGROUP='mail'
+ INQUEUE='/var/spool/exim.in/input'
+ OUTQUEUE='/var/spool/exim/input'
+ MTA='exim'
+ SENDMAIL='/usr/sbin/exim -oMr MailScanner'
+ SENDMAIL2='/usr/sbin/exim -C /etc/exim/exim_out.conf -oMr MailScanner'
+ else
+ # use sendmail as default, but we should add more as needed
+ # RUNASUSER='mail'
+ # RUNASGROUP='mail'
+ INQUEUE='/var/spool/mqueue.in'
+ OUTQUEUE='/var/spool/mqueue'
+ MTA='sendmail'
+ SENDMAIL='/usr/lib/sendmail'
+ SENDMAIL2='/usr/lib/sendmail'
+ fi
+
+ # setup virus scanner(s)
+ VIRUS_SCANNERS=""
+ use clamav && VIRUS_SCANNERS="clamav ${VIRUS_SCANNERS}"
+
+ if [ "$VIRUS_SCANNERS" == "" ]; then
+ VIRUS_SCANNERS="none"
+ VIRUS_SCANNING="no"
+ else
+ VIRUS_SCANNING="yes"
+ fi
+
+ sed -i \
+ -e "s/^\(Virus Scanning[ \t]*=\).*/\1 ${VIRUS_SCANNING}/" \
+ -e "s/^\(Virus Scanners[ \t]*=\).*/\1 ${VIRUS_SCANNERS}/" \
+ "${S}/etc/MailScanner.conf"
+
+ # setup spamassassin
+ if use spamassassin ; then
+ sed -i \
+ -e "s/^\(Use SpamAssassin[ \t]*=\).*$/\1 yes/" \
+ "${S}/etc/MailScanner.conf"
+ else
+ sed -i \
+ -e "s/^\(Use SpamAssassin[ \t]*=\).*$/\1 no/" \
+ "${S}/etc/MailScanner.conf"
+ fi
+
+ # update bin files
+ sed -i \
+ -e "s#msbindir=/opt/MailScanner/bin#msbindir=/usr/sbin#g" \
+ -e "s#config=/opt/MailScanner/etc/MailScanner.conf#config=/etc/MailScanner/MailScanner.conf#g" \
+ "${S}/bin/check_mailscanner"
+ for each in update_virus_scanners update_phishing_sites update_bad_phishing_sites ; do
+ sed -i \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ "${S}"/bin/${each}
+ done
+ sed -i \
+ -e "s#/etc/sysconfig/MailScanner#/etc/conf.d/MailScanner#g" \
+ "${S}"/bin/update_spamassassin
+ sed -i \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#g" \
+ "${S}"/bin/MailScanner
+
+ # update cron files
+ sed -i \
+ -e "s#/opt/MailScanner/bin/check_mailscanner#/usr/sbin/check_MailScanner#g" \
+ "${S}"/bin/cron/check_MailScanner.cron
+ for cronfile in update_virus_scanners.cron update_{,bad_}phishing_sites.cron; do
+ sed -i \
+ -e "s#/etc/sysconfig/MailScanner#/etc/conf.d/mailscanner#g" \
+ -e "s#/opt/MailScanner/bin#/usr/sbin#g" \
+ "${S}"/bin/cron/${cronfile}
+ done
+
+ # Determine some things that may need to be changed in conf file
+ # (need to arrive at sensible replacement for yoursite)
+ YOURSITE=`dnsdomainname | sed -e "s/\./-/g"`
+ BASEBIN="${BASE}/sbin"
+
+ # ClamAV requires some specific changes to MailScanner.conf
+ # when mailscanner is running as root (i.e. sendmail)
+ if use clamav ; then
+ if [ "$MTA" == "sendmail" ] ; then
+ WORKGRP="clamav"
+ WORKPERM="0640"
+ else
+ WORKGRP=""
+ WORKPERM="0600"
+ fi
+ else
+ WORKGRP=""
+ WORKPERM="0600"
+ fi
+
+ # update conf files
+ sed -i \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ -e "s#/opt/MailScanner/bin#$BASEBIN#g" \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#g" \
+ -e "s#^\(Run As User[ \t]*=\).*#\1 $RUNASUSER#" \
+ -e "s#^\(Run As Group[ \t]*=\).*#\1 $RUNASGROUP#" \
+ -e "s#^\(Incoming Queue Dir[ \t]*=\).*#\1 $INQUEUE#" \
+ -e "s#^\(Outgoing Queue Dir[ \t]*=\).*#\1 $OUTQUEUE#" \
+ -e "s#^\(MTA[ \t]*=\).*#\1 $MTA#" \
+ -e "s/^#\(TNEF.*internal\)$/\1/" \
+ -e "s/^\(TNEF.*0000\)$/#\1/" \
+ -e "s#^\(PID file[ \t]=\).*#\1 /var/run/mailscanner.pid#" \
+ -e "s#^\(%org-name%\)[ \t]*=.*#\1 = ${YOURSITE}#" \
+ -e "s#^\(Sendmail[ \t]*=\).*#\1 ${SENDMAIL}#" \
+ -e "s#^\(Sendmail2[ \t]*=\).*#\1 ${SENDMAIL2}#" \
+ -e "s#^\(Incoming Work Group[ \t]*=\).*#\1 ${WORKGRP}#" \
+ -e "s#^\(Incoming Work Permissions[ \t]*=\).*#\1 ${WORKPERM}#" \
+ "${S}/etc/MailScanner.conf"
+
+ # update spam.assassin.prefs.conf
+ sed -i -e "s#YOURDOMAIN-COM#${YOURSITE}#" "${S}/etc/spam.assassin.prefs.conf"
+
+ # net-mail/clamav net-mail/f-prot package compatibility
+ sed -i \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#" \
+ -e 's#^\(clamav\t.*/usr\)/local$#\1#' \
+ -e 's#^\(f-prot.*\)/usr/local/f-prot$#\1/opt/f-prot#' \
+ "${S}/etc/virus.scanners.conf"
+
+ # update lib files
+ sed -i \
+ -e "s#/opt/MailScanner/bin#$BASEBIN#g" \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#g" \
+ "${S}/lib/MailScanner/ConfigDefs.pl"
+ sed -i \
+ -e "s#/opt/MailScanner/bin#$BASEBIN#g" \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#g" \
+ "${S}/bin/MailScanner"
+ sed -i \
+ -e "s#/opt/MailScanner/bin#$BASEBIN#g" \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#g" \
+ "${S}/bin/update_virus_scanners"
+ sed -i \
+ -e "s#/opt/MailScanner/bin#$BASEBIN#g" \
+ -e "s#/opt/MailScanner/etc#/etc/MailScanner#g" \
+ -e "s#/opt/MailScanner/lib#/usr/lib/MailScanner#g" \
+ "${S}/bin/mailscanner_create_locks"
+ sed -i \
+ -e "s#/etc/MailScanner#/etc/MailScanner#g" \
+ "${S}/lib/MailScanner/CustomConfig.pm"
+
+ # finally, change MailScanner.conf into MailScanner.conf.sample
+ cp "${S}/etc/MailScanner.conf" "${S}/etc/MailScanner.conf.${MY_PV}"
+ mv "${S}/etc/MailScanner.conf" "${S}/etc/MailScanner.conf.sample"
+
+}
+
+src_install() {
+ exeinto ${BASE}/sbin
+ doexe bin/MailScanner
+ newexe bin/check_mailscanner check_MailScanner
+ doexe bin/d2mbox bin/df2mbox
+ doexe bin/update_virus_scanners
+ doexe bin/upgrade_MailScanner_conf
+ doexe bin/mailscanner_create_locks
+ doexe bin/Quick.Peek
+ doexe bin/update_bad_phishing_sites bin/update_phishing_sites
+ newexe bin/Sophos.install.linux Sophos.install
+
+ insinto /etc/MailScanner/conf.d
+ doins etc/conf.d/*
+
+ insinto /etc/MailScanner
+ doins etc/*.conf
+ doins etc/mailscanner.conf.with.mcp
+ doins etc/MailScanner.conf.${MY_PV}
+ doins etc/MailScanner.conf.sample
+
+ insinto /etc/MailScanner/rules
+ doins etc/rules/*
+ insinto /etc/MailScanner/mcp
+ doins etc/mcp/*
+
+ insinto /etc/MailScanner
+ doins -r etc/reports
+
+ insinto ${BASE}/$(get_libdir)/MailScanner
+ doins lib/*.prf
+
+ exeinto ${BASE}/$(get_libdir)/MailScanner
+ doexe lib/*-wrapper
+ doexe lib/*-autoupdate
+ doexe lib/*-autoupdate.old
+ doexe lib/*.pm
+
+ exeinto ${BASE}/$(get_libdir)/MailScanner/MailScanner
+ doexe lib/MailScanner/*.pm
+ doexe lib/MailScanner/*.pl
+
+ exeinto ${BASE}/$(get_libdir)/MailScanner/MailScanner/CustomFunctions
+ doexe lib/MailScanner/CustomFunctions/MyExample.pm
+
+ newinitd "${FILESDIR}"/initd.mailscanner MailScanner
+ newconfd "${FILESDIR}"/confd.mailscanner MailScanner
+
+ #Set up cron jobs
+ exeinto /etc/cron.hourly
+ newexe "${S}/bin/cron/check_MailScanner.cron" check_MailScanner
+ for cronfile in update_{virus_scanners,{bad_,}phishing_sites}; do
+ newexe "${S}/bin/cron/${cronfile}.cron" ${cronfile}
+ done
+
+ exeinto /etc/cron.daily
+ newexe "${S}/bin/cron/clean.quarantine.cron" clean.quarantine
+
+ dodoc README
+ insinto /usr/share/doc/${PF}
+ doins MailScanner.conf.index.html
+
+ keepdir /var/spool/MailScanner/incoming
+ keepdir /var/spool/MailScanner/quarantine
+ keepdir /var/spool/MailScanner/spamassassin
+ keepdir /var/spool/MailScanner/archive
+ keepdir ${BASE}/var
+
+ if use postfix ; then
+ chown -R postfix:postfix "${D}/var/spool/MailScanner/"
+ elif use exim ; then
+ chown -R mail:mail "${D}/var/spool/MailScanner/"
+ else
+ keepdir /var/spool/mqueue.in
+ fi
+ use spamassassin && dosym /etc/MailScanner/spam.assassin.prefs.conf /etc/mail/spamassassin/mailscanner.cf
+
+}
+
+pkg_postinst() {
+ if use postfix; then
+ elog "Note that postfix 2.4 now supports HOLD of messages"
+ elog "and reinjection without second postfix instance"
+ elog "Inbound path is now ${ROOT}var/spool/postfix/hold"
+ elog
+ elog "See http://mailscanner.info/postfix.html for details"
+ fi
+
+ if [ -f "/etc/MailScanner/MailScanner.conf" ]; then
+ einfo "Upgrading the MailScanner.conf file"
+ cp /etc/MailScanner/MailScanner.conf /etc/MailScanner/MailScanner.conf.pre_upgrade.${MY_PV}
+ /usr/sbin/upgrade_MailScanner_conf \
+ /etc/MailScanner/MailScanner.conf.pre_upgrade.${MY_PV} \
+ /etc/MailScanner/MailScanner.conf.${MY_PV} \
+ > /etc/MailScanner/MailScanner.conf 2> /dev/null
+ else
+ cp /etc/MailScanner/MailScanner.conf.sample /etc/MailScanner/MailScanner.conf
+ fi
+}
diff --git a/mail-filter/MailScanner/Manifest b/mail-filter/MailScanner/Manifest
new file mode 100644
index 000000000000..18ceb1b184db
--- /dev/null
+++ b/mail-filter/MailScanner/Manifest
@@ -0,0 +1,7 @@
+AUX confd.mailscanner 147 SHA256 d0ef32a53c83a2c2938d970f30b3765676fe4669b2ec98407c39ca070cd24bbb SHA512 2fb6f96eef254fae597e23ddb80c649e5754999e542436b7172ab4fca0d3e281645a2fcf21a3bde4c6c9d7cd48de868e64e74c5caac7ff235dbbbcc6c2ebeda3 WHIRLPOOL 1402fbdef6cfbdd2937c6a172587444960fa76dcaccce643652eccd437ca8809a9019b91d1c411fa513329b1926d1a5728d43902f24f9afe9061ba2514e1cdda
+AUX initd.mailscanner 982 SHA256 1c461301518595f72b6f2c6bb2291a3b73c6887aa83f4f872548f78534be51ef SHA512 88a14b02ec004b487b6aa9a8732092a18b465f8aa81e2c958b96434064a15ad5a5ce43b473679bd8b18a661f972c8df756c54691d35c4261dff8a26cd8e291ec WHIRLPOOL e269062a6b5e2f15216c9292f654a0df0cb1bafb4f5d77522c018146cdb67fd2d40dd5bf3f050ebea3c9bda13cdfc3348aa02342b668b4be596c2347aa1f8010
+DIST MailScanner-install-4.84.5-2.tar.gz 9510489 SHA256 3467a53159cc95a8b4f93a326a59e2d3acc0ad6f90f048f048742fe13ac741f1 SHA512 d9d082e29ddb6eae4f30069298507805a7674c264bf8edad3db3322fa0f2c2ad4539c0c2213c6fcbee11b7c57a36218c1d24243077358bac98e7ae07f7ee506f WHIRLPOOL a253706f33dbc3925e49d7bb0740fab39f87c690240c043eb10cf8d57ea938fd1e002fcec9d8f1c026003e07df01b724d2b696a6224a6cf52e8afc0e1d175d59
+EBUILD MailScanner-4.84.5.2.ebuild 9633 SHA256 56702ee808101f5c21f80f3d44e6a3659246051dd2da240f799d71cec88dffdb SHA512 06bbd3ad2e4afab020552b14fc125e8eedba6bba785ba641842da7cbc941929cb2385d113e34bb9a14fef07a95d02e8ce81be1d19bc1a373c65067e28bb2934c WHIRLPOOL 73d9468ae623d2422fb3b8bc9bd16d4cfc6a0241c086323ee05eb1fec12e22b6b93787eab955718c94fae51e3df6ec1f4183ab2094c93f2aeac48b7ba3fe7a82
+MISC ChangeLog 3008 SHA256 d575909f358560c05d083e535a0a6520d25978b60bb389f9550047e0afd65a4f SHA512 ac9ba7fabe20307728a59485d5eb6f7448cfa9ac071acc14cfcfbd533e534dd4cb4f9b580d517e8a9015b91120a69d0318e8be5a5a79d27763992799ab602606 WHIRLPOOL d5792ffbc2efda47915be01745515622df2f2188973e18556d7ff47602afadbcf6b6b3b086de33c9591117784bca75bc6a49a65ee284f1cab1166a7335b6dd01
+MISC ChangeLog-2015 694 SHA256 0a8e7b6d6bd8ffb059a0fb9f51759b7430ad75104e08e951ff8bbfe916b00b21 SHA512 2b92b14d25780360263a9bf90564bba9a23daae97857a0baf0b1de1c9e1f95ceaf4d9a7ae426a4655228162daf6af37d2531e73b87519ab3f6c1c15643ae1a20 WHIRLPOOL dfb29911e1e7710eff2224d66874d0ce552903e7856380e253951056e9702ccb5c926a87875cbbc39026f4b2e481409da81555396ae3d3f5821694509addd06a
+MISC metadata.xml 506 SHA256 b48914db3d5fa048ccd76d8bc58202284b2a72b37c00e3957e848a25cf7a5907 SHA512 d1d9424078586446da2f03d097363e877e00b7a8129334d778f9fa302da74df338c22e106447496acbf7a81c290e63221b2c539a0cf94aced499ea883874ccba WHIRLPOOL 0ab3e68bedbdd0502de591bd86c1790c567d14a909080f0386be5357ff3ee4d037b7956433f20de52e6d106d457387116f57efa7587c36de109800ef2c430eed
diff --git a/mail-filter/MailScanner/files/confd.mailscanner b/mail-filter/MailScanner/files/confd.mailscanner
new file mode 100644
index 000000000000..144d0d478fc8
--- /dev/null
+++ b/mail-filter/MailScanner/files/confd.mailscanner
@@ -0,0 +1,4 @@
+#
+
+UPDATEMAXDELAY=600 # Maximum delay before running cron job to avoid server peaks
+RESTART_DELAY=10 # time to wait before restarting mailscanner
diff --git a/mail-filter/MailScanner/files/initd.mailscanner b/mail-filter/MailScanner/files/initd.mailscanner
new file mode 100644
index 000000000000..8d33c8ddc2d4
--- /dev/null
+++ b/mail-filter/MailScanner/files/initd.mailscanner
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+
+opts="${opts} reload"
+
+depend() {
+ need net mta
+ use logger dns
+}
+
+start() {
+ ebegin "Starting MailScanner"
+ #/usr/sbin/check_MailScanner >/dev/null
+ start-stop-daemon --start --pidfile /var/run/${SVCNAME}.pid \
+ --exec /usr/sbin/MailScanner -- /etc/MailScanner/MailScanner.conf ${OPT} > /var/run/${SVCNAME}.pid
+ eend $?
+
+ RETVAL=$?
+ [ ${RETVAL} -eq 0 ] && touch /var/lock/subsys/MailScanner
+ [ ${RETVAL} -eq 0 ] && rm -f /var/lock/subsys/MailScanner.off
+ eend ${RETVAL}
+}
+
+stop() {
+ ebegin "Stopping MailScanner"
+ start-stop-daemon --stop --quiet --pidfile /var/run/${SVCNAME}.pid
+ RETVAL=$?
+ [ ${RETVAL} -eq 0 ] && rm -f /var/lock/subsys/MailScanner
+ [ ${RETVAL} -eq 0 ] && touch /var/lock/subsys/MailScanner.off
+ eend ${RETVAL}
+}
+
+reload() {
+ ebegin "Reloading MailScanner workers:"
+ pid=`pidof -x MailScanner`
+ if [ -n "$pid" ] ;
+ then
+ /bin/kill -HUP $pid
+ eend $?
+ else
+ eend 1
+ fi
+}
+
+restart() {
+ svc_stop
+ sleep ${RESTART_DELAY}
+ svc_start
+}
diff --git a/mail-filter/MailScanner/metadata.xml b/mail-filter/MailScanner/metadata.xml
new file mode 100644
index 000000000000..385e86109fe5
--- /dev/null
+++ b/mail-filter/MailScanner/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+</maintainer>
+<use>
+ <flag name="exim">Set <pkg>mail-mta/exim</pkg> to used MTA</flag>
+ <flag name="postfix">Set <pkg>mail-mta/postfix</pkg> to used MTA</flag>
+ <flag name="spamassassin">Enable usage of
+ <pkg>mail-filter/spamassassin</pkg> for spam protection</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/afew/Manifest b/mail-filter/afew/Manifest
new file mode 100644
index 000000000000..8ede8a15351b
--- /dev/null
+++ b/mail-filter/afew/Manifest
@@ -0,0 +1,5 @@
+DIST afew-1.1.0.tar.gz 31119 SHA256 07bffe3263b97acc862bc75e43d0bbc80982de5f6139be91610f0ef2996977b8 SHA512 4f3c7234b15184b03264763cd271503cc8e49d9698169744718f17d6c4af9674bb50e592b23875991f9b1671b40dbea960a0e6153fa731aee92d4d1bd5c4548f WHIRLPOOL 6359122490c81607432a36a8475ce919f66c9201962e4706f592683f97d1562910092e55417c0cfdafb8ae2a9b61da32ba6d11a70cc931b052cae433c8ae4c4e
+DIST afew-1.2.0.tar.gz 31831 SHA256 b94cef31f2c740ffa3100dcbb7839d015973a49cdeadde295dd1f751da3a3c88 SHA512 98184808ae37e169bdbda9ac43db00e3e0712aaadc9b75e07c8d483c8024aa0cafb0a3424bda5703dfe77a09f5efd9812b80b3468009cfb4562eb5d0069558e4 WHIRLPOOL 97c52189fb01d5ff070f4a5c19fad9858a9ba9a325c83f781b9ffc6a7a2c8fdd00668471933086e406b667098df80d09ea0228fec4cf11d19febe0700712a66e
+EBUILD afew-1.1.0.ebuild 832 SHA256 f86268d6af833ab54171a3ac3785b6919eb7d776fbed75ea49bd23b43c07774a SHA512 dbf7954a989a1d3f11043bc781b69ead2b4a94e20d8d8e662cd130973dc247b0cb943f595ddca1e25272e35f4668bda1a37621b2a5df6c903aeae1958e7d2159 WHIRLPOOL 74442f019e84b964764baa5bc1bbb91fd9f1dd47b9bf2030cfff9bf86be068143278f8d30d456e1341f45f11625ed6f30bb61e1233a27d9c4c2cdfbd200ee46a
+EBUILD afew-1.2.0.ebuild 832 SHA256 f86268d6af833ab54171a3ac3785b6919eb7d776fbed75ea49bd23b43c07774a SHA512 dbf7954a989a1d3f11043bc781b69ead2b4a94e20d8d8e662cd130973dc247b0cb943f595ddca1e25272e35f4668bda1a37621b2a5df6c903aeae1958e7d2159 WHIRLPOOL 74442f019e84b964764baa5bc1bbb91fd9f1dd47b9bf2030cfff9bf86be068143278f8d30d456e1341f45f11625ed6f30bb61e1233a27d9c4c2cdfbd200ee46a
+MISC metadata.xml 883 SHA256 0270c31d38d838303fc17844783b02a58ae7ed9b70bc316d49f505299ae715da SHA512 5f799a3db42139165f32075a9f753cdc2f11072c067e5602bc37f557b6edfc8c631a8ea9c512e492587224b287f2d996e38a4e690fe294e508f7b9568b6f15e7 WHIRLPOOL 5a29778bb892ef224fb306833baf11778475b24237fc6e01acceb5073f10b29ebf0c3a74ea141be0431011d363762d503acba8a8b07071f76d895df31c1be952
diff --git a/mail-filter/afew/afew-1.1.0.ebuild b/mail-filter/afew/afew-1.1.0.ebuild
new file mode 100644
index 000000000000..056d2071a9bc
--- /dev/null
+++ b/mail-filter/afew/afew-1.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python{3_4,3_5,3_6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Initial tagging script for Notmuch"
+HOMEPAGE="https://github.com/afewmail/afew"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]
+ net-mail/notmuch[python,${PYTHON_USEDEP}]"
+
+DOCS=( "README.rst" )
+
+src_prepare() {
+ sed -r \
+ -e "s/^([[:space:]]+)use_scm_version=.*,$/\1version='${PV}',/" \
+ -e "/^([[:space:]]+)setup_requires=.*,$/d" \
+ -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ dodoc afew/defaults/afew.config
+}
diff --git a/mail-filter/afew/afew-1.2.0.ebuild b/mail-filter/afew/afew-1.2.0.ebuild
new file mode 100644
index 000000000000..056d2071a9bc
--- /dev/null
+++ b/mail-filter/afew/afew-1.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python{3_4,3_5,3_6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Initial tagging script for Notmuch"
+HOMEPAGE="https://github.com/afewmail/afew"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]
+ net-mail/notmuch[python,${PYTHON_USEDEP}]"
+
+DOCS=( "README.rst" )
+
+src_prepare() {
+ sed -r \
+ -e "s/^([[:space:]]+)use_scm_version=.*,$/\1version='${PV}',/" \
+ -e "/^([[:space:]]+)setup_requires=.*,$/d" \
+ -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ dodoc afew/defaults/afew.config
+}
diff --git a/mail-filter/afew/metadata.xml b/mail-filter/afew/metadata.xml
new file mode 100644
index 000000000000..cf80ebdd8a77
--- /dev/null
+++ b/mail-filter/afew/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <longdescription lang="en">
+ afew is an initial tagging script for Notmuch. Its basic task is to
+ provide automatic tagging each time new mail is registered with Notmuch.
+
+ In addition to more elementary features such as adding tags based on
+ e-mail headers or maildir folders, handling killed threads and spam, it
+ can do some heavy magic in order to learn how to initially tag your
+ mails based on their content.
+
+ In move mode, afew will move mails between maildir folders according to
+ configurable rules that can contain arbitrary notmuch queries to match
+ against any searchable attributes.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/mail-filter/amavisd-milter/Manifest b/mail-filter/amavisd-milter/Manifest
new file mode 100644
index 000000000000..5d157a9ba0c3
--- /dev/null
+++ b/mail-filter/amavisd-milter/Manifest
@@ -0,0 +1,12 @@
+AUX amavisd-milter-1.6.0-policybank.patch 937 SHA256 86e11cbfc8b26ad91f7f405837ccdb5f6fed9eece1a18c7c50e5111750ee51a8 SHA512 a329e9b4e0c7b7de4b2b09ec8cf9f9157f7602761843278239530831673bd70e4a15cc5b3ec91700808de6a6a29baa00ea2f96d6c40736da27c7cb4fc059af4d WHIRLPOOL d0ce2336983289f97b844c60b975775907249bd6cb2e2d4f67d6894e47a49a322e4e868d6e4b852131c76fb16e3aa15074a91c44d819419e8a57ac324f7a9e03
+AUX amavisd-milter.confd 357 SHA256 fa8208d3bd15141808fc4612011a1f58850758a6191dbb81fad52e30312d9746 SHA512 354c7e1a0224bd0f8bd40e35dca99fc5c489f9b7ecc2292d992e5594ac969800ab19e99a784957bcc76e3b06788b0623fc5019d8965f002a67c3e01681c541de WHIRLPOOL 71ade6f23330e84ee23b0ba325f024880dc51ed3fa958e844464af79201fe6b8740a373355dca123ad98b7d9a7e29031eb20f1aa3cb79b2f2e08b0eff3a80ed9
+AUX amavisd-milter.initd 678 SHA256 6b061451b1da8236aab5cf30925d8ba74887387948efaee14c9ecfadc49ef594 SHA512 017cc4e2461b524768f2c7f69a1d16b99c08ebf39d024913e79e5ffb2033a2dbd5eb64cedb3b9e370a0143256fdb17652492385f996f0dbe4baaaa96557a16c6 WHIRLPOOL d4a71ae06893ceba3394fc6b14f59c657591c5103ab1dcd4a77ca1184aa474081d0799f4cda40fe94f72d82163a8e49d3932dbc18e8628fc0aadc94d60668113
+DIST amavisd-milter-1.5.0.tar.gz 175759 SHA256 cef897e2c172272d52a6e5d9415b25252bf669f0481f9bdf24e95d3071c5a2c5 SHA512 ef206cd2c64cf48edb8a679b92a960451e0edbec11e0c207942bf6f435f7d14538a409d8197774ea4bbf63f27ed73d52a7c51531155be6d8724981b5dd9e0037 WHIRLPOOL d48dfd540fdcae728425f0209f6fe2601a1bdbac9299d346ccc06f56da00f10b6c506b15129d93df1bf670a861afc25d40d1344369377f1ff0ee23cf90f40f39
+DIST amavisd-milter-1.6.0.tar.gz 187994 SHA256 c195750d42df41f4642a26b020fec1ba5752a997bcb366c70cd384bc560a98cd SHA512 2e0b39b733f88742fcb2f4e884e528b70731ad5950bd56d3af1391d666dc018d2f6c1ad4212e787872a503bccbc65c52d55ae195c384e9333e4f39d25b1d1a34 WHIRLPOOL ab1c0aee71597b0c5ccd3375a0df3ffd81ee24a69946b02d8e37a376ef1dca259c519338d5d7a391dd0947de907192d740ce8797f3a58b546461564dcc238d95
+EBUILD amavisd-milter-1.5.0-r1.ebuild 681 SHA256 ea4f68b5a67aaa7793cf291e7d567978936ebacd86c4b23fd1f490ebf329765d SHA512 0f9c5b732a70a3e9a9206e62c6d92115f9c998c642bdbfa7f6813b4b29865dc793d41de0c27c95a48febbf1e312ef2960efa34f79aa84c2b7a3ad9ba28a2cc92 WHIRLPOOL c8b2b8a2c1b1c52520307dd2016a511509014197bb5a3d9ccd86dae229813fbef63dbb566d6f747c808de68e293776f36a692bafae587171a1803919e47e4072
+EBUILD amavisd-milter-1.5.0.ebuild 631 SHA256 f354bcd7123aca94c0069ec691cf784025dc250c094cf6e6c991f201a1af7000 SHA512 aaacbdb73059e13e11155527a085673b6d61b525b17320982894181aeef61d5d5d827b95f1d5bf1621e97385640e0a92aebf99f1d5cec83b9ccbd5a7f34511d5 WHIRLPOOL 52cd74d96e38c192afd3960661e2049effe543927bbcbb32903cde8248d7121f19ad9c888573a578f86676e85671fc6b6dc2f1a468c9913e0e5b88ca2fe2d8ad
+EBUILD amavisd-milter-1.6.0-r1.ebuild 727 SHA256 113353e91821c7fd9821b3b61d9908bede220c657ae69c8a3d731cbc6481238a SHA512 45ca404978aa01b3eb54b17fc2aa224e0da5a773438aa4e42215a689890731e6c2c9c8a7d1b5e2a16f7fe3de933529bfe971eae406740b1058d692602fad54d0 WHIRLPOOL 9ca93ac117aa365d2fdb2bf520a84a6ca2f87510ebca2260e75abe81e31e1eb0c94380b809bffc58ac03cc6cb373d06d70fe5b97583e53b46599fce31cbd6da5
+EBUILD amavisd-milter-1.6.0.ebuild 683 SHA256 180af8ae61f1e31933cee7ba8ed83af05c7f3eeb534f4a87e0a6ed50e2c01ae5 SHA512 9a6be369cb8f78dd6f818beac4fa70966adce4882e5aae50188e5c4df4c86669fd4609dd4bd6f9ee7497f1bd8b5ef7786b7d8c12903dbdcfcb7b5ca723e5d404 WHIRLPOOL c02816ddb900074b865c9ecd4df539bd5f6a810805d9e2caf415824f65fd45bf9f15dbb9886c97e099a29079282632422b58b453cd18a4c002a07f65026fc3b4
+MISC ChangeLog 2910 SHA256 e54546ee9cbbd74c655de4679c5e1841b031793c866d69f808872ab92e30c140 SHA512 e93d72b46c4b0eba2f9daae156b670428a1f272dfe293e737e4f891e180f2106b71fc7ad7a9faab8a6124490940695c0ae5620db3cd9ff907c94afd226c7c58a WHIRLPOOL 8d4d6149ce06101822210c14c21cdc4f5d18e7bd45dd98ca748e21274c8bec2b472e639e89488a35b5407c67c34479ce61f070b8d407cfcb3cd1bbb8599ebabc
+MISC ChangeLog-2015 1711 SHA256 df0d19a9dbe16d9986585cc885dcbdf02a4701f594ae93e20022330a0c38ea0e SHA512 33ee06b468cd5baf75b9173f407381915bb05ca69cb36da5ccd9dde99ca3896dd69986fc0e6be0e9667f2024436a68d7af7593301f9ae71ef043587eb256a414 WHIRLPOOL 2c7d5233fee73081815b50d74b02e3106952896d6648018699528814baeb1239f5ca02cade209c2443d24c2a7f4467a591d9583f8f3e9b61a872fe8321d8f918
+MISC metadata.xml 328 SHA256 8bef5370a80fa1f7c71efdb8e60c208adda614575ae818ab855cf654c32fd366 SHA512 f072948c5fa85f421861f89938558cfd7d172ebbd0568b3d8a60610d2caa501b4bb022f70103e1634a2ae27cec8eb602896b5fa8824301722c1b42df6e43a62e WHIRLPOOL 905ad52fe0107bd82522f1bb6bb03bb96b415636fa3d76db2d1c7cc2a89d9040d182b4330651665cfe62e7378aaedee64e2b61424c0618fb6c54e0cbab6ed5d1
diff --git a/mail-filter/amavisd-milter/amavisd-milter-1.5.0-r1.ebuild b/mail-filter/amavisd-milter/amavisd-milter-1.5.0-r1.ebuild
new file mode 100644
index 000000000000..35da9fce706b
--- /dev/null
+++ b/mail-filter/amavisd-milter/amavisd-milter-1.5.0-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="sendmail milter for amavisd-new"
+HOMEPAGE="http://amavisd-milter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ mail-filter/amavisd-new"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch_user
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS CHANGES INSTALL README TODO
+
+ newinitd "${FILESDIR}/amavisd-milter.initd" amavisd-milter
+ newconfd "${FILESDIR}/amavisd-milter.confd" amavisd-milter
+}
diff --git a/mail-filter/amavisd-milter/amavisd-milter-1.5.0.ebuild b/mail-filter/amavisd-milter/amavisd-milter-1.5.0.ebuild
new file mode 100644
index 000000000000..8f8126c5fe4f
--- /dev/null
+++ b/mail-filter/amavisd-milter/amavisd-milter-1.5.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+DESCRIPTION="sendmail milter for amavisd-new"
+HOMEPAGE="http://amavisd-milter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ mail-filter/amavisd-new"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS CHANGES INSTALL README TODO
+
+ newinitd "${FILESDIR}/amavisd-milter.initd" amavisd-milter
+ newconfd "${FILESDIR}/amavisd-milter.confd" amavisd-milter
+}
diff --git a/mail-filter/amavisd-milter/amavisd-milter-1.6.0-r1.ebuild b/mail-filter/amavisd-milter/amavisd-milter-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..157ccb629308
--- /dev/null
+++ b/mail-filter/amavisd-milter/amavisd-milter-1.6.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="sendmail milter for amavisd-new"
+HOMEPAGE="http://amavisd-milter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ mail-filter/amavisd-new"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-policybank.patch"
+ epatch_user
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS CHANGES INSTALL README TODO
+
+ newinitd "${FILESDIR}/amavisd-milter.initd" amavisd-milter
+ newconfd "${FILESDIR}/amavisd-milter.confd" amavisd-milter
+}
diff --git a/mail-filter/amavisd-milter/amavisd-milter-1.6.0.ebuild b/mail-filter/amavisd-milter/amavisd-milter-1.6.0.ebuild
new file mode 100644
index 000000000000..d0ad1d5fa9ff
--- /dev/null
+++ b/mail-filter/amavisd-milter/amavisd-milter-1.6.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="sendmail milter for amavisd-new"
+HOMEPAGE="http://amavisd-milter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ mail-filter/amavisd-new"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch_user
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS CHANGES INSTALL README TODO
+
+ newinitd "${FILESDIR}/amavisd-milter.initd" amavisd-milter
+ newconfd "${FILESDIR}/amavisd-milter.confd" amavisd-milter
+}
diff --git a/mail-filter/amavisd-milter/files/amavisd-milter-1.6.0-policybank.patch b/mail-filter/amavisd-milter/files/amavisd-milter-1.6.0-policybank.patch
new file mode 100644
index 000000000000..afbdefc55c80
--- /dev/null
+++ b/mail-filter/amavisd-milter/files/amavisd-milter-1.6.0-policybank.patch
@@ -0,0 +1,20 @@
+--- amavisd-milter/mlfi.c 22 Apr 2013 00:36:12 -0000 1.60
++++ amavisd-milter/mlfi.c 13 Jan 2015 17:00:47 -0000
+@@ -695,14 +695,14 @@
+ l = 0;
+ *mlfi->mlfi_amabuf = '\0';
+ if ((policybank_from_daemon_name == 1) && (mlfi->mlfi_daemon_name != NULL)) {
+- l += snprintfcat(0, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length,
++ l += snprintfcat(l, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length,
+ "%s", mlfi->mlfi_daemon_name);
+ }
+ if (auth_type != NULL) {
+ if (l > 0) {
+- l += snprintfcat(0, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length, ",");
++ l += snprintfcat(l, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length, ",");
+ }
+- l += snprintfcat(0, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length,
++ l += snprintfcat(l, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length,
+ "SMTP_AUTH,SMTP_AUTH_%s", auth_type);
+ if (auth_ssf != NULL && *auth_ssf != '\0') {
+ l += snprintfcat(l, mlfi->mlfi_amabuf, mlfi->mlfi_amabuf_length,
diff --git a/mail-filter/amavisd-milter/files/amavisd-milter.confd b/mail-filter/amavisd-milter/files/amavisd-milter.confd
new file mode 100644
index 000000000000..f2b0736851af
--- /dev/null
+++ b/mail-filter/amavisd-milter/files/amavisd-milter.confd
@@ -0,0 +1,14 @@
+# /etc/conf.d/amavisd-milter
+# Check amavisd-milter man page for more options.
+
+# Unix domain socket locations
+SOCKET="/var/amavis/amavisd-milter.sock"
+AM_SOCKET="/var/amavis/amavisd.sock"
+
+# Working directory
+AM_TMP="/var/amavis/tmp"
+
+# Pid file location
+PIDFILE="/var/amavis/amavisd-milter.pid"
+
+DOPTIONS="-s $SOCKET -p $PIDFILE -S $AM_SOCKET -w $AM_TMP"
diff --git a/mail-filter/amavisd-milter/files/amavisd-milter.initd b/mail-filter/amavisd-milter/files/amavisd-milter.initd
new file mode 100644
index 000000000000..68652d6be3e7
--- /dev/null
+++ b/mail-filter/amavisd-milter/files/amavisd-milter.initd
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+NAME="amavisd-milter"
+DAEMON="/usr/sbin/${NAME}"
+
+depend() {
+ use logger dns amavis sendmail
+}
+
+start() {
+ ebegin "Starting ${NAME}"
+ start-stop-daemon --start --quiet --exec "${DAEMON}" -p "${PIDFILE}" --user amavis -- ${DOPTIONS}
+ eend $? "Failed to start ${NAME}"
+}
+
+stop() {
+ ebegin "Stopping ${NAME}"
+ start-stop-daemon --stop --name "${NAME}"
+ eend $? "Failed to stop ${NAME}"
+}
+
+restart() {
+ svc_stop
+ # needed to avoid potential mi_stop errors
+ sleep 4
+ svc_start
+}
diff --git a/mail-filter/amavisd-milter/metadata.xml b/mail-filter/amavisd-milter/metadata.xml
new file mode 100644
index 000000000000..f71201342337
--- /dev/null
+++ b/mail-filter/amavisd-milter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">amavisd-milter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/amavisd-new/Manifest b/mail-filter/amavisd-new/Manifest
new file mode 100644
index 000000000000..8dceb30f7a5a
--- /dev/null
+++ b/mail-filter/amavisd-new/Manifest
@@ -0,0 +1,20 @@
+AUX amavis-mc.initd 384 SHA256 0c1e1e715282c57b6e9ae65a382eb52e8635655e4973dbe749f8c5cf5490a3cd SHA512 96bb67ce2088c2c4b3187d55040db4ef9f281506a368ceca54df3b90d3e9c6e8c8be96c8010c581c7b2fc75e8439892db800b361da75ed9549a89d94cf7d95df WHIRLPOOL b118a07f9035a8fd1406796ba7f79a4ae92c5812c6fc78001e6ea55b5d3392c0025024ef3a29bfe731dbc913504da1ded922be3e132d6044ab60d3660c8cb4b7
+AUX amavisd-snmp.initd 692 SHA256 2161e7066a281738173c52c027c656daa08296f6cbe7282ee29a3b4e90ce92c2 SHA512 0e8513f7bfb03ae6d28190edd0f4f59b87f81b412b68dcfa3c91d77fd138d4e92ff6b36864bb590d214c08d9f73ec5de694e5fbc1b7e1d27ae0e532f052e3910 WHIRLPOOL 769fe96b69280e1ea272523295842133a882b449577bc2505081da9c22c65ae7eff949d87d4238adcd8bbbc344efba28b3591c229484a52a3df23cfc56063154
+AUX amavisd.initd 716 SHA256 fb49f722cda9f322e045e9f1798cbdbc646439825ce6a7ecbf28166d456d5a9d SHA512 e7f1f9f233b26402101d501ae09d6774d8483637f2c2180eee706015790ea2ea494a14b1ff17e3b600ca4571bfaa895d8df65682993e1fc9ce5c31d37f9548c3 WHIRLPOOL e4fc10292596bf76d252605a128bfab57b8c0c65d0ceff50bdd4439207887ad0873b5273406a87cd16ee77d8803e245e611cb66b05bb85fa1c179390d32606c8
+AUX amavisd.initd-r1 710 SHA256 6665b4b5acd44cec464c9712e59aa5948ae5e1efcb15c0d17ebb4751f96715e3 SHA512 0c45276d4b487c9550b36a56e1e296a401fb46985dafe1227bf70ec840fc4a255e959026ef31dffbd0719ebbcec064619e096602ab32da2b95776030772878de WHIRLPOOL c8d8c7106e55fa91fb33a546807033c8623a91afcc0f5985ffc732831f36c05067ee2692c4334d4b92d7be06e0cfc0e3c722980c67b3572f4c9adeac40841c8e
+AUX amavisd.service 459 SHA256 da841e7d0060acfd748d48a4e27423c32bbc0410b78743d7a64395c9633ea752 SHA512 6f196484fc546e16f319abfcd171a68826da35813cc477a572c79594b0bb5e0f8f61370dba30af690be6d064e48f07139b6b0b7f6024dbbfb820547d8bc6998e WHIRLPOOL 5a409a48b1a3baabdb01e4fbafe12288b443e2166d6db5bdfe37463b7c42fb0fdcbdba100a0e5274168b198c8da300ceddd981dc5ede78b0cb9053278cd1a355
+DIST amavisd-new-2.10.1.tar.xz 767716 SHA256 1d3d3f372d0888018b950ee19704c298b5d02e2c287ca2d5f1a785a078b6038f SHA512 1939cc60136fe37a078ebd6117a774bcc7ee34b68807472eb08ab15414749300925f74898131299fb051c539cc59d264003439a6307c9d0fa16971d02dab1ff9 WHIRLPOOL 81a7ed98075f9286516487b69dc011ec13a49b6aea1671aa46085c21373bd7cf8c9257999e61517fbf6f6d3f0aeade6748f4f20a31ef63a8f20df06b489a6274
+DIST amavisd-new-2.11.0.tar.xz 780548 SHA256 b41de4f0796cb344120c9792c82fc25177cbf9f51aaa5f91536cdf34aea89906 SHA512 a33292c976abf54db9475392069658c926e7a6f11a4970bbe353b34b3343388bc83b40eda4729f8efa735a3a6e23fd1ed83487f6f7ccf1e9f0903220e6d26957 WHIRLPOOL 25a9c3fcc0ac7613aea56bb969e708657db87aae6b33c85cab4758e9fe79d1ca8b73f5c321f7c7603dbd63859e87d26c038568d3a310d1dfb882a2a26d3ae877
+DIST amavisd-new-2.7.2.tar.gz 945448 SHA256 4665e0fb9a71f483f1123113a006291e37f744a5880f945ccf9fd34d51cb9275 SHA512 f707a5ac9d6acee2f9d144fda86fed92bbf33693858262ab0a95663da50f78a023102d9d50dd5a6a256ef6302a241f9c28d2b190e3efe2110c0eea15557ae756 WHIRLPOOL c0422d80b9dc11a7a2e9cb10092b7c97c02536aa852f70c566ab6e2e6a865b901ad24caf626b8b02ee64979bced7c25f03888827fd47ffbc4e733bb733e08c9e
+DIST amavisd-new-2.8.1.tar.xz 731816 SHA256 6e333a70adbd24ec52202700059fbf133e20b3c3bf5ec6f4bb10f9a2f25ea82e SHA512 a840b57513b8a7b18e15085016c273ba2fba5cceb76ef52c52aa2ca34e9257be78f8bb8ea350dbdac3b26d2aba8f5aae821c1c45f2d37bc6be04ff2efb9f3ade WHIRLPOOL 0d0ce9a1e8adae101d0aace45251c02118c8f4481e67ab1af7fb32843010ac9e0b9f8ab88f0769a27c1e74e297507efe53c3a6e8ce84c616e1beeaf281027044
+DIST amavisd-new-2.9.1.tar.xz 753076 SHA256 442d6c185c19fd1d3288ee7eb2ac102a7d541c4d6e1724cdaf369df6ca629ba0 SHA512 6829a769f50498aaec4fd5c198059f828e9ba90223083e439caa9d2bd19006e0cff8ae7b1e2416009bd2514aae4428598142e86a63260b5292c15b515792a7af WHIRLPOOL 82c8630323e718b5fe9eccf38d592f6539cc56616f2eb0bea590e4d0b8ad70f30cfb2a7c13afddd1f838a26cd82cc6338199c3f9e2a402f1c67e1fe240deaed1
+EBUILD amavisd-new-2.10.1-r4.ebuild 4704 SHA256 ae326787ca50b37324992245dbff713af4e117e5a80f9e393940c0d7774bacd5 SHA512 e790362e3c1e266d70b6dc1de920439565037d349142eeb4637577833d3eb9b2bf09542ffe5367a54ad1cb8cd384d9a485ef9bf251caa2fb408effad46640042 WHIRLPOOL 1816d25406ef5b6d7c3c65699412e2c0f65341aee35d444ec7ffe4392e98f25cc67fba34d932cc30cd6249faa88acb29db68052ce91c421a2db3915e98e89553
+EBUILD amavisd-new-2.10.1.ebuild 4647 SHA256 8c112f2e8baa27419ba4a57638a04f4d5ac775242666927a9bf390ea02390786 SHA512 34c03fa676550f125dc0445b1e953356566e7a6a8d7d171b0145e21dd030e82a4478fec217fa478ef7df589598529eec114858b9252807edec09d0473d2e8568 WHIRLPOOL e8b40f4be87cbb42c05fadf337b7b71e3c4dc0b1cd4ec9cad21c064311435e4a10ac996257ba001325a95a8efc0283d96922e3f778e20ac3cbfcac1070b0c72b
+EBUILD amavisd-new-2.11.0-r2.ebuild 4516 SHA256 4673cf8a532f29119438e349d37e3bc01ba8b885cd2cab78cf8cbc4b18960f81 SHA512 cd507065732fa2a2e2f87830005ef466abec65e58778c1219d560d05ef3b0ee701161ecbf1e045d1f57e47fcab921c5a92d8a1c9420c63adb5536f07b7169b48 WHIRLPOOL 6cdc67e4beb947e9169fa2f771bd559f3e5bd7b35a6e796a77b35037e50da9bf81dd2bf75d49928a428f1626b513a723798b9627ffdaebee1e394084fa626340
+EBUILD amavisd-new-2.11.0-r3.ebuild 4599 SHA256 083405e05c2f5693803edb74bed16ad3493f25cf42140ad16269c9b0bfeed754 SHA512 f8003cf3f165ae3def6e34b4e010d864b3f32909563002d02d13b89ffc4811a2bd4d339914ba58a13b4916a01e176fe680467e51383acb0e774016872a4a793a WHIRLPOOL c6aece498a8af4535be484ddc0eda98fadcfd6d5f48864e4c1b4e9682b4c2954c9ba4c81d4a87ed944813e699c089df7d6fcc94647db890e2de29e07760ed613
+EBUILD amavisd-new-2.7.2.ebuild 4162 SHA256 e7f1bb7c539fd1d4d312c5822a556ece276c3cad3fe17ff5e6f3b54e3848f3a5 SHA512 39dd3b56f6fce585329eb159228dd2afe354ffd3ec3ac24dfec79b6b569f5345ef98cc9be7587d557f140ac96a0e412941c264545b2d47dec676a409141ff8b4 WHIRLPOOL 578a3e50e57623b98db6ed0de43851791256cfdb9c85e53a49e78cd352312b9f1744c6f4152ee9e2155fffcba9a550c97c31e5bcb86bcb33f3a013d2f5eada6a
+EBUILD amavisd-new-2.8.1-r1.ebuild 4804 SHA256 87501c363957d549700fdb489d60d18d54fd9f364602b7ab6f662afca2294479 SHA512 290fdbe57f59ba560c99e2abad84e0c4456be394986128f42161b67d22586c34f7fc59cd79099f525864565f06fbe7357626cadee5bf1f18cd97f4621852675f WHIRLPOOL 66fab28273f3cb625c80f0382aeb50811e4d822a164f6baff96012816d3747901f77785cdd1ce111faa5c789f2d2ec77a8b2e110f88827b03f4e5c6bdc763cc6
+EBUILD amavisd-new-2.9.1-r2.ebuild 4683 SHA256 d6fec1c191efdc10a1f227ca1267e02f54d34a60ecf19bd1dca3d4755b24a15c SHA512 cd5bbcfa7ba32fb3471d958b49d0c1f4a4a12235c08d12340752bdbaa6d88773c75d1b19b960a1aa33cad72d107eb5de72ca80465f878a53e8cf858c8bae2ac1 WHIRLPOOL 76aff1b73451b5d8c86a6f37bab320194238437b35f383cd6b02c1694d7acfffb4d43f37134b7dc4fe388f14f9894e202cbd683a44384976fca106acd3ca799b
+MISC ChangeLog 6018 SHA256 55b4e50ca932c19af78534c409341e685783969e808eb2e79aeda86456bda0c9 SHA512 6010e95c7cb711db2dbd3bc36823eb8cda87b486a2e2757f1d0803ae067bfad223a6c4cbc301c8aad176da8397abe1f7809ec09f806c04a1e21bafe47d7fc110 WHIRLPOOL bcdcce589739a3feb1c33d36d59e3075b81982f4c1f7723bd317b81e91a6680a3c58bbe27147de9a67c43a6ae8cca7abce76e6889c208cd131e4f4f891604787
+MISC ChangeLog-2015 39368 SHA256 2e1122c64ed070f786c9bdc13a6bbef8499da949c27d13cab3c40edae10ed71b SHA512 c9bc73e063dddbf74e706c9cf76cee579a6c5ffc08ee447a5d689cdf05fe239db921f472038d7f634b5462711a121386847b86c13d358157346748ef52a589ef WHIRLPOOL 19f6adbdfa9f67f24dbfdb3bdf15751cb577be3057bf220c2494c56d4c2a15be4cc82b550d62982d6a637a183d43330726b7383e1f4384cfc60c316ad4ab0951
+MISC metadata.xml 738 SHA256 d8ad3a71cccf13a3cec708510e18c8dacdb96be7e26107bb2dd66a24604ea913 SHA512 7a5af76581b61aece92c89c6bd4516b305dbd90310e7bfc4af40ae8306c5401aa21780bca3aae8007af74678d91b0b978aaefd12958c70345461678685d79ea1 WHIRLPOOL bb2dff9f51c01d580f8af023bb4808838ff0a77d4e15f1a7c3e5b7b2c4726d87bd358801fd0175d404c534abf0ec1c0c663b924478e992edd1020e2b38be015c
diff --git a/mail-filter/amavisd-new/amavisd-new-2.10.1-r4.ebuild b/mail-filter/amavisd-new/amavisd-new-2.10.1-r4.ebuild
new file mode 100644
index 000000000000..f9e7a0683a5c
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.10.1-r4.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils systemd user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor snmp spamassassin zmq"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.8.2"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/lrzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip
+ app-arch/pax
+ app-arch/unarj
+ app-arch/unrar
+ app-arch/xz-utils
+ app-arch/zoo
+ net-mail/ripole
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ net-mail/tnef
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ virtual/perl-IO-Socket-IP
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ dev-perl/Net-LibIDN
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/mta
+ clamav? ( app-antivirus/clamav )
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin )
+ zmq? ( dev-perl/ZMQ-LibZMQ3 )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ epatch amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ epatch amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" "${S}/amavis-mc" || die "missing conf file"
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file - dkim"
+ fi
+
+ if use zmq ; then
+ sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf" \
+ || die "missing conf file - zmq"
+ fi
+
+ if ! use spamassassin ; then
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${S}/amavisd.conf" || die "missing conf file - sa"
+ fi
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer amavisd-status
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ use zmq && dosbin amavisd-snmp-subagent-zmq
+ dodoc AMAVIS-MIB.txt
+ newinitd "${FILESDIR}"/amavisd-snmp.initd amavisd-snmp
+ fi
+
+ if use zmq ; then
+ dosbin amavis-services amavis-mc
+ newinitd "${FILESDIR}"/amavis-mc.initd amavis-mc
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd-r1" amavisd
+
+ systemd_dounit "${FILESDIR}/amavisd.service"
+ use clamav || sed -i -e '/Wants=clamd/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+ use spamassassin || sed -i -e '/Wants=spamassassin/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dohtml README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf" || die
+ fi
+ fi
+
+ if has_version "<${CATEGORY}/${PN}-2.7.0" ; then
+ elog "Amavisd-new ships with a short and condensed config file now."
+ elog "Transferring your current settings to the new format is"
+ elog "recommended for ease of future upgrades."
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/amavisd-new-2.10.1.ebuild b/mail-filter/amavisd-new/amavisd-new-2.10.1.ebuild
new file mode 100644
index 000000000000..0a0c01a71b05
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.10.1.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils systemd user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor snmp spamassassin zmq"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.8.2"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/lrzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip
+ app-arch/pax
+ app-arch/unarj
+ app-arch/unrar
+ app-arch/xz-utils
+ app-arch/zoo
+ net-mail/ripole
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ net-mail/tnef
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ virtual/perl-IO-Socket-IP
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ dev-perl/Net-LibIDN
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/mta
+ clamav? ( app-antivirus/clamav )
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin )
+ zmq? ( dev-perl/ZMQ-LibZMQ2 )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ epatch amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ epatch amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" "${S}/amavis-mc" || die "missing conf file"
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file - dkim"
+ fi
+
+ if use zmq ; then
+ sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf" \
+ || die "missing conf file - zmq"
+ fi
+
+ if ! use spamassassin ; then
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${S}/amavisd.conf" || die "missing conf file - sa"
+ fi
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer amavisd-status
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ use zmq && dosbin amavisd-snmp-subagent-zmq
+ dodoc AMAVIS-MIB.txt
+ fi
+
+ if use zmq ; then
+ dosbin amavis-services amavis-mc
+ newinitd "${FILESDIR}"/amavis-mc.initd amavis-mc
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd-r1" amavisd
+
+ systemd_dounit "${FILESDIR}/amavisd.service"
+ use clamav || sed -i -e '/Wants=clamd/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+ use spamassassin || sed -i -e '/Wants=spamassassin/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dohtml README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf" || die
+ fi
+ fi
+
+ if has_version "<${CATEGORY}/${PN}-2.7.0" ; then
+ elog "Amavisd-new ships with a short and condensed config file now."
+ elog "Transferring your current settings to the new format is"
+ elog "recommended for ease of future upgrades."
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/amavisd-new-2.11.0-r2.ebuild b/mail-filter/amavisd-new/amavisd-new-2.11.0-r2.ebuild
new file mode 100644
index 000000000000..37446c48476b
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.11.0-r2.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit systemd user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.xz"
+PORTAGE_DOHTML_WARN_ON_SKIPPED_FILES=yes
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~sparc ~x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor snmp spamassassin zmq"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.10.0"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/lrzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip
+ app-arch/pax
+ app-arch/unarj
+ app-arch/unrar
+ app-arch/xz-utils
+ app-arch/zoo
+ net-mail/ripole
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ net-mail/tnef
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ virtual/perl-IO-Socket-IP
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ dev-perl/Net-LibIDN
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/mta
+ clamav? ( app-antivirus/clamav )
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin )
+ zmq? ( dev-perl/ZMQ-LibZMQ3 )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ eapply -p0 amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ eapply -p0 amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" "${S}/amavis-mc" || die "missing conf file"
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file - dkim"
+ fi
+
+ if use zmq ; then
+ sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf" \
+ || die "missing conf file - zmq"
+ fi
+
+ if ! use spamassassin ; then
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${S}/amavisd.conf" || die "missing conf file - sa"
+ fi
+ eapply_user
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer amavisd-status
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ use zmq && dosbin amavisd-snmp-subagent-zmq
+ dodoc AMAVIS-MIB.txt
+ newinitd "${FILESDIR}"/amavisd-snmp.initd amavisd-snmp
+ fi
+
+ if use zmq ; then
+ dosbin amavis-services amavis-mc
+ newinitd "${FILESDIR}"/amavis-mc.initd amavis-mc
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd-r1" amavisd
+
+ systemd_dounit "${FILESDIR}/amavisd.service"
+ use clamav || sed -i -e '/Wants=clamd/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+ use spamassassin || sed -i -e '/Wants=spamassassin/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dodoc -r README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf" || die
+ fi
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/amavisd-new-2.11.0-r3.ebuild b/mail-filter/amavisd-new/amavisd-new-2.11.0-r3.ebuild
new file mode 100644
index 000000000000..b50747597c0d
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.11.0-r3.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit systemd user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.xz"
+PORTAGE_DOHTML_WARN_ON_SKIPPED_FILES=yes
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ppc ppc64 x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor snmp spamassassin zmq"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.10.0"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/lrzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip
+ app-arch/pax
+ app-arch/unarj
+ app-arch/unrar
+ app-arch/xz-utils
+ app-arch/zoo
+ net-mail/ripole
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ net-mail/tnef
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ virtual/perl-IO-Socket-IP
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ dev-perl/Net-LibIDN
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/perl-File-Temp
+ dev-perl/Net-SSLeay
+ dev-perl/IO-Socket-SSL
+ virtual/mta
+ clamav? ( app-antivirus/clamav )
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin dev-perl/Image-Info )
+ zmq? ( dev-perl/ZMQ-LibZMQ3 )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ eapply -p0 amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ eapply -p0 amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" "${S}/amavis-mc" || die "missing conf file"
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file - dkim"
+ fi
+
+ if use zmq ; then
+ sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf" \
+ || die "missing conf file - zmq"
+ fi
+
+ if ! use spamassassin ; then
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${S}/amavisd.conf" || die "missing conf file - sa"
+ fi
+ eapply_user
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer amavisd-status
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ use zmq && dosbin amavisd-snmp-subagent-zmq
+ dodoc AMAVIS-MIB.txt
+ newinitd "${FILESDIR}"/amavisd-snmp.initd amavisd-snmp
+ fi
+
+ if use zmq ; then
+ dosbin amavis-services amavis-mc
+ newinitd "${FILESDIR}"/amavis-mc.initd amavis-mc
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd-r1" amavisd
+
+ systemd_dounit "${FILESDIR}/amavisd.service"
+ use clamav || sed -i -e '/Wants=clamd/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+ use spamassassin || sed -i -e '/Wants=spamassassin/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dodoc -r README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf" || die
+ fi
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/amavisd-new-2.7.2.ebuild b/mail-filter/amavisd-new/amavisd-new-2.7.2.ebuild
new file mode 100644
index 000000000000..b2bce29bb34c
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.7.2.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ppc ~ppc64 sparc x86"
+IUSE="courier dkim ldap mysql postgres qmail razor snmp spamassassin"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.8.2"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/ncompress
+ app-arch/pax
+ app-arch/unarj
+ app-arch/xz-utils
+ || ( app-arch/unrar app-arch/rar )
+ app-arch/zoo
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ dev-perl/Convert-TNEF
+ >=dev-perl/Convert-UUlib-1.08
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/mta
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ epatch amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ epatch amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" || die "missing conf file"
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file"
+ fi
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ dodoc AMAVIS-MIB.txt
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd" amavisd
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dohtml README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ #for i in whitelist blacklist spam_lovers; do
+ # if [ -f ${AMAVIS_ROOT}/${i} ]; then
+ # cp "${AMAVIS_ROOT}/${i}" "${D}/${AMAVIS_ROOT}"
+ # else
+ # touch "${D}"/${AMAVIS_ROOT}/${i}
+ # fi
+ #done
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf"
+ fi
+ fi
+
+ if ! use spamassassin ; then
+ elog "Disabling anti-spam code in amavisd.conf..."
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${D}/etc/amavisd.conf"
+ fi
+
+ if has_version "<${CATEGORY}/${PN}-2.7.0" ; then
+ elog "Amavisd-new ships with a short and condensed config file now."
+ elog "Transferring your current settings to the new format is"
+ elog "recommended for ease of future upgrades."
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/amavisd-new-2.8.1-r1.ebuild b/mail-filter/amavisd-new/amavisd-new-2.8.1-r1.ebuild
new file mode 100644
index 000000000000..fac90db569b4
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.8.1-r1.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils systemd user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ppc ~ppc64 sparc x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor snmp spamassassin zmq"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.8.2"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/lrzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip
+ app-arch/pax
+ app-arch/unarj
+ app-arch/unrar
+ app-arch/xz-utils
+ app-arch/zoo
+ net-mail/ripole
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ dev-perl/Convert-TNEF
+ >=dev-perl/Convert-UUlib-1.08
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ virtual/perl-IO-Socket-IP
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/mta
+ clamav? ( app-antivirus/clamav )
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin )
+ zmq? ( dev-perl/ZMQ-LibZMQ2 )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ epatch amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ epatch amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" "${S}/amavis-mc" || die
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file"
+ fi
+
+ if use zmq ; then
+ sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf"
+ fi
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer amavisd-status
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ use zmq && dosbin amavisd-snmp-subagent-zmq
+ dodoc AMAVIS-MIB.txt
+ fi
+
+ if use zmq ; then
+ dosbin amavis-services amavis-mc
+ newinitd "${FILESDIR}"/amavis-mc.initd amavis-mc
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd-r1" amavisd
+
+ systemd_dounit "${FILESDIR}/amavisd.service"
+ use clamav || sed -i -e '/Wants=clamd/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+ use spamassassin || sed -i -e '/Wants=spamassassin/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dohtml README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ #for i in whitelist blacklist spam_lovers; do
+ # if [ -f ${AMAVIS_ROOT}/${i} ]; then
+ # cp "${AMAVIS_ROOT}/${i}" "${D}/${AMAVIS_ROOT}"
+ # else
+ # touch "${D}"/${AMAVIS_ROOT}/${i}
+ # fi
+ #done
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf"
+ fi
+ fi
+
+ if ! use spamassassin ; then
+ elog "Disabling anti-spam code in amavisd.conf..."
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${D}/etc/amavisd.conf"
+ fi
+
+ if has_version "<${CATEGORY}/${PN}-2.7.0" ; then
+ elog "Amavisd-new ships with a short and condensed config file now."
+ elog "Transferring your current settings to the new format is"
+ elog "recommended for ease of future upgrades."
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/amavisd-new-2.9.1-r2.ebuild b/mail-filter/amavisd-new/amavisd-new-2.9.1-r2.ebuild
new file mode 100644
index 000000000000..72d7bbcee46f
--- /dev/null
+++ b/mail-filter/amavisd-new/amavisd-new-2.9.1-r2.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils systemd user
+
+MY_P="${P/_/-}"
+DESCRIPTION="High-performance interface between the MTA and content checkers"
+HOMEPAGE="https://www.ijs.si/software/amavisd/"
+SRC_URI="https://www.ijs.si/software/amavisd/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="clamav courier dkim ldap mysql postgres qmail razor snmp spamassassin zmq"
+
+DEPEND=">=sys-apps/sed-4
+ >=dev-lang/perl-5.8.2"
+
+RDEPEND="${DEPEND}
+ >=sys-apps/coreutils-5.0-r3
+ app-arch/cpio
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/arc
+ app-arch/cabextract
+ app-arch/freeze
+ app-arch/lha
+ app-arch/lrzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip
+ app-arch/pax
+ app-arch/unarj
+ app-arch/unrar
+ app-arch/xz-utils
+ app-arch/zoo
+ net-mail/ripole
+ >=dev-perl/Archive-Zip-1.14
+ >=virtual/perl-IO-Compress-1.35
+ >=virtual/perl-Compress-Raw-Zlib-2.017
+ net-mail/tnef
+ virtual/perl-MIME-Base64
+ >=dev-perl/MIME-tools-5.415
+ >=dev-perl/MailTools-1.58
+ >=dev-perl/Net-Server-0.91
+ virtual/perl-Digest-MD5
+ dev-perl/IO-stringy
+ virtual/perl-IO-Socket-IP
+ >=virtual/perl-Time-HiRes-1.49
+ dev-perl/Unix-Syslog
+ sys-apps/file
+ >=sys-libs/db-4.4.20
+ dev-perl/BerkeleyDB
+ dev-perl/Convert-BinHex
+ >=dev-perl/Mail-DKIM-0.31
+ virtual/mta
+ clamav? ( app-antivirus/clamav )
+ ldap? ( >=dev-perl/perl-ldap-0.33 )
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ razor? ( mail-filter/razor )
+ snmp? ( net-analyzer/net-snmp[perl] )
+ spamassassin? ( mail-filter/spamassassin )
+ zmq? ( dev-perl/ZMQ-LibZMQ2 )"
+
+AMAVIS_ROOT="/var/amavis"
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if use courier ; then
+ epatch amavisd-new-courier.patch
+ fi
+
+ if use qmail ; then
+ epatch amavisd-new-qmqpqq.patch
+ fi
+
+ sed -i \
+ -e '/daemon/s/vscan/amavis/' \
+ -e "s:'/var/virusmails':\"\$MYHOME/quarantine\":" \
+ "${S}/amavisd.conf" "${S}/amavis-mc" || die "missing conf file"
+
+ if ! use dkim ; then
+ sed -i -e '/enable_dkim/s/1/0/' "${S}/amavisd.conf" \
+ || die "missing conf file - dkim"
+ fi
+
+ if use zmq ; then
+ sed -i -e '/enable_zmq/s/# //' "${S}/amavisd.conf" \
+ || die "missing conf file - zmq"
+ fi
+
+ if ! use spamassassin ; then
+ sed -i -e \
+ "/^#[[:space:]]*@bypass_spam_checks_maps[[:space:]]*=[[:space:]]*(1)/s/^#//" \
+ "${S}/amavisd.conf" || die "missing conf file - sa"
+ fi
+}
+
+src_install() {
+ dosbin amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-signer amavisd-status
+ dobin p0f-analyzer.pl amavisd-submit
+
+ if use snmp ; then
+ dosbin amavisd-snmp-subagent
+ use zmq && dosbin amavisd-snmp-subagent-zmq
+ dodoc AMAVIS-MIB.txt
+ newinitd "${FILESDIR}"/amavisd-snmp.initd amavisd-snmp
+ fi
+
+ if use zmq ; then
+ dosbin amavis-services amavis-mc
+ newinitd "${FILESDIR}"/amavis-mc.initd amavis-mc
+ fi
+
+ insinto /etc
+ insopts -m0640
+ doins amavisd.conf
+
+ newinitd "${FILESDIR}/amavisd.initd-r1" amavisd
+
+ systemd_dounit "${FILESDIR}/amavisd.service"
+ use clamav || sed -i -e '/Wants=clamd/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+ use spamassassin || sed -i -e '/Wants=spamassassin/d' "${ED}"/usr/lib/systemd/system/amavisd.service
+
+ keepdir "${AMAVIS_ROOT}"
+ keepdir "${AMAVIS_ROOT}/db"
+ keepdir "${AMAVIS_ROOT}/quarantine"
+ keepdir "${AMAVIS_ROOT}/tmp"
+ keepdir "${AMAVIS_ROOT}/var"
+
+ dodoc AAAREADME.first INSTALL MANIFEST RELEASE_NOTES TODO \
+ amavisd.conf-default amavisd-custom.conf
+
+ docinto README_FILES
+ dodoc README_FILES/README*
+ dohtml README_FILES/*.{html,css}
+ docinto README_FILES/images
+ dodoc README_FILES/images/*.png
+ docinto README_FILES/images/callouts
+ dodoc README_FILES/images/callouts/*.png
+
+ docinto test-messages
+ dodoc test-messages/README
+ dodoc test-messages/sample.tar.gz.compl
+
+ if use ldap ; then
+ dodir /etc/openldap/schema
+ insinto /etc/openldap/schema
+ insopts -o root -g root -m 644
+ newins LDAP.schema ${PN}.schema || die
+ fi
+}
+
+pkg_preinst() {
+ enewgroup amavis
+ enewuser amavis -1 -1 "${AMAVIS_ROOT}" amavis
+ if use razor ; then
+ if [ ! -d "${ROOT}${AMAVIS_ROOT}/.razor" ] ; then
+ elog "Setting up initial razor config files..."
+
+ razor-admin -create -home="${D}/${AMAVIS_ROOT}/.razor"
+ sed -i -e "s:debuglevel\([ ]*\)= .:debuglevel\1= 0:g" \
+ "${D}/${AMAVIS_ROOT}/.razor/razor-agent.conf" || die
+ fi
+ fi
+
+ if has_version "<${CATEGORY}/${PN}-2.7.0" ; then
+ elog "Amavisd-new ships with a short and condensed config file now."
+ elog "Transferring your current settings to the new format is"
+ elog "recommended for ease of future upgrades."
+ fi
+}
+
+pkg_postinst() {
+ chown root:amavis "${ROOT}/etc/amavisd.conf"
+ chown -R amavis:amavis "${ROOT}/${AMAVIS_ROOT}"
+}
diff --git a/mail-filter/amavisd-new/files/amavis-mc.initd b/mail-filter/amavisd-new/files/amavis-mc.initd
new file mode 100644
index 000000000000..84658da9a4e2
--- /dev/null
+++ b/mail-filter/amavisd-new/files/amavis-mc.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/run/amavis/amavis-mc.pid"
+command="/usr/sbin/amavis-mc"
+command_args="${amavis_mc_args} -P ${pidfile}"
+start_stop_daemon_args="--interpreted"
+
+depend() {
+ use logger
+ before amavisd-new snmpd
+}
+
+start_pre() {
+ checkpath -d -o amavis /run/amavis
+}
diff --git a/mail-filter/amavisd-new/files/amavisd-snmp.initd b/mail-filter/amavisd-new/files/amavisd-snmp.initd
new file mode 100644
index 000000000000..fc23a1fc1019
--- /dev/null
+++ b/mail-filter/amavisd-new/files/amavisd-snmp.initd
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+name="amavisd-snmp"
+pidfile="/run/amavis/${name}.pid"
+command="/usr/sbin/${name}-subagent"
+command_args="${amavis_snmp_args} -P ${pidfile}"
+start_stop_daemon_args="--interpreted"
+
+update_command() {
+ if [[ -x ${command}-zmq && ! $amavisd_snmp_command ]]; then
+ command="${command}-zmq"
+ elif [[ $amavisd_snmp_command ]]; then
+ command="$amavisd_snmp_command"
+ fi
+}
+
+depend() {
+ use logger
+ before amavisd-new snmpd
+ update_command
+ if [[ ${command##*-} == "zmq" ]]; then
+ need amavis-mc
+ fi
+}
+
+start_pre() {
+ update_command
+ checkpath -d -o amavis /run/amavis
+}
diff --git a/mail-filter/amavisd-new/files/amavisd.initd b/mail-filter/amavisd-new/files/amavisd.initd
new file mode 100644
index 000000000000..4899296cc140
--- /dev/null
+++ b/mail-filter/amavisd-new/files/amavisd.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+extra_commands="debug debug_sa"
+
+prog="/usr/sbin/amavisd"
+progname="amavisd-new"
+
+depend() {
+ need net
+ use logger antivirus snmpd
+ before mta
+}
+
+start() {
+ ebegin "Starting ${progname}"
+ "${prog}" start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${progname}"
+ "${prog}" stop 1>/dev/null
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading ${progname}"
+ "${prog}" reload 1>/dev/null
+ eend $?
+}
+
+debug() {
+ ebegin "Starting ${progname} in debug mode"
+ "${prog}" debug
+ eend $?
+}
+
+debug_sa() {
+ ebegin "Starting ${progname} in debug-sa mode"
+ "${prog}" debug-sa
+ eend $?
+}
diff --git a/mail-filter/amavisd-new/files/amavisd.initd-r1 b/mail-filter/amavisd-new/files/amavisd.initd-r1
new file mode 100644
index 000000000000..d772433aa418
--- /dev/null
+++ b/mail-filter/amavisd-new/files/amavisd.initd-r1
@@ -0,0 +1,44 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+extra_commands="debug debug_sa"
+
+prog="/usr/sbin/amavisd"
+progname="amavisd-new"
+
+depend() {
+ use net logger antivirus snmpd
+ before mta
+}
+
+start() {
+ ebegin "Starting ${progname}"
+ "${prog}" start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${progname}"
+ "${prog}" stop 1>/dev/null
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading ${progname}"
+ "${prog}" reload 1>/dev/null
+ eend $?
+}
+
+debug() {
+ ebegin "Starting ${progname} in debug mode"
+ "${prog}" debug
+ eend $?
+}
+
+debug_sa() {
+ ebegin "Starting ${progname} in debug-sa mode"
+ "${prog}" debug-sa
+ eend $?
+}
diff --git a/mail-filter/amavisd-new/files/amavisd.service b/mail-filter/amavisd-new/files/amavisd.service
new file mode 100644
index 000000000000..c53c38ac1632
--- /dev/null
+++ b/mail-filter/amavisd-new/files/amavisd.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Amavisd Daemon
+Wants=postfix.service
+Wants=spamassassin.service
+Wants=clamd.service
+After=network.target
+
+[Service]
+User=amavis
+Group=amavis
+ExecStart=/usr/sbin/amavisd -c /etc/amavisd.conf foreground
+ExecReload=/usr/sbin/amavisd -c /etc/amavisd.conf reload
+PrivateTmp=true
+CapabilityBoundingSet=
+ProtectSystem=full
+NoNewPrivileges=true
+PrivateDevices=true
+ProtectHome=true
+MemoryDenyWriteExecute=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/amavisd-new/metadata.xml b/mail-filter/amavisd-new/metadata.xml
new file mode 100644
index 000000000000..2a38ad5c4dac
--- /dev/null
+++ b/mail-filter/amavisd-new/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>antivirus@gentoo.org</email>
+ <name>Gentoo Antivirus Project</name>
+ </maintainer>
+ <use>
+ <flag name="courier">Add courier support</flag>
+ <flag name="dkim">Add DomainKeys Identified Mail support</flag>
+ <flag name="qmail">Add qmail support</flag>
+ <flag name="razor">Add support for mail-filter/razor</flag>
+ <flag name="spamassassin">Add support for mail-filter/spamassassin</flag>
+ <flag name="zmq">Add support for zeromq sockets</flag>
+ </use>
+</pkgmetadata>
diff --git a/mail-filter/anomy-sanitizer/Manifest b/mail-filter/anomy-sanitizer/Manifest
new file mode 100644
index 000000000000..4a54dd306fbd
--- /dev/null
+++ b/mail-filter/anomy-sanitizer/Manifest
@@ -0,0 +1,10 @@
+AUX anomy.conf 6714 SHA256 34c5e57cef806d9ae2f727574b3e791c508eb92a8ada38780d228964b349b963 SHA512 3724971ea6463f9de263ecd8a4e6eab82e4ebde3601a43702a7535d85075edb48b47d44371ad7b52bfb8b06f0aca5e09679cb91dacdc637ccb6c11993d7a3e2f WHIRLPOOL c90a9b88a080c8454c38f2367f8a3f5c18e4fa63919db24133d787044a4385c038d45eab973cd7506911c9d377df0f51f615f8e9226bae930fa627c281ab86c9
+AUX sample2_mailfilter.sh 1898 SHA256 45aba37c7ecf9e0494a4ea130f569168f75cc24c08135720bdc8e51d102b128a SHA512 c5d26bf2c5bbac8d8bae068e59f0e70094e366f0bd6c44ce0efd95744093e31ba6071efe6c53ad56a930be1a72a047e8c5eb518ca9eda6feb5bd3c750d5cb3a7 WHIRLPOOL f4a88ca0011f7018bd23fb345dfb4205afcf99ce8f0f241d720e3cba539612cdd850fd8e54d247671935fde0f2665d3187e5d1a8654f5ac19d2eda7a7b9d0c50
+AUX sample_mailfiler.sh 1725 SHA256 0a20fd1d8f7bba85b325aa438fa5835372f5ae9fb83e7d17253ecb0afe734f90 SHA512 0bda33d21bbceefaa019ba8699153dbc10b2e120fc5ee9068412cc914137acc05df3b469628b1753887287e9bb04ce7529eeb448c3b220d7b4ca5495a2b27398 WHIRLPOOL a5174124c357898e0de9e4c03463a4a820374b0c5a83a60c580eefb66df44a53da6fa5027bb6a6a259834bd8d1230a1513da090425d46fccc80d417294be9437
+DIST anomy-sanitizer-1.76.tar.gz 172722 SHA256 aece7173df7984a6b1b050e58e9e1aaef2393ff9a5f7b808e3176ba76a3347f4 SHA512 4ba805f733f291af71f6ec514274f27bedd132c8613ea5a96eb6bffce9ee6fed15eaf73562f69c77327174bb91e101ce36f2e24917af61efa1b88a8acb721b41 WHIRLPOOL fceeb9e69a982ea935b15577fcc871598bc9c27468860559d7274dfd2d5562776f4e627687ce558038ce06f1b0c374d950b19aa69fbdc315bebb8bd2f65cc071
+DIST sample_e-mail-architecture.png.tar 20480 SHA256 1ead0d73dac23611dc5162f0203414364b96cd1b436682f78507b9b2bef57d9d SHA512 8f2ea6fd8bda828479ad659ac5c87175eb822c7c239713103a650feac0c46ac55476b59bdf2c99ca94b23bebaa2247fc55517b31a73c96e85d9664d759b0f1e2 WHIRLPOOL 30e0254d2bbf920fca10cc3906cd9370877d175a243d8ce782bcce7036addba43412670f5cb14a7f6c7bbbb6c749f75a74aa9a3b16939631ec3036403cabce35
+DIST sample_e-mail-architektur.flw 7001 SHA256 eca14ee6bf771a824c698c47a701cef26f4f496d29b3602722bfb0164a8616f6 SHA512 7c45e3787f80a94f8dda26e9d7d980aa96ec0163fa8b6f998be9e7ea188fedceb9c7db29c7d65099da9003c36de68335a016a33ce827ca10330a7115a87d5c59 WHIRLPOOL f2260b042c99c99656a084ff77c584ed0112e3fe9955ceebcf1f43b67f06b9c8725b308f2bfcc5505a4c35b7b6c9678607c0e8a5078b3a836c93ec56177be8c7
+EBUILD anomy-sanitizer-1.76-r1.ebuild 3052 SHA256 0a2ffe2d788f0cb60c9172368616a7dd91811c4f09cf6246f68fb46b3f603699 SHA512 c62a1308566343e89010c76d4bd7753bbdbb9a5ef45099a5aefde7215b4f68f5c40c20c6d51ae267d79217f29a97d6b5b25a2f634bd717c29d3a39b7dbe6f15b WHIRLPOOL 8033abf8e83d023d2cae41c671c1ffc720d149253b09c2582894945b276a3e1cb35a70007d0493eb27195b62d1106c1ee9ad2ac1b2910b8cf44dd6dd42526821
+MISC ChangeLog 2666 SHA256 92f43e678b1b911ecd338da9c5bfd44cf33154d2cbd1d2f9b655cb847fe23aab SHA512 f68f7161dc984f32469434c3b8679770a2cb6fe5c2212ad15d5f044965dbbcfa34f7bca87dc7a1ff06c8ab8e5603f9eaf1a10c4755c18aa60380ad35c014d779 WHIRLPOOL 7748f92688b31b4179b7c75817184f9a01112ce6d18eb1aaf22c81ff27109f18922f4d4153dcf6b2ad7b4286fa699b3bf0831117f16672995c00b97eb0e90173
+MISC ChangeLog-2015 3552 SHA256 f287f76dceee0ea993722bd2cd17ca6f525024e6d51a0077f3f227bef2180544 SHA512 ef53f4478ceab6c3e84dacf7e8e39908c3d1d2fa33267a67b739a5d0fd1dfc9ddf7e07bf5551179cb288cd756763adc33495e75cd291555cf4b454d7e9f33fdc WHIRLPOOL 7054956d67c9e3c3150184d79004ddc22a084ca133362d850d4ea5b06c55ce91399114ce865b5851250a86721f907d629e70a0e6e3c267d3ce1db666f66f39b4
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/mail-filter/anomy-sanitizer/anomy-sanitizer-1.76-r1.ebuild b/mail-filter/anomy-sanitizer/anomy-sanitizer-1.76-r1.ebuild
new file mode 100644
index 000000000000..a33654195069
--- /dev/null
+++ b/mail-filter/anomy-sanitizer/anomy-sanitizer-1.76-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils user
+
+DESCRIPTION="Perl based e-mail filtering tool"
+HOMEPAGE="http://mailtools.anomy.net/"
+SRC_URI="
+ https://dev.gentoo.org/~jlec/distfiles/sample_e-mail-architecture.png.tar
+ http://mailtools.anomy.net/dist/${PN}-${PV}.tar.gz
+ https://dev.gentoo.org/~pacho/maintainer-needed/sample_e-mail-architektur.flw"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-lang/perl
+ >=virtual/perl-MIME-Base64-2.12-r2
+ >=dev-perl/Mail-Audit-2.1-r1
+ dev-perl/Convert-TNEF
+ dev-perl/MIME-tools
+ dev-perl/libwww-perl
+ virtual/mta"
+
+S="${WORKDIR}/anomy"
+DEST="/usr/share/${PN}"
+SANI_WORKDIR="/var/spool/sanitizer"
+SANI_CONFDIR="/etc/mail/${PN}"
+
+src_install() {
+ dodoc *.sanitizer CREDITS UNICODE.TXT
+ dohtml sanitizer.html
+ rm -rf "${S}/contrib/.tmp"
+ rm -f *.sanitizer CREDITS UNICODE.TXT sanitizer.html
+ mv "${S}/contrib" "${D}/usr/share/doc/${PF}/"
+
+ insinto /usr/share/doc/${PF}/examples
+ doins "${FILESDIR}"/*.sh "${WORKDIR}"/*.png "${DISTDIR}"/*.flw
+
+ keepdir ${SANI_CONFDIR}
+ insinto ${SANI_CONFDIR}
+ doins "${FILESDIR}"/*.conf
+
+ keepdir ${SANI_WORKDIR}
+ dodir ${DEST}
+ insinto ${DEST}
+
+# generate lists for doins
+ _list="anomy anomy/bin anomy/bin/Anomy anomy/bin/Anomy/Sanitizer anomy/testcases anomy/testcases/results.def"
+
+ for i in $_list; do
+ _di=`echo $i | sed -e "s/^anomy//g; s/^\///g"` &>/dev/null
+ insinto ${DEST}/$_di
+
+ _sublist=`find "${WORKDIR}"/$i/* -maxdepth 0 -type f`
+ for l in $_sublist; do
+ echo &>/dev/null
+ doins $l
+ done
+ done
+
+ dosym ${SANI_CONFDIR}/anomy.conf ${DEST}/anomy.conf
+}
+
+pkg_preinst() {
+ enewgroup sanitizer
+ enewuser sanitizer -1 -1 ${SANI_WORKDIR} sanitizer
+}
+
+pkg_postinst() {
+ chown -R sanitizer:sanitizer "${ROOT}"/${SANI_WORKDIR}
+ chmod -R a-rwx,g+X,u+rwX "${ROOT}"/${SANI_WORKDIR}
+ chown -R sanitizer:sanitizer "${ROOT}"/${DEST}
+ chmod -R a-rwx,g+rX,u+rX "${ROOT}"/${DEST}
+ chown sanitizer:sanitizer "${ROOT}"/${SANI_CONFDIR}/anomy.conf
+ chmod 0640 "${ROOT}"/${SANI_CONFDIR}/anomy.conf
+ chmod u+x "${ROOT}"/${DEST}/bin/*.pl
+ chmod u+x "${ROOT}"/${DEST}/testcases/*.sh
+ chmod u+w "${ROOT}"/${DEST}/*
+ chmod u+w "${ROOT}"/${DEST}/bin
+ chmod u+w "${ROOT}"/${DEST}/bin/Anomy
+ chmod u+w "${ROOT}"/${DEST}/bin/Anomy/Sanitizer
+ chmod u+w "${ROOT}"/${DEST}/testcases
+ chmod u+w "${ROOT}"/${DEST}/testcases/results.def
+
+ elog ""
+ elog "There is a howto for the integration of sanitizer"
+ elog "into your (postfix) mail system at"
+ elog "http://advosys.ca/papers/postfix-filtering.html"
+ elog "Please find example scripts to be used to integrate sanitizer"
+ elog "into your (postfix) mail system at"
+ elog "/usr/share/doc/${PF}/examples"
+ elog "There is also a png and kivio document about a possible"
+ elog "e-mail architecture"
+ elog ""
+
+}
+
+pkg_postrm() {
+ elog "After unmerging this ebuild, you will have to remove"
+ elog "created user and group manually. To do so, run:"
+ elog "userdel -r sanitizer; groupdel sanitizer"
+}
diff --git a/mail-filter/anomy-sanitizer/files/anomy.conf b/mail-filter/anomy-sanitizer/files/anomy.conf
new file mode 100644
index 000000000000..f7c45cd973d2
--- /dev/null
+++ b/mail-filter/anomy-sanitizer/files/anomy.conf
@@ -0,0 +1,207 @@
+# Example configuration file for Anomy Sanitizer
+#
+# Thiemo Kellner, thiemo@thiam.ch, 2003-05-29
+# Based on http://advosys.ca/papers/postfix-filtering.html,
+# Advosys Consulting Inc., Ottawa
+#
+# Works with Anomy Sanitizer revision 1.60
+
+
+ # Warn user about unscanned parts, etc.
+ feat_verbose = 1
+
+ # Inline logs: 0 = Off, 1 = Maybe, 2 = Force
+ feat_log_inline = 1
+
+ # Print log to standard error: 0 = Off, 1 = On
+ feat_log_stderr = 1
+
+ # Don't use XML format for logs.
+ feat_log_xml = 0
+
+ # Omit trace info from logs.
+ feat_log_trace = 0
+
+ # Don't add any scratch space to part headers.
+ feat_log_after = 0
+
+ # Enable filename-based policy decisions.
+ feat_files = 1
+
+ # Force all parts (except text/plain and
+ # text/html parts) to have file names: 0 = Off, 1 = On
+ feat_force_name = 1
+
+ # Replace all boundary strings with our own
+ # NOTE: Always breaks PGP/MIME messages!
+ feat_boundaries = 0
+
+ # Protect against buffer overflows and null values.
+ feat_lengths = 1
+
+ # Defang incoming shell scripts.
+ feat_scripts = 1
+
+ # Defang active HTML content.
+ feat_html = 1
+
+ # Web-bugs are allowed.
+ feat_webbugs = 0
+
+ # Don't scan PGP signed message parts: 0 = Don't scan (???)
+ feat_trust_pgp = 0
+ msg_pgp_warning = WARNING: Unsanitized content follows.\n
+
+ # Sanitize inline uuencoded files.
+ feat_uuencoded = 1
+
+ # Sanitize forwarded messages
+ feat_forwards = 1
+
+ # Set to 0 if going productive (This isn't a test-case configuration.)
+ feat_testing = 1
+
+ # Fix invalid MIME, if possible.
+ feat_fixmime = 1
+
+ # Don't be excessively paranoid about MIME headers etc.
+ feat_paranoid = 0
+
+ # Advertisement to insert in each mail header:
+ header_info = X-Sanitizer: Anomy Sanitizer mail filter
+ header_url = 0
+ header_rev = 0
+
+
+ #
+ # Scoring
+ #
+
+ # Any message requring this many modifications
+ # will cause the sanitizer to return a non-zero
+ # exit code after processing the entire message.
+ # To disable set to 0.
+ score_bad = 100
+ #score_panic = 0
+
+ msg_file_drop = \n*****\n
+ msg_file_drop += NOTE: An attachment named %FILENAME was deleted from
+ msg_file_drop += this message because it contained a (windows) executable
+ msg_file_drop += or other potentially dangerous file type.
+ msg_file_drop += If you really need this attachment, have it re-sent
+ msg_file_drop += encapsulated, e.g. in a zip or tgz archive or contact your
+ msg_file_drop += mail system administrator.
+
+ #
+ # You may need to increase the following if you have a very
+ # complex configuration split between multiple files.
+ #
+ # Thiemo Kellner, thiemo@thiam.ch, 2003-05-31
+ # max_conf_recursions does not work with 1.60
+ #max_conf_recursions = 5 # The default is 5.
+ #
+ # Create temporary or saved files using this template.
+ # An attachment named "dude.txt" might be saved as
+ #
+ # /var/quarantine/att-dude-txt.A9Y
+ #
+ # Note: The directory must exist and be writable by
+ # the user running the sanitizer.
+ # (supposedly: $F -> file name, $$$ -> three arbitrary characters)
+ file_name_tpl = /var/spool/sanitizer/att-$F.$$$
+
+ # We have three policies, in addition to the default which is
+ # to defang file names.
+ #
+ file_list_rules = 3
+ file_default_policy = defang
+ file_default_filename = unnamed.file
+
+ # Delete obviously executable attachments. This list is
+ # incomplete! This is a perl regular expression, see "man
+ # perlre" for info. The (?i) prefix makes the regexp case
+ # insensitive.
+ #
+ file_list_1 = (?i)(winmail.dat)|
+ file_list_1 += (\.(exe|com|vb[se]|dll|ocx|cmd|bat|pif|lnk|hlp|ms[ip]|reg|sct
+ file_list_1 += |inf|asd|cab|sh[sb]|scr|cpl|chm|ws[fhc]|hta|vcd|vcf|eml|nws))$
+ file_list_1_policy = drop
+ file_list_1_scanner = 0
+
+ # Scan WinWord and Excel attachments with built-in macro scanner.
+ # We consider anything exceeding the score of 25 to be dangerous,
+ # and save it in the quarantine.
+ #
+ file_list_2 = (?i)\.(doc|dot|xls|xlw)$
+ file_list_2_policy = accept:accept:save:save
+ file_list_2_scanner = 0:1:2:builtin/macro 25# Do not log to STDERR:
+
+ # Allow file types considered "safe" (DO NOT JUST TRUST THIS LIST!)
+ file_list_3 = (?i)\.(
+ # Plain ASCII formats:
+ file_list_3 += txt|rtf|csv|dxf|htm|[sp]?html?|xml|xslt?|dtd|css|sgml
+ # PostScript (like) formats:
+ file_list_3 += |pdf|e?ps
+ # Word processor and document formats:
+ file_list_3 += |doc|dot|kwd|stw
+ # Spreadsheets:
+ file_list_3 += |xls|xlw|xlt|wk[1-4]|stc|ksp|gnumeric
+ # Presentation applications:
+ file_list_3 += |ppt|pps|pot|kpr|chrt
+ # Type setting formats:
+ file_list_3 += |dvi|texi?|tfm|txi|texinfo
+ # Flow charting:
+ file_list_3 += |flw
+ # Bitmap graphic files (maybe some are actually vector graphic formats):
+ file_list_3 += |jpe?g|gif|png|tiff?|bmp|psd|pcx|xcf|pat|pix|pnm|sgi|snp|ras|tga
+ file_list_3 += |xwd|xpm|dib|rle|cal|cas|pat|bmf|cel|cex|cgm|ico|img|jfi|jif|raw
+ file_list_3 += |crw|sun
+ # Vector graphics and diagramming:
+ file_list_3 += |vsd|drw|cdr|swf|pct|pict|kpm|kon
+ # Multimedia:
+ file_list_3 += |mp[23]|avi|mpe?g|mov|ram?|midi?|ogg|aiff?|au|snd|wav
+ # Archives:
+ file_list_3 += |zip|g?z|rar|tgz|t?bz2|tar|sit|sea|arc
+ # Package formats:
+ file_list_3 += |rpm|deb
+ # Others:
+ file_list_3 += |kfo
+ # Source code:
+ file_list_3 += |[ch](pp|\+\+)?|s|inc|asm|patch|java|php\d?|jsp|bas|ebuild)
+ file_list_3_policy = accept
+ file_list_3_scanner = 0
+
+ # Any file type not listed above gets renamed to prevent
+ # the mail client from auto-executing it.
+
+ #
+ # More sample file lists
+ #
+ # Scan mp3 files for Evil Viruses, using the imaginary mp3virscan
+ # utility. Always define FOUR potential policies, which depend on the
+ # exit code returned by the scanner. Which code means what is
+ # defined in the scanner line, which must contain THREE entries.
+ # The fourth policy is used for "anything else".
+ #
+ # "accept" if the file is clean (exit status 0 or 1)
+ # "mangle" if the file was dirty, but is now clean (2 or 4)
+ # "drop" if the file is still dirty (66)
+ # "save" if the mp3virscan utility returns some other exit code
+ # or an error occurs.
+ #
+ #file_list_4 = (?i)\.(mp3|mp2|mpg)$
+ #file_list_4_policy = accept:mangle:drop:save
+ #file_list_4_scanner = 0,1:2,4:66:/path/to/mp3virscan -opt -f %FILENAME
+
+ # Archives and scriptable stuff - virus scan these.
+ # NOTE: There must be THREE groups of exit codes and FOUR policies,
+ # - the first three match the code groups, the fourth is default.
+ #
+ #file_list_5_scanner = 0:5:3,4:/usr/local/bin/avp.sh %FILENAME
+ #file_list_5_policy = accept:accept:save:save
+ #file_list_5 = (?i)\.(xls|d(at|oc)|p(pt|l)|rtf|[sp]?html?
+ #file_list_5 += |class|upd|wp\d?|m?db
+ #file_list_5 += |z(ip|oo)|ar[cj]|lha|[tr]ar|rpm|deb|slp|tgz
+ #file_list_5 += )(\.g?z|\.bz\d?)*$
+
+
diff --git a/mail-filter/anomy-sanitizer/files/sample2_mailfilter.sh b/mail-filter/anomy-sanitizer/files/sample2_mailfilter.sh
new file mode 100644
index 000000000000..3448d0ac0ea2
--- /dev/null
+++ b/mail-filter/anomy-sanitizer/files/sample2_mailfilter.sh
@@ -0,0 +1,83 @@
+#!/bin/sh
+#
+# spamassassin
+#
+# Simple filter to plug SpamAssassin only
+# into the Postfix MTA, using the spamc / spamd
+# daemon version of SpamAssassin.
+#
+# (Should result in higher performance on busy servers)
+#
+# NOTE: spamd must be running before using this script!
+#
+# For use with:
+# Postfix 20010228 or later
+# SpamAssassin 2.42 or later
+#
+############
+# #
+# UNTESTED #
+# #
+############
+
+
+# VARIABLES
+# ---------
+
+# File locations
+# (CHANGE AS REQUIRED TO MATCH YOUR SET-UP)
+INSPECT_DIR="/var/spool/sanitizer"
+#INSPECT_DIR="/var/spool/filter"
+SENDMAIL="/usr/lib/sendmail -i"
+ANOMY="/usr/share/anomy-sanitizer"
+ANOMY_BIN="${ANOMY}/bin/sanitizer.pl"
+ANOMY_CONF="/usr/share/anomy-sanitizer/anomy.conf"
+#ANOMY_LOG="/dev/null"
+ANOMY_LOG="/tmp/sanitizer.log"
+SPAMASSASSIN="/usr/bin/spamassassin"
+#SPAMASSASSIN_LOG="/dev/null"
+SPAMASSASSIN_LOG="/tmp/spamassassin.log"
+CAT="/bin/cat"
+
+# Messages
+UNABLE_TO_CD_INSPECTDIR="Impossible to change to ${INSPECT_DIR}"
+MSG_CONTENT_REJECTED="Message content rejected"
+
+# Exit codes from <sysexits.h>
+EX_TEMPFAIL=75
+EX_UNAVAILABLE=69
+
+# Users that execute different filters
+SPAMC_USER="sanitizer"
+
+export ANOMY
+
+
+# MAIN
+# ----
+
+cd ${INSPECT_DIR} || { echo ${UNABLE_TO_CD_INSPECTDIR} ; exit ${EX_TEMPFAIL}; }
+
+# Clean up when done or when aborting.
+trap "rm -f out.$$" 0 1 2 3 15
+
+# sanitizer only
+#${CAT} \
+# | ${ANOMY_BIN} ${ANOMY_CONF} 2>>${ANOMY_LOG} > out.$$ || \
+# { echo ${MSG_CONTENT_REJECTED}; exit ${EX_UNAVAILABLE}; }
+
+# sanitizer and SpamAssassin
+${CAT} \
+ | ${SPAMC} -f -u ${SPAMC_USER} 2>${SPAMASSASSIN_LOG} \
+ | ${ANOMY_BIN} ${ANOMY_CONF} 2>>${ANOMY_LOG} > out.$$ || \
+ { echo ${MSG_CONTENT_REJECTED}; exit ${EX_UNAVAILABLE}; }
+
+# SpamAssassin only
+#${CAT} \
+# | ${SPAMC} -f -u ${SPAMC_USER} 2>${SPAMASSASSIN_LOG} > out.$$ || \
+# { echo ${MSG_CONTENT_REJECTED}; exit ${EX_UNAVAILABLE}; }
+
+$SENDMAIL "$@" < out.$$
+
+exit 0
+
diff --git a/mail-filter/anomy-sanitizer/files/sample_mailfiler.sh b/mail-filter/anomy-sanitizer/files/sample_mailfiler.sh
new file mode 100644
index 000000000000..a258f4890ded
--- /dev/null
+++ b/mail-filter/anomy-sanitizer/files/sample_mailfiler.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# spamc.sh
+#
+# Simple filter to plug SpamAssassin only
+# into the Postfix MTA, using the spamc / spamd
+# daemon version of SpamAssassin.
+#
+# (Should result in higher performance on busy servers)
+#
+# NOTE: spamd must be running before using this script!
+#
+# For use with:
+# Postfix 20010228 or later
+# SpamAssassin 2.42 or later
+#
+
+
+# VARIABLES
+# ---------
+
+# File locations
+# (CHANGE AS REQUIRED TO MATCH YOUR SET-UP)
+INSPECT_DIR="/var/spool/sanitizer"
+#INSPECT_DIR="/var/spool/filter"
+SENDMAIL="/usr/lib/sendmail -i"
+ANOMY="/usr/share/anomy-sanitizer"
+ANOMY_BIN="${ANOMY}/bin/sanitizer.pl"
+ANOMY_CONF="/usr/share/anomy-sanitizer/anomy.conf"
+#ANOMY_LOG="/dev/null"
+ANOMY_LOG="/tmp/sanitizer.log"
+SPAMC="/usr/bin/spamc"
+#SPAMC_LOG="/dev/null"
+SPAMC_LOG="/tmp/spamc.log"
+CAT="/bin/cat"
+
+# Messages
+UNABLE_TO_CD_INSPECTDIR="Impossible to change to ${INSPECT_DIR}"
+MSG_CONTENT_REJECTED="Message content rejected"
+
+# Exit codes from <sysexits.h>
+EX_TEMPFAIL=75
+EX_UNAVAILABLE=69
+
+# Users that execute different filters
+SPAMC_USER="sanitizer"
+
+export ANOMY
+
+
+# MAIN
+# ----
+
+cd ${INSPECT_DIR} || { echo ${UNABLE_TO_CD_INSPECTDIR} ; exit ${EX_TEMPFAIL}; }
+
+# sanitizer only
+#${CAT} \
+# | ${ANOMY_BIN} ${ANOMY_CONF} 2>>${ANOMY_LOG} \
+# | ${SENDMAIL} "$@" || \
+# { echo ${MSG_CONTENT_REJECTED}; exit ${EX_UNAVAILABLE}; }
+
+# sanitizer and SpamAssassin
+${CAT} \
+ | ${SPAMC} -f -u ${SPAMC_USER} 2>${SPAMC_LOG} \
+ | ${ANOMY_BIN} ${ANOMY_CONF} 2>>${ANOMY_LOG} \
+ | ${SENDMAIL} "$@" || \
+ { echo ${MSG_CONTENT_REJECTED}; exit ${EX_UNAVAILABLE}; }
+
+# SpamAssassin only
+#${CAT} \
+# | ${SPAMC} -f -u ${SPAMC_USER} 2>${SPAMC_LOG} \
+# | ${SENDMAIL} "$@" || \
+# { echo ${MSG_CONTENT_REJECTED}; exit ${EX_UNAVAILABLE}; }
+
+exit 0
+
diff --git a/mail-filter/anomy-sanitizer/metadata.xml b/mail-filter/anomy-sanitizer/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/mail-filter/anomy-sanitizer/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/mail-filter/anubis/Manifest b/mail-filter/anubis/Manifest
new file mode 100644
index 000000000000..9bdf4686626d
--- /dev/null
+++ b/mail-filter/anubis/Manifest
@@ -0,0 +1,12 @@
+AUX 4.1.1-gnutls.patch 527 SHA256 0904384c8fe11222dcd5c868e34a2f5121a888a302b842a1eb9739d5628a2872 SHA512 0bba97cd43a74a92c6761ce2fb245efd0098af99157eb70c1b8a5cc8a8edbb2f2ca53f67c5f8e817207b9363e5ae38f572be6b2b85d26e5f29e1998394bb75e7 WHIRLPOOL 7b0ddd8f552fae213741db176a607cbb18897d41dad723804fa4e76e37b384af3200c57fe309ef7be2ea8625d32f63f4fafe1051b1acd5227aa82fd82d4ae7e4
+AUX 4.1.1-gnutls3.patch 434 SHA256 5b7f22b2d454be0e0aff2affa968b51888283c59d3f2e1522e82efda5b41a146 SHA512 58349bac378699b667e0e5b1b24d9538e0c1d590d27a2413ffae884ab2828713e78933eead41cdf9d9ee7cece4a0587feb1820713594bd70e473edf7267af19c WHIRLPOOL dc72d7fdc77b771c1270d160f8964acd3c300264b7433bc7691e0ab324010e38f54030fedc0773e814a3bff0665fa75b34b6d130c7956866f878faf6aa2b75e3
+AUX 4.1.1-gpgme.patch 973 SHA256 d39ce21e99c1f6250a41de467e32b962858f0a4a25db653754cc5e88ac14b413 SHA512 c5812e752498abce76ed54df08198d832b887c1b3713a07f2ab1e09087d8bad73598edb9359bc26255ff5ab2b787319f89408eee1b86abe9b53dd709782cbaf3 WHIRLPOOL 289df699eb4317d3415790a13ef93edbe4b93c9b2f56ee99530d2cb4388950e6a81d48f29384349a495458af2c49d69ab650bd1b0888c46e46460caeadc32530
+AUX 4.1.1-testsuite.patch 570 SHA256 f1579eb14f1d854daba284991c28486308660536cae2e2ec324f8d18ba35b39e SHA512 c61a64a990ff4e6eb80118adb44681dd348afdb2d59aeb782a9d05db0cf8eefcb52d93108e243eda164a79d02f96780b9097380f1e73f8021952018a8222fc55 WHIRLPOOL 97122b7a42c462c061000fbf6cd088d3ee6cb7b3aa2221b207fc8d778e22918c816326fe715f312a714ee44dec5055605e7f34cfb926d9e3b12d570756c0fd0a
+DIST anubis-4.1.1.tar.gz 1104272 SHA256 93ef7a2d8bc3b50cd2e228cfe27e296ee14accadf8533bad9b2beee88a96e8fa SHA512 51e9c3a4cc4f217348522ba196daf26908f5ebed1abbe8c3f4c876847284e1f43f19d5cc68cde3cae5aacc55d42b7a6786f9afb23856c647ddf6d6c4b6c0a7a7 WHIRLPOOL 316e6d19b87b80f4f7c97899972deb31ca6d1797abb28d9a5eb4b8792f324bd69bf84a1f978e37cd4d98cbeead01a27cdb53a670a7e25d8ac2ed7860492a5b86
+DIST anubis-4.2.tar.gz 1623768 SHA256 5f3a2dd77c5ef52a593428c5b6d0042c1746eb8262c31bde9ee67455f8aad6d6 SHA512 cd16b67780b37f02a31374875763a1d54107289fbaf53160de5778f095b56bdb390c72a06fc067d87556b1158b0134c0fc88d30edbe124a71d8c80a89595e75f WHIRLPOOL f94e3afd6c6c74645d68b42c0d01a235b742e1efdab04bd883286756e751386e2defacf6d1c06dcb26f4ff4fa83f9a351ad81d4decf9ba98e8f6d136a2f69eb3
+EBUILD anubis-4.1.1-r1.ebuild 2109 SHA256 bec98490d3d6d9962a3cb083ebd6f48100396c4c9b816e73ed1aa96e443495de SHA512 519ab2982b392687d5f616579a50d71ef2d83a7b714928b148725b38bffe8053aaeb8468189e32882e3a5c8810b18beed7d6f32c708d2237b2d59476c34b9394 WHIRLPOOL 54fe26db8ad10f0fdbfca17c7d025c4f47bc38e0b482585e8a331cd9e04513523c3577bdef0fc07d37018aee10f7e09ee4e7506e036321e04dea6c2ba2a46f81
+EBUILD anubis-4.1.1.ebuild 2029 SHA256 3b26115e6e9270580bb38a3a05bf6d496e04e95df639be9a02e8b989456a5433 SHA512 1cc5409d4f0af6723ade89512f8d7b5215ea6a6af622b9b2f30f6ed13b33e861ab5d618a9c3ee44456461d294ea036906bb76b648eabfb9c603d530771c10afe WHIRLPOOL d0e9b3b6b7675e874ec7746ceb49cc447b82529676a09ebcb125238c855e597e4586b7faab740a3e6ee2b3930938c572cba37bba442485ae2fb68fb420821807
+EBUILD anubis-4.2.ebuild 1479 SHA256 a7fb9ae9ebad47e1f56a1e2ec619f5cfa0d288b309f6546bb59dafdaae5f4150 SHA512 e5089735a8c0ed305711cee229356c22af0983183100248bf6c5b620c5ee902cd42274defe39083b2a1ac5ea53dc1c8ff0e8a62d2651a173599db29211e59f26 WHIRLPOOL c60e01408bedf787f1cbc47e5ce1dea8c754646592f4bfd9c51f712108b6f499a32ba3738ee1bbb05a3f45ca751d0b78a16607341ab8bfad59b1ac96b1ba2a76
+MISC ChangeLog 2777 SHA256 ae64ff02a2d6268c1d17bb355de73d601c6d2ea2ae510b81155aa8002e9b4ad8 SHA512 a43dd693867aabb2fc88253dc7b29429b4f8e9fc4d30be24b7b32a6813a8fc8d7cf2a77ca6f5868f3a109c3135236aa44ef21361cf71b0a3ff61a89720457374 WHIRLPOOL 1fa731891853aa99ff2cca47927a18e938c71e254c5228a11457144e3afb55837a2846aad0bf364c5a6f3116221e605ddccdde1bb3e8d0077e12af3be11c16c7
+MISC ChangeLog-2015 4687 SHA256 f5753aebd33a5d16432c42738352a099869986b48e530e0c4635460cdda1498a SHA512 1c9e038855c82578196c788b160b53e31bbcbaab31f7a53852b113ac90e6066f21aba213ea0c9e5d605b640c87aaffa6275f1ad1d2827af6109b26eff9535673 WHIRLPOOL 61e6664754407f307ca4f91a45cd76316b1da3824cd46d6030f2510182a2e67636a4e576698d565dac85b5e7330a0838e3d78da9b8cdd0bdfcbab3c02630aa6a
+MISC metadata.xml 240 SHA256 f0e0bb7a24c4b1ff6b6a8a3e9315245c298499c03fbda429c0f775ec6a5396af SHA512 97824dbce22630efb21e647b55212b7a8a19d8e38b5bf05cb0b8078530bbbaaf4dc91284e2a11beab7dfcfb779df82b87b49d11a746c7a4f6dc71f2fda8942db WHIRLPOOL a7adfcb24489ae67a43a59d8350a70b20874fb03de95681c5b516a741d95422560a433f641de5a7222cf5d3500333e215055ec0cb3844e7abc6d6a836de97357
diff --git a/mail-filter/anubis/anubis-4.1.1-r1.ebuild b/mail-filter/anubis/anubis-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..c229420bab38
--- /dev/null
+++ b/mail-filter/anubis/anubis-4.1.1-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils autotools pam toolchain-funcs user
+
+DESCRIPTION="GNU Anubis is an outgoing mail processor"
+HOMEPAGE="https://www.gnu.org/software/anubis/"
+
+SRC_URI="mirror://gnu/anubis/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE="crypt guile mysql postgres nls pam pcre sasl socks5 +gnutls tcpd test"
+
+RDEPEND="sys-libs/gdbm
+ crypt? ( >=app-crypt/gpgme-0.9.0 )
+ guile? ( >=dev-scheme/guile-1.8 )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql[server] )
+ nls? ( sys-devel/gettext )
+ pcre? ( >=dev-libs/libpcre-3.9 )
+ sasl? ( virtual/gsasl )
+ gnutls? ( net-libs/gnutls )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+DEPEND="${RDEPEND}
+ test? ( dev-util/dejagnu )"
+
+REQUIRED_USE="mysql? ( sasl )
+ postgres? ( sasl )"
+
+pkg_setup() {
+ enewuser anubis
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-gnutls.patch
+ epatch "${FILESDIR}"/${PV}-gpgme.patch
+ epatch "${FILESDIR}"/${PV}-testsuite.patch
+ epatch "${FILESDIR}"/${PV}-gnutls3.patch
+ sed -i -e "s/1024-bit ELG-E/1024-bit ELG/" \
+ testsuite/etc/{gpgcrypt.pat,gpgse.pat}
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use crypt ; then
+ myconf="--with-gpgme --with-gpgme-prefix=$(gpgme-config --prefix)"
+ else
+ myconf="--without-gpgme"
+ fi
+ econf --with-unprivileged-user=anubis \
+ --disable-rpath \
+ $(use_with mysql) \
+ $(use_with postgres) \
+ $(use_with pam) \
+ $(use_with pcre) \
+ $(use_enable nls) \
+ $(use_with guile) \
+ $(use_with sasl gsasl) \
+ $(use_with gnutls) \
+ $(use_with tcpd tcp-wrappers) \
+ $(use_with socks5 socks-proxy) \
+ ${myconf}
+}
+
+src_compile() {
+ # parallel make fails
+ emake AR=$(tc-getAR) -j1
+}
+
+src_test() {
+ cd "${S}/testsuite"
+ emake -j1 check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README* THANKS TODO
+ docinto examples
+ dodoc examples/*anubis*
+ docinto guile
+ dodoc guile/*.scm
+
+ if use pam ; then
+ pamd_mimic system-auth anubis auth account session
+ fi
+
+ rm -rf "${D}"/usr/share/anubis
+}
diff --git a/mail-filter/anubis/anubis-4.1.1.ebuild b/mail-filter/anubis/anubis-4.1.1.ebuild
new file mode 100644
index 000000000000..96fda178e73f
--- /dev/null
+++ b/mail-filter/anubis/anubis-4.1.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils autotools pam user
+
+DESCRIPTION="GNU Anubis is an outgoing mail processor"
+HOMEPAGE="https://www.gnu.org/software/anubis/"
+
+SRC_URI="mirror://gnu/anubis/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="ppc x86"
+IUSE="crypt guile mysql postgres nls pam pcre sasl socks5 +gnutls tcpd test"
+
+RDEPEND="sys-libs/gdbm
+ crypt? ( >=app-crypt/gpgme-0.9.0 )
+ guile? ( >=dev-scheme/guile-1.8 )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql[server] )
+ nls? ( sys-devel/gettext )
+ pcre? ( >=dev-libs/libpcre-3.9 )
+ sasl? ( virtual/gsasl )
+ gnutls? ( net-libs/gnutls )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+DEPEND="${RDEPEND}
+ test? ( dev-util/dejagnu )"
+
+REQUIRED_USE="mysql? ( sasl )
+ postgres? ( sasl )"
+
+pkg_setup() {
+ enewuser anubis
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-gnutls.patch
+ epatch "${FILESDIR}"/${PV}-gpgme.patch
+ epatch "${FILESDIR}"/${PV}-testsuite.patch
+ sed -i -e "s/1024-bit ELG-E/1024-bit ELG/" \
+ testsuite/etc/{gpgcrypt.pat,gpgse.pat}
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use crypt ; then
+ myconf="--with-gpgme --with-gpgme-prefix=$(gpgme-config --prefix)"
+ else
+ myconf="--without-gpgme"
+ fi
+ econf --with-unprivileged-user=anubis \
+ --disable-rpath \
+ $(use_with mysql) \
+ $(use_with postgres) \
+ $(use_with pam) \
+ $(use_with pcre) \
+ $(use_enable nls) \
+ $(use_with guile) \
+ $(use_with sasl gsasl) \
+ $(use_with gnutls) \
+ $(use_with tcpd tcp-wrappers) \
+ $(use_with socks5 socks-proxy) \
+ ${myconf}
+}
+
+src_compile() {
+ # parallel make fails
+ emake -j1
+}
+
+src_test() {
+ cd "${S}/testsuite"
+ emake -j1 check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README* THANKS TODO
+ docinto examples
+ dodoc examples/*anubis*
+ docinto guile
+ dodoc guile/*.scm
+
+ if use pam ; then
+ pamd_mimic system-auth anubis auth account session
+ fi
+
+ rm -rf "${D}"/usr/share/anubis
+}
diff --git a/mail-filter/anubis/anubis-4.2.ebuild b/mail-filter/anubis/anubis-4.2.ebuild
new file mode 100644
index 000000000000..17ae62c4609d
--- /dev/null
+++ b/mail-filter/anubis/anubis-4.2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils pam toolchain-funcs user
+
+DESCRIPTION="GNU Anubis is an outgoing mail processor"
+HOMEPAGE="https://www.gnu.org/software/anubis/"
+
+SRC_URI="mirror://gnu/anubis/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE="crypt guile mysql postgres nls pam pcre sasl socks5 +gnutls tcpd test"
+
+RDEPEND="sys-libs/gdbm
+ crypt? ( >=app-crypt/gpgme-1.8.0 )
+ guile? ( >=dev-scheme/guile-1.8 )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql:*[server] )
+ nls? ( sys-devel/gettext )
+ pcre? ( >=dev-libs/libpcre-3.9 )
+ sasl? ( virtual/gsasl )
+ gnutls? ( net-libs/gnutls )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+DEPEND="${RDEPEND}
+ test? ( dev-util/dejagnu )"
+
+REQUIRED_USE="mysql? ( sasl )
+ postgres? ( sasl )"
+
+pkg_setup() {
+ enewuser anubis
+}
+
+src_configure() {
+ econf --with-unprivileged-user=anubis \
+ --disable-rpath \
+ $(use_with mysql) \
+ $(use_with postgres) \
+ $(use_with pam) \
+ $(use_with pcre) \
+ $(use_enable nls) \
+ $(use_with guile) \
+ $(use_with sasl gsasl) \
+ $(use_with gnutls) \
+ $(use_with tcpd tcp-wrappers) \
+ $(use_with socks5 socks-proxy) \
+ $(use_with crypt gpgme)
+}
+
+src_test() {
+ emake -C testsuite check
+}
+
+src_install() {
+ default
+ docinto examples
+ dodoc examples/*anubis*
+ docinto guile
+ dodoc guile/*.scm
+
+ use pam && pamd_mimic system-auth anubis auth account session
+}
diff --git a/mail-filter/anubis/files/4.1.1-gnutls.patch b/mail-filter/anubis/files/4.1.1-gnutls.patch
new file mode 100644
index 000000000000..c4dd28bff693
--- /dev/null
+++ b/mail-filter/anubis/files/4.1.1-gnutls.patch
@@ -0,0 +1,11 @@
+--- configure.ac 2011-06-13 13:46:22.817856139 +0300
++++ configure.ac 2011-06-13 13:47:56.000000000 +0300
+@@ -277,7 +277,7 @@
+ if test $with_gnutls = yes; then
+ AC_CHECK_HEADERS(gnutls/gnutls.h)
+ if test $ac_cv_header_gnutls_gnutls_h != no; then
+- AM_PATH_LIBGNUTLS("1.0.0",
++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 1.0.0,
+ [M4_DEFS="$M4_DEFS -DWITH_SSL -DWITH_GNUTLS"
+ AC_DEFINE(USE_GNUTLS, 1,
+ [Define to 1 if USE_GNUTLS is requested.])],
diff --git a/mail-filter/anubis/files/4.1.1-gnutls3.patch b/mail-filter/anubis/files/4.1.1-gnutls3.patch
new file mode 100644
index 000000000000..c9d9197a2184
--- /dev/null
+++ b/mail-filter/anubis/files/4.1.1-gnutls3.patch
@@ -0,0 +1,14 @@
+--- src/tls.c 2008-12-16 16:21:54.000000000 +0000
++++ src/tls.c 2012-10-30 09:06:37.387243098 +0000
+@@ -294,7 +294,10 @@
+ static void
+ verify_certificate (gnutls_session session)
+ {
+- int status = gnutls_certificate_verify_peers (session);
++ int status, verify_ret;
++ verify_ret = gnutls_certificate_verify_peers2 (session, &status);
++ if (!verify_ret)
++ return status;
+
+ if (status == GNUTLS_E_NO_CERTIFICATE_FOUND)
+ {
diff --git a/mail-filter/anubis/files/4.1.1-gpgme.patch b/mail-filter/anubis/files/4.1.1-gpgme.patch
new file mode 100644
index 000000000000..7aa8ba578eec
--- /dev/null
+++ b/mail-filter/anubis/files/4.1.1-gpgme.patch
@@ -0,0 +1,32 @@
+--- configure.ac 2011-06-13 19:40:37.856822010 +0300
++++ configure.ac 2011-06-13 19:43:27.000000000 +0300
+@@ -149,10 +149,18 @@
+ AC_MSG_CHECKING(for $1/include/gpgme.h)
+ AC_MSG_RESULT([yes])
+ return 0
++ else
++ if test -f "$1/include/gpgme/gpgme.h"; then
++ gpgmedir=1
++ INCLUDES="$INCLUDES -I$1/include/gpgme"
++ AC_MSG_CHECKING(for $1/include/gpgme/gpgme.h)
++ AC_MSG_RESULT([yes])
++ return 0
++ fi
+ fi
+ return 1
+ }
+- for maindir in /usr/pkg /opt /sw; do
++ for maindir in /usr/pkg /opt /sw /usr; do
+ findgpgmedir $maindir && break 2
+ done
+ if test $gpgmedir; then
+--- configure.ac 2011-06-17 11:54:29.000000000 +0000
++++ configure.ac 2011-06-17 11:56:22.000000000 +0000
+@@ -137,6 +137,7 @@
+ else
+ AM_PATH_GPGME([1.0.0], with_gpgme=yes, with_gpgme=no)
+ AC_CHECK_LIB(gpgme, main,, with_gpgme=no)
++ AC_CHECK_LIB(gpg-error, gpg_err_init,, with_gpgme=no)
+ fi
+ if test "$with_gpgme" = "no"; then
+ AC_MSG_RESULT([Disabling GPGME support...])
diff --git a/mail-filter/anubis/files/4.1.1-testsuite.patch b/mail-filter/anubis/files/4.1.1-testsuite.patch
new file mode 100644
index 000000000000..5b1c656fa0af
--- /dev/null
+++ b/mail-filter/anubis/files/4.1.1-testsuite.patch
@@ -0,0 +1,14 @@
+--- testsuite/data/Makefile.am 2011-06-13 14:29:38.843665225 +0300
++++ testsuite/data/Makefile.am 2011-06-13 14:31:16.000000000 +0300
+@@ -22,8 +22,10 @@
+ EXTRA_DIST = pubring.asc secring.asc anubis.pem append.txt users
+ CLEANFILES = *.gpg random_seed *~ text.db
+
+-pubring.gpg secring.gpg: $(srcdir)/pubring.asc $(srcdir)/secring.asc
++pubring.gpg: $(srcdir)/pubring.asc
+ $(GPG) --homedir . --import < $(srcdir)/pubring.asc
++
++secring.gpg: $(srcdir)/secring.asc
+ $(GPG) --homedir . --allow-secret-key-import --import < $(srcdir)/secring.asc
+
+ text.db: $(srcdir)/users
diff --git a/mail-filter/anubis/metadata.xml b/mail-filter/anubis/metadata.xml
new file mode 100644
index 000000000000..9a6d80e5da48
--- /dev/null
+++ b/mail-filter/anubis/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+</pkgmetadata>
diff --git a/mail-filter/ask/Manifest b/mail-filter/ask/Manifest
new file mode 100644
index 000000000000..4848fb891c24
--- /dev/null
+++ b/mail-filter/ask/Manifest
@@ -0,0 +1,7 @@
+DIST ask-2.4.1.tar.gz 102631 SHA256 1b5aedca6ff52cb6067f07ca6f8766e86ab4dd2b19585a3e4221c01cc50f147d SHA512 a6e84f6846019f5ac76f127abdcb27d74e3661aa396ab442fa0805679543cadd3de6c9e37d3e7e7aa778543893e6e5fa9067279c040f90d7b2053a9d03cb5a9c WHIRLPOOL dccf0c09313a6b3dc6db2f366eec25744f11da9b759f0aad1b62117d7b8bbbd9f6127fc922d6caf57f78830be04aebe99fe70f556ea44f3d8d3d7790d79f6a0a
+DIST ask-2.5.3.tar.gz 106339 SHA256 f5f90d9006f655673104d45f803a6e7e1f9baba708a51510cf16e5e753183f15 SHA512 cd3be1ecf989372d3127d7c54cee1a7c4ceea37bcd445a759f59df3569dc339fc93e20b073d2a75e8d8b99a8d2d422ad6a327c21155f86c2c4b1daf87cca09bf WHIRLPOOL 0dba9831e334fe28e1dbc13119a82328287ee453cdd69e65b27b75f0683f93f9a9f8f4c82f1b2f7b274f4ef351a07bbf5e6f648482052866fd0d6552b3291b8c
+EBUILD ask-2.4.1.ebuild 1410 SHA256 7363a043c6f7fffb1617fa2a34db60145d6dc2f958bb9dbb401e80e90bc28fcf SHA512 d4c38a392252cb2bc972ec44409ae3de88064287e049e3554b0163694979187f8a5601861c26627928c9b55769dbeb4da5d527c313d78e1ff88222fbe8a42d63 WHIRLPOOL afac8b233c91803abe07b159a280f01a0a9f3741e4c97ebcc7224682fef75f310ed2937374ee71e0f4ec48b4ea31a629bceaa313279e12e01efa3eff44ec6efe
+EBUILD ask-2.5.3.ebuild 1007 SHA256 dfed27ccc39c7014560be5c336d542110d72a97f255018b78bb142f80e885178 SHA512 a448a1ddf72452afdd6ec51118b360819823c732dca58e91d3bccae59363448f8433e116981a9877dbe98d9cf17f2ce18ecbbefcc70297dee60f82890c0644ac WHIRLPOOL f5c72f8ffd702c521d6a5b61c12063636c2b082298581c863b3ebb546a59662e3dde2f1b0a8570d77120c40351d3e385af749bccb00544f90fbf79ab2062e609
+MISC ChangeLog 2462 SHA256 37c5cb6a0c828b79bb565741717de80cb5a6e8478e61f9f1a67dc5b68c057805 SHA512 fe24edc0d8027abf59969a9fe77995ae1488c17e502562af819b9a4db4f6f4a029e543c3ffc6429a58c65a1efc7c93cc03e72ed49c8c50859264c935c72b664b WHIRLPOOL 5224f85de62b216ec5fd305fbb879b6a82f101811af1286ca08d1ed81b2556ce1bf31c952c6e0f6158ef9a0188701532417121b2704ef7aa759e8efff2457fc7
+MISC ChangeLog-2015 1158 SHA256 15e3728bb3e2bf7f38d3a6590e67d9f8dd0aa3c39ac824ae3b128469220c5191 SHA512 2c2dfc089dce9f56d917d83f24a17b017f36e048683f1bbb2928905f9d9ba07361ee0e42120d6eaf2e463fc8cd15ade466aafd3413c75070d85225371c1b079f WHIRLPOOL 77b34ca33fe85d337c027c132a0e92af97d180fada605044388cb2cf65e1e5c2daf88ac18156bbbe0978faa2f145ae4ffa4d4fe249fad0cf1170d8f9457c76d6
+MISC metadata.xml 416 SHA256 e828089e58bbd549d93fc95ff6b29105026c1e73272a999847e20d0501140a9a SHA512 ac3d0b826b8a4757312dfecb79ab45b3ff961ddcb9277e74fef3f0844ac9d56d0ed5f4f774dc4b673178ebf1b4e3e5a95cad4de657fbab2844d2656cc8b9491c WHIRLPOOL b19709099fc8eeb460d95238f6ab35b8218342982e9795b88d8862461b9eda1f5c57d908dd12af3030ebf98c268a69da8d5a53428d9811b7d256a81d237d605b
diff --git a/mail-filter/ask/ask-2.4.1.ebuild b/mail-filter/ask/ask-2.4.1.ebuild
new file mode 100644
index 000000000000..cb71f941037e
--- /dev/null
+++ b/mail-filter/ask/ask-2.4.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="Active Spam Killer: A program to filter spam"
+HOMEPAGE="http://www.paganini.net/ask/index.html"
+SRC_URI="mirror://sourceforge/a-s-k/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="ppc x86"
+
+IUSE="procmail"
+RDEPEND=">=dev-lang/python-2.2
+ virtual/mta
+ procmail? ( >=mail-filter/procmail-3.22 )"
+
+src_install() {
+ into /
+ dobin ask.py asksetup.py askversion.py utils/asksenders.py
+
+ insinto /usr/lib/ask
+ doins askconfig.py asklock.py asklog.py askmail.py askmain.py \
+ askmessage.py askremote.py
+
+ insinto /usr/share/ask/samples
+ doins samples/*
+
+ insinto /usr/share/ask/templates
+ doins templates/*
+
+ insinto /usr/share/ask/utils
+ doins utils/*
+
+ doman docs/*.1
+
+ dodoc ChangeLog TODO docs/ask_doc*
+}
+
+pkg_postinst() {
+ elog
+ elog "You MUST run the asksetup.py file to configure ASK!"
+ elog
+ if use procmail; then
+ elog "To use ASK's procmail support these should be your first two procmail rules:"
+ elog
+ elog ":0 fW"
+ elog "|/path_to_ask/ask.py --procmail --loglevel=5 --logfile=/your_home/ask.log"
+ elog
+ elog ":0 e"
+ elog "/dev/null"
+ elog
+ elog "The second rule above instructs procmail to deliver the message to /dev/null"
+ elog "if ASK returns a fail code. If you're truly paranoid, you can save those"
+ elog "messages to a file instead for later inspection."
+ fi
+}
diff --git a/mail-filter/ask/ask-2.5.3.ebuild b/mail-filter/ask/ask-2.5.3.ebuild
new file mode 100644
index 000000000000..c015f6114c7a
--- /dev/null
+++ b/mail-filter/ask/ask-2.5.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit multilib
+
+DESCRIPTION="Active Spam Killer: A program to filter spam"
+HOMEPAGE="http://www.paganini.net/ask/index.html"
+SRC_URI="mirror://sourceforge/a-s-k/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE="procmail"
+RDEPEND="dev-lang/python
+ virtual/mta
+ procmail? ( >=mail-filter/procmail-3.22 )"
+
+src_install() {
+ dobin askfilter asksetup askversion.py utils/asksenders
+
+ insinto /usr/$(get_libdir)/ask
+ doins askconfig.py asklock.py asklog.py askmail.py askmain.py \
+ askmessage.py askremote.py
+
+ insinto /usr/share/ask/templates
+ doins templates/*
+
+ insinto /usr/share/ask/utils
+ doins utils/*
+
+ doman docs/*.1
+
+ dodoc ChangeLog docs/ask_doc*
+}
+
+pkg_postinst() {
+ elog "You MUST run the asksetup file to configure ASK!"
+ elog "WARNING: if you upgrade from ask-2.4.1, you must replace ask.py with askfilter"
+ elog " in your procmail/maildrop recipe!"
+}
diff --git a/mail-filter/ask/metadata.xml b/mail-filter/ask/metadata.xml
new file mode 100644
index 000000000000..75759ea27910
--- /dev/null
+++ b/mail-filter/ask/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <use>
+ <flag name="procmail">Adds support for
+ <pkg>mail-filter/procmail</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">a-s-k</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/assp/Manifest b/mail-filter/assp/Manifest
new file mode 100644
index 000000000000..90f60fae51bb
--- /dev/null
+++ b/mail-filter/assp/Manifest
@@ -0,0 +1,14 @@
+AUX asspd.init 557 SHA256 7d7914a23693419197abb94a2b5d8646f8d3b7f6a99005fde8a389cac284922c SHA512 ca762f84f123146a2e17c8c429ca03960d4cb82d74166ce3cead0d70529112eae2ce02f5ffa47d4730b21ff151c6eb05b1b28fa12d87d7f16d2859773c2845d7 WHIRLPOOL 6245a043d14b6471ed52fc5d28a33bdc40e1661be6db407b7e1e3a2a8d3e1768b9c574c75b7810528be4222593fcaa4dae300ea2716c4dc04a7039ae18115630
+DIST ASSP_1.8.5.9-Install.zip 750552 SHA256 f468d8cd0003280ff089efd438c0516f928f772fd9cc0e6d522866a21492ccb1 SHA512 146f86b8ddd235cca784057a73ae45395d4dc81591001f28a63275e6cf0e234145086029f112953e26aa8433ba434002e5ca85acc2e63af1615e7b9f58764f1c WHIRLPOOL f1328f55a27f86ffd17ab9a600dad0e1de579d63109f57e7ab50d1d8c83782f022a6a9acf8394cb0444948c7ed91e23b709d137d47c38b409d8943d8800f2db5
+DIST ASSP_1.9.4.7-Install.zip 1461151 SHA256 47180d185624a96d4b218fa48d30997cb048cf5a01ea43140b203ce9cab6edb9 SHA512 02083320630831fee048e13d6101dd844aceadddf36a5f2b5bff6f203d67be2e456fb992a71e903a9dace48992962a6d26f90998025b8666e24f3f4aaec76cfc WHIRLPOOL 07bd6c83f9a70c7cadbc5834979c49221fe053e5ab42cb747d09aec402553c8b3ee1677a786276f536c242ff6622405d43dada55bbf8744cf647b6c13c8251f3
+DIST ASSP_1.9.4.8-Install.zip 1462121 SHA256 075716ac57795bccfbe5b858eaabf908de93391c3a7b36144a5c2bcb4f8e3a1e SHA512 4888bfb4e8577608ee638391c6c9f38901f70e60fa29829d0f5a56102f13ba08b8363d9041bfb64d9d238526bc4051d5d97faddd6d819909d6dd4e6aa0a96225 WHIRLPOOL 1d71512d36b5e2e1ef0c05b6ade11c2285ad3498d6e2bf3c14f564ac8840a76b59492385d375369e16b049c9821d9f90627122eb7f113a6ee29dd7cf16b67aed
+DIST ASSP_1.9.4.9-Install.zip 1461140 SHA256 5392340a6c331102dc8c254a668ae061fe340ea304a8e22e8d6766c172bc72ad SHA512 a049a8e36193aee12c7abc7bbfdc41a92a7a33f6f01f7e6cded406f1f84ddf3c514808ca1c4c6a25c3a441b3a2792b4451ca218021bb09dad508a56434c8656b WHIRLPOOL 4f0b140c8395b935a270ef08b5cc2aca86d04a047efb95ff3780b43aa18c3e1ea032c9e460495cd611cbbfb19dfe526b439cb6a0fe15a8d4d13feaebd0059a70
+DIST ASSP_1.98_13030_install.zip 874117 SHA256 f3a500f5b00f53177ca71b7b8806c4b4dbf6642d0b068d08f828395e402ee7fe SHA512 46c067c9ffe98f860669166fca69346c974bc82a1c0a5046f607aae8344fe18d41f7a87c2f79bdfcaa24c6233a88a590031deab66c76d42fee78fec64dc2a2a1 WHIRLPOOL 6951a479f8b6873b9a27101071c9214607d9da8700924a305cc99bd79ff13bfc5bc32e8045c213d32f810f7aac7759b6f9f0d8fead656b03bbfa5c5436f2b085
+EBUILD assp-1.8.5.9.ebuild 5800 SHA256 9c60677a2b8976fc1d18bdf024b539524ff9176933527e03ba97d79767edd777 SHA512 7c49f28ffd361224dc3761e65f23ac48ba895170cf948afac4a89970d3777b211908952e073324793abea68d431e3e5ba23c440b45fcbd7d86cd8cda882951fd WHIRLPOOL cc8b442aa08d2682dd57ad39df999be392f1065e98657d0c8e6a3eaa92fe67e027617881efe293442e3fd5e887d960e80aed71b491b2a7fe887237e34c211072
+EBUILD assp-1.9.4.7.ebuild 5850 SHA256 99f551a037b2574f74fff7567457a582a8c2dad918139d29825efeff5a61723f SHA512 ee57517c7dbf2584fb1c074913a7592d3532c49601267dfc5dc64a419593ab5b46336b8799278dfccc050468f4aedd778455f16f8c23499d9d79076341ee8139 WHIRLPOOL f2f0238f01a9af0714ce0b458ba3a5b3422a3dd9b3fb5f2e25f07787f3a49db095636b3dd0cf8a2e24e4b2620e9708d3bea03f5168c538e877017a8114d682ef
+EBUILD assp-1.9.4.8.ebuild 5850 SHA256 99f551a037b2574f74fff7567457a582a8c2dad918139d29825efeff5a61723f SHA512 ee57517c7dbf2584fb1c074913a7592d3532c49601267dfc5dc64a419593ab5b46336b8799278dfccc050468f4aedd778455f16f8c23499d9d79076341ee8139 WHIRLPOOL f2f0238f01a9af0714ce0b458ba3a5b3422a3dd9b3fb5f2e25f07787f3a49db095636b3dd0cf8a2e24e4b2620e9708d3bea03f5168c538e877017a8114d682ef
+EBUILD assp-1.9.4.9.ebuild 5850 SHA256 99f551a037b2574f74fff7567457a582a8c2dad918139d29825efeff5a61723f SHA512 ee57517c7dbf2584fb1c074913a7592d3532c49601267dfc5dc64a419593ab5b46336b8799278dfccc050468f4aedd778455f16f8c23499d9d79076341ee8139 WHIRLPOOL f2f0238f01a9af0714ce0b458ba3a5b3422a3dd9b3fb5f2e25f07787f3a49db095636b3dd0cf8a2e24e4b2620e9708d3bea03f5168c538e877017a8114d682ef
+EBUILD assp-1.9.8.13030.ebuild 5861 SHA256 5c0455f50513defb7950bea8e7b8c6c5074660863fc30c86b20c4665e0a77df7 SHA512 c4edb322da92e419acfecc5666a75f16b24078c91937c5ed41d9f64cca50fc22cfd13c80d218638e42a435e701a7f402c5100d1880fea0e39126029f3f569fa3 WHIRLPOOL 0c1eb2cc3d22b5d1fd3349f5d721ca661bcd7d7e66a42b5120dee9c186bfea195adb017ec1f2f888a87dfbc662ba57a0d70922ec4ea3cc5ae0f9effd44950be7
+MISC ChangeLog 2576 SHA256 f8e3233d01423de86f257c097c07b91e861e46c86cb5570dc0e2aa696495e738 SHA512 cbeb236e9185e079c72270494e90eceb9874975bf5dc398335739fcdd770219862f0522d53ee5f14fb685b88a4cbd0eed5f8998a0591715ee203583ca3eac064 WHIRLPOOL 1bf07b20a7d9a10b0d2707856897d5fac9596b7db147280f50460447130eb08913ee86467eca3bced1d0f24905f0e65a021ea053fa4354e1674015b2f5982294
+MISC ChangeLog-2015 10295 SHA256 ee3df0d005e7afb0235e4bbc341df49a06ccb14ca1991a042b60027c539f3ac4 SHA512 63de39f429a21ec9b4acbadbf62fd3fd2bae5c3ca6ee6c524c3a4c394c06608558411e2ba1deda3f5c75ef5c12aecd1c266d641ec119479a1fd810ec2cfe14fc WHIRLPOOL d37887bba9d2a142e4dec7f932a8fb1f1332fcc996c3dead5001b0ff589e261bd0530426b10e08dd5e19d01d65e96e1661b749a8cb8776ff764f930df25a5d33
+MISC metadata.xml 1012 SHA256 d50824a989dbc597bf27231936f55ce3e79e48a8258aa35dd2f643f262db88f7 SHA512 32be6692f834f853e7c7382422075851a8c86c115e5ac119a583d9c66b21350939e62197a9bbca3ef1d1b988833572de82cc2118eae9cc0b9eed260ce0838066 WHIRLPOOL 802993ec6ebf2b6af4ecf9de666d516844246418b35930e01778b261acf24179071edebd8eb280bfb8059b3a51914109dceca8720f7d40e6bf314f3af84e763a
diff --git a/mail-filter/assp/assp-1.8.5.9.ebuild b/mail-filter/assp/assp-1.8.5.9.ebuild
new file mode 100644
index 000000000000..cd8e31b1c5c5
--- /dev/null
+++ b/mail-filter/assp/assp-1.8.5.9.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="Anti-Spam SMTP Proxy written in Perl"
+HOMEPAGE="http://assp.sourceforge.net/"
+MY_PN=ASSP_${PV}-Install
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}.zip"
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="amd64 x86"
+
+IUSE="ipv6 ldap sasl spf srs ssl syslog"
+
+DEPEND="app-arch/unzip"
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-DNS
+ dev-perl/File-ReadBackwards
+ virtual/perl-IO-Compress
+ dev-perl/Email-MIME
+ dev-perl/Email-Send
+ dev-perl/Email-Valid
+ dev-perl/libwww-perl
+ dev-perl/mime-construct
+ dev-perl/Net-CIDR-Lite
+ virtual/perl-Digest-MD5
+ virtual/perl-Time-HiRes
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ sasl? ( dev-perl/Authen-SASL )
+ spf? ( dev-perl/Mail-SPF )
+ srs? ( dev-perl/Mail-SRS )
+ ssl? ( dev-perl/IO-Socket-SSL )
+ syslog? ( virtual/perl-Sys-Syslog )
+ ldap? ( dev-perl/perl-ldap )"
+
+S=${WORKDIR}/${MY_PN}/ASSP
+
+pkg_setup() {
+ enewgroup assp
+ enewuser assp -1 -1 /dev/null assp
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ local FILES="
+ assp.pl
+ rebuildspamdb.pl
+ stat.pl
+ "
+ # just being safe
+ for file in ${FILES}; do
+ edos2unix ${file}
+ done
+
+ # portable changes via sed vs patch
+ sed -i -e 's|file:files/|file:/etc/assp/|' \
+ -e 's|$base/images|/usr/share/assp/images|' \
+ -e 's|logs/maillog.txt|/var/log/assp/maillog.txt|' \
+ -e 's|PID File'\'',40,textinput,'\''pid'\''|PID File'\'',40,textinput,'\''asspd.pid'\''|' \
+ -e 's|Daemon\*\*'\'',0,checkbox,0|Daemon\*\*'\'',0,checkbox,1|' \
+ -e 's|UID\*\*'\'',20,textinput,'\'''\''|UID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|GID\*\*'\'',20,textinput,'\'''\''|GID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|popFileEditor'\('\\'\''pb/pbdb\.\([^\.]*\)\.db\\'\'',|popFileEditor(\\'\''/var/lib/assp/pb/pbdb.\1.db\\'\'',|g' \
+ -e 's|$base/assp.cfg|/etc/assp/assp.cfg|g' \
+ -e 's|$base/$pidfile|/var/run/assp/asspd.pid|' \
+ -e 's|mkdir "$base/$logdir",0700 if $logdir;||' \
+ -e 's|mkdir "$base/$logdir",0700;||' \
+ -e 's|$base/$logfile|$logfile|' \
+ -e 's|$base/$logdir|$logdir|' \
+ -e 's|"maillog.log"|"/var/log/assp/maillog.log"|' \
+ -e 's|-d "$base/logs" or mkdir "$base/logs",0700;||' \
+ -e 's|-d "$base/notes" or mkdir "$base/notes",0700;||' \
+ -e 's|-d "$base/docs" or mkdir "$base/docs",0777;||' \
+ -e 's|$base/$archivelogfile|$archivelogfile|' \
+ -e 's|"$base/$file",$sub,"$this|"/etc/assp/$file",$sub,"$this|' \
+ -e 's|"$base/$file",'\'''\'',"$this|"/etc/assp/$file",'\'''\'',"$this|' \
+ -e 's|my $fil=$1; $fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|my $fil=$1;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|$fil="/etc/assp/$fil" if $fil!~/^\\/etc\\/assp\\/\|\\/var\\/lib\\/assp\\/\/i;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^((\[a-z\]:)?\[\\/\\\\\]\|\\Q$base\\E)/;||' \
+ -e 's|if ($fil !~ /^\\Q$base\\E/i) {|if ($fil !~ /^\\/usr\\/share\\/assp\\//i) {|' \
+ -e 's|$fil = "$base/$fil";|$fil = "/usr/share/assp/$fil";|' \
+ -e 's|Q$base\\E|Q\\/etc\\/assp\\/\\E|' \
+ -e 's|$fil="$base/$fil"|$fil="/etc/assp/$fil"|' \
+ -e 's|$base/$bf|/etc/assp/$bf|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ assp.pl || die
+
+ # sed rebuildspamdb.pl
+ sed -i -e 's|assp.cfg|/etc/assp/assp.cfg|' \
+ -e 's|} && "$Config{base}/$Config{logfile}" \|\| '\''maillog.txt'\'';|};|' \
+ -e 's|tmaxtick('\''rebuild'\'');|tmaxtick('\''/var/lib/assp/rebuild'\'');|' \
+ -e 's|goodhosts|/var/lib/assp/goodhosts|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ -e 's|$base/$DropList|$DropList|' \
+ -e 's|&fixPath($base) . "/|"|' \
+ -e 's|= "/var/lib/assp/rebuildrun.txt";|= "/var/lib/assp/rebuildrun.txt";\n $RebuildLog = "/var/lib/assp/rebuild.log";|' \
+ -e 's|"$base//|"/|g' \
+ rebuildspamdb.pl || die
+
+ # remove windows stuff
+ rm "${S}/addservice.pl" || die "Could not remove ${S}/addservice.pl"
+ rm -f "${S}/Win32-quickstart-guide.txt" || die "Could not remove ${S}/Win32-quickstart-guide.txt"
+}
+
+src_install() {
+ # Configuration directory
+ dodir /etc/assp/notes
+
+ insinto /etc/assp
+ # Installs files that are used by assp for black/gray lists,
+ # and domain country lookup. To be changed by admin as needed.
+ doins files/*.txt || die
+
+ fowners assp:assp /etc/assp -R
+ fperms 770 /etc/assp /etc/assp/notes
+
+ # Setup directories for mail to be stored for filter
+ keepdir /var/lib/assp/spam /var/lib/assp/notspam
+ keepdir /var/lib/assp/errors/spam /var/lib/assp/errors/notspam
+
+ # Logs directory
+ keepdir /var/log/assp
+ fowners assp:assp -R /var/log/assp
+ fperms 770 /var/log/assp
+
+ # Install the app
+ exeinto /usr/share/assp
+ doexe *.pl *.sh || die
+ insinto /usr/share/assp
+ doins -r images/ || die
+
+ # Lock down the files/data
+ fowners assp:assp -R /usr/share/assp
+ fperms 770 /usr/share/assp
+
+ # Data storage
+ fowners assp:assp -R /var/lib/assp
+ fperms 770 /var/lib/assp
+
+ # PID directory
+ dodir /var/run/assp
+ keepdir /var/run/assp
+ fowners assp:assp -R /var/run/assp
+ fperms 770 /var/run/assp
+
+ # Install the init.d script to listen
+ newinitd "${FILESDIR}/asspd.init" asspd
+
+ dohtml docs/*.htm || die "Failed to install html docs"
+}
+
+pkg_postinst() {
+ elog
+ elog "To configure ASSP, start /etc/init.d/asspd then point"
+ elog "your browser to http://localhost:55555"
+ elog "Username: admin Password: nospam4me (CHANGE ASAP!)"
+ elog
+ elog "File permissions have been set to use assp:assp"
+ elog "with mode 770 on directories. When you configure"
+ elog "ASSP, make sure and use the user assp."
+ elog
+ elog "Don't change any path related options."
+ elog
+ elog "See the on-line docs for a complete tutorial."
+ elog "http://assp.sourceforge.net/docs.html"
+ elog
+ elog "If upgrading, please update your old config to set both"
+ elog "redre.txt and nodelay.txt path of /etc/assp. There are"
+ elog "also many new options that you should review."
+ elog
+}
diff --git a/mail-filter/assp/assp-1.9.4.7.ebuild b/mail-filter/assp/assp-1.9.4.7.ebuild
new file mode 100644
index 000000000000..48f0bda45134
--- /dev/null
+++ b/mail-filter/assp/assp-1.9.4.7.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="Anti-Spam SMTP Proxy written in Perl"
+HOMEPAGE="http://assp.sourceforge.net/"
+MY_PN=ASSP_${PV}-Install
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}.zip"
+LICENSE="GPL-2"
+SLOT="0"
+
+# this is a pre-release, so no keywords for now
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ipv6 ldap sasl spf srs ssl syslog"
+
+DEPEND="app-arch/unzip"
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-DNS
+ dev-perl/File-ReadBackwards
+ virtual/perl-IO-Compress
+ dev-perl/Email-MIME
+ dev-perl/Email-Send
+ dev-perl/Email-Valid
+ dev-perl/libwww-perl
+ dev-perl/mime-construct
+ dev-perl/Net-CIDR-Lite
+ virtual/perl-Digest-MD5
+ virtual/perl-Time-HiRes
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ sasl? ( dev-perl/Authen-SASL )
+ spf? ( dev-perl/Mail-SPF )
+ srs? ( dev-perl/Mail-SRS )
+ ssl? ( dev-perl/IO-Socket-SSL )
+ syslog? ( virtual/perl-Sys-Syslog )
+ ldap? ( dev-perl/perl-ldap )"
+
+S=${WORKDIR}/${MY_PN}/ASSP
+
+pkg_setup() {
+ enewgroup assp
+ enewuser assp -1 -1 /dev/null assp
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ local FILES="
+ assp.pl
+ rebuildspamdb.pl
+ stat.pl
+ "
+ # just being safe
+ for file in ${FILES}; do
+ edos2unix ${file}
+ done
+
+ # portable changes via sed vs patch
+ sed -i -e 's|file:files/|file:/etc/assp/|' \
+ -e 's|$base/images|/usr/share/assp/images|' \
+ -e 's|logs/maillog.txt|/var/log/assp/maillog.txt|' \
+ -e 's|PID File'\'',40,textinput,'\''pid'\''|PID File'\'',40,textinput,'\''asspd.pid'\''|' \
+ -e 's|Daemon\*\*'\'',0,checkbox,0|Daemon\*\*'\'',0,checkbox,1|' \
+ -e 's|UID\*\*'\'',20,textinput,'\'''\''|UID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|GID\*\*'\'',20,textinput,'\'''\''|GID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|popFileEditor'\('\\'\''pb/pbdb\.\([^\.]*\)\.db\\'\'',|popFileEditor(\\'\''/var/lib/assp/pb/pbdb.\1.db\\'\'',|g' \
+ -e 's|$base/assp.cfg|/etc/assp/assp.cfg|g' \
+ -e 's|$base/$pidfile|/var/run/assp/asspd.pid|' \
+ -e 's|mkdir "$base/$logdir",0700 if $logdir;||' \
+ -e 's|mkdir "$base/$logdir",0700;||' \
+ -e 's|$base/$logfile|$logfile|' \
+ -e 's|$base/$logdir|$logdir|' \
+ -e 's|"maillog.log"|"/var/log/assp/maillog.log"|' \
+ -e 's|-d "$base/logs" or mkdir "$base/logs",0700;||' \
+ -e 's|-d "$base/notes" or mkdir "$base/notes",0700;||' \
+ -e 's|-d "$base/docs" or mkdir "$base/docs",0777;||' \
+ -e 's|$base/$archivelogfile|$archivelogfile|' \
+ -e 's|"$base/$file",$sub,"$this|"/etc/assp/$file",$sub,"$this|' \
+ -e 's|"$base/$file",'\'''\'',"$this|"/etc/assp/$file",'\'''\'',"$this|' \
+ -e 's|my $fil=$1; $fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|my $fil=$1;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|$fil="/etc/assp/$fil" if $fil!~/^\\/etc\\/assp\\/\|\\/var\\/lib\\/assp\\/\/i;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^((\[a-z\]:)?\[\\/\\\\\]\|\\Q$base\\E)/;||' \
+ -e 's|if ($fil !~ /^\\Q$base\\E/i) {|if ($fil !~ /^\\/usr\\/share\\/assp\\//i) {|' \
+ -e 's|$fil = "$base/$fil";|$fil = "/usr/share/assp/$fil";|' \
+ -e 's|Q$base\\E|Q\\/etc\\/assp\\/\\E|' \
+ -e 's|$fil="$base/$fil"|$fil="/etc/assp/$fil"|' \
+ -e 's|$base/$bf|/etc/assp/$bf|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ assp.pl || die
+
+ # sed rebuildspamdb.pl
+ sed -i -e 's|assp.cfg|/etc/assp/assp.cfg|' \
+ -e 's|} && "$Config{base}/$Config{logfile}" \|\| '\''maillog.txt'\'';|};|' \
+ -e 's|tmaxtick('\''rebuild'\'');|tmaxtick('\''/var/lib/assp/rebuild'\'');|' \
+ -e 's|goodhosts|/var/lib/assp/goodhosts|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ -e 's|$base/$DropList|$DropList|' \
+ -e 's|&fixPath($base) . "/|"|' \
+ -e 's|= "/var/lib/assp/rebuildrun.txt";|= "/var/lib/assp/rebuildrun.txt";\n $RebuildLog = "/var/lib/assp/rebuild.log";|' \
+ -e 's|"$base//|"/|g' \
+ rebuildspamdb.pl || die
+
+ # remove windows stuff
+ rm "${S}/addservice.pl" || die "Could not remove ${S}/addservice.pl"
+ rm -f "${S}/Win32-quickstart-guide.txt" || die "Could not remove ${S}/Win32-quickstart-guide.txt"
+}
+
+src_install() {
+ # Configuration directory
+ dodir /etc/assp/notes
+
+ insinto /etc/assp
+ # Installs files that are used by assp for black/gray lists,
+ # and domain country lookup. To be changed by admin as needed.
+ doins files/*.txt || die
+
+ fowners assp:assp /etc/assp -R
+ fperms 770 /etc/assp /etc/assp/notes
+
+ # Setup directories for mail to be stored for filter
+ keepdir /var/lib/assp/spam /var/lib/assp/notspam
+ keepdir /var/lib/assp/errors/spam /var/lib/assp/errors/notspam
+
+ # Logs directory
+ keepdir /var/log/assp
+ fowners assp:assp -R /var/log/assp
+ fperms 770 /var/log/assp
+
+ # Install the app
+ exeinto /usr/share/assp
+ doexe *.pl *.sh || die
+ insinto /usr/share/assp
+ doins -r images/ || die
+
+ # Lock down the files/data
+ fowners assp:assp -R /usr/share/assp
+ fperms 770 /usr/share/assp
+
+ # Data storage
+ fowners assp:assp -R /var/lib/assp
+ fperms 770 /var/lib/assp
+
+ # PID directory
+ dodir /var/run/assp
+ keepdir /var/run/assp
+ fowners assp:assp -R /var/run/assp
+ fperms 770 /var/run/assp
+
+ # Install the init.d script to listen
+ newinitd "${FILESDIR}/asspd.init" asspd
+
+ dohtml docs/*.htm || die "Failed to install html docs"
+}
+
+pkg_postinst() {
+ elog
+ elog "To configure ASSP, start /etc/init.d/asspd then point"
+ elog "your browser to http://localhost:55555"
+ elog "Username: admin Password: nospam4me (CHANGE ASAP!)"
+ elog
+ elog "File permissions have been set to use assp:assp"
+ elog "with mode 770 on directories. When you configure"
+ elog "ASSP, make sure and use the user assp."
+ elog
+ elog "Don't change any path related options."
+ elog
+ elog "See the on-line docs for a complete tutorial."
+ elog "http://assp.sourceforge.net/docs.html"
+ elog
+ elog "If upgrading, please update your old config to set both"
+ elog "redre.txt and nodelay.txt path of /etc/assp. There are"
+ elog "also many new options that you should review."
+ elog
+}
diff --git a/mail-filter/assp/assp-1.9.4.8.ebuild b/mail-filter/assp/assp-1.9.4.8.ebuild
new file mode 100644
index 000000000000..48f0bda45134
--- /dev/null
+++ b/mail-filter/assp/assp-1.9.4.8.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="Anti-Spam SMTP Proxy written in Perl"
+HOMEPAGE="http://assp.sourceforge.net/"
+MY_PN=ASSP_${PV}-Install
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}.zip"
+LICENSE="GPL-2"
+SLOT="0"
+
+# this is a pre-release, so no keywords for now
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ipv6 ldap sasl spf srs ssl syslog"
+
+DEPEND="app-arch/unzip"
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-DNS
+ dev-perl/File-ReadBackwards
+ virtual/perl-IO-Compress
+ dev-perl/Email-MIME
+ dev-perl/Email-Send
+ dev-perl/Email-Valid
+ dev-perl/libwww-perl
+ dev-perl/mime-construct
+ dev-perl/Net-CIDR-Lite
+ virtual/perl-Digest-MD5
+ virtual/perl-Time-HiRes
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ sasl? ( dev-perl/Authen-SASL )
+ spf? ( dev-perl/Mail-SPF )
+ srs? ( dev-perl/Mail-SRS )
+ ssl? ( dev-perl/IO-Socket-SSL )
+ syslog? ( virtual/perl-Sys-Syslog )
+ ldap? ( dev-perl/perl-ldap )"
+
+S=${WORKDIR}/${MY_PN}/ASSP
+
+pkg_setup() {
+ enewgroup assp
+ enewuser assp -1 -1 /dev/null assp
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ local FILES="
+ assp.pl
+ rebuildspamdb.pl
+ stat.pl
+ "
+ # just being safe
+ for file in ${FILES}; do
+ edos2unix ${file}
+ done
+
+ # portable changes via sed vs patch
+ sed -i -e 's|file:files/|file:/etc/assp/|' \
+ -e 's|$base/images|/usr/share/assp/images|' \
+ -e 's|logs/maillog.txt|/var/log/assp/maillog.txt|' \
+ -e 's|PID File'\'',40,textinput,'\''pid'\''|PID File'\'',40,textinput,'\''asspd.pid'\''|' \
+ -e 's|Daemon\*\*'\'',0,checkbox,0|Daemon\*\*'\'',0,checkbox,1|' \
+ -e 's|UID\*\*'\'',20,textinput,'\'''\''|UID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|GID\*\*'\'',20,textinput,'\'''\''|GID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|popFileEditor'\('\\'\''pb/pbdb\.\([^\.]*\)\.db\\'\'',|popFileEditor(\\'\''/var/lib/assp/pb/pbdb.\1.db\\'\'',|g' \
+ -e 's|$base/assp.cfg|/etc/assp/assp.cfg|g' \
+ -e 's|$base/$pidfile|/var/run/assp/asspd.pid|' \
+ -e 's|mkdir "$base/$logdir",0700 if $logdir;||' \
+ -e 's|mkdir "$base/$logdir",0700;||' \
+ -e 's|$base/$logfile|$logfile|' \
+ -e 's|$base/$logdir|$logdir|' \
+ -e 's|"maillog.log"|"/var/log/assp/maillog.log"|' \
+ -e 's|-d "$base/logs" or mkdir "$base/logs",0700;||' \
+ -e 's|-d "$base/notes" or mkdir "$base/notes",0700;||' \
+ -e 's|-d "$base/docs" or mkdir "$base/docs",0777;||' \
+ -e 's|$base/$archivelogfile|$archivelogfile|' \
+ -e 's|"$base/$file",$sub,"$this|"/etc/assp/$file",$sub,"$this|' \
+ -e 's|"$base/$file",'\'''\'',"$this|"/etc/assp/$file",'\'''\'',"$this|' \
+ -e 's|my $fil=$1; $fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|my $fil=$1;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|$fil="/etc/assp/$fil" if $fil!~/^\\/etc\\/assp\\/\|\\/var\\/lib\\/assp\\/\/i;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^((\[a-z\]:)?\[\\/\\\\\]\|\\Q$base\\E)/;||' \
+ -e 's|if ($fil !~ /^\\Q$base\\E/i) {|if ($fil !~ /^\\/usr\\/share\\/assp\\//i) {|' \
+ -e 's|$fil = "$base/$fil";|$fil = "/usr/share/assp/$fil";|' \
+ -e 's|Q$base\\E|Q\\/etc\\/assp\\/\\E|' \
+ -e 's|$fil="$base/$fil"|$fil="/etc/assp/$fil"|' \
+ -e 's|$base/$bf|/etc/assp/$bf|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ assp.pl || die
+
+ # sed rebuildspamdb.pl
+ sed -i -e 's|assp.cfg|/etc/assp/assp.cfg|' \
+ -e 's|} && "$Config{base}/$Config{logfile}" \|\| '\''maillog.txt'\'';|};|' \
+ -e 's|tmaxtick('\''rebuild'\'');|tmaxtick('\''/var/lib/assp/rebuild'\'');|' \
+ -e 's|goodhosts|/var/lib/assp/goodhosts|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ -e 's|$base/$DropList|$DropList|' \
+ -e 's|&fixPath($base) . "/|"|' \
+ -e 's|= "/var/lib/assp/rebuildrun.txt";|= "/var/lib/assp/rebuildrun.txt";\n $RebuildLog = "/var/lib/assp/rebuild.log";|' \
+ -e 's|"$base//|"/|g' \
+ rebuildspamdb.pl || die
+
+ # remove windows stuff
+ rm "${S}/addservice.pl" || die "Could not remove ${S}/addservice.pl"
+ rm -f "${S}/Win32-quickstart-guide.txt" || die "Could not remove ${S}/Win32-quickstart-guide.txt"
+}
+
+src_install() {
+ # Configuration directory
+ dodir /etc/assp/notes
+
+ insinto /etc/assp
+ # Installs files that are used by assp for black/gray lists,
+ # and domain country lookup. To be changed by admin as needed.
+ doins files/*.txt || die
+
+ fowners assp:assp /etc/assp -R
+ fperms 770 /etc/assp /etc/assp/notes
+
+ # Setup directories for mail to be stored for filter
+ keepdir /var/lib/assp/spam /var/lib/assp/notspam
+ keepdir /var/lib/assp/errors/spam /var/lib/assp/errors/notspam
+
+ # Logs directory
+ keepdir /var/log/assp
+ fowners assp:assp -R /var/log/assp
+ fperms 770 /var/log/assp
+
+ # Install the app
+ exeinto /usr/share/assp
+ doexe *.pl *.sh || die
+ insinto /usr/share/assp
+ doins -r images/ || die
+
+ # Lock down the files/data
+ fowners assp:assp -R /usr/share/assp
+ fperms 770 /usr/share/assp
+
+ # Data storage
+ fowners assp:assp -R /var/lib/assp
+ fperms 770 /var/lib/assp
+
+ # PID directory
+ dodir /var/run/assp
+ keepdir /var/run/assp
+ fowners assp:assp -R /var/run/assp
+ fperms 770 /var/run/assp
+
+ # Install the init.d script to listen
+ newinitd "${FILESDIR}/asspd.init" asspd
+
+ dohtml docs/*.htm || die "Failed to install html docs"
+}
+
+pkg_postinst() {
+ elog
+ elog "To configure ASSP, start /etc/init.d/asspd then point"
+ elog "your browser to http://localhost:55555"
+ elog "Username: admin Password: nospam4me (CHANGE ASAP!)"
+ elog
+ elog "File permissions have been set to use assp:assp"
+ elog "with mode 770 on directories. When you configure"
+ elog "ASSP, make sure and use the user assp."
+ elog
+ elog "Don't change any path related options."
+ elog
+ elog "See the on-line docs for a complete tutorial."
+ elog "http://assp.sourceforge.net/docs.html"
+ elog
+ elog "If upgrading, please update your old config to set both"
+ elog "redre.txt and nodelay.txt path of /etc/assp. There are"
+ elog "also many new options that you should review."
+ elog
+}
diff --git a/mail-filter/assp/assp-1.9.4.9.ebuild b/mail-filter/assp/assp-1.9.4.9.ebuild
new file mode 100644
index 000000000000..48f0bda45134
--- /dev/null
+++ b/mail-filter/assp/assp-1.9.4.9.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="Anti-Spam SMTP Proxy written in Perl"
+HOMEPAGE="http://assp.sourceforge.net/"
+MY_PN=ASSP_${PV}-Install
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}.zip"
+LICENSE="GPL-2"
+SLOT="0"
+
+# this is a pre-release, so no keywords for now
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ipv6 ldap sasl spf srs ssl syslog"
+
+DEPEND="app-arch/unzip"
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-DNS
+ dev-perl/File-ReadBackwards
+ virtual/perl-IO-Compress
+ dev-perl/Email-MIME
+ dev-perl/Email-Send
+ dev-perl/Email-Valid
+ dev-perl/libwww-perl
+ dev-perl/mime-construct
+ dev-perl/Net-CIDR-Lite
+ virtual/perl-Digest-MD5
+ virtual/perl-Time-HiRes
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ sasl? ( dev-perl/Authen-SASL )
+ spf? ( dev-perl/Mail-SPF )
+ srs? ( dev-perl/Mail-SRS )
+ ssl? ( dev-perl/IO-Socket-SSL )
+ syslog? ( virtual/perl-Sys-Syslog )
+ ldap? ( dev-perl/perl-ldap )"
+
+S=${WORKDIR}/${MY_PN}/ASSP
+
+pkg_setup() {
+ enewgroup assp
+ enewuser assp -1 -1 /dev/null assp
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ local FILES="
+ assp.pl
+ rebuildspamdb.pl
+ stat.pl
+ "
+ # just being safe
+ for file in ${FILES}; do
+ edos2unix ${file}
+ done
+
+ # portable changes via sed vs patch
+ sed -i -e 's|file:files/|file:/etc/assp/|' \
+ -e 's|$base/images|/usr/share/assp/images|' \
+ -e 's|logs/maillog.txt|/var/log/assp/maillog.txt|' \
+ -e 's|PID File'\'',40,textinput,'\''pid'\''|PID File'\'',40,textinput,'\''asspd.pid'\''|' \
+ -e 's|Daemon\*\*'\'',0,checkbox,0|Daemon\*\*'\'',0,checkbox,1|' \
+ -e 's|UID\*\*'\'',20,textinput,'\'''\''|UID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|GID\*\*'\'',20,textinput,'\'''\''|GID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|popFileEditor'\('\\'\''pb/pbdb\.\([^\.]*\)\.db\\'\'',|popFileEditor(\\'\''/var/lib/assp/pb/pbdb.\1.db\\'\'',|g' \
+ -e 's|$base/assp.cfg|/etc/assp/assp.cfg|g' \
+ -e 's|$base/$pidfile|/var/run/assp/asspd.pid|' \
+ -e 's|mkdir "$base/$logdir",0700 if $logdir;||' \
+ -e 's|mkdir "$base/$logdir",0700;||' \
+ -e 's|$base/$logfile|$logfile|' \
+ -e 's|$base/$logdir|$logdir|' \
+ -e 's|"maillog.log"|"/var/log/assp/maillog.log"|' \
+ -e 's|-d "$base/logs" or mkdir "$base/logs",0700;||' \
+ -e 's|-d "$base/notes" or mkdir "$base/notes",0700;||' \
+ -e 's|-d "$base/docs" or mkdir "$base/docs",0777;||' \
+ -e 's|$base/$archivelogfile|$archivelogfile|' \
+ -e 's|"$base/$file",$sub,"$this|"/etc/assp/$file",$sub,"$this|' \
+ -e 's|"$base/$file",'\'''\'',"$this|"/etc/assp/$file",'\'''\'',"$this|' \
+ -e 's|my $fil=$1; $fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|my $fil=$1;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|$fil="/etc/assp/$fil" if $fil!~/^\\/etc\\/assp\\/\|\\/var\\/lib\\/assp\\/\/i;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^((\[a-z\]:)?\[\\/\\\\\]\|\\Q$base\\E)/;||' \
+ -e 's|if ($fil !~ /^\\Q$base\\E/i) {|if ($fil !~ /^\\/usr\\/share\\/assp\\//i) {|' \
+ -e 's|$fil = "$base/$fil";|$fil = "/usr/share/assp/$fil";|' \
+ -e 's|Q$base\\E|Q\\/etc\\/assp\\/\\E|' \
+ -e 's|$fil="$base/$fil"|$fil="/etc/assp/$fil"|' \
+ -e 's|$base/$bf|/etc/assp/$bf|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ assp.pl || die
+
+ # sed rebuildspamdb.pl
+ sed -i -e 's|assp.cfg|/etc/assp/assp.cfg|' \
+ -e 's|} && "$Config{base}/$Config{logfile}" \|\| '\''maillog.txt'\'';|};|' \
+ -e 's|tmaxtick('\''rebuild'\'');|tmaxtick('\''/var/lib/assp/rebuild'\'');|' \
+ -e 's|goodhosts|/var/lib/assp/goodhosts|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ -e 's|$base/$DropList|$DropList|' \
+ -e 's|&fixPath($base) . "/|"|' \
+ -e 's|= "/var/lib/assp/rebuildrun.txt";|= "/var/lib/assp/rebuildrun.txt";\n $RebuildLog = "/var/lib/assp/rebuild.log";|' \
+ -e 's|"$base//|"/|g' \
+ rebuildspamdb.pl || die
+
+ # remove windows stuff
+ rm "${S}/addservice.pl" || die "Could not remove ${S}/addservice.pl"
+ rm -f "${S}/Win32-quickstart-guide.txt" || die "Could not remove ${S}/Win32-quickstart-guide.txt"
+}
+
+src_install() {
+ # Configuration directory
+ dodir /etc/assp/notes
+
+ insinto /etc/assp
+ # Installs files that are used by assp for black/gray lists,
+ # and domain country lookup. To be changed by admin as needed.
+ doins files/*.txt || die
+
+ fowners assp:assp /etc/assp -R
+ fperms 770 /etc/assp /etc/assp/notes
+
+ # Setup directories for mail to be stored for filter
+ keepdir /var/lib/assp/spam /var/lib/assp/notspam
+ keepdir /var/lib/assp/errors/spam /var/lib/assp/errors/notspam
+
+ # Logs directory
+ keepdir /var/log/assp
+ fowners assp:assp -R /var/log/assp
+ fperms 770 /var/log/assp
+
+ # Install the app
+ exeinto /usr/share/assp
+ doexe *.pl *.sh || die
+ insinto /usr/share/assp
+ doins -r images/ || die
+
+ # Lock down the files/data
+ fowners assp:assp -R /usr/share/assp
+ fperms 770 /usr/share/assp
+
+ # Data storage
+ fowners assp:assp -R /var/lib/assp
+ fperms 770 /var/lib/assp
+
+ # PID directory
+ dodir /var/run/assp
+ keepdir /var/run/assp
+ fowners assp:assp -R /var/run/assp
+ fperms 770 /var/run/assp
+
+ # Install the init.d script to listen
+ newinitd "${FILESDIR}/asspd.init" asspd
+
+ dohtml docs/*.htm || die "Failed to install html docs"
+}
+
+pkg_postinst() {
+ elog
+ elog "To configure ASSP, start /etc/init.d/asspd then point"
+ elog "your browser to http://localhost:55555"
+ elog "Username: admin Password: nospam4me (CHANGE ASAP!)"
+ elog
+ elog "File permissions have been set to use assp:assp"
+ elog "with mode 770 on directories. When you configure"
+ elog "ASSP, make sure and use the user assp."
+ elog
+ elog "Don't change any path related options."
+ elog
+ elog "See the on-line docs for a complete tutorial."
+ elog "http://assp.sourceforge.net/docs.html"
+ elog
+ elog "If upgrading, please update your old config to set both"
+ elog "redre.txt and nodelay.txt path of /etc/assp. There are"
+ elog "also many new options that you should review."
+ elog
+}
diff --git a/mail-filter/assp/assp-1.9.8.13030.ebuild b/mail-filter/assp/assp-1.9.8.13030.ebuild
new file mode 100644
index 000000000000..5deb6f91d178
--- /dev/null
+++ b/mail-filter/assp/assp-1.9.8.13030.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="Anti-Spam SMTP Proxy written in Perl"
+HOMEPAGE="http://assp.sourceforge.net/"
+MY_PN=ASSP_${PV/9.8.1/98_1}_install
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}.zip"
+LICENSE="GPL-2"
+SLOT="0"
+
+# this is a pre-release, so no keywords for now
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ipv6 ldap sasl spf srs ssl syslog"
+
+DEPEND="app-arch/unzip"
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-DNS
+ dev-perl/File-ReadBackwards
+ virtual/perl-IO-Compress
+ dev-perl/Email-MIME
+ dev-perl/Email-Send
+ dev-perl/Email-Valid
+ dev-perl/libwww-perl
+ dev-perl/mime-construct
+ dev-perl/Net-CIDR-Lite
+ virtual/perl-Digest-MD5
+ virtual/perl-Time-HiRes
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ sasl? ( dev-perl/Authen-SASL )
+ spf? ( dev-perl/Mail-SPF )
+ srs? ( dev-perl/Mail-SRS )
+ ssl? ( dev-perl/IO-Socket-SSL )
+ syslog? ( virtual/perl-Sys-Syslog )
+ ldap? ( dev-perl/perl-ldap )"
+
+S=${WORKDIR}/${MY_PN}/ASSP
+
+pkg_setup() {
+ enewgroup assp
+ enewuser assp -1 -1 /dev/null assp
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ local FILES="
+ assp.pl
+ rebuildspamdb.pl
+ stat.pl
+ "
+ # just being safe
+ for file in ${FILES}; do
+ edos2unix ${file}
+ done
+
+ # portable changes via sed vs patch
+ sed -i -e 's|file:files/|file:/etc/assp/|' \
+ -e 's|$base/images|/usr/share/assp/images|' \
+ -e 's|logs/maillog.txt|/var/log/assp/maillog.txt|' \
+ -e 's|PID File'\'',40,textinput,'\''pid'\''|PID File'\'',40,textinput,'\''asspd.pid'\''|' \
+ -e 's|Daemon\*\*'\'',0,checkbox,0|Daemon\*\*'\'',0,checkbox,1|' \
+ -e 's|UID\*\*'\'',20,textinput,'\'''\''|UID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|GID\*\*'\'',20,textinput,'\'''\''|GID\*\*'\'',20,textinput,'\''assp'\''|' \
+ -e 's|popFileEditor'\('\\'\''pb/pbdb\.\([^\.]*\)\.db\\'\'',|popFileEditor(\\'\''/var/lib/assp/pb/pbdb.\1.db\\'\'',|g' \
+ -e 's|$base/assp.cfg|/etc/assp/assp.cfg|g' \
+ -e 's|$base/$pidfile|/var/run/assp/asspd.pid|' \
+ -e 's|mkdir "$base/$logdir",0700 if $logdir;||' \
+ -e 's|mkdir "$base/$logdir",0700;||' \
+ -e 's|$base/$logfile|$logfile|' \
+ -e 's|$base/$logdir|$logdir|' \
+ -e 's|"maillog.log"|"/var/log/assp/maillog.log"|' \
+ -e 's|-d "$base/logs" or mkdir "$base/logs",0700;||' \
+ -e 's|-d "$base/notes" or mkdir "$base/notes",0700;||' \
+ -e 's|-d "$base/docs" or mkdir "$base/docs",0777;||' \
+ -e 's|$base/$archivelogfile|$archivelogfile|' \
+ -e 's|"$base/$file",$sub,"$this|"/etc/assp/$file",$sub,"$this|' \
+ -e 's|"$base/$file",'\'''\'',"$this|"/etc/assp/$file",'\'''\'',"$this|' \
+ -e 's|my $fil=$1; $fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|my $fil=$1;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^\\Q$base\\E/i;|$fil="/etc/assp/$fil" if $fil!~/^\\/etc\\/assp\\/\|\\/var\\/lib\\/assp\\/\/i;|' \
+ -e 's|$fil="$base/$fil" if $fil!~/^((\[a-z\]:)?\[\\/\\\\\]\|\\Q$base\\E)/;||' \
+ -e 's|if ($fil !~ /^\\Q$base\\E/i) {|if ($fil !~ /^\\/usr\\/share\\/assp\\//i) {|' \
+ -e 's|$fil = "$base/$fil";|$fil = "/usr/share/assp/$fil";|' \
+ -e 's|Q$base\\E|Q\\/etc\\/assp\\/\\E|' \
+ -e 's|$fil="$base/$fil"|$fil="/etc/assp/$fil"|' \
+ -e 's|$base/$bf|/etc/assp/$bf|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ assp.pl || die
+
+ # sed rebuildspamdb.pl
+ sed -i -e 's|assp.cfg|/etc/assp/assp.cfg|' \
+ -e 's|} && "$Config{base}/$Config{logfile}" \|\| '\''maillog.txt'\'';|};|' \
+ -e 's|tmaxtick('\''rebuild'\'');|tmaxtick('\''/var/lib/assp/rebuild'\'');|' \
+ -e 's|goodhosts|/var/lib/assp/goodhosts|g' \
+ -e 's|rebuildrun.txt|/var/lib/assp/rebuildrun.txt|' \
+ -e 's|$base/$DropList|$DropList|' \
+ -e 's|&fixPath($base) . "/|"|' \
+ -e 's|= "/var/lib/assp/rebuildrun.txt";|= "/var/lib/assp/rebuildrun.txt";\n $RebuildLog = "/var/lib/assp/rebuild.log";|' \
+ -e 's|"$base//|"/|g' \
+ rebuildspamdb.pl || die
+
+ # remove windows stuff
+ rm "${S}/addservice.pl" || die "Could not remove ${S}/addservice.pl"
+ rm -f "${S}/Win32-quickstart-guide.txt" || die "Could not remove ${S}/Win32-quickstart-guide.txt"
+}
+
+src_install() {
+ # Configuration directory
+ dodir /etc/assp/notes
+
+ insinto /etc/assp
+ # Installs files that are used by assp for black/gray lists,
+ # and domain country lookup. To be changed by admin as needed.
+ doins files/*.txt || die
+
+ fowners assp:assp /etc/assp -R
+ fperms 770 /etc/assp /etc/assp/notes
+
+ # Setup directories for mail to be stored for filter
+ keepdir /var/lib/assp/spam /var/lib/assp/notspam
+ keepdir /var/lib/assp/errors/spam /var/lib/assp/errors/notspam
+
+ # Logs directory
+ keepdir /var/log/assp
+ fowners assp:assp -R /var/log/assp
+ fperms 770 /var/log/assp
+
+ # Install the app
+ exeinto /usr/share/assp
+ doexe *.pl *.sh || die
+ insinto /usr/share/assp
+ doins -r images/ || die
+
+ # Lock down the files/data
+ fowners assp:assp -R /usr/share/assp
+ fperms 770 /usr/share/assp
+
+ # Data storage
+ fowners assp:assp -R /var/lib/assp
+ fperms 770 /var/lib/assp
+
+ # PID directory
+ dodir /var/run/assp
+ keepdir /var/run/assp
+ fowners assp:assp -R /var/run/assp
+ fperms 770 /var/run/assp
+
+ # Install the init.d script to listen
+ newinitd "${FILESDIR}/asspd.init" asspd
+
+ dohtml docs/*.htm || die "Failed to install html docs"
+}
+
+pkg_postinst() {
+ elog
+ elog "To configure ASSP, start /etc/init.d/asspd then point"
+ elog "your browser to http://localhost:55555"
+ elog "Username: admin Password: nospam4me (CHANGE ASAP!)"
+ elog
+ elog "File permissions have been set to use assp:assp"
+ elog "with mode 770 on directories. When you configure"
+ elog "ASSP, make sure and use the user assp."
+ elog
+ elog "Don't change any path related options."
+ elog
+ elog "See the on-line docs for a complete tutorial."
+ elog "http://assp.sourceforge.net/docs.html"
+ elog
+ elog "If upgrading, please update your old config to set both"
+ elog "redre.txt and nodelay.txt path of /etc/assp. There are"
+ elog "also many new options that you should review."
+ elog
+}
diff --git a/mail-filter/assp/files/asspd.init b/mail-filter/assp/files/asspd.init
new file mode 100644
index 000000000000..cad0d9426ac1
--- /dev/null
+++ b/mail-filter/assp/files/asspd.init
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ASSP"
+ start-stop-daemon -b -m --start --quiet --startas /usr/share/assp/assp.pl \
+ --pidfile /var/run/assp/asspd.pid -- /var/lib/assp/
+ 2<&1 >> /var/log/assp/assp.log
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ASSP"
+ start-stop-daemon --stop --quiet --pidfile /var/run/assp/asspd.pid
+ eend $?
+}
diff --git a/mail-filter/assp/metadata.xml b/mail-filter/assp/metadata.xml
new file mode 100644
index 000000000000..c3631e5d6d67
--- /dev/null
+++ b/mail-filter/assp/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <longdescription>
+ The Anti-Spam SMTP Proxy (ASSP) Server project is an open source
+ platform-independent SMTP Proxy server which implements whitelists
+ and Bayesian filtering to rid the planet of the blight of unsolicited
+ email (UCE). UCE must be stopped at the SMTP server. Anti-spam tools
+ must be adaptive to new spam and customized for each site's mail
+ patterns. This free, easy-to-use tool works with any mail transport
+ and achieves these goals requiring no operator intervention after the
+ initial setup phase.
+ </longdescription>
+ <use>
+ <flag name="spf">Adds support for Sender Policy Framework</flag>
+ <flag name="srs">Adds support for Sender Rewriting Scheme</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">assp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/bmf/Manifest b/mail-filter/bmf/Manifest
new file mode 100644
index 000000000000..38fc68fcc6f4
--- /dev/null
+++ b/mail-filter/bmf/Manifest
@@ -0,0 +1,6 @@
+AUX bmf-0.9.4_QA.patch 534 SHA256 43d498deaa38868775aef5b05a8d5760a4603998a3a366dbe5ee67bb03d09196 SHA512 553607088051618cc88d0ccd7e74e644cfc6cc5a7e53f7e622ed1f2259cc49610c27c65613981f13ceb6173093e62c7e20326f4c2fb718bb6f3b2b2de011c2e9 WHIRLPOOL b7a203e25386f65410f785a22f0d2c6df506535b170dcca2242c02d63b622f86bb8152146323143a64759efcdf88100831cbc0d7a5300bc5a379784ee9e39d14
+DIST bmf-0.9.4.tar.gz 36740 SHA256 7eed21802f95df2321ac4c958f99e14d2809852a5708700b633e1abb032c9ce1 SHA512 efbc7edd08ac9abd5a56fa8a00d0011363582e50dda309526b2114906f7d9a9795539df62d4db99457903a2277980bde02d24c97c2ec087d2af84df691cdb9f4 WHIRLPOOL cb68e92f6ac4305c2379b934f674a18746a7a2ba9ecfc33af421f2d2a2f4c4a4d3687b556e6d546fcbe6ad7b4d9bab8eeae8347685866b8e17b54b767952e912
+EBUILD bmf-0.9.4-r2.ebuild 1186 SHA256 19714d5b0fb17937f243af47cf0603ed9dffbd97f16dc5c9cf5a88d4f61bcf2a SHA512 cae3de548b2f5103152724350ea208f94585fb1133484a474756059668d481870b67be1c8b2acddc84b6f534e81d97e01636a762ed9213703c5b7b9d0a604f67 WHIRLPOOL 2185adf0c4b8a3dac454180dd0f1a73493791f3bb013c48d21d28ee4e5c4a854b9e932db9c86b81b7ae16dd13feaf98c331cdcb80d6b385730dabce8c4bad751
+MISC ChangeLog 2451 SHA256 5d44642f67a1a29b8a161f26db60064c77d508ab6db2ce72e4b1a175efaaa52f SHA512 adb17a649bfc3bf412e970f72878d0aca08bb8b6b2fe28857771acac2b7a4b10c5ee6caa01ef7bac6f7fd3e0b5997319f461fd6f6530d6a2f7f925d1e35f151d WHIRLPOOL 76d077e30e69af072a5925234f31e9ba81f96c36881c31bccfd073be8850aefd2def7d47f3b73c5a9b7bd02ec884a1a020af53ca211bd566745967262eaebf33
+MISC ChangeLog-2015 2396 SHA256 432871d263f21263ddbcd5b92a3dc307c455bd9da5d1bbb1dc143ea830e81d03 SHA512 ad905447a45e26ed13361c08aea44873875cc79bd57a4fd02a83e7433a632db783e3e00354fabd38c7d44e5fc1f47ef1949175da05ab938a4fd1951bd07cd971 WHIRLPOOL 2d5e171650fc9908a2735a02b1ba779310ccf29c6041fb5d14e31920246ea52ec4bfee59bc74cfad1d2494ae5a8a020e8311f01e56ece18e5a5065a8e6d0de81
+MISC metadata.xml 317 SHA256 ff30a7b18dd8757f5f7f3d81324a62715bf95d21568a809db6d89fe4f8115ddc SHA512 a278d1d66f598fc794827164dcf307d678f63a4dee8ac4d3b0665182579bef956dae638c955972d781b75d8ea3de62956ca1bd82b9dc18a1f298d90d92a36c3e WHIRLPOOL 127a176ca83d62925759faa62200d4d02daf4b464abb264fb2dae858cfbde05cac1ce6b7139519d09571177948e9a41bec53be524d150cb11361aadaae12f36a
diff --git a/mail-filter/bmf/bmf-0.9.4-r2.ebuild b/mail-filter/bmf/bmf-0.9.4-r2.ebuild
new file mode 100644
index 000000000000..2f53d943dec7
--- /dev/null
+++ b/mail-filter/bmf/bmf-0.9.4-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit toolchain-funcs eutils
+
+IUSE="mysql berkdb"
+
+DESCRIPTION="A fast and small Bayesian spam filter"
+HOMEPAGE="http://bmf.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bmf/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+DEPEND="mysql? ( virtual/mysql )
+ berkdb? ( >=sys-libs/db-3.2.9 )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # respect CFLAGS
+ sed -i -e '/D_LINUX/s/CFLAGS="$CCDBG/CFLAGS+=" $CCDBG/' \
+ "${S}/configure" || die
+
+ # include mysql headers
+ sed -i -e '/HAVE_MYSQL/s/HAVE_MYSQL/HAVE_MYSQL `mysql_config --include`/' \
+ "${S}/configure" || die
+
+ epatch "${FILESDIR}/${P}_QA.patch"
+}
+
+src_configure() {
+ # this is not an autotools script
+ ./configure \
+ $(use_with mysql) \
+ $(use_with berkdb libdb) || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README AUTHORS ChangeLog
+}
+
+pkg_postinst() {
+ elog
+ elog "Important: Remember to train bmf before you start using it."
+ elog "See the README file for further instructions on training and using bmf"
+ elog "with procmail."
+ elog
+}
diff --git a/mail-filter/bmf/files/bmf-0.9.4_QA.patch b/mail-filter/bmf/files/bmf-0.9.4_QA.patch
new file mode 100644
index 000000000000..f911e05d58f9
--- /dev/null
+++ b/mail-filter/bmf/files/bmf-0.9.4_QA.patch
@@ -0,0 +1,19 @@
+--- dbh.c 2002-10-14 07:09:51.000000000 +0000
++++ dbh.c 2012-02-24 10:52:07.000000000 +0000
+@@ -60,12 +60,16 @@
+ case db_text:
+ pdb = (dbh_t*)dbtext_db_open( dbhost, dbname, dbuser, dbpass );
+ break;
++#ifdef HAVE_LIBDB
+ case db_db:
+ pdb = (dbh_t*)dbdb_db_open( dbhost, dbname, dbuser, dbpass );
+ break;
++#endif
++#ifdef HAVE_MYSQL
+ case db_mysql:
+ pdb = (dbh_t*) dbmysql_db_open( dbhost, dbname, dbuser, dbpass );
+ break;
++#endif
+ default:
+ assert(false);
+ }
diff --git a/mail-filter/bmf/metadata.xml b/mail-filter/bmf/metadata.xml
new file mode 100644
index 000000000000..a5211273d128
--- /dev/null
+++ b/mail-filter/bmf/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">bmf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/bogofilter/Manifest b/mail-filter/bogofilter/Manifest
new file mode 100644
index 000000000000..3c15ad1c6b01
--- /dev/null
+++ b/mail-filter/bogofilter/Manifest
@@ -0,0 +1,7 @@
+AUX bogofilter-1.2.2-gcc34.patch 1393 SHA256 a8dd6640782dc2c564c4b402cfbac2fd6d016db03adab67b8507d914cd110dc8 SHA512 7179efbc1a8a4ba79a6710d6324c955dfa255e46fb5d9ac3377b11843f8eb545bf6e9ce5b547a62198d7be4fd989b9a5ea96487d34491df7d42f33a818f02b84 WHIRLPOOL beeeb55b64a22b60fca8cf51c77ca1ff42631c086b50f3e03db5b83a04cdca5e55363c75e4d4ac2459dc4a5e0bd121cebfe29d4e52cfa51777b4162dc1ce5367
+AUX bogofilter-1.2.4-test-env.patch 392 SHA256 e24638d2187074f48cfc19e1146b5f5b37167fa3c6576e2f8920295414fbfe0c SHA512 c9f08a1af44d3281aff119a821423adbb9533cd49d87986a13d817db8d9446bc48a195b964527940aa0e41f5106bd4d7b2a9684c6c725bafed95adb8d3e87e96 WHIRLPOOL f378cf1d420a12962e015c7a9fb2db64ecf91f49ac27622c893a8004402b2b88360660542ff5e967196692836085f6d46d38d0e246d4d087d59518aef746ace5
+DIST bogofilter-1.2.4.tar.bz2 887848 SHA256 e10287a58d135feaea26880ce7d4b9fa2841fb114a2154bf7da8da98aab0a6b4 SHA512 e8c0b6bcc14f12fbbb2752e697a6d9065e17abfca3f70045ce9fe668d01c1cfad4adaa35c81546ecdd3639b0c28f3f4776bb5ed4699f21e9e2a5b19ca33479db WHIRLPOOL a35a2ce87333d07fe64972d173a4ae6a3105e31577b5915fdd376f41a14fb226e94a173d393c14aac7ca147726aa4267b1c6060ce7df5deea11ca82c3d350a13
+EBUILD bogofilter-1.2.4-r1.ebuild 3739 SHA256 9cb1e54e49c8ffa4f9d64ea1634afa57022ea28b62ad865fd9ed1df456531799 SHA512 f82ea953c36071d6b5f25ce645d585712906f7bfe688400ce0e45cb561cdb7cb774243216bd9af090308744c9d6cd8c4f70fd00b69fe85a28c3331a0cc580021 WHIRLPOOL 8805f5fe7af1c9fd41aee93afad4c3c43ab7021c44a62e675f3ab2f89b30b14bf21921a9c52d7fca914596fb57f2e3e2cc48ab330143717e428af9e9a0e9134b
+MISC ChangeLog 2613 SHA256 709337caaaa4a3166100f726899d7ee06be5823743fa66e59bdda8d9839d5745 SHA512 63e27833e6ba34d507bd1b3bdc3e40dd519d8ba3d9b78084429b8dd5399790403627512d33784830b80be16f74039a0d4a8d82e8e1e01c37694669363d377115 WHIRLPOOL 630ace9f464e4995dfdad8c07fca9690931414a38fc108457e3b7ac75d1b18c5a7ec5743c08863689139e553747fa01941d9b097628d0450a3847413b199c04c
+MISC ChangeLog-2015 28328 SHA256 1c697e36f0f1965b3246f4d99dcf5a97269bb3e9f0da55db53a03b57749dc560 SHA512 d71ab40a72723d33a40cc0096e6592e98fd9ca7b9bc8b6e00ff54b890f7f0f85a2fefab22835eac81542eb0d48334b32f04af5d045ed644dcb7e2d8589e8de33 WHIRLPOOL 8ea14c28dae8900f4288cbfcfa6ddd17b0c9d0063bdef0a3f383c6bcd5b121810770eccf5bb2bc63141ee765b7175d4bc043947d558bf71351ca823ac6121f0d
+MISC metadata.xml 681 SHA256 cf8f9eb6816f52870b8625d1e28e29b2f07e7f2bed7a4b8e63c5a6b921d67512 SHA512 cce40d35e042c532ccac225225ca6a137a041f9da6f8f0696cfd4b12fa6876662379bf2cc01e36bb91bf32479561be0ca44b20a86a7788448207a35983042277 WHIRLPOOL 3e319b87eaf23b592890d5306c4b542591f8fe8eba7335ca7184abbcdeb18f1f5fdcde39ba00ab4a657048247b3263ec9bdfcd721303480e1c6177ab3e1eaacb
diff --git a/mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild b/mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild
new file mode 100644
index 000000000000..5ccb2b340a55
--- /dev/null
+++ b/mail-filter/bogofilter/bogofilter-1.2.4-r1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools db-use eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Bayesian spam filter designed with fast algorithms, and tuned for speed"
+HOMEPAGE="http://bogofilter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="berkdb sqlite tokyocabinet"
+
+DEPEND="
+ virtual/libiconv
+ berkdb? ( >=sys-libs/db-3.2:* )
+ !berkdb? (
+ sqlite? ( >=dev-db/sqlite-3.6.22 )
+ !sqlite? (
+ tokyocabinet? ( dev-db/tokyocabinet )
+ !tokyocabinet? ( >=sys-libs/db-3.2:* )
+ )
+ )
+ sci-libs/gsl:=
+ app-arch/pax"
+# pax needed for bf_tar
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ has_version mail-filter/bogofilter || return 0
+ if ( use berkdb && ! has_version 'mail-filter/bogofilter[berkdb]' ) || \
+ ( ! use berkdb && has_version 'mail-filter/bogofilter[berkdb]' ) || \
+ ( use sqlite && ! has_version 'mail-filter/bogofilter[sqlite]' ) || \
+ ( ! use sqlite && has_version 'mail-filter/bogofilter[sqlite]' ) || \
+ ( has_version '>=mail-filter/bogofilter-1.2.1-r1' && \
+ ( use tokyocabinet && ! has_version 'mail-filter/bogofilter[tokyocabinet]' ) || \
+ ( ! use tokyocabinet && has_version 'mail-filter/bogofilter[tokyocabinet]' )
+ ) ; then
+ ewarn
+ ewarn "If you want to switch the database backend, you must dump the wordlist"
+ ewarn "with the current version (old use flags) and load it with the new version!"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # bug 445918
+ sed -i -e 's/ -ggdb//' configure.ac || die
+
+ # bug 421747
+ epatch "${FILESDIR}"/${P}-test-env.patch
+ chmod +x src/tests/t.{ctype,leakfind,lexer.qpcr,lexer.eoh,message_id,queue_id}
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="" berkdb=true
+ myconf="--without-included-gsl"
+
+ # determine backend: berkdb *is* default
+ if use berkdb && use sqlite ; then
+ elog "Both useflags berkdb and sqlite are in USE:"
+ elog "Using berkdb as database backend."
+ elif use berkdb && use tokyocabinet ; then
+ elog "Both useflags berkdb and tokyocabinet are in USE:"
+ elog "Using berkdb as database backend."
+ elif use sqlite && use tokyocabinet ; then
+ elog "Both useflags sqlite and tokyocabinet are in USE:"
+ elog "Using sqlite as database backend."
+ myconf="${myconf} --with-database=sqlite"
+ berkdb=false
+ elif use sqlite ; then
+ myconf="${myconf} --with-database=sqlite"
+ berkdb=false
+ elif use tokyocabinet ; then
+ myconf="${myconf} --with-database=tokyocabinet"
+ berkdb=false
+ elif ! use berkdb ; then
+ elog "Neither berkdb nor sqlite nor tokyocabinet are in USE:"
+ elog "Using berkdb as database backend."
+ fi
+
+ # Include the right berkdb headers for FreeBSD
+ if ${berkdb} ; then
+ append-cppflags "-I$(db_includedir)"
+ fi
+
+ # bug #324405
+ if [[ $(gcc-version) == "3.4" ]] ; then
+ epatch "${FILESDIR}"/${PN}-1.2.2-gcc34.patch
+ fi
+
+ econf ${myconf}
+}
+
+src_test() {
+ emake -C src/ check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ exeinto /usr/share/${PN}/contrib
+ doexe contrib/{bogofilter-qfe,parmtest,randomtrain}.sh \
+ contrib/{bfproxy,bogominitrain,mime.get.rfc822,printmaildir}.pl \
+ contrib/{spamitarium,stripsearch}.pl
+
+ insinto /usr/share/${PN}/contrib
+ doins contrib/{README.*,dot-qmail-bogofilter-default} \
+ contrib/{bogogrep.c,bogo.R,bogofilter-milter.pl,*.example} \
+ contrib/vm-bogofilter.el \
+ contrib/{trainbogo,scramble}.sh
+
+ dodoc AUTHORS NEWS README RELEASE.NOTES* TODO GETTING.STARTED \
+ doc/integrating-with-* doc/README.{db,sqlite}
+
+ dohtml doc/*.html
+
+ dodir /usr/share/doc/${PF}/samples
+ mv "${D}"/etc/bogofilter.cf.example "${D}"/usr/share/doc/${PF}/samples/ || die
+ rmdir "${D}"/etc || die
+}
diff --git a/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch b/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch
new file mode 100644
index 000000000000..80e4d787cf87
--- /dev/null
+++ b/mail-filter/bogofilter/files/bogofilter-1.2.2-gcc34.patch
@@ -0,0 +1,24 @@
+diff -ruN bogofilter-1.2.1-orig/src/Makefile.am bogofilter-1.2.1/src/Makefile.am
+--- bogofilter-1.2.1-orig/src/Makefile.am 2009-05-28 22:59:05.000000000 +0200
++++ bogofilter-1.2.1/src/Makefile.am 2010-06-16 22:52:36.000000000 +0200
+@@ -16,7 +16,7 @@
+ AM_CPPFLAGS = -iquote$(top_srcdir)/gnugetopt -iquote$(top_srcdir)/trio \
+ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir)
+ else
+-AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I- -I. \
++AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I. \
+ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir)
+ endif
+
+diff -ruN bogofilter-1.2.1-orig/src/Makefile.in bogofilter-1.2.1/src/Makefile.in
+--- bogofilter-1.2.1-orig/src/Makefile.in 2009-08-01 21:00:51.000000000 +0200
++++ bogofilter-1.2.1/src/Makefile.in 2010-06-16 22:52:23.000000000 +0200
+@@ -483,7 +483,7 @@
+ @ENABLE_MEMDEBUG_TRUE@MEMDEBUG_SRC = memdebug.c memdebug.h
+ noinst_LIBRARIES = libbogofilter.a $(am__append_3) $(am__append_5) \
+ $(am__append_10)
+-@USE_GCC4_FALSE@AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I- -I. \
++@USE_GCC4_FALSE@AM_CPPFLAGS = -I$(top_srcdir)/gnugetopt -I$(top_srcdir)/trio -I. \
+ @USE_GCC4_FALSE@ -I$(srcdir) @GSL_CFLAGS@ -I$(top_srcdir)/gsl/specfunc -I$(top_srcdir)
+
+ @USE_GCC4_TRUE@AM_CPPFLAGS = -iquote$(top_srcdir)/gnugetopt -iquote$(top_srcdir)/trio \
diff --git a/mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch b/mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch
new file mode 100644
index 000000000000..8cf109c45519
--- /dev/null
+++ b/mail-filter/bogofilter/files/bogofilter-1.2.4-test-env.patch
@@ -0,0 +1,11 @@
+--- a/src/tests/Makefile.am
++++ b/src/tests/Makefile.am
+@@ -67,7 +67,7 @@
+
+ TESTS=$(BUILT_TESTS) $(TESTSCRIPTS)
+
+-TESTS_ENVIRONMENT=RUN_FROM_MAKE=1 AWK=$(AWK) srcdir=$(srcdir) SHELL="$(SHELL)" $(SHELL) $(VERBOSE)
++TESTS_ENVIRONMENT=RUN_FROM_MAKE=1 AWK=$(AWK) srcdir=$(srcdir) SHELL="$(SHELL)" $(VERBOSE)
+
+ EXTRA_DIST=$(TESTSCRIPTS) t.frame t.save t.skel \
+ printcore t._abort unsort.pl \
diff --git a/mail-filter/bogofilter/metadata.xml b/mail-filter/bogofilter/metadata.xml
new file mode 100644
index 000000000000..e8137c9d6c99
--- /dev/null
+++ b/mail-filter/bogofilter/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <longdescription>
+ Bogofilter is a mail filter that classifies mail as spam or ham (non-spam)
+ by a statistical analysis of the message's header and content (body). The
+ program is able to learn from the user's classifications and corrections.
+ </longdescription>
+ <use>
+ <flag name="tokyocabinet">Enable Tokyo Cabinet database support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">bogofilter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/clamassassin/Manifest b/mail-filter/clamassassin/Manifest
new file mode 100644
index 000000000000..ae19b9a304c7
--- /dev/null
+++ b/mail-filter/clamassassin/Manifest
@@ -0,0 +1,5 @@
+DIST clamassassin-1.2.4.tar.gz 35350 SHA256 63bae3963d27548d0fc7bbf76eb6bc5506291e9e1cb95aa13390497c4c17a100 SHA512 174a62f3c201d061b49641d6210c1c5adf21ee96e6881ca9c6b44577efc4795cbb5f0879cbb99222c8313095307c95f0dd3376743a0ab32c50f0b9eae45e0163 WHIRLPOOL 4285fe070cc7b9922daa76d946b53240d2336f79378081f7ca3e356a34f496601568e13f82da42731a764f348e0a18c0f3b786659e5edce5c2bcc182eb3ea083
+EBUILD clamassassin-1.2.4.ebuild 1170 SHA256 0d3914f76ac15e7885d8f90560afe435391051729dc6effb58098318b79bb551 SHA512 b75ef4924bb2ced7188170f8ff08ea9938c752285aee510e357ccf1559564099865523666f11fbe612ab809c607c8eae54ebbd68e50d62669148f0219b774645 WHIRLPOOL 915b1e932710c971ea001fe40a0246ddf984542cd16c75727c6f74ef856bce1067afa5fb204c5a1d6ef75271b6755d883e814fcbf8c03c00ab014a7be90818f0
+MISC ChangeLog 2838 SHA256 0b1acbdc643fc36bbc5bc33c7be255323bf823478dc6b3c58a09a811f75a6b0a SHA512 047a93e4fe99f4c8fcefc68fb6edc4c877a9fa81c3832d927900b9c1616136f58ca6186dfc9dd730cf98fda4144470f1f49d455e839acdc4d5e8d037be8376a2 WHIRLPOOL 79e4788e8bb644ba95b72b0066e7be9958efd43801ef9992a2b7b828a3f0998adbbda053e50b51430ac8b1bcc4f18e974c569c4e3efca4dc78babc1ad93e8337
+MISC ChangeLog-2015 4588 SHA256 3f39d286c86296eb78e129f5ae738b960c93d93d753c6f55793d81ecd0e639ac SHA512 3b064fc4d6eae1fd3a4c93e8ce5093364fe0ee2a3f23ff7e06b4c89fb4f3c8352ba45fac41ca9dec03551a9651705f99ce9e390fb2a50cc22ef7cdf88b101d48 WHIRLPOOL 4920e61f4ddf9ebdbdcb550d13c563c25010926da2b545675f7f3c4f9fe5dc393f3825a872e2c182fc79bb9e5ca289f1028a2c9f600b622881c921dcf56e6a69
+MISC metadata.xml 420 SHA256 dd96b26ca72173d30bfc41063be6cc967fb11b7a29fecbf7efad7cc8aa23b8cf SHA512 82a13efbb615fe828f328dc5b0050d27c471f2af21aef1081f5666a7873a0adeafda90e5602fe5001b86024be6b7428ffc655037617598fd71e535ca15d04cde WHIRLPOOL 49880047ee6fddb3b88b5125a34fad4cf44bf1a676fff672c9151fc5a09183e963db6ed96bdecca87f2acbc3c97d17aca654c87f404be5468df326ce934565ce
diff --git a/mail-filter/clamassassin/clamassassin-1.2.4.ebuild b/mail-filter/clamassassin/clamassassin-1.2.4.ebuild
new file mode 100644
index 000000000000..ca9ab9a78ee8
--- /dev/null
+++ b/mail-filter/clamassassin/clamassassin-1.2.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="A simple spamassassin-like script for virus scanning (through clamav) and filtering e-mail messages"
+HOMEPAGE="http://jameslick.com/clamassassin/"
+SRC_URI="http://jameslick.com/clamassassin/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE="subject-rewrite clamd"
+DEPEND=">=app-antivirus/clamav-0.90
+ sys-apps/debianutils
+ sys-apps/which
+ mail-filter/procmail"
+
+src_compile() {
+ # Try to get location of clamd's DatabaseDirectory
+ local clamav_dbdir=`awk '$1 == "DatabaseDirectory" { print $2 }' \
+ /etc/clamd.conf`
+ # If not defined in clamd.conf, go with default
+ if [ -z "$clamav_dbdir" ] ; then
+ clamav_dbdir="/var/lib/clamav"
+ fi
+ # Add an entry to sandbox write prediction list, so sandbox doesn't complain
+ addpredict ${clamav_dbdir}/
+
+ econf \
+ $(use_enable subject-rewrite) \
+ $(use_enable clamd clamdscan) \
+ || die
+ # Fix problems with Portage exporting TMP and breaking clamassassin. #61806
+ sed -i -e "s:${TMP}:/tmp:" clamassassin
+}
+
+src_install() {
+ dobin clamassassin
+ dodoc CHANGELOG LICENSE README
+}
diff --git a/mail-filter/clamassassin/metadata.xml b/mail-filter/clamassassin/metadata.xml
new file mode 100644
index 000000000000..3a6ad4a1d463
--- /dev/null
+++ b/mail-filter/clamassassin/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<use>
+ <flag name="clamd">Use the <pkg>app-antivirus/clamav</pkg> daemon for virus
+ checking</flag>
+ <flag name="subject-rewrite">Adds support for subject rewriting</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/clamsmtp/Manifest b/mail-filter/clamsmtp/Manifest
new file mode 100644
index 000000000000..21b7d886fa0c
--- /dev/null
+++ b/mail-filter/clamsmtp/Manifest
@@ -0,0 +1,6 @@
+AUX clamsmtpd.init 463 SHA256 ed70732811f8f47f317911c80806ae18bab7a279e4ab50117054718d07c1c1d3 SHA512 27ddb17a4061d1f7f6d135101655c17803aae8b8f19595ec29c3d4d01b31bdccc9d743e66662ca63ce0316e6b1812f7df6f44fd6c083832eb28bd45adf0f91a0 WHIRLPOOL 91d0f44410564dedf39b270b7a1fbb874543bc5a62dcf9a1156d1e48b1f6d0737cf467294088fba7024d4110edc7ef2b151adcd0b0ef13d6bedda8d0c1f6c643
+DIST clamsmtp-1.10.tar.gz 217126 SHA256 a52fdb4b26e11ece30c478a806c95b1eda16f4e73937bd560ece7017fb0df92a SHA512 f28e2c1d78c965245d8d7a8810fbeb11d41e40383eba2e8fca500f94c2e4b8d9a2c0b9e4e8e967965bf50266968e0b9549fb62369f37724350a20174c89a044b WHIRLPOOL 2e075e4903c52b09ea07b89502e85351cefcc5f1203ada6e3ddfa1654cffa6313170c9425995a230189dda2e35e66d3f3bac373d653196384034e6cec626df82
+EBUILD clamsmtp-1.10.ebuild 1104 SHA256 caae551880fb9087057db1e5346efc5c3c7bbd41461ad3d2e3f475447b2b9864 SHA512 79517bc18ebb6eaffe49a59d94a0f43c9c60bc6cea2d66709fecc39ad3f22e723d09f1a772569e4cbb470f4fe324a83ea57467edc467a4677d52b04ddbcff853 WHIRLPOOL 3d1f771456cfed1a4b47bad9a357e69bbf2525f01968c17b54cbbb8b6ac7511674303eda56800eac66c6cd4c9fc9276b12cd47cc9d214a9fae1ace5773f3ff81
+MISC ChangeLog 2866 SHA256 304cd0a7a95ea56e939349c2439fd4d048bfdbd241564799b05dd796d85b70f2 SHA512 2698cc984b6d5c006b91338273276546094692f8fec4d6448dba23d5f13e9a4e8a023e54cbff157ad3b37b4552800724456b0ebf1acce11b7fac565305794287 WHIRLPOOL 8f8d4ae027827722af5fa9d4c5cfceb1639cb6c46b7061dbaeabbccd40f1db00767cfe82039aeb6fa681311369330a90127783a0ebb8cfe32c57da30458d5acb
+MISC ChangeLog-2015 3457 SHA256 d05d0825727383c865ad9a9f748f133d5cd6c07321bc2f332945590415f20280 SHA512 d040f922e5d023cabcd324762df114cae0121150ef69c3b44b2bbb7474530e213a4c4d891c2b2a7651fd81c6aebacd2344a56e2978fa8eb8d7d0d1b76c31346c WHIRLPOOL 30a30a3a8871e504707aff7c74ae3418e91fca2fb24f2865d9f8f7962ca77a2fa8150a51a6b329945e7ce157938d8793aed757cc517230266c8f521a49d3cb52
+MISC metadata.xml 651 SHA256 e120064433efc0df17009caded64d18c54982b1b7a013d4edecf9584a2f42c2e SHA512 7990cc0652c2575380b151ef13970a023f674d2087d7ec17497391201551126c3eb9898a517a26aa14a5d83f939e3273dae1393076124a736f17412538ab77a6 WHIRLPOOL 16a409e1b44d348ad039092614e51450572cfd23017cf9ead1c71a7e837981b0c132d9a2e043d44b6203f2b581eec2fafc399c4c8a434242789565665a9b9d09
diff --git a/mail-filter/clamsmtp/clamsmtp-1.10.ebuild b/mail-filter/clamsmtp/clamsmtp-1.10.ebuild
new file mode 100644
index 000000000000..610f90189346
--- /dev/null
+++ b/mail-filter/clamsmtp/clamsmtp-1.10.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="An SMTP filter to check for viruses using the ClamAV anti-virus software"
+HOMEPAGE="http://thewalter.net/stef/software/clamsmtp/"
+
+SRC_URI="http://thewalter.net/stef/software/${PN}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 hppa ~sparc x86"
+IUSE=""
+
+DEPEND=">=sys-apps/sed-4"
+RDEPEND=">=app-antivirus/clamav-0.75"
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README NEWS
+ newinitd "${FILESDIR}"/clamsmtpd.init clamsmtpd
+ insinto /etc
+ newins doc/clamsmtpd.conf clamsmtpd.conf
+
+ sed -i \
+ -e "s|\#\(ClamAddress\): .*|\1: /var/run/clamav/clamd.sock|" \
+ -e "s|\#\(User\): .*|\1: clamav|" \
+ "${D}"/etc/clamsmtpd.conf
+}
+
+pkg_postinst() {
+ echo
+ elog "For help configuring Postfix to use clamsmtpd, see:"
+ elog " http://thewalter.net/stef/software/clamsmtp/postfix.html"
+ echo
+ ewarn "You'll need to have ScanMail support turned on in clamav.conf"
+ ewarn "Also, make sure the clamd scanning daemon is running (not just freshclam)"
+ echo
+}
diff --git a/mail-filter/clamsmtp/files/clamsmtpd.init b/mail-filter/clamsmtp/files/clamsmtpd.init
new file mode 100644
index 000000000000..94baa2d87b94
--- /dev/null
+++ b/mail-filter/clamsmtp/files/clamsmtpd.init
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need clamd
+}
+
+start() {
+ ebegin "Starting ClamSMTPd"
+ start-stop-daemon --start --quiet \
+ --exec /usr/sbin/clamsmtpd -- -p /var/run/clamav/clamsmtpd.pid -f /etc/clamsmtpd.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ClamSMTPd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/clamav/clamsmtpd.pid
+ eend $?
+}
diff --git a/mail-filter/clamsmtp/metadata.xml b/mail-filter/clamsmtp/metadata.xml
new file mode 100644
index 000000000000..baf10cb0ef87
--- /dev/null
+++ b/mail-filter/clamsmtp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription>ClamSMTP is an SMTP filter that allows you to check for viruses using the ClamAV anti-virus software. It accepts SMTP connections and forwards the SMTP commands and responses to another SMTP server. The 'DATA' email body is intercepted and scanned before forwarding.</longdescription>
+ <upstream>
+ <changelog>http://thewalter.net/stef/software/clamsmtp/ChangeLog</changelog>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/couriersrs/Manifest b/mail-filter/couriersrs/Manifest
new file mode 100644
index 000000000000..bacf4b34468a
--- /dev/null
+++ b/mail-filter/couriersrs/Manifest
@@ -0,0 +1,6 @@
+AUX couriersrs-0.1.2-automake-fixes.diff 1100 SHA256 580efaab4576f293857cdd564b15ad174417f6a6fb53b905fdd8033e647004a9 SHA512 dff1847f5ba4898f6f5be8792c80beab75241b26feb63ed130af1788a5ad44d10c6fe7a22de4140baa2523b1f374aac158bda1409ccd41b15d6ed60a221d96c5 WHIRLPOOL e626b61d8e1c373500a33cc89f2f664d8e2f5e23a3113122a2732caf7dfeb08d06f2c7a35b001cff37bf621a987871c7774341b521d66449d316fd90527e24c0
+DIST couriersrs-0.1.2.tar.gz 521868 SHA256 44890a3348f3c6630ec6eca0cc9b2d755d5cce44e100439d22acbb3da6f94109 SHA512 e2749bac3374935753ae7cc3d7ef2920b63445dece1206c4c7877005837360f0a6ec6753bfd4b1d736a4eb948a54bf5a7799bc85fc27dd987abd901180545df4 WHIRLPOOL b2c594536c28e3f13ed6b2055303bfbbd2678770dc77d5b4dc842121c74b78d4cfe2b1009f92f984ebe00f9a0023eaeb7ef43ec60a19075d23f06423e61791d8
+EBUILD couriersrs-0.1.2.ebuild 636 SHA256 763a21ac7bb25b840c959b49e120be88d45e93e3cd5312e309336f1a7f5587eb SHA512 f944e2f992c51d7513251423997295b4d8e87a022eb089bde40e90db9c3cf0504d9a5e3ff1874411d68258a8b491e74667b5f707e2de4e357574603c18ebb4bd WHIRLPOOL 9554811e526e5cdbff83b1e74eff1f0d83dab6cae9679315a0ad8d54d0067ef0faf55a867dc99a3fb040c22523cb090eef13902d04c44fecabffff482550b864
+MISC ChangeLog 2484 SHA256 db1691a2754e6799eda5b8b902ef61846b74a625b6b2469a5e600d5589625dcb SHA512 293007236306e616532ac1ca260b8e11f3fc22e02128176af9cce40bda5d712345cd45947b8ad064080284baa2c92538ddfa7781399663ddbc422460f9efb456 WHIRLPOOL 9cafe17bebe59b367e3b1bd67ad97b40eb807e43c15c15e0904369e6895ef78c4c3a5158c7c4edf90cb6bd035dea3d2bec8aa8e52f87e895b3fe397badf0b07f
+MISC ChangeLog-2015 1158 SHA256 85ec1b13740f33f1392480c961aa0da695267dee2a5154843721c21fffc354b1 SHA512 8da6c3a65ccd8c766fa29dceaf76992d5f39503f57e079cac9bf8eceaedd42568e5ba4a3be866abdccac0c49913e3e5cdca2b3ae88cf8bb1710f943d5495f48c WHIRLPOOL 6365d1738a4370099721a0d7d7f43c2d0aaacb7797b5d09df41c154de83d2ccefd8f5de95769b92992dee845a26394af5295bce88625bd13e48d0ccf1b4cfaac
+MISC metadata.xml 309 SHA256 1f545f557c4cc5b846e5e6dd2ce87b1c0e7aafc67358cb27219da06f01822a76 SHA512 0ac3bb55ee08dec98bfa2f52cbcdbfb2e1a95092a9c931b084cfbb8e471f22e14e4740e8fb51300d9fcc53d29b1b84fee35e5a7b3dd5190bb670aeed143599a2 WHIRLPOOL 8d751d6cf336ea645194d952f3f9925b7eadf0223de5761a978f5e3a8f7e11fe1695502ce24021c97f227344bcd65a19a85c24ea09398d61a395812c27356554
diff --git a/mail-filter/couriersrs/couriersrs-0.1.2.ebuild b/mail-filter/couriersrs/couriersrs-0.1.2.ebuild
new file mode 100644
index 000000000000..80b3a5a32511
--- /dev/null
+++ b/mail-filter/couriersrs/couriersrs-0.1.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit autotools eutils
+
+DESCRIPTION="SRS (Sender Rewriting Scheme) wrapper for the courier MTA"
+HOMEPAGE="http://couriersrs.com/"
+SRC_URI="http://couriersrs.com/download/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE=""
+DEPEND="dev-libs/popt
+ mail-filter/libsrs2"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ rm m4/*.m4
+ epatch "${FILESDIR}/${P}-automake-fixes.diff"
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS NEWS ChangeLog
+}
diff --git a/mail-filter/couriersrs/files/couriersrs-0.1.2-automake-fixes.diff b/mail-filter/couriersrs/files/couriersrs-0.1.2-automake-fixes.diff
new file mode 100644
index 000000000000..153e5d92c995
--- /dev/null
+++ b/mail-filter/couriersrs/files/couriersrs-0.1.2-automake-fixes.diff
@@ -0,0 +1,36 @@
+--- couriersrs-0.1.2/configure.ac.1 2009-10-11 19:20:07.000000000 +0200
++++ couriersrs-0.1.2/configure.ac 2009-10-11 19:30:35.000000000 +0200
+@@ -16,7 +16,7 @@
+ AM_ICONV
+
+ AM_GNU_GETTEXT
+-AM_GNU_GETTEXT_VERSION(0.14.1)
++AM_GNU_GETTEXT_VERSION(0.15)
+ ALL_LINGUAS=""
+
+ AC_DISABLE_STATIC
+diff -Naur couriersrs-0.1.1/intl/Makefile.in couriersrs-0.1.1-x/intl/Makefile.in
+--- couriersrs-0.1.1/intl/Makefile.in 2007-03-15 20:59:02.000000000 +0100
++++ couriersrs-0.1.1-x/intl/Makefile.in 2009-09-19 23:36:54.000000000 +0200
+@@ -39,8 +39,7 @@
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+-MKINSTALLDIRS = @MKINSTALLDIRS@
+-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
++mkinstalldirs = @mkdir_p@
+
+ l = @INTL_LIBTOOL_SUFFIX_PREFIX@
+
+--- couriersrs-0.1.1/po/Makefile.in.in 2007-03-15 20:59:04.000000000 +0100
++++ couriersrs-0.1.1-x/po/Makefile.in.in 2009-09-19 23:36:00.000000000 +0200
+@@ -28,8 +28,7 @@
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+-MKINSTALLDIRS = @MKINSTALLDIRS@
+-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
++mkinstalldirs = @mkdir_p@
+
+ GMSGFMT = @GMSGFMT@
+ MSGFMT = @MSGFMT@
diff --git a/mail-filter/couriersrs/metadata.xml b/mail-filter/couriersrs/metadata.xml
new file mode 100644
index 000000000000..d2d56e282540
--- /dev/null
+++ b/mail-filter/couriersrs/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person"><email>hanno@gentoo.org</email></maintainer>
+<maintainer type="project">
+<email>net-mail@gentoo.org</email>
+<name>Net-Mail</name>
+</maintainer>
+</pkgmetadata>
diff --git a/mail-filter/dcc/Manifest b/mail-filter/dcc/Manifest
new file mode 100644
index 000000000000..a19a80f9ac85
--- /dev/null
+++ b/mail-filter/dcc/Manifest
@@ -0,0 +1,15 @@
+AUX dcc-1.3.140-configure-fix.patch 426 SHA256 b3cebec1d0f22d3158f15613a227c924dc6e8edc1f14fd9e562306da3fc132ba SHA512 e6057fef60053a07013c5575422e46ad50004583385650f5b95593bbb45949779fe65c10776952eaa3edaa504d24a1243fa6be8026873b63a915bfccb0b8740a WHIRLPOOL c59d9ec0343180e9682b2278dd5c015a01e30211d8ab8488829879aca96cb457d62d9842fa49dc0a4540e99ffc3f6ce3b42958845219f8f29af8bb1e596d06bf
+AUX dcc-1.3.140-freebsd.patch 381 SHA256 0614869d2343bc96d6e9ef5bb3ad190cc4134156e339f33558e0ad833545b1b3 SHA512 b622085c54246cb38185262f851d611bad6e636d91a4a94ec7b966565a7d01a1a2a0445616eb3086f6c1d62a6c865e7248fcc828efbaaa70cdc7bbe2975c01d4 WHIRLPOOL 5d48e6cb46a825dd70c5e27e8f3079bb456f8b07549f7c787ecb63e71c7fd780e701f44ebe8167c5490193a6b544dec4b29febc867f958992eb323de00e6439f
+AUX dcc.confd 274 SHA256 c3c379c26d3c06a18ba87bd22bb299cbcacad262eff78ce75385c6d753373a0e SHA512 15b7e4ded3e56e9d15509305df244e29ec7a6c3c163c49a4597e16274317d88f5aff5522984a2a3002f838d0220d04c2ea3def8d771712a11685408a4983d3b4 WHIRLPOOL b69c606ee2ab80a430ee45ccfcb1b329ded8938aecfc751187e085aafb10733dc74a62d57751c4797b1211c9f47a72c347e18a2065c505c45c5c6d399c1f0515
+AUX dcc.initd 3013 SHA256 241d37dc24a4edc96b4354963d12edf68ccf8ea56efafc3e3fbede0bcd9e47eb SHA512 67127b752526edda0ef036d4874b73b6dc3d1c13fbcb29f301acccc4cee1dc2dafc32af1f61003cbb2f874b2853aec1075d04e730f90083ae452ad7c5525396c WHIRLPOOL ed176fe1dfc2e2a56e3b6ee58f9c364225ee78602fef567106074b9dd94f6d8c67dd6198c23f89c0b696a91745431a3c5e068b343764675a5e1de12e6ea320a5
+AUX dcc.initd-1.3.140 2693 SHA256 cc2662a1d440e2646d18187c6284a9ec11d8fec930ea52482ea760cee337923c SHA512 70a012699b6a66dfe085a6a77497cc9c2b88b32dee51b1a691a8ed70cb467bb7308bb9ea9594f5582adb23199638401e6454e8760bb293019cd81ab538daf20a WHIRLPOOL 423edf9b27c104266700492fd1d95348822f99e4b619003caca8888ccce2db734fb7e9919755a523fc977a357a3505ce230f905516a817a59e85c2c4f5fc238f
+AUX dcc.initd-1.3.154 2793 SHA256 9bddd9226558a1e061945de72d36994a9f3914f5ad2fbb2b8a04ed6e5b3116f3 SHA512 e171e4333d735aa7da99ae322ce04954554a6738b943ca085e51707dd0bf231f7c170211f019027ddf01ec750ed1b8728b5d54b48dee6ee7fc37f8a810aded01 WHIRLPOOL b23a2cf61af23ca9b7eb5d79984730e3a9831adc3553213340848961be2fa1c3ad4c2b465b2d57bd5a477cd48327732bbbc9f7062b8437990b35a58c9346706e
+DIST dcc-1.3.140.tar.Z 1681539 SHA256 19060563d3d72b70578d8f16e6780458d36f1a1db18a6d1e533bc42d80c38f24 SHA512 1c36bb32ae36480ded8306ca6a460a3070758397075cd6a4cee9c01a0e306ad371336037adf7759c8ef96f46b36c408699b7ec43b01268ac8e7c289d1e31d2e1 WHIRLPOOL 9415bd94a74b6e0d22ec323a8cf5227c08f5026c24b1530c7708321d092d5f0c58d6f3d5e7beb03d0dca948ea8c75cf3220d34e1b077030ee0b9b85c80644b64
+DIST dcc-1.3.154.tar.Z 1711292 SHA256 bc2e1496ec04914690c1d6d9d0f8be0954551b4165d731eb2d07dad307269399 SHA512 703bd3de44ccff3f318239dc2ca26a285f83ae0340a91391bcc5b719c298e77c8122d1502665350ddfc9fb14f12d9b6a56cba422ff8985db9cee6c91091fb987 WHIRLPOOL 7595b36066d3a89b1d2f4952334f6abe7cc70a1c03ff06ac6596b8901b8590329c944c9eeb132ed6253a4841150308378bef87dc5b2b74495c92a283110e0b14
+DIST dcc-1.3.158.tar.Z 1714175 SHA256 596bb4a02800a87501818215e61ac877e4d5a31ec0c8c227f23438f6b6b831c6 SHA512 24fba5ea713e8df1468644508c323d64b3868685716b7cc02263933476940a807cfc4593432a9195371308c83d4ea93653e89634681d95dcb32f5d65c7274599 WHIRLPOOL ba625cc91c02d8b919a297ec99e28e64ca3720b2dba1bc657ad30df6d8abb0d58614254ad4e48870cb301a4d6339a934746f64542e1bc4a2bee8a8328f80ae96
+EBUILD dcc-1.3.140-r1.ebuild 4450 SHA256 57ef575b3166caa03d19597bfe2c58097b03843bd5406eface52e94517f9c862 SHA512 6a7dbf51021db45042ffabf96f4082af7cf16541607b5d6780f4bd66c4bd9b860316a84ca69a885a6de2aa05e48f12e2f47080a88c85c0471bb1ca7a8875f804 WHIRLPOOL 9f6fbcb48771d7f6879253cf81b9da5527963f7065ee847d65e58a8645b6a63c4adb6701a245a814b68f643967ea8a4eebf5289098fc140f34f54ae339257ae8
+EBUILD dcc-1.3.154.ebuild 4358 SHA256 ad010e377e0f5f86dae0a4f8cdb031be25de1d9e10d6e758db9125a4d49dcdb0 SHA512 d22050cdf0e5ab84a524c62e3752faa5a2bd986a57ee3ac643f56bf8ff5c7501b396d9a81f3788652e4f0c3229ae9c5bb7a45646bc903fac7b636670a0748508 WHIRLPOOL 1f9cfdeaa11a6d2810d20f1c0cc12f28fe85560d24d96aebb8336bb9b606058c4a2c8c077b342e58fd078b50d792e06d1f74f370f6670e84b65ecd844b6e76e5
+EBUILD dcc-1.3.158.ebuild 4363 SHA256 9800a963b5b1fc147dcef72201e9be7aa5f0117682e6be1b64c9d0adc74d2e70 SHA512 f0df44965502018e118a69a4fae4d2226dbee91c974797b125be4db37ad14da93d43d9a6faaa56c614f9f6c09d7348a8961f105072c8214606797b1d2cc876d1 WHIRLPOOL 7e5f23f8c4eb941a2269c134ee03d3cc038ea7c0e198ac1bfcea9b3273063561dade35cf9925dc253698fb6d0bfdc9665f5334624a1586723c1cb37339afabfe
+MISC ChangeLog 3616 SHA256 7fcfb7ce6c09e92159dfb62edcd17bf0f83b70985a58eaf873067894c1a36a3f SHA512 90c8d7a6be346c042426918dd403dcb087aac18c5d0288f2b3638498f260c867fec1c47d33326850c79a3dd5a88aabf873467fbb16fe7147e25abd480ae95c6b WHIRLPOOL 45c2af03b04fb80ad9a36d0d79bed5530deb67b89dbf20a27323bdf11b922d353cc7a4ca53d39cfd247e7a4858e98a1298e00d79d4fc734d33e5cbbed907f539
+MISC ChangeLog-2015 10165 SHA256 8e7a89bedd240f782074b11fd5b8ad0198ea4905742be6df82afaf05bb31749e SHA512 10497649366befa039a025d7faf40e83fbcb369b09697f165ab16bdb7a355611f7446db8e499d11b70822079037dfa73dcae7bd84eddcf0416b8614b3528176d WHIRLPOOL 450184e5aaef8acca9ae3449a83fcf24b52c9ba16ee9a95268fc75d6552fcbedd0aa5723e8ae225f5d8f57f5fe1d97bb6d215416ee3cc7f5670aea5202e919f6
+MISC metadata.xml 417 SHA256 a43622a28f10ad5d983b3c7d72574189e3e418412492618dde31374e5a8afcc6 SHA512 8a17fc0c9502d8e21389a520cba60b482593a89064fb913a87b1c4fc73d20f0652948f848c803f22923a0873ed213025db2663effa584c800a9fe6b3a29f9339 WHIRLPOOL 5b0e536f2876e8cbccee3fd34604da587762088987898a32beee8fc56a463441dd0199e286e48ae67e052cb3cda50bb5d63e626ecbb9909cd0ec0f843306dac6
diff --git a/mail-filter/dcc/dcc-1.3.140-r1.ebuild b/mail-filter/dcc/dcc-1.3.140-r1.ebuild
new file mode 100644
index 000000000000..3f01b15a4b18
--- /dev/null
+++ b/mail-filter/dcc/dcc-1.3.140-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Distributed Checksum Clearinghouse"
+HOMEPAGE="http://www.rhyolite.com/anti-spam/dcc/"
+SRC_URI="http://www.rhyolite.com/anti-spam/dcc/source/old/${P}.tar.Z"
+
+LICENSE="DCC"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="cgi ipv6 rrdtool milter"
+
+RDEPEND="dev-lang/perl
+ rrdtool? ( net-analyzer/rrdtool )
+ || ( net-misc/wget www-client/fetch net-misc/curl net-ftp/ftp )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )"
+DEPEND="sys-apps/sed
+ sys-devel/gcc
+ ${RDEPEND}"
+
+dcc_cgibin=/var/www/localhost/cgi-bin/dcc
+dcc_homedir=/var/dcc
+dcc_libexec=/usr/sbin
+dcc_man=/usr/share/man
+dcc_rundir=/var/run/dcc
+
+src_prepare() {
+ epatch "${FILESDIR}"/dcc-1.3.140-configure-fix.patch
+}
+
+src_configure() {
+ local myconf
+ myconf="${myconf} --homedir=${dcc_homedir}"
+ myconf="${myconf} --bindir=/usr/bin"
+ myconf="${myconf} --libexecdir=${dcc_libexec}"
+ myconf="${myconf} --mandir=/usr/share/man"
+ myconf="${myconf} --with-updatedcc_pfile=${dcc_homedir}/updatecc.pfile"
+ myconf="${myconf} --with-installroot=${D}"
+ # sigh. should be DCC-MD5 but see line 486 in the shipped configure script
+ myconf="${myconf} --with-DDC-MD5"
+ myconf="${myconf} --with-uid=root"
+ myconf="${myconf} --enable-server"
+ myconf="${myconf} --enable-dccifd"
+ myconf="${myconf} --with-rundir=${dcc_rundir}"
+ myconf="${myconf} --with-db-memory=64"
+ myconf="${myconf} --with-max-db-mem=128"
+ myconf="${myconf} --with-max-log-size=0"
+ myconf="${myconf} $(use_enable ipv6 IPv6)"
+
+ if use milter ; then
+ myconf="${myconf} --enable-dccm"
+ myconf="${myconf} --with-sendmail="
+ else
+ myconf="${myconf} --disable-dccm"
+ fi
+
+ if use cgi ; then
+ myconf="${myconf} --with-cgibin=${dcc_cgibin}"
+ else
+ myconf="${myconf} --without-cgibin"
+ fi
+
+ einfo "Using config: ${myconf}"
+
+ # This is NOT a normal configure script.
+ ./configure ${myconf} || die "configure failed!"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" || die "emake failed!"
+}
+
+moveconf() {
+ local into=/etc/dcc/
+ for i in $@; do
+ mv "${D}${dcc_homedir}/${i}" "${D}${into}"
+ dosym "${into}${i}" "${dcc_homedir}/${i}"
+ done
+}
+
+src_install() {
+ # stolen from the RPM .spec and modified for gentoo
+ MANOWN=root MANGRP=root export MANOWN MANGRP
+ BINOWN="${MANOWN}" BINGRP="${MANGRP}" export BINOWN BINGRP
+ DCC_PROTO_HOMEDIR="${D}${dcc_homedir}" export DCC_PROTO_HOMEDIR
+ DCC_CGIBINDIR="${D}${dcc_cgibin}" export DCC_CGIBINDIR
+ DCC_SUID="${BINOWN}" DCC_OWN="${BINOWN}" DCC_GRP="${BINGRP}" export DCC_SUID DCC_OWN DCC_GRP
+
+ dodir /etc/cron.daily "${dcc_homedir}" /usr/bin /usr/sbin /usr/share/man/man{0,8} /etc/dcc
+ if use cgi ; then
+ dodir "${dcc_cgibin}"
+ fi
+ keepdir /var/log/dcc
+
+ # This package now takes "${D}" at compile-time!
+ # make DESTDIR="${D}" DCC_BINDIR="${D}"/usr/bin MANDIR="${D}"/usr/share/man/man DCC_HOMEDIR="${D}"${dcc_homedir} install || die
+ emake install || die "emake install failed"
+
+ # branding and setting reasonable defaults
+ sed -e "s/BRAND=\$/BRAND='Gentoo ${PF}'/;" \
+ -e "s/GREY_ENABLE=\$/GREY_ENABLE=off/;" \
+ -e "s/DCCM_LOG_AT=5\$/DCCM_LOG_AT=50/;" \
+ -e "s,DCCM_LOGDIR=\"log\"\$,DCCM_LOGDIR=\"/var/log/dcc\",;" \
+ -e "s/DCCM_ARGS=\$/DCCM_ARGS='-SHELO -Smail_host -SSender -SList-ID'/;" \
+ -e "s/DCCIFD_ARGS=\$/DCCIFD_ARGS=\"\$DCCM_ARGS\"/;" \
+ -e 's/DCCIFD_ENABLE=off/DCCIFD_ENABLE=on/' \
+ -e 's/DBCLEAN_LOGDAYS=14/DBCLEAN_LOGDAYS=1/' \
+ -i "${D}${dcc_homedir}/dcc_conf"
+
+ if use milter ; then
+ # enable milter
+ sed -i -e "s:^[\t #]*\(DCCM_ENABLE[\t ]*=[\t ]*\).*:\1on:g" \
+ "${D}${dcc_homedir}"/dcc_conf
+ fi
+
+ # provide cronjob
+ mv "${D}"/usr/sbin/cron-dccd "${D}"/etc/cron.daily/dccd || die "mv failed"
+
+ # clean up
+ mv "${D}"/usr/sbin/logger "${D}"/usr/sbin/logger-dcc || die "mv failed"
+
+ statslist="${D}/usr/sbin/{dcc-stats-graph,dcc-stats-init,dcc-stats-collect}"
+ if ! use rrdtool; then
+ # remove rrdtool interface scripts
+ eval rm -f ${statslist} || die "Failed to clean up rrdtool scripts"
+ fi
+
+ # clean up
+ rm -f "${D}"/usr/sbin/{rcDCC,updatedcc}
+
+ # place configuration files into /etc instead of /var/dcc
+ moveconf dcc_conf flod grey_flod grey_whitelist ids map map.txt whiteclnt whitecommon whitelist
+
+ newinitd "${FILESDIR}"/dcc.initd-1.3.140 dcc
+ newconfd "${FILESDIR}"/dcc.confd dcc
+
+ rmdir "${D}"/var/dcc/log/
+
+ dodoc CHANGES RESTRICTIONS
+ dohtml *.html
+ doman *.{0,8}
+}
diff --git a/mail-filter/dcc/dcc-1.3.154.ebuild b/mail-filter/dcc/dcc-1.3.154.ebuild
new file mode 100644
index 000000000000..403e3e574893
--- /dev/null
+++ b/mail-filter/dcc/dcc-1.3.154.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit base eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Distributed Checksum Clearinghouse"
+HOMEPAGE="http://www.rhyolite.com/anti-spam/dcc/"
+SRC_URI="http://www.rhyolite.com/anti-spam/dcc/source/old/${P}.tar.Z"
+
+LICENSE="DCC GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" # ~amd64-fbsd
+IUSE="cgi ipv6 rrdtool milter"
+
+RDEPEND="dev-lang/perl
+ rrdtool? ( net-analyzer/rrdtool )
+ || ( net-misc/wget www-client/fetch net-misc/curl net-ftp/ftp )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )"
+DEPEND="sys-apps/sed
+ sys-devel/gcc
+ ${RDEPEND}"
+
+dcc_cgibin=/var/www/localhost/cgi-bin/dcc
+dcc_homedir=/var/dcc
+dcc_libexec=/usr/sbin
+dcc_man=/usr/share/man
+dcc_rundir=/var/run/dcc
+
+PATCHES=( "${FILESDIR}"/dcc-1.3.140-freebsd.patch )
+
+src_configure() {
+ tc-export CC AR RANLIB
+ local myconf
+ myconf="${myconf} --homedir=${dcc_homedir}"
+ myconf="${myconf} --bindir=/usr/bin"
+ myconf="${myconf} --libexecdir=${dcc_libexec}"
+ myconf="${myconf} --mandir=/usr/share/man"
+ myconf="${myconf} --with-updatedcc_pfile=${dcc_homedir}/updatecc.pfile"
+ myconf="${myconf} --with-installroot=${D}"
+ # sigh. should be DCC-MD5 but see line 486 in the shipped configure script
+ myconf="${myconf} --with-DDC-MD5"
+ myconf="${myconf} --with-uid=root"
+ myconf="${myconf} --enable-server"
+ myconf="${myconf} --enable-dccifd"
+ myconf="${myconf} --with-rundir=${dcc_rundir}"
+ myconf="${myconf} --with-db-memory=64"
+ myconf="${myconf} --with-max-db-mem=128"
+ myconf="${myconf} --with-max-log-size=0"
+ myconf="${myconf} --with-make-cmd=${MAKE:-make}"
+ myconf="${myconf} $(use_enable ipv6 IPv6)"
+ myconf="${myconf} $(use_with cgi cgibin ${dcc_cgibin})"
+ myconf="${myconf} $(use_enable milter dccm)"
+ use milter && myconf="${myconf} --with-sendmail="
+
+ einfo "Using config: ${myconf}"
+
+ # This is NOT a normal configure script.
+ ./configure ${myconf} || die "configure failed!"
+}
+
+moveconf() {
+ local into=/etc/dcc/
+ for i in $@; do
+ mv "${D}${dcc_homedir}/${i}" "${D}${into}"
+ dosym "${into}${i}" "${dcc_homedir}/${i}"
+ done
+}
+
+src_install() {
+ # stolen from the RPM .spec and modified for gentoo
+ MANOWN=root MANGRP=$(id -g -n root) export MANOWN MANGRP
+ BINOWN="${MANOWN}" BINGRP="${MANGRP}" export BINOWN BINGRP
+ DCC_PROTO_HOMEDIR="${D}${dcc_homedir}" export DCC_PROTO_HOMEDIR
+ DCC_CGIBINDIR="${D}${dcc_cgibin}" export DCC_CGIBINDIR
+ DCC_SUID="${BINOWN}" DCC_OWN="${BINOWN}" DCC_GRP="${BINGRP}" export DCC_SUID DCC_OWN DCC_GRP
+
+ dodir /etc/cron.daily "${dcc_homedir}" /usr/bin /usr/sbin /usr/share/man/man{0,8} /etc/dcc
+ if use cgi ; then
+ dodir "${dcc_cgibin}"
+ fi
+ keepdir /var/log/dcc
+
+ # This package now takes "${D}" at compile-time!
+ # make DESTDIR="${D}" DCC_BINDIR="${D}"/usr/bin MANDIR="${D}"/usr/share/man/man DCC_HOMEDIR="${D}"${dcc_homedir} install || die
+ emake install
+
+ # branding and setting reasonable defaults
+ sed -e "s/BRAND=\$/BRAND='Gentoo ${PF}'/;" \
+ -e "s/GREY_ENABLE=\$/GREY_ENABLE=off/;" \
+ -e "s/DCCM_LOG_AT=5\$/DCCM_LOG_AT=50/;" \
+ -e "s,DCCM_LOGDIR=\"log\"\$,DCCM_LOGDIR=\"/var/log/dcc\",;" \
+ -e "s/DCCM_ARGS=\$/DCCM_ARGS='-SHELO -Smail_host -SSender -SList-ID'/;" \
+ -e "s/DCCIFD_ARGS=\$/DCCIFD_ARGS=\"\$DCCM_ARGS\"/;" \
+ -e 's/DCCIFD_ENABLE=off/DCCIFD_ENABLE=on/' \
+ -e 's/DBCLEAN_LOGDAYS=14/DBCLEAN_LOGDAYS=1/' \
+ -i "${D}${dcc_homedir}/dcc_conf"
+
+ if use milter ; then
+ # enable milter
+ sed -i -e "s:^[\t #]*\(DCCM_ENABLE[\t ]*=[\t ]*\).*:\1on:g" \
+ "${D}${dcc_homedir}"/dcc_conf
+ fi
+
+ # provide cronjob
+ mv "${D}"/usr/sbin/cron-dccd "${D}"/etc/cron.daily/dccd || die "mv failed"
+
+ # clean up
+ mv "${D}"/usr/sbin/logger "${D}"/usr/sbin/logger-dcc || die "mv failed"
+
+ statslist="${D}/usr/sbin/{dcc-stats-graph,dcc-stats-init,dcc-stats-collect}"
+ if ! use rrdtool; then
+ # remove rrdtool interface scripts
+ eval rm -f ${statslist} || die "Failed to clean up rrdtool scripts"
+ fi
+
+ # clean up
+ rm -f "${D}"/usr/sbin/{rcDCC,updatedcc}
+
+ # place configuration files into /etc instead of /var/dcc
+ moveconf dcc_conf flod grey_flod grey_whitelist ids map map.txt whiteclnt whitecommon whitelist
+
+ newinitd "${FILESDIR}"/dcc.initd-1.3.154 dcc
+ newconfd "${FILESDIR}"/dcc.confd dcc
+
+ rmdir "${D}"/var/dcc/log/
+
+ dodoc CHANGES RESTRICTIONS
+ dohtml *.html
+ doman *.{0,8}
+}
diff --git a/mail-filter/dcc/dcc-1.3.158.ebuild b/mail-filter/dcc/dcc-1.3.158.ebuild
new file mode 100644
index 000000000000..eb41bfe7d6ee
--- /dev/null
+++ b/mail-filter/dcc/dcc-1.3.158.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit base eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Distributed Checksum Clearinghouse"
+HOMEPAGE="http://www.rhyolite.com/anti-spam/dcc/"
+SRC_URI="http://www.rhyolite.com/anti-spam/dcc/source/old/${P}.tar.Z"
+
+LICENSE="DCC GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" # ~amd64-fbsd
+IUSE="cgi ipv6 rrdtool milter"
+
+RDEPEND="dev-lang/perl
+ rrdtool? ( net-analyzer/rrdtool )
+ || ( net-misc/wget www-client/fetch net-misc/curl net-ftp/ftp )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )"
+DEPEND="sys-apps/sed
+ sys-devel/gcc
+ ${RDEPEND}"
+
+dcc_cgibin=/var/www/localhost/cgi-bin/dcc
+dcc_homedir=/var/dcc
+dcc_libexec=/usr/sbin
+dcc_man=/usr/share/man
+dcc_rundir=/var/run/dcc
+
+PATCHES=( "${FILESDIR}"/dcc-1.3.140-freebsd.patch )
+
+src_configure() {
+ tc-export CC AR RANLIB
+ local myconf
+ myconf="${myconf} --homedir=${dcc_homedir}"
+ myconf="${myconf} --bindir=/usr/bin"
+ myconf="${myconf} --libexecdir=${dcc_libexec}"
+ myconf="${myconf} --mandir=/usr/share/man"
+ myconf="${myconf} --with-updatedcc_pfile=${dcc_homedir}/updatecc.pfile"
+ myconf="${myconf} --with-installroot=${D}"
+ # sigh. should be DCC-MD5 but see line 486 in the shipped configure script
+ myconf="${myconf} --with-DDC-MD5"
+ myconf="${myconf} --with-uid=root"
+ myconf="${myconf} --enable-server"
+ myconf="${myconf} --enable-dccifd"
+ myconf="${myconf} --with-rundir=${dcc_rundir}"
+ myconf="${myconf} --with-db-memory=64"
+ myconf="${myconf} --with-max-db-mem=128"
+ myconf="${myconf} --with-max-log-size=0"
+ myconf="${myconf} --with-make-cmd=${MAKE:-make}"
+ myconf="${myconf} $(use_enable ipv6 IPv6)"
+ myconf="${myconf} $(use_with cgi cgibin ${dcc_cgibin})"
+ myconf="${myconf} $(use_enable milter dccm)"
+ use milter && myconf="${myconf} --with-sendmail="
+
+ einfo "Using config: ${myconf}"
+
+ # This is NOT a normal configure script.
+ ./configure ${myconf} || die "configure failed!"
+}
+
+moveconf() {
+ local into=/etc/dcc/
+ for i in $@; do
+ mv "${D}${dcc_homedir}/${i}" "${D}${into}"
+ dosym "${into}${i}" "${dcc_homedir}/${i}"
+ done
+}
+
+src_install() {
+ # stolen from the RPM .spec and modified for gentoo
+ MANOWN=root MANGRP=$(id -g -n root) export MANOWN MANGRP
+ BINOWN="${MANOWN}" BINGRP="${MANGRP}" export BINOWN BINGRP
+ DCC_PROTO_HOMEDIR="${D}${dcc_homedir}" export DCC_PROTO_HOMEDIR
+ DCC_CGIBINDIR="${D}${dcc_cgibin}" export DCC_CGIBINDIR
+ DCC_SUID="${BINOWN}" DCC_OWN="${BINOWN}" DCC_GRP="${BINGRP}" export DCC_SUID DCC_OWN DCC_GRP
+
+ dodir /etc/cron.daily "${dcc_homedir}" /usr/bin /usr/sbin /usr/share/man/man{0,8} /etc/dcc
+ if use cgi ; then
+ dodir "${dcc_cgibin}"
+ fi
+ keepdir /var/log/dcc
+
+ # This package now takes "${D}" at compile-time!
+ # make DESTDIR="${D}" DCC_BINDIR="${D}"/usr/bin MANDIR="${D}"/usr/share/man/man DCC_HOMEDIR="${D}"${dcc_homedir} install || die
+ emake install
+
+ # branding and setting reasonable defaults
+ sed -e "s/BRAND=\$/BRAND='Gentoo ${PF}'/;" \
+ -e "s/GREY_ENABLE=\$/GREY_ENABLE=off/;" \
+ -e "s/DCCM_LOG_AT=5\$/DCCM_LOG_AT=50/;" \
+ -e "s,DCCM_LOGDIR=\"log\"\$,DCCM_LOGDIR=\"/var/log/dcc\",;" \
+ -e "s/DCCM_ARGS=\$/DCCM_ARGS='-SHELO -Smail_host -SSender -SList-ID'/;" \
+ -e "s/DCCIFD_ARGS=\$/DCCIFD_ARGS=\"\$DCCM_ARGS\"/;" \
+ -e 's/DCCIFD_ENABLE=off/DCCIFD_ENABLE=on/' \
+ -e 's/DBCLEAN_LOGDAYS=14/DBCLEAN_LOGDAYS=1/' \
+ -i "${D}${dcc_homedir}/dcc_conf"
+
+ if use milter ; then
+ # enable milter
+ sed -i -e "s:^[\t #]*\(DCCM_ENABLE[\t ]*=[\t ]*\).*:\1on:g" \
+ "${D}${dcc_homedir}"/dcc_conf
+ fi
+
+ # provide cronjob
+ mv "${D}"/usr/sbin/cron-dccd "${D}"/etc/cron.daily/dccd || die "mv failed"
+
+ # clean up
+ mv "${D}"/usr/sbin/logger "${D}"/usr/sbin/logger-dcc || die "mv failed"
+
+ statslist="${D}/usr/sbin/{dcc-stats-graph,dcc-stats-init,dcc-stats-collect}"
+ if ! use rrdtool; then
+ # remove rrdtool interface scripts
+ eval rm -f ${statslist} || die "Failed to clean up rrdtool scripts"
+ fi
+
+ # clean up
+ rm -f "${D}"/usr/sbin/{rcDCC,updatedcc}
+
+ # place configuration files into /etc instead of /var/dcc
+ moveconf dcc_conf flod grey_flod grey_whitelist ids map map.txt whiteclnt whitecommon whitelist
+
+ newinitd "${FILESDIR}"/dcc.initd-1.3.154 dcc
+ newconfd "${FILESDIR}"/dcc.confd dcc
+
+ rmdir "${D}"/var/dcc/log/
+
+ dodoc CHANGES RESTRICTIONS
+ dohtml *.html
+ doman *.{0,8}
+}
diff --git a/mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch b/mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch
new file mode 100644
index 000000000000..41620929c61e
--- /dev/null
+++ b/mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch
@@ -0,0 +1,17 @@
+Avoid installing into /no/.
+
+Signed-off-by: Lars Wendler (Polynomial-C) <polynomial-c@gentoo.org>
+X-Gentoo-Bug: 388383
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/388383
+
+--- dcc-1.3.140/configure
++++ dcc-1.3.140/configure
+@@ -3256,7 +3256,7 @@
+ withval="$with_cgibin"
+ :
+ fi
+-if test -n "$with_cgibin" -a "$with_cgi_bin" != no; then
++if test -n "$with_cgibin" -a "$with_cgibin" != no; then
+ cgibin="$with_cgibin"
+ fi
+
diff --git a/mail-filter/dcc/files/dcc-1.3.140-freebsd.patch b/mail-filter/dcc/files/dcc-1.3.140-freebsd.patch
new file mode 100644
index 000000000000..e72224f41c2f
--- /dev/null
+++ b/mail-filter/dcc/files/dcc-1.3.140-freebsd.patch
@@ -0,0 +1,13 @@
+diff --git a/configure b/configure
+index 5efe49d..de8d6f2 100755
+--- a/configure
++++ b/configure
+@@ -3677,7 +3677,7 @@ case "$TARGET_SYS" in
+ # compressed via /usr/share/mk
+ mancat=man
+ MANX='$(MAN8)'
+- USE_DCCMANINSTALL='# USE_DCCMANINSTALL=no'
++ USE_DCCMANINSTALL='USE_DCCMANINSTALL=yes'
+ ;;
+ DragonFly)
+ # default to /usr/local/man/man8 and use nroff files, possibly
diff --git a/mail-filter/dcc/files/dcc.confd b/mail-filter/dcc/files/dcc.confd
new file mode 100644
index 000000000000..a6e556827dbd
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.confd
@@ -0,0 +1,14 @@
+# Config file for /etc/init.d/dcc
+
+# Start server or DCC daemon
+START_DCC_DCCD="yes"
+
+# Start DCC greylisting
+START_DCC_GREY="yes"
+
+# Start milter interface
+START_DCC_DCCM="yes"
+
+# Start general Perl and MTA interface
+# and Postfix before-queue filter
+START_DCC_DCCIF="yes"
diff --git a/mail-filter/dcc/files/dcc.initd b/mail-filter/dcc/files/dcc.initd
new file mode 100644
index 000000000000..1e64a16c6306
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd
@@ -0,0 +1,135 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [[ ! -f "/etc/dcc/dcc_conf" || ! -r "/etc/dcc/dcc_conf" ]]
+ then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ else
+ source "/etc/dcc/dcc_conf"
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ if [[ "${START_DCC_DCCD}" == "yes" ]]
+ then
+ if [[ "${DCCD_ENABLE}" != "on" ]]
+ then
+ einfo "DCCD_ENABLE is not setto 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-dccd" ]]
+ then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ else
+ eerror "You enabled DCCD but start-dccd is missing or not executable"
+ fi
+ fi
+ fi
+
+ if [[ "${START_DCC_GREY}" == "yes" ]]
+ then
+ if [[ "${GREY_ENABLE}" != "on" ]]
+ then
+ einfo "GREY_ENABLE is not set to 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-grey" ]]
+ then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ else
+ eerror "You enabled GREY but start-grey is missing or not executable"
+ fi
+ fi
+ fi
+
+ if [[ "${START_DCC_DCCM}" == "yes" ]]
+ then
+ if [[ "${DCCM_ENABLE}" != "on" ]]
+ then
+ einfo "DCCM_ENABLE is not set to 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-dccm" ]]
+ then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ for ((dccmtimeout=0 ; dccmtimeout <= 20 ; dccmtimeout++))
+ do
+ if [[ ! -S "${DCC_RUNDIR}/dccm" || ! -r "${DCC_RUNDIR}/dccm" ]]
+ then
+ sleep 1
+ else
+ break
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid
+ else
+ eerror "You enabled DCCM but start-dccm is missing or not executable"
+ fi
+ fi
+ fi
+
+ if [[ "${START_DCC_DCCIF}" == "yes" ]]
+ then
+ if [[ "${DCCIFD_ENABLE}" != "on" ]]
+ then
+ einfo "DCCIFD_ENABLE is not set to 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-dccifd" ]]
+ then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ else
+ eerror "You enabled DCCIF but start-dccif is missing or not executable"
+ fi
+ fi
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [[ -r "${DCC_RUNDIR}/dccifd.pid" ]]
+ then
+ ebegin "Stopping dccif"
+ kill -15 $(< ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [[ -r "${DCC_RUNDIR}/dccm.pid" ]]
+ then
+ ebegin "Stopping dccm"
+ kill -15 $(< ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [[ -x "${DCC_LIBEXEC}/stop-dccd" ]]
+ then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [[ -x "${DCC_LIBEXEC}/stop-dccd" ]]
+ then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}
diff --git a/mail-filter/dcc/files/dcc.initd-1.3.140 b/mail-filter/dcc/files/dcc.initd-1.3.140
new file mode 100644
index 000000000000..8fc4ac3540c3
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd-1.3.140
@@ -0,0 +1,100 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [ ! -f "/etc/dcc/dcc_conf" ]; then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ fi
+ for i in DCCD_ENABLE GREY_ENABLE DCCM_ENABLE DCCIFD_ENABLE DCC_LIBEXEC DCC_RUNDIR \
+ SOCKET_USER SOCKET_GROUP SOCKET_MODE; do
+ read -r ${i} <<-EOF
+ $( grep ^[[:space:]]*${i} /etc/dcc/dcc_conf | sed s/.*=// )
+ EOF
+ done
+ DCC_RUNDIR="${DCC_RUNDIR:-/var/run/dcc}"
+ if [ ! -d "${DCC_RUNDIR}" ]; then
+ checkpath -q -d -o root:root -m 0755 "${DCC_RUNDIR}" || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ local atleastone="${DCCD_ENABLE}${GREY_ENABLE}${DCCM_ENABLE}${DCCIFD_ENABLE}"
+ atleastone=$( echo ${atleastone} | tr -d 'off' )
+ if [ -z "${atleastone}" ]; then
+ eend 1 "At least one service should be 'on' in /etc/dcc/dcc_conf"
+ return 1
+ fi
+
+ if [ "${DCCD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccd" ]; then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${GREY_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-grey" ]; then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${DCCM_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccm" ]; then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ local dccmtimeout=0
+ while [ ${dcctimeout} -le 20 ] ; do
+ if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
+ break
+ else
+ sleep 1
+ dcctimeout=$(($dcctimeout + 1))
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid 1>/dev/null 2>&1 || return 1
+ fi
+
+ if [ "${DCCIFD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccifd" ]; then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [ -r "${DCC_RUNDIR}/dccifd.pid" ]; then
+ ebegin "Stopping dccif"
+ kill -15 $(< ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [ -r "${DCC_RUNDIR}/dccm.pid" ]; then
+ ebegin "Stopping dccm"
+ kill -15 $(< ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}
diff --git a/mail-filter/dcc/files/dcc.initd-1.3.154 b/mail-filter/dcc/files/dcc.initd-1.3.154
new file mode 100644
index 000000000000..e7d63b24604e
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd-1.3.154
@@ -0,0 +1,102 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [ ! -f "/etc/dcc/dcc_conf" ]; then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ fi
+ for i in DCCD_ENABLE GREY_ENABLE DCCM_ENABLE DCCM_ARGS DCCIFD_ENABLE DCC_LIBEXEC DCC_RUNDIR \
+ SOCKET_USER SOCKET_GROUP SOCKET_MODE; do
+ read -r ${i} <<-EOF
+ $( grep ^[[:space:]]*${i} /etc/dcc/dcc_conf | sed s/.*=// )
+ EOF
+ done
+ DCC_RUNDIR="${DCC_RUNDIR:-/var/run/dcc}"
+ if [ ! -d "${DCC_RUNDIR}" ]; then
+ checkpath -q -d -o root:root -m 0755 "${DCC_RUNDIR}" || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ local atleastone="${DCCD_ENABLE}${GREY_ENABLE}${DCCM_ENABLE}${DCCIFD_ENABLE}"
+ atleastone=$( echo ${atleastone} | tr -d 'off' )
+ if [ -z "${atleastone}" ]; then
+ eend 1 "At least one service should be 'on' in /etc/dcc/dcc_conf"
+ return 1
+ fi
+
+ if [ "${DCCD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccd" ]; then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${GREY_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-grey" ]; then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${DCCM_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccm" ]; then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ if !(echo ${DCCM_ARGS}|grep -q "^\-p\|[[:space:]]\-p"); then
+ local dccmtimeout=0
+ while [ ${dccmtimeout} -le 20 ] ; do
+ if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
+ break
+ else
+ sleep 1
+ dccmtimeout=$(($dccmtimeout + 1))
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ fi
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid 1>/dev/null 2>&1 || return 1
+ fi
+
+ if [ "${DCCIFD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccifd" ]; then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [ -r "${DCC_RUNDIR}/dccifd.pid" ]; then
+ ebegin "Stopping dccif"
+ kill -s 15 $(cat ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [ -r "${DCC_RUNDIR}/dccm.pid" ]; then
+ ebegin "Stopping dccm"
+ kill -s 15 $(cat ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}
diff --git a/mail-filter/dcc/metadata.xml b/mail-filter/dcc/metadata.xml
new file mode 100644
index 000000000000..c62a320963fb
--- /dev/null
+++ b/mail-filter/dcc/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<use>
+ <flag name="rrdtool">Enable <pkg>net-analyzer/rrdtool</pkg> interface
+ scripts</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/disspam/Manifest b/mail-filter/disspam/Manifest
new file mode 100644
index 000000000000..467299302cf6
--- /dev/null
+++ b/mail-filter/disspam/Manifest
@@ -0,0 +1,5 @@
+DIST disspam-0.14.tar.gz 14080 SHA256 28232f79a756d406285f6d698ea73bdadd1bbcc19070f6b0b9d4dabbf8d466ce SHA512 549210d7a5aacd62cdf3ce7384c5d35e011147355388fdfde14ee1f951752ebd3f1f4844c4c2016ee3b1cb0cf88242d0bb7dccbc9dfa6ec2ca3e39e2f1b7195b WHIRLPOOL 2bc514afaad0d09515235b19e89625a0084cd3bd0a24c71ba41cf6c3ee99f18fb0fbfbd642bafb0194de9d2219419a471f041977d659c4df8ae697c53f9456bb
+EBUILD disspam-0.14.ebuild 799 SHA256 6b476860543d81c4c1e4fcd2c71ccb1f76d6bceb2e49ebb51f8c345b8400b0ea SHA512 6072ed83816ef8b86e9725348c8f59280dbd42631f88aa285342770111b8e75c3161847b7eee84d337501aaf3aaff749e43f224ae4d353f3c30141bf37bc7c62 WHIRLPOOL 38a5e3830e6a6dab2a1b0340fd00c8dcb041566d36fc0c63212a6586f6560d777a7c811d4bbcfbcaa84aaaf0eb4a608eac9c2b2ad336355a4e3a97762fd7eca6
+MISC ChangeLog 2456 SHA256 aa5413835e296919c42b09c74bc747e569ae3a391fb277de3d431ef87b990f0a SHA512 20993bfb166737d50cd054d942312bd2bd1afc3d774d0d57504906660e8374420bbda58a3d49a61689a089cdfbbbcf1f10045513fd2dc3bcc1492d6a6af0b6ed WHIRLPOOL 96d4b5191c19356dacabf111e44eb129bdf18e311ddae58d1d67bcf8b1162e6b2597998b948061919497834b3247cf5fdbda6a1f83605ad27be4b18aabe3ff87
+MISC ChangeLog-2015 2868 SHA256 9babfa3f5bf6eace75efcb0e2c62f7d47ed669abab1539dae2c0cc44416c994c SHA512 5ac96b4f466f698f94c98be5a4d19ee8d6a0e6b4b670d39e180724661876e6af62adbee531454b4ada023264ed0c347e1e89f16d969587ad4ac1fdbce4367f2a WHIRLPOOL 8a1f1070893b4f7c67dc0887cb0032d6f18332d7ac3b2c01af913500d4d749bbbac882f4d13f83324c940c6ba85b5a9fad35b192466c8e6da1689f9ca544d242
+MISC metadata.xml 240 SHA256 f0e0bb7a24c4b1ff6b6a8a3e9315245c298499c03fbda429c0f775ec6a5396af SHA512 97824dbce22630efb21e647b55212b7a8a19d8e38b5bf05cb0b8078530bbbaaf4dc91284e2a11beab7dfcfb779df82b87b49d11a746c7a4f6dc71f2fda8942db WHIRLPOOL a7adfcb24489ae67a43a59d8350a70b20874fb03de95681c5b516a741d95422560a433f641de5a7222cf5d3500333e215055ec0cb3844e7abc6d6a836de97357
diff --git a/mail-filter/disspam/disspam-0.14.ebuild b/mail-filter/disspam/disspam-0.14.ebuild
new file mode 100644
index 000000000000..2939368589fb
--- /dev/null
+++ b/mail-filter/disspam/disspam-0.14.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="A Perl script that removes spam from POP3 mailboxes based on RBLs"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="https://fossies.org/linux/privat/old/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Artistic"
+KEYWORDS="alpha ~amd64 ~hppa ~mips ppc sparc x86"
+IUSE=""
+
+DEPEND=">=dev-lang/perl-5.6.1
+ >=virtual/perl-libnet-1.11
+ >=sys-apps/sed-4
+ >=dev-perl/Net-DNS-0.12"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ #This doesnt look neat but makes it work
+ sed -i \
+ -e 's/\/usr\/local\/bin\/perl/\/usr\/bin\/perl/' disspam.pl || \
+ die "sed disspam.pl failed"
+}
+
+src_install() {
+ dobin disspam.pl
+ dodoc changes.txt configuration.txt readme.txt sample.conf
+}
diff --git a/mail-filter/disspam/metadata.xml b/mail-filter/disspam/metadata.xml
new file mode 100644
index 000000000000..9a6d80e5da48
--- /dev/null
+++ b/mail-filter/disspam/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+</pkgmetadata>
diff --git a/mail-filter/dkimproxy/Manifest b/mail-filter/dkimproxy/Manifest
new file mode 100644
index 000000000000..1274565192cd
--- /dev/null
+++ b/mail-filter/dkimproxy/Manifest
@@ -0,0 +1,7 @@
+AUX dkimproxy.in.initd 555 SHA256 5949a198252be982d605a2782019c5333abfbea9d95d100d70892ae7d78fa9e7 SHA512 fe91a571fcb82a14f4827b75011ce0209070b9bb1b1ed1dd09c26e4bc60d3e34cc4e96ee8000167d1d5d2a041956d8c86cd12c195c2b87cb19378ac18a5cd9cf WHIRLPOOL e2e4416e2528ecefceed8f070f7ebb8f9105aa9fce27388d744307955550858b12623a963ae14a81398e6a5563615568576a4d70b869b716a125b4c721bd1dab
+AUX dkimproxy.out.initd 563 SHA256 5b0c1f2cf78c93ee2058724399b75e705d293f0a77f9be0ac77b507002034bd5 SHA512 77684fe2c41c2f60e1a11ba96a70d54a345707667983ec01585fd0dfa6ccc314a698310e04069bc7fa66fbf7e70cd9842b6d9d16c7f7eac4fa499040055bcc4f WHIRLPOOL 2bb4ad39aae040ad26c4822c5fe2a59866942b3a54afd084194e1b73ac7d8db858b03ac9f661edb9f2ac6bc930afdab3cbcbcabf81611098afcfecb34da6b7e4
+DIST dkimproxy-1.4.1.tar.gz 109040 SHA256 e5345a1d3cefd32d1fb0face9fa73490118132767253b0ce643463f1e86185bd SHA512 ad5ac961ea25cdd7ccc763521d1fa5e143ef93056ca4bdace1d0d8f564ab85cb128b4c97ace310bcbf9e4d49430dd5baf1e9f836f5a44a4b3f1e7498ebc352b6 WHIRLPOOL 4121f198b4c8406c310ecede8bfb7fec7c0368c637a66c5484f66b873de03dabd34a6a415a01cb285ae131699da37a8cce36168c8a73d7fc32086e73c0690af1
+EBUILD dkimproxy-1.4.1.ebuild 599 SHA256 97b22671bcd6be204d20b16aa56e74f63f65b3d32b316bae7915c79d92ecaac8 SHA512 3329859d64f6dbe09c16840532e726de529b51626384032351aedbff860ae015134426a7a18052018694d133278b6623f5b6844cb2f9a7e2a043aa800f584354 WHIRLPOOL 933b96ad709765302db0576f04a22454f553ba5c87cfbe9b90e65016ab6bfe3de28444db3949f9a5d732137f8c03fa9b1036f6353263fac055d18be7ad268667
+MISC ChangeLog 2563 SHA256 bc30e30b3abf8099e223d47e71d802dcbb7e1a7812cb5299a639bcb9a8ab5a53 SHA512 61be7e0b7ec6d00136aa14c5922d7b38556a428c6556148b7034d7692edc9ad7e1355bc96bad6398e8c04ad1aacaddb3fa073d374b8ded6e40b35c1aeff2f036 WHIRLPOOL 29fa914254e72925d975ca2f29f468b309e4f9e808a6f2db1f5d5fc4d00a62ad5cbd924816563ff0a1e126c05da63f523dfd064169c727649063de0b0420dc9e
+MISC ChangeLog-2015 869 SHA256 d45070fe0cd90e2b3bb6d5468bbe500ef4bf17439af8c87ee614cb00de4f895a SHA512 f810ea4a7e5329c6a28e86eafef3590751bcd3a213c7b248acb06f0338983874a6dda8dd18c6f5f309a174eec17937818fd74dbbc05d991fb679e5db4863bcca WHIRLPOOL 16883fdc03d25b909f13588ba5f7e47ab07d64371801c64daea52670fa57c61aad2a65467a014031af947f5b003d12f0afeee7f4b6ea5fbdce93bf069219ecf3
+MISC metadata.xml 329 SHA256 66f2810e5dfcf7f6c370f3d72ca084c758d3234383724bdb10fedec744d3f876 SHA512 87f3d2e3e31497dcf62626237f93217f2b6d93735d803514624eb5748d4bf43905193b5a9bb5e144d2ab864158e7b1ebcdf68de92869900a537668b69637af48 WHIRLPOOL e52727565b4586b055a6cbcfcfc782add5e1e40802ab499f7171c0af80c954ee1c65fc0c1172fb398c4df975ed10135330767df651d9a09abd1d4797ba918de2
diff --git a/mail-filter/dkimproxy/dkimproxy-1.4.1.ebuild b/mail-filter/dkimproxy/dkimproxy-1.4.1.ebuild
new file mode 100644
index 000000000000..264fba2d8034
--- /dev/null
+++ b/mail-filter/dkimproxy/dkimproxy-1.4.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="An SMTP proxy server for adding DKIM headers"
+HOMEPAGE="http://dkimproxy.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-perl/Mail-DKIM
+ >=dev-perl/Net-Server-2.7.0
+ dev-perl/Error
+ dev-perl/MIME-tools"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/dkimproxy.in.initd dkimproxy.in
+ newinitd "${FILESDIR}"/dkimproxy.out.initd dkimproxy.out
+}
diff --git a/mail-filter/dkimproxy/files/dkimproxy.in.initd b/mail-filter/dkimproxy/files/dkimproxy.in.initd
new file mode 100644
index 000000000000..83e8408f7cf4
--- /dev/null
+++ b/mail-filter/dkimproxy/files/dkimproxy.in.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting dkimproxy.in"
+ start-stop-daemon --start --exec /usr/bin/dkimproxy.in --pidfile /var/run/dkimproxy.in.pid -- --conf_file /etc/dkimproxy_in.conf --daemonize --group=nobody --user=nobody --pidfile=/var/run/dkimproxy.in.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dkimproxy.in"
+ start-stop-daemon --stop --exec /usr/bin/dkimproxy.in --pidfile /var/run/dkimproxy.in.pid
+ eend $?
+}
diff --git a/mail-filter/dkimproxy/files/dkimproxy.out.initd b/mail-filter/dkimproxy/files/dkimproxy.out.initd
new file mode 100644
index 000000000000..e889e2018601
--- /dev/null
+++ b/mail-filter/dkimproxy/files/dkimproxy.out.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting dkimproxy.out"
+ start-stop-daemon --start --exec /usr/bin/dkimproxy.out --pidfile /var/run/dkimproxy.out.pid -- --conf_file /etc/dkimproxy_out.conf --daemonize --group=nobody --user=nobody --pidfile=/var/run/dkimproxy.out.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dkimproxy.out"
+ start-stop-daemon --stop --exec /usr/bin/dkimproxy.out --pidfile /var/run/dkimproxy.out.pid
+ eend $?
+}
diff --git a/mail-filter/dkimproxy/metadata.xml b/mail-filter/dkimproxy/metadata.xml
new file mode 100644
index 000000000000..0976e6f7ba5a
--- /dev/null
+++ b/mail-filter/dkimproxy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zx2c4@gentoo.org</email>
+ <name>Jason A. Donenfeld</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">dkimproxy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/dovecot-antispam/Manifest b/mail-filter/dovecot-antispam/Manifest
new file mode 100644
index 000000000000..001268fc9735
--- /dev/null
+++ b/mail-filter/dovecot-antispam/Manifest
@@ -0,0 +1,5 @@
+DIST dovecot-antispam-2.0_pre20130429.tar.bz2 56113 SHA256 bd3511a88a06bba488be3bae4f5d970cd22805e096d7524b5d4de507770c3ddb SHA512 0e054127f6519f3be76a4a580717413789f6d49db45d451902a2aa1da1809202364b4b3b4d527d2ab803f3d0d92da55d65e429ca1150696cb8e4227d6258e8d4 WHIRLPOOL 76abf38e56696415529dfa17813e207565c95a189769c4b292be562824a97feca5f2f0dc8909ec9ae601f4428321fb9608236f8f4f65a4cfaf548a0c6de65475
+EBUILD dovecot-antispam-2.0_pre20130429.ebuild 832 SHA256 453608a8780576eaeac2e603b73980620850cf8f646d2f2c5858cc526ea55bac SHA512 6dca3b81957f9e9807557a50d7263fe9da6c6447cbafb53c8e720e19b5d55642d3c2360ee668de1451bab668606081ad3b6b7c8be5c85f1dba1d97d70c104599 WHIRLPOOL 4d28d45df6f5419c0c325d729a1ba1744056e9838dd272e9f9c3a4a39e0e5fd4dfa4fa928e3868da22b1be00f2cf900e585f94a3db58f0683a9d6ab179d4e150
+MISC ChangeLog 2538 SHA256 06710f396200db1d38944e5a65d5692b37b238607120a6ff39d81b7c832ed76a SHA512 cf756e10b11c20a6aa1bd096c76ec8663ebdce4cdc5e3c72b530a0bbf10f9ac52bd173ed0bd0a1affefa5d87d496e1a62b3c480388d109fe9123a3b2c587c251 WHIRLPOOL 2a78a11f58da6cad8c3fd3aa03c9276a2f9852f18e5a062cda7d7825054e16cb313b09783dd2b4885f178675bc717a5c7a34239326a35f91046a316b5a258b26
+MISC ChangeLog-2015 4931 SHA256 b1a9efe0cea0966467f13872137ab6f1d130bfc32025a0cc2d7a7a1d6a014f16 SHA512 887fb7c259cde125a65dffbdf74ea141a69d5585147e50709fe897df8dd1b580970dcf42caf539d4ae20cd8762a36fc5be8d0e6f735be820dfebe0aa9b6465fd WHIRLPOOL 3638ce29d131a2c48934f20f74bae3b7bc97eb46d50e8c71c4ca3f7364f66f19ff6c735d35ed2bed09de8c8420b586b6320724bfefc38c72ed1ea4f784b8ba29
+MISC metadata.xml 246 SHA256 92d5540a2f0904365eafb8ce96e6320cfc14e08f22e124d721521ef77ddbf6f6 SHA512 ca07e0609b698c2b53062b71008fee49b91af78fc2ef25997311e37985d79283d333f5b842257a16e7dee36ce34c07d405e1f93742f341f10ca70904e9f9a4e6 WHIRLPOOL d15a33750d6ada278082c675223992c98cccf98af92ec04ab5b908816381ab6965714988fac87a795265973c6fb81a588a08c385ac6fb66046d14d119e0c236c
diff --git a/mail-filter/dovecot-antispam/dovecot-antispam-2.0_pre20130429.ebuild b/mail-filter/dovecot-antispam/dovecot-antispam-2.0_pre20130429.ebuild
new file mode 100644
index 000000000000..59cdb11df46c
--- /dev/null
+++ b/mail-filter/dovecot-antispam/dovecot-antispam-2.0_pre20130429.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="A dovecot antispam plugin supporting multiple backends"
+HOMEPAGE="http://wiki2.dovecot.org/Plugins/Antispam/"
+SRC_URI="https://dev.gentoo.org/~radhermit/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+
+RDEPEND=">=net-mail/dovecot-2.1.16"
+DEPEND="${RDEPEND}
+ app-text/txt2man"
+
+DOCS=( README )
+
+src_prepare() {
+ # use system txt2man
+ rm doc/txt2man || die
+ sed -i 's#./txt2man#txt2man#' doc/Makefile || die
+
+ AT_M4DIR="m4" eautoreconf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog
+ elog "You will need to install mail-filter/dspam or app-text/crm114"
+ elog "if you want to use the related backends in dovecot-antispam."
+ elog
+ fi
+}
diff --git a/mail-filter/dovecot-antispam/metadata.xml b/mail-filter/dovecot-antispam/metadata.xml
new file mode 100644
index 000000000000..78e64a5cf1ad
--- /dev/null
+++ b/mail-filter/dovecot-antispam/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/mail-filter/dovecot_deleted_to_trash/Manifest b/mail-filter/dovecot_deleted_to_trash/Manifest
new file mode 100644
index 000000000000..e982fdaa4571
--- /dev/null
+++ b/mail-filter/dovecot_deleted_to_trash/Manifest
@@ -0,0 +1,6 @@
+AUX 29-delete-to-trash.conf 289 SHA256 31e7d493e6b437b3b1847ec08b009208cd0707aa5bf0ed242c4baa4fffff2850 SHA512 3b1c7156128bddc99ec96576e9b97d0159fbb2034fd755bd9a60c1c2524d1727ce8a17a4967039f7c4bb267eb5bfbf65ceef4b3d4dcf3fef0a34178740ac9119 WHIRLPOOL 2e95b88a30d740a0f479d7bc9e43dc691d75527f1f1db2b7504e2f06bcbc2e1d3e4b9e459ace65205af5568add4c9bcc50b3127fe6768ac3e7de767f34739f70
+DIST dovecot_deleted_to_trash-0.6.tar.gz 4805 SHA256 68d128092a42ad1a0aecaf273a59aee22c9b23e9697203fd7e629ab327d638cb SHA512 41da1b622f30ee137ac8c06a687466a36c21035fd54b83393543c944b4e7cb4f3576556f220734d934033e6804d371eb5a1ec4f1d2491f3bf808782a59e2cb12 WHIRLPOOL 1c9e6e516b9f2c350a087aaf525c6e7f2d879fe240797a6f38b088a5c0bd4d8232592900a250b0e64486870a92d52c6badfabc2da5628d789923951108037b58
+EBUILD dovecot_deleted_to_trash-0.6.ebuild 829 SHA256 ac6c37c2de6b006d0e9bb70033ccb9feea687bcbe2cfbddd30f4237aa01de97e SHA512 9e693e9f8c04c9667a80e31b6b9cfd65055fd6b0f8deae183201ac3617f4b806bab1478bf1cbbb8cf84f23a74a1b2aaa4be7537d4f4469b7ede48e4f7f49a3be WHIRLPOOL 2309598882768f31213bcb804e5a89c4f6893b7cefbe69b8c21e352aee68e3baa62c0237376cfe71def69216bf9c6d5195bfc792f9e155023f3640eed9c095ab
+MISC ChangeLog 2511 SHA256 19c76d093005e6b63285bc04c42b125570f54a6a1645c62bc6e99327bf367148 SHA512 e260390be04e59e3be4c66d156c0f48d97b87d8667d48249ed23fde9777eab6d7c398a901fe09963b06535a72a7ba318683606c0b3c6cd89740e76e683598693 WHIRLPOOL e7d8d7abb6075aad37cdb7c4a27ce7f4669cc6d9f97703563da4a7c7d2cef746502f0a6a88a5027a114f91f45384ae351ea619f7a5d7e055c9f89c645cde2a0e
+MISC ChangeLog-2015 2483 SHA256 c3d9db75aacc7ca5756b737dfe224ba931718da163ccd9f653fcee2a67d82274 SHA512 64157d33c4bfd98485c918408b0326d08e831ee3b61e3fb74302253dc2569ba9b310cf8c1dd8fc4a808a39eca34d18cd5adf82f40a1e8123ff46a93592fc1381 WHIRLPOOL badb2027915e879fd33f42c95eac7c5d6b1078852632aeaa37cd172ba632d6415c8e45654b14d55e823adbddaefa0ada80d969aa8afc123f4eee7f3998e1bb6e
+MISC metadata.xml 349 SHA256 7dc8d3c2dca7960544ba7827765441a314b1d4f6161e02be0ea3e0f7bb87f86a SHA512 0860551e7e8f70505c0d985955710b9786b2e8e6c11a58ab7ae3185cee024cbc1d5fe75a8df3c9f2d4a3b5d891b1a7063b549216b5469ba9307d86026008e894 WHIRLPOOL 4a0e7468ce95673430b7585ca2416c77bfee6b4f3effe1225ab3952fdc2a80259ed8a625b4c9e4cf3a33bb55b8a8ff5d2e837188b638c907342485383eff8af6
diff --git a/mail-filter/dovecot_deleted_to_trash/dovecot_deleted_to_trash-0.6.ebuild b/mail-filter/dovecot_deleted_to_trash/dovecot_deleted_to_trash-0.6.ebuild
new file mode 100644
index 000000000000..28c0b53c9642
--- /dev/null
+++ b/mail-filter/dovecot_deleted_to_trash/dovecot_deleted_to_trash-0.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Deleted to trash IMAP plugin for Dovecot"
+HOMEPAGE="https://github.com/lexbrugman/dovecot_deleted_to_trash"
+SRC_URI="https://github.com/lexbrugman/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+RDEPEND="=net-mail/dovecot-2.2*
+ !!<net-mail/dovecot-2.2.0
+ !!<=mail-filter/dovecot_deleted_to_trash-0.3
+ "
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ tc-export CC
+ sed -i \
+ -e "/DOVECOT_IMAP_PLUGIN_PATH/s:lib/dovecot/modules:$(get_libdir)/dovecot:" \
+ -e "/PLUGIN_NAME/s/lib/lib99/" \
+ Makefile || die
+ epatch_user
+}
+
+src_install() {
+ default
+ insinto /etc/dovecot/conf.d
+ doins "${FILESDIR}"/29-delete-to-trash.conf
+}
diff --git a/mail-filter/dovecot_deleted_to_trash/files/29-delete-to-trash.conf b/mail-filter/dovecot_deleted_to_trash/files/29-delete-to-trash.conf
new file mode 100644
index 000000000000..65f9a31e7a03
--- /dev/null
+++ b/mail-filter/dovecot_deleted_to_trash/files/29-delete-to-trash.conf
@@ -0,0 +1,13 @@
+## Copyright 2012 A.Vinogradovs aka slepnoga
+## Wrote for Gentoo ebuild
+## Distributed under the terms of the GNU General Public License v2
+##
+## Delete to Trash plugin specific settings
+##
+
+# mail_plugins = $mail_plugins deleted_to_trash
+
+#plugin {
+# deleted_to_trash_folder = Trash
+#}
+
diff --git a/mail-filter/dovecot_deleted_to_trash/metadata.xml b/mail-filter/dovecot_deleted_to_trash/metadata.xml
new file mode 100644
index 000000000000..75e823c844ae
--- /dev/null
+++ b/mail-filter/dovecot_deleted_to_trash/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lexbrugman/dovecot_deleted_to_trash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/dspam/Manifest b/mail-filter/dspam/Manifest
new file mode 100644
index 000000000000..34d2894ebf83
--- /dev/null
+++ b/mail-filter/dspam/Manifest
@@ -0,0 +1,9 @@
+AUX dspam.confd 299 SHA256 fdc691c71a2518c13f61aa44159f1318b03ba4f9ca004a3f38c3c95ba6f02e63 SHA512 fed17bf8b053924b42d7eaf11508ce3a75ca065c495c68a41016d82456cc8055bbd19c67135ab3d0d8cffe9717487c7000c8600a8dc1e077d18052919d98b433 WHIRLPOOL 1e4bb58293b4be546c9d88d385fb16d43f2edb8c237acd51a9ac98a1ec2f61717fe5822e7baf15ac0b92c2597d3d7c4954653d627275196944b77233a92680ce
+AUX dspam.cron-r4 160 SHA256 ef59ea37a272b3d044a59fc1f30d1c60087e15d5735ba961cc57458cc5026aca SHA512 b00260fb3017c34d6c37ac97139dda82a609740ee751f8e97487e9bbdb27582715adab418fcf4650c34a0b0d04ebad9c2aac14580e29a5cfca78b783b3e8c14c WHIRLPOOL 02745878d432907510f0363f31f17d6d9a10643ae2f6b5fe5cdaa83b5fa6fda98cb39e74b3b257af3faefa1be62a97ea2c24f8a1764103d4b141a8a4adb3213a
+AUX dspam.initd 867 SHA256 3e824ff63f5ebbb9ed8f9a9a5a35244eccc1c0126c54d0f9912c5727b68daed7 SHA512 19d9abe29187612e358f4d7c428cf7313254e06e378f8ab5b6996871e80b6ceaf7c63763a6f6a4c3e4c0ff5d0d303a341c8995d87927f8f5b38580583af9a8f8 WHIRLPOOL adc4867ba3d466c1cd2634e7cdf7e635c54cdc5d873e07efabdeceed6e2651c79c06838e79956e8bcb77e55985956138dd8c07f45a0df96f79e6f1ad8f8d8ac6
+AUX dspam.logrotate 180 SHA256 17285ab0e624ec52124e8f661649ac9549c00e91a2f8d0d6d9de4eabf273d582 SHA512 8178e7ce02ca11171bc5650b70583fa02d2a84a25d184bbee1760618355578826c34a423d76310135f773e37d5ecab565a707ed1d33190005daf1851a756c389 WHIRLPOOL 73860d77d41562ab056091e54ee862cff1eda45d8637561ee548ab7ca8dfe486d2d8312d78074e12087a36f4c4235067a911609604616577d3593cdab6c94ae1
+DIST dspam-3.10.2.tar.gz 1035054 SHA256 ae76569604021f35b741fb95198a1e611a8c64c3838661973a6cf360bba593a9 SHA512 5fe53e1d0d7cabb3983f5c67274b074b7c647c1bae10ebc7ea3805542f99dbfb39abd4697e344e6eb80554522319a1253e1082ed6b389364bbaec1d6ddd43856 WHIRLPOOL 7195f295e786d0b327670ebcb292dc5d9fe98d94e48a5b4e3dd231aae88d55c19dfcf2c04df65bb969fdd8f1210ec125d6aa84d602623cb20964a170f95b880e
+EBUILD dspam-3.10.2-r1.ebuild 5977 SHA256 238519e77909c925af1a4bd7e97640853a1269c40561a13ecc79ba421776cf10 SHA512 f6f45d8fdd212442d289c535e260fe79274ebb84356a0dbb7b72b207278dc0ddd89d6fb255fd8d77945600bc9209b291737246a616caf89d9f3c44f9ed791554 WHIRLPOOL 79423802dbd9deb214f5b7e3e2d6e1907a0fc173995afb30166b07034276d7b3163a3c62f1cec312b228ee8d468933183802d5cfea51c890cf150d7c1d8ec83f
+MISC ChangeLog 2648 SHA256 53d7b6ece6c2518f9279c100230d65f15c2f74e038042756c33be94dbb304f4f SHA512 8883e421f185709b266dcd4a82767a0e965a43a1c1fc9391a96b9b2ebef3e86bd15801bc432d6f455d9032f14d018f4596d963fad0c8ef8dec95f23f48ff98c7 WHIRLPOOL a548aa0de577422f14b2b08aaf76a8329d8e78bb95b49f8a3ec0b1ef514b7e5f9b8e6cf69ddda3035902eabf1cd03bcf5fef7cd7dcf8aaaba9796c0a68be8754
+MISC ChangeLog-2015 26596 SHA256 48cc718f5ac5da356442a56534f447ac1ed22b97b2f23343a4a4e7323f16ed96 SHA512 42941871eb6507082f0217fe9f74292252865e5eb2065c58f3813ffa81da1527baa962ec82dcbf809c59528801b5c853fe28396a6541b65a6d7a09b36f9537e9 WHIRLPOOL d9e94ca6990d0237d47c0d2defd1070e04e95c2f0fdf34a8390071546011dad1e38ac40601ee2b7793cb6b3c9f4d599d66893cd975d902e22487da975c74a5d0
+MISC metadata.xml 1157 SHA256 22a2c34912d31f79132a2152b503ea4c71f7e7f9de8a4b0a66762f256103c6c6 SHA512 84b601656c40e8d1c2444736389c44f54e95c4e8f487728af82c65fdad26d2ecc875087e2d93b27126593514da8ea375f57dee1e8e7730f21ab9c0b988326f0c WHIRLPOOL a52e4b10765f5fe84ba9572ddfb79ff075148f6d25d08ce690a70896bc51826ea9ad9eeb5d2a04f3507e6080bdfe4ba6794077d9e9fd3e4884e3d9b6279be09e
diff --git a/mail-filter/dspam/dspam-3.10.2-r1.ebuild b/mail-filter/dspam/dspam-3.10.2-r1.ebuild
new file mode 100644
index 000000000000..1268a245ed41
--- /dev/null
+++ b/mail-filter/dspam/dspam-3.10.2-r1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter"
+HOMEPAGE="http://dspam.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc x86"
+DRIVERS_IUSE="+hash mysql postgres sqlite"
+SCALES_IUSE="small-scale +domain-scale large-scale"
+IUSE="clamav daemon debug ldap static-libs syslog virtual-users user-homedirs ${DRIVERS_IUSE} ${SCALES_IUSE}"
+
+DEPEND="
+ net-mail/mailbase
+ ldap? ( net-nds/openldap )
+ mysql? ( >=virtual/mysql-5.0 )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( dev-db/sqlite:3 )
+"
+RDEPEND="
+ ${DEPEND}
+ clamav? ( app-antivirus/clamav )
+ syslog? ( virtual/logger )
+"
+
+# Demands on sane USE flags:
+# - find out what driver to use: select at least one
+# - if static-libs is set, only one driver may be selected
+# - find out what scale to use: select exactly one
+# - user-homedirs does not work with virtual-users
+REQUIRED_USE="
+ || ( ${DRIVERS_IUSE//+} )
+ static-libs? ( ^^ ( ${DRIVERS_IUSE//+} ) )
+ ^^ ( ${SCALES_IUSE//+} )
+ virtual-users? ( !user-homedirs )
+"
+
+# dspam setup defaults
+DSPAM_HOME=/var/spool/dspam
+DSPAM_CONF=/etc/dspam
+DSPAM_LOG=/var/log/dspam
+DSPAM_MODE=2510
+DSPAM_DRIVERS=
+DSPAM_DRIVERS_EXTRAS=
+
+pkg_setup() {
+ # setup storage, this sets DSPAM_DRIVERS
+ dspam_setup_storage_drivers
+
+ # create dspam user and group
+ dspam_setup_user
+}
+
+src_configure() {
+ econf \
+ --sysconfdir=${DSPAM_CONF} \
+ --with-dspam-home=${DSPAM_HOME} \
+ --with-dspam-home-group=dspam \
+ --with-dspam-mode=${DSPAM_MODE} \
+ --with-dspam-group=dspam \
+ --with-logdir=${DSPAM_LOG} \
+ --enable-external-lookup \
+ --enable-long-usernames \
+ --enable-split-configuration \
+ $(use_enable clamav) \
+ $(use_enable daemon) \
+ $(use_enable debug) \
+ $(use_enable debug bnr-debug) \
+ $(use_enable debug verbose-debug) \
+ $(use_enable domain-scale) \
+ $(use_enable large-scale) \
+ $(use_enable static-libs static) \
+ $(use_enable syslog) \
+ $(use_enable user-homedirs homedir) \
+ $(use_enable virtual-users) \
+ --with-storage-driver=${DSPAM_DRIVERS} ${DSPAM_DRIVERS_EXTRAS} \
+ $(use mysql || use postgres && echo "--enable-preferences-extension") \
+ $(use syslog || echo "--with-logfile=${DSPAM_LOG}/dspam.log")
+}
+
+dspam_setup_user() {
+ # DSPAM CGI web gui (www-apps/dspam-web) needs to run as a regular user
+ # under suexec in apache, so DSPAM user/group need to be regular users too
+
+ local euid egid
+ for euid in {1000..5000} ; do
+ [ -z "$(egetent passwd ${euid})" ] && break
+ done
+ for egid in {1000..5000} ; do
+ [ -z "$(egetent group ${egid})" ] && break
+ done
+ enewgroup dspam ${egid}
+ enewuser dspam ${euid} -1 "${DSPAM_HOMEDIR}" dspam,mail
+}
+
+dspam_setup_storage_drivers() {
+ # Find out which storage drivers need to be enabled, and set some
+ # variables so that src_configure can pick them up
+
+ if use hash; then
+ DSPAM_DRIVERS+=",hash_drv"
+ fi
+
+ if use mysql; then
+ DSPAM_DRIVERS+=",mysql_drv"
+ DSPAM_DRIVERS_EXTRAS+="--with-mysql-includes=/usr/include/mysql "
+ fi
+
+ if use postgres; then
+ DSPAM_DRIVERS+=",pgsql_drv"
+ fi
+
+ if use sqlite; then
+ DSPAM_DRIVERS+=",sqlite3_drv"
+ fi
+
+ if ! use static-libs; then
+ # set the driver name twice to avoid a static build
+ DSPAM_DRIVERS+=${DSPAM_DRIVERS}
+ fi
+
+ # remove first comma separator
+ DSPAM_DRIVERS=${DSPAM_DRIVERS:1}
+ einfo "Building with drivers: ${DSPAM_DRIVERS}"
+ #echo DSPAM_DRIVERS_EXTRAS=$DSPAM_DRIVERS_EXTRAS
+}
+
+src_install() {
+ default
+
+ if use daemon; then
+ newinitd "${FILESDIR}/dspam.initd" dspam
+ newconfd "${FILESDIR}/dspam.confd" dspam
+ fi
+
+ if use mysql; then
+ insinto "/usr/share/${PN}/mysql"
+
+ local files="mysql_objects-4.1.sql mysql_objects-space.sql mysql_objects-speed.sql purge-4.1.sql purge.sql"
+ if use virtual-users; then
+ files+=" virtual_user_aliases.sql virtual_users.sql"
+ fi
+
+ for file in $files; do
+ doins src/tools.mysql_drv/${file}
+ done
+ fi
+
+ if use postgres; then
+ insinto "/usr/share/${PN}/pgsql"
+
+ local files="pgsql_objects.sql purge-pe.sql purge.sql"
+ if use virtual-users; then
+ files+=" virtual_users.sql"
+ fi
+
+ for file in $files; do
+ doins src/tools.pgsql_drv/${file}
+ done
+ fi
+
+ if use sqlite; then
+ insinto "/usr/share/${PN}/sqlite"
+ newins src/tools.sqlite_drv/purge-3.sql purge.sql
+ fi
+
+ insinto "${DSPAM_HOME}/txt"
+ doins txt/*.txt
+ for i in spam nonspam; do
+ echo "Scanned and tagged with DSPAM ${PV} on Gentoo Linux as ${i} by ISP" > "${T}/msgtag.${i}"
+ doins "${T}/msgtag.${i}"
+ done
+
+ newbin contrib/dspam_maintenance/dspam_maintenance.sh dspam_maintenance
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}/dspam.cron-r4" dspam
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/dspam.logrotate" dspam
+
+ dodoc CHANGELOG README* RELEASE.NOTES UPGRADING doc/*.txt
+
+ # stop logrotate-3.8 from complaining
+ dodir /var/log/dspam
+ fowners dspam:dspam /var/log/dspam
+ fperms 0750 /var/log/dspam
+
+ # Install dspamc setgid
+ fowners root:dspam /usr/bin/dspamc &&
+ fperms g+s /usr/bin/dspamc ||
+ die "failed to alter dspamc owner:group or mode"
+}
+
+pkg_preinst() {
+ # dspam-3.10.0: config dir change, should be removed at some later point
+ if [ -d "${ROOT}/etc/mail/dspam" ]; then
+ ewarn "The configuration directory of DSPAM has been relocated from /etc/mail/dspam to ${DSPAM_CONF}."
+ if [ -h "${ROOT}${DSPAM_CONF}" ]; then
+ # symlink, this is the setup in older ebuilds
+ ewarn "Moving contents of /etc/mail/dspam to ${DSPAM_CONF} ..."
+ rm "${ROOT}${DSPAM_CONF}" && mv "${ROOT}/etc/mail/dspam" "${DSPAM_CONF}"
+ eend $?
+
+ elif [ -d "${ROOT}${DSPAM_CONF}" ]; then
+ # directory and no symlink, do it manually since we cannot decide.
+ ewarn "You have both /etc/mail/dspam and ${DSPAM_CONF} directories, please delete the former."
+
+ else
+ # nothing interesting in /etc/dspam
+ ewarn "Moving contents of /etc/mail/dspam to ${DSPAM_CONF} ..."
+ mv "${ROOT}/etc/mail/dspam" "${DSPAM_CONF}"
+ eend $?
+ fi
+ fi
+}
diff --git a/mail-filter/dspam/files/dspam.confd b/mail-filter/dspam/files/dspam.confd
new file mode 100644
index 000000000000..75e0d4bda7d3
--- /dev/null
+++ b/mail-filter/dspam/files/dspam.confd
@@ -0,0 +1,7 @@
+# Change this to the user:group you want to run the dspam daemon as.
+# If you need dspam to switch uids, this is root:root.
+# If you use virtual users and deliver via LMTP, this can be nonprivileged such as dspam:dspam.
+DAEMON_USER_GROUP="root:root"
+
+# Pid file
+PID_FILE="/var/run/dspam/dspam.pid"
diff --git a/mail-filter/dspam/files/dspam.cron-r4 b/mail-filter/dspam/files/dspam.cron-r4
new file mode 100644
index 000000000000..edf97dce541a
--- /dev/null
+++ b/mail-filter/dspam/files/dspam.cron-r4
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# See dspam_maintenance --help for a list additional parameters
+
+/usr/bin/dspam_maintenance --verbose --purgescriptdir=/usr/share/dspam 1> /dev/null
diff --git a/mail-filter/dspam/files/dspam.initd b/mail-filter/dspam/files/dspam.initd
new file mode 100644
index 000000000000..e452630ab946
--- /dev/null
+++ b/mail-filter/dspam/files/dspam.initd
@@ -0,0 +1,44 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+PIDFILE=${PID_FILE:-/var/run/dspam/dspam.pid}
+
+depend() {
+ use logger
+ before mta
+ after postgresql mysql ldap
+}
+
+checkconfig() {
+ local PIDDIR
+ PIDDIR=${PIDFILE%/*}
+ if [ ! -d "${PIDDIR:-/var/run/dspam}" ]; then
+ checkpath -q -d -o dspam:dspam -m 0755 "${PIDDIR}" || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting dspam"
+ start-stop-daemon --start --quiet \
+ --user ${DAEMON_USER_GROUP} \
+ --pidfile ${PIDFILE} \
+ --exec /usr/bin/dspam -- --daemon
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dspam"
+ start-stop-daemon --stop \
+ --pidfile ${PIDFILE} \
+ --exec /usr/bin/dspam
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading dspam"
+ start-stop-daemon --signal SIGHUP /usr/bin/dspam
+ eend $?
+}
diff --git a/mail-filter/dspam/files/dspam.logrotate b/mail-filter/dspam/files/dspam.logrotate
new file mode 100644
index 000000000000..f5e13067cfc7
--- /dev/null
+++ b/mail-filter/dspam/files/dspam.logrotate
@@ -0,0 +1,10 @@
+/var/log/dspam/bnr.log
+/var/log/dspam/dspam.debug
+/var/log/dspam/dspam.log
+/var/log/dspam/dspam.messages
+/var/log/dspam/sql.errors {
+ weekly
+ compress
+ missingok
+ copytruncate
+}
diff --git a/mail-filter/dspam/metadata.xml b/mail-filter/dspam/metadata.xml
new file mode 100644
index 000000000000..ae0e47963e10
--- /dev/null
+++ b/mail-filter/dspam/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription>A statistical-algorithmic hybrid anti-spam filter</longdescription>
+ <use>
+ <flag name="daemon">
+ Enable support for DSPAM to run in --daemon mode
+ </flag>
+ <flag name="debug">
+ Enable debugging support (don't enable this unless something needs testing!)
+ </flag>
+ <flag name="user-homedirs">
+ Build with user homedir support
+ </flag>
+ <flag name="virtual-users">
+ Build with virtual-users support
+ </flag>
+ <flag name="small-scale">
+ Build for small scale setups - puts data to $HOME/data/user
+ </flag>
+ <flag name="domain-scale">
+ Build for domain scale setups - puts data to $HOME/data/domain.com/user
+ </flag>
+ <flag name="large-scale">
+ Build for large scale setups - puts data to $HOME/data/u/s/user
+ </flag>
+ <flag name="hash">
+ Enable support for the file-orientated hash driver
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">dspam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/exim-geoip/Manifest b/mail-filter/exim-geoip/Manifest
new file mode 100644
index 000000000000..f1f546f0ee8e
--- /dev/null
+++ b/mail-filter/exim-geoip/Manifest
@@ -0,0 +1,5 @@
+DIST exim-geoipv6-dlfunc-0.1.tar.gz 306380 SHA256 96129c051a835dd5247a5822a6c180c5928f6bb3342a2328bf346be6a3e82b42 SHA512 ab10cf8ccd89772c1b925115d45cbd429f9ad577b4b951b120162516f0702331b8f8cca780d4aa1714435a907deed52f50acb06e9be888136a1745834d73215e WHIRLPOOL 81ea9ad2a6b774120e44c64f55b98ba3caf537b25b6587bfc2329d6bb0aa45b062dd8379570529973dbd239055317f9f88c97cdb7436ae2645085d6c03273476
+EBUILD exim-geoip-0.1.ebuild 621 SHA256 3d503fe2e006205fd3ab8b7523e0ef84a9626acfc2be20617f4e2575f93c69b2 SHA512 3120120bd219fd05afa2ca789e616859cd8224243250ea545c59570acfcad479a837dc7f2e656f359898b90ce91dc6e80015ea558945a0ea255dbb2f758c3294 WHIRLPOOL 570a9598d1a36bc57570d202ee69a74c0613280511772210c41f4d991bef01e7d77c5c60cc0e2fa67a1ef9e5f49472020095280dbf239603c14b1054579fdca8
+MISC ChangeLog 2435 SHA256 82d0c021587e36ebd1684732ebf01dd1fa5e73630f738f42443124b4462285c6 SHA512 70694bb2d6112a77ab358e260d41e83deeb71ca48acd5b668afdcfc1fdd267912da859884d376fce13ba43f1401a468f53caef8e8d183580d262ce6cbab37a9a WHIRLPOOL 5d43c5b4197ffefd12c3323385976d072caf8d13d3360cb3fe9b00ace1584865f5e1a76d8794eb17d1bc347b4fb8370f803d75cb33306b303b6cb749552f903a
+MISC ChangeLog-2015 391 SHA256 7b71fd8bf35b795da3155fecf88df147b320c8a70405bcc42b401777c3847286 SHA512 fe5d0769ac6df9e27bf8924236998dd1ebe1945db5dfe4fbbcf549e2889f33f16fdfce109c236a9782ed3961b777ba5856ce7164edfeb6c0af3b0f4a85dd0ae8 WHIRLPOOL bc03d291e3fbc595fed43c3a6a9fbf468ad18eefd59c4179f9e9d0eabc2235555ae877f224cbe7219fb111ef8d5f10103169f8e4b53b89261a087ddc75434436
+MISC metadata.xml 668 SHA256 e2edecedeb0b875cef6fa45e9fb6fa343f973009c2260c71af7a9fea6a360253 SHA512 0df2d5178c081d89ca854fb861efc7c8375bf10317bd041d1eb38cb15004d70b570b8cfd884cf366ea852354bf496379daca5def78bcfd62109ae122f651184e WHIRLPOOL cae24151386d8ed458f4260e133240f24ec4e8cc1706621d6fe1e5cea81dbb90ce885dd7f4a99a39505b7efd9d5e4514c20dbaae3de79ac185e771ec6b64b59f
diff --git a/mail-filter/exim-geoip/exim-geoip-0.1.ebuild b/mail-filter/exim-geoip/exim-geoip-0.1.ebuild
new file mode 100644
index 000000000000..08a4ea6e5c23
--- /dev/null
+++ b/mail-filter/exim-geoip/exim-geoip-0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils flag-o-matic
+
+DESCRIPTION="This is an IPv4 and IPv6 capable GeoIP dlfunc library for Exim"
+HOMEPAGE="http://dist.epipe.com/exim/"
+SRC_URI="http://dist.epipe.com/exim/exim-geoipv6-dlfunc-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/geoip
+ mail-mta/exim[dlfunc]"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/exim-geoipv6-dlfunc-${PV}"
+
+src_configure() {
+ append-cppflags "-I/usr/include/exim"
+ econf
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/mail-filter/exim-geoip/metadata.xml b/mail-filter/exim-geoip/metadata.xml
new file mode 100644
index 000000000000..e7d33e4c450f
--- /dev/null
+++ b/mail-filter/exim-geoip/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription lang="en">This is an IPv6 capable GeoIP dlfunc library for
+ Exim. It implements an interface between Exim access control lists and
+ MaxMind's GeoIP/GeoLite database. This can be useful for greylisting
+ or scoring IP addresses of SMTP senders according to the country code
+ of the sender's IP address.
+ </longdescription>
+</pkgmetadata>
diff --git a/mail-filter/exim-p0f/Manifest b/mail-filter/exim-p0f/Manifest
new file mode 100644
index 000000000000..0653bd10698d
--- /dev/null
+++ b/mail-filter/exim-p0f/Manifest
@@ -0,0 +1,5 @@
+DIST exim-p0f3-dlfunc-0.1.tar.gz 307851 SHA256 9d22741ddd2452b7bf25488b86cd3ad55056aeeb82cf7e45cf38b0a13eef71be SHA512 9f913ba303bb42f6599ed044bb65954f993c2964d84ea0ff4e01e515c35ac7b58118fa6a304cba984499136438ad8f65bfe8c08e22c3be2d4c95f2950ab380b2 WHIRLPOOL 9801e8298c389871db0c9e83f6d800e1744529b15dbefc57260775022f4886741e93680b523d45fdbff29b3a173e6a88299d14c88918fc1fa48f681fb7112eb2
+EBUILD exim-p0f-0.1.ebuild 612 SHA256 d22fc863830b9d4bbd81bdc4aa70934db07ee46425204b4a2c59d9a6b513f5c4 SHA512 0b995209bd32495abf82d5391d1c0f639f4ec39304649023109e98cf3e2a0ef98dafbacf51d67fb6a31457a29da7a93f46cadd1e9684e3bbf38c0668b967e7be WHIRLPOOL 3619171a6344e05ed4bd32ffd3a10fd1f40c559ff0c686efff582bb9b4f6f4dba820614e11ad51a91a0172935a1f6f9ecfcbad49c29d26373f2018df4da6a18b
+MISC ChangeLog 2429 SHA256 6bed457fb87f774e6865c3f8e535104c3ee87d5c2539828b414de4597041d0e2 SHA512 643dbd10f98454322a0d6117e0859f5438340b79bef02e2b48a5ef91d3bd73990eb14da3dd71c859d0609f1992ccfd9d2f826fb88044f48626c8c473e9b9fb86 WHIRLPOOL 534349981b7f646b9a418e9aba02b725f95100278b6e9fa1ad5715382b9b07b2c112acb2e620979cdcb6f9ddaed8efbf3804957c97acdb961cb876235b60306e
+MISC ChangeLog-2015 383 SHA256 47e3a37cead9860cbace117b4b777d994a742d7c3b6e73e44724a8a631007a79 SHA512 e2f8d659076388a1e26075003e8a2ac05495ff8e9c08ffffa7f26258e470a400b2c8ac118cc7d47abe9a485be5cb4954aa9815ee0018ce38561d2992001278a4 WHIRLPOOL 9e40e4e01d34c0e10d41ad7e19dc55ac4b5278c63cc2f1904cef6cdb7a2fce5a0bcf22aed8ec1e48800bbb43bcb8cc0e3275e5d74d1cb0485064fd40b24f349e
+MISC metadata.xml 688 SHA256 32897f0010c7b5c6036b6e15971ba1876282b64d9a1b0320b5b6e285c0e71ee8 SHA512 f9e5bcbab39cc931dbadf6af7cc7682a411fff2ece00e8723ed1713d85c373a3446e2cf50722e5baa13d3326fe669416b373936f6ae3dfcb1350a89b6448375f WHIRLPOOL 542e74c804e92f7d6c3fd9ef11586d9f9934681109c1cab1757df674688ab83beb7e6420093c53f8f39da75e8c4cbb105a56198b079b4e785b5f15dfb62febd1
diff --git a/mail-filter/exim-p0f/exim-p0f-0.1.ebuild b/mail-filter/exim-p0f/exim-p0f-0.1.ebuild
new file mode 100644
index 000000000000..e279b106a829
--- /dev/null
+++ b/mail-filter/exim-p0f/exim-p0f-0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils flag-o-matic
+
+DESCRIPTION="This is p0f version 3 dlfunc library for Exim"
+HOMEPAGE="http://dist.epipe.com/exim/"
+SRC_URI="http://dist.epipe.com/exim/exim-p0f3-dlfunc-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="mail-mta/exim[dlfunc]"
+RDEPEND=">=net-analyzer/p0f-3.05_beta
+ ${DEPEND}"
+S="${WORKDIR}/exim-p0f3-dlfunc-${PV}"
+
+src_configure() {
+ append-cppflags "-I/usr/include/exim"
+ econf
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/mail-filter/exim-p0f/metadata.xml b/mail-filter/exim-p0f/metadata.xml
new file mode 100644
index 000000000000..8ad245d4f9d3
--- /dev/null
+++ b/mail-filter/exim-p0f/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription lang="en">This is p0f version 3 dlfunc library for Exim.
+ It implements an interface between Exim access control lists and the
+ p0f daemon which does passive OS fingerprinting. This can be useful
+ for greylisting or scoring IP addresses of SMTP senders according to
+ sender's operating system. This dlfunc supports IPv6.
+ </longdescription>
+</pkgmetadata>
diff --git a/mail-filter/gld/Manifest b/mail-filter/gld/Manifest
new file mode 100644
index 000000000000..8c0cb9973067
--- /dev/null
+++ b/mail-filter/gld/Manifest
@@ -0,0 +1,8 @@
+AUX gld.rc 443 SHA256 84aa6b2e733c8b088ef5d82fbefd1fe6385d3db375962731b7cdafa8095b8652 SHA512 08c2d5db9e607bf583f0f7d4cfb0a8bbef68d19ae068f4e899cc620b199e2cea742e84d98ea79d14d09fc1f4635834140b8ae4c9f71f90d63c6b2fc3debd5ee6 WHIRLPOOL e7bad5619973fe88aac7ce46995fa462758c9a964c7c95df4da3cf2d9e7f0d9a1f41fe2f6f8511606a839cb95050071b7d57a4fc1a4372c1653fe506c1825de3
+AUX tables.sql 1141 SHA256 1432a8b52c55299b17cd0aeaa94076aef65f04db66f02554e83a862c298bfc5d SHA512 4501ffb273f7064f1bbb56dd6d3f433532924da52c9007d089c57a27aff9cfda2f4b0a59844d0c8e5ff8ce9218f66316914a5af2c801eacba489d003806bb56a WHIRLPOOL d2278b837ecfe255681bafd5b7ff6693218046be2433f48fb143612d18a4b8df8b0f933cadd0ff67d1c6279f04033c030dca3abddd15ecbe4f3be3c82001c365
+DIST gld-1.7.tgz 40241 SHA256 c0776f6841afa73b6579e355522d79fd15467de2936f1a4464265e6415cae14b SHA512 68bbfd03295c2895608f8404ca1a0942c53003af66d70fda0e2515717ab8e6836f2b609942633b6d70a15b49338a887b5b1082ed1d9bc7c2c0aa3a7735abb13e WHIRLPOOL 815bbf2dc565695ca14eeee5821477e35c5d804c00f33c5e988462b3e6f8f3550c24f56cf6bc77ec9378d7a0cbdc1ba76cd47ae27a40e1cdcc2b3e6ffdd06785
+EBUILD gld-1.7-r2.ebuild 1875 SHA256 92a9119394351887a3dca098deef3056c5cc8fd5999fd7393d344aeb12032f40 SHA512 16e11bd850678ef303a81fab386870bc54d9a6341f66ac55e8a84b3d0d86cf9f0fccb3aec9cd39c0eff906eac976e554c055e91c197af8f91eadb35414b931ab WHIRLPOOL f90a87668ce0e7c26c896310dee49d504f38a04318968367d79662661c13af41b1b0070b1e9dae9fa30da316cf54d4ffcb4de77cf703fb73bd03f2e09ae3ef7a
+EBUILD gld-1.7-r3.ebuild 1931 SHA256 4c5c3b1e4ab90d6f204652008d3a880b326ac035f10e270854a6f9a7802ac0ce SHA512 fe2aa744f937f40f8be53c48a902f5c4711cf5f8ea7261a5bfaea30d39c2bec960cd4d74d3404de0a93ebf2ce9185f346e61b40e18728d876698964069fee833 WHIRLPOOL 20afc7291f1c8fc50d421a16b2a0dd2cf14da54c240193af46ee555a6a29b8562bc06c7ddef5318784df9418ee5b876fc878b8dc597d23d5c36066e6d863279a
+MISC ChangeLog 2740 SHA256 3df6b9e788e665063551dcf2a6019778b2cacf2738b845781e4f4edde28ae67f SHA512 29202656269897696c533d52a79896c23f67c59561259664ec05f7411b227a06f73b8173267cb8bbc62490c8ead3d04b23f772b7fe1810fe96e6044fa3d0afca WHIRLPOOL 6ccdd2ef1f6a0cf493cb620d8601cfb94f43e6dd9cf80157a224689769702653324bca3389f91197dc1b66874844d641ea80f89c4acef4fa717018606fdececa
+MISC ChangeLog-2015 7891 SHA256 930daf776132ea9d7d19990134ba8388ae0acb22530d01d50976689b74d086e7 SHA512 3698348c4a7c7522c786332ab116780770fe9e786e19482d6437e929f62e533e6d18b0e882064285918e2a37ebcd5326ba78c195f70ef0fd412510e3e4a45b91 WHIRLPOOL d2b7c9aadf8e26c06fc14c43a9844b08e44f9e28d66d8af1d20b9a89d81bc42195b690778b89138015384f05f00457bd2321b15afb400ca3a8061fe56ac9a026
+MISC metadata.xml 240 SHA256 f0e0bb7a24c4b1ff6b6a8a3e9315245c298499c03fbda429c0f775ec6a5396af SHA512 97824dbce22630efb21e647b55212b7a8a19d8e38b5bf05cb0b8078530bbbaaf4dc91284e2a11beab7dfcfb779df82b87b49d11a746c7a4f6dc71f2fda8942db WHIRLPOOL a7adfcb24489ae67a43a59d8350a70b20874fb03de95681c5b516a741d95422560a433f641de5a7222cf5d3500333e215055ec0cb3844e7abc6d6a836de97357
diff --git a/mail-filter/gld/files/gld.rc b/mail-filter/gld/files/gld.rc
new file mode 100644
index 000000000000..7df142e1433d
--- /dev/null
+++ b/mail-filter/gld/files/gld.rc
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net # in case mysql daemon is not local
+ use dns mysql postgresql
+ before postfix
+ provide postfix_greylist
+}
+
+start() {
+ ebegin "Starting gld"
+ start-stop-daemon --start --quiet --exec /usr/bin/gld
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping gld"
+ start-stop-daemon --stop --quiet --name gld
+ eend $?
+}
diff --git a/mail-filter/gld/files/tables.sql b/mail-filter/gld/files/tables.sql
new file mode 100644
index 000000000000..245e9a059e36
--- /dev/null
+++ b/mail-filter/gld/files/tables.sql
@@ -0,0 +1,15 @@
+CREATE TABLE `greylist` (
+ `ip` CHAR( 39 ) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'IP of Sending Host',
+ `sender` CHAR( 242 ) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL COMMENT 'Address of Sender',
+ `recipient` CHAR( 242 ) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL COMMENT 'Address of Recipient',
+ `first` INT( 11 ) NOT NULL DEFAULT '0' COMMENT 'Date, when this Sender has first been seen',
+ `last` INT( 11 ) NOT NULL DEFAULT '0' COMMENT 'Date, when this sender has last been seen',
+ `n` INT( 11 ) NOT NULL DEFAULT '0' COMMENT 'Sequence number',
+ PRIMARY KEY ( `ip` , `sender` , `recipient` )
+) ENGINE = MYISAM CHARACTER SET latin1 COLLATE latin1_general_ci COMMENT = 'GLD Greylist Table';
+
+CREATE TABLE `whitelist` (
+ `mail` CHAR( 242 ) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL COMMENT 'Adress which is whitelisted',
+ `comment` CHAR( 242 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'A comment, about why this adress is whitelisted',
+ PRIMARY KEY ( `mail` )
+) ENGINE = MYISAM CHARACTER SET latin1 COLLATE latin1_general_ci COMMENT = 'GLD Whitelist Table';
diff --git a/mail-filter/gld/gld-1.7-r2.ebuild b/mail-filter/gld/gld-1.7-r2.ebuild
new file mode 100644
index 000000000000..55c7f21f081d
--- /dev/null
+++ b/mail-filter/gld/gld-1.7-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit toolchain-funcs
+
+DESCRIPTION="A standalone anti-spam greylisting algorithm on top of Postfix"
+HOMEPAGE="http://www.gasmi.net/gld.html"
+SRC_URI="http://www.gasmi.net/down/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="postgres"
+# Not adding a mysql USE flag. The package defaults to it, so we will too.
+DEPEND="sys-libs/zlib
+ >=dev-libs/openssl-0.9.6
+ postgres? ( dev-db/postgresql[server] )
+ !postgres? ( virtual/mysql )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i gld.conf \
+ -e 's:^LOOPBACKONLY=.*:LOOPBACKONLY=1:' \
+ -e 's:^#USER=.*:USER=nobody:' \
+ -e 's:^#GROUP=.*:GROUP=nobody:' \
+ || die "sed gld.conf failed"
+
+ sed -i Makefile.in \
+ -e '/ -c /{s|-O2|$(CFLAGS)|g}' \
+ -e '/ -o /{s|-O2|$(CFLAGS) $(LDFLAGS)|g}' \
+ -e '/strip/d' \
+ || die "sed Makefile.in failed"
+
+ sed -i tables.{my,pg}sql \
+ -e '/ip char/s/16/39/' \
+ || die "sed sql tables failed"
+}
+
+src_configure() {
+ tc-export CC
+ # It's kind of weird. $(use_with postgres pgsql) won't work if you don't
+ # use it...
+ if use postgres ; then
+ myconf="${myconf} --with-pgsql"
+ fi
+
+ econf ${myconf}
+}
+
+src_install() {
+ dobin gld
+
+ insinto /etc
+ newins gld.conf gld.conf.example
+
+ dodoc HISTORY README*
+
+ insinto /usr/share/${PN}/sql
+ doins *.pgsql *-whitelist.sql "${FILESDIR}"/tables.sql
+
+ newinitd "${FILESDIR}"/gld.rc gld
+}
+
+pkg_preinst() {
+ elog "Please read the README file in /usr/share/doc/${PF} for"
+ elog "details on how to setup gld."
+ elog
+ elog "The sql files have been installed to /usr/share/${PN}/sql."
+ if [[ $REPLACING_VERSIONS == "1.7-r1" ]]; then
+ elog "You might want to use the ALTER_TABLE command to change the"
+ elog "ip field width to 39 chars to accomodate ipv6 addresses."
+ elog "Please see your sql server documentation."
+ fi
+}
diff --git a/mail-filter/gld/gld-1.7-r3.ebuild b/mail-filter/gld/gld-1.7-r3.ebuild
new file mode 100644
index 000000000000..24fe380c91f3
--- /dev/null
+++ b/mail-filter/gld/gld-1.7-r3.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit toolchain-funcs
+
+DESCRIPTION="A standalone anti-spam greylisting algorithm on top of Postfix"
+HOMEPAGE="http://www.gasmi.net/gld.html"
+SRC_URI="http://www.gasmi.net/down/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="libressl postgres"
+# Not adding a mysql USE flag. The package defaults to it, so we will too.
+DEPEND="sys-libs/zlib
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ !postgres? ( virtual/mysql )
+ postgres? ( dev-db/postgresql:*[server] )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i gld.conf \
+ -e 's:^LOOPBACKONLY=.*:LOOPBACKONLY=1:' \
+ -e 's:^#USER=.*:USER=nobody:' \
+ -e 's:^#GROUP=.*:GROUP=nobody:' \
+ || die "sed gld.conf failed"
+
+ sed -i Makefile.in \
+ -e '/ -c /{s|-O2|$(CFLAGS)|g}' \
+ -e '/ -o /{s|-O2|$(CFLAGS) $(LDFLAGS)|g}' \
+ -e '/strip/d' \
+ || die "sed Makefile.in failed"
+
+ sed -i tables.{my,pg}sql \
+ -e '/ip char/s/16/39/' \
+ || die "sed sql tables failed"
+}
+
+src_configure() {
+ tc-export CC
+ # It's kind of weird. $(use_with postgres pgsql) won't work if you don't
+ # use it...
+ if use postgres ; then
+ myconf="${myconf} --with-pgsql"
+ fi
+
+ econf ${myconf}
+}
+
+src_install() {
+ dobin gld
+
+ insinto /etc
+ newins gld.conf gld.conf.example
+
+ dodoc HISTORY README*
+
+ insinto /usr/share/${PN}/sql
+ doins *.pgsql *-whitelist.sql "${FILESDIR}"/tables.sql
+
+ newinitd "${FILESDIR}"/gld.rc gld
+}
+
+pkg_preinst() {
+ elog "Please read the README file in /usr/share/doc/${PF} for"
+ elog "details on how to setup gld."
+ elog
+ elog "The sql files have been installed to /usr/share/${PN}/sql."
+ if [[ $REPLACING_VERSIONS == "1.7-r1" ]]; then
+ elog "You might want to use the ALTER_TABLE command to change the"
+ elog "ip field width to 39 chars to accomodate ipv6 addresses."
+ elog "Please see your sql server documentation."
+ fi
+}
diff --git a/mail-filter/gld/metadata.xml b/mail-filter/gld/metadata.xml
new file mode 100644
index 000000000000..9a6d80e5da48
--- /dev/null
+++ b/mail-filter/gld/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+</pkgmetadata>
diff --git a/mail-filter/imapfilter/Manifest b/mail-filter/imapfilter/Manifest
new file mode 100644
index 000000000000..60ad70e83011
--- /dev/null
+++ b/mail-filter/imapfilter/Manifest
@@ -0,0 +1,10 @@
+DIST imapfilter-2.5.4.tar.gz 52585 SHA256 e5a9ee0e57e16d02ff2cbb37b67202a514121d2eb7fc63863174644ca8248769 SHA512 33d8cc822a4ccd02ede6df7f30b5d2893088b352b9d1900df6597fd6443ae51ceb9ff22cd0100f9ec9e28dc84ac294bb717e0a85c4670677dfb09b5e5da76915 WHIRLPOOL 773e73fdae4b7b8f70f22d968f97d383eab444dcd8f39d417b2893408b94fc46be39fc4808e82d38c5e244ac21258a9faedeb0b564f07c9056e3c9f471146703
+DIST imapfilter-2.5.6.tar.gz 53579 SHA256 064d4da9b3b6458e3f9e061174ae4da07e57bdca6b7e1a9d6863cc6959eb2431 SHA512 98bca5cea00cdbbd0bcb3b98c381ae75ec43a3b6651a171cce47df38948d6d7f043f5bd6f42c8f9e30297db17f5d542bb0174dfbd46fc83d25cb5ea6e60d962c WHIRLPOOL 2c636d11f9533c7f8f46e64dc6626447760a49b3b7596deb6ebeb43d5caef5a948d1760d5d0ef8a5c40811cbf7da5f34aaa24c0975228022c8335cbb8bdfe1a3
+DIST imapfilter-2.5.7.tar.gz 54861 SHA256 c792d6a3a187cdc14fc38470837b45722a3750dabd2c6f71672806eeef79fad0 SHA512 9297e98812312fbf2c92aa5477bdfecb522048e45b4bc4922e312bd89a72b020a98f5547e3f0882ae665c24db21e6995eda839b762947adc48bc413ab0c882f1 WHIRLPOOL 514507840c9bc4d53823e5233704fb60815fc964bd938acd6bffe7457d786892ba259e84894a3e51e43a710346b55ab9cc4113bbfdf9b66a984438138b37faf0
+EBUILD imapfilter-2.5.4.ebuild 793 SHA256 e55b51f1e5dc913f3a6e48f4cc20963bf168c5bc10700f3e722247b25cfdf382 SHA512 8f6fd50fabb3e7996c4c5ffc8a3de5506b45320cf60ddf9761fa0d51f8ba15959a2a696279449bdabf6f328ac048dc894f42cb0c776b3b92801e512d5cd9d706 WHIRLPOOL 888047e72f67805204410724f2fab88c4547a74c70e193bc313f5261b47d00be71f8944f114b3746471f757a8e5e154109029e23a2599b3356d2e7bf3496ef90
+EBUILD imapfilter-2.5.6.ebuild 793 SHA256 cca957f4cdbbc7c0ca76e0183c76bb072dfc9e53a12d3008959c442bdadca0b3 SHA512 6c0d6b884e3993f06cc16d9d8fe7085397f80233262163fe5f1642924511cbe1bcf2152bb1ae250ec0520e844530dbf66d5de7d4313789989be407728057c3b1 WHIRLPOOL b579638fb70976139790126fd81b70ed7d59adba1f7fceaa1c0ad0376eedad9d74912a72c06327231a633d75c6e9a3a4d4c0be8e082cf62dfec8264fef8665e4
+EBUILD imapfilter-2.5.7-r1.ebuild 879 SHA256 ae51b805c4b7a54299ab0e6dc4f6dd32f3d31f281f5f29a3841ba1d009eb92a9 SHA512 e139264c30735ce0f57f89b07dc91abb926726a6fa3418fb2001a3e3dc41b9fa1ba13a99f4ee7493772cae36806b4fe86187e86c9648fa203145e4ec5baabab6 WHIRLPOOL bf6172fb52c92a7cc1ceff1fb3ad14ea6e9348fca543e5b77cd71a0579cbd5f3cb93cccf53943384d910ebd910675fca48f6743aa4d0f523ec67ad898ff5bfe8
+EBUILD imapfilter-2.5.7.ebuild 812 SHA256 016ccb24ecd8ff0b6f47ce845fd687d3ef6c53324e2fce8e561a1b08bfca39c5 SHA512 6d7fac38d8383bcc8b184fadf6e9a9e86c6278dc16e18f88eda5e21c4acfab1a16749ae206f376a42082030254eea466697ae0468d912c69722c6161aeaae501 WHIRLPOOL 659a7334e418db6250631b3071ad13e1957fd31d5a7e81a1d09bf2d2cc4183985b7e914366c066a0cc95987f62bb52a52c9235ace02c88fafd75495f588b23eb
+MISC ChangeLog 2763 SHA256 774a2c28ae3b57d22db8cfa89fd1ea8c78cd3f90e9996bef453af485626e1899 SHA512 26d7cdd0bd5065e2b4ec29bd129c5ee823600023c54503fb3fe95272a4fbcf4ecd6154c6a0ae7f3f1547999b6d000aa5375c3d290634680a248a288b9281d593 WHIRLPOOL 6b20623dc5a7fd66257cb2433e66f5a3332df175c632cc62c4d000b0c3fcce2600cb40edd9a1a363291b18e3cb3332c78a6a249f4bca7e5c8b552f737dba26bb
+MISC ChangeLog-2015 9389 SHA256 1bd8d34c16a4f53f649f744d5097dc2347b4638514fbbfc48d4d695a35bbf170 SHA512 271ccdfbec71a4b3d03543a5886fc99cfbe6443207420fb70a0afac586e06466d75d9188a4d2db44e128bf690f0d60910757cc5e61ce589c1a34f42f1bdb0c10 WHIRLPOOL f543f94238e988fd8258df3e6d7cf622a5c2d9c0d2493b084db23a8ba966fb1166323c8bb04858347f9304ef9ed4255f30df4bab8b288da78489ca460a11b1c8
+MISC metadata.xml 326 SHA256 d99b83b602a4d1593a6a997678be0ebd130a2f42199c26a958dccce100e54104 SHA512 6165c1ddbb6368df4efcb1eae82e454df078865810366c7f62dabd3c84eb426f18208b49cc02d54acc9961e7ff4a0d4b825b720386d80122662b1ed98ecfd936 WHIRLPOOL ebf8141d793c5651319710fdae7e2355a1db3caf96133edb6b13898819a1dd3aab9c806f42ae19a04f466c651c0c44be673a7365a31ce7bd8e4ac658e674045e
diff --git a/mail-filter/imapfilter/imapfilter-2.5.4.ebuild b/mail-filter/imapfilter/imapfilter-2.5.4.ebuild
new file mode 100644
index 000000000000..ef51fa3defeb
--- /dev/null
+++ b/mail-filter/imapfilter/imapfilter-2.5.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="An IMAP mail filtering utility"
+HOMEPAGE="http://imapfilter.hellug.gr"
+SRC_URI="https://github.com/lefcha/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND="dev-libs/openssl
+ dev-libs/libpcre
+ >=dev-lang/lua-5.1"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS NEWS README samples/*"
+
+src_prepare() {
+ sed -i -e "/^PREFIX/s:/local::" \
+ -e "/^MANDIR/s:man:share/man:" \
+ -e "/^CFLAGS/s:CFLAGS =:CFLAGS +=:" \
+ -e "/^CFLAGS/s/-O//" \
+ src/Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ default
+ doman doc/imapfilter.1 doc/imapfilter_config.5
+}
diff --git a/mail-filter/imapfilter/imapfilter-2.5.6.ebuild b/mail-filter/imapfilter/imapfilter-2.5.6.ebuild
new file mode 100644
index 000000000000..57e302b6f299
--- /dev/null
+++ b/mail-filter/imapfilter/imapfilter-2.5.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="An IMAP mail filtering utility"
+HOMEPAGE="http://imapfilter.hellug.gr"
+SRC_URI="https://github.com/lefcha/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND="dev-libs/openssl
+ dev-libs/libpcre
+ >=dev-lang/lua-5.1"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS NEWS README samples/*"
+
+src_prepare() {
+ sed -i -e "/^PREFIX/s:/local::" \
+ -e "/^MANDIR/s:man:share/man:" \
+ -e "/^CFLAGS/s:CFLAGS =:CFLAGS +=:" \
+ -e "/^CFLAGS/s/-O//" \
+ src/Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ default
+ doman doc/imapfilter.1 doc/imapfilter_config.5
+}
diff --git a/mail-filter/imapfilter/imapfilter-2.5.7-r1.ebuild b/mail-filter/imapfilter/imapfilter-2.5.7-r1.ebuild
new file mode 100644
index 000000000000..65f218891503
--- /dev/null
+++ b/mail-filter/imapfilter/imapfilter-2.5.7-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="An IMAP mail filtering utility"
+HOMEPAGE="http://imapfilter.hellug.gr"
+SRC_URI="https://github.com/lefcha/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE="libressl"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ dev-libs/libpcre
+ dev-lang/lua:*"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS NEWS README samples/*"
+
+src_prepare() {
+ sed -i -e "/^PREFIX/s:/usr/local:${EPREFIX}/usr:" \
+ -e "/^MANDIR/s:man:share/man:" \
+ -e "/^CFLAGS/s:CFLAGS =:CFLAGS +=:" \
+ -e "/^CFLAGS/s/-O//" \
+ src/Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ default
+ doman doc/imapfilter.1 doc/imapfilter_config.5
+}
diff --git a/mail-filter/imapfilter/imapfilter-2.5.7.ebuild b/mail-filter/imapfilter/imapfilter-2.5.7.ebuild
new file mode 100644
index 000000000000..3f0bcd1d9fc3
--- /dev/null
+++ b/mail-filter/imapfilter/imapfilter-2.5.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="An IMAP mail filtering utility"
+HOMEPAGE="http://imapfilter.hellug.gr"
+SRC_URI="https://github.com/lefcha/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND="dev-libs/openssl:0
+ dev-libs/libpcre
+ dev-lang/lua:*"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS NEWS README samples/*"
+
+src_prepare() {
+ sed -i -e "/^PREFIX/s:/usr/local:${EPREFIX}/usr:" \
+ -e "/^MANDIR/s:man:share/man:" \
+ -e "/^CFLAGS/s:CFLAGS =:CFLAGS +=:" \
+ -e "/^CFLAGS/s/-O//" \
+ src/Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ default
+ doman doc/imapfilter.1 doc/imapfilter_config.5
+}
diff --git a/mail-filter/imapfilter/metadata.xml b/mail-filter/imapfilter/metadata.xml
new file mode 100644
index 000000000000..a925f33eca96
--- /dev/null
+++ b/mail-filter/imapfilter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lefcha/imapfilter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/libdkim/Manifest b/mail-filter/libdkim/Manifest
new file mode 100644
index 000000000000..23565ac08085
--- /dev/null
+++ b/mail-filter/libdkim/Manifest
@@ -0,0 +1,15 @@
+AUX debianize/Makefile.in 2428 SHA256 01452e3aaa461d5d3dfc908c9b7068f312406a662db2c6e1a8a50b41b39f6c47 SHA512 05db88fa13c37e3523c7ec9fd4687d57b250d789318afe886d9b5d37813d12ec1cccbff9d519faee213061e25a41dcb0cd2cf0490755d1712e5bc58a023e69c7 WHIRLPOOL 827b83dd031875e2c4a1d4786db47664469491a00707c2abdf7699b982d09ad5126299f582e6427c9a6bcdb349560df9f3ee1a9fa86881ba286957517ed31bbd
+AUX debianize/aclocal.m4 5813 SHA256 e27480508f65f624233c17e47e0086abf15f08d8c7e08370080dde5fa71a33b2 SHA512 f0e4b4d56768c1c05f0e814c36597f7011274914cad28938a8b174e89dbe4263374849ad88a246b64789f312740fc660853d086f54397fa5ccd3be95dfa9b99d WHIRLPOOL 52e17322dc2d37aae9f6eab8b37c0f5ca7d13d95425db3a85396e076b7edb6b0573df5f0eacddfa18e826a906cb06e78b6f7fb6ca46929e87382d07951578cfe
+AUX debianize/configure.ac 958 SHA256 474143bb47d15bb05097a30bea42809a01ad79594003219a3a42e0c137674313 SHA512 c78b670a4bf7b6d56253f2ba78f26fdfbce2da70f2c1c872ca98062528729f25e1e0363f7520713640fe040c42d7900350ca16c15b0d40c04a45f40709f13354 WHIRLPOOL 39a2ea237e9ed9d9a5d2318d90a49389a92214adf7c0287fa592446eae1341f7636bb720deb3354ae4c436db9a76c40d8a606fa3f3d8064553cc9ca1946b1c5d
+AUX debianize/libdkim.pc.in 293 SHA256 afa34ed46a4d3dcdc1347aa13c9481fb8a5fbdccca502006ddbc2b9ac0b5b863 SHA512 4bc756efd21b2e6c3673af626e93c542a861b9e380dbf91a7f61cecd72e87d4346552350382d10acaffb19b7adfeaaa422ebd3387754441115c882a807ee4250 WHIRLPOOL c45f99047897d5a6d06230999aa0a07fdfdf70327f34a74f24727cd540aa21a345e4f7feefdec7e5cb8389b0ac9877968bf1aa62e0785fbbb444bb4a55ab0933
+AUX debianize/libdkim.ver 34 SHA256 e4c48efbc73175b3d47e23fcd5d7e99e7ce9d8dd7a4e86ad7475bc8cc4671203 SHA512 98c6b245561e1cc7c9b21e1dfff7f44c784de2b20cee036761ff517d5521fea6fa00b734c3710504fc50bb9b143bb0343b73f730da670c22047bff9b8407adc6 WHIRLPOOL edd1cf1717e4c3ba30bcdd79daf63d6ce2e573548981e06f1bfdbff5dee4991af225e0541128f69e6b4f75b564df93bfdb9b9bff551177840eed6c108e3fe174
+AUX libdkim-1.0.21-gcc6.patch 4944 SHA256 c9ce20cf94cbb692cc2bfe40434e00a57c96821b396e583e01225b3af5e8cc57 SHA512 e67f75d5a88458a8a5b06837986d1c50001d77f6530ccc95b9034d70df3d4f187132d5d2f4f48535a60dd62b60b123f543e443ac3ab328a460a2a785ea9dc27b WHIRLPOOL 2bff95523f46b1c43de47a1961e46d9c37879570613c15bf994fc92d2e4b30438cd3772aa535606c969bc5f1a5d3340bf4be66df6abd2d0148f48246c76ae2cf
+AUX libdkim-extra-options.patch 2614 SHA256 4cc9eed6273fab56b29aede8235ead9a9441e9b2d0309a08e412d79ff9bfdc9f SHA512 da5521eca184074cf853f4438b6c0c58219ff32901c3c77de9f9ef8a894444e74854895909e55b0002f6ae561d7b065575d56193954ebf3892e0584b2386b10a WHIRLPOOL ac3dec155c47fc2472cf146587da1db60c94eacd5b06a9c2464e559b70b529a0e6ba529d9e6bc16b777f82b11055245a019895ef5f1b4dcc386a1830e177b53f
+AUX patches/fix_warnings.patch 10043 SHA256 2bc30344ff91135a15ae0fa4cc41c9743aaa8071e36ec578ef5a1cbffac933cd SHA512 4714f34c4420d025c99895278630fa5fb72c5525181cd4e5c201d547e4d09b179542725b6b4f5f6fad79e8d7c8935976867f2fe46f7db8893151a299fca4b0c2 WHIRLPOOL 1e89985eff880b3dfe9d5f6236e3882eb6de461b39ebcc5db2eb05c803261d44150c63424c2cd8a781c559f79b973f2d730b1826580ac8c2e80d651b139771cd
+AUX patches/series 34 SHA256 1ed3204f857bf8471824c23ce0d05da5d2779df9da4292c896efebef8ad63427 SHA512 d2ba14924b9d56a2fb92ced7cc3186f061b0c9f4a7f3c6976e5051ac459998413667d7d5d7352eb05561f0f711fa104d78c7bbb47c193a383a9a5ce4ba6f44d0 WHIRLPOOL 76181e8bdf046b82c4252e90c1848e2087d921674391988d75857a5b0956e1d66698802e13ee6cc21e788f151295217ea236c31fb8d57e8ed839eeb68c4f46bc
+AUX patches/strtok_r.patch 3412 SHA256 4992bb70dd2ef24ecb7f77502e5233980342dd2a59556cc213481d640c4b9e82 SHA512 ecd9ccb430654e94a285dcccc5e47a139f8b07633f77c8e056e5d21d132eec886fdf3bc01fab82b762c0d581908755be69de8e4881c3d7da2b7d546429025e00 WHIRLPOOL 7f0bdf710bc31c6c2df1625e80f54ab88a4e3073a443346d6714d19eb0e0445b8f24ebfd913fa2d98292b5f4c52d95ee54494267e5202fc075cd5b052abb2831
+DIST libdkim-1.0.21.zip 55049 SHA256 dc685c8c47384c5d0379a1bcc0c96c8b7877a01e0c3bfedd6a54ae4ebdfa0323 SHA512 3996c64398151dc9c07d357e8f3ac9b94e3c8d06ce5d83ebbe546416f361349d869b0b73216f28d0b732319731f31e61afd9eab0f540471760b944a90130a094 WHIRLPOOL bb95cb2e0cb02192996116a7bcc27221f275f6f8a88ecdbce6c6f70d6f15a4a23fee445706cbbf5d3ac6211d8d999c723aff5f1a673247f12929b285e23602f8
+EBUILD libdkim-1.0.21-r3.ebuild 1159 SHA256 a3cb16b98b2783a0b7f506cc5bb9fa12ae3cbeb03a385158f7418a7a27c18be4 SHA512 439632cb76e30aa54834ae9a36d8e909100281d4d6f43700ff0ab61f61d7385f519a1ec45fd0d7c39cf47efc59eb6125ab70d212725d2d8cce92841f3b6663d4 WHIRLPOOL 876130b7f667b19a4a7fb49606a3ef341ebd066466029fe53348d2787cc63972e0f70bb3d6f154730281c2bace0093531a22442e622f01129a87e90faa509496
+MISC ChangeLog 3112 SHA256 e639b8c756e94966692cac30217d7d38393f00a0480450362add92c5df9429ca SHA512 52e6aee045c1bb768c5414c3b5edd9f47176ac652734c14a12325724b177866111f266ca617f0fc85c10b6dfb2e72982989c83fc02d429a2319705a7181b7c9f WHIRLPOOL d5c35f9a8b8ada8dd27b26c4cc8b03f9ecd1d600c5c3be5914f90b247b3ee58a4863aee3a1827a6d11dc7393af4b598501c10d52cec149f90c1b583577fa4313
+MISC ChangeLog-2015 1830 SHA256 1b338ea31636afba570acfe2623a9cd67b440e2c972d1a560a06880ae3726ffc SHA512 5b3e33e7aa563fd650d34b1e583985e99982f7bb669a708e853f4cf16ffdc6fd5c0c35ac0712927408c6e406e422d5068528c679d76a8fbeb8d7bb50dcb1221f WHIRLPOOL 8ec2ad81115e248c0d7b5213dfa3fe128a921ee061f0c0f40b5aed682badc82a8f4ede5caec259f3aa2eceb1a98c7011b5ba7aab4a34e0f3609c562c29db3a32
+MISC metadata.xml 249 SHA256 e3ce0b9c6699b697b631c6b3171180e541301d0fda3b2d4657412a8bb51bc575 SHA512 a2be284cf2f4e9a6c84979c88c89dc591d63b1c9093f63a72e96c7a725660467e69f780a7e6e586ec8e2665a8ae1b687cdec7cf79c16fbbd693dc5156c3f413b WHIRLPOOL 5536b233a39cf840c3ec3ad4773264965d6834b100ec31935458ed0ba4793a205c9e937ecb575e684e04893c547e16c664381ee26555b7842647426247b82b3c
diff --git a/mail-filter/libdkim/files/debianize/Makefile.in b/mail-filter/libdkim/files/debianize/Makefile.in
new file mode 100644
index 000000000000..862f9b8478c7
--- /dev/null
+++ b/mail-filter/libdkim/files/debianize/Makefile.in
@@ -0,0 +1,93 @@
+# libdkim makefile for UNIX
+#
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+
+OBJEXT = @OBJEXT@
+LIBS = @LIBS@ @libcrypto_LIBS@
+
+CC = @CC@
+CXX = @CXX@
+
+CFLAGS = @CFLAGS@
+CXXFLAGS = @CXXFLAGS@
+CPPFLAGS = @CPPFLAGS@
+
+INCL =
+LDFLAGS = @LDFLAGS@
+
+libdkim_SOURCES = dkim.cpp dns.cpp dkimbase.cpp dkimsign.cpp dkimverify.cpp
+HEADERS = dkim.h dns.h dkimbase.h dkimsign.h dkimverify.h
+
+libdkim_OBJS = $(libdkim_SOURCES:.cpp=.$(OBJEXT))
+libdkim_PURE_OBJS = $(libdkim_SOURCES:.cpp=.p$(OBJEXT))
+
+libdkimtest_SOURCES = libdkimtest.cpp
+libdkimtest_OBJS = libdkimtest.$(OBJEXT)
+
+SHLIBFORLINK = libdkim.so
+SHLIBSONAME = $(SHLIBFORLINK).$(SHLIBMAJOR)
+SHLIBTARGET = $(SHLIBFORLINK)
+SHLIBLINK = $(CXX) $(LDFLAGS) -shared -Wl,-soname=$(SHLIBSONAME) -Wl,-version-script=libdkim.ver
+SHLIBMAJOR = 1d
+SHLIBMINOR = 1
+SHLIBFILE = $(SHLIBSONAME).$(SHLIBMINOR)
+SHLIBCFLAGS = -fPIC
+
+ARFLAGS = crs
+
+TARGETS = libdkim.a $(SHLIBTARGET) libdkimtest
+
+all: $(TARGETS)
+
+libdkim.a: $(libdkim_OBJS)
+ -rm -f $@
+ $(AR) $(ARFLAGS) $@ $(libdkim_OBJS)
+
+$(SHLIBFORLINK): $(libdkim_PURE_OBJS)
+ $(SHLIBLINK) -o $@ $(libdkim_PURE_OBJS) $(LIBS)
+ -mkdir .lib 2>/dev/null
+ [ -z "$(SHLIBSONAME)" ] || (cd .lib \
+ && ln -sf ../$(SHLIBFORLINK) $(SHLIBSONAME))
+
+libdkimtest: $(libdkimtest_OBJS) $(SHLIBFORLINK)
+ $(CXX) ${LDFLAGS} -L. -o $@ libdkimtest.o -ldkim $(LIBS)
+
+libdkimtest.o: $(libdkimtest_SOURCES) $(HDRS)
+ $(CXX) $(CXXFLAGS) -o $@ -c $<
+
+%.$(OBJEXT): %.cpp $(HDRS)
+ $(CXX) $(CXXFLAGS) -o $@ -c $<
+
+%.p$(OBJEXT): %.cpp $(HDRS)
+ $(CXX) $(SHLIBCFLAGS) $(CXXFLAGS) -o $@ -c $<
+
+clean:
+ -rm -f *.$(OBJEXT) *.p$(OBJEXT) $(TARGETS)
+ -rm -rf .lib
+
+distclean: clean
+ -rm -f config.status config.log Makefile libdkim.pc
+
+install: all
+ install -m 755 -d $(DESTDIR)$(libdir)
+ install -m 755 -d $(DESTDIR)$(libdir)/pkgconfig
+ install -m 755 -d $(DESTDIR)$(includedir)
+ install -m 644 libdkim.a $(DESTDIR)$(libdir)
+ install -m 755 $(SHLIBFORLINK) $(DESTDIR)$(libdir)/$(SHLIBFILE)
+ [ -z "$(SHLIBSONAME)" ] \
+ || (cd $(DESTDIR)$(libdir) \
+ && ln -sf $(SHLIBFILE) $(SHLIBSONAME) \
+ && ln -sf $(SHLIBFILE) $(SHLIBFORLINK) )
+ install -m 644 $(srcdir)/dkim.h $(DESTDIR)$(includedir)
+ install -m 644 libdkim.pc $(DESTDIR)$(libdir)/pkgconfig
+ install -m 755 -d $(DESTDIR)$(bindir)
+ install -m 755 libdkimtest $(DESTDIR)$(bindir)
+
+.PHONY: all install clean distclean
diff --git a/mail-filter/libdkim/files/debianize/aclocal.m4 b/mail-filter/libdkim/files/debianize/aclocal.m4
new file mode 100644
index 000000000000..92a0b0dd9430
--- /dev/null
+++ b/mail-filter/libdkim/files/debianize/aclocal.m4
@@ -0,0 +1,171 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [AC_MSG_RESULT([no])
+ $4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
diff --git a/mail-filter/libdkim/files/debianize/configure.ac b/mail-filter/libdkim/files/debianize/configure.ac
new file mode 100644
index 000000000000..045fd33fcb6c
--- /dev/null
+++ b/mail-filter/libdkim/files/debianize/configure.ac
@@ -0,0 +1,39 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.61)
+AC_INIT(libdkim, 1.0.21)
+LT_INIT
+AC_CONFIG_SRCDIR([dkim.cpp])
+##AC_CONFIG_HEADER([config.h])
+
+# Checks for programs.
+AC_PROG_CXX
+PKG_PROG_PKG_CONFIG
+
+# Checks for libraries.
+#AC_CHECK_LIB([crypto], [PEM_read_PrivateKey])
+PKG_CHECK_MODULES([libcrypto], [libcrypto])
+AC_SEARCH_LIBS([res_query], [resolv c],,
+ [AC_SEARCH_LIBS(__res_query,resolv bind)])
+
+# Checks for header files.
+AC_HEADER_RESOLV
+AC_HEADER_STDC
+AC_CHECK_HEADERS([netdb.h netinet/in.h inttypes.h stdlib.h string.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_CONST
+AC_C_INLINE
+AC_HEADER_TIME
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+
+# Checks for library functions.
+AC_FUNC_MEMCMP
+AC_FUNC_SELECT_ARGTYPES
+AC_CHECK_FUNCS([select socket strchr])
+
+AC_CONFIG_FILES([Makefile libdkim.pc])
+AC_OUTPUT
diff --git a/mail-filter/libdkim/files/debianize/libdkim.pc.in b/mail-filter/libdkim/files/debianize/libdkim.pc.in
new file mode 100644
index 000000000000..d8d914ac439a
--- /dev/null
+++ b/mail-filter/libdkim/files/debianize/libdkim.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Description: DomainKeys Identified Mail library from Alt-N Inc.
+Version: @PACKAGE_VERSION@
+Requires.private: libcrypto
+Libs: -L${libdir} -ldkim
+Libs.private: @LIBS@
+Cflags: -I${includedir}
diff --git a/mail-filter/libdkim/files/debianize/libdkim.ver b/mail-filter/libdkim/files/debianize/libdkim.ver
new file mode 100644
index 000000000000..d2049046aff4
--- /dev/null
+++ b/mail-filter/libdkim/files/debianize/libdkim.ver
@@ -0,0 +1,4 @@
+{
+ global: DKIM*;
+ local: *;
+};
diff --git a/mail-filter/libdkim/files/libdkim-1.0.21-gcc6.patch b/mail-filter/libdkim/files/libdkim-1.0.21-gcc6.patch
new file mode 100644
index 000000000000..087e731d02cd
--- /dev/null
+++ b/mail-filter/libdkim/files/libdkim-1.0.21-gcc6.patch
@@ -0,0 +1,25 @@
+--- a/src/dkimverify.cpp
++++ b/src/dkimverify.cpp
+@@ -211,14 +211,14 @@
+ unsigned DecodeBase64(char *ptr)
+ {
+ static const unsigned char base64_table[256] = {
+- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,
+- -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,
+- -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1,
+- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
++ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,62,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,63,52,53,54,55,56,57,58,59,60,61,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,
++ (unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1,(unsigned char) -1};
+
+ unsigned char *s = (unsigned char *)ptr;
+ unsigned char *d = (unsigned char *)ptr;
diff --git a/mail-filter/libdkim/files/libdkim-extra-options.patch b/mail-filter/libdkim/files/libdkim-extra-options.patch
new file mode 100644
index 000000000000..5c8a240fdbec
--- /dev/null
+++ b/mail-filter/libdkim/files/libdkim-extra-options.patch
@@ -0,0 +1,87 @@
+diff -Naur libdkim.orig/src/libdkimtest.cpp libdkim/src/libdkimtest.cpp
+--- libdkim.orig/src/libdkimtest.cpp 2009-03-13 16:17:45.000000000 -0500
++++ libdkim/src/libdkimtest.cpp 2009-03-13 16:26:02.000000000 -0500
+@@ -55,8 +55,23 @@
+ return 0;
+ }
+
++void usage()
++{
+
+-
++ printf( "usage: libdkimtest [-b<allman|ietf|both>] [-c<r|s|t|u>] [-d<domain>] [-l] [-h] [-i<you@yourdomain.com>] [-q] [-s] [-t] [-v] [-x<expire time>] [-z<hash>] <msgfile> <privkeyfile> <outfile>\n");
++ printf( "-b<standard> allman , ietf or both\n");
++ printf( "-c<canonicalization> r for relaxed [DEFAULT], s - simple, t relaxed/simple, u - simple/relaxed\n");
++ printf( "-d<domain> the domain tag, if not provided it will be determined from the sender/from header\n");
++ printf( "-l include body length tag\n");
++ printf( "-h this help\n");
++ printf( "-i<identity> the identity, if not provided it will not be included\n");
++ printf( "-s sign the message\n");
++ printf( "-t include a timestamp tag\n");
++ printf( "-v verify the message\n");
++ printf( "-x<expire_time> the expire time in seconds since epoch ( DEFAULT = current time + 604800)\n\t if set to - then it will not be included");
++ printf( "-z<hash> 1 for sha1, 2 for sha256, 3 for both\n");
++ printf( "-y<selector> the selector tag DEFAULT=MDaemon\n");
++}
+ int main(int argc, char* argv[])
+ {
+ int n;
+@@ -77,7 +92,7 @@
+ time(&t);
+
+ opts.nCanon = DKIM_SIGN_RELAXED;
+- opts.nIncludeBodyLengthTag = 1;
++ opts.nIncludeBodyLengthTag = 0;
+ opts.nIncludeQueryMethod = 0;
+ opts.nIncludeTimeStamp = 0;
+ opts.expireTime = t + 604800; // expires in 1 week
+@@ -92,6 +107,11 @@
+ int nArgParseState = 0;
+ bool bSign = true;
+
++ if(argc<2){
++ usage();
++ exit(1);
++ }
++
+ for( n = 1; n < argc; n++ )
+ {
+ if( argv[n][0] == '-' && strlen(argv[n]) > 1 )
+@@ -121,14 +141,16 @@
+ }
+ break;
+
+-
++ case 'd':
++ strncpy(opts.szDomain,(const char*)(argv[n]+2),sizeof(opts.szDomain)-1);
++ break;
+ case 'l': // body length tag
+ opts.nIncludeBodyLengthTag = 1;
+ break;
+
+
+ case 'h':
+- printf( "usage: \n" );
++ usage();
+ return 0;
+
+ case 'i': // identity
+@@ -138,7 +160,7 @@
+ }
+ else
+ {
+- strcpy( opts.szIdentity, argv[n] + 2 );
++ strncpy( opts.szIdentity, argv[n] + 2,sizeof(opts.szIdentity)-1 );
+ }
+ break;
+
+@@ -169,6 +191,9 @@
+ }
+ break;
+
++ case 'y':
++ strncpy( opts.szSelector, argv[n]+2, sizeof(opts.szSelector)-1);
++ break;
+
+ case 'z': // sign w/ sha1, sha256 or both
+ opts.nHash = atoi( &argv[n][2] );
diff --git a/mail-filter/libdkim/files/patches/fix_warnings.patch b/mail-filter/libdkim/files/patches/fix_warnings.patch
new file mode 100644
index 000000000000..56ed6ffc8a1d
--- /dev/null
+++ b/mail-filter/libdkim/files/patches/fix_warnings.patch
@@ -0,0 +1,293 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_fix_warnings.dpatch by Russell Coker <russell@coker.com.au>
+##
+## DP: Get rid of warnings through the use of const and more correct types
+
+@DPATCH@
+
+diff -ru libdkim-1.0.19.orig/src/dkim.cpp libdkim-1.0.19/src/dkim.cpp
+--- libdkim-1.0.19.orig/src/dkim.cpp 2008-05-12 20:07:32.000000000 +1000
++++ libdkim-1.0.19/src/dkim.cpp 2009-04-15 19:38:08.000000000 +1000
+@@ -172,7 +172,7 @@
+ }
+
+
+-int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, char* szBuffer, int nBufLength )
++int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, const char* const szBuffer, int nBufLength )
+ {
+ CDKIMVerify* pVerify = (CDKIMVerify*)ValidateContext( pVerifyContext, false );
+
+@@ -226,13 +226,13 @@
+ }
+
+
+-char* DKIM_CALL DKIMVersion()
++const char* DKIM_CALL DKIMVersion()
+ {
+ return VERSION_STRING;
+ }
+
+
+-static char* DKIMErrorStrings[-1-DKIM_MAX_ERROR] = {
++static const char* DKIMErrorStrings[-1-DKIM_MAX_ERROR] = {
+ "DKIM_FAIL",
+ "DKIM_BAD_SYNTAX",
+ "DKIM_SIGNATURE_BAD",
+@@ -254,7 +254,7 @@
+ };
+
+
+-char* DKIM_CALL DKIMGetErrorString( int ErrorCode )
++const char* DKIM_CALL DKIMGetErrorString( int ErrorCode )
+ {
+ if (ErrorCode >= 0 || ErrorCode <= DKIM_MAX_ERROR)
+ return "Unknown";
+diff -ru libdkim-1.0.19.orig/src/dkim.h libdkim-1.0.19/src/dkim.h
+--- libdkim-1.0.19.orig/src/dkim.h 2009-04-15 19:37:48.000000000 +1000
++++ libdkim-1.0.19/src/dkim.h 2009-04-15 19:38:08.000000000 +1000
+@@ -155,14 +155,14 @@
+ void DKIM_CALL DKIMSignFree( DKIMContext* pSignContext );
+
+ int DKIM_CALL DKIMVerifyInit( DKIMContext* pVerifyContext, DKIMVerifyOptions* pOptions );
+-int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, char* szBuffer, int nBufLength );
++int DKIM_CALL DKIMVerifyProcess( DKIMContext* pVerifyContext, const char* szBuffer, int nBufLength );
+ int DKIM_CALL DKIMVerifyResults( DKIMContext* pVerifyContext );
+ int DKIM_CALL DKIMVerifyGetDetails( DKIMContext* pVerifyContext, int* nSigCount, DKIMVerifyDetails** pDetails, char* szPractices );
+ void DKIM_CALL DKIMVerifyFree( DKIMContext* pVerifyContext );
+
+-char *DKIM_CALL DKIMVersion();
++const char *DKIM_CALL DKIMVersion();
+
+-char *DKIM_CALL DKIMGetErrorString( int ErrorCode );
++const char *DKIM_CALL DKIMGetErrorString( int ErrorCode );
+
+ #ifdef __cplusplus
+ }
+diff -ru libdkim-1.0.19.orig/src/dkimbase.cpp libdkim-1.0.19/src/dkimbase.cpp
+--- libdkim-1.0.19.orig/src/dkimbase.cpp 2008-05-12 20:07:36.000000000 +1000
++++ libdkim-1.0.19/src/dkimbase.cpp 2009-04-15 19:49:32.000000000 +1000
+@@ -118,10 +118,10 @@
+ // Process - split buffers into lines without any CRs or LFs at the end.
+ //
+ ////////////////////////////////////////////////////////////////////////////////
+-int CDKIMBase::Process( char* szBuffer, int nBufLength, bool bEOF )
++int CDKIMBase::Process( const char* szBuffer, int nBufLength, bool bEOF )
+ {
+- char* p = szBuffer;
+- char* e = szBuffer + nBufLength;
++ const char* p = szBuffer;
++ const char* e = szBuffer + nBufLength;
+
+ while( p < e )
+ {
+@@ -208,7 +208,8 @@
+ {
+ m_InHeaders = false;
+ ProcessHeaders();
+- ProcessBody("", 0, true);
++ /* type conversion should be safe as length is zero */
++ ProcessBody((char *)"", 0, true);
+ }
+
+ return DKIM_SUCCESS;
+@@ -338,9 +339,9 @@
+
+ CompressSWSP(sTemp);
+
+- unsigned cpos = sTemp.find(':');
++ string::size_type cpos = sTemp.find(':');
+
+- if (cpos == -1)
++ if (cpos == string::npos)
+ {
+ // no colon?!
+ }
+diff -ru libdkim-1.0.19.orig/src/dkimbase.h libdkim-1.0.19/src/dkimbase.h
+--- libdkim-1.0.19.orig/src/dkimbase.h 2008-05-12 20:07:24.000000000 +1000
++++ libdkim-1.0.19/src/dkimbase.h 2009-04-15 19:49:32.000000000 +1000
+@@ -41,7 +41,7 @@
+
+ int Init(void);
+
+- int Process( char* szBuffer, int nBufLength, bool bEOF );
++ int Process( const char* szBuffer, int nBufLength, bool bEOF );
+ int ProcessFinal(void);
+
+ int Alloc( char*& szBuffer, int nRequiredSize );
+diff -ru libdkim-1.0.19.orig/src/dkimsign.cpp libdkim-1.0.19/src/dkimsign.cpp
+--- libdkim-1.0.19.orig/src/dkimsign.cpp 2008-05-12 20:07:46.000000000 +1000
++++ libdkim-1.0.19/src/dkimsign.cpp 2009-04-15 19:49:32.000000000 +1000
+@@ -144,7 +144,7 @@
+
+ fwrite( szBuffer, 1, nBufLength, fpdebug );
+
+- /** END DEBUG CODE **/
++ ** END DEBUG CODE **/
+
+ if( bAllmanOnly )
+ {
+@@ -555,7 +555,7 @@
+ // if bFold, fold at cbrk char
+ //
+ ////////////////////////////////////////////////////////////////////////////////
+-void CDKIMSign::AddTagToSig( char* Tag, const string &sValue, char cbrk, bool bFold )
++void CDKIMSign::AddTagToSig( const char* const Tag, const string &sValue, char cbrk, bool bFold )
+ {
+ int nTagLen = strlen(Tag);
+
+@@ -583,10 +583,10 @@
+ // AddTagToSig - add tag and numeric value to signature folding if necessary
+ //
+ ////////////////////////////////////////////////////////////////////////////////
+-void CDKIMSign::AddTagToSig( char* Tag, unsigned long nValue )
++void CDKIMSign::AddTagToSig( const char* const Tag, unsigned long nValue )
+ {
+ char szValue[64];
+- sprintf( szValue, "%u", nValue );
++ sprintf( szValue, "%lu", nValue );
+ AddTagToSig( Tag, szValue, 0, false );
+ }
+
+@@ -686,7 +686,7 @@
+ // GetSig - compute hash and return signature header in szSignature
+ //
+ ////////////////////////////////////////////////////////////////////////////////
+-int CDKIMSign::GetSig( char* szPrivKey, char* szSignature, int nSigLength )
++int CDKIMSign::GetSig( char* szPrivKey, char* szSignature, unsigned nSigLength )
+ {
+ if( szPrivKey == NULL )
+ {
+@@ -794,7 +794,6 @@
+ int size;
+ int len;
+ char* buf;
+- int pos = 0;
+
+ // construct the DKIM-Signature: header and add to hash
+ InitSig();
+@@ -879,7 +878,7 @@
+ }
+ BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
+ BIO_push(b64, bio);
+- if (BIO_write(b64, Hash, nHashLen) < nHashLen)
++ if (BIO_write(b64, Hash, nHashLen) < (int)nHashLen)
+ {
+ BIO_free_all(b64);
+ return DKIM_OUT_OF_MEMORY;
+@@ -993,7 +992,7 @@
+ }
+ BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
+ BIO_push(b64, bio);
+- if (BIO_write(b64, sig, siglen) < siglen)
++ if (BIO_write(b64, sig, siglen) < (int)siglen)
+ {
+ OPENSSL_free(sig);
+ BIO_free_all(b64);
+diff -ru libdkim-1.0.19.orig/src/dkimsign.h libdkim-1.0.19/src/dkimsign.h
+--- libdkim-1.0.19.orig/src/dkimsign.h 2008-05-12 20:07:58.000000000 +1000
++++ libdkim-1.0.19/src/dkimsign.h 2009-04-15 19:49:32.000000000 +1000
+@@ -32,7 +32,7 @@
+
+ int Init( DKIMSignOptions* pOptions );
+
+- int GetSig( char* szPrivKey, char* szSignature, int nSigLength );
++ int GetSig( char* szPrivKey, char* szSignature, unsigned nSigLength );
+ int GetSig2( char* szPrivKey, char** pszSignature );
+
+ virtual int ProcessHeaders(void);
+@@ -50,8 +50,8 @@
+ bool ParseFromAddress( void );
+
+ void InitSig(void);
+- void AddTagToSig( char* Tag, const string &sValue, char cbrk, bool bFold );
+- void AddTagToSig( char* Tag, unsigned long nValue );
++ void AddTagToSig( const char* const Tag, const string &sValue, char cbrk, bool bFold );
++ void AddTagToSig( const char* const Tag, unsigned long nValue );
+ void AddInterTagSpace( int nSizeOfNextTag );
+ void AddFoldedValueToSig( const string &sValue, char cbrk );
+
+diff -ru libdkim-1.0.19.orig/src/dkimverify.cpp libdkim-1.0.19/src/dkimverify.cpp
+--- libdkim-1.0.19.orig/src/dkimverify.cpp 2009-04-15 19:37:48.000000000 +1000
++++ libdkim-1.0.19/src/dkimverify.cpp 2009-04-15 19:49:32.000000000 +1000
+@@ -440,7 +440,7 @@
+ {
+ ProcessFinal();
+
+- int SuccessCount=0;
++ unsigned int SuccessCount=0;
+ int TestingFailures=0;
+ int RealFailures=0;
+
+@@ -646,7 +646,7 @@
+ /** END DEBUG CODE **/
+ #endif
+
+- if (IsBody && BodyLength != -1)
++ if (IsBody && BodyLength != (unsigned)-1)
+ {
+ VerifiedBodyCount += nBufLength;
+ if (VerifiedBodyCount > BodyLength)
+@@ -1019,7 +1019,7 @@
+ // body count
+ if (values[8] == NULL || !m_HonorBodyLengthTag)
+ {
+- sig.BodyLength = -1;
++ sig.BodyLength = (unsigned)-1;
+ }
+ else
+ {
+@@ -1057,17 +1057,17 @@
+ // expiration time
+ if (values[11] == NULL)
+ {
+- sig.ExpireTime = -1;
++ sig.ExpireTime = (unsigned)-1;
+ }
+ else
+ {
+ if (!ParseUnsigned(values[11], &sig.ExpireTime))
+ return DKIM_BAD_SYNTAX;
+
+- if (sig.ExpireTime != -1)
++ if (sig.ExpireTime != (unsigned)-1)
+ {
+ // the value of x= MUST be greater than the value of t= if both are present
+- if (SignedTime != -1 && sig.ExpireTime <= SignedTime)
++ if (SignedTime != (unsigned)-1 && sig.ExpireTime <= SignedTime)
+ return DKIM_BAD_SYNTAX;
+
+ // todo: if possible, use the received date/time instead of the current time
+@@ -1169,7 +1169,7 @@
+ }
+
+
+-SelectorInfo::SelectorInfo(const string &sSelector, const string &sDomain) : Selector(sSelector), Domain(sDomain)
++SelectorInfo::SelectorInfo(const string &sSelector, const string &sDomain) : Domain(sDomain), Selector(sSelector)
+ {
+ AllowSHA1 = true;
+ AllowSHA256 = true;
+@@ -1207,7 +1207,7 @@
+ return DKIM_SELECTOR_INVALID; // todo: maybe create a new error code for unsupported selector version
+
+ // make sure v= is the first tag in the response // todo: maybe don't enforce this, it seems unnecessary
+- for (int j=1; j<sizeof(values)/sizeof(values[0]); j++)
++ for (unsigned j=1; j<sizeof(values)/sizeof(values[0]); j++)
+ {
+ if (values[j] != NULL && values[j] < values[0])
+ {
+diff -ru libdkim-1.0.19.orig/src/libdkimtest.cpp libdkim-1.0.19/src/libdkimtest.cpp
+--- libdkim-1.0.19.orig/src/libdkimtest.cpp 2008-05-12 20:08:54.000000000 +1000
++++ libdkim-1.0.19/src/libdkimtest.cpp 2009-04-15 19:38:08.000000000 +1000
+@@ -60,9 +60,9 @@
+ int main(int argc, char* argv[])
+ {
+ int n;
+- char* PrivKeyFile = "test.pem";
+- char* MsgFile = "test.msg";
+- char* OutFile = "signed.msg";
++ const char* PrivKeyFile = "test.pem";
++ const char* MsgFile = "test.msg";
++ const char* OutFile = "signed.msg";
+ int nPrivKeyLen;
+ char PrivKey[2048];
+ char Buffer[1024];
diff --git a/mail-filter/libdkim/files/patches/series b/mail-filter/libdkim/files/patches/series
new file mode 100644
index 000000000000..57acbdb1e7de
--- /dev/null
+++ b/mail-filter/libdkim/files/patches/series
@@ -0,0 +1,2 @@
+strtok_r.patch
+fix_warnings.patch
diff --git a/mail-filter/libdkim/files/patches/strtok_r.patch b/mail-filter/libdkim/files/patches/strtok_r.patch
new file mode 100644
index 000000000000..b3b4999aaf5f
--- /dev/null
+++ b/mail-filter/libdkim/files/patches/strtok_r.patch
@@ -0,0 +1,119 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_strtok_r.dpatch by Russell Coker <russell@coker.com.au>
+##
+## DP: Use strtok_r() instead of strtok().
+
+@DPATCH@
+
+diff -ru libdkim-1.0.19/src/dkimverify.cpp libdkim-1.0.19-new/src/dkimverify.cpp
+--- libdkim-1.0.19/src/dkimverify.cpp 2008-05-12 20:08:06.000000000 +1000
++++ libdkim-1.0.19-new/src/dkimverify.cpp 2009-06-11 18:28:10.000000000 +1000
+@@ -855,6 +855,9 @@
+ ////////////////////////////////////////////////////////////////////////////////
+ int CDKIMVerify::ParseDKIMSignature( const string& sHeader, SignatureInfo &sig )
+ {
++ // for strtok_r()
++ char *saveptr;
++
+ // save header for later
+ sig.Header = sHeader;
+
+@@ -1032,7 +1035,7 @@
+ {
+ // make sure "dns" is in the list
+ bool HasDNS = false;
+- char *s = strtok(values[9], ":");
++ char *s = strtok_r(values[9], ":", &saveptr);
+ while (s != NULL)
+ {
+ if (strncmp(s, "dns", 3) == 0 && (s[3] == '\0' || s[3] == '/'))
+@@ -1040,7 +1043,7 @@
+ HasDNS = true;
+ break;
+ }
+- s = strtok(NULL, ": \t");
++ s = strtok_r(NULL, ": \t", &saveptr);
+ }
+ if (!HasDNS)
+ return DKIM_BAD_SYNTAX; // todo: maybe create a new error code for unknown query method
+@@ -1080,7 +1083,7 @@
+ // parse the signed headers list
+ bool HasFrom = false, HasSubject = false;
+ RemoveSWSP(values[4]); // header names shouldn't have spaces in them so this should be ok...
+- char *s = strtok(values[4], ":");
++ char *s = strtok_r(values[4], ":", &saveptr);
+ while (s != NULL)
+ {
+ if (_stricmp(s, "From") == 0)
+@@ -1090,7 +1093,7 @@
+
+ sig.SignedHeaders.push_back(s);
+
+- s = strtok(NULL, ":");
++ s = strtok_r(NULL, ":", &saveptr);
+ }
+
+ if (!HasFrom)
+@@ -1194,6 +1197,9 @@
+ ////////////////////////////////////////////////////////////////////////////////
+ int SelectorInfo::Parse( char* Buffer )
+ {
++ // for strtok_r()
++ char *saveptr;
++
+ static const char *tags[] = {"v","g","h","k","p","s","t","n",NULL};
+ char *values[sizeof(tags)/sizeof(tags[0])] = {NULL};
+
+@@ -1235,14 +1241,14 @@
+ else
+ {
+ // MUST include "sha1" or "sha256"
+- char *s = strtok(values[2], ":");
++ char *s = strtok_r(values[2], ":", &saveptr);
+ while (s != NULL)
+ {
+ if (strcmp(s, "sha1") == 0)
+ AllowSHA1 = true;
+ else if (strcmp(s, "sha256") == 0)
+ AllowSHA256 = true;
+- s = strtok(NULL, ":");
++ s = strtok_r(NULL, ":", &saveptr);
+ }
+ if ( !(AllowSHA1 || AllowSHA256) )
+ return DKIM_SELECTOR_INVALID; // todo: maybe create a new error code for unsupported hash algorithm
+@@ -1261,7 +1267,7 @@
+ {
+ // make sure "*" or "email" is in the list
+ bool ServiceTypeMatch = false;
+- char *s = strtok(values[5], ":");
++ char *s = strtok_r(values[5], ":", &saveptr);
+ while (s != NULL)
+ {
+ if (strcmp(s, "*") == 0 || strcmp(s, "email") == 0)
+@@ -1269,7 +1275,7 @@
+ ServiceTypeMatch = true;
+ break;
+ }
+- s = strtok(NULL, ":");
++ s = strtok_r(NULL, ":", &saveptr);
+ }
+ if (!ServiceTypeMatch)
+ return DKIM_SELECTOR_INVALID;
+@@ -1278,7 +1284,7 @@
+ // flags
+ if (values[6] != NULL)
+ {
+- char *s = strtok(values[6], ":");
++ char *s = strtok_r(values[6], ":", &saveptr);
+ while (s != NULL)
+ {
+ if (strcmp(s, "y") == 0)
+@@ -1289,7 +1295,7 @@
+ {
+ SameDomain = true;
+ }
+- s = strtok(NULL, ":");
++ s = strtok_r(NULL, ":", &saveptr);
+ }
+ }
+
diff --git a/mail-filter/libdkim/libdkim-1.0.21-r3.ebuild b/mail-filter/libdkim/libdkim-1.0.21-r3.ebuild
new file mode 100644
index 000000000000..86a1e2d444f9
--- /dev/null
+++ b/mail-filter/libdkim/libdkim-1.0.21-r3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils eutils toolchain-funcs
+
+DESCRIPTION="DomainKeys Identified Mail library from Alt-N Inc"
+HOMEPAGE="http://libdkim.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
+
+LICENSE="Apache-2.0 yahoo-patent-license-1.2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="libressl static-libs"
+
+DEPEND="
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ app-arch/unzip"
+RDEPEND="
+ !mail-filter/libdkim-exim
+ dev-libs/openssl"
+
+S="${WORKDIR}/${PN}/src"
+
+src_prepare() {
+ ecvs_clean
+ cp "${FILESDIR}"/debianize/* "${S}" || die
+ epatch "${FILESDIR}"/patches/*.patch
+ epatch "${FILESDIR}"/libdkim-extra-options.patch
+ epatch "${FILESDIR}"/${P}-gcc6.patch
+
+ # Bug 476772
+ if ! use static-libs; then
+ sed -i \
+ -e '/^TARGETS/s/libdkim.a//' \
+ -e '/install -m 644 libdkim.a/d' \
+ Makefile.in || die 'sed on Makefile.in failed'
+ fi
+
+ # Bug 476770
+ tc-export AR
+
+ autotools-utils_src_prepare
+}
+
+src_install() {
+ autotools-utils_src_install
+ dodoc ../README
+}
diff --git a/mail-filter/libdkim/metadata.xml b/mail-filter/libdkim/metadata.xml
new file mode 100644
index 000000000000..f5f607de0d04
--- /dev/null
+++ b/mail-filter/libdkim/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">libdkim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/libmilter/Manifest b/mail-filter/libmilter/Manifest
new file mode 100644
index 000000000000..2839ef5d8af9
--- /dev/null
+++ b/mail-filter/libmilter/Manifest
@@ -0,0 +1,8 @@
+AUX gentoo.config.m4 168 SHA256 d3e541eae2b48528cda2790e346ed3de82f8cd8875d655f179c71ba6a76b7667 SHA512 68b4c02527845ec54c694cbf6f4f7c589aa1317269d25cee6e65ea69243d29215790294180588c3436e72dd6f86163234111d3a762e926da3bfb7acf69f1c4b3 WHIRLPOOL ed7b78fa71f10fd0fddc5f90d61fc68d928fc7571bf335df0b4839be2821bfbe5919bcd4d569e0c1be9b7dfbdfbee83088187d0b5686d047270e26a1a10436de
+AUX libmilter-build-system.patch 6855 SHA256 736ae535cf6b76bf7bbbe2d1a4a0ffd7a7936abbb2f0ceb1ddfe9ebfcef61e58 SHA512 d36adc49d5fec792139a921b5292ad0a6d71c11a31093cb1249f4e19b8255bb5a287beb3537b2ec0316d97505233cdd708bac27c0d4e1f54464918d4730be43b WHIRLPOOL b73c11278050e34013d400ab34c01c6acc9d8f1ac85f830edd8284b61924ef48f82b45e4cba2912da51ca58542ba265c474409df3cf588aa0971990fc6675cec
+AUX libmilter-sharedlib.patch 2843 SHA256 3a753b0881fe622814b471ee5f9037905c7cc3ed08ef74908464ab5307e59d5a SHA512 31c36b57739946c1b9c7c85307fe5c53c45d7f8cbf427a0f2248db8b74871a6f5a30ef1af524915821aeca54310d28272bcd0a587cb918192214fa5c30e4a8da WHIRLPOOL 1ee6cdbee9e32e66c5836d7a296f741476d4cf03625dd4409ecdaba5001063e11b1f6f3d3b07e8150563641eaa78ff336759e278782f04bcab75d2dc73a10e8f
+DIST sendmail.8.14.5.tar.gz 2092508 SHA256 fb65a86a0f87f12aefb933ee8990540f7a680a594f7fedfdd28918f3934bfb88 SHA512 178addd247f1c7c8ca90d70b9240db4cad4e55f0710d5df0fe979e5473a182d2035150c352836576a28bb2b9660b0d5ebfcd95269a156ac0d2c3dba3edb60452 WHIRLPOOL 2e073759a44d535629d9cce91da4a7082e085defeb9491a4470a8a8c8b18e1545129527c0138a74edb405a9c9724e5a597ee99c7852a423696c495ad8fef783f
+EBUILD libmilter-1.0.2.ebuild 1982 SHA256 f5b1d68968b39c8278bc3dd6263ab24d40f4dcb91e5fa056c57b843e8545d873 SHA512 4a71bbebd55070ab6fdf35e62635f9e34f7cc3d4ea5e57cbf00140b016a4f6e8f51c64d46caa932ff7c4b4fd0df793056bf3179ae44ed09905d68d18b017061c WHIRLPOOL 5e3ca96d41797c8b3020b493ea7c314d40bfb76ec8a7b3ac76cc3d202dddba0b646d5e470754b2f27516894f0fa99f9c011551501520cc75cb64c9e84c1d25be
+MISC ChangeLog 2927 SHA256 e06f8c5594ef0dd263fb2e3af97fba1e0e61449709371b1244136bd7a7a5a858 SHA512 f90b445cdbb280e67b8c32b704e622aa13c61ec12434399cc53efb226f6ab1826f0c963d424b221598b0e5cf8c90a708f0ab34a45ea0791e0dd888ee42cba29a WHIRLPOOL 8b1aa72c4ee339d1093ed6cd4d33c1abd0a769e0dde3bd252b178aa73ceac555edc75d27c7c48d72e02f2d435ab9af9be5f4bac278dc47a47ef58184896520f2
+MISC ChangeLog-2015 4296 SHA256 b37bf77386c39a2d220c2401e09236bf2029781195de1c7da802a591896c587d SHA512 e23f818fce6f9480ff8b2d89198feb2287327dfeab300aaadf1cc93dc82d6b5bbe676936981ce728ca8c5ac8d8a530b9fe0374eaa6dddd88b8c196884f483a47 WHIRLPOOL ca246a4fb8aa9566de0a127ea17d997d038d14e5de6b175c9181eab8cc944a9faa5e9260089bb6d753217ab529faed5f5267c5e6311ee1f90f06fba7856a0c9d
+MISC metadata.xml 374 SHA256 e526f631274b351fd5373abe25279532797193ba0507e2232426022a22c95830 SHA512 0a801c3486e0eb5cbbec96886409a3b988cddcf15409c45fd7127ac43990a8811e0579885780ff8f6702910a6d2a9368abe91507dfafe60c21a63fe29cfb072d WHIRLPOOL 8b3c8cd0a92143e507995a745c503f360d6f4399d1f262e3d19bcadf35b41975eec89c02947b6ad2f33b7a0cbf703dec5d2a93f0b15ed80db39280bc4f92953b
diff --git a/mail-filter/libmilter/files/gentoo.config.m4 b/mail-filter/libmilter/files/gentoo.config.m4
new file mode 100644
index 000000000000..5e1b55faa580
--- /dev/null
+++ b/mail-filter/libmilter/files/gentoo.config.m4
@@ -0,0 +1,5 @@
+define(`confOPTIMIZE', `@@CFLAGS@@')
+define(`confLDOPTS', `@@LDFLAGS@@')
+define(`confCC', `@@CC@@')
+define(`confENVDEF', `@@ENVDEF@@')
+define(`confCCOPTS_SO', `-fPIC')
diff --git a/mail-filter/libmilter/files/libmilter-build-system.patch b/mail-filter/libmilter/files/libmilter-build-system.patch
new file mode 100644
index 000000000000..d9991d3d409b
--- /dev/null
+++ b/mail-filter/libmilter/files/libmilter-build-system.patch
@@ -0,0 +1,89 @@
+diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/defines.m4 sendmail-8.14.3/devtools/M4/UNIX/defines.m4
+--- sendmail-8.14.3.orig/devtools/M4/UNIX/defines.m4 2006-10-06 07:44:44.000000000 +0200
++++ sendmail-8.14.3/devtools/M4/UNIX/defines.m4 2009-09-20 10:16:43.000000000 +0200
+@@ -26,7 +26,7 @@
+ CCLINK = ifdef(`confCCLINK', `confCCLINK', `confCC')
+ # Linker for libraries
+ LD= ifdef(`confLD', `confLD', `confCC')
+-LDOPTS= ifdef(`confLDOPTS', `confLDOPTS') ifdef(`confMT', ifdef(`confMTLDOPTS', `confMTLDOPTS', `'), `')
++LDOPTS= ifdef(`confLDOPTS', `confLDOPTS')
+ LDOPTS_SO= ${LDOPTS} ifdef(`confLDOPTS_SO', `confLDOPTS_SO', `-shared')
+
+ # Shell
+@@ -71,7 +71,7 @@
+ LIBADD= ifdef(`conf_'bldCURRENT_PRD`_LIBS', `conf_'bldCURRENT_PRD`_LIBS')
+
+ # libraries required on your system
+-LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST')
++LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST') ifdef(`confMT', ifdef(`confMTLDOPTS', `confMTLDOPTS', `'), `')
+
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR= ifdef(`confMBINDIR', `confMBINDIR', `/usr/sbin')
+diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/executable.m4 sendmail-8.14.3/devtools/M4/UNIX/executable.m4
+--- sendmail-8.14.3.orig/devtools/M4/UNIX/executable.m4 2006-10-06 07:44:44.000000000 +0200
++++ sendmail-8.14.3/devtools/M4/UNIX/executable.m4 2009-09-20 10:16:43.000000000 +0200
+@@ -30,12 +30,12 @@
+
+ ifdef(`bldNO_INSTALL', ,
+ `install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT ifdef(`bldTARGET_INST_DEP', `bldTARGET_INST_DEP')
+- ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'BINDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'BINDIR}; else :; fi ')
+- ${INSTALL} -c -o ${bldBIN_TYPE`'BINOWN} -g ${bldBIN_TYPE`'BINGRP} -m ${bldBIN_TYPE`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${bldINSTALL_DIR`'BINDIR}
++ ifdef(`confMKDIR', `if [ ! -d "${DESTDIR}${bldINSTALL_DIR`'BINDIR}" ]; then confMKDIR -p "${DESTDIR}${bldINSTALL_DIR`'BINDIR}"; else :; fi ')
++ ${INSTALL} -c -o ${bldBIN_TYPE`'BINOWN} -g ${bldBIN_TYPE`'BINGRP} -m ${bldBIN_TYPE`'BINMODE} bldCURRENT_PRODUCT "${DESTDIR}${bldINSTALL_DIR`'BINDIR}"
+ ifdef(`bldTARGET_LINKS', `bldMAKE_TARGET_LINKS(${bldINSTALL_DIR`'BINDIR}/bldCURRENT_PRODUCT, ${bldCURRENT_PRODUCT`'TARGET_LINKS})')')
+
+ strip-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT
+- ${STRIP} ${STRIPOPTS} ${DESTDIR}${bldINSTALL_DIR`'BINDIR}`'/bldCURRENT_PRODUCT
++ ${STRIP} ${STRIPOPTS} "${DESTDIR}${bldINSTALL_DIR`'BINDIR}`'/bldCURRENT_PRODUCT"
+
+ bldCURRENT_PRODUCT-clean:
+ rm -f ${OBJS} bldCURRENT_PRODUCT ${MANPAGES}
+diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/library.m4 sendmail-8.14.3/devtools/M4/UNIX/library.m4
+--- sendmail-8.14.3.orig/devtools/M4/UNIX/library.m4 2006-09-06 00:56:53.000000000 +0200
++++ sendmail-8.14.3/devtools/M4/UNIX/library.m4 2009-09-20 10:16:43.000000000 +0200
+@@ -27,8 +27,8 @@
+ ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)')
+
+ install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.a
+-ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'LIBDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'LIBDIR}; else :; fi ')
+- ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a ${DESTDIR}${LIBDIR}')
++ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d "${DESTDIR}${LIBDIR}" ]; then confMKDIR -p "${DESTDIR}${LIBDIR}"; else :; fi ')
++ ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a "${DESTDIR}${LIBDIR}"')
+
+ bldCURRENT_PRODUCT-clean:
+ rm -f ${OBJS} bldCURRENT_PRODUCT.a ${MANPAGES}
+diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/manpage.m4 sendmail-8.14.3/devtools/M4/UNIX/manpage.m4
+--- sendmail-8.14.3.orig/devtools/M4/UNIX/manpage.m4 2006-09-08 00:13:07.000000000 +0200
++++ sendmail-8.14.3/devtools/M4/UNIX/manpage.m4 2009-09-20 10:16:43.000000000 +0200
+@@ -68,11 +68,11 @@
+ ifdef(`confNO_MAN_INSTALL', `divert(-1)', `dnl')
+ define(`bldMAN_INSTALL_CMD',
+ `ifdef(`confDONT_INSTALL_CATMAN', `dnl',
+-` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC} ]; then confMKDIR -p ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}; else :; fi ')
+- ${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).`${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}' `${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)}/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}'')
++` ifdef(`confMKDIR', `if [ ! -d "`${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)}" ]; then confMKDIR -p "`${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)}"; else :; fi ')
++ ${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).`${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}' "`${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)}/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}''")
+ ifdef(`confINSTALL_RAWMAN',
+-` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN} ]; then confMKDIR -p ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}; else :; fi ')
+- ${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).bldGET_MAN_SOURCE_NUM($1) `${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}'/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}'', `dnl')'
++` ifdef(`confMKDIR', `if [ ! -d "`${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}'" ]; then confMKDIR -p "`${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}'"; else :; fi ')
++ ${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).bldGET_MAN_SOURCE_NUM($1) "`${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}'/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}''", `dnl')'
+ )dnl
+ bldFOREACH(`bldMAN_INSTALL_CMD(', `bldMAN_PAGES')
+ ifdef(`confNO_MAN_INSTALL', `divert(0)', `dnl')
+diff -Nru sendmail-8.14.3.orig/libmilter/Makefile.m4 sendmail-8.14.3/libmilter/Makefile.m4
+--- sendmail-8.14.3.orig/libmilter/Makefile.m4 2009-09-20 09:53:44.000000000 +0200
++++ sendmail-8.14.3/libmilter/Makefile.m4 2009-09-20 10:18:35.000000000 +0200
+@@ -32,9 +32,9 @@
+ MFAPI= ${SRCDIR}/inc`'lude/libmilter/mfapi.h
+ MFDEF= ${SRCDIR}/inc`'lude/libmilter/mfdef.h
+ install-mfapi: ${MFAPI}
+- if [ ! -d ${DESTDIR}${INCLUDEDIR}/libmilter ]; then mkdir -p ${DESTDIR}${INCLUDEDIR}/libmilter; else :; fi
+- ${INSTALL} -c -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} ${MFAPI} ${DESTDIR}${INCLUDEDIR}/libmilter/mfapi.h
+- ${INSTALL} -c -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} ${MFDEF} ${DESTDIR}${INCLUDEDIR}/libmilter/mfdef.h
++ if [ ! -d "${DESTDIR}${INCLUDEDIR}/libmilter" ]; then mkdir -p "${DESTDIR}${INCLUDEDIR}/libmilter"; else :; fi
++ ${INSTALL} -c -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} ${MFAPI} "${DESTDIR}${INCLUDEDIR}/libmilter/mfapi.h"
++ ${INSTALL} -c -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} ${MFDEF} "${DESTDIR}${INCLUDEDIR}/libmilter/mfdef.h"
+ divert(0)
+
+ bldFINISH
diff --git a/mail-filter/libmilter/files/libmilter-sharedlib.patch b/mail-filter/libmilter/files/libmilter-sharedlib.patch
new file mode 100644
index 000000000000..43ec78612190
--- /dev/null
+++ b/mail-filter/libmilter/files/libmilter-sharedlib.patch
@@ -0,0 +1,55 @@
+diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4
+--- sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 1970-01-01 01:00:00.000000000 +0100
++++ sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 2009-08-22 21:51:10.000000000 +0200
+@@ -0,0 +1,39 @@
++divert(-1)
++#
++# Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers.
++# All rights reserved.
++#
++# By using this file, you agree to the terms and conditions set
++# forth in the LICENSE file which can be found at the top level of
++# the sendmail distribution.
++#
++#
++# Definitions for Makefile construction for sendmail
++#
++divert(0)dnl
++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl
++bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl
++bldPUSH_TARGET(bldCURRENT_PRODUCT`.so' bldCURRENT_PRODUCT`.a')dnl
++bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl
++bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl
++
++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4')
++divert(bldTARGETS_SECTION)
++bldCURRENT_PRODUCT.so: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'}
++ ${CCLINK} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so -Wl,confSONAME,bldCURRENT_PRODUCT.so.${MILTER_SOVER} ${bldCURRENT_PRODUCT`OBJS'} -lc ${LIBS}
++bldCURRENT_PRODUCT.a: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'}
++ ${AR} ${AROPTS} bldCURRENT_PRODUCT.a ${bldCURRENT_PRODUCT`OBJS'}
++ ${RANLIB} ${RANLIBOPTS} bldCURRENT_PRODUCT.a
++ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)')
++
++install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.so bldCURRENT_PRODUCT.a
++ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d "${DESTDIR}${bldINSTALL_DIR`'LIBDIR}" ]; then confMKDIR -p "${DESTDIR}${bldINSTALL_DIR`'LIBDIR}"; else :; fi ')
++ ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${UBINMODE} bldCURRENT_PRODUCT.so "${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.so.${MILTER_SOVER}"
++ ${LN} ${LNOPTS} bldCURRENT_PRODUCT.so.${MILTER_SOVER} "${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.so"
++ ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a "${DESTDIR}${LIBDIR}"')
++
++bldCURRENT_PRODUCT-clean:
++ rm -f ${OBJS} bldCURRENT_PRODUCT.so bldCURRENT_PRODUCT.a ${MANPAGES}
++
++divert(0)
++COPTS+= confCCOPTS_SO
+diff -Nru sendmail-8.14.3.orig/libmilter/Makefile.m4 sendmail-8.14.3/libmilter/Makefile.m4
+--- sendmail-8.14.3.orig/libmilter/Makefile.m4 2008-04-08 07:23:44.000000000 +0200
++++ sendmail-8.14.3/libmilter/Makefile.m4 2009-08-22 21:53:35.000000000 +0200
+@@ -9,7 +9,7 @@
+ SMSRCDIR=ifdef(`confSMSRCDIR', `confSMSRCDIR', `${SRCDIR}/sendmail')
+ PREPENDDEF(`confINCDIRS', `-I${SMSRCDIR} ')
+
+-bldPRODUCT_START(`library', `libmilter')
++bldPRODUCT_START(`milterlibrary', `libmilter')
+ define(`bldINSTALLABLE', `true')
+ define(`LIBMILTER_EXTRAS', `errstring.c strl.c')
+ APPENDDEF(`confENVDEF', `-DNOT_SENDMAIL -Dsm_snprintf=snprintf')
diff --git a/mail-filter/libmilter/libmilter-1.0.2.ebuild b/mail-filter/libmilter/libmilter-1.0.2.ebuild
new file mode 100644
index 000000000000..74494baf73c9
--- /dev/null
+++ b/mail-filter/libmilter/libmilter-1.0.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils multilib toolchain-funcs
+
+# This library is part of sendmail, but it does not share the version number with it.
+# In order to find the right libmilter version number, check SMFI_VERSION definition
+# that can be found in ${S}/include/libmilter/mfapi.h (see also SM_LM_VRS_* defines).
+# For example, version 1.0.1 has a SMFI_VERSION of 0x01000001.
+SENDMAIL_VER=8.14.5
+
+DESCRIPTION="The Sendmail Filter API (Milter)"
+HOMEPAGE="http://www.sendmail.org/"
+SRC_URI="ftp://ftp.sendmail.org/pub/sendmail/sendmail.${SENDMAIL_VER}.tar.gz"
+
+LICENSE="Sendmail"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+IUSE="ipv6 poll"
+
+DEPEND="!mail-mta/sendmail
+ !mail-mta/sendmail"
+RDEPEND="!mail-mta/sendmail"
+
+S="${WORKDIR}/sendmail-${SENDMAIL_VER}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-build-system.patch
+ epatch "${FILESDIR}"/${PN}-sharedlib.patch
+
+ local CC="$(tc-getCC)"
+ local ENVDEF="-DNETUNIX -DNETINET"
+ use ipv6 && ENVDEF="${ENVDEF} -DNETINET6"
+ use poll && ENVDEF="${ENVDEF} -DSM_CONF_POLL=1"
+
+ sed -e "s:@@CFLAGS@@:${CFLAGS}:" \
+ -e "s:@@LDFLAGS@@:${LDFLAGS}:" \
+ -e "s:@@CC@@:${CC}:" \
+ -e "s:@@ENVDEF@@:${ENVDEF}:" \
+ "${FILESDIR}/gentoo.config.m4" > "${S}/devtools/Site/site.config.m4" \
+ || die "failed to generate site.config.m4"
+}
+
+src_compile() {
+ pushd libmilter
+ emake -j1 MILTER_SOVER=${PV} || die "libmilter compilation failed"
+ popd
+}
+
+src_install () {
+ local MY_LIBDIR=/usr/$(get_libdir)
+ dodir "${MY_LIBDIR}"
+ emake DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \
+ SBINOWN=root SBINGRP=0 UBINOWN=root UBINGRP=0 \
+ LIBOWN=root LIBGRP=0 GBINOWN=root GBINGRP=0 \
+ MANOWN=root MANGRP=0 INCOWN=root INCGRP=0 \
+ MSPQOWN=root CFOWN=root CFGRP=0 \
+ MILTER_SOVER=${PV} \
+ install -C obj.*/libmilter \
+ || die "install failed"
+
+ dodoc libmilter/README
+ dohtml libmilter/docs/*
+}
diff --git a/mail-filter/libmilter/metadata.xml b/mail-filter/libmilter/metadata.xml
new file mode 100644
index 000000000000..37dc1f85c1b4
--- /dev/null
+++ b/mail-filter/libmilter/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>The Sendmail filter API (Milter)</longdescription>
+<use>
+ <flag name="poll">Use poll instead of select</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/libsieve/Manifest b/mail-filter/libsieve/Manifest
new file mode 100644
index 000000000000..fa6b1e6c6c36
--- /dev/null
+++ b/mail-filter/libsieve/Manifest
@@ -0,0 +1,5 @@
+DIST libsieve-2.2.7.tar.gz 569646 SHA256 41645ad28d25388925f352858ea23a17ff2a25897b98c72e864d8cde899a6723 SHA512 e943a76009f3de41274d7100a8b995fe66a91ec92c1c22236ab765cb449add42b38402cc8e161a1b9870dcdd6abc05d9fb5d99d9230c6814896fb0647afe0796 WHIRLPOOL 39f04434a2a2a30833c22948300806e619eb3b70454b0af305116ad32613bf7134a7f30e5cc013bdadf872c1e9fa8a845ce46d5dc6a00e1a72402e5a36ebf05a
+EBUILD libsieve-2.2.7.ebuild 582 SHA256 5b9a27bad0c4e8f5a3888ec82d3013e11338cf6f3a5e69591c9e90ab9505e5f7 SHA512 76f68976da4221160db4c935c3af6f67d9ea28498af681946e74242f080f271b25cece3e3a8ef5a64bc974ee055ca4475ba640c9ef41cb85f35c031ef8f949f8 WHIRLPOOL 27067135a63dd8c8a25980a89c975242978c79da6458b1cb2a1f41855283ddaa4b0586f5d04db46f738dd7be7c42a5be4c2bb1c7abb72b96458aa29da3596c63
+MISC ChangeLog 2528 SHA256 97bb7d4afa446af67bd4f4ba91af40f17935986c498208c31880d5edb9ecb906 SHA512 e38b6abbee36a9be35e5e35a2a3197cd8bd766b9123d1f2bb3fdf936a2783e87913523da5668d7104a497907e77964e79e0a6fefe97e4310b870b76e001999d2 WHIRLPOOL 9e39958c4dea803ecd35a35166d28ccb8e694df35ff8a4886d42ddcb0fdc43fa3e4dec6478778e204f3bc235b87df2b9b2337a5d685cb7e25354c68cabf7655b
+MISC ChangeLog-2015 2824 SHA256 f0c407dc61c339901a9f380cd8e179f40ac138715600caa8e580de7fdb8f011b SHA512 a6ce669e78f8cea96247ac0fafd6e1ebe7297e0b0a87d54ae32d53b5151ab5479967d680b7d708b93445701ae54360d4f85dbba446636225ca91deddd3ff467e WHIRLPOOL d1da47d22fd2246e6602498bb58f992d6f614838ee5d5772de6a391eb21c2676d7083fcdb68a006a35dbf3fa7b3abdbd19cc43129f12a7a9a9d5bcff0ee2587d
+MISC metadata.xml 547 SHA256 f6ce0e384bd1f8a744ef3ad010ee23c67ce4dc9d3d04fa78472402b5f41d2ca3 SHA512 0a5b5c0a03fa5e616d9204c1a03da5e0bcc42d43481168604edcdd15b8125e7ca0b3983cc6eae576561a4990359bc47fcb0536a9af71a4ed3c6ccea4d45dfdd5 WHIRLPOOL 444b75a89b9baa8645a10a65a74d9fec66fa8bbe8ab1d7a85e9f6f204e30ab0032c3a0bd035cbd8ca762b8aeb8be662a67d575184d914df2bea807f8751cae13
diff --git a/mail-filter/libsieve/libsieve-2.2.7.ebuild b/mail-filter/libsieve/libsieve-2.2.7.ebuild
new file mode 100644
index 000000000000..c8b9a43f206c
--- /dev/null
+++ b/mail-filter/libsieve/libsieve-2.2.7.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="A library for parsing, sorting and filtering your mail"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://libsieve.sourceforge.net/"
+
+SLOT="0"
+LICENSE="MIT LGPL-2"
+KEYWORDS="~alpha amd64 ~ppc ~sparc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!<net-mail/mailutils-2.1"
+
+src_compile() {
+ cd "${S}"/src
+ econf || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install () {
+ cd "${S}"/src
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/mail-filter/libsieve/metadata.xml b/mail-filter/libsieve/metadata.xml
new file mode 100644
index 000000000000..3d4e4b35ac3c
--- /dev/null
+++ b/mail-filter/libsieve/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+libSieve provides a library to interpret Sieve scripts, and to execute those
+scripts over a given set of messages. The return codes from the libSieve
+functions let your program know how to handle the message, and then it's up to
+you to make it so.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">libsieve</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/libspf2/Manifest b/mail-filter/libspf2/Manifest
new file mode 100644
index 000000000000..148e53985757
--- /dev/null
+++ b/mail-filter/libspf2/Manifest
@@ -0,0 +1,9 @@
+AUX libspf2-1.2.10-gcc5.patch 1080 SHA256 690d23bcf3db2b62e1e892a2ed09b0d748e1dba3ddab37611c30175f399d2a34 SHA512 cd2af129e334e0e1efcd722680f8f7cb064e6f5581ce41c791cb4f5f34d1eb4ac0dc586114b3017b4fd2ba350f11972f78a4029a8fc03118cf74c4f1276cd12b WHIRLPOOL e0fd7c7441a1682a0aa680366cd1c3b108e4ee5af5d3a04ca70bb4cfd374730c3cfcb07dd13f4c51ed5eb4e511f59ffc6ad7e61eb9b937ddd27c57313231f569
+AUX libspf2-1.2.9-ipv6.patch 1796 SHA256 0c879a8d0daa40083f8cf757c674e5a7ddab38f727f33807e750beca52b1066f SHA512 d79187ba3bdf6f093600f5ad9a530e17791689e141861b09486ee4a54a9c54d9c100c19ab45839c28aa8535fb6af9b2bbcac937a2b4b2519feaff52d51515ded WHIRLPOOL e332c5fc47e2e1fbf0e4891d50e142c615ab7b574ac032b62d4f7c8294ada7a6c3a0744decb4d912d700beaf55ecf560b4bccac5670acf7847f209570bd428f5
+DIST libspf2-1.2.10.tar.gz 508842 SHA256 d91e3de81ae287a2976c44f60283bd3000d720e6a112dc7142eedf1831b821c9 SHA512 162ce382628c6fcadac3e11f5a12442db622bb23f7ec503e16f5ba7fc88afdd777bce6b093c12a58210355985fd11b74b140f08fab347334d82d953dd183b130 WHIRLPOOL 0bc14a6c3e6ddf431cc98ed4b9dbd4e2ca381f6e408c8ea57d9a74d55a6079731d42644f6e60a3138996a9728137721cfb438463b36c18e89c7c381f9ed18e69
+DIST libspf2-1.2.9.tar.gz 518001 SHA256 4837f6b063b1431673754cbf6bef8979de5ffc4d7f26f6b93abd42787ba04862 SHA512 3137571f438704c176c5251e7b93fd0a8b6b04e52ad37218685b42b1fc5da6286baee578da1a14291d185216bd2a909cca3e55d64ffe580e71be059d1043a248 WHIRLPOOL 6579abf5080c319030ed7200d21b7bdfd3d4cf8207b4f3e6132be485024959bc06536fadf9d8c6898911ffa19977f738ec6a65d268d64d8aea06f89e94278e5e
+EBUILD libspf2-1.2.10.ebuild 1224 SHA256 2922a3a774def183041433223ec556c569f40a1e2832e479e0e238a357501dca SHA512 51275f4b3ab6bbd3152dccfa3ad428d4bba383fdb77e4d7191fc966d43611b2234395c76d621c2b5ff6d64e5dcc59b22672e3036e7f69f5460084e02629d271c WHIRLPOOL 05d61830515f3fed3b2ea8c8ebbf5b30eb2530a23a8b948fc6b8a81200881920e4513aa4d10272bf33161d8deae9b4de7f04b5cef1e892c74014e9749e119d48
+EBUILD libspf2-1.2.9-r3.ebuild 1128 SHA256 a48e8388d7a023a730c7a15f964bb70577cbc2ef96ad82e579ac8fabd53f1dbc SHA512 189b3b3f176a06bbb2a6289eb971a0dacc9bcc4e4ceb5c88f4ec88565d3d4fce2a20c48d5438b01480f7f3691a000e7e28c5a76d512acb41692335ab5796bf3f WHIRLPOOL 6ded2b769e5a5fd7750e341289e929d762ddb099c49b2dbab9d083cbbc52c35da6dff903e222051f8993759e821302e3254473bf2c8b12374e94d7c9f5881ad8
+MISC ChangeLog 2868 SHA256 5e6f3313dcfb92393d50959756f99be326fd01f799898b9d214cec495f328d82 SHA512 55e76a04dc68196599dd2491469af3349d70a982aa91cf5c2f65aab247a74316dcc43b95b2fc101087e7331924e15186cd89559dddf9f96234dc77cf413b4e58 WHIRLPOOL bdeddce2dcf16c7b229aed3f9a5c3707cc09a50aa57a4faf43ab87abb73ca0f2ae4eeb4f81e30a02ece9476bd3d4d925816b52d504179ad8844632a0b70992b6
+MISC ChangeLog-2015 8256 SHA256 ddcab223a4a056196bbd0e9aad53edcf08d83483f2f3d4a7a0380b6a20dfee3c SHA512 626a20bed0de78fa413a5fa5fe9d289e7431b8f326060073501558ac456c1a9f6cf91785b6917b733a6046b78131f12a6c2e77dbf8ed90a2824a6634f6e0036d WHIRLPOOL d8997d8b9f56f26c4ca6ea9931dd97eac42270326ea9c79dcd4f358a3a92d0800a4b3d81c55166f843d0403fd659e24629427a91726c2ba111630e3c1b3ee2ca
+MISC metadata.xml 662 SHA256 2b86ae94fcec53501c78b4a05d2228519c67f71fbf70bc932c63bec95d7470bc SHA512 255a23e45243c57a00be6d18c487a0574c92b16110d31352f83529bbb7fa5386354a4e5b7f5a3575596fa7cb701ddfb4408077393576e60537b6b70c9bda89a3 WHIRLPOOL 92d8087cee04de48152fb94754d677a14f13cd40a3977de90f16fb4dbbf63735a98b3e796daa739f81fc8a9aeed180555f11e0cff4499fd17d6284976ef44b4e
diff --git a/mail-filter/libspf2/files/libspf2-1.2.10-gcc5.patch b/mail-filter/libspf2/files/libspf2-1.2.10-gcc5.patch
new file mode 100644
index 000000000000..d36ec96efd77
--- /dev/null
+++ b/mail-filter/libspf2/files/libspf2-1.2.10-gcc5.patch
@@ -0,0 +1,22 @@
+https://github.com/shevek/libspf2/issues/13
+https://bugs.gentoo.org/show_bug.cgi?id=570486
+
+Index: libspf2-1.2.10/src/include/spf_log.h
+===================================================================
+--- libspf2-1.2.10/src/include/spf_log.h
++++ libspf2-1.2.10/src/include/spf_log.h 2015-10-20 23:23:04.579055906 +0200
+@@ -60,10 +60,10 @@
+
+ #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+-#define SPF_errorf(format, ... ) SPF_errorx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_warningf(format, ... ) SPF_warningx( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_infof(format, ... ) SPF_infox( __FILE__, __LINE__, format, __VA_ARGS__ )
+-#define SPF_debugf(format, ... ) SPF_debugx( __FILE__, __LINE__, format, __VA_ARGS__ )
++#define SPF_errorf(...) SPF_errorx( __FILE__, __LINE__, __VA_ARGS__ )
++#define SPF_warningf(...) SPF_warningx( __FILE__, __LINE__, __VA_ARGS__ )
++#define SPF_infof(...) SPF_infox( __FILE__, __LINE__, __VA_ARGS__ )
++#define SPF_debugf(...) SPF_debugx( __FILE__, __LINE__, __VA_ARGS__ )
+
+ #elif defined( __GNUC__ )
+
diff --git a/mail-filter/libspf2/files/libspf2-1.2.9-ipv6.patch b/mail-filter/libspf2/files/libspf2-1.2.9-ipv6.patch
new file mode 100644
index 000000000000..76e8cd37c27d
--- /dev/null
+++ b/mail-filter/libspf2/files/libspf2-1.2.9-ipv6.patch
@@ -0,0 +1,61 @@
+$NetBSD: patch-aa,v 1.1 2009/09/08 10:36:27 tron Exp $
+
+Fix an abort() caused by miscalculating the size of an internal buffer.
+This can crash applications using "libspf2" (e.g. "milter-greylist")
+in an e-mail gets delivered via SMTP over IPv6 depending on the
+remote machine's IPv6 address.
+
+--- src/libspf2/spf_expand.c.orig 2008-11-03 21:29:00.000000000 +0000
++++ src/libspf2/spf_expand.c 2009-09-08 11:27:52.000000000 +0100
+@@ -245,7 +245,7 @@
+ case PARM_CLIENT_IP: /* SMTP client IP */
+ #ifdef COMPUTE
+ if (compute_length) {
+- len = sizeof(ip6_buf);
++ len = sizeof(ip6_rbuf);
+ if (d->dv.url_encode)
+ len *= 3;
+ buflen += len;
+
+http://www.gossamer-threads.com/lists/spf/devel/35098
+
+--- src/libspf2/spf_compile.c 2008-11-03 15:37:33.000000000 -0500
++++ src/libspf2/spf_compile.c 2009-09-07 23:46:02.000000000 -0400
+@@ -778,7 +778,7 @@
+ const char *end;
+ const char *p;
+
+- char buf[ INET_ADDRSTRLEN ];
++ char buf[ INET6_ADDRSTRLEN ];
+ size_t len;
+ int err;
+
+--- src/libspf2/spf_interpret.c 2008-10-22 11:47:43.000000000 -0400
++++ src/libspf2/spf_interpret.c 2009-09-08 00:42:25.000000000 -0400
+@@ -505,7 +505,7 @@
+ char dst_ip6_buf[ INET6_ADDRSTRLEN ];
+
+ struct in6_addr src_ipv6;
+- int cidr, mask;
++ int cidr, cidr_save, mask;
+ int i;
+ int match;
+
+@@ -517,6 +517,7 @@
+ cidr = SPF_i_mech_cidr(spf_request, mech);
+ if ( cidr == 0 )
+ cidr = 128;
++ cidr_save = cidr;
+
+ match = TRUE;
+ for( i = 0; i < array_elem( ipv6.s6_addr ) && match; i++ )
+@@ -538,7 +539,7 @@
+ INET_NTOP(AF_INET6, &ipv6.s6_addr,
+ dst_ip6_buf, sizeof(dst_ip6_buf));
+ SPF_debugf( "ip_match: %s == %s (/%d): %d",
+- src_ip6_buf, dst_ip6_buf, cidr, match );
++ src_ip6_buf, dst_ip6_buf, cidr_save, match );
+ }
+
+ return match;
+
diff --git a/mail-filter/libspf2/libspf2-1.2.10.ebuild b/mail-filter/libspf2/libspf2-1.2.10.ebuild
new file mode 100644
index 000000000000..b5eb7acc548b
--- /dev/null
+++ b/mail-filter/libspf2/libspf2-1.2.10.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="libspf2 implements the Sender Policy Framework, a part of the SPF/SRS protocol pair"
+HOMEPAGE="http://www.libspf2.org"
+SRC_URI="http://www.libspf2.org/spf/libspf2-${PV}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 BSD-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="static static-libs"
+
+DEPEND=""
+RDEPEND="!dev-perl/Mail-SPF-Query"
+REQUIRED_USE="static? ( static-libs )"
+
+src_prepare() {
+ if ! use static; then
+ sed -i -e '/bin_PROGRAMS/s/spfquery_static//' src/spfquery/Makefile.am \
+ -e '/bin_PROGRAMS/s/spftest_static//' src/spftest/Makefile.am \
+ -e '/bin_PROGRAMS/s/spfd_static//' src/spfd/Makefile.am \
+ -e '/bin_PROGRAMS/s/spf_example_static//' src/spf_example/Makefile.am \
+ || die
+ #eautoreconf
+ fi
+ epatch "${FILESDIR}"/${P}-gcc5.patch #570486
+
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README TODO INSTALL
+
+ use static-libs || rm -f "${D}"/usr/lib*/libspf2.la
+}
diff --git a/mail-filter/libspf2/libspf2-1.2.9-r3.ebuild b/mail-filter/libspf2/libspf2-1.2.9-r3.ebuild
new file mode 100644
index 000000000000..4de36d3af89b
--- /dev/null
+++ b/mail-filter/libspf2/libspf2-1.2.9-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils autotools
+
+DESCRIPTION="libspf2 implements the Sender Policy Framework, a part of the SPF/SRS protocol pair"
+HOMEPAGE="http://www.libspf2.org"
+SRC_URI="http://www.libspf2.org/spf/libspf2-${PV}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 BSD-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="static static-libs"
+
+DEPEND=""
+RDEPEND="!dev-perl/Mail-SPF-Query"
+REQUIRED_USE="static? ( static-libs )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-ipv6.patch"
+ if ! use static; then
+ sed -i -e '/bin_PROGRAMS/s/spfquery_static//' src/spfquery/Makefile.am \
+ -e '/bin_PROGRAMS/s/spftest_static//' src/spftest/Makefile.am \
+ -e '/bin_PROGRAMS/s/spfd_static//' src/spfd/Makefile.am \
+ -e '/bin_PROGRAMS/s/spf_example_static//' src/spf_example/Makefile.am \
+ || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README TODO INSTALL
+
+ use static-libs || rm -f "${D}"/usr/lib*/libspf2.la
+}
diff --git a/mail-filter/libspf2/metadata.xml b/mail-filter/libspf2/metadata.xml
new file mode 100644
index 000000000000..47e3c49e4bb4
--- /dev/null
+++ b/mail-filter/libspf2/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>libspf2 implements the Sender Policy Framework, a part of the SPF/SRS protocol pair. libspf2 is a library which allows email systems such as Sendmail, Postfix, Exim, Zmailer and MS Exchange to check SPF records and make sure that the email is authorized by the domain name that it is coming from. This prevents email forgery, commonly used by spammers, scammers and email viruses/worms.</longdescription>
+</pkgmetadata>
diff --git a/mail-filter/libsrs2/Manifest b/mail-filter/libsrs2/Manifest
new file mode 100644
index 000000000000..990e63b8ea32
--- /dev/null
+++ b/mail-filter/libsrs2/Manifest
@@ -0,0 +1,6 @@
+AUX libsrs2-1.0.18-parallel-make.diff 477 SHA256 fc2dafc9edb7c6ff3d018c594f3d60b3696f7dfe7574895e8f6a0724f2d7e418 SHA512 a30b4ebe22f2f890597c8b1d6ffa5e0d81cc9b5bfb583899cf5996278d0b17a58850870db29d26c032dc10eeb0bf4e660071fc483c84fc70d317687339fbb482 WHIRLPOOL ef6359d3939ca88edfd4da0ad29457fda1cdaf27e6b1398719e614cb9ef3c8744997b407b286ca7630fd739898a5dddf69c86761a807525de5958f01cb384fe2
+DIST libsrs2-1.0.18.tar.gz 295748 SHA256 9d1191b705d7587a5886736899001d04168392bbb6ed6345a057ade50943a492 SHA512 b9c189caa227487e90566f65430345f09a3d545fc286a3eb0c445aee3a74905c1a9248ce78b36a7cfb6a2936f6cd1efbe99ba7b8df49a613a81c6435396f5422 WHIRLPOOL 8f6854365f21940a35f23c5c252183eadd248bec22ef16cb003a55fca333efa89fbaac28353dc3ec52b3abdbb65f6bd43890f6e8d60f86b7eadc9452cabdbc3c
+EBUILD libsrs2-1.0.18.ebuild 646 SHA256 ed81a46d596a085d2feca8e5be3c366c99c4547d2664377b9f91fdd43d3acaa8 SHA512 17293195555996e17d7ce7a74db0252ca29098b68f7663f4b6c5c01f35100cd0485207186c49c2a7ff71e13297dee6c7fb1d377a987e34e85f8f2033e8e79ded WHIRLPOOL dd9c1f5332a4d8a11f8eb4bbc0a0a8a84101c3b2c8ef6864c867f96c83c1ac22b6c979ce506f6ff6cea0493ba63dbb2aa2e104e45ddff10ebb407acc9c76d101
+MISC ChangeLog 2476 SHA256 134b9370da7a922d1a7455a226499dbfc47fd5f75808c7ba11071157e987946e SHA512 a708e95a54275049379f82b8eb78bfd3996534f23fe9e3a818625f61297cef6396364d0e060d62db7f7d7408ce316c61d089356f23690eb22d1b230de87d24b0 WHIRLPOOL d2b8f571eff074475588e71887f6b751c65c95c56b3dd5fe5d2c7dc708e23594b80f66d8fa7123da008615084068ac48d0a676f0c657197bd7328760e2211108
+MISC ChangeLog-2015 2062 SHA256 923e51a8b602816e7b14a446b3c4471b55dcb0716b9a2255ead727a07742dece SHA512 6f7e6a2b15bac6b61841fa81841a39be15365cdb6e27b924735d0a5b6dea1b93ae644f65f6a8a75c1f29abe17d2a547b68d98d809c1f742f1d0fa3b69157d588 WHIRLPOOL 6df0ab695c5a26dd825b3e80e7cd3a262469a9b2bd7d04c287db87dd9211c2d97881dc675b3a443604d6f4bd50533785ee8e38d9728f228b4ef708dc0efd48a9
+MISC metadata.xml 764 SHA256 2e4ec98b601c9cbe3c950fc7ff175203b8333e58fc8e57678c4ed52b9c8b55c6 SHA512 61ece6840de26651b09d02df7a4dd0f5bedd17eedadf434b80742ed46d40f34a6fbec1a13b8237734361702a44dfc229f684beb85a8dca41868834a1897299b2 WHIRLPOOL 618cb1db39fe24f5cf875385ac5c576840720b2eaf863fa45dac0c816b64ad4300f7a27d29c7ded6060752ffa211601f99d430a560f3caeb4893cfdcaa04f65e
diff --git a/mail-filter/libsrs2/files/libsrs2-1.0.18-parallel-make.diff b/mail-filter/libsrs2/files/libsrs2-1.0.18-parallel-make.diff
new file mode 100644
index 000000000000..a5ce4d5a0028
--- /dev/null
+++ b/mail-filter/libsrs2/files/libsrs2-1.0.18-parallel-make.diff
@@ -0,0 +1,13 @@
+diff -Naur libsrs2-1.0.18/libsrs2/Makefile.am libsrs2-1.0.18-1/libsrs2/Makefile.am
+--- libsrs2-1.0.18/libsrs2/Makefile.am 2004-06-10 11:33:28.000000000 +0200
++++ libsrs2-1.0.18-1/libsrs2/Makefile.am 2009-09-29 16:08:29.000000000 +0200
+@@ -3,9 +3,6 @@
+ include_HEADERS = srs2.h
+ noinst_HEADERS = win32.h
+
+-lib_LIBRARIES = libsrs2.a
+-libsrs2_a_SOURCES = srs2.c sha1.c
+-
+ lib_LTLIBRARIES = libsrs2.la
+ libsrs2_la_LDFLAGS = -version-info 0:0:0
+ libsrs2_la_SOURCES = srs2.c sha1.c
diff --git a/mail-filter/libsrs2/libsrs2-1.0.18.ebuild b/mail-filter/libsrs2/libsrs2-1.0.18.ebuild
new file mode 100644
index 000000000000..6eca36dacfb6
--- /dev/null
+++ b/mail-filter/libsrs2/libsrs2-1.0.18.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils autotools
+
+DESCRIPTION="libsrs2 is the next generation Sender Rewriting Scheme library"
+HOMEPAGE="http://www.libsrs2.org/"
+SRC_URI="http://www.libsrs2.org/srs/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="static-libs"
+
+DEPEND="!dev-perl/Mail-SRS"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-parallel-make.diff"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use static-libs || find "${D}" -name '*.la' -delete
+}
diff --git a/mail-filter/libsrs2/metadata.xml b/mail-filter/libsrs2/metadata.xml
new file mode 100644
index 000000000000..82bf5cf0b53b
--- /dev/null
+++ b/mail-filter/libsrs2/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>
+ libsrs2 is the next generation SRS library from the original designer of
+ SRS. It implements the Sender Rewriting Scheme, a part of the SPF/SRS
+ protocol pair. Libsrs2 has been written from an entirely clean codebase with
+ compliance, speed and versatility in mind. It is platform independent and
+ has no external dependencies. It is thread-safe and heap-safe, and is
+ suitable for large scale applications and embedded systems and can operate
+ without many standard system facilities.
+</longdescription>
+</pkgmetadata>
diff --git a/mail-filter/libsrs_alt/Manifest b/mail-filter/libsrs_alt/Manifest
new file mode 100644
index 000000000000..661656e66405
--- /dev/null
+++ b/mail-filter/libsrs_alt/Manifest
@@ -0,0 +1,6 @@
+AUX libsrs_alt-1.0-ftime.patch 313 SHA256 e4785f69ca8117b9df633046b2d673c064fca7ec426ccfcd7ad29ec2d9df77d3 SHA512 2566c9b7e9187a243f5eb6b4b67d649bc081538350f647f1afa69812892a8ff8ef889068ccb73f019cf287e9e6ae3999bc62b2003d197963606a4c30ebecd214 WHIRLPOOL 3e28ba5578b519116565510f269e28d79e1162351914058ab1e0a7ce1302cf36ef9a057685e70127c98ff842757a6435ccf789d74d580bb11b54c5a0065f47f7
+DIST libsrs_alt-1.0.tar.gz 337225 SHA256 97ee41246f55cb59b24a5b5ccb16af83b036e54502b1f9360a7f912866fba41e SHA512 c202b2cbd28ce0b1296a8000b9f2ae19f4fff259a2d9ea43674cab11b947d0f85a0fdbb13e5fef2a52b1ae675a8fa35b492b233f97f5e365a9c076a337010629 WHIRLPOOL bb2754dc624af90e6c7ba9577b41e9b45e9a1bd930aa080f66228125279b077a3a9d78649a0c18287484b6ba7272bc1e37c74eca4dd6fe09ee3bb14dd6703cb1
+EBUILD libsrs_alt-1.0.ebuild 1038 SHA256 715bb9ea7442f8aafd96f076f8387bd5743f86d0504cb9881f3837198ce12c44 SHA512 9b716f52567029c2b5f7f7ac3ec3860dda873062d545d554315b29de025c31a1d31c5d0fdb95a341ff43020b163434f5675959b38ff782565e21a61b56d63c2e WHIRLPOOL fdf6cea745e2a690a9e2b9c1865d42988cea1b597b587b7c6590c8bddb19a7c92e02f9113fb8e3b99a68cbb9d1922dfa2190ab50c6c9809df7a413c2a6cbb266
+MISC ChangeLog 2628 SHA256 ccdc6360963e14c47a8651273fc4987504945d5cf3d62328fae6ba98068776ea SHA512 fa7585337f7c68a969e10397f74c154e53549d7a24421487f567f60e0483ae9e1ab0567e45a50b3e597e892662b95368de50f8dfb3a22885ae7832650ec8f3ac WHIRLPOOL 29885e0565e5b163b75d7a7a52c606822639f7c3a6aed97602abfd36838ce4e9c162fcf6864043db99eda1dd0440fbfed7477789ce02b9edb9075290b5caa6c2
+MISC ChangeLog-2015 3834 SHA256 82d57216902d9218806e8a33e025571e3eb5762dad860ca227f70b42b2b29666 SHA512 954331a72c9f436cb2644d8a19d2bcc356b748be53ab853ab58a73702080c7dc6964fdbe3811b115cc5353fdb0d54531ef37bf83c466f18b583916ad242f9e7b WHIRLPOOL b7c9c5098734452c0b331f2ac59dce6d839bca2ebd8e2f249fa4b3c41c8e30ef3ad1f7a714bfb5ea40b33e06f19fb4d682d948ce2039723af7d2eb1ade096641
+MISC metadata.xml 518 SHA256 7215e9030ae896c9e995f5a3e99bf7caae9cacfdebf0ef04ba44a2e9f88810dd SHA512 db7db9ec2212bb9dbb1ee78dafff7ff249dfd5d90a40fcd690476a96c457fe72cce9f48f56bffc59e8b0e15ba0dcc15dfec138e09af3f59bf59fc8717fedce60 WHIRLPOOL 7c10589b2abad8a9c0d5cc42964e748c47903a175a302263e3b4b36b9690ff570aeeeaea820a8143c3fb900d000dcea47772696a61bdd2a9537d8fd34f77a661
diff --git a/mail-filter/libsrs_alt/files/libsrs_alt-1.0-ftime.patch b/mail-filter/libsrs_alt/files/libsrs_alt-1.0-ftime.patch
new file mode 100644
index 000000000000..290c90d6c5d9
--- /dev/null
+++ b/mail-filter/libsrs_alt/files/libsrs_alt-1.0-ftime.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index 5a43896..d0e106c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,6 +31,7 @@ AC_FUNC_FORK
+ AC_TYPE_SIGNAL
+ AC_FUNC_STRNLEN
+ AC_CHECK_LIB(socket, bind)
++AC_CHECK_LIB(compat, ftime)
+ AC_CHECK_FUNCS([ftime memset socket strchr strdup strncasecmp])
+ AC_TYPE_SIZE_T
+
diff --git a/mail-filter/libsrs_alt/libsrs_alt-1.0.ebuild b/mail-filter/libsrs_alt/libsrs_alt-1.0.ebuild
new file mode 100644
index 000000000000..eb6cc73b47ab
--- /dev/null
+++ b/mail-filter/libsrs_alt/libsrs_alt-1.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils autotools
+
+MY_PV=${PV}
+MY_RC=${PV}
+S=${WORKDIR}/${PN}-${MY_PV}
+
+DESCRIPTION="Sender Rewriting Scheme library"
+HOMEPAGE="http://srs.mirtol.com/"
+SRC_URI="http://srs.mirtol.com/libsrs_alt-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="!dev-perl/Mail-SRS"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-ftime.patch
+ eautoreconf
+}
+
+src_compile() {
+ # add missing header
+ sed -i -e '/timeb.h>/ a #include <stdlib.h>' test.c
+
+ # Since the primary intended consumers of this library are MTAs,
+ # use non-standard separator characters (--with-base64compat).
+ # This breaks "SRS Compliancy", which is a rough standard at
+ # best.
+ econf --with-base64compat || die "econf failed"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ make install DESTDIR="${D}" || die "make install failed"
+ dodoc "${S}"/MTAs/README.EXIM
+}
diff --git a/mail-filter/libsrs_alt/metadata.xml b/mail-filter/libsrs_alt/metadata.xml
new file mode 100644
index 000000000000..731353df5ef2
--- /dev/null
+++ b/mail-filter/libsrs_alt/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>
+This is a complete standalone C implementation of the SRS (Sender Rewriting
+Scheme) and includes a command line utility and daemon, test utility and static
+and dynamic libraries. SRS is a stop-gap for users of SPF (Sender Policy
+Framework).
+</longdescription>
+</pkgmetadata>
diff --git a/mail-filter/maildrop/Manifest b/mail-filter/maildrop/Manifest
new file mode 100644
index 000000000000..9a6d8c16a0c1
--- /dev/null
+++ b/mail-filter/maildrop/Manifest
@@ -0,0 +1,12 @@
+AUX maildrop-disable-fam.patch 2291 SHA256 be2779e0ec51912ede52e698c48b734768ca417676e3554b81070678f4a4e60a SHA512 547f78a9e5dce501ac61584912a2e74b43e36b2189bab27d1811af7718def5e07d3683fb2ef0937ae026bd53cffc68b735319322c089bcfff0a17a6edebed1fb WHIRLPOOL 4fd03cb7b1ea1538e31fb2e392ac6eda5dc1257edd74e19844e9197bbfc0415501b3a63f0d7fb37afd487e11ec9b3b8601a7aa00403718e4fbaf17be8c48f291
+AUX maildrop-testsuite-r3.patch 2591 SHA256 5fae937110ddeaf8b87ac76975f937fb2014be1ce30820d40ac9ce7f44d0b086 SHA512 92626418bb1f51bed7bf549e411035db4134f7cf328cfc2922078d909b6e8b8471a8e9f07e9990b5e4baed1423124d2641d80bfbb841aa966f5259ecd8c58e1e WHIRLPOOL 5bfb1640e089e2193d3add9fc8f79f274c4be97e3afa6905c28127bf0b5e3f2f019b6904879e80c87ab9ad2119573927aa3fee3f48b61d9ed1db37a421f7ede3
+AUX maildroprc 58 SHA256 2feec7b63d9b3fae442ddab96810929ce4080871c31a1f23401cd3b61d00add1 SHA512 3077160382882db22d095dff4b27368e7482b63a9756a3cf7a61e8470ed933af0fdb04a61ebae155b14a7b1fafc598a4cdd1bb660d957f00190b95eb41e81f4e WHIRLPOOL f46440c576985e308b973a1a34cb470ff96c92cadc9b9b56535542e3ad7c21d4f78bdb227bb81a35ffe4f11745a9e51f47ead92880a9bd052ad896d6cc50a709
+DIST maildrop-2.8.3.tar.bz2 1992695 SHA256 58245ccd759382761c4cdbeaefbd37622e01f1c48e71251b06ea085a890ce6c9 SHA512 25168945764eda5c74641e205e3c784ca2ae27c15a5a6ddfe7a1c7b238cd6c3d5b0a3f7ce8b405b578d067f6f2aae5d7d6110da8bc89f91ac1c7fdc224ffd054 WHIRLPOOL 9d8ea100ad125e814663c76539b41f208448b3259193008fade1291de7ec98efe8cf5b9f8b7f267acc9be78ccba1b28a8165d99d59d7d6ada4b99aa10cd163ea
+DIST maildrop-2.8.5.tar.bz2 2072987 SHA256 c21174ef882aeb169031bb5886b55959687074415153232f4c60695405fcddb1 SHA512 c04120af29ee8e72aeabd211301c5052fe4a2dc0f337074e1fa57b8adb9652512cd744e0bba3894a8b0e3b21a3511bbf4a4f045faec3536edb8be0f8bdc84cf5 WHIRLPOOL 03ba0c152fd8738f8d34a48062cc0a27c3580d2dd8bcfafb4fbde7c87ae420d6a82ad59cc644606129b4e8c983785846684d92e93ef0ae9b43832d39f12ea140
+DIST maildrop-2.9.0.tar.bz2 2075698 SHA256 6f1b2db822a34d8256d9cc2a011e5a2c6b7e6dd01ed66881cd6fce6f4eb5981c SHA512 366a04d1e6e10ef1c824fbb5dfe406ff74fe17b80a46619fd8aa8cde3b4fef9a10b4ed3cc6329ed04632582d58104aaf16134c6dc82e17917b82fb6f18316dd6 WHIRLPOOL 688802e8c9e2652e5350d117b1ebdfd6334de217e37387a9199a48da018f05deb18d84003ac36618aaa16fe03df504461d5adeeef0534f0b0c8708cf83fa5c19
+EBUILD maildrop-2.8.3.ebuild 3851 SHA256 8e5ff38b49532590640e285085b46196eb997cc16d235ce387aeed4d436ed800 SHA512 e89fb0063abee8a8f75bfcde7352aecca838511266a1c56427e1f9526270831f75fb0e3512d206243d7aab516f3cc50ec95a826e64131d733028bbd2543a0529 WHIRLPOOL d36886549594debc3a882ee5e7b40e38766c3ddd38fe6e7aed5a0d4e5ef2518adb0fc169a8ea1aa1d4d19f6e3decc97c8548120702e25e4f01b72739c380a3b7
+EBUILD maildrop-2.8.5.ebuild 3853 SHA256 f84172053dbf43b96c78a207def799f018d8dcd888918e6fbecbccbf46617209 SHA512 fbd3aa6e7a07ae7ecb718eb32ccb15d5db1efb6b77405c1a34e2f487546dca2e487f58b7591cb637e74d03a1fc7d5ede0181f17bc8cb9b27374894df1d413cc5 WHIRLPOOL ba88004b1c529b5c19672a4ce9a610fd49f0a1f65a209d7d16e6abf6710062b8f0be0fb12748e9b7ff2aefbb770eafea44143114e144099df811bbec56b5cb2b
+EBUILD maildrop-2.9.0.ebuild 3713 SHA256 10f437727bd6ef89905969f2ce67b0aeb7c5ac2817ded15cd20c2d2a487d9aa7 SHA512 9ff32d6f39bbeeaea6a0cee7a660c1db66b257fc4012501f7f77e72600a8aa48b4e38130970373452331f2df51f6f6daf40d990b6ff7212bd6da86fdff7bf01c WHIRLPOOL 3dcb479dee59af5319cee861d1fddd4a4af0298e290b15437e0612532145767b58bb6bb02f1615c6b05154fb0967f79c6ee09e8416cb19c974960c34d8b5f23d
+MISC ChangeLog 4011 SHA256 62c012136af156a24d3b3bb0dcd9a95288860eea906a9790b4546d3ef9ab7f9b SHA512 381ff9fb3e83ee9286dff1c6ad17305b0571dad8eacded69666e6f1b5afb88c62d77797690cff259c44a27bdac3a3db8ce6427e690571d99d8b9245db6c6d8c1 WHIRLPOOL 21a0a7cecccd2610e56829e91652a3c035f34ce4e3845544525d6134cf229b7b4b678cde61307cce0dc29be604afb5dd1a187ab03ae0429998b831c83209dcb6
+MISC ChangeLog-2015 25382 SHA256 19fe465dc90d47bdbd5b62be3ee8234ef8539c98a84a37aea68e9433fdd86ba4 SHA512 4920f148a15f6366f0729a74ddd94e7d545605e5a3db3ff0304466eac5bacd71875968f074b71d93c028ab5efd16babd28c105dd748686d06d02698431b472d0 WHIRLPOOL ce84418c7ab7ed244fe4891abab5204ab2405c0bc71ac649bd250f1c7a1a231436aa18f843e06c7e90dc07689ec3ebf6e88638396cf418405f8f427ce728c988
+MISC metadata.xml 635 SHA256 e97a975ca8594a4a5350636d4083c7ad0b86a988f63b672a2ea281a756f94321 SHA512 305d4c8e32b7ab6b64d55b381f57d3844124db49d8e20d35f307ccf3707c965322dcc6344afbeded9cb5b963b802cd0e54e9358067fb36e80b5ff6f3acafe64d WHIRLPOOL d88c8fb3804f4d2a472e635dd752e0805dfa4a25c9faa862ffd0c1732084659723845041bae122cd1ef0072ffc56118309acadf836c0715b426fe5ee87314338
diff --git a/mail-filter/maildrop/files/maildrop-disable-fam.patch b/mail-filter/maildrop/files/maildrop-disable-fam.patch
new file mode 100644
index 000000000000..fb8a5ddd3672
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-disable-fam.patch
@@ -0,0 +1,54 @@
+--- configure.ac 2005-05-12 16:45:57.000000000 +0200
++++ configure.ac 2005-09-10 20:05:28.000000000 +0200
+@@ -145,6 +145,7 @@
+ --enable-tempdir=.tmp directory for temp files (in user's home dir)
+ --disable-tempdir disable temp files in home directory (use
+ the tmpfile function)
++ --disable-fam disable libfam.a for maildir operations
+ --enable-smallmsg=8192 size of buffer for small messages
+ --enable-global-timeout=300 global watchdog timer (seconds)
+ --enable-crlf-term=0 enable <CR><LF> line termination
+--- libs/maildir/configure.ac 2005-03-21 13:11:24.000000000 +0100
++++ libs/maildir/configure.ac 2005-09-10 20:10:55.000000000 +0200
+@@ -58,26 +58,30 @@
+ AC_STRUCT_TM
+
+ dnl Checks for library functions.
+-AC_CHECK_HEADER(fam.h, :, :)
+-AC_CHECK_FUNCS(symlink readlink strcasecmp utime utimes)
+-AC_CHECK_LIB(fam, FAMOpen, [
++AC_ARG_ENABLE(fam, [ --disable-fam Do not use libfam.a library.])
++if test x$enableval = xyes
++then
++ AC_CHECK_HEADER(fam.h, :, :)
++ AC_CHECK_FUNCS(symlink readlink strcasecmp utime utimes)
++ AC_CHECK_LIB(fam, FAMOpen, [
+ LIBFAM=-lfam
+ AC_DEFINE_UNQUOTED(HAVE_FAM,1,
+ [ Whether libfam.a is available ])
+
+ AC_CHECK_HEADER(fam.h, : , [
+-AC_MSG_WARN([[The development header files and libraries for fam,]])
+-AC_MSG_WARN([[the File Alteration Monitor, are not installed.]])
+-AC_MSG_WARN([[You appear to have the FAM runtime libraries installed,]])
+-AC_MSG_WARN([[so you need to simply install the additional development]])
+-AC_MSG_WARN([[package for your operating system.]])
+-AC_MSG_ERROR([[FAM development libraries not found.]]) ]
++ AC_MSG_WARN([[The development header files and libraries for fam,]])
++ AC_MSG_WARN([[the File Alteration Monitor, are not installed.]])
++ AC_MSG_WARN([[You appear to have the FAM runtime libraries installed,]])
++ AC_MSG_WARN([[so you need to simply install the additional development]])
++ AC_MSG_WARN([[package for your operating system.]])
++ AC_MSG_ERROR([[FAM development libraries not found.]]) ]
+ )
+ ])
+
+-AC_SUBST(LIBFAM)
++ AC_SUBST(LIBFAM)
+
+-echo "$LIBFAM" >maildir.libdeps
++ echo "$LIBFAM" >maildir.libdeps
++fi
+
+ AC_CACHE_CHECK([for missing gethostname prototype],maildir_cv_SYS_GETHOSTNAME,
+
diff --git a/mail-filter/maildrop/files/maildrop-testsuite-r3.patch b/mail-filter/maildrop/files/maildrop-testsuite-r3.patch
new file mode 100644
index 000000000000..fd6d729370a0
--- /dev/null
+++ b/mail-filter/maildrop/files/maildrop-testsuite-r3.patch
@@ -0,0 +1,65 @@
+diff -uNr maildrop-2.8.3.ORIG/libs/maildrop/configure.ac maildrop-2.8.3/libs/maildrop/configure.ac
+--- maildrop-2.8.3.ORIG/libs/maildrop/configure.ac 2017-07-25 22:49:44.044032091 +0100
++++ maildrop-2.8.3/libs/maildrop/configure.ac 2017-07-25 22:50:48.205113368 +0100
+@@ -195,6 +195,15 @@
+ AC_DEFINE_UNQUOTED(MAXLONGSIZE, $MAXLONGSIZE,
+ [ Maximum character size of a long ])
+
++dnl check for en_US locale
++check_en_US() {
++locale -a | grep en_US.utf8 > /dev/null
++return $?
++}
++AC_MSG_CHECKING([for en_US.utf8])
++AM_CONDITIONAL([HAS_EN_US], [check_en_US])
++AM_COND_IF([HAS_EN_US],[AC_MSG_RESULT([yes])],[AC_MSG_RESULT([not found])])
++
+ dnl Checks for library functions.
+
+ AC_FUNC_CLOSEDIR_VOID
+diff -uNr maildrop-2.8.3.ORIG/libs/maildrop/Makefile.am maildrop-2.8.3/libs/maildrop/Makefile.am
+--- maildrop-2.8.3.ORIG/libs/maildrop/Makefile.am 2017-07-25 22:49:44.054032259 +0100
++++ maildrop-2.8.3/libs/maildrop/Makefile.am 2017-07-25 22:51:13.335536823 +0100
+@@ -75,9 +75,11 @@
+ maildrop.lsm testsuite.txt.idn testsuite.txt.noidn testsuite2
+
+ check-am:
++if HAS_EN_US
+ @chmod +x testsuite
+ ./testsuite | cmp -s - $(srcdir)/$(TESTSUITE)
+ @SHELL@ $(srcdir)/testsuite2
++endif
+
+ noinst_DATA=maildrop.html maildrop.1 maildropfilter.html maildropfilter.7 \
+ maildropgdbm.html maildropgdbm.7
+diff -uNr maildrop-2.8.3.ORIG/libs/rfc2045/configure.ac maildrop-2.8.3/libs/rfc2045/configure.ac
+--- maildrop-2.8.3.ORIG/libs/rfc2045/configure.ac 2017-07-25 22:49:44.054032259 +0100
++++ maildrop-2.8.3/libs/rfc2045/configure.ac 2017-07-25 22:50:48.205113368 +0100
+@@ -60,6 +60,15 @@
+ AC_CHECK_FUNC(strncasecmp,,CFLAGS="$CFLAGS -Dstrncasecmp=strnicmp")
+ AC_CHECK_FUNC(strcasecmp,,CFLAGS="$CFLAGS -Dstrcasecmp=stricmp")
+
++dnl check for en_US locale
++check_en_US() {
++locale -a | grep en_US.utf8 > /dev/null
++return $?
++}
++AC_MSG_CHECKING([for en_US.utf8])
++AM_CONDITIONAL([HAS_EN_US], [check_en_US])
++AM_COND_IF([HAS_EN_US],[AC_MSG_RESULT([yes])],[AC_MSG_RESULT([not found])])
++
+ AC_ARG_WITH(package, [], package="$withval",
+ [
+ package="$PACKAGE"
+diff -uNr maildrop-2.8.3.ORIG/libs/rfc2045/Makefile.am maildrop-2.8.3/libs/rfc2045/Makefile.am
+--- maildrop-2.8.3.ORIG/libs/rfc2045/Makefile.am 2017-07-25 22:49:44.054032259 +0100
++++ maildrop-2.8.3/libs/rfc2045/Makefile.am 2017-07-25 22:51:26.555759572 +0100
+@@ -76,6 +76,8 @@
+ endif
+
+ check-am:
++if HAS_EN_US
+ @SHELL@ $(srcdir)/testsuite | cmp -s - $(srcdir)/$(TESTSUITE)
+ @SHELL@ $(srcdir)/testsuitemm | cmp -s - $(srcdir)/testsuitemm.txt
+ @SHELL@ $(srcdir)/testrfc3676parsersuite | diff -U 3 $(srcdir)/testrfc3676parsersuite.txt -
++endif
diff --git a/mail-filter/maildrop/files/maildroprc b/mail-filter/maildrop/files/maildroprc
new file mode 100644
index 000000000000..0b72d5526687
--- /dev/null
+++ b/mail-filter/maildrop/files/maildroprc
@@ -0,0 +1,3 @@
+# Global maildrop filter file
+
+#DEFAULT="$HOME/.maildir/"
diff --git a/mail-filter/maildrop/maildrop-2.8.3.ebuild b/mail-filter/maildrop/maildrop-2.8.3.ebuild
new file mode 100644
index 000000000000..eddb63a2c957
--- /dev/null
+++ b/mail-filter/maildrop/maildrop-2.8.3.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic autotools
+
+DESCRIPTION="Mail delivery agent/filter"
+[[ -z ${PV/?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${PV/?.?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${SRC_URI} ]] && SRC_URI="http://www.courier-mta.org/beta/${PN}/${P%%_pre}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/maildrop/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
+IUSE="berkdb debug dovecot fam gdbm ldap mysql postgres static-libs authlib +tools trashquota"
+
+CDEPEND="!mail-mta/courier
+ net-mail/mailbase
+ dev-libs/libpcre
+ net-dns/libidn
+ net-libs/courier-unicode
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ mysql? ( net-libs/courier-authlib )
+ postgres? ( net-libs/courier-authlib )
+ ldap? ( net-libs/courier-authlib )
+ authlib? ( net-libs/courier-authlib )
+ fam? ( virtual/fam )
+ !gdbm? (
+ berkdb? ( >=sys-libs/db-3:* )
+ )
+ tools? (
+ !mail-mta/netqmail
+ !net-mail/courier-imap
+ !mail-mta/mini-qmail
+ )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dovecot? ( net-mail/dovecot )"
+REQUIRED_USE="mysql? ( authlib )
+ postgres? ( authlib )
+ ldap? ( authlib )"
+
+S=${WORKDIR}/${P%%_pre}
+
+src_prepare() {
+ # Prefer gdbm over berkdb
+ if use gdbm ; then
+ use berkdb && elog "Both gdbm and berkdb selected. Using gdbm."
+ fi
+
+ if ! use fam ; then
+ epatch "${FILESDIR}"/${PN}-disable-fam.patch
+ fi
+
+ # no need to error out if no default - it will be given to econf anyway
+ sed -i -e \
+ 's~AC_MSG_ERROR(Cannot determine default mailbox)~SPOOLDIR="./.maildir"~' \
+ "${S}"/libs/maildrop/configure.ac || die "sed failed"
+
+ epatch "${FILESDIR}"/${PN}-testsuite-r3.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ local mytrustedusers="apache dspam root mail fetchmail"
+ mytrustedusers+=" daemon postmaster qmaild mmdf vmail alias"
+
+ # These flags make maildrop cry
+ replace-flags -Os -O2
+ filter-flags -fomit-frame-pointer
+
+ if use gdbm ; then
+ myconf="${myconf} --with-db=gdbm"
+ elif use berkdb ; then
+ myconf="${myconf} --with-db=db"
+ else
+ myconf="${myconf} --without-db"
+ fi
+
+ if ! use mysql && ! use postgres && ! use ldap && ! use authlib ; then
+ myconf="${myconf} --disable-authlib"
+ fi
+
+ # Default mailbox is $HOME/.maildir for Gentoo
+ maildrop_cv_SYS_INSTALL_MBOXDIR="./.maildir" econf \
+ $(use_enable fam) \
+ --disable-dependency-tracker \
+ --with-devel \
+ --disable-tempdir \
+ --enable-syslog=1 \
+ --enable-use-flock=1 \
+ --enable-use-dotlock=1 \
+ --enable-restrict-trusted=1 \
+ --enable-trusted-users="${mytrustedusers}" \
+ --enable-maildrop-uid=root \
+ --enable-maildrop-gid=mail \
+ --enable-sendmail=/usr/sbin/sendmail \
+ --cache-file="${S}"/configuring.cache \
+ $(use_enable static-libs static) \
+ $(use_enable dovecot dovecotauth) \
+ $(use_with trashquota) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use authlib ; then
+ fperms 4755 /usr/bin/maildrop
+ fi
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README \
+ README.postfix README.dovecotauth UPGRADE \
+ maildroptips.txt
+ docinto maildir
+ dodoc libs/maildir/AUTHORS libs/maildir/INSTALL \
+ libs/maildir/README*.txt
+
+ # bugs #61116 #374009
+ if ! use tools ; then
+ for tool in "maildirmake" "deliverquota"; do
+ rm "${D}/usr/bin/${tool}"
+ rm "${D}/usr/share/man/man"[0-9]"/${tool}."[0-9]
+ rm "${D}/usr/share/maildrop/html/${tool}.html"
+ done
+ rm "${D}/usr/share/man/man5/maildir.5"
+ fi
+
+ dodir "/usr/share/doc/${PF}"
+ mv "${D}/usr/share/doc/maildrop/html" "${D}/usr/share/doc/${PF}/" || die
+ rm -rf "${D}"/usr/share/doc/maildrop
+
+ dohtml *.html libs/maildir/*.html
+
+ insinto /etc
+ doins "${FILESDIR}"/maildroprc
+
+ use static-libs || find "${D}"/usr/lib* -name '*.la' -delete
+}
diff --git a/mail-filter/maildrop/maildrop-2.8.5.ebuild b/mail-filter/maildrop/maildrop-2.8.5.ebuild
new file mode 100644
index 000000000000..965ee203aedb
--- /dev/null
+++ b/mail-filter/maildrop/maildrop-2.8.5.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit flag-o-matic autotools
+
+DESCRIPTION="Mail delivery agent/filter"
+[[ -z ${PV/?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${PV/?.?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${SRC_URI} ]] && SRC_URI="http://www.courier-mta.org/beta/${PN}/${P%%_pre}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/maildrop/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="berkdb debug dovecot fam gdbm ldap mysql postgres static-libs authlib +tools trashquota"
+
+CDEPEND="!mail-mta/courier
+ net-mail/mailbase
+ dev-libs/libpcre
+ net-dns/libidn
+ net-libs/courier-unicode
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ mysql? ( net-libs/courier-authlib )
+ postgres? ( net-libs/courier-authlib )
+ ldap? ( net-libs/courier-authlib )
+ authlib? ( net-libs/courier-authlib )
+ fam? ( virtual/fam )
+ !gdbm? (
+ berkdb? ( >=sys-libs/db-3:* )
+ )
+ tools? (
+ !mail-mta/netqmail
+ !net-mail/courier-imap
+ !mail-mta/mini-qmail
+ )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dovecot? ( net-mail/dovecot )"
+REQUIRED_USE="mysql? ( authlib )
+ postgres? ( authlib )
+ ldap? ( authlib )"
+
+S=${WORKDIR}/${P%%_pre}
+
+src_prepare() {
+ # Prefer gdbm over berkdb
+ if use gdbm ; then
+ use berkdb && elog "Both gdbm and berkdb selected. Using gdbm."
+ fi
+
+ if ! use fam ; then
+ epatch "${FILESDIR}"/${PN}-disable-fam.patch
+ fi
+
+ # no need to error out if no default - it will be given to econf anyway
+ sed -i -e \
+ 's~AC_MSG_ERROR(Cannot determine default mailbox)~SPOOLDIR="./.maildir"~' \
+ "${S}"/libs/maildrop/configure.ac || die "sed failed"
+
+ epatch "${FILESDIR}"/${PN}-testsuite-r3.patch
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ local mytrustedusers="apache dspam root mail fetchmail"
+ mytrustedusers+=" daemon postmaster qmaild mmdf vmail alias"
+
+ # These flags make maildrop cry
+ replace-flags -Os -O2
+ filter-flags -fomit-frame-pointer
+
+ if use gdbm ; then
+ myconf="${myconf} --with-db=gdbm"
+ elif use berkdb ; then
+ myconf="${myconf} --with-db=db"
+ else
+ myconf="${myconf} --without-db"
+ fi
+
+ if ! use mysql && ! use postgres && ! use ldap && ! use authlib ; then
+ myconf="${myconf} --disable-authlib"
+ fi
+
+ # Default mailbox is $HOME/.maildir for Gentoo
+ maildrop_cv_SYS_INSTALL_MBOXDIR="./.maildir" econf \
+ $(use_enable fam) \
+ --disable-dependency-tracker \
+ --with-devel \
+ --disable-tempdir \
+ --enable-syslog=1 \
+ --enable-use-flock=1 \
+ --enable-use-dotlock=1 \
+ --enable-restrict-trusted=1 \
+ --enable-trusted-users="${mytrustedusers}" \
+ --enable-maildrop-uid=root \
+ --enable-maildrop-gid=mail \
+ --enable-sendmail=/usr/sbin/sendmail \
+ --cache-file="${S}"/configuring.cache \
+ $(use_enable static-libs static) \
+ $(use_enable dovecot dovecotauth) \
+ $(use_with trashquota) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use authlib ; then
+ fperms 4755 /usr/bin/maildrop
+ fi
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README \
+ README.postfix README.dovecotauth UPGRADE \
+ maildroptips.txt
+ docinto maildir
+ dodoc libs/maildir/AUTHORS libs/maildir/INSTALL \
+ libs/maildir/README*.txt libs/maildir/*.html
+
+ # bugs #61116 #374009
+ if ! use tools ; then
+ for tool in "maildirmake" "deliverquota"; do
+ rm "${D}/usr/bin/${tool}"
+ rm "${D}/usr/share/man/man"[0-9]"/${tool}."[0-9]
+ rm "${D}/usr/share/maildrop/html/${tool}.html"
+ done
+ rm "${D}/usr/share/man/man5/maildir.5"
+ fi
+
+ #dodir "/usr/share/doc/${PF}"
+ #mv "${D}/usr/share/doc/maildrop/html" "${D}/usr/share/doc/${PF}/" || die
+ #rm -rf "${D}"/usr/share/doc/maildrop
+
+ insinto /etc
+ doins "${FILESDIR}"/maildroprc
+
+ use static-libs || find "${D}"/usr/lib* -name '*.la' -delete
+}
diff --git a/mail-filter/maildrop/maildrop-2.9.0.ebuild b/mail-filter/maildrop/maildrop-2.9.0.ebuild
new file mode 100644
index 000000000000..c3afde7b5982
--- /dev/null
+++ b/mail-filter/maildrop/maildrop-2.9.0.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit flag-o-matic autotools
+
+DESCRIPTION="Mail delivery agent/filter"
+[[ -z ${PV/?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${PV/?.?.?/} ]] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+[[ -z ${SRC_URI} ]] && SRC_URI="http://www.courier-mta.org/beta/${PN}/${P%%_pre}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/maildrop/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="berkdb debug dovecot fam gdbm ldap mysql postgres static-libs authlib +tools trashquota"
+
+CDEPEND="!mail-mta/courier
+ net-mail/mailbase
+ dev-libs/libpcre
+ net-dns/libidn
+ >=net-libs/courier-unicode-2.0
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ mysql? ( net-libs/courier-authlib )
+ postgres? ( net-libs/courier-authlib )
+ ldap? ( net-libs/courier-authlib )
+ authlib? ( net-libs/courier-authlib )
+ fam? ( virtual/fam )
+ !gdbm? (
+ berkdb? ( >=sys-libs/db-3:* )
+ )
+ tools? (
+ !mail-mta/netqmail
+ !net-mail/courier-imap
+ !mail-mta/mini-qmail
+ )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dovecot? ( net-mail/dovecot )"
+REQUIRED_USE="mysql? ( authlib )
+ postgres? ( authlib )
+ ldap? ( authlib )"
+
+S=${WORKDIR}/${P%%_pre}
+
+src_prepare() {
+ # Prefer gdbm over berkdb
+ if use gdbm ; then
+ use berkdb && elog "Both gdbm and berkdb selected. Using gdbm."
+ fi
+
+ if ! use fam ; then
+ epatch "${FILESDIR}"/${PN}-disable-fam.patch
+ fi
+
+ # no need to error out if no default - it will be given to econf anyway
+ sed -i -e \
+ 's~AC_MSG_ERROR(Cannot determine default mailbox)~SPOOLDIR="./.maildir"~' \
+ "${S}"/libs/maildrop/configure.ac || die "sed failed"
+
+ epatch "${FILESDIR}"/${PN}-testsuite-r3.patch
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ local mytrustedusers="apache dspam root mail fetchmail"
+ mytrustedusers+=" daemon postmaster qmaild mmdf vmail alias"
+
+ # These flags make maildrop cry
+ replace-flags -Os -O2
+ filter-flags -fomit-frame-pointer
+
+ if use gdbm ; then
+ myconf="${myconf} --with-db=gdbm"
+ elif use berkdb ; then
+ myconf="${myconf} --with-db=db"
+ else
+ myconf="${myconf} --without-db"
+ fi
+
+ if ! use mysql && ! use postgres && ! use ldap && ! use authlib ; then
+ myconf="${myconf} --disable-authlib"
+ fi
+
+ # Default mailbox is $HOME/.maildir for Gentoo
+ maildrop_cv_SYS_INSTALL_MBOXDIR="./.maildir" econf \
+ $(use_enable fam) \
+ --disable-dependency-tracker \
+ --with-devel \
+ --disable-tempdir \
+ --enable-syslog=1 \
+ --enable-use-flock=1 \
+ --enable-use-dotlock=1 \
+ --enable-restrict-trusted=1 \
+ --enable-trusted-users="${mytrustedusers}" \
+ --enable-maildrop-uid=root \
+ --enable-maildrop-gid=mail \
+ --enable-sendmail=/usr/sbin/sendmail \
+ --cache-file="${S}"/configuring.cache \
+ $(use_enable static-libs static) \
+ $(use_enable dovecot dovecotauth) \
+ $(use_with trashquota) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use authlib ; then
+ fperms 4755 /usr/bin/maildrop
+ fi
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README \
+ README.postfix README.dovecotauth UPGRADE \
+ maildroptips.txt
+ docinto maildir
+ dodoc libs/maildir/AUTHORS libs/maildir/INSTALL \
+ libs/maildir/README*.txt libs/maildir/*.html
+
+ # bugs #61116 #374009
+ if ! use tools ; then
+ for tool in "maildirmake" "deliverquota"; do
+ rm "${D}/usr/bin/${tool}"
+ rm "${D}/usr/share/man/man"[0-9]"/${tool}."[0-9]
+ rm "${D}/usr/share/maildrop/html/${tool}.html"
+ done
+ rm "${D}/usr/share/man/man5/maildir.5"
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/maildroprc
+
+ use static-libs || find "${D}"/usr/lib* -name '*.la' -delete
+}
diff --git a/mail-filter/maildrop/metadata.xml b/mail-filter/maildrop/metadata.xml
new file mode 100644
index 000000000000..287513313044
--- /dev/null
+++ b/mail-filter/maildrop/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <use>
+ <flag name="authlib">Add courier-authlib support</flag>
+ <flag name="dovecot">Add dovecot authentication support</flag>
+ <flag name="tools">Install maildirmake and deliverquota tools</flag>
+ <flag name="trashquota">Count deleted messages as part of the maildir quota</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">courier</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/mailfilter/Manifest b/mail-filter/mailfilter/Manifest
new file mode 100644
index 000000000000..5086f077daf3
--- /dev/null
+++ b/mail-filter/mailfilter/Manifest
@@ -0,0 +1,12 @@
+AUX 0.8.2-gcc44.patch 709 SHA256 621b454da740a71b6d01bb49cfa9580b0f397852810fa8176e10dd0874a58ce2 SHA512 fa205c8aed42a41adaf7f034f3ebb99e0e0fe10a6b1135cff8c8f8fcf678ababbf5fb7b65ee8f2865404d9b717420f1f23b13c2794f038813d91b3ef7b6c1da9 WHIRLPOOL b8edf6472964f9225f5b4e5f7413d30e34f0bbb2225f5c6540da2d02dff668b0918e21fc8e79c67bd908d1c53c194c640b06fedbd99947add6486718c49fbe48
+AUX 0.8.2-gcc46.patch 530 SHA256 0ff765a71d4e41f1ece3121c88ec70dc316d68ccd72b5cc3159d2d2741824b63 SHA512 f468f02aa73b6e7262dfbdf52aeb4fb9f14af8198d73b116a9d44d173373e3fc54aa567f0d8c9c38e3a13991a2e0e1fda286e853424cea2388c983773b5671cc WHIRLPOOL 80ac490e3068eb49a3e52f4f65894a5b42fe567304cf33676f753174fe3b924fc233e07172f3af67d3217fbc40ba5e662ecaf77478edf3957e04a537d2c3d9ff
+AUX 0.8.2-openssl-1.patch 297 SHA256 a38cefa4ad7879c23c65a6d5e72dd98fc7bc6210344d6ce255fc4f466cafd4be SHA512 bc3c76861044a50912d26458d026684b21476a94d5b851a587b998bc5cec0a0f89b63f02e2e4ee3fe830e50340ae5eedf8b6b3d719e2555d1f11813417e0fd44 WHIRLPOOL e9daa527dc2b72194cc460f825982fbdc0cf38ea733274b97fd0ba2ebf40a770ee01a85d7d05a7100bae0f0fca7d81cb550530381257d4a08780c06509e7efab
+AUX rcfile.example1 4010 SHA256 3585f28d51455a9d3d3778ee1f3dc64257fe1d92a0c5e0e63494683698e8b6b8 SHA512 875d926b525610c129dcbbba0cdaa177b4ea1a004eab853fc1f5f507e7e853923e7dfca58147b65cd403b561b85e3a9acf0da9101b344718f3ae732fae91038f WHIRLPOOL c04417be14354f04329cee40bafe8c2d646bfd0b5f0a5353a56b1f768bc4d5e45f2882965610729c7764bca1d9e940ae7369bc2e3dc4b9a3060cb2164d77d459
+AUX rcfile.example2 4554 SHA256 5179d51a310897cb1b39ac12e906afc38b09a622263b8efc18e5f49c60699141 SHA512 d58be80921e3372c9be79d1774a27106a113e710e4d1ee20a60f9ac2d6e8db86dd360df59801ba1c27c46069a341625069fcb36559f9d4c9847656f395f61f21 WHIRLPOOL 9cea3d7ecaf4063f0a24952a05149fdbb3873e51e2a87dfb4aa99e0619d7c61e78ee4dcd6d5dc9afe381d02c737f1c9099a2a1060563f7859a4acd3e1309015f
+DIST mailfilter-0.8.2.tar.gz 382966 SHA256 4822fdfc4c7db543539a96429086b4d01ac22629396896ee7e52e6edce43fdec SHA512 fc988fe8e36204e4041ce10d6a87f06c8fd48c311aee0d838c2eec08c0d26c13c082fb44a63e7d9c0610d8be52dbf69e340247241f3c76a209319391969ec387 WHIRLPOOL 678c3bd237fa79840f1296ec70b79110bed4fe843ab0894d2e55abdb910302c3096924e897cebaa49b6284ea3df1e9f6c70ef0ad2443a371873581d29648084f
+DIST mailfilter-0.8.4.tar.gz 424789 SHA256 a1dc32fe72337b030e066827b13b2327605398fdb972ff93f4b684548c2fb869 SHA512 d6cd3399240f60020bf17f460376bfa73132e0714adf1e9b34e2993367440eba28d3cb8ef20b997b1ecf02419f69b761f704598641222d32b3aefdb8a96930e7 WHIRLPOOL 9b77a2b2d2befb2f4c69f324463636f14babbac251119d9f6152be64da4d570078abb01f57ba8943dc3a8720017dabb1e1344b89488ae6b5a16cdac3e9a6d44a
+EBUILD mailfilter-0.8.2.ebuild 755 SHA256 dfe25c06b6e00679ee8dada731aa1e3c07edd93285e145df059e322a8b69879b SHA512 ad758e9c232779001819bf6939b78bb689f4c243aa2a9bbeedefa3dc9ef78bf58de3565489be2c704a97a2830bf478158cc10cec5dd786311c5e0b34fe6232e4 WHIRLPOOL b1e10459fa20d385c95f7f41f7b8967b2c38be735baf3eb5bd360079cd34f4a6e2c48dfe3323a150b42aeac9fafa6a765398d1706eda60a6ef62fb3ecc7a531d
+EBUILD mailfilter-0.8.4.ebuild 573 SHA256 d16917c964e17debef50e259b5ee469ac8af529b98beb05e5f841ea85a7b18b0 SHA512 397aecb6392b44a5bedced1e0ca7c756d5549d16ed7f3cde1aaec203827fd601cb6954dec4b789fa0a7507840ee06e5e348e3c167c7008fb146c0f8dc26c2cc8 WHIRLPOOL 9a51239484f98353701846bed0fce59358f32be51821601954cba71c8c40a3e5e8b95ebc1e873cc0644141ef058e2ce2116ad3fabf0084c4af1b2b5b0d898c77
+MISC ChangeLog 2739 SHA256 2495dd0ca0f7e9b69fa2a9f010cdb4d7aeab3944302ba468814f2f4150dd87db SHA512 72726f4a741cdeb1d522b946326a9db90838e3046b72f2b3857b779cc23ac9b7bc53bff0d63442a9d4ea2d5bd674b566133dd7857a7242378c7da21493d9ddba WHIRLPOOL 81979c840071a5e1593e1d59b45bbf1338e92f3f968e0222b5c2379e74d1f446609f0d317367aefecb0e87760f9fa7de5fde543bac43b6630fd40531660ff1da
+MISC ChangeLog-2015 4950 SHA256 fd46911e90aed38dd0a1d5ebe33fbff0abeaed1ce1eebcc132a5e8b856a70c31 SHA512 932a831d552e34dbc3cd20a8397a2f274d39b4ea50e579dab6c1bda4aad26fa30f980b1b26c0014bb5331e806d0b9c614568700e7ef3a4d78374c0ce944d1f73 WHIRLPOOL c4eac02ec7816d4818e2cefa4b87f7319b07d8cce1519fa21c4ecc473a690809eef6f86a014e000494f81c39de3f17a6ebbcf04507e8350812f838962d23b21a
+MISC metadata.xml 324 SHA256 23a8b775c4bcabe5223277275e80dba1f00cd5bf8b86de628f7e8be47671b391 SHA512 3a74aa24b93ab3fc97e9f721991170234e3b04646f1c44fc417083da656473af97bbe13d0fc8a80742a08aba0b798e1666141952cf4fe2d00e43de1a9788dbab WHIRLPOOL 5af34401a048d5986970b2052d0719460d6187f468befb05c4e9dbeacaed5f9c36eab815c2e416d700f713a97b1f8fe491f27a9ab2533d749443e4f66279c306
diff --git a/mail-filter/mailfilter/files/0.8.2-gcc44.patch b/mail-filter/mailfilter/files/0.8.2-gcc44.patch
new file mode 100644
index 000000000000..f1545d5b9118
--- /dev/null
+++ b/mail-filter/mailfilter/files/0.8.2-gcc44.patch
@@ -0,0 +1,26 @@
+diff -ur mailfilter-0.8.2_orig/src/header.cc mailfilter-0.8.2/src/header.cc
+--- mailfilter-0.8.2_orig/src/header.cc 2009-06-07 03:49:57.000000000 +0200
++++ mailfilter-0.8.2/src/header.cc 2009-08-15 13:05:05.968397778 +0200
+@@ -63,7 +63,6 @@
+ * domain-literal = "[" *(dtext / quoted-pair) "]"
+ */
+
+- char* dom;
+ unsigned int l, i;
+
+ if (!msgid || !*msgid)
+@@ -74,12 +73,12 @@
+ return -1;
+ if (msgid[0] != '<' || msgid[l-1] != '>')
+ return -1;
+- if (!(dom = strrchr (msgid, '@')))
++ if (!(strrchr (msgid, '@')))
+ return -1;
+
+ /* TODO: complete parser */
+ for (i = 0; i < l; i++)
+- if (msgid[i] > 127)
++ if ((unsigned char)msgid[i] > 127)
+ return -1;
+
+ return 0;
diff --git a/mail-filter/mailfilter/files/0.8.2-gcc46.patch b/mail-filter/mailfilter/files/0.8.2-gcc46.patch
new file mode 100644
index 000000000000..ef1ebe45ebac
--- /dev/null
+++ b/mail-filter/mailfilter/files/0.8.2-gcc46.patch
@@ -0,0 +1,20 @@
+Fix building with gcc-4.6
+
+https://bugs.gentoo.org/show_bug.cgi?id=366191
+
+Part of debian patch by Ricardo Mones <mones@debian.org>
+Fix invalid conversion and addded Ubuntu patch (thanks Ilya Barygin <barygin@gmail.com>)
+
+--- a/src/preferences.cc
++++ b/src/preferences.cc
+@@ -82,8 +82,8 @@
+
+ void Preferences :: init (void)
+ {
+- ((Size_score)(Preferences :: size_score)).score = 0;
+- ((Size_score)(Preferences :: size_score)).size = 0;
++ size_score.score = 0;
++ size_score.size = 0;
+ }
+
+ void Preferences :: kill (void)
diff --git a/mail-filter/mailfilter/files/0.8.2-openssl-1.patch b/mail-filter/mailfilter/files/0.8.2-openssl-1.patch
new file mode 100644
index 000000000000..ad58bbb561f8
--- /dev/null
+++ b/mail-filter/mailfilter/files/0.8.2-openssl-1.patch
@@ -0,0 +1,16 @@
+http://bugs.gentoo.org/330717
+
+--- src/socket.cc
++++ src/socket.cc
+@@ -64,7 +64,11 @@
+ #ifdef USE_SSL
+ SSL* ssl;
+ BIO* sbio;
++ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const SSL_METHOD* ssl_meth;
++ #else
+ SSL_METHOD* ssl_meth;
++ #endif
+ SSL_CTX* ssl_ctx;
+ #endif
+
diff --git a/mail-filter/mailfilter/files/rcfile.example1 b/mail-filter/mailfilter/files/rcfile.example1
new file mode 100644
index 000000000000..85d3a519cf02
--- /dev/null
+++ b/mail-filter/mailfilter/files/rcfile.example1
@@ -0,0 +1,127 @@
+# -----------------------------------------------------------
+# Example rcfile from the INSTALL document
+# -----------------------------------------------------------
+
+
+# -----------------------------------------------------------
+# Logile path (be sure you have write permission in this
+# directory; you MUST specify a logfile)
+
+LOGFILE = "$HOME/logs/mailfilter.log"
+
+
+# -----------------------------------------------------------
+# Level of verbosity
+#
+# 0 Silent, show nothing at all
+# 1 Only show errors
+# 2 Only show "Deleted..." messages and errors
+# 3 Default; Show "Deleted..." messages, errors
+# and "Examining..." messages
+# 4 Like (3), except this also shows the current
+# account's username
+# 5 Like (4), except this also shows which filter
+# matched which string of an e-mail header
+# 6 Debugging mode; prints almost everything
+
+VERBOSE = 3
+
+
+# -----------------------------------------------------------
+# Server list (Do not change the order of the fields!!)
+# Note: Port 110 is usually the port APOP and POP3 servers use,
+# port 995 is required if (say) POP3/SSL is specified.
+
+SERVER = "pop.server.com"
+USER = "username"
+PASS = "password"
+PROTOCOL = "pop3"
+PORT = 110
+
+SERVER = "pop.secondserver.com"
+USER = "anotherusername"
+PASS = "anotherusername"
+PROTOCOL = "pop3/ssl"
+PORT = 995
+
+
+# -----------------------------------------------------------
+# Do you want case sensitive e-mail filters? { yes | no }
+
+REG_CASE = "no"
+
+
+# -----------------------------------------------------------
+# Sets the type of Regular Expression used { extended | basic }
+#
+# (The default is 'basic', don't change unless you know what you
+# are doing. Extended REs are more complex to set up.)
+
+REG_TYPE = "basic"
+
+
+# -----------------------------------------------------------
+# Maximum e-mail size in bytes that should not be exceeded.
+
+MAXSIZE_DENY = 1000000
+
+
+# -----------------------------------------------------------
+# Set maximum line length of any field in the message header
+
+MAXLENGTH = 998
+
+
+# ----------------------------------------------------------
+# Filter rules for detecting spam (each rule must be placed
+# in a separate line)
+
+# These filters detect certain unpleasant e-mail subjects:
+DENY = "^Subject:.*Get penis enlargement"
+DENY = "^Subject:.*WIN MONEY"
+
+# This one filters mail from a certain person:
+DENY = "^From:.*spammer@any_spam_organisation\.com"
+
+# This one filters mail from everyone at a certain organisation:
+DENY = "^From:.*@any_provider_that_spams\.org"
+
+# We don't want any of those 'LEGAL' messages either
+# while stuff with 'legal' in the subject still interests us:
+DENY_CASE = "^Subject:.*LEGAL"
+
+
+# -----------------------------------------------------------
+# Normalises the subject strings before parsing, e.g.
+# ',L.E-G,A.L; ,C.A-B`L`E, +.B-O`X` ;D`E`S,C;R,A.MB;L,E.R-]'
+# becomes 'LEGAL CABLE BOX DESCRAMBLER' which can be filtered.
+#
+# If NORMAL is switched on, Mailfilter tries to apply filters
+# to both the normalised and the original subject.
+
+NORMAL = "yes"
+
+
+# -----------------------------------------------------------
+# The maximum e-mail size in bytes that messages from friends
+# should not exceed. Set this to 0 if all your friends (ALLOW)
+# can send messages as long as they want.
+
+MAXSIZE_ALLOW = 0
+
+
+# ----------------------------------------------------------
+# Set list of friends that always pass, if they do not
+# exceed the message length of MAXSIZE_ALLOW
+
+# This rule allows all mail from a friend who was unlucky enough
+# to have signed up with a spam organisation. With DENY we
+# block everyone else from that domain though! See above!
+ALLOW = "^From:.*a_friend_with_account@any_provider_that_spams.org"
+
+# Of course we allow e-mail from anyone who has something to say about
+# mailfilter:
+ALLOW = "^Subject:.*mailfilter"
+
+# We also let our girlfriend send any e-mail she wants:
+ALLOW = "^From:.*my_girlfriend@any_provider\.com"
diff --git a/mail-filter/mailfilter/files/rcfile.example2 b/mail-filter/mailfilter/files/rcfile.example2
new file mode 100644
index 000000000000..d4fab0f01a4c
--- /dev/null
+++ b/mail-filter/mailfilter/files/rcfile.example2
@@ -0,0 +1,133 @@
+# -----------------------------------------------------------
+# Example rcfile from the INSTALL document
+# Example configuration based upon the INSTALL document, but
+# showing some advanced features such as 'Negative Filters',
+# extended Regular Expressions, etc.
+# -----------------------------------------------------------
+
+
+# -----------------------------------------------------------
+# Logile path (be sure you have write permission in this
+# directory; you MUST specify a logfile)
+
+LOGFILE = "$HOME/logs/mailfilter.log"
+
+
+# -----------------------------------------------------------
+# Level of verbosity
+#
+# 0 Silent, show nothing at all
+# 1 Only show errors
+# 2 Only show "Deleted..." messages and errors
+# 3 Default; Show "Deleted..." messages, errors
+# and "Examining..." messages
+# 4 Like (3), except this also shows the current
+# account's username
+# 5 Like (4), except this also shows which filter
+# matched which string of an e-mail header
+# 6 Debugging mode; prints almost everything
+
+VERBOSE = 4
+
+
+# -----------------------------------------------------------
+# Server list (Do not change the order of the fields!!)
+# Note: Port 110 is usually the port APOP and POP3 servers use,
+# port 995 is required if (say) POP3/SSL is specified.
+
+SERVER = "pop.server.com"
+USER = "username"
+PASS = "password"
+PROTOCOL = "pop3"
+PORT = 110
+
+SERVER = "pop.secondserver.com"
+USER = "anotherusername"
+PASS = "anotherusername"
+PROTOCOL = "pop3/ssl"
+PORT = 995
+
+
+# -----------------------------------------------------------
+# Do you want case sensitive e-mail filters? { yes | no }
+
+REG_CASE = "no"
+
+
+# -----------------------------------------------------------
+# Sets the type of Regular Expression used { extended | basic }
+#
+# (The default is 'basic', don't change unless you know what you
+# are doing. Extended REs are more complex to set up.)
+
+# We want some additional smartness in our rules. That's why only
+# extended Regular Expressions work for this sample set-up.
+REG_TYPE = "extended"
+
+
+# -----------------------------------------------------------
+# Maximum e-mail size in bytes that should not be exceeded.
+
+# Accept only 250 KBytes message size. Friends can send more though.
+# (See MAXSIZE_ALLOW for further information.)
+MAXSIZE_DENY = 250000
+
+
+# -----------------------------------------------------------
+# Set maximum line length of any field in the message header
+
+MAXLENGTH = 998
+
+
+# This one filters mail from a certain person.
+# (We need the back slash before the '.com' since we are using
+# extended Regular Expressions.)
+DENY="^From:.*spammer@any_spam_organisation\.com"
+
+# This one filters mail from everyone at a certain organisation:
+DENY = "^From:.*@any_provider_that_spams\.org"
+
+# We don't want any of those 'LEGAL' messages either
+# while stuff with 'legal' in the subject still interests us:
+DENY_CASE = "^Subject:.*LEGAL"
+
+# This one demonstrates the use of 'Negative Filters' and the
+# logical OR '|' in Regular Expressions.
+# (Again, the example works only with extended Regular Expressions.)
+# Kill everything not directly addressed to own account:
+DENY<>"(^To|^Cc):(.*username@server\.com|.*anotherusername@secondserver\.com)"
+
+# -----------------------------------------------------------
+# Normalises the subject strings before parsing, e.g.
+# ',L.E-G,A.L; ,C.A-B`L`E, +.B-O`X` ;D`E`S,C;R,A.MB;L,E.R-]'
+# becomes 'LEGAL CABLE BOX DESCRAMBLER' which can be filtered.
+#
+# If NORMAL is switched on, Mailfilter tries to apply filters
+# to both the normalised and the original subject.
+
+NORMAL = "yes"
+
+
+# -----------------------------------------------------------
+# The maximum e-mail size in bytes that messages from friends
+# should not exceed. Set this to 0 if all your friends (ALLOW)
+# can send messages as long as they want.
+
+MAXSIZE_ALLOW = 0
+
+
+# ----------------------------------------------------------
+# Set list of friends that always pass, if they do not
+# exceed the message length of MAXSIZE_ALLOW
+
+# This rule allows all mail from a friend who was unlucky enough
+# to have signed up with a spam organisation. With DENY we
+# block everyone else from that domain though! See above!
+ALLOW = "^From:.*a_friend_with_account@any_provider_that_spams\.org"
+
+# Of course we allow e-mail from anyone who has something to say about
+# mailfilter:
+ALLOW = "^Subject:.*mailfilter"
+
+# We also let our girlfriend send any e-mail she wants:
+ALLOW = "^From:.*my_girlfriend@any_provider\.com"
diff --git a/mail-filter/mailfilter/mailfilter-0.8.2.ebuild b/mail-filter/mailfilter/mailfilter-0.8.2.ebuild
new file mode 100644
index 000000000000..cc215d4cc7ed
--- /dev/null
+++ b/mail-filter/mailfilter/mailfilter-0.8.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+inherit eutils
+
+DESCRIPTION="Mailfilter is a utility to get rid of unwanted spam mails"
+HOMEPAGE="http://mailfilter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mailfilter/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="sys-devel/flex"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/0.8.2-gcc44.patch \
+ "${FILESDIR}"/0.8.2-openssl-1.patch \
+ "${FILESDIR}"/${PV}-gcc46.patch
+}
+
+src_compile() {
+ emake -j1 || die #281069
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc INSTALL doc/FAQ "${FILESDIR}"/rcfile.example{1,2} \
+ README THANKS ChangeLog AUTHORS NEWS || die
+}
diff --git a/mail-filter/mailfilter/mailfilter-0.8.4.ebuild b/mail-filter/mailfilter/mailfilter-0.8.4.ebuild
new file mode 100644
index 000000000000..04c88dc6afc7
--- /dev/null
+++ b/mail-filter/mailfilter/mailfilter-0.8.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Mailfilter is a utility to get rid of unwanted spam mails"
+HOMEPAGE="http://mailfilter.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mailfilter/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="+ssl"
+
+DEPEND="sys-devel/flex
+ ssl? ( dev-libs/openssl:* )"
+RDEPEND=""
+
+src_configure() {
+ econf $(use_with ssl openssl)
+}
+
+src_install() {
+ default
+ dodoc INSTALL doc/FAQ "${FILESDIR}"/rcfile.example{1,2}
+}
diff --git a/mail-filter/mailfilter/metadata.xml b/mail-filter/mailfilter/metadata.xml
new file mode 100644
index 000000000000..2bdcea4590b2
--- /dev/null
+++ b/mail-filter/mailfilter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">mailfilter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/mapson/Manifest b/mail-filter/mapson/Manifest
new file mode 100644
index 000000000000..78ebca6eda7f
--- /dev/null
+++ b/mail-filter/mapson/Manifest
@@ -0,0 +1,6 @@
+AUX mapson-3.3-gcc6.patch 10368 SHA256 82b78506bec350cbbaaa074329e21c37be1c588861038cf2d7a1d49d47cb6894 SHA512 159e5a3e4b7fafe0b1c12e020c9c37bfefa40218fe2d974a263060eb27b1afebff4215d03a574e6487f36a61fc71f19b1bdc69ce4234095a9bc6a8fdc173f1e7 WHIRLPOOL 75b16b13604c4e11392cb9a7c1e9fc0f3c82d9ddc6435dfbfafdc824b5aef6c3c6ad6ac9cea4473b148e0d46b881ebf848e20e49c5f0c290a590da2bcf0d6db4
+DIST mapson-3.3.tar.gz 421820 SHA256 91e5cb1f39f58c71c182ccbd4fb9b0c2cf323030961ab7283276b14b5cf63850 SHA512 208d3b21d59689465a5c46619a53b3342c3ca96575d681b9ad01b1b6ffa05f05f56ab6e7ae38a8b2161e3f8d42b90b559baf8ff9db4ab4c83238d7adcb645fd0 WHIRLPOOL 66a7cb58f31105fcbb8cfaa63c1ad6ade9f3199f49b7f52e09ef1ac638b0b01c188c5251c14d9268faff6938093e4f0c2815f0c09fe87b0c422f3cb3bbf37286
+EBUILD mapson-3.3.ebuild 903 SHA256 f0a3d97f98562b7454e58a44fae4481302abced24b704cdc25cef1747bc4c5cb SHA512 de34f4ab56b5f89dc70350de3f448bcff1f6d2da10e9d5d83d63fbb253e9a1ed26a8dcd6986024bdc92bf4cde8f8177e6feaa7cfdf8f8d2ec68b5d1fa7bb574a WHIRLPOOL 54b8ca933b3c7af41e3d59564a400938dd520b98bae3aae453332c295fbc89efda51cad9e126c8fb13a37ba9c67204aab521ed91a532ffd006f3fd5f775f5481
+MISC ChangeLog 2423 SHA256 742a1135658135c1d6d6e01a9c546fa491d0476ae57def498c3380ede50e0711 SHA512 a4a11de11f7135a5d67893a03de13ed81fffdaf4dfe0c9cb26ba7f922161195c8ce3ab2bae49be61cc5cf67bea529ae40c923cb5392fd6727795f210445d44aa WHIRLPOOL fa4ec3880bdd5d61f082a8e5abf64a53236a3ae5db49c2dd22a6fe5c6cd7bb540f518f15af4d6c2389920620a6c5059cd7b235bd5f7b5dc0557906249e199105
+MISC ChangeLog-2015 1710 SHA256 e7619638e88bda706021c55785f1540dea40630e95778dfe9713b305c5e9cb52 SHA512 e2fef493a5b21003df373740de0f4caa4898fc82697f7c7a07e05c3ef5aee66c17fc1890158dc2763bcd8dfae079a5fcc7616be32b1256d887b80a9210246855 WHIRLPOOL 08c3cf7048fb7f9a4abd577251d450db9c2fed48af5c9191a8e94befc5f4919e691238dfa9f35224ae01b961f6cf5bc934399ac909a47d49356ddc4b044491e6
+MISC metadata.xml 320 SHA256 36775305af430ea38f7d92486ca2ce39681379d3eb361004b4a4f96b8a05631f SHA512 50c96dab096d9409047fc8c7421bda4899b004b83b09300763acb4df6396d255dcb95bdde850b2c168770718eab093bceecc40db11f95cd37bec7c00a077249a WHIRLPOOL 96fb149fec7d9f30bd86ee47c174868b75a9aaa642f33caed900303a0ea6647901122ec3ec6a5ef6d33fb17fb62db3d88d82218d9dde77df2623b8499be975f0
diff --git a/mail-filter/mapson/files/mapson-3.3-gcc6.patch b/mail-filter/mapson/files/mapson-3.3-gcc6.patch
new file mode 100644
index 000000000000..d43c2cb95ea9
--- /dev/null
+++ b/mail-filter/mapson/files/mapson-3.3-gcc6.patch
@@ -0,0 +1,287 @@
+--- a/accept-confirmation.cpp
++++ b/accept-confirmation.cpp
+@@ -52,7 +52,7 @@
+ for (rc = read(fd, tmp, sizeof(tmp)); rc > 0; rc = read(fd, tmp, sizeof(tmp)))
+ mail.append(tmp, rc);
+ if (rc < 0)
+- throw system_error(string("Failed to read mail file '") + filename + "'");
++ throw mapson_system_error(string("Failed to read mail file '") + filename + "'");
+ deliver(mail);
+ unlink(filename.c_str());
+ }
+--- a/address-db.cpp
++++ b/address-db.cpp
+@@ -26,7 +26,7 @@
+
+ fd = open(filename.c_str(), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+ if (fd < 0)
+- throw system_error(string("Can't open address db '") +
++ throw mapson_system_error(string("Can't open address db '") +
+ filename + "' for reading");
+ fd_sentry sentry(fd);
+
+@@ -36,7 +36,7 @@
+ lock.l_start = 0;
+ lock.l_len = 0;
+ if (fcntl(fd, F_SETLKW, &lock) != 0)
+- throw system_error(string("Can't lock file '") + filename + "'");
++ throw mapson_system_error(string("Can't lock file '") + filename + "'");
+
+ // Read the file into memory.
+
+@@ -47,7 +47,7 @@
+ rc = read(fd, buffer, sizeof(buffer)))
+ data.append(buffer, rc);
+ if (rc < 0)
+- throw system_error(string("Failed to read address db '") +
++ throw mapson_system_error(string("Failed to read address db '") +
+ filename + "' into memory");
+
+ // Success. Don't close the file descriptor.
+@@ -107,7 +107,7 @@
+ {
+ ssize_t rc = write(fd, data.data()+len, data.size()-len);
+ if (rc < 0)
+- throw system_error(string("Failed writing to the address db '") + filename + "'");
++ throw mapson_system_error(string("Failed writing to the address db '") + filename + "'");
+ else
+ len += rc;
+ }
+--- a/config.cpp
++++ b/config.cpp
+@@ -70,9 +70,9 @@
+ string tmp = string(name) + "=" + value;
+ char* env = strdup(tmp.c_str());
+ if (env == 0)
+- throw system_error("strdup() failed");
++ throw mapson_system_error("strdup() failed");
+ if (putenv(env) != 0)
+- throw system_error("putenv() failed");
++ throw mapson_system_error("putenv() failed");
+ }
+ }
+
+@@ -84,7 +84,7 @@
+
+ pwd_sentry sentry(getpwuid(getuid()));
+ if (sentry.pwd == 0)
+- throw system_error("Can't get my user name");
++ throw mapson_system_error("Can't get my user name");
+ log_file.assign(sentry.pwd->pw_dir).append("/.mapson/log");
+ spool_dir.assign(sentry.pwd->pw_dir).append("/.mapson/spool");
+ address_db.assign(sentry.pwd->pw_dir).append("/.mapson/address-db");
+--- a/deliver.cpp
++++ b/deliver.cpp
+@@ -31,11 +31,11 @@
+
+ FILE* fh = popen(config->mailbox.c_str()+1, "w");
+ if (fh == NULL)
+- throw system_error(string("Can't start delivery pipe '") + config->mailbox + "'");
++ throw mapson_system_error(string("Can't start delivery pipe '") + config->mailbox + "'");
+ int len = fwrite(mail.data(), mail.size(), 1, fh);
+ pclose(fh);
+ if (len != 1)
+- throw system_error(string("Failed to pipe to MTA process '") + config->mailbox + "'");
++ throw mapson_system_error(string("Failed to pipe to MTA process '") + config->mailbox + "'");
+ }
+ else
+ {
+@@ -43,7 +43,7 @@
+
+ int fd = open(config->mailbox.c_str(), O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR);
+ if (fd < 0)
+- throw system_error(string("Can't open mailbox file '") + config->mailbox + "' for writing");
++ throw mapson_system_error(string("Can't open mailbox file '") + config->mailbox + "' for writing");
+ fd_sentry sentry(fd);
+
+ struct flock lock;
+@@ -52,13 +52,13 @@
+ lock.l_start = 0;
+ lock.l_len = 0;
+ if (fcntl(fd, F_SETLKW, &lock) != 0)
+- throw system_error(string("Can't lock file '") + config->mailbox + "'");
++ throw mapson_system_error(string("Can't lock file '") + config->mailbox + "'");
+
+ for (size_t len = 0; len < mail.size(); )
+ {
+ ssize_t rc = write(fd, mail.data()+len, mail.size()-len);
+ if (rc < 0)
+- throw system_error(string("Failed writing to the mailbox file '") + config->mailbox + "'");
++ throw mapson_system_error(string("Failed writing to the mailbox file '") + config->mailbox + "'");
+ else
+ len += rc;
+ }
+--- a/lines2regex.cpp
++++ b/lines2regex.cpp
+@@ -29,7 +29,7 @@
+ if (errno == ENOENT)
+ return "";
+ else
+- throw system_error(string("Can't open regex db '") +
++ throw mapson_system_error(string("Can't open regex db '") +
+ filename + "' for reading");
+ }
+ fd_sentry sentry(fd);
+@@ -40,7 +40,7 @@
+ lock.l_start = 0;
+ lock.l_len = 0;
+ if (fcntl(fd, F_SETLKW, &lock) != 0)
+- throw system_error(string("Can't lock file '") + filename + "'");
++ throw mapson_system_error(string("Can't lock file '") + filename + "'");
+
+ // Read the file into memory.
+
+@@ -52,7 +52,7 @@
+ rc = read(fd, buffer, sizeof(buffer)))
+ data.append(buffer, rc);
+ if (rc < 0)
+- throw system_error(string("Failed to read regex db '") +
++ throw mapson_system_error(string("Failed to read regex db '") +
+ filename + "' into memory");
+
+ // Walk through the lines and compile the regexes.
+--- a/log.cpp
++++ b/log.cpp
+@@ -30,10 +30,10 @@
+ char buf[64];
+ time_t tstamp = time(0);
+ if (tstamp == static_cast<time_t>(-1))
+- throw system_error("time(2) failed");
++ throw mapson_system_error("time(2) failed");
+ struct tm* tmtime = localtime(&tstamp);
+ if (tmtime == 0)
+- throw system_error("localtime(3) failed");
++ throw mapson_system_error("localtime(3) failed");
+ strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", tmtime);
+ return buf;
+ }
+@@ -42,7 +42,7 @@
+ {
+ fileh.file = fopen(file, "a");
+ if (fileh.file == 0)
+- throw system_error(string("Could not open log file ") + file);
++ throw mapson_system_error(string("Could not open log file ") + file);
+
+ struct flock lock;
+ lock.l_type = F_WRLCK;
+@@ -50,7 +50,7 @@
+ lock.l_start = 0;
+ lock.l_len = 0;
+ if (fcntl(fileno(fileh.file), F_SETLKW, &lock) != 0)
+- throw system_error(string("Can't lock file '") + file + "'");
++ throw mapson_system_error(string("Can't lock file '") + file + "'");
+ }
+
+ void _debug(const char* fmt, ...)
+--- a/mapson.cpp
++++ b/mapson.cpp
+@@ -62,7 +62,7 @@
+
+ fd = open(argv[i], O_RDONLY, 0);
+ if (fd < 0)
+- throw system_error("Can't open file for reading");
++ throw mapson_system_error("Can't open file for reading");
+ fd_sentry sentry(fd);
+ string mail;
+ for (rc = read(fd, buffer, sizeof(buffer));
+@@ -72,7 +72,7 @@
+ mail.append(buffer, rc);
+ }
+ if (rc < 0)
+- throw system_error("Failed to read from file");
++ throw mapson_system_error("Failed to read from file");
+
+ // Extract the mail addresses.
+
+@@ -196,7 +196,7 @@
+ mail.append(buffer, rc);
+ }
+ if (rc < 0)
+- throw system_error("Failed to read mail from standard input");
++ throw mapson_system_error("Failed to read mail from standard input");
+
+ // Check whether the mail contains a valid cookie. If it does,
+ // mail will be replaced with the original e-mail, that was
+--- a/parse-config-file.cpp
++++ b/parse-config-file.cpp
+@@ -55,7 +55,7 @@
+
+ std::ifstream file(filename);
+ if (!file)
+- throw system_error(std::string("parse_config_file() failed to open '") + filename + "'");
++ throw mapson_system_error(std::string("parse_config_file() failed to open '") + filename + "'");
+
+ // Now we read line by line and process each one seperately.
+
+--- a/request-confirmation.cpp
++++ b/request-confirmation.cpp
+@@ -157,7 +157,7 @@
+ string filename = config->request_for_confirmation_file;
+ int fd = multi_open(filename, O_RDONLY, S_IRUSR | S_IWUSR);
+ if (fd < 0)
+- throw system_error(string("Can't open request-mail template file '") + filename + "' for reading");
++ throw mapson_system_error(string("Can't open request-mail template file '") + filename + "' for reading");
+ fd_sentry sentry(fd);
+
+ // Read the file into memory.
+@@ -167,7 +167,7 @@
+ for (rc = read(fd, buffer, sizeof(buffer)); rc > 0; rc = read(fd, buffer, sizeof(buffer)))
+ mail_template.append(buffer, rc);
+ if (rc < 0)
+- throw system_error(string("Failed to read request-mail template file '") + filename + "' into memory");
++ throw mapson_system_error(string("Failed to read request-mail template file '") + filename + "' into memory");
+
+ // Expand variables in the template.
+
+@@ -180,11 +180,11 @@
+ debug(("Executing mail transport agent '%s'.", config->mta.c_str()));
+ FILE* fh = popen(config->mta.c_str(), "w");
+ if (fh == NULL)
+- throw system_error(string("Can't start MTA '") + config->mta + "'");
++ throw mapson_system_error(string("Can't start MTA '") + config->mta + "'");
+ if (fwrite(mail_template.data(), mail_template.size(), 1, fh) != 1)
+ {
+ pclose(fh);
+- throw system_error(string("Failed to pipe to MTA process '") + config->mta + "'");
++ throw mapson_system_error(string("Failed to pipe to MTA process '") + config->mta + "'");
+ }
+ pclose(fh);
+ }
+--- a/spool.cpp
++++ b/spool.cpp
+@@ -44,13 +44,13 @@
+ info("Spooling e-mail '%s' as '%s'.", config->message_id.c_str(), filename.c_str());
+ int fd = open(filename.c_str(), O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
+ if (fd < 0)
+- throw system_error(string("Can't open spool file '") + filename + "' for writing");
++ throw mapson_system_error(string("Can't open spool file '") + filename + "' for writing");
+ fd_sentry sentry(fd);
+ for (size_t len = 0; len < mail.size(); )
+ {
+ ssize_t rc = write(fd, mail.data()+len, mail.size()-len);
+ if (rc < 0)
+- throw system_error(string("Failed writing to the spool file '") + filename + "'");
++ throw mapson_system_error(string("Failed writing to the spool file '") + filename + "'");
+ else
+ len += rc;
+ }
+--- a/system-error.hpp
++++ b/system-error.hpp
+@@ -23,14 +23,14 @@
+ #include <string>
+ #include <cstring>
+
+-class system_error : public std::runtime_error
++class mapson_system_error : public std::runtime_error
+ {
+ public:
+- system_error() : runtime_error(str())
++ mapson_system_error() : runtime_error(str())
+ {
+ }
+
+- explicit system_error(std::string const & msg)
++ explicit mapson_system_error(std::string const & msg)
+ : runtime_error(msg + ": " + str())
+ {
+ }
diff --git a/mail-filter/mapson/mapson-3.3.ebuild b/mail-filter/mapson/mapson-3.3.ebuild
new file mode 100644
index 000000000000..5c6ce7bac660
--- /dev/null
+++ b/mail-filter/mapson/mapson-3.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit eutils
+
+DESCRIPTION="A challenge/response-based white-list spam filter"
+HOMEPAGE="http://mapson.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mapson/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="debug"
+
+RDEPEND="virtual/mta"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc6.patch
+}
+
+src_configure() {
+ econf $(use_with debug)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS INSTALL NEWS README
+ doman doc/mapson.1
+ dohtml doc/mapson.html
+ dodir /etc/mapson
+ insinto /etc/mapson
+ newins sample-config mapson.config
+ dodir /usr/share/mapson
+ insinto /usr/share/mapson
+ newins sample-challenge-template challenge-template
+ rm -f "${D}"/etc/sample-config
+ rm -f "${D}"/usr/share/{mapson.html,sample-challenge-template}
+}
diff --git a/mail-filter/mapson/metadata.xml b/mail-filter/mapson/metadata.xml
new file mode 100644
index 000000000000..bd18711b8a38
--- /dev/null
+++ b/mail-filter/mapson/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">mapson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/metadata.xml b/mail-filter/metadata.xml
new file mode 100644
index 000000000000..11adcc49fd3e
--- /dev/null
+++ b/mail-filter/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The mail-filter category contains email filtering software.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie mail-filter enthält Programme zur Filterung von
+ Emails.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría mail-filter contiene programas para filtrar correo
+ electrónico.
+ </longdescription>
+ <longdescription lang="ja">
+ mail-filter カテゴリーにはメールフィルタリング・ソフトウェアが
+ 含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De mail-filter categorie bevat filtersoftware voor e-mail.
+ </longdescription>
+ <longdescription lang="sk">
+ Kategória mail-filter obsahuje nástroje na filtrovanie elektronických
+ správ.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm mail-filter chứa các phần mềm lọc email.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria mail-filter contiene programmi per il filtraggio della
+ posta elettronica.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria mail-filter contém programas para a filtragem do
+ correio eletrônico.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria mail-filter zawiera oprogramowanie służące do filtrowania poczty.
+ </longdescription>
+</catmetadata>
diff --git a/mail-filter/milter-regex/Manifest b/mail-filter/milter-regex/Manifest
new file mode 100644
index 000000000000..ea7667cd1cf3
--- /dev/null
+++ b/mail-filter/milter-regex/Manifest
@@ -0,0 +1,8 @@
+AUX milter-regex-1.9-gentoo.patch 1074 SHA256 4e7c6d3e1eddc6c423a136b223fc380632226ced0a917125417946ed725881f5 SHA512 d7311e3da08aeb39b2706c110c67a1aaf3f114aeb3fe94a73f8c10a8327e1865cb911f992a887fb518a6c500a4bae5d4e8c39955820436b21dab8f3820dd27cc WHIRLPOOL 4b3c5a06b4c634d01f39a58525ed59e9df10d5f7452ed67e53b38b5fc14468e8cb4b94a957af0b74a01f27f2ea61959ed54312d9845443cf8e83644b6254f333
+AUX milter-regex-conf 177 SHA256 e26c4c6a876dd8c3c5a15e6093feec5da7e44b396636c96d2b4441f555a8a150 SHA512 b4fa346684bf2184021adad76c44fbf38e3127299792d5a3b0f0052019a6046deaab19b56bee2b44b7f4fced9c309f440cf4be18f8190d661fc08bedaadbc2e8 WHIRLPOOL c45cd63389ad11c5130c2d1a5ff425aa884052a7d722675b02176477492a2dd02c08f3a0afa1763403abd36a5cbf20f9741c6ade90c69911ec8eb12f4e876161
+AUX milter-regex-init 842 SHA256 432ce3e912153e98f95e26261aa2e090e73b4c1fadc1a6e59771141dfc9c20db SHA512 63ba6f37fe387179c12c6b938985cfd37d5a9ea470d90666636d14d5bac53fe42ee11e559513db6cd3f21066a9adc0ee3ef59c361bc5e65364fc9a41525ff2c8 WHIRLPOOL f4f355d18a02e4318c11e9d2d4895fa898f880d5fd9372fad87a652a28489751e595ed9f0d74296b630ba8a759b0078cdf06c4253263cac3547f6357af357acf
+DIST milter-regex-1.9.tar.gz 19880 SHA256 6a708b0ff31d9f6db0e5b96915354c15f65ca09a730c599970b37e30699b18e4 SHA512 55cb97eba01220eb57c29498a090152c05d259abbe6f771e47a67499e7c2a1d4121ec9d0bce84cc8b6490bcd20dea8eaaba753e61f1ce9002edd8440b13f7148 WHIRLPOOL a8c1d75c016f32ec357e80498b7de5a89da50cf8a32bcbfd9e0467c829870c468beb6b12f138a352f518ff26a3f95c83ed25892670bf1a7f76f2b728cf626f30
+EBUILD milter-regex-1.9.ebuild 1629 SHA256 5918ea6359735d8e8c057e895bb29fdedf51304a11d2c515ebf2860e789062f3 SHA512 f58ccd7fe3c43aaaea5508f5ef653c6a00d336cb130fef4b124d4402f1e7bf3c0e30d3720e5a2ccfabee41b8fcd21f2d302d955a74b8db75f14ce7960790dd75 WHIRLPOOL 20b31bb3efc1f0eaf133bcfcafc3c92f1622a767a738bc0db7b9fd7850af41e323331c91a8fda73e31cc35891f7b01aef0decd497366ad2c5dafba6c58f74bf4
+MISC ChangeLog 2859 SHA256 f174ba41ed5154d80bcc858227d8bee2f7ecc75177ca20a0f0ec625802da4005 SHA512 a1b7f9e7dafd4a86d16a43d73d38f0c7cbe4886afd5ce375a541afdced3742b81acf99754dfc50c14200eb228ed3419fae81402719da3da37dedf8f0176f9485 WHIRLPOOL 38f5105fa6ff5900e567575596418a6e80f1d1b445f954c114119a8e2b78da5cd742f654cb81afaeb2ff1104134ece400ba1a42ab5fe0135bbe07da27b5fad95
+MISC ChangeLog-2015 2653 SHA256 f3c6a86b8aec3b3fafe3d2f0089176b8df9106307e0520a420d24dfd854e6d8b SHA512 4c33e310d2c17625b47cb117bc42e32f8244c0c1b3099b950ad5e7b9b9e889b885c19bb8a6ffb9d6db3f6e210d11d7a9dc55f5881b38f39ace4567300918dfa7 WHIRLPOOL 2521a87212229c49d749aca5436ff9050a4af2d813c8ced853dc6c6aeba136d10dc57ad64fbb08d66f4a037048188e68a0fb624cbaccf85ed3bff757dd97c04b
+MISC metadata.xml 479 SHA256 396a179303525af3f621090487cd002150cd2b32cc30843d258b638a70b6f7c9 SHA512 7cdb6340985723327504cc1df87cccf32813bdef5e014f2c794b50482072efc990707edc47c3818baf86c972d1032da7631e216bc47ab72ee37de0061ccf2b50 WHIRLPOOL 9d0177e3ae2c40c5f3bf25bdcc0b8f784224f728a4c9c464144a2cbb815a50fb271cf865888e87fbe47ac4c13b0872d04edde3112298b539637b63bd69dcd8ec
diff --git a/mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch b/mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch
new file mode 100644
index 000000000000..38ba17af0d88
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-1.9-gentoo.patch
@@ -0,0 +1,38 @@
+--- Makefile.linux 2011-07-16 16:51:34.000000000 +0300
++++ Makefile.linux 2012-08-05 18:15:30.906378968 +0300
+@@ -6,28 +6,27 @@
+ # see milter-regex.init for an init script for RedHat/Fedora
+ # (contributed by admin@2ka.mipt.ru)
+
+-CFLAGS= -g
+-LDFLAGS= -L/usr/lib/libmilter -lmilter -lpthread
++LIBS= -lmilter -lpthread
+
+ all: milter-regex milter-regex.cat8
+
+ milter-regex: milter-regex.o eval.o strlcat.o strlcpy.o y.tab.o
+- gcc -o milter-regex milter-regex.o eval.o strlcat.o strlcpy.o y.tab.o $(LDFLAGS)
++ $(CC) $(LDFLAGS) -o milter-regex milter-regex.o eval.o strlcat.o strlcpy.o y.tab.o $(LIBS)
+
+ milter-regex.o: milter-regex.c eval.h
+- gcc $(CFLAGS) -c milter-regex.c
++ $(CC) $(CFLAGS) -c milter-regex.c
+
+ eval.o: eval.c eval.h
+- gcc $(CFLAGS) -c eval.c
++ $(CC) $(CFLAGS) -c eval.c
+
+ strlcat.o: strlcat.c
+- gcc $(CFLAGS) -c strlcat.c
++ $(CC) $(CFLAGS) -c strlcat.c
+
+ strlcpy.o: strlcpy.c
+- gcc $(CFLAGS) -c strlcpy.c
++ $(CC) $(CFLAGS) -c strlcpy.c
+
+ y.tab.o: y.tab.c
+- gcc $(CFLAGS) -c y.tab.c
++ $(CC) $(CFLAGS) -c y.tab.c
+
+ y.tab.c: parse.y
+ yacc -d parse.y
diff --git a/mail-filter/milter-regex/files/milter-regex-conf b/mail-filter/milter-regex/files/milter-regex-conf
new file mode 100644
index 000000000000..51846a214e4e
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-conf
@@ -0,0 +1,8 @@
+# Daemon user
+USER="milter"
+
+# The location of the Unix socket
+SOCKET="/var/run/milter-regex/milter-regex.sock"
+
+# Regular expression rules
+CONFIG="/etc/mail/milter-regex.conf"
diff --git a/mail-filter/milter-regex/files/milter-regex-init b/mail-filter/milter-regex/files/milter-regex-init
new file mode 100644
index 000000000000..7528e625d2d6
--- /dev/null
+++ b/mail-filter/milter-regex/files/milter-regex-init
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use dns logger net
+}
+
+check_cfg() {
+ if [ -z "${USER}" ] ; then
+ eerror "USER is unset"
+ return 1
+ fi
+
+ if [ ! -s "${CONFIG}" ]; then
+ eerror "configuration file ${CONFIG} doesn't seem to be valid"
+ return 1
+ fi
+}
+
+start() {
+ check_cfg || return 1
+
+ # Remove stalled Unix socket if no other process is using it
+ if [ -S "${SOCKET}" ] && ! fuser -s "${SOCKET}"; then
+ rm "${SOCKET}"
+ fi
+
+ ebegin "Starting milter-regex"
+ start-stop-daemon --start --exec /usr/bin/milter-regex -- \
+ -u "${USER}" -p "${SOCKET}" -c "${CONFIG}"
+ EXIT=$?
+ [ $? == 0 ] && chmod a+rw "${SOCKET}"
+ eend ${EXIT}
+}
+
+stop() {
+ ebegin "Stopping milter-regex"
+ start-stop-daemon --stop --exec /usr/bin/milter-regex
+ eend $?
+}
diff --git a/mail-filter/milter-regex/metadata.xml b/mail-filter/milter-regex/metadata.xml
new file mode 100644
index 000000000000..400a0fa1ec9d
--- /dev/null
+++ b/mail-filter/milter-regex/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>milter-regex is a very simple milter-based plugin that rejects or discards messages matching
+regular expressions. It doesn't add much processing overhead, so even a busy mail server can afford to run it.</longdescription>
+</pkgmetadata>
diff --git a/mail-filter/milter-regex/milter-regex-1.9.ebuild b/mail-filter/milter-regex/milter-regex-1.9.ebuild
new file mode 100644
index 000000000000..cca5c424b6c4
--- /dev/null
+++ b/mail-filter/milter-regex/milter-regex-1.9.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+DESCRIPTION="A milter-based regular expression filter"
+HOMEPAGE="http://www.benzedrine.cx/milter-regex.html"
+SRC_URI="http://www.benzedrine.cx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )"
+DEPEND="${RDEPEND}
+ virtual/yacc"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" -f Makefile.linux milter-regex
+}
+
+src_install() {
+ dobin milter-regex
+
+ keepdir /var/run/milter-regex
+
+ insinto /etc/mail
+ newins rules milter-regex.conf
+
+ newconfd "${FILESDIR}"/milter-regex-conf milter-regex
+ newinitd "${FILESDIR}"/milter-regex-init milter-regex
+
+ doman *.8
+}
+
+pkg_preinst() {
+ 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
+
+ fowners milter:milter /var/run/milter-regex
+}
+
+pkg_postinst() {
+ elog "If you're using Sendmail, you'll need to add this to your sendmail.mc:"
+ elog " INPUT_MAIL_FILTER(\`milter-regex', \`S=unix:/var/run/milter-regex/milter-regex.sock, T=S:30s;R:2m')"
+ echo
+ elog "If you are using Postfix, you'll need to add this to your main.cf:"
+ elog " smtpd_milters = unix:/var/run/milter-regex/milter-regex.sock"
+ elog " non_smtpd_milters = unix:/var/run/milter-regex/milter-regex.sock"
+}
diff --git a/mail-filter/mimedefang/Manifest b/mail-filter/mimedefang/Manifest
new file mode 100644
index 000000000000..14c90265792f
--- /dev/null
+++ b/mail-filter/mimedefang/Manifest
@@ -0,0 +1,12 @@
+AUX mimedefang-2.72-ldflags.patch 2458 SHA256 fe2d99437cab6ce2d47d5bb899a752cbed29f20bbcdff8e7597ebba2b0902fda SHA512 a84ff0cefc9dc56b348b8fe6715e9669af43a25d20867b63c63a3006565edd6fb40d2f27b8ddcfd8dd5bb9a4f023e23ae4d258da70df53e3309d680fac4b0aef WHIRLPOOL b96fde82fadb6de3878cb8063210fa07fc876e26d0beea8b881cdaa08907a928dbeb572f2a9cb0562d934f4054c5951b44a8dc74515a5c1ff3735506f954cef1
+AUX mimedefang.conf 4347 SHA256 77b0221f1ea81a14095bfe59d43cde61084de486815446734eb14fbf8b9690c0 SHA512 fb516748e87fd4e0e2b0db6acacd582aa878654d5062102debfda5d492c4bef192e1613a973ccb011cbd7c7f5246cec2e7ff98ef6caf5d9e25757a98965e8861 WHIRLPOOL f78dff3151d2c47f3e5b8df4ffd6739596fcdc2aa576a41d80a1b52c9ba0cd45d53eb98692124ef0339f921a0709a463b96eeda20ad1820d68f3b97f8a763691
+AUX mimedefang.init 3459 SHA256 157be36f7c77d9e7f93bb21347a13ec830164defb12eb989a7ee5a83f6525b08 SHA512 2ce7a9a35f037c6fa9905d0275ccb915e4744ae54ddc129368d1782173559a2805a461121a7096345fd6f99d5aba14b0e218a50c4da7b8a4aebc9a6d8f8f9882 WHIRLPOOL b76d83ffb9d23de2a13a23507e567f6211701e4a3d427bcd041ddd727da1eda1f0fd5523e022eedb2152481fe0848a60f029726ece0ab5a1ab21520ce58c8ab1
+DIST mimedefang-2.73.tar.gz 356601 SHA256 88a0f294e517348b692b0e0f226b60f90fa94eb0e771e02ab716c8e50d8cf714 SHA512 c20ee35235107342d4bce5a95cca01fc6c45365bf270b11c2bfe44a614ec39bcdd2a7b71836a092d6df88519194dbb3e93e293144b740e95e9846ebe0302cf5e WHIRLPOOL 56339d0cdbc0ab33a4a8eb37847ef00169b0db865ea7847172ee485090639fa2e0fea2361e615902013e10c2b1efbf2679c286d5bc4e189d68ae3cce53a69abc
+DIST mimedefang-2.74.tar.gz 362500 SHA256 eb35d200d291cf7d456c644b94c9d4825ca2d0e345193539d63cd971adeb8605 SHA512 0168c4e664fcd2df7f08e4f7d110114d907f8f37d50986c89b33f5a575c87291574d0b5dff0197fb5666281f4fe1b67a61e8719a470bd01c5b7f2fc354f066b4 WHIRLPOOL 293580d3ae64752867a16fdaa01a0aee14a87d3a5d4888963cb657ebbc6d1737616cc289fd1eead16b42aa458bfb06a2e63914df041447d002af3e2a91218151
+DIST mimedefang-2.75.tar.gz 363535 SHA256 7852da1039ed22bc8df4e43c3094ee8c6d6ba154479efd37b643d488a3c85a42 SHA512 a8b5c83116d973ea8971df8682d4ba26a37a47fd58cf740eecc1b70aa68a8aa765f7fa2415542d54f147990310b68e64d1e949d3b988cee24c4c2c5194123d98 WHIRLPOOL 512014b1664249ff0e40e7a6b86764e729e8db07338a8750d45f81e04ab0c1e72306530ca6333851089cd23f4907df7f64a73548cfa8cd9b6d80992ee0d20813
+EBUILD mimedefang-2.73.ebuild 1478 SHA256 7921bf4fb13e9f26e09c19dcf9a6506ef796a02811a6f437713f480945781ac8 SHA512 c118181c73577b06b039d783fdab5c9eae82e48b045c814b097f38052c414fc03508183eda3e8da515bdc44ecb7286f15b718ced500661b9d9e779905467937b WHIRLPOOL bf2e94c0f33ee3546bc0b20bf07e99046b2e3c37b17fe7168370860bf3be329ab795169bb5a6129d8f4181e6200bcb978e965bb30d85dd04253e63de303e5d44
+EBUILD mimedefang-2.74.ebuild 1434 SHA256 f3cca8774edcd626fe9b5355e8fdedbf73c5c530a3f383e19d1ca12d03feccfb SHA512 ccafc628fe3a4bbad984c6e501fb2168ca55c9063bef328453de447e73d75b5e613f619069f181f887c705f336b042d08c5fffa3c62cb027957cab825f3e1fb6 WHIRLPOOL ff7eaa7e39938a95924339f535ef268674cbd73e659327b95c2be50dfa717cb19806eb4541b5ae918a6bf99cd7a70bfb913bbbd9918863d553beaa5126bbfa04
+EBUILD mimedefang-2.75.ebuild 1436 SHA256 ef050790fa855257ac2cdc0f125c6f5eca9007d5df8fba7d9bbddf037477648e SHA512 32c9f3ed3aa75d4052a283b7c48b11c2ac815f366f6b5d2852278c96a2ab059efa58d707863947d79312fe757ba8710f8c443805944341ecd1d8f6a7fa3ce04f WHIRLPOOL 34cbf5a3262a4c6ab03f8c89b5b3ddd2e97cf876d404f59ffd06e0789d1e7bcce15edcdf68cf8b633f479fa19b4d943b37627dd997dc8958cf2767332c05db7c
+MISC ChangeLog 3164 SHA256 c0d424ce25e30488bb003af26d75de10d59e1cb68eac271a3a247dcfc4071ad6 SHA512 32dd69a4c195d0354d12a827d4b7f256fb5c4e32c87972c157386a7ff8e2c087429d0fc096d6334c374e66e70ca4240fce0dd40505c661659cb132f6dbfeba17 WHIRLPOOL 4f2a65e56c92b89fd9b4c7752a683963d28929479ac1da8f9920dd8c1b7a2ebbef0be3d214cb2208048baae903df378e78e889557806a19547b83c24116bce3c
+MISC ChangeLog-2015 3250 SHA256 3bcb0ddf72f9e7a20492ee6121f7ba5e81c22047c5d30592472e5ee47edb3606 SHA512 97d027e4bd526d06ee67d1903754e68b3e915794dde9e8405fa5be7ab717d23e521efbe1eec26c44fa876efbc7a85b26eb334e0c85a619ded56b98fae5913f37 WHIRLPOOL a254cdc97c294107e0e57441bfdfaaa0202eccebcf1219dd696489343866a9ee8565f390a4e1a570c4f901ea52b07c67a279a6cc9e35ccdc004d399bab6e4ee2
+MISC metadata.xml 472 SHA256 fe4e6b730193c9da8600e93935ca327533b11de67ad2791bfb5ffc6f718b2bb3 SHA512 443f399f1d6c5eac3e07efbc7f130399ce7b98af536482fa658b526b2886836a008b7aa0bf6781f983febd652faa560ea6983f40a34a7a99917e786a5cd2446e WHIRLPOOL d2b79972886a1c2ba717747c0a98f421700c23859bf7e189e1054a0fbbe47070f94fa8d4e0706b70cf4fdda7a72d2a8fb2288cb580b4171f4019151ecfabbfb1
diff --git a/mail-filter/mimedefang/files/mimedefang-2.72-ldflags.patch b/mail-filter/mimedefang/files/mimedefang-2.72-ldflags.patch
new file mode 100644
index 000000000000..998b3183e661
--- /dev/null
+++ b/mail-filter/mimedefang/files/mimedefang-2.72-ldflags.patch
@@ -0,0 +1,38 @@
+--- mimedefang-2.72/Makefile.in.orig
++++ mimedefang-2.72/Makefile.in
+@@ -52,7 +52,7 @@
+ all: mimedefang mimedefang-multiplexor md-mx-ctrl pod2man
+
+ mimedefang-multiplexor: mimedefang-multiplexor.o event.o event_tcp.o drop_privs_nothread.o notifier.o syslog-fac.o utils.o $(EMBPERLOBJS)
+- $(CC) $(CFLAGS) -o mimedefang-multiplexor mimedefang-multiplexor.o event.o event_tcp.o drop_privs_nothread.o syslog-fac.o notifier.o utils.o $(EMBPERLOBJS) $(LIBS_WITHOUT_PTHREAD) $(EMBPERLLDFLAGS) $(EMBPERLLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o mimedefang-multiplexor mimedefang-multiplexor.o event.o event_tcp.o drop_privs_nothread.o syslog-fac.o notifier.o utils.o $(EMBPERLOBJS) $(LIBS_WITHOUT_PTHREAD) $(EMBPERLLDFLAGS) $(EMBPERLLIBS)
+
+ embperl.o: embperl.c
+ $(CC) $(CFLAGS) $(EMBPERLCFLAGS) $(PTHREAD_FLAG) $(DEFS) $(MINCLUDE) -c -o embperl.o $(srcdir)/embperl.c
+@@ -67,7 +67,7 @@
+ $(CC) $(CFLAGS) $(EMBPERLCFLAGS) $(PTHREAD_FLAG) $(DEFS) $(MINCLUDE) -c -o test-embed-perl.o $(srcdir)/test-embed-perl.c
+
+ te: test-embed-perl.o
+- $(CC) $(CFLAGS) -o te test-embed-perl.o $(LIBS_WITHOUT_PTHREAD) $(EMBPERLLDFLAGS) $(EMBPERLLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o te test-embed-perl.o $(LIBS_WITHOUT_PTHREAD) $(EMBPERLLDFLAGS) $(EMBPERLLIBS)
+ rm_r.o: rm_r.c
+ $(CC) $(CFLAGS) $(PTHREAD_FLAG) $(DEFS) $(MINCLUDE) -c -o rm_r.o $(srcdir)/rm_r.c
+
+@@ -75,7 +75,7 @@
+ $(CC) $(CFLAGS) $(PTHREAD_FLAG) $(DEFS) $(MINCLUDE) -c -o syslog-fac.o $(srcdir)/syslog-fac.c
+
+ md-mx-ctrl: md-mx-ctrl.o
+- $(CC) $(CFLAGS) -o md-mx-ctrl md-mx-ctrl.o $(LIBS_WITHOUT_PTHREAD)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o md-mx-ctrl md-mx-ctrl.o $(LIBS_WITHOUT_PTHREAD)
+
+ md-mx-ctrl.o: md-mx-ctrl.c
+ $(CC) $(CFLAGS) $(DEFS) $(MINCLUDE) -c -o md-mx-ctrl.o $(srcdir)/md-mx-ctrl.c
+@@ -99,7 +99,7 @@
+ $(CC) $(CFLAGS) $(DEFS) $(MINCLUDE) -c -o mimedefang-multiplexor.o $(srcdir)/mimedefang-multiplexor.c
+
+ mimedefang: mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o dynbuf.o milter_cap.o gen_id.o
+- $(CC) $(CFLAGS) $(PTHREAD_FLAG) -o mimedefang mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o dynbuf.o milter_cap.o gen_id.o $(LDFLAGS) -lmilter $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(PTHREAD_FLAG) -o mimedefang mimedefang.o drop_privs_threaded.o utils.o rm_r.o syslog-fac.o dynbuf.o milter_cap.o gen_id.o $(LDFLAGS) -lmilter $(LIBS)
+
+ mimedefang.o: mimedefang.c mimedefang.h
+ $(CC) $(CFLAGS) $(PTHREAD_FLAG) $(DEFS) $(MINCLUDE) -c -o mimedefang.o $(srcdir)/mimedefang.c
diff --git a/mail-filter/mimedefang/files/mimedefang.conf b/mail-filter/mimedefang/files/mimedefang.conf
new file mode 100644
index 000000000000..49ccef7be077
--- /dev/null
+++ b/mail-filter/mimedefang/files/mimedefang.conf
@@ -0,0 +1,131 @@
+# Additional options for MIMEDefang.
+# read man pages mimedefang(8) for additional informations.
+
+# Locale should be set to "C" for generating valid date headers
+LC_ALL=C
+export LC_ALL
+
+# The settings which follow are defaults. You can override them by
+# placing assignments in /etc/mail/mimedefang.conf
+
+# The socket used by mimedefang to communicate with sendmail
+# SOCKET=$SPOOLDIR/mimedefang.sock
+
+# Run the multiplexor and filters as this user, not root. RECOMMENDED
+MX_USER=defang
+
+# Syslog facility
+# SYSLOG_FACILITY=mail
+
+# If you want to keep spool directories around if the filter fails,
+# set the next one to yes
+# KEEP_FAILED_DIRECTORIES=no
+
+# "yes" turns on the multiplexor relay checking function
+# MX_RELAY_CHECK=no
+
+# "yes" turns on the multiplexor HELO checking function
+# MX_HELO_CHECK=no
+
+# "yes" turns on the multiplexor sender checking function
+# MX_SENDER_CHECK=no
+
+# "yes" turns on the multiplexor recipient checking function
+# MX_RECIPIENT_CHECK=no
+
+# Set to yes if you want the multiplexor to log events to syslog
+MX_LOG=yes
+
+# Set to yes if you want to use an embedded Perl interpreter
+# MX_EMBED_PERL=yes
+
+# Set to full path of socket for Sendmail's SOCKETMAP map, if you
+# want to use it with MIMEDefang
+# MX_MAP_SOCKET=$SPOOLDIR/map.sock
+
+# The multiplexor does not start all slaves at the same time. Instead,
+# it starts one slave every MX_SLAVE_DELAY seconds when the system is idle.
+# (If the system is busy, the multiplexor starts slaves as incoming mail
+# requires attention.)
+# MX_SLAVE_DELAY=3
+
+# The next setting is an absolute limit on slave activation. The multiplexor
+# will NEVER activate a slave within MX_MIN_SLAVE_DELAY seconds of another.
+# The default of zero means that the multiplexor will activate slaves as
+# quickly as necessary to keep up with incoming mail.
+# MX_MIN_SLAVE_DELAY=0
+
+# Set to yes if you want the multiplexor to log stats in
+# /var/log/mimedefang/stats The /var/log/mimedefang directory must
+# exist and be writable by the user you're running MIMEDefang as.
+# MX_STATS=no
+
+# Number of slaves reserved for connections from loopback. Use -1
+# for default behaviour, 0 to allow loopback connections to queue,
+# or >0 to reserve slaves for loopback connections
+LOOPBACK_RESERVED_CONNECTIONS=-1
+
+# Set to yes if you want the stats file flushed after each entry
+# MX_FLUSH_STATS=no
+
+# Set to yes if you want the multiplexor to log stats to syslog
+# MX_STATS_SYSLOG=no
+
+# The socket used by the multiplexor
+# MX_SOCKET=$SPOOLDIR/mimedefang-multiplexor.sock
+
+# Maximum # of requests a process handles
+# MX_REQUESTS=200
+
+# Minimum number of processes to keep. The default of 0 is probably
+# too low; we suggest 2 instead.
+MX_MINIMUM=2
+
+# Maximum number of processes to run (mail received while this many
+# processes are running is rejected with a temporary failure, so be
+# wary of how many emails you receive at a time). This applies only
+# if you DO use the multiplexor. The default value of 2 is probably
+# too low; we suggest 10 instead
+MX_MAXIMUM=10
+
+# Uncomment to log slave status; it will be logged every
+# MX_LOG_SLAVE_STATUS_INTERVAL seconds
+# MX_LOG_SLAVE_STATUS_INTERVAL=30
+
+# Uncomment next line to have busy slaves send status updates to the
+# multiplexor. NOTE: Consumes one extra file descriptor per slave, plus
+# a bit of CPU time.
+# MX_STATUS_UPDATES=yes
+
+# Limit slave processes' resident-set size to this many kilobytes. Default
+# is unlimited.
+# MX_MAX_RSS=10000
+
+# Limit total size of slave processes' memory space to this many kilobytes.
+# Default is unlimited.
+# MX_MAX_AS=30000
+
+# If you want to use the "notification" facility, set the appropriate port.
+# See the mimedefang-notify man page for details.
+# MX_NOTIFIER=inet:4567
+
+# Number of seconds a process should be idle before checking for
+# minimum number and killed
+# MX_IDLE=300
+
+# Number of seconds a process is allowed to scan an email before it is
+# considered dead. The default is 30 seconds; we suggest 600.
+MX_BUSY=600
+
+# Extra sendmail macros to pass. Actually, you can add any extra
+# mimedefang options here...
+# MD_EXTRA="-a auth_author"
+
+# Multiplexor queue size -- default is 0 (no queueing)
+# MX_QUEUE_SIZE=10
+
+# Multiplexor queue timeout -- default is 30 seconds
+# MX_QUEUE_TIMEOUT=30
+
+# SUBFILTER specifies which filter rules file to use
+# SUBFILTER=/etc/mail/mimedefang-filter
diff --git a/mail-filter/mimedefang/files/mimedefang.init b/mail-filter/mimedefang/files/mimedefang.init
new file mode 100644
index 000000000000..efe52c673cb1
--- /dev/null
+++ b/mail-filter/mimedefang/files/mimedefang.init
@@ -0,0 +1,102 @@
+#!/sbin/openrc-run
+#
+# Generic start/stop script for MIMEDefang. Should work on most
+# flavors of UNIX.
+
+RETVAL=0
+prog='mimedefang'
+PROGDIR=/usr/bin
+SPOOLDIR='/var/spool/MIMEDefang'
+PID="$SPOOLDIR/$prog.pid"
+MXPID="$SPOOLDIR/$prog-multiplexor.pid"
+
+# Make sure required vars are set
+SOCKET=${SOCKET:=$SPOOLDIR/$prog.sock}
+MX_SOCKET=${MX_SOCKET:=$SPOOLDIR/$prog-multiplexor.sock}
+
+depend() {
+ use antivirus
+}
+
+start() {
+ if test -r $PID ; then
+ if kill -0 `cat $PID` > /dev/null 2>&1 ; then
+ echo "mimedefang (`cat $PID`) seems to be running."
+ return 1
+ fi
+ fi
+ if test -r $MXPID ; then
+ if kill -0 `cat $MXPID` > /dev/null 2>&1 ; then
+ echo "mimedefang-multiplexor (`cat $MXPID`) seems to be running."
+ return 1
+ fi
+ fi
+
+ rm -f $MX_SOCKET > /dev/null 2>&1
+ if [ "$MX_EMBED_PERL" = "yes" ] ; then
+ EMBEDFLAG=-E
+ else
+ EMBEDFLAG=""
+ fi
+
+ ebegin "Starting mimedefang-multiplexor"
+ start-stop-daemon --start --quiet \
+ --exec $PROGDIR/$prog-multiplexor -- -p $MXPID \
+ $EMBEDFLAG \
+ `[ -n "$SPOOLDIR" ] && echo "-z $SPOOLDIR"` \
+ `[ -n "$FILTER" ] && echo "-f $FILTER"` \
+ `[ -n "$SYSLOG_FACILITY" ] && echo "-S $SYSLOG_FACILITY"` \
+ `[ -n "$SUBFILTER" ] && echo "-F $SUBFILTER"` \
+ `[ -n "$MX_MINIMUM" ] && echo "-m $MX_MINIMUM"` \
+ `[ -n "$MX_MAXIMUM" ] && echo "-x $MX_MAXIMUM"` \
+ `[ -n "$MX_MAP_SOCKET" ] && echo "-N $MX_MAP_SOCKET"` \
+ `[ -n "$MX_LOG_SLAVE_STATUS_INTERVAL" ] && echo "-L $MX_LOG_SLAVE_STATUS_INTERVAL"` \
+ `[ -n "$MX_USER" ] && echo "-U $MX_USER"` \
+ `[ -n "$MX_IDLE" ] && echo "-i $MX_IDLE"` \
+ `[ -n "$MX_BUSY" ] && echo "-b $MX_BUSY"` \
+ `[ -n "$MX_REQUESTS" ] && echo "-r $MX_REQUESTS"` \
+ `[ -n "$MX_SLAVE_DELAY" ] && echo "-w $MX_SLAVE_DELAY"` \
+ `[ -n "$MX_MIN_SLAVE_DELAY" ] && echo "-W $MX_MIN_SLAVE_DELAY"` \
+ `[ -n "$MX_MAX_RSS" ] && echo "-R $MX_MAX_RSS"` \
+ `[ -n "$MX_MAX_AS" ] && echo "-M $MX_MAX_AS"` \
+ `[ "$MX_LOG" = "yes" ] && echo "-l"` \
+ `[ "$MX_STATS" = "yes" ] && echo "-t /var/log/mimedefang/stats"` \
+ `[ "$MX_STATS" = "yes" -a "$MX_FLUSH_STATS" = "yes" ] && echo "-u"` \
+ `[ "$MX_STATS_SYSLOG" = "yes" ] && echo "-T"` \
+ `[ "$MX_STATUS_UPDATES" = "yes" ] && echo "-Z"` \
+ `[ -n "$MX_QUEUE_SIZE" ] && echo "-q $MX_QUEUE_SIZE"` \
+ `[ -n "$MX_QUEUE_TIMEOUT" ] && echo "-Q $MX_QUEUE_TIMEOUT"` \
+ `[ -n "$MX_NOTIFIER" ] && echo "-O $MX_NOTIFIER"` \
+ -s $MX_SOCKET
+ eend $? "Failed to start mimedefang-multiplexor"
+
+ # Start mimedefang
+ rm -f $SOCKET > /dev/null 2>&1
+ ebegin "Starting mimedefang"
+ start-stop-daemon --start --quiet \
+ --exec $PROGDIR/$prog -- -P $PID \
+ -R $LOOPBACK_RESERVED_CONNECTIONS \
+ -m $MX_SOCKET \
+ `[ -n "$SPOOLDIR" ] && echo "-z $SPOOLDIR"` \
+ `[ -n "$MX_USER" ] && echo "-U $MX_USER"` \
+ `[ -n "$SYSLOG_FACILITY" ] && echo "-S $SYSLOG_FACILITY"` \
+ `[ "$MX_RELAY_CHECK" = "yes" ] && echo "-r"` \
+ `[ "$MX_HELO_CHECK" = "yes" ] && echo "-H"` \
+ `[ "$MX_SENDER_CHECK" = "yes" ] && echo "-s"` \
+ `[ "$MX_RECIPIENT_CHECK" = "yes" ] && echo "-t"` \
+ `[ "$KEEP_FAILED_DIRECTORIES" = "yes" ] && echo "-k"` \
+ `[ "$MD_EXTRA" != "" ] && echo $MD_EXTRA` \
+ `[ "$ALLOW_NEW_CONNECTIONS_TO_QUEUE" = "yes" ] && echo "-q"` \
+ -p $SOCKET
+ eend $? "Failed to start mimedefang"
+}
+
+stop() {
+ ebegin "Stopping mimedefang"
+ start-stop-daemon --stop --quiet --pidfile $PID
+ eend $? "Failed to stop mimedefang"
+
+ ebegin "Stopping mimedefang-multiplexor"
+ start-stop-daemon --stop --quiet --pidfile $MXPID
+ eend $? "Failed to stop mimedefang-multiplexor"
+}
diff --git a/mail-filter/mimedefang/metadata.xml b/mail-filter/mimedefang/metadata.xml
new file mode 100644
index 000000000000..5c264d8a27d7
--- /dev/null
+++ b/mail-filter/mimedefang/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>A program for Milter supported mail servers that implements antispam, antivirus and other customizable filtering on email messages</longdescription>
+<use>
+ <flag name="poll">Use poll instead of select</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/mimedefang/mimedefang-2.73.ebuild b/mail-filter/mimedefang/mimedefang-2.73.ebuild
new file mode 100644
index 000000000000..d77e08301069
--- /dev/null
+++ b/mail-filter/mimedefang/mimedefang-2.73.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+DESCRIPTION="Antispam, antivirus and other customizable filtering for MTAs with Milter support"
+HOMEPAGE="http://www.mimedefang.org/"
+SRC_URI="http://www.mimedefang.org/static/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="clamav +poll"
+
+DEPEND=">=dev-perl/MIME-tools-5.412
+ dev-perl/IO-stringy
+ virtual/perl-MIME-Base64
+ dev-perl/Digest-SHA1
+ clamav? ( app-antivirus/clamav )
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}"
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup defang
+ enewuser defang -1 -1 -1 defang
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.72-ldflags.patch
+}
+
+src_configure() {
+ econf \
+ --with-user=defang \
+ $(use_enable poll) \
+ $(use_enable clamav) \
+ $(use_enable clamav clamd)
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_STRIP_FLAG="" install
+
+ fowners defang:defang /etc/mail/mimedefang-filter
+ fperms 644 /etc/mail/mimedefang-filter
+ insinto /etc/mail/
+ insopts -m 644
+ newins "${S}"/SpamAssassin/spamassassin.cf sa-mimedefang.cf
+
+ keepdir /var/spool/{MD-Quarantine,MIMEDefang}
+ fowners defang:defang /var/spool/{MD-Quarantine,MIMEDefang}
+ fperms 700 /var/spool/{MD-Quarantine,MIMEDefang}
+
+ dodir /var/log/mimedefang
+ keepdir /var/log/mimedefang
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+
+ docinto examples
+ dodoc examples/*
+}
diff --git a/mail-filter/mimedefang/mimedefang-2.74.ebuild b/mail-filter/mimedefang/mimedefang-2.74.ebuild
new file mode 100644
index 000000000000..f5a99090ef38
--- /dev/null
+++ b/mail-filter/mimedefang/mimedefang-2.74.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+DESCRIPTION="Antispam, antivirus and other customizable filtering for MTAs with Milter support"
+HOMEPAGE="http://www.mimedefang.org/"
+SRC_URI="http://www.mimedefang.org/static/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="clamav +poll"
+
+DEPEND=">=dev-perl/MIME-tools-5.412
+ dev-perl/IO-stringy
+ virtual/perl-MIME-Base64
+ dev-perl/Digest-SHA1
+ clamav? ( app-antivirus/clamav )
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}"
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup defang
+ enewuser defang -1 -1 -1 defang
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.72-ldflags.patch
+}
+
+src_configure() {
+ econf \
+ --with-user=defang \
+ $(use_enable poll) \
+ $(use_enable clamav) \
+ $(use_enable clamav clamd)
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_STRIP_FLAG="" install
+
+ fowners defang:defang /etc/mail/mimedefang-filter
+ fperms 644 /etc/mail/mimedefang-filter
+ insinto /etc/mail/
+ insopts -m 644
+ newins "${S}"/SpamAssassin/spamassassin.cf sa-mimedefang.cf
+
+ keepdir /var/spool/{MD-Quarantine,MIMEDefang}
+ fowners defang:defang /var/spool/{MD-Quarantine,MIMEDefang}
+ fperms 700 /var/spool/{MD-Quarantine,MIMEDefang}
+
+ keepdir /var/log/mimedefang
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+
+ dodoc -r examples
+}
diff --git a/mail-filter/mimedefang/mimedefang-2.75.ebuild b/mail-filter/mimedefang/mimedefang-2.75.ebuild
new file mode 100644
index 000000000000..e33080eee390
--- /dev/null
+++ b/mail-filter/mimedefang/mimedefang-2.75.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils user
+
+DESCRIPTION="Antispam, antivirus and other customizable filtering for MTAs with Milter support"
+HOMEPAGE="http://www.mimedefang.org/"
+SRC_URI="http://www.mimedefang.org/static/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="clamav +poll"
+
+DEPEND=">=dev-perl/MIME-tools-5.412
+ dev-perl/IO-stringy
+ virtual/perl-MIME-Base64
+ dev-perl/Digest-SHA1
+ clamav? ( app-antivirus/clamav )
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}"
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup defang
+ enewuser defang -1 -1 -1 defang
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.72-ldflags.patch
+}
+
+src_configure() {
+ econf \
+ --with-user=defang \
+ $(use_enable poll) \
+ $(use_enable clamav) \
+ $(use_enable clamav clamd)
+}
+
+src_install() {
+ emake DESTDIR="${D}" INSTALL_STRIP_FLAG="" install
+
+ fowners defang:defang /etc/mail/mimedefang-filter
+ fperms 644 /etc/mail/mimedefang-filter
+ insinto /etc/mail/
+ insopts -m 644
+ newins "${S}"/SpamAssassin/spamassassin.cf sa-mimedefang.cf
+
+ keepdir /var/spool/{MD-Quarantine,MIMEDefang}
+ fowners defang:defang /var/spool/{MD-Quarantine,MIMEDefang}
+ fperms 700 /var/spool/{MD-Quarantine,MIMEDefang}
+
+ keepdir /var/log/mimedefang
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+
+ dodoc -r examples
+}
diff --git a/mail-filter/normalizemime/Manifest b/mail-filter/normalizemime/Manifest
new file mode 100644
index 000000000000..8c7211fed206
--- /dev/null
+++ b/mail-filter/normalizemime/Manifest
@@ -0,0 +1,5 @@
+DIST normalizemime-1.19.tar.bz2 12192 SHA256 5b0813adb4d1cb38e276979dfedac28032effa6b8ee3f45699022a5fa26e761c SHA512 670d2508dd6d79e09a9187d2161d4fd81168b34705d620d1ad3547d298404b3964ddb5ae1921e9e570c7132df1cd65e27f4da6e532bec39a9177085da84eb46c WHIRLPOOL 774445efd497462dbca4827f617761672d3b4d7857170532800c8e6a6401580b601c05ee06a751636008eca4b33be2c78cf213b8427e59a48c31cc577dc38d31
+EBUILD normalizemime-1.19.ebuild 460 SHA256 a18a3d9334eed9c25ddbfb8db12a9fb1a0491fa8184bcec90291ebd936d7c1cc SHA512 9d1014496ec30c7b4caa510d35b548c1699de6491141ea801f5a5e13f9c9d5063e48f5016c93327ca36222ac8f78536aca0a06cee314e020093d0cbb9f1d6060 WHIRLPOOL 3012d0bdcc884281a2ad9693623c902e6a96a2fcd547227e34d1688c177f18da008d3a3c7a55cf82b66be80f4646afa610c6cafbc6ed98cd2d8889ce8883361e
+MISC ChangeLog 2446 SHA256 100bd5d9aa64d9c617b78b7f255da2c47509e478d23f158aa6cb01fbfed2fb95 SHA512 c767632023cf8736f2b4323d6728dfba990085108fe096ecbf4681b2dd097f3fd1ff7594700e4e02802c64c5ad56eea3a2a517cb9bb1d6fffc66282caf506bba WHIRLPOOL dc6929bed8631122d9703d0546255b2345ebb945e97d72e55acff7d724b1b5cf05e53e5ece39de719e0a4e8709df437fc7630355f8b4cace6d79be4ae408f0a2
+MISC ChangeLog-2015 1519 SHA256 a68cdc47588f73e0b2d8d3c44231d358b591c39f9fe8a6e88df55b72d371e3b9 SHA512 1c48da907b62e2a023edf7f39d9f56eea74c6b36252d2d132316316983d953b14ea6416542422b2b17b2518aebaf1be173280b5db6787145227b18777dbb720a WHIRLPOOL 3c64c520a69f3a25cb8af24b4a4e1364b35d3f283b6601788ebe8115c261a5c12c2aabe831e2bab9e53adfaa4a253136ea8219cac6c01577df8dd52d2db24772
+MISC metadata.xml 262 SHA256 afe58408fa8bd99a6383b27736dcb9b26e53a910abec74359933cceed65b5e1b SHA512 4acffedae3fe21ce108327ef8579b4bd158053ecb8473dda042460ce988b5c04e16de34d9fbe55e41a2ed365b726201deeaeef4df40a0e4d1ed301e4012f3da3 WHIRLPOOL 21af13d9ee42a645deb362bf150fb7c25fd07dd66b8add850ec58164ac0f88299a356ea51706c697a6ebbdf06b5ac49a69125df56d4ab66033b2e770ee9e06e7
diff --git a/mail-filter/normalizemime/metadata.xml b/mail-filter/normalizemime/metadata.xml
new file mode 100644
index 000000000000..579136e57489
--- /dev/null
+++ b/mail-filter/normalizemime/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/mail-filter/normalizemime/normalizemime-1.19.ebuild b/mail-filter/normalizemime/normalizemime-1.19.ebuild
new file mode 100644
index 000000000000..18796f2ef32f
--- /dev/null
+++ b/mail-filter/normalizemime/normalizemime-1.19.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit toolchain-funcs
+
+DESCRIPTION="Helper program to normalize MIME encoded messages"
+HOMEPAGE="http://hyvatti.iki.fi/~jaakko/spam/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd"
+IUSE=""
+
+src_compile() {
+ tc-export CC
+ emake normalizemime || die
+}
+
+src_install() {
+ dobin normalizemime || die
+}
diff --git a/mail-filter/opendkim/Manifest b/mail-filter/opendkim/Manifest
new file mode 100644
index 000000000000..c8441c65bf07
--- /dev/null
+++ b/mail-filter/opendkim/Manifest
@@ -0,0 +1,11 @@
+AUX opendkim-2.10.3-gnutls-3.4.patch 1555 SHA256 a003aee444b2a6c9056831608f58451603c09530f48d0bac17c074889aae2228 SHA512 f159f7ef3dffe876ccb01cff5b8fbb599357765ff028ef1db28b7f3dba5e13579c7e9bac305fc36fc324fdad0697224f8caa66d27dd3a1085b5fca133365f4ef WHIRLPOOL 24fa16f90ccdf0616dc8789258c51ff3fac452c6749433ffaa71f231500a0953f020b40e12e5eccd828a01ab37c8bf671175070fad5b5c3d164afe85c719fad7
+AUX opendkim-r1.service 516 SHA256 df348f416abe79f3520571010b1c8e8da3bc60f70c877a70ccb737b4698ed0d0 SHA512 ad0f95ee60628319f3e8f316984f2bee0fd278cebd52bf1c662cc0d38ff09e5bc5df76349e8aeb2918cdf44a92b05b2d5df2ed11738e86a6a5a64c86004fd971 WHIRLPOOL 750e21cca8680cc620a9a89827acd39b72b360f272be091c44e013efc8b2b02d3771d42fe78fae8a4e1e9a7f024ba6face1963862a52ff8c1792ae9592f2c8ab
+AUX opendkim.init.r3 1430 SHA256 0054940f1d1d562829c0094b2e440f10b175f0c4de20c3da4b6d9f758f062436 SHA512 d0a5985ffac171774664d4f619924f25c462d5829e8281b8ff643c22918295d513cf6e0e3a335c550c378b6d4739604539585f2ca809172a090f15d5c1294cf4 WHIRLPOOL 5e9f15649d111566c4bd3fd28c3c73861b00c257fc9bd0ea9d4c3780e59486b056c646905a2b79db9c00083cbf250e6783f30f5ce41cfbda453337eb7dffad8c
+AUX opendkim.service 439 SHA256 8636aee39d924067d1f1673291d1501cec3e6fdee0de16533a1e3616471b35ed SHA512 308edc70fdb0bd57b424e739412217fd8017b017e9b27bc0954dec55294d10d8b7713f6f191836b94aa49bf578bfb391dca748af0c8d9b72e14ebe1eae21e834 WHIRLPOOL 4b7c42b130a31120efba7aa04f90cacd8c6b760204577e2914901eddc6cb425b1c06253d60f43673d28f9992e4b078010f444a390569544573601b3fdbf66e76
+DIST opendkim-2.10.3.tar.gz 1210224 SHA256 43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b SHA512 97923e533d072c07ae4d16a46cbed95ee799aa50f19468d8bc6d1dc534025a8616c3b4b68b5842bc899b509349a2c9a67312d574a726b048c0ea46dd4fcc45d8 WHIRLPOOL 36bbf0f3e81fa291f31123d3614ba113b893d4ba76a5fe017cc9a393888c1ea95525b85e6042bc1db96e9a00e52aa13a251c38438cd03b0fd92b47d17036d680
+EBUILD opendkim-2.10.3-r2.ebuild 6173 SHA256 1d4a503103979c1f06c47d884dbda39c8ae7338113cde4636eaff389b1b5f682 SHA512 c0b6e2563ad7e5e13ca513319a4f2a50c9c1aa222277b37e6e66304a214b9eec614cab97aa908575e7736abf4cc745a6ac3dba437f11ae82b42ad13277ecfdc8 WHIRLPOOL 8e876e9776e810719c715556197aca7d553c7b38970a8aa11da5eba4af885961c92f3efb82706010065411d0c2fe4359505d100fbef018f723c19a782a62c176
+EBUILD opendkim-2.10.3-r3.ebuild 6084 SHA256 a5002b90771a65cf4d5aa8b2851df52467771d91cd1c4f3bd33df9e09b69e1d5 SHA512 b37ffaaaa1b573d058af0cec7c0187381122d3fc62464051967c23dbc6086fe7d90bd88d76fb8762e765bbceefa593e7d16217287b483f2b51bcc3d2625e9495 WHIRLPOOL 618731c543ffce2d4cb693e1bf171d8344725bca41c317a532ef12cf367bf14a3f6d80142ca022bfc74b98596a7ec203b01d8756c1de82e04321188f833700a5
+EBUILD opendkim-2.10.3.ebuild 6093 SHA256 590e9a6a4b077abb570a23c7bb741aac1a32eda335899a862a50d7e59c33db24 SHA512 081e874b5df8ef16e77ec0cb10ba4ebf66a0fe73a1cfe1fc0c899c2a6f378e54daf230508639c9599e49192685ed9ffb64a23085a0d442574a60877a89a8963e WHIRLPOOL a258f242bc7ddecedc69c56a9889329517f3f973a255b5690289e1ce1979a8de2496cf050fde0d7dd1344c0cfa102fef05e913acd61cdf54fc2f1256e569159a
+MISC ChangeLog 4272 SHA256 e50abbaf1e17ba53309740b1922439d012028f017774f09d9f981791ee386304 SHA512 e0fda7ec8d3fee12cba7accaa7692f50f5d4687a213f01369899888aeb7c2aea692e18be484d63acd8b93007bec7275f5015c573790c5e6e2233e00eb4216911 WHIRLPOOL dbbe390c0f67bc446f9b7c1bbc71c20212bd569d745dd3e9f25ece8145abcaa2cd5d17cb465427b69076a475879a82b5c44eb9d0ff4fa0fc1b38bc426397cf48
+MISC ChangeLog-2015 14887 SHA256 c3eaa03db3025033777fd3568b7c8004596144605607136f3098e7fb60b53503 SHA512 5499168a44f7a262eedbe6926378ca86a8cb6128faa5a7f2c7c6b8ffd1a1e6fc26c48c9324391f6a3296a9b9ad8f24be598a17916d0273217fcf5c2838c7abf3 WHIRLPOOL 8ccbac366bb408f2ea82500ea34d4ba25717e6287878491f9efa69e852f58a389f46ca4a46920db3cd9b3eb49201c29df9002a086d7866e8269e5aa8880c19f2
+MISC metadata.xml 1576 SHA256 82a94a57d66c26988555f5666eac0b3e0dcdbd533ecbc0198b00d0966594d20f SHA512 8595e50d9a6775a337a06d7ca32c00d6b37c862eba46c5edfe895230d89cd8952fccca8ad0ed98483b7d47318c6178a11d0ee33070f731d31960c8c20fb10cb7 WHIRLPOOL aaba7c06b37d58b7870bbdd1afb693958935dfb4e7339c4bdfb671bea2466a4366ef162227d02cb43f5e11152ff2160cf8e9383a72701b149aec01ba34d0f65b
diff --git a/mail-filter/opendkim/files/opendkim-2.10.3-gnutls-3.4.patch b/mail-filter/opendkim/files/opendkim-2.10.3-gnutls-3.4.patch
new file mode 100644
index 000000000000..f4594efaac94
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim-2.10.3-gnutls-3.4.patch
@@ -0,0 +1,52 @@
+From 3eea12e5f9af7739d5d009c6888b65bd4875a554 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sat, 4 Mar 2017 00:41:35 +0200
+Subject: [PATCH] crypto: support gnutls-3.4
+
+https://sourceforge.net/p/opendkim/patches/36/
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ libopendkim/dkim.c | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/libopendkim/dkim.c b/libopendkim/dkim.c
+index d0d75a5..0c2278e 100644
+--- a/libopendkim/dkim.c
++++ b/libopendkim/dkim.c
+@@ -5301,6 +5301,8 @@ dkim_sig_process(DKIM *dkim, DKIM_SIGINFO *sig)
+ size_t diglen = 0;
+ #ifdef USE_GNUTLS
+ gnutls_datum_t key;
++ gnutls_digest_algorithm_t hash;
++ gnutls_sign_algorithm_t sign_algo;
+ #else /* USE_GNUTLS */
+ BIO *key;
+ #endif /* USE_GNUTLS */
+@@ -5442,7 +5444,22 @@ dkim_sig_process(DKIM *dkim, DKIM_SIGINFO *sig)
+ return DKIM_STAT_OK;
+ }
+
+- rsastat = gnutls_pubkey_verify_hash(rsa->rsa_pubkey, 0,
++ hash = GNUTLS_DIG_SHA1;
++
++ if (dkim_libfeature(dkim->dkim_libhandle,
++ DKIM_FEATURE_SHA256) &&
++ sig->sig_hashtype == DKIM_HASHTYPE_SHA256)
++ hash = GNUTLS_DIG_SHA256;
++
++ sign_algo = gnutls_pk_to_sign(GNUTLS_PK_RSA, hash);
++ if (sign_algo == GNUTLS_SIGN_UNKNOWN)
++ {
++ assert(0);
++ /* NOTREACHED */
++ }
++
++ rsastat = gnutls_pubkey_verify_hash2(rsa->rsa_pubkey,
++ sign_algo, 0,
+ &rsa->rsa_digest,
+ &rsa->rsa_sig);
+ if (rsastat < 0)
+--
+2.10.2
+
diff --git a/mail-filter/opendkim/files/opendkim-r1.service b/mail-filter/opendkim/files/opendkim-r1.service
new file mode 100644
index 000000000000..f2e937a6bf16
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim-r1.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=DomainKeys Identified Mail (DKIM) Milter
+Documentation=man:opendkim(8) man:opendkim.conf(5) man:opendkim-genkey(8) man:opendkim-genzone(8) man:opendkim-testadsp(8) man:opendkim-testkey http://www.opendkim.org/docs.html
+After=network.target nss-lookup.target syslog.target
+
+[Service]
+ExecStart=/usr/sbin/opendkim -f -x /etc/opendkim/opendkim.conf
+ExecReload=/bin/kill -USR1 $MAINPID
+RuntimeDirectory=opendkim
+RuntimeDirectoryMode=0750
+User=milter
+Group=milter
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/opendkim/files/opendkim.init.r3 b/mail-filter/opendkim/files/opendkim.init.r3
new file mode 100644
index 000000000000..bb8ac96f0570
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim.init.r3
@@ -0,0 +1,55 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CONFFILE=/etc/opendkim/${SVCNAME}.conf
+
+depend() {
+ use dns logger net
+ before mta
+}
+
+check_cfg() {
+
+ PIDFILE=$(sed -ne 's/^[[:space:]]*PidFile[[:space:]]\+//p' "${CONFFILE}")
+ local PIDDIR="${PIDFILE%/*}"
+ if [ ! -d "${PIDDIR}" ] ; then
+ checkpath -q -d -o milter:milter -m 0755 "${PIDDIR}" || return 1
+ fi
+ if [ ! -f "${CONFFILE}" ] ; then
+ eerror "Configuration file ${CONFFILE} is missing"
+ return 1
+ fi
+ if [ -z "${PIDFILE}" ] ; then
+ eerror "Configuration file needs PidFile setting - recommend adding 'PidFile /var/run/opendkim/${SVCNAME}.pid' to ${CONFFILE}"
+ 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
+}
+
+start() {
+ check_cfg || return 1
+
+ # Remove stalled Unix socket if no other process is using it
+ local UNIX_SOCKET=$(sed -ne 's/^[[:space:]]*Socket[[:space:]]\+\(unix\|local\)://p' "${CONFFILE}")
+
+ if [ -S "${UNIX_SOCKET}" ] && ! fuser -s "${UNIX_SOCKET}"; then
+ rm "${UNIX_SOCKET}"
+ fi
+
+ ebegin "Starting OpenDKIM"
+ start-stop-daemon --start --pidfile "${PIDFILE}" \
+ --exec /usr/sbin/opendkim -- -x "${CONFFILE}"
+ eend $?
+}
+
+stop() {
+ check_cfg || return 1
+ ebegin "Stopping OpenDKIM"
+ start-stop-daemon --stop --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/mail-filter/opendkim/files/opendkim.service b/mail-filter/opendkim/files/opendkim.service
new file mode 100644
index 000000000000..be534d670bca
--- /dev/null
+++ b/mail-filter/opendkim/files/opendkim.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=DomainKeys Identified Mail (DKIM) Milter
+Documentation=man:opendkim(8) man:opendkim.conf(5) man:opendkim-genkey(8) man:opendkim-genzone(8) man:opendkim-testadsp(8) man:opendkim-testkey http://www.opendkim.org/docs.html
+After=network.target nss-lookup.target syslog.target
+
+[Service]
+ExecStart=/usr/sbin/opendkim -f -x /etc/opendkim/opendkim.conf
+ExecReload=/bin/kill -USR1 $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/opendkim/metadata.xml b/mail-filter/opendkim/metadata.xml
new file mode 100644
index 000000000000..0a92fe435f3c
--- /dev/null
+++ b/mail-filter/opendkim/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription>A program implementing the Milter API that signs and verifies
+using the DKIM standard. This is a fork of Sendmail's DKIM-milter</longdescription>
+ <use>
+ <!--flag name='diffheaders'>On verification failure, compare the
+ original and the received headers to look for possible munging</flag-->
+ <flag name="unbound">Use the unbound dnssec library to perform DKIM DNS
+ queries.</flag>
+ <flag name="opendbx">Use opendbx backend to facilitate dataset driven
+ OpenDKIM configuration options like stats, bodylengthdb, etc. against a wide
+ variety of database types</flag>
+ <flag name="sasl">Used to authenticate to a LDAP server in various ways if
+ required.</flag>
+ <flag name="ldap">Enable openldap as a dataset facilitator or keys,
+ determining domains to sign for, and any other dataset that opendkim
+ supports.</flag>
+ <flag name="lua">Enables control over signature verification, filtering and
+ policy to be controlled by user defined lua scripts.</flag>
+ <flag name="poll">Use poll() instead of select() for the provided
+ asynchronous resolver library.</flag>
+ <flag name="memcached">Add support for using <pkg>dev-libs/libmemcached</pkg>
+ </flag>
+ <flag name="lmdb">Add support for using <pkg>dev-db/lmdb</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">opendkim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/opendkim/opendkim-2.10.3-r2.ebuild b/mail-filter/opendkim/opendkim-2.10.3-r2.ebuild
new file mode 100644
index 000000000000..cae5527aec29
--- /dev/null
+++ b/mail-filter/opendkim/opendkim-2.10.3-r2.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+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-2.11.7 )"
+
+RDEPEND="${DEPEND}
+ sys-process/psmisc
+ selinux? ( sec-policy/selinux-dkim )
+"
+
+REQUIRED_USE="sasl? ( ldap )"
+
+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() {
+ 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)
+ myconf="--with-db-incdir=${myconf#-I}"
+ myconf+=" --enable-popauth"
+ myconf+=" --enable-query_cache"
+ myconf+=" --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} \
+ --docdir=/usr/share/doc/${PF} \
+ --htmldir=/usr/share/doc/${PF}/html \
+ --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() {
+ emake DESTDIR="${D}" install
+
+ 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
+
+ use static-libs || find "${D}" -name "*.la" -delete
+}
+
+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"
+}
diff --git a/mail-filter/opendkim/opendkim-2.10.3-r3.ebuild b/mail-filter/opendkim/opendkim-2.10.3-r3.ebuild
new file mode 100644
index 000000000000..18f586f3be7b
--- /dev/null
+++ b/mail-filter/opendkim/opendkim-2.10.3-r3.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2017 Gentoo Foundation
+# 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"
+)
+
+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"
+}
diff --git a/mail-filter/opendkim/opendkim-2.10.3.ebuild b/mail-filter/opendkim/opendkim-2.10.3.ebuild
new file mode 100644
index 000000000000..9e1f0e702189
--- /dev/null
+++ b/mail-filter/opendkim/opendkim-2.10.3.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+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 lmdb lua memcached opendbx poll sasl selinux +ssl static-libs unbound"
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ dev-libs/libbsd
+ ssl? ( >=dev-libs/openssl-0.9.8:* )
+ 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-2.11.7 )"
+
+RDEPEND="${DEPEND}
+ sys-process/psmisc
+ selinux? ( sec-policy/selinux-dkim )
+"
+
+REQUIRED_USE="sasl? ( ldap )"
+
+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() {
+ 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)
+ myconf="--with-db-incdir=${myconf#-I}"
+ myconf+=" --enable-popauth"
+ myconf+=" --enable-query_cache"
+ myconf+=" --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} \
+ --docdir=/usr/share/doc/${PF} \
+ --htmldir=/usr/share/doc/${PF}/html \
+ --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() {
+ emake DESTDIR="${D}" install
+
+ dosbin stats/opendkim-reportstats
+
+ newinitd "${FILESDIR}/opendkim.init.r3" opendkim
+ systemd_dounit "${FILESDIR}/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
+
+ use static-libs || find "${D}" -name "*.la" -delete
+}
+
+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"
+}
diff --git a/mail-filter/opendmarc/Manifest b/mail-filter/opendmarc/Manifest
new file mode 100644
index 000000000000..b26bae81193b
--- /dev/null
+++ b/mail-filter/opendmarc/Manifest
@@ -0,0 +1,13 @@
+AUX opendmarc.confd 85 SHA256 706e2af2230581b833eed4119a01e3e8eda51ded9db4e57ddb85d589b5e8cbd6 SHA512 7e5faeebbccaaafe42e6edda3a812b9954f19d71b4593cb2ab895dfeb26a8073e4aaeb2f5c626b1c35877d08ea00077b0507fe833e2838b10d83d5e0acfe966c WHIRLPOOL c027b848771d9dda25a2c064c453a9081e462b62dfbfb35f25f0f201ebfff5fe69d5661563ebe530a57e7b9e985e36af2de039b50bd3709c6b06310e15b1e431
+AUX opendmarc.initd 1509 SHA256 9c7cb4069017ef8c99d91e64bb64ab6e7eacc762d3ab8225689c2faf04fdd308 SHA512 00c9901cf5b460e20d8010d4aedfd7c338c76d1053f9ddcd9d4aa2c183345e3b810d0bee1207ff9a7ad988577192c52470ca62c67130a981fa67e393d5c70129 WHIRLPOOL a07ebcf2cf31ae2ddde4c997bacb844d1bba11f31ec8ca8c00c003fe2302f4217e41822c7d4009cb9b83867d54c7d3cafb42dfd275276e5d28e9bb0f77d3a937
+DIST opendmarc-1.1.3.tar.gz 586574 SHA256 4f9511ebd8cefb6e5a4d836f6285a1b6e4d682daec79fdba9fc7925b5f4fcfca SHA512 30de56b6da1665e0ed68484702bfcfcbd0b65275053818c807c16dea26f0e014a0484dc9d5ed6d1405628ea22a61082f13cecf66714a414139f612c51a294086 WHIRLPOOL 7364dfd213fb05f1d58eecb940a95eb1328b78204c0a12a341a0a6cdf48aa8c638b0e4e4ed0c7fa51e72fb11ab68da386050124741a8215c4aec788b7da0d8b2
+DIST opendmarc-1.3.0.tar.gz 640017 SHA256 43547c5bcd440e1a50109063ba1d07bd5b1b9af89f7491e063fe0788a1af13e8 SHA512 c685cae0e02a72b797f24a28b9965f8745f165a3ce3a8f3f2e0167ebf6121e92389990870271204ca02b06703f4ad98c6d343345478040f7fc4013b1ce331b03 WHIRLPOOL 80d9720c1e52c4d9d7f35a89d58075108b5011f0c4fdafc24733a648eb926c0373f617e3cdb76bc1ea19ff8074d4b63425fb06129849ec521f861d28cea83295
+DIST opendmarc-1.3.1.tar.gz 640151 SHA256 a0c0cf74de68454cbdce16a3095b96e70fc16614325052ea230878d1ca64da6b SHA512 0be11540bc26bd3b3e6cc9817bc379a5d290b63ef16c5d3559bf96b241ad6628bea7a9daeb468afac855bc16be16676f722b3c1d468ea82c8d8364e8a8137226 WHIRLPOOL 2a892d1dbe46ec9fb3fd5aad3b5f38046c9f4be6a5ee6dcdf4e0f03cd09b663243844010db0d328fef361a0615284256ba649714a79ecc9970797aa01101631d
+DIST opendmarc-1.3.2.tar.gz 593448 SHA256 213c4b01a9ff5dcdf331f7bd1dd6a382077abbf8ee9111852f2101ec917c2ffb SHA512 6045fb7d2be8f0ffdeca07324857d92908a41c6792749017c2fcc1058f05f55317b1919c67c780827dd7094ec8fff2e1fa4aeb5bab7ff7461537957af2652748 WHIRLPOOL b94ff550815ef2a0e377d60f7226f79cbb35b889a1685a4fa0087bfb6e8b132cae87a7448b7bf6bade82f5b711d5020c22d85eae55a15ace4e8ea5ada83d2712
+EBUILD opendmarc-1.1.3.ebuild 597 SHA256 f304cbae4061f1a6513fac39004a622a7e308810c7ef7cfde6ae8a606718806b SHA512 45dbba6d2ce68b5467d5fcb42b3a4818fb80f59a7596259c8f715baa5fbf73957e199087f9d5e6e52a2750ad495d3dc97271e4534745572f256522ff16127c1b WHIRLPOOL dae8ec45b9354e18e1bd62a5e5e1c9f1e9143fa90d65592dd95b7ddc098f93b98c99337033a33a36de5d602d924c1966699033b470c31e7f1970c47e9a7db3ad
+EBUILD opendmarc-1.3.0.ebuild 1151 SHA256 9310460bc3aaa6dec2b913f4810000e7c49cfee7a955c73efff3857f65cad1f9 SHA512 5f78d95f7cee6896f592a907baf175f52b2d42f497f286392a7cc0db91d7a84de6628b99f914fec805045abb86e2b1f3ba86d61fc2eb7a1d5134de276cd8ed20 WHIRLPOOL 4b4916fad4d72dc6f10d5e4f14c602a8a1753dd620b1dc735908ffb9f65b8723b78acd81a779c8bc62f43a0b027b1261e29a01285c7dc1464d440114200d04bd
+EBUILD opendmarc-1.3.1.ebuild 1156 SHA256 75ef7005b7e6181e62ab1437e3bedf2011f94084088c020550a9917f6b324b24 SHA512 16f9c896956264d1a4baea5d2b89d0a9faa67541e016e2e75304f087df60f72430b6f3fb079a250b183bfa2f5f868c3b97f350d8a11d24c817a68355d9c42e1d WHIRLPOOL 4829f9d94459ffa9adbb2bb4c5f4d5ed73595bf7f3d028af5af880981cda6f02830f0674d9fd808ff82d95ae695452539370d56ca9eea1b9badc09b6702d8861
+EBUILD opendmarc-1.3.2-r1.ebuild 1471 SHA256 a9186951402adc31ec29bb3f4ef7d954e3549c3fd37951b30338e431ede58517 SHA512 84b335416af77d6d7303ab1d9dee4c086a181c6bb87319020a849df6750ac39b6ba6d3e4af4e728fd8b2c49bb4f06ef4073df351859f8bd1cd14262177e6627e WHIRLPOOL a652c893a19b39784788dadc648d085fda1891db9128679ad9f6067a1ee4024d8cc9b7ccae2a2968acdf25c8b6af02b59b03166e177caec679fced3dfe49be16
+MISC ChangeLog 3282 SHA256 80a74ed54383d13ff02b066e1d5a95fb0303ea32864093973434735652f3e309 SHA512 3dde30282cf9c566ce82b8b3d91e1413dd48c986f9fd43cc6098885ad61f6d8ed3a3dd4c1e19e17326982637ec8aee8a2142b846044740c7907863f434ec0b6c WHIRLPOOL eb1b9a7fab85f1b1ca5a32f9fb8ae6f52cd40745f63adb600292db4dd3551311c0194f8b2a909fb2abd3dec6e18316beb0e0c1b22339fbafea6428787505f65d
+MISC ChangeLog-2015 3061 SHA256 7d0990ddd359c9a745d553bdce6d9f1507b63bf5e9dca0a383716d0566c071ae SHA512 f9feb9c3c61d5c583b54902842691756fd2ca8cef73864dbb0bb997a867ae4c58f78cffc853068215a3b44e8716b8db4c3141995db772c9259cbeca9702700ad WHIRLPOOL 105df6981ee447145c2a06f8d66578cc67e3071f30041c785ed8fe69f7555c78dfcff21db822e0eafb468caff8c79f7968cab475c108b5e886de5648be4f9bf4
+MISC metadata.xml 617 SHA256 7aef544d18be60ce72235b0e98aa93a3f57f3414159ceca247f8942af3bd238c SHA512 d87d8c166d001457d673d4c19ed5a34aa6e2fd99dd91aee1d31649d1b9e671034dcec42b5e160817d45ed6f8f0a44bce579ce72861113588a4229f25b56386fb WHIRLPOOL e8c5b3a713f51205c547f7e9a27828a8ad234c2f99b5694c66bf9237831654b702c1b861854657d51daf2c2bcb8ae1e3a2ed200dc05380936b8b61117dc0a4a9
diff --git a/mail-filter/opendmarc/files/opendmarc.confd b/mail-filter/opendmarc/files/opendmarc.confd
new file mode 100644
index 000000000000..ef59affa3f89
--- /dev/null
+++ b/mail-filter/opendmarc/files/opendmarc.confd
@@ -0,0 +1,3 @@
+# user/group to run opendmarc daemon as
+OPENDMARC_USER=milter
+OPENDMARC_GROUP=milter
diff --git a/mail-filter/opendmarc/files/opendmarc.initd b/mail-filter/opendmarc/files/opendmarc.initd
new file mode 100644
index 000000000000..6a8300f145d6
--- /dev/null
+++ b/mail-filter/opendmarc/files/opendmarc.initd
@@ -0,0 +1,53 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CONFFILE="/etc/opendmarc/${SVCNAME}.conf"
+
+depend() {
+ use dns logger net
+ before mta
+}
+
+check_cfg() {
+ if [ ! -f "${CONFFILE}" ] ; then
+ eerror "Configuration file ${CONFFILE} is missing"
+ return 1
+ fi
+ # create /var/run/opendmarc
+ mkdir -p /var/run/opendmarc >& /dev/null
+ chown ${OPENDMARC_USER}:${OPENDMARC_GROUP} /var/run/opendmarc >& /dev/null
+ PIDFILE=$(sed -ne 's/^[[:space:]]*PidFile[[:space:]]\+//p' "${CONFFILE}")
+ local PIDDIR="${PIDFILE%/*}"
+ if [ ! -d "${PIDDIR}" ] ; then
+ checkpath -q -d -o ${OPENDMARC_USER}:${OPENDMARC_GROUP} -m 0755 "${PIDDIR}" || return 1
+ fi
+ if [ -z "${PIDFILE}" ] ; then
+ eerror "Configuration file needs PidFile setting - recommend adding 'PidFile /var/run/opendmarc/${SVCNAME}.pid' to ${CONFFILE}"
+ return 1
+ fi
+ if egrep -q '^[[:space:]]*Background[[:space:]]+false' "${CONFFILE}" ; then
+ eerror "${SVCNAME} service cannot run with Background key set to false!"
+ return 1
+ fi
+
+ ebegin "Checking your configfile (${CONFFILE})"
+ opendmarc -c "${CONFFILE}" -n
+ eend $? "Configuration error. Please fix your configfile (${CONFFILE})"
+}
+
+start() {
+ check_cfg || return 1
+
+ ebegin "Starting OpenDMARC"
+ start-stop-daemon --start --pidfile "${PIDFILE}" \
+ --exec /usr/sbin/opendmarc -- -c "${CONFFILE}"
+ eend $?
+}
+
+stop() {
+ check_cfg || return 1
+ ebegin "Stopping OpenDMARC"
+ start-stop-daemon --stop --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/mail-filter/opendmarc/metadata.xml b/mail-filter/opendmarc/metadata.xml
new file mode 100644
index 000000000000..a2f23494aa42
--- /dev/null
+++ b/mail-filter/opendmarc/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">opendmarc</remote-id>
+ </upstream>
+ <use>
+ <flag name="spf">Use the <pkg>mail-filter/libspf2</pkg>
+ for Sender Policy Framework checking</flag>
+ <flag name="reports">Install the reports binaries: expire,
+ import, reports, params</flag>
+ </use>
+</pkgmetadata>
diff --git a/mail-filter/opendmarc/opendmarc-1.1.3.ebuild b/mail-filter/opendmarc/opendmarc-1.1.3.ebuild
new file mode 100644
index 000000000000..776550c01125
--- /dev/null
+++ b/mail-filter/opendmarc/opendmarc-1.1.3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Open source DMARC implementation "
+HOMEPAGE="http://www.trusteddomain.org/opendmarc/"
+SRC_URI="mirror://sourceforge/opendmarc/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-perl/DBI
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}
+ dev-perl/Switch"
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+}
diff --git a/mail-filter/opendmarc/opendmarc-1.3.0.ebuild b/mail-filter/opendmarc/opendmarc-1.3.0.ebuild
new file mode 100644
index 000000000000..7a751418a039
--- /dev/null
+++ b/mail-filter/opendmarc/opendmarc-1.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit user
+
+DESCRIPTION="Open source DMARC implementation "
+HOMEPAGE="http://www.trusteddomain.org/opendmarc/"
+SRC_URI="mirror://sourceforge/opendmarc/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~x86 ~x86-fbsd"
+IUSE="spf"
+
+DEPEND="dev-perl/DBI
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}
+ dev-perl/Switch
+ spf? ( mail-filter/libspf2 )"
+
+pkg_setup() {
+ enewgroup milter
+ enewuser milter -1 -1 /var/lib/milter milter
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ $(use_with spf)
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/opendmarc.initd opendmarc
+ newconfd "${FILESDIR}"/opendmarc.confd opendmarc
+
+ dodir /etc/opendmarc
+
+ # create config file
+ sed \
+ -e 's/^# UserID .*$/UserID milter/' \
+ -e 's/^# PidFile .*/PidFile \/var\/run\/opendmarc\/opendmarc.pid/' \
+ -e '/^# Socket /s/^# //' \
+ "${S}"/opendmarc/opendmarc.conf.sample \
+ > "${ED}"/etc/opendmarc/opendmarc.conf \
+ || die
+}
diff --git a/mail-filter/opendmarc/opendmarc-1.3.1.ebuild b/mail-filter/opendmarc/opendmarc-1.3.1.ebuild
new file mode 100644
index 000000000000..22347bba5397
--- /dev/null
+++ b/mail-filter/opendmarc/opendmarc-1.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit user
+
+DESCRIPTION="Open source DMARC implementation "
+HOMEPAGE="http://www.trusteddomain.org/opendmarc/"
+SRC_URI="mirror://sourceforge/opendmarc/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~x86 ~x86-fbsd"
+IUSE="spf"
+
+DEPEND="dev-perl/DBI
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}
+ dev-perl/Switch
+ spf? ( mail-filter/libspf2 )"
+
+pkg_setup() {
+ enewgroup milter
+ enewuser milter -1 -1 /var/lib/milter milter
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ $(use_with spf)
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/opendmarc.initd opendmarc
+ newconfd "${FILESDIR}"/opendmarc.confd opendmarc
+
+ dodir /etc/opendmarc
+
+ # create config file
+ sed \
+ -e 's/^# UserID .*$/UserID milter/' \
+ -e 's/^# PidFile .*/PidFile \/var\/run\/opendmarc\/opendmarc.pid/' \
+ -e '/^# Socket /s/^# //' \
+ "${S}"/opendmarc/opendmarc.conf.sample \
+ > "${ED}"/etc/opendmarc/opendmarc.conf \
+ || die
+}
diff --git a/mail-filter/opendmarc/opendmarc-1.3.2-r1.ebuild b/mail-filter/opendmarc/opendmarc-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..f701f5636acd
--- /dev/null
+++ b/mail-filter/opendmarc/opendmarc-1.3.2-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit user
+
+DESCRIPTION="Open source DMARC implementation "
+HOMEPAGE="http://www.trusteddomain.org/opendmarc/"
+SRC_URI="mirror://sourceforge/opendmarc/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~x86 ~x86-fbsd"
+IUSE="spf +reports"
+
+DEPEND="reports? ( dev-perl/DBI )
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}
+ reports? (
+ dev-perl/DBD-mysql
+ dev-perl/HTTP-Message
+ dev-perl/Switch
+ )
+ spf? ( mail-filter/libspf2 )"
+
+pkg_setup() {
+ enewgroup milter
+ enewuser milter -1 -1 /var/lib/milter milter
+}
+
+src_prepare() {
+ default
+ if use !reports ; then
+ sed -i -e '/^SUBDIRS =/s/reports//' Makefile.in || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ $(use_with spf) \
+ $(use_with spf spf2-include "${EPREFIX}"/usr/include/spf2) \
+ $(use_with spf spf2-lib "${EPREFIX}"/usr/lib)
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/opendmarc.initd opendmarc
+ newconfd "${FILESDIR}"/opendmarc.confd opendmarc
+
+ dodir /etc/opendmarc
+
+ # create config file
+ sed \
+ -e 's:^# UserID .*$:UserID milter:' \
+ -e "s:^# PidFile .*:PidFile ${EPREFIX}/var/run/opendmarc/opendmarc.pid:" \
+ -e '/^# Socket /s:^# ::' \
+ "${S}"/opendmarc/opendmarc.conf.sample \
+ > "${ED}"/etc/opendmarc/opendmarc.conf \
+ || die
+}
diff --git a/mail-filter/opensmtpd-extras/Manifest b/mail-filter/opensmtpd-extras/Manifest
new file mode 100644
index 000000000000..2342e5a793b3
--- /dev/null
+++ b/mail-filter/opensmtpd-extras/Manifest
@@ -0,0 +1,7 @@
+DIST opensmtpd-extras-201606062304.tar.gz 631098 SHA256 d04e00200adfd850d5f2ed98108f71cb789dc904b212e16bb0a775f8fa06fa2d SHA512 7af916ed71fb81518bccbc7a82946a2a8252d2b70663238d7eea21841c82926221f03ab7afebd79d49f41e970e62c2dd70234ebaa0d27be5a9c5bbb4ae4ef7d8 WHIRLPOOL 077522d35e1c526490441f6a41bb69d441ddd25f53cebdc1f11380332b44956320cf0304687e7e5b5bf82be523801a7d4e6b5aacf7d87506b795d4fe96dbdb4f
+DIST opensmtpd-extras-201609141255.tar.gz 561289 SHA256 2a892e538fdf9cc9963a4a2cfc596494ffd244e5f220f34514f73b523353f82e SHA512 df9caf235095edd1f8535e41a3aedc51a5674a62d66d0749d5bb0d4433f3ea54e0b31a8b3a4d619b7ca79b64bcb1576b97f220c60cb3f48080d1972b7a46cc0b WHIRLPOOL 7e74a9eb03dbca479f90eac3f2def4cdafaef437b6bbf30b8a2ebb37167ee929e53ded91ada425a5f6d197405e7a5e69f903026c156f434ba21c41284b544b08
+EBUILD opensmtpd-extras-5.9.2.201606062304.ebuild 2169 SHA256 f80043176c34a73717ba6f5dceeb4537c598edde1917a7b39c3038ba3aea823f SHA512 2b04688a091526f6a5cdcb8369a2cec278c16b5f77221cafc0571fdb660740c43aeb48b15d8cbb88cba81775d79ec86214496ab7ef976e26f2d199137726fb1e WHIRLPOOL db7ebae31c9389cae47f3383bd69045bbe830f9120c285f6f258e016f9322523f30428deeed36da6854c799ea90c73aa62f360ead4d6f25e9e739ce96ab1f5de
+EBUILD opensmtpd-extras-5.9.2.201609141255.ebuild 2017 SHA256 249c257939a62fa1d4260cf821f42dec4ad42fcf1abe8b5b682318d64c90811e SHA512 b7eb3a80c3ccac7b097431f5eb747a86fa37f1956edd7a1c513311d1a930e4467462b3dcf0007a524b271da573765fcbce3f67f15a6845cbd9c88358c26bcbe0 WHIRLPOOL 191d957710e045a53f157a3c134772ee330a307161633c1540c784810cc43bc4110f93e414f547ad4b3bf2788b8ac64af304458f7d27e447909124f9324ecdce
+MISC ChangeLog 3955 SHA256 00b8580d0aef82ce73dd56e2e920579669fa0dbf6fcb5c226786240ec2da6704 SHA512 d296883e1599a4fd521c9fb0eb2bf58831786146ed48786ba45451a1b4d0d04665379bfd1de1bcb6e95b57b262d0a21f27c28a6023ee4c86ebb84faeb911d7c7 WHIRLPOOL c46f2d6b1500f56e9ac261e96a5063501d658f8408b5e6277dcb1fd84d5e9ad7500d69b3c2192ca360c01855d29277b82846d4f422f7ccd457325538f5cd5d7f
+MISC ChangeLog-2015 1084 SHA256 3cc7fccdaa17b0c3603df6912ea743b1d93cd5e5c28c30c3c1475b776ab72026 SHA512 4e9f38c5e4273211266310e3d45edd8aa93853e1e6673f15fd73294d6e1aad79fcc4ecf4df9f2fdcda9eb3321b83d32406e4b441f16aa40c50c3a4459e3ea62f WHIRLPOOL 55c695801b485f1c2a7bfbff70c39b647814afdc1debd3d57ff58447b4f7eb68ee3ad01452c9e86b7159188a8dcd6aa242a75aabc1ac16f9135ba3b4910dc142
+MISC metadata.xml 2421 SHA256 4a245310d34050e42888b02f1d6f3d0794e0dc8aeb9c4b0de81850fa5fd17ba2 SHA512 38877b09f6c26192d3b60a741f0b796d0397c0f2db7390323bb9cdd0cce0152d68247bc98c3734ae3e7e34b95d908c76572382fcac215ce22d4455230126a74b WHIRLPOOL 7b97d68d35be4f010823caeec5af7602d82f3fea119c60bbff3b5f0e34633bab38973dfa6dff8fe530521bfab706dcc54e4f01105f3c3e78afac02cfe0a80a33
diff --git a/mail-filter/opensmtpd-extras/metadata.xml b/mail-filter/opensmtpd-extras/metadata.xml
new file mode 100644
index 000000000000..8a6e2719ffe1
--- /dev/null
+++ b/mail-filter/opensmtpd-extras/metadata.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zx2c4@gentoo.org</email>
+ <name>Jason A. Donenfeld</name>
+ </maintainer>
+ <use>
+ <flag name="filter-clamav">filter for scanning with app-antivirus/clamav</flag>
+ <flag name="filter-dkim-signer">filter for adding DKIM signatures to outgoing messages</flag>
+ <flag name="filter-dnsbl">filter for checking hosts against the DNS black lists</flag>
+ <flag name="filter-lua">filter for interfacing with dev-lang/lua</flag>
+ <flag name="filter-monkey">filter for arbitrarily rejecting random emails</flag>
+ <flag name="filter-pause">filter to pause on new connections</flag>
+ <flag name="filter-perl">filter for interfacing with dev-lang/perl</flag>
+ <flag name="filter-python">filter for interfacing with dev-lang/python</flag>
+ <flag name="filter-regex">filter for regular expression matching</flag>
+ <flag name="filter-spamassassin">filter for scanning with mail-filter/spamassassin</flag>
+ <flag name="filter-stub">stub filter</flag>
+ <flag name="filter-trace">trace filter</flag>
+ <flag name="filter-void">void filter</flag>
+ <flag name="queue-null">null queue</flag>
+ <flag name="queue-python">queue for interfacing with dev-lang/python</flag>
+ <flag name="queue-ram">ram queue</flag>
+ <flag name="queue-stub">stub queue</flag>
+ <flag name="table-ldap">table for lookups with net-nds/openldap</flag>
+ <flag name="table-mysql">table for lookups with virtual/mysql</flag>
+ <flag name="table-postgres">table for lookups with dev-db/postgresql</flag>
+ <flag name="table-redis">table for lookups with dev-db/redis</flag>
+ <flag name="table-socketmap">table for lookups using a socket map</flag>
+ <flag name="table-passwd">table for lookups using /etc/passwd</flag>
+ <flag name="table-python">table for interfacing with dev-lang/python</flag>
+ <flag name="table-sqlite">table for lookups with dev-db/sqlite3</flag>
+ <flag name="table-stub">stub table</flag>
+ <flag name="scheduler-ram">ram scheduler</flag>
+ <flag name="scheduler-stub">stub scheduler</flag>
+ <flag name="scheduler-python">schedulre for interfacing with python</flag>
+ <flag name="luajit">Use JIT for Lua via dev-lang/luajit instead of dev-lang/lua</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">OpenSMTPD/OpenSMTPD-extras</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201606062304.ebuild b/mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201606062304.ebuild
new file mode 100644
index 000000000000..f7cb787bdf4a
--- /dev/null
+++ b/mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201606062304.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic autotools versionator
+
+DESCRIPTION="Extra tables, filters, and various other addons for OpenSMTPD"
+HOMEPAGE="https://github.com/OpenSMTPD/OpenSMTPD-extras"
+SRC_URI="https://www.opensmtpd.org/archives/${PN}-$(get_version_component_range 4-).tar.gz"
+
+LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+MY_COMPONENTS="
+ filter-clamav
+ filter-dkim-signer
+ filter-dnsbl
+ filter-lua
+ filter-monkey
+ filter-pause
+ filter-perl
+ filter-python
+ filter-regex
+ filter-spamassassin
+ filter-stub
+ filter-trace
+ filter-void
+
+ queue-null
+ queue-python
+ queue-ram
+ queue-stub
+
+ scheduler-python
+ scheduler-ram
+ scheduler-stub
+
+ table-ldap
+ table-mysql
+ table-passwd
+ table-postgres
+ table-python
+ table-redis
+ table-socketmap
+ table-sqlite
+ table-stub
+"
+IUSE="${MY_COMPONENTS} libressl luajit"
+
+# Deps:
+# mysql needs -lmysqlclient
+# sqlite needs -lsqlite3
+# redis needs -lhiredis
+# postgres requires -lpq
+# ldap uses internal library and requires no deps
+# spamassassin uses internal library and requires no deps
+# clamav uses internal library and requires no deps
+# dnsbl needs -lasr
+# python requires python, currently pegged at 2.7
+# lua requires any lua version
+
+DEPEND="mail-mta/opensmtpd
+ dev-libs/libevent
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ filter-python? ( dev-lang/python:2.7 )
+ filter-perl? ( dev-lang/perl )
+ filter-lua? ( luajit? ( dev-lang/luajit:2 ) !luajit? ( dev-lang/lua:* ) )
+ filter-dnsbl? ( net-libs/libasr )
+ table-sqlite? ( dev-db/sqlite:3 )
+ table-mysql? ( virtual/mysql )
+ table-postgres? ( dev-db/postgresql:* )
+ table-redis? ( dev-libs/hiredis )
+ table-python? ( dev-lang/python:2.7 )
+ scheduler-python? ( dev-lang/python:2.7 )
+ queue-python? ( dev-lang/python:2.7 )
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 4-)
+
+src_prepare() {
+ eautoreconf
+}
+src_configure() {
+ econf \
+ --with-user-smtpd=smtpd \
+ --sysconfdir=/etc/opensmtpd \
+ --with-lua-type=$(usex luajit luajit lua) \
+ $(for use in $MY_COMPONENTS; do use_with $use; done)
+}
diff --git a/mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201609141255.ebuild b/mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201609141255.ebuild
new file mode 100644
index 000000000000..69c6776bcb7e
--- /dev/null
+++ b/mail-filter/opensmtpd-extras/opensmtpd-extras-5.9.2.201609141255.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic autotools versionator
+
+DESCRIPTION="Extra tables, filters, and various other addons for OpenSMTPD"
+HOMEPAGE="https://github.com/OpenSMTPD/OpenSMTPD-extras"
+SRC_URI="https://www.opensmtpd.org/archives/${PN}-$(get_version_component_range 4-).tar.gz"
+
+LICENSE="ISC BSD BSD-1 BSD-2 BSD-4"
+SLOT="0"
+KEYWORDS=""
+MY_COMPONENTS="
+ filter-monkey
+ filter-stub
+ filter-trace
+ filter-void
+
+ queue-null
+ queue-python
+ queue-ram
+ queue-stub
+
+ scheduler-python
+ scheduler-ram
+ scheduler-stub
+
+ table-ldap
+ table-mysql
+ table-passwd
+ table-postgres
+ table-python
+ table-redis
+ table-socketmap
+ table-sqlite
+ table-stub
+"
+IUSE="${MY_COMPONENTS} libressl luajit"
+
+# Deps:
+# mysql needs -lmysqlclient
+# sqlite needs -lsqlite3
+# redis needs -lhiredis
+# postgres requires -lpq
+# ldap uses internal library and requires no deps
+# spamassassin uses internal library and requires no deps
+# clamav uses internal library and requires no deps
+# dnsbl needs -lasr
+# python requires python, currently pegged at 2.7
+# lua requires any lua version
+
+#filter-python? ( dev-lang/python:2.7 )
+#filter-perl? ( dev-lang/perl )
+#filter-dnsbl? ( net-libs/libasr )
+#filter-lua? ( luajit? ( dev-lang/luajit:2 ) !luajit? ( dev-lang/lua:* ) )
+DEPEND="mail-mta/opensmtpd
+ dev-libs/libevent
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ table-sqlite? ( dev-db/sqlite:3 )
+ table-mysql? ( virtual/mysql )
+ table-postgres? ( dev-db/postgresql:* )
+ table-redis? ( dev-libs/hiredis )
+ table-python? ( dev-lang/python:2.7 )
+ scheduler-python? ( dev-lang/python:2.7 )
+ queue-python? ( dev-lang/python:2.7 )
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 4-)
+
+src_prepare() {
+ eautoreconf
+}
+src_configure() {
+ econf $(for use in $MY_COMPONENTS; do use_with $use; done) \
+ --with-user-smtpd=smtpd \
+ --sysconfdir=/etc/opensmtpd
+ #--with-lua-type=$(usex luajit luajit lua) \
+}
diff --git a/mail-filter/p3scan/Manifest b/mail-filter/p3scan/Manifest
new file mode 100644
index 000000000000..0a81b8604d14
--- /dev/null
+++ b/mail-filter/p3scan/Manifest
@@ -0,0 +1,11 @@
+AUX p3scan-ocreat.patch 433 SHA256 06f2d8bea897990df6d6b09a5fcb564f4a1e4eae37027a9a11a5cd62145d6670 SHA512 b5b63058da540a8ea7f56191ead2c2b537f1b5dd4486aba35285a26cef8e0c9759063fcc523c5664890fab3e0c866dcf8e5f38d83288f6f5689e5b294131d139 WHIRLPOOL de4b935c27c4b4caba372e1a0ed334bb03f99b8d702065169027ef033ab741ae2ef4304eb23462bd039f4d3942b816844fe268ef4ad1e05b858813d7f0d74b83
+AUX p3scan.init 503 SHA256 7ca51907fd5bb7833dae1b8441360302a1e8feb5c349729c29a4f64848b5300b SHA512 77c037bf36255f536b8907e0e2dea98ee259d27c82529478c0635995702125745c9a1a420beb65c20803c08f9526ea0af5d5e26f9cd00fec550ccd08221a9dcd WHIRLPOOL 67a46f7490847ebe47fea3618c9daeca29cddbcd19e2a996725c5308a267e4439f74463abd95c5a7d81a7bcd7ea30e0c6b74ec737de36b022d48da377e9a320b
+AUX p3scan.init-r1 646 SHA256 b60f79c15846d07db643bca3f76b1cca7305593712e64bde5bb6080d59fde708 SHA512 f59aada64cc835ecd2ea09d46ac41577a0d45d859e6f570777640d64920f215c8e39362e609da474be3cc7757248127c4937567590336368f6c30f0639debc22 WHIRLPOOL 39c81e0ef0fbc8e91d9ce73c752bc670534f8e0e01bbb2b58bcfbc3578d6664d70622f870dabd17fd726d62397315ac5058a2eafaf6ba62bea7486e861b4666f
+DIST p3scan-2.3.1.tar.gz 315677 SHA256 2c51185caddde414de13f7de9b94986145a6519deac1de655f38538113122329 SHA512 562ae70bdb18bc43f00da3106a5c575fa8b12182d0bad72f5fab1bdeeea536bef2e6b2eae9088c561adc293e520e25a27d3b85d687fa29fd895bb3144360caad WHIRLPOOL 739600c9ae83ae3c78ad6c5a1c3ea4dd310aaecde6bb0b69adce8bd3a3f6050d63388ad38491914d4712333f61278a2bfd7c766c5922a9cd7b7adae0a189e821
+DIST p3scan-2.3.2.tar.gz 321684 SHA256 570bdf87132b23120339e247809dc2cf37c2735d504f4e1072528c04d940bb5f SHA512 7504e988ca21760ea73f3ae41d9ec79c560da29e88ac849b671e4452e426cb8ca5065fe8de5b839299bd5da81e16f51951748a134a1737502f924c89867b75b7 WHIRLPOOL 852cd76b92656bc89d9f8c8e8890c2ee58e7d9f9019537ddde74831bcfd675883571a15778d57b25f2c46fe7c40dfe429592d7943e975fb35185894a0b296dbe
+EBUILD p3scan-2.3.1.ebuild 1920 SHA256 0730295ddd648fb1f8933996d7b9c3939217cd2095bfd348e0fabd4d3df63905 SHA512 b2220d81eff58e985ea33098d22c08d7602b2dda7433eb4e8a1f6740107cb4cb35224f1ef348f6e0bbdece8c325f0526b89a0f1646ad59a4595ce4824876ed9d WHIRLPOOL cab86bb79a71f02a76bb1c06fd8c263f93b1888344d4f4a7fb36b59895642c1947dea3f002f5a8a7573b9932720d0372422135935adc94810c90bb01e448662e
+EBUILD p3scan-2.3.2-r1.ebuild 2534 SHA256 9d29969ccc5e7c26dc7bf39e55db684ab572c9856d9047409bc47b7fd116cc7b SHA512 e02ba07d17e23ba2b048dde6ff0f1de01dc2fbc22d2952686ce068cf43933f8f22dd03f5cf93c210ac896e63a9689df18fc7ccf6c14f2bcd16e4624d5a742bb5 WHIRLPOOL ccb3d9c2a88193c9241d794573e2ec0bb50cf989e1be924245ea2f3eec36afefaa2306671aad21a69ee56780e39a037e0b1042a7f8427e27281d7ed9764147c0
+EBUILD p3scan-2.3.2-r2.ebuild 2468 SHA256 1077c78913c6245cd844df57cb0dd7ee55b96c5ff4ccc4f133406fcebbe5260a SHA512 331e71ac5d45682da393dbfe9aa2b0581bf9abbfead6a6952cafdf11b8e38699ddcd4dbfbc47af644670b268982d96a49d495a6d8b6f24c8b35e810c4de8ebd6 WHIRLPOOL 8d25b539b6a52831cf61fdcaa44536ffa6e5a3e5ea3068f73fcac71ef24e17ef18e77f9e0f8623bdcf5868a31595d12adac6c42861a5f856ced0f71034e8965c
+MISC ChangeLog 2766 SHA256 e73f961314140bc95d4283d23fcd139912a47e8f762e52b5a56570bb6e590b75 SHA512 065e37b306f64a574d3d3493846d587b2a5d3779c2c1879b1935adb805de7c4ab953314af9e2a74199b42c7d4f81f40cfc0e981819ddb462240c8b11f88b6fa1 WHIRLPOOL 12c35be1e37eee24352adbc06410c9ed880bcc6ba190afc3ed759c83759861c0d609e22640e889edf86363f0cb130d8f5d21555a7a9c4aa275e347a4660082c4
+MISC ChangeLog-2015 3211 SHA256 27726d5973f9cd041db1ae066dc550907dedb0620bdd5bd30ca6324bf4d18eac SHA512 3a9323ab5be3e8769579c50a4e362d794cf0257ae88dd4097a00d70b661b48abc063f8166087eff408cfc2475f71b4a7f4eb61288f0c884e657e05978282d394 WHIRLPOOL 5e922bee985621cc600e81dfe0478ea48c11854d5efd6b1b15ec0ce8b42a1eadadb1b099d86165617862a4cf7dc24242374a69aea493075a7ef77042c2eb0cd4
+MISC metadata.xml 569 SHA256 d6c6760553b5c175ed502a9cc87b8e530857ae83e95c17ab435bdbe986d7467b SHA512 986e9968b05ab1ffe038ac8875fffc2d12cec4f5a5a591064f3fbab08600af6d3397385b0164f6a4b47f590fc314dba7cf17b0d61ea3eeaef0089c72ad1809ba WHIRLPOOL 1f9ce7e8e30313f20814b43bf8d0de0170c695f19d710e989e174a7748f3d032b2c1c7877bf7bfb8142d0a43673b9edfdb59c161e10551a549c23e0d7fd22e48
diff --git a/mail-filter/p3scan/files/p3scan-ocreat.patch b/mail-filter/p3scan/files/p3scan-ocreat.patch
new file mode 100644
index 000000000000..c99bc88a0a5f
--- /dev/null
+++ b/mail-filter/p3scan/files/p3scan-ocreat.patch
@@ -0,0 +1,11 @@
+--- p3scan.c 2005-12-12 15:00:00.000000000 +0000
++++ p3scan.c 2009-03-06 02:34:13.000000000 +0000
+@@ -366,7 +366,7 @@
+ XXXXXX[4] = letters[v % 62];
+ v /= 62;
+ XXXXXX[5] = letters[v % 62];
+- fd=open(template, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR | O_SYNC, 0600);
++ fd=open(template, O_RDWR | O_CREAT | O_EXCL | O_SYNC, 0600);
+ if (fd >= 0){
+ errno = save_errno;
+ return fd;
diff --git a/mail-filter/p3scan/files/p3scan.init b/mail-filter/p3scan/files/p3scan.init
new file mode 100644
index 000000000000..8900cd0b44fd
--- /dev/null
+++ b/mail-filter/p3scan/files/p3scan.init
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting p3scan"
+ start-stop-daemon --start --quiet --pidfile /var/run/p3scan/p3scan.pid --exec /usr/sbin/p3scan
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping p3scan"
+ start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/p3scan/p3scan.pid
+ eend $?
+}
+
+restart() {
+ ebegin "Restarting p3scan"
+ svc_stop
+ sleep 1
+ svc_start
+ eend $?
+}
diff --git a/mail-filter/p3scan/files/p3scan.init-r1 b/mail-filter/p3scan/files/p3scan.init-r1
new file mode 100644
index 000000000000..174ea5c52fb2
--- /dev/null
+++ b/mail-filter/p3scan/files/p3scan.init-r1
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use net
+}
+
+checkconfig() {
+ if [[ ! -d /var/run/p3scan ]] ; then
+ checkpath -q -d -m 0700 -o mail:mail /var/run/p3scan || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting p3scan"
+ start-stop-daemon --start --quiet --pidfile /var/run/p3scan/p3scan.pid --exec /usr/sbin/p3scan
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping p3scan"
+ start-stop-daemon --stop --quiet --pidfile /var/run/p3scan/p3scan.pid
+ eend $?
+}
+
+restart() {
+ ebegin "Restarting p3scan"
+ svc_stop
+ sleep 1
+ svc_start
+ eend $?
+}
diff --git a/mail-filter/p3scan/metadata.xml b/mail-filter/p3scan/metadata.xml
new file mode 100644
index 000000000000..0d107426017b
--- /dev/null
+++ b/mail-filter/p3scan/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription>P3Scan is a fully transparent scanning proxy-server for POP3-Clients. It provides scanning of incoming email messages for Virus''s, Worms, Trojans, Spam, and harmfull attachments. It can also parse HTML messages.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">p3scan</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/p3scan/p3scan-2.3.1.ebuild b/mail-filter/p3scan/p3scan-2.3.1.ebuild
new file mode 100644
index 000000000000..58e3bc30b59a
--- /dev/null
+++ b/mail-filter/p3scan/p3scan-2.3.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="This is a full-transparent proxy-server for POP3-Clients"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://p3scan.sf.net/"
+
+DEPEND="net-mail/ripmime
+ dev-libs/libpcre"
+RDEPEND="net-firewall/iptables"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~ppc x86"
+IUSE=""
+
+src_compile() {
+ emake || die
+}
+
+src_install () {
+ newinitd ${FILESDIR}/${PN}.init ${PN}
+
+ dosbin ${PN} || die
+
+ dodir /etc/${PN}
+ insinto /etc/${PN}
+ doins ${PN}.conf ${PN}-*.mail
+ doins ${PN}-*.mail
+
+ keepdir /var/run/${PN}
+
+ keepdir /var/spool/${PN}
+ keepdir /var/spool/${PN}/children
+ keepdir /var/spool/${PN}/notify
+
+ fowners mail:mail /var/run/${PN}
+ fperms 700 /var/run/${PN}
+
+ fowners mail:mail /var/spool/${PN}
+ fperms 700 /var/spool/${PN}
+
+ fowners mail:mail /var/spool/${PN}/children
+ fperms 700 /var/spool/${PN}/children
+
+ fowners mail:mail /var/spool/${PN}/notify
+ fperms 700 /var/spool/${PN}/notify
+
+ doman p3scan.8.gz p3scan_readme.8.gz
+
+ dodoc AUTHORS CHANGELOG CONTRIBUTERS LICENSE NEWS README \
+ README-rpm spamfaq.* TODO.list
+}
+
+pkg_postinst() {
+ enewuser mail 8 /bin/true /var/spool/mail mail
+
+ if [ ! -L /etc/${PN}/${PN}.mail ]; then
+ ln -sf /etc/${PN}/${PN}-en.mail /etc/${PN}/${PN}.mail
+ fi
+
+ echo
+ elog "Default infected notification template language is set to english, change the"
+ elog "symbolic link /etc/${PN}/${PN}.mail if you want it in another language."
+ elog
+ elog "To start ${PN}, you can use /etc/init.d/${PN} start"
+ elog
+ elog "You need port-redirecting, a rule like:"
+ elog " iptables -t nat -A PREROUTING -p tcp -i eth0 --dport pop3 -j REDIRECT --to 8110"
+ elog "to forward pop3 connections incoming from eth0 interface."
+ elog
+ elog "You will also need to configure at least following in /etc/${PN}/${PN}.conf:"
+ elog "scannertype, scanner, virusregexp"
+ echo
+}
diff --git a/mail-filter/p3scan/p3scan-2.3.2-r1.ebuild b/mail-filter/p3scan/p3scan-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..14ecb27ea34a
--- /dev/null
+++ b/mail-filter/p3scan/p3scan-2.3.2-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils toolchain-funcs user
+
+DESCRIPTION="This is a full-transparent proxy-server for POP3-Clients"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://p3scan.sf.net/"
+
+# Older ripmime did not install a library
+DEPEND="dev-libs/libpcre
+ >=net-mail/ripmime-1.4.0.9
+ "
+RDEPEND="net-firewall/iptables"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}/p3scan-ocreat.patch"
+
+ # respect CC (bug #244144), and CFLAGS (bug #240786)
+ sed -i \
+ -e "s/gcc/$(tc-getCC)/" \
+ -e "s:^CFLAGS=-Wall -O2 :CFLAGS=${CFLAGS} :" \
+ -e '/^LDFLAGS=/d' \
+ -e '/^ripmime\/libripmime/,+7d' \
+ -e '/^\.c\.o:/,+3d' \
+ -e '$ap3scan: LDLIBS:=-lripmime -lpcre -lssl -lcrypto\np3scan: $(OBJECTS)' \
+ Makefile || die
+ # Be sure the system copy is used
+ rm -rf ripmime/
+}
+
+src_compile() {
+ emake || die
+}
+
+src_install () {
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+
+ dosbin ${PN} || die
+
+ dodir /etc/${PN}
+ insinto /etc/${PN}
+ doins ${PN}.conf ${PN}-*.mail
+ doins ${PN}-*.mail
+
+ keepdir /var/run/${PN}
+
+ keepdir /var/spool/${PN}
+ keepdir /var/spool/${PN}/children
+ keepdir /var/spool/${PN}/notify
+
+ fowners mail:mail /var/run/${PN}
+ fperms 700 /var/run/${PN}
+
+ fowners mail:mail /var/spool/${PN}
+ fperms 700 /var/spool/${PN}
+
+ fowners mail:mail /var/spool/${PN}/children
+ fperms 700 /var/spool/${PN}/children
+
+ fowners mail:mail /var/spool/${PN}/notify
+ fperms 700 /var/spool/${PN}/notify
+
+ doman p3scan.8.gz p3scan_readme.8.gz
+
+ dodoc AUTHORS CHANGELOG CONTRIBUTERS NEWS README \
+ README-rpm TODO.list p3scan.sh spamfaq.*
+}
+
+pkg_postinst() {
+ enewuser mail 8 /bin/true /var/spool/mail mail
+
+ if [ ! -L /etc/${PN}/${PN}.mail ]; then
+ ln -sf /etc/${PN}/${PN}-en.mail /etc/${PN}/${PN}.mail
+ fi
+
+ echo
+ elog "Default infected notification template language is set to english, change the"
+ elog "symbolic link /etc/${PN}/${PN}.mail if you want it in another language."
+ elog
+ elog "To start ${PN}, you can use /etc/init.d/${PN} start"
+ elog
+ elog "You need port-redirecting, a rule like:"
+ elog " iptables -t nat -A PREROUTING -p tcp -i eth0 --dport pop3 -j REDIRECT --to 8110"
+ elog "to forward pop3 connections incoming from eth0 interface."
+ elog
+ elog "You will need to configure at least following in /etc/${PN}/${PN}.conf:"
+ elog "scannertype, scanner, virusregexp"
+ elog
+ elog "An example scanner script has been installed to:"
+ elog "/usr/share/doc/${PF}/"
+ echo
+}
diff --git a/mail-filter/p3scan/p3scan-2.3.2-r2.ebuild b/mail-filter/p3scan/p3scan-2.3.2-r2.ebuild
new file mode 100644
index 000000000000..2023906b5ccd
--- /dev/null
+++ b/mail-filter/p3scan/p3scan-2.3.2-r2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils toolchain-funcs user
+
+DESCRIPTION="This is a full-transparent proxy-server for POP3-Clients"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://p3scan.sf.net/"
+
+# Older ripmime did not install a library
+DEPEND="dev-libs/libpcre
+ >=net-mail/ripmime-1.4.0.9
+ >=net-mail/mailbase-1
+ "
+RDEPEND="net-firewall/iptables
+ sys-apps/openrc"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}/p3scan-ocreat.patch"
+
+ # respect CC (bug #244144), and CFLAGS (bug #240786)
+ sed -i \
+ -e "s/gcc/$(tc-getCC)/" \
+ -e "s:^CFLAGS=-Wall -O2 :CFLAGS=${CFLAGS} :" \
+ -e '/^LDFLAGS=/d' \
+ -e '/^ripmime\/libripmime/,+7d' \
+ -e '/^\.c\.o:/,+3d' \
+ -e '$ap3scan: LDLIBS:=-lripmime -lpcre -lssl -lcrypto\np3scan: $(OBJECTS)' \
+ Makefile || die
+ # Be sure the system copy is used
+ rm -rf ripmime/
+}
+
+src_install () {
+ newinitd "${FILESDIR}"/${PN}.init-r1 ${PN}
+
+ dosbin ${PN}
+
+ dodir /etc/${PN}
+ insinto /etc/${PN}
+ doins ${PN}.conf ${PN}-*.mail
+ doins ${PN}-*.mail
+
+ keepdir /var/spool/${PN}
+ keepdir /var/spool/${PN}/children
+ keepdir /var/spool/${PN}/notify
+
+ fowners mail:mail /var/spool/${PN}
+ fperms 700 /var/spool/${PN}
+
+ fowners mail:mail /var/spool/${PN}/children
+ fperms 700 /var/spool/${PN}/children
+
+ fowners mail:mail /var/spool/${PN}/notify
+ fperms 700 /var/spool/${PN}/notify
+
+ doman p3scan.8.gz p3scan_readme.8.gz
+
+ dodoc AUTHORS CHANGELOG CONTRIBUTERS NEWS README \
+ README-rpm TODO.list p3scan.sh spamfaq.*
+}
+
+pkg_postinst() {
+ if [ ! -L /etc/${PN}/${PN}.mail ]; then
+ ln -sf /etc/${PN}/${PN}-en.mail /etc/${PN}/${PN}.mail || die
+ fi
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ echo
+ elog "Default infected notification template language is set to english, change the"
+ elog "symbolic link /etc/${PN}/${PN}.mail if you want it in another language."
+ elog
+ elog "To start ${PN}, you can use /etc/init.d/${PN} start"
+ elog
+ elog "You need port-redirecting, a rule like:"
+ elog " iptables -t nat -A PREROUTING -p tcp -i eth0 --dport pop3 -j REDIRECT --to 8110"
+ elog "to forward pop3 connections incoming from eth0 interface."
+ elog
+ elog "You will need to configure at least following in /etc/${PN}/${PN}.conf:"
+ elog "scannertype, scanner, virusregexp"
+ elog
+ elog "An example scanner script has been installed to:"
+ elog "/usr/share/doc/${PF}/"
+ echo
+ fi
+}
diff --git a/mail-filter/policyd-weight/Manifest b/mail-filter/policyd-weight/Manifest
new file mode 100644
index 000000000000..6f2194d2d1d4
--- /dev/null
+++ b/mail-filter/policyd-weight/Manifest
@@ -0,0 +1,6 @@
+AUX policyd-weight.init.d-r1 357 SHA256 8fbdbdab47f54c4eba5ad3a9939f775b24c730d5b30daf4e888e7f15a09f006b SHA512 e419b516c914282a4ec34bedb786e88e3cc26caef028f79bd994f31786ca55a6dbf71876ac1b33d3cf4e5411dda8d02ffb61c65c3270a63ab3a0022dbfc8a977 WHIRLPOOL 08f2790f1b63fa2b7d38a7d3ea38bca63aead1b37d3b72e569893b09e3c6edea33ffcae9508506a79cfa6fd84c1432663301ae9f9a6cf3acc42e1abe4cb53d53
+DIST policyd-weight-0.1.15.2.tar.gz 75347 SHA256 7aee2b5b71a89dd774d8dfff761e0ddc7910b38dbe42f895ca21e8af7a30bb42 SHA512 37702762c171b208d37651b2051b521e4f44708b7bb7e0d3001fd2ba123b227c847bad8dd479d7a56f9aeab02fdfd957d34b2c4d7f3a9fd727614cd4031f8b78 WHIRLPOOL 0f606e509ef2f1b8c4b049e5fe45a7c52ebaac64af5b6928b6e1f0fc4e8ff520f724d871124590147993c20315c6d43e4c210abae3e67986fa15134666a3a404
+EBUILD policyd-weight-0.1.15.2-r1.ebuild 959 SHA256 555bf3296596e889ccc2a1ac8df0f3d980bf66a9a3d8835414cf18ecc3656c1b SHA512 e1be911e7576b014574ea66399dfe056ca037751e70de1b37575ea74f7cfca1e27ab7c61faa227d9158ef7d9f9b9926c1ab3824528b3f30dbf5e3a85f52abe47 WHIRLPOOL 6a2d3f057a277b05b46a12c580a9f49e5a463f02ce6f32210a817378c915348394bdc083526654f4d5f6cffe5feb817d97d7b8298c4b6354660ed8e6f907460c
+MISC ChangeLog 2641 SHA256 3948bfcbd6782e0dc0a19f0fc60b7a935719dc1ebdc03460ab466af55be46ee1 SHA512 c6c8d4905f288c6dee060d3e57f1b259d73d7c329ceb6911baa9a420783fb36d81e0c3b0743d62c692f101bfdb25c03b16d82590a490785b58da3ef6ebcfa1ca WHIRLPOOL 3ef82b8ab9b082546d1ef7c14d090c16fb49ea960928923daa056aa46c92bee014413a55d5a36bad115f6b800400a4b1f4eac6931225311e9b3902c239607db6
+MISC ChangeLog-2015 4395 SHA256 968674296646e7fc774c0621793e27af67912006ba2f0ce16cc3f90d81a052e2 SHA512 617910128121df0b9177bee9818031d5df01c1d71d10c657f3832715f26a76e113f886143cf80e6e1aa9ce8b8887961d282d3b294ee776fc493d29c5ec0d0dff WHIRLPOOL eadb1d00d03b02e5292d515ab4668d8e022df5ab8a5f1197554c7db9ae88f38d0b54759952d2d206f7771b0f08b5cbfbf736c2ae4905859e6134fb639f3fdc3f
+MISC metadata.xml 826 SHA256 8de6c94c422cfb4cfc2d1c3daac7e70cccffc6c318de816644ea96bbc912aa80 SHA512 f7227950b202c28fe81a77e83ad679265526557775e30696594a434e4bfde1ffba3d59f7f0b5ee49a0dc373c92ed8b3c7591d679cec123fecc9e533329d7a735 WHIRLPOOL f4b184d5915434ea49e4461a519fbcdcb916373006fa8be0519095d8631ab504bcc98f854b75c006268c1b3b69b31fdcd75ea6402885bf411101635a67a120ce
diff --git a/mail-filter/policyd-weight/files/policyd-weight.init.d-r1 b/mail-filter/policyd-weight/files/policyd-weight.init.d-r1
new file mode 100644
index 000000000000..366cd183f9dd
--- /dev/null
+++ b/mail-filter/policyd-weight/files/policyd-weight.init.d-r1
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+
+extra_started_commands="reload"
+
+daemon="policyd-weight"
+exec="/usr/libexec/postfix/policyd-weight"
+
+depend(){
+ before postfix
+ use net
+}
+
+start(){
+ ebegin "Starting ${daemon}"
+ ${exec} start
+ eend $?
+}
+
+stop(){
+ ebegin "Stopping ${daemon}"
+ ${exec} -k stop
+ eend $?
+}
+
+reload(){
+ ebegin "Reloading ${daemon}"
+ ${exec} reload
+ eend $?
+}
diff --git a/mail-filter/policyd-weight/metadata.xml b/mail-filter/policyd-weight/metadata.xml
new file mode 100644
index 000000000000..8df60c7775d3
--- /dev/null
+++ b/mail-filter/policyd-weight/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription lang="en">
+ policyd-weight is a Perl policy daemon for the Postfix MTA (2.1 and
+ later) intended to eliminate forged envelope senders and HELOs (i.e. in
+ bogus mails). It allows you to score DNSBLs (RBL/RHSBL), HELO, MAIL
+ FROM and client IP addresses before any queuing is done. It allows you
+ to REJECT messages which have a score higher than allowed, providing
+ improved blocking of spam and virus mails. policyd-weight caches the
+ most frequent client/sender combinations (SPAM as well as HAM) to reduce
+ the number of DNS queries.
+ </longdescription>
+</pkgmetadata>
diff --git a/mail-filter/policyd-weight/policyd-weight-0.1.15.2-r1.ebuild b/mail-filter/policyd-weight/policyd-weight-0.1.15.2-r1.ebuild
new file mode 100644
index 000000000000..6f6c048e4700
--- /dev/null
+++ b/mail-filter/policyd-weight/policyd-weight-0.1.15.2-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+DESCRIPTION="Weighted Policy daemon for Postfix"
+HOMEPAGE="http://www.policyd-weight.org/"
+SRC_URI="http://www.policyd-weight.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="virtual/perl-Sys-Syslog
+ dev-perl/Net-DNS
+ >=mail-mta/postfix-2.1"
+
+pkg_setup() {
+ enewgroup 'polw'
+ enewuser 'polw' -1 -1 -1 'polw'
+}
+
+src_compile() { :; }
+
+src_install() {
+ exeinto /usr/libexec/postfix
+ doexe policyd-weight
+ fowners root:wheel /usr/libexec/postfix/policyd-weight
+
+ doman man/man5/*.5 man/man8/*.8
+ dodoc *.txt
+
+ sed -i -e "s:^ \$LOCKPATH.*: \$LOCKPATH = '/var/run/policyd-weight/'; # must be a directory (add:" policyd-weight.conf.sample || die
+ insinto /etc
+ newins policyd-weight.conf.sample policyd-weight.conf
+
+ newinitd "${FILESDIR}/${PN}.init.d-r1" "${PN}"
+}
diff --git a/mail-filter/policyd/Manifest b/mail-filter/policyd/Manifest
new file mode 100644
index 000000000000..ededeed9cbcd
--- /dev/null
+++ b/mail-filter/policyd/Manifest
@@ -0,0 +1,11 @@
+AUX policyd-cleanup.cron 59 SHA256 b7bd9b05d72872e9cc6d46f2233e060109471acb1a744983cfa8e5643597e5b7 SHA512 220fb388adf3d7f7021992b8866f23a5f308d429885028d2b52a49140b965748d3934e7a8ebd7a6d3443878948a461271638199a44d496a90fdfebcc811e7bac WHIRLPOOL cc3a22507766d00ea6f1668af722aafdb7bb3ed50e7b973d80bca90d8d47a8afc29764df9f275e9ad56191c7af36fa8ab75b32abe862689df59a64442f8a7482
+AUX policyd-makefile.patch 1439 SHA256 a3cee9caac402102bb581cbba4d2e7f456627cd0d212e2e787f70df95a05056c SHA512 b1b27490dc3bff75f353d51091c97864562b077980e042ab2c973dcf84a1071d0c3942aa06a9a4667e286c24377fcf3db6e43606639c3ebdefce7b489c64944b WHIRLPOOL 594a5c74a62332e509111c3d0c08a550b80a4584621f926df4bf325186cefcee375b8a27137e04b73c666de2c30eb2ad53ee3b80e63dcf881c275a02fb150451
+AUX policyd-post182.patch 1567 SHA256 54f8d8cfe38309c1ba5a7230e534d259bfe7a6a9aaa8e2191219cde35a1c9658 SHA512 155e919d8411cbeb0265b11324b234bb687d9d4125b38cdc174ad4128234d745b7ec38487b518f8a2a923868f3dfd2071f53f768aea407de814c6f53354d2718 WHIRLPOOL fd5332e249548a592cf68f37cc5fbb2e3608b50229dec60b6733cd26e96c30846e4e382a01efdc982169a079f3e64bf825fb2d55c0abca9c7b0d3425d19925ea
+AUX policyd.confd 61 SHA256 1b5e38189d93e2348d0633bd1f3399020008ef9dfb94cf11b13ab05ecbc3382c SHA512 6fbac91a71bd556e864b70534a57fcc60bf4a838ff780ee878b257313e12205ae95402c591cc62604dad8d1ee349ecea74c1646429c39587dc0ba13a697ca68f WHIRLPOOL 2d311b9f8275f5d8d50037fea76686dde7827560d115fa6fa287872cca0192456a6ec66cf9ca9792abadcd61a7d30b4945be5bf22b2931136ccf3ce920c787a8
+AUX policyd.rc 443 SHA256 f2d1de6aa690b74d1e34bf9eaea83e660bba2f31419e5d91d425751c81d07fbb SHA512 32f2dec8b9067bcf219ee4edec2b36d010cadc34a018e6597339b238b21db7782975d12098d1232854b70e19bbdbe355bc8c4f23a5675ecc6171eeca81bfa69c WHIRLPOOL 84f418ea476da9f503f59b932eb41772b7003af69b40691b0b2992a627ff224df483fd5d91c74ebeaa24f10b4f4ee054689e12474e34a6b409208aa4ceab8d8c
+DIST policyd-1.82.tar.gz 68372 SHA256 63a90d26732ed24f8d8fa8623d74b73104a61a2c80b0e062437777cf13b80566 SHA512 08de114736620d5f1c11f7183135ecf4589c2d6258dee486b5f4f5a9156e4feabd7eaf19fa09428e79d5d5c72ac4757c83af86f43a7547030b1a59cb368e82a8 WHIRLPOOL 538c0cc7a6b5fa75b9f188d2fd6ee4864da44cd8eaee2e9250d397435b1335ce67631bebe7c99e5d833aea4df5843d775c90fdf9bf99ad7786a63b5df3d44f7d
+EBUILD policyd-1.82-r1.ebuild 1966 SHA256 ff15a47b53751eb9fc9f98964b538df62ad01ef0f2c5a9b40082f8df21e89a60 SHA512 aac7afcabf9f10ec7d438528b8f42ccef289c881ac6b05ed1691dda83c6bf92e823d5024cfcd9a04a92a8a3b051d05a7aa785bef1f01da6ac2191d980aadded5 WHIRLPOOL 3e7c57f4d7647b12bb1c471d59a4cc5acf748ce101e596cc6f9e40956e156090a02c1416ad52ff53e09241587708dd8c122ff8c6fa0cbd310ebef22ba3d8903a
+EBUILD policyd-1.82-r2.ebuild 2012 SHA256 f5f9b4f5c86eacde66b841b2f05e14fd55f4e5943293e6dde35a759487e1623b SHA512 12c74c85941fca22caadf4d8e1dc8b64b7562a784f2611507039cd4c5582addd3e8e8fc6f6a0f41cb70915510ab9b64f9df6a59bf89f23bdf3486e6e5c329a59 WHIRLPOOL aa8caec2cfaf169530746c363ad86d591137dd63940099907c4ed3503ab7604ca5d4e066cef544368289e2774cba951e7995dccb8ef31f8b2af6d2921a4ff08c
+MISC ChangeLog 3534 SHA256 e5ed32462b3c561c0aa0dc7433338a54ae423a432e315892bc5b209faff80bec SHA512 ac0e19ace3a232079babfae83e77c84c77a930cb53f85552bc92e2aad0735c0e04fa0c9ab29db04fb466fff9d30233cafab653460d40aedb970b9cc75eec73cc WHIRLPOOL 4932180a5dbccf94f2b0ed0ccd4d1e7000ad617fafce4ab0b9d5a32c94b1ba9ddfce15ec3790e7c13e17a7cc0879cc1fc2725f7e1e2a7d837efd7234d801ed12
+MISC ChangeLog-2015 1830 SHA256 2c33cb4a76a0ccccbb34b8412d74a690716aba3ff3f6ee2d69bf09b69b3d09d3 SHA512 9a8987c7f46e6082bfa61d33e1b57fee9376b82b6ff1a8468420fc5c698e22afbbe8d37da416949c5f640f0a722ae7b19d3ef37fb3f062e81a2d7a55d60c081b WHIRLPOOL 81aefd88d97ee1dccc3a40538547b5ee2df865ae0b0dd7d63e0e3ea1b94cc8b929e10385c31341a77c0f96d67659b3dadeb8c7acb4673b2aa860ab9eec4af46f
+MISC metadata.xml 331 SHA256 a2fbae57711ff1ec3fcf1e4b12e19a3d8bd84724c2c7a8c28164543368eefb99 SHA512 5241c40be23d5183ef4d5d07901ce582e98a404da73cb5bbac6f51767d028b870315ef3dea6db0341fca1697b9f4d2b2b4a7ad99cd8e1ca9d601b3743ad677e8 WHIRLPOOL 08c87cf4441a344fa6f643bfd285397ff0c0bb42d7e878c6a66ab7762360060da09aa4063f6b317f25285ca5d8a9cd102871d404a1a62bf9379e6c1cda3746b0
diff --git a/mail-filter/policyd/files/policyd-cleanup.cron b/mail-filter/policyd/files/policyd-cleanup.cron
new file mode 100644
index 000000000000..fef8d275bd63
--- /dev/null
+++ b/mail-filter/policyd/files/policyd-cleanup.cron
@@ -0,0 +1,2 @@
+#!/bin/bash
+/usr/sbin/policyd_cleanup -c /etc/policyd.conf
diff --git a/mail-filter/policyd/files/policyd-makefile.patch b/mail-filter/policyd/files/policyd-makefile.patch
new file mode 100644
index 000000000000..94e3edb1c193
--- /dev/null
+++ b/mail-filter/policyd/files/policyd-makefile.patch
@@ -0,0 +1,39 @@
+diff --git a/Makefile b/Makefile
+index ded74ce..6f2afd1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,8 +16,8 @@ lib += -L/usr/local/mysql
+
+
+ CC := gcc
+-CPPFLAGS := -O $(inc)
+-CFLAGS := -g -W -Wall -DMAXFDS=4096
++CPPFLAGS := $(inc) ${CPPFLAGS}
++CFLAGS := -g -W -Wall -DMAXFDS=`ulimit -n` ${CFLAGS}
+ OS_NAME := $(shell uname | tr [A-Z] [a-z])
+ LDLIBS = $(lib) -lmysqlclient -lz
+
+@@ -50,20 +50,20 @@ policyd: syslog.o policyd.o generic.o mysql.o greylist.o throttle.o sockets.o ci
+ whitelist.o throttle_host.o throttle_sasl.o throttle_from.o throttle_rcpt.o helo.o
+ @echo ""
+ @echo "[*] Linking policyd*"
+- @$(CC) $(CFLAGS) $(CPPFLAGS) \
++ @$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ syslog.o policyd.o generic.o mysql.o greylist.o throttle.o sockets.o cidr.o spamtrap.o blacklist.o blacklist_helo.o \
+ whitelist.o throttle_host.o throttle_sasl.o throttle_from.o throttle_rcpt.o helo.o \
+ $(LDLIBS) -o policyd
+
+ cleanup: syslog.o cidr.o cleanup.o generic.o sockets.o mysql.o
+ @echo "[*] Linking cleanup*"
+- @$(CC) $(CFLAGS) $(CPPFLAGS) \
++ @$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ syslog.o cidr.o cleanup.o generic.o sockets.o mysql.o \
+ $(LDLIBS) -o cleanup
+
+ stats: cidr.o syslog.o stats.o generic.o sockets.o mysql.o
+ @echo "[*] Linking stats*"
+- @$(CC) $(CFLAGS) $(CPPFLAGS) \
++ @$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ cidr.o syslog.o stats.o generic.o sockets.o mysql.o \
+ $(LDLIBS) -o stats
+ @echo ""
diff --git a/mail-filter/policyd/files/policyd-post182.patch b/mail-filter/policyd/files/policyd-post182.patch
new file mode 100644
index 000000000000..fc684aab7cb3
--- /dev/null
+++ b/mail-filter/policyd/files/policyd-post182.patch
@@ -0,0 +1,52 @@
+First patch from debian. The other two mostly cosmetic patches from bug #288438.
+--- a/syslog.c
++++ b/syslog.c
+@@ -214,14 +214,15 @@ char
+ if (strlen (str) == 0)
+ return (str);
+
++ p = str + strlen(str);
++
+ for (i = 0; isspace (str[i]); i++)
+ ;
+
+- strcpy (str, str + i);
++ str += i;
+
+- p = str + strlen (str);
+- while ((p--) != str && isspace (*p))
+- *p = 0;
++ while ((p--) != str && isspace (*p))
++ *p = 0;
+
+ return (str);
+ }
+diff -ur policyd-1.82-orig/throttle.c policyd-1.82/throttle.c
+--- a/throttle.c 2007-08-20 08:42:05.000000000 +0200
++++ b/throttle.c 2009-10-10 03:49:25.000000000 +0200
+@@ -145,11 +145,11 @@
+
+ if(tcount[fd] >= tquota[fd] && tcount[fd] >= trcpt[fd]) {
+ tresult = tcount[fd];
+- if (DEBUG >= 4) logmessage("tquota[fd] won\n"); }
++ if (DEBUG >= 4) logmessage("tcount[fd] won\n"); }
+
+ if(trcpt[fd] >= tcount[fd] && trcpt[fd] >= tquota[fd]) {
+ tresult = trcpt[fd];
+- if (DEBUG >= 4) logmessage("tquota[fd] won\n"); }
++ if (DEBUG >= 4) logmessage("trcpt[fd] won\n"); }
+
+ if(DEBUG >= 4)
+ logmessage("DEBUG: fd: %d: tresult: %d\n", fd, tresult);
+diff -ur policyd-1.82-orig/throttle_sasl.c policyd-1.82/throttle_sasl.c
+--- a/throttle_sasl.c 2007-08-20 08:42:05.000000000 +0200
++++ b/throttle_sasl.c 2009-10-10 03:50:27.000000000 +0200
+@@ -188,7 +188,7 @@
+ "UPDATE throttle SET"
+ " _abuse_cur=1"
+ " WHERE _from='%s'",
+- triplet_array[fd][1]);
++ triplet_array[fd][4]);
+ if(db_doquery(fd) == -1) return(db_failure(fd, "throttle"));
+
+ return (-5);
diff --git a/mail-filter/policyd/files/policyd.confd b/mail-filter/policyd/files/policyd.confd
new file mode 100644
index 000000000000..1fc697d451f2
--- /dev/null
+++ b/mail-filter/policyd/files/policyd.confd
@@ -0,0 +1,2 @@
+# Config file for policyd
+POLICYD_CONFIG="/etc/policyd.conf"
diff --git a/mail-filter/policyd/files/policyd.rc b/mail-filter/policyd/files/policyd.rc
new file mode 100644
index 000000000000..54fda4611ef9
--- /dev/null
+++ b/mail-filter/policyd/files/policyd.rc
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ before mta
+ provide postfix_greylist
+}
+
+start() {
+ ebegin "Starting policyd"
+ start-stop-daemon --name policyd --start --quiet --exec /usr/sbin/policyd \
+ -- -c ${POLICYD_CONFIG}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping policyd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/policyd.pid
+ eend $?
+}
diff --git a/mail-filter/policyd/metadata.xml b/mail-filter/policyd/metadata.xml
new file mode 100644
index 000000000000..de98e9cc06d1
--- /dev/null
+++ b/mail-filter/policyd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">policyd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/policyd/policyd-1.82-r1.ebuild b/mail-filter/policyd/policyd-1.82-r1.ebuild
new file mode 100644
index 000000000000..2288a3739b61
--- /dev/null
+++ b/mail-filter/policyd/policyd-1.82-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Policy daemon for postfix and other MTAs"
+HOMEPAGE="http://policyd.sf.net/"
+
+# This is not available through SF mirrors
+SRC_URI="http://policyd.sourceforge.net/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~hppa x86"
+IUSE=""
+DEPEND="virtual/mysql
+ dev-libs/openssl"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-post182.patch"
+ epatch "${FILESDIR}/${PN}-makefile.patch"
+ sed -i -e "s/gcc/$(tc-getCC)/" Makefile
+
+ ebegin "Applying config patches"
+ sed -i -e s:UID=0:UID=65534:g \
+ -e s:GID=0:GID=65534:g \
+ -e s:DAEMON=0:DAEMON=1:g \
+ -e s:DEBUG=3:DEBUG=0:g \
+ -e s:DATABASE_KEEPALIVE=0:DATABASE_KEEPALIVE=1:g \
+ policyd.conf || die "sed failed"
+ eend
+}
+
+src_compile() {
+ emake build || die "emake build failed"
+}
+
+src_install() {
+ insopts -o root -g nobody -m 0750
+ mv cleanup policyd_cleanup
+ mv stats policyd_stats
+
+ dosbin policyd policyd_cleanup policyd_stats
+
+ insopts -o root -g nobody -m 0640
+ insinto /etc
+ doins policyd.conf
+
+ insopts -o root -g nobody -m 0700
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}/${PN}-cleanup.cron" ${PN}-cleanup.cron
+
+ dodoc ChangeLog DATABASE.mysql README doc/support.txt
+
+ newinitd "${FILESDIR}/${PN}.rc" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+}
+
+pkg_postinst() {
+ elog "You will need to create the database using the script DATABASE.mysql"
+ elog "in /usr/share/doc/${PF}/"
+ elog "Read the mysql section of the README.txt for details."
+ elog
+ elog "To use policyd with postfix, update your /etc/postfix/main.cf file by adding"
+ elog " check_policy_service inet:127.0.0.1:10031"
+ elog "to your smtpd_recipient_restrictions line, or similar."
+ elog
+ elog "Also remember to start the daemon at boot:"
+ elog " rc-update add policyd default"
+ elog
+ elog "Read the documentation for more info."
+}
diff --git a/mail-filter/policyd/policyd-1.82-r2.ebuild b/mail-filter/policyd/policyd-1.82-r2.ebuild
new file mode 100644
index 000000000000..b472846f713d
--- /dev/null
+++ b/mail-filter/policyd/policyd-1.82-r2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Policy daemon for postfix and other MTAs"
+HOMEPAGE="http://policyd.sf.net/"
+
+# This is not available through SF mirrors
+SRC_URI="http://policyd.sourceforge.net/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="libressl"
+DEPEND="virtual/mysql
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-post182.patch"
+ epatch "${FILESDIR}/${PN}-makefile.patch"
+ sed -i -e "s/gcc/$(tc-getCC)/" Makefile
+
+ ebegin "Applying config patches"
+ sed -i -e s:UID=0:UID=65534:g \
+ -e s:GID=0:GID=65534:g \
+ -e s:DAEMON=0:DAEMON=1:g \
+ -e s:DEBUG=3:DEBUG=0:g \
+ -e s:DATABASE_KEEPALIVE=0:DATABASE_KEEPALIVE=1:g \
+ policyd.conf || die "sed failed"
+ eend
+}
+
+src_compile() {
+ emake build || die "emake build failed"
+}
+
+src_install() {
+ insopts -o root -g nobody -m 0750
+ mv cleanup policyd_cleanup
+ mv stats policyd_stats
+
+ dosbin policyd policyd_cleanup policyd_stats
+
+ insopts -o root -g nobody -m 0640
+ insinto /etc
+ doins policyd.conf
+
+ insopts -o root -g nobody -m 0700
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}/${PN}-cleanup.cron" ${PN}-cleanup.cron
+
+ dodoc ChangeLog DATABASE.mysql README doc/support.txt
+
+ newinitd "${FILESDIR}/${PN}.rc" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+}
+
+pkg_postinst() {
+ elog "You will need to create the database using the script DATABASE.mysql"
+ elog "in /usr/share/doc/${PF}/"
+ elog "Read the mysql section of the README.txt for details."
+ elog
+ elog "To use policyd with postfix, update your /etc/postfix/main.cf file by adding"
+ elog " check_policy_service inet:127.0.0.1:10031"
+ elog "to your smtpd_recipient_restrictions line, or similar."
+ elog
+ elog "Also remember to start the daemon at boot:"
+ elog " rc-update add policyd default"
+ elog
+ elog "Read the documentation for more info."
+}
diff --git a/mail-filter/popfile/Manifest b/mail-filter/popfile/Manifest
new file mode 100644
index 000000000000..e2e50ec75569
--- /dev/null
+++ b/mail-filter/popfile/Manifest
@@ -0,0 +1,7 @@
+AUX popfile 715 SHA256 08e1e2b69ee5a4a0f844fdecc1f746696bcc1ab234d2c9b13ccd6684101da343 SHA512 a802f753de335552a0b54da98baaad07ceda1da83f0c082d4e2204c90378c35ca5f34bfee1f7beaf11ee6795b7287dcf3db07eedf958665134064dfd9168fae2 WHIRLPOOL 54d93d383295a46b9208dd243ed5e02eb396fd2a1a42293ae51720a8f9e08ce967409b8172fcf37dd078c77095ef04295dbd44d950485e73b090c8cfd8ab3bcc
+DIST popfile-1.1.3.zip 523431 SHA256 d197a187fbdaaf655f7eefceb969e0944cb4d5d290c0aba419b132797dfd6c54 SHA512 0e3ed3d67d2c2b456643335dd030a51e890bb371c5b8cf9eed9fac350a2536b8884eeffff78fcb27b99c39711505df533ee3ded5b40714fb46e54c2d25b3dda9 WHIRLPOOL 84e72bb8a98e1e1d20acde10c41cf8f8ed4418f8823cb5aaab29a7bfb916123447dc48b5180d617a6966db3f476de5a08770c5e96c0453e3481185c034889dbe
+EBUILD popfile-1.1.3-r1.ebuild 1121 SHA256 cc062444e76786a81832e46f97c4601621e4719be436c2f1af555f272894b1b8 SHA512 72ed23bb8be7e51b20baf540fa4fce83d611966de7c1dd528edef72087a8ca4e729c79caa7e87f4dece3567912a4d4d38e057708bc854b402956c03ddb3bdfd1 WHIRLPOOL d28d0f081de5c4afe4b705aec2cc48eabc089fbe0c3776848da9f2409156d19bac77cc93d556347979b160ec46594c0a5bdb55adbc9cb63517d547f93e7d17f8
+EBUILD popfile-1.1.3.ebuild 1059 SHA256 69cbe311e9cceb6b1651b87876e6d01fbc389a111449e251e655139082adc2ef SHA512 1a7ed343d807f7288249a2217fbe9d21ad2125bdc81e714c69d510c96d56115e510bbeb8beb841a565acbfec24b3b320575de86897af243cba4f501ed533d842 WHIRLPOOL d17c579c508a678b357f895c85038427166ee434ee76f8d02f3b0ab413084fb429a9ef6b58d04c3f5a0c611191d9204c898176202fcdd560db097fab0505fb90
+MISC ChangeLog 2718 SHA256 e4a439edf82d112bd200dcd78548ef9bef7b897089a45ba6dcd8698b497cd111 SHA512 f4b7567b9eadfb30affb1cc84be9abcb3dd3fd08f4b88dfeaa86ece0578a1336d9e2e5515da81cc7082702634e374cf4ef773437ed68fa3f4efc0830d50003bb WHIRLPOOL 50c31496f8c9fb06acb0a973db65c3eb3bce7eb45f6acfdbfd7ee37d01f06b488780893ed7fcec9ccee4daee934ec95b0c5b1e81b37c14b8b05e146c44521a4d
+MISC ChangeLog-2015 5199 SHA256 78ff09eb821ed28bb4c43dc2579a9120e7a3e98cc2cc88582c29f8100782b3d5 SHA512 958491c49c9ea66a22fe5b3dc39efb6f762623c435bee4838058448b309118433f06b395af0297f54be12df61b3cb57206cf929a9e76a8820485ec1726fdf91f WHIRLPOOL a20005acf21d215495ac3fd4bf66796cca530dbbb114ca74d02c56405d710487235b0181020cacdbe3ff3227b3e45ef67420c99669a8d67e6d58053f16b6944f
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/mail-filter/popfile/files/popfile b/mail-filter/popfile/files/popfile
new file mode 100644
index 000000000000..84fe795d5bd9
--- /dev/null
+++ b/mail-filter/popfile/files/popfile
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# /usr/bin/popfile
+# Shell script wrapper around the popfile perl script
+#
+# Author Stuart Herbert
+# (stuart@gentoo.org)
+#
+# Copyright Released into the public domain
+#
+# ------------------------------------------------------------------------
+
+POPFILE_DIR=/usr/share/popfile
+POPFILE_PL=popfile.pl
+
+if [[ `id -u` != 0 ]] ; then
+ echo "*** error: You must be root to run popfile" >&2
+ exit 1
+fi
+
+if [[ ! -d $POPFILE_DIR ]] ; then
+ echo "*** error: Directory $POPFILE_DIR does not exist" >&2
+ echo "*** Is popfile installed?"
+ exit 1
+fi
+
+if [[ ! -e $POPFILE_DIR/$POPFILE_PL ]] ; then
+ echo "*** error: popfile.pl is missing or not executable" >&2
+ exit 1
+fi
+
+cd $POPFILE_DIR
+exec ./$POPFILE_PL
diff --git a/mail-filter/popfile/metadata.xml b/mail-filter/popfile/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/mail-filter/popfile/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/mail-filter/popfile/popfile-1.1.3-r1.ebuild b/mail-filter/popfile/popfile-1.1.3-r1.ebuild
new file mode 100644
index 000000000000..bafb8245f838
--- /dev/null
+++ b/mail-filter/popfile/popfile-1.1.3-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="Anti-spam bayesian filter"
+HOMEPAGE="http://getpopfile.org"
+SRC_URI="http://getpopfile.org/downloads/${P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cjk ipv6 libressl mysql ssl xmlrpc"
+
+RDEPEND="virtual/perl-Digest-MD5
+ virtual/perl-MIME-Base64
+ dev-perl/DBD-SQLite
+ dev-perl/HTML-Tagset
+ dev-perl/HTML-Template
+ dev-perl/TimeDate
+ dev-perl/DBI
+ virtual/perl-Digest
+ cjk? ( dev-perl/Encode-compat
+ dev-perl/Text-Kakasi )
+ mysql? ( dev-perl/DBD-mysql )
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ ssl? ( !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ dev-perl/IO-Socket-SSL
+ dev-perl/Net-SSLeay )
+ xmlrpc? ( dev-perl/PlRPC )"
+
+DEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ local f
+ for f in `find ./ -type f`; do
+ edos2unix "${f}"
+ done
+}
+
+src_install() {
+ dodoc *.change*
+ rm -rf *.change* license
+
+ insinto /usr/share/${PN}
+ doins -r *
+
+ fperms 755 /usr/share/${PN}/{popfile,insert,pipe,bayes}.pl
+
+ dosbin "${FILESDIR}"/${PN}
+}
diff --git a/mail-filter/popfile/popfile-1.1.3.ebuild b/mail-filter/popfile/popfile-1.1.3.ebuild
new file mode 100644
index 000000000000..2c438d39d840
--- /dev/null
+++ b/mail-filter/popfile/popfile-1.1.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="Anti-spam bayesian filter"
+HOMEPAGE="http://getpopfile.org"
+SRC_URI="http://getpopfile.org/downloads/${P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="cjk ipv6 mysql ssl xmlrpc"
+
+RDEPEND="virtual/perl-Digest-MD5
+ virtual/perl-MIME-Base64
+ dev-perl/DBD-SQLite
+ dev-perl/HTML-Tagset
+ dev-perl/HTML-Template
+ dev-perl/TimeDate
+ dev-perl/DBI
+ virtual/perl-Digest
+ cjk? ( dev-perl/Encode-compat
+ dev-perl/Text-Kakasi )
+ mysql? ( dev-perl/DBD-mysql )
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ ssl? ( dev-libs/openssl
+ dev-perl/IO-Socket-SSL
+ dev-perl/Net-SSLeay )
+ xmlrpc? ( dev-perl/PlRPC )"
+
+DEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ local f
+ for f in `find ./ -type f`; do
+ edos2unix "${f}"
+ done
+}
+
+src_install() {
+ dodoc *.change*
+ rm -rf *.change* license
+
+ insinto /usr/share/${PN}
+ doins -r *
+
+ fperms 755 /usr/share/${PN}/{popfile,insert,pipe,bayes}.pl
+
+ dosbin "${FILESDIR}"/${PN}
+}
diff --git a/mail-filter/postfwd/Manifest b/mail-filter/postfwd/Manifest
new file mode 100644
index 000000000000..f6cc616d7c2d
--- /dev/null
+++ b/mail-filter/postfwd/Manifest
@@ -0,0 +1,8 @@
+AUX postfwd.conf 429 SHA256 b1e7fcc63da3dffadd15bd6b3d8d4bb3349e896f5f99c30238134a527874bb77 SHA512 409d31933fa172af728e6fa2c3dddb1280a3fff5ea6bb9732c5e69e6266f92848553777773edf939bdf387544f9d0c1a5dd764b4c3c11aa2ceeebd5ceafc9fa5 WHIRLPOOL c112563cb435e1ac400e05ea6b556eed08e641a1c9ab561ff9365a9d19ccb3bb6b7f6f395ed19b54c6d8d1577c87a7b10fd5c7918d392af1a08475045eb6b972
+AUX postfwd.init 632 SHA256 05e4dede6b186a5168ef21712b7647c0ec7c99e3e48efc6f32407ad66900993e SHA512 132e5b44352ab6d8ca9eb565217fba77db311c3a604509407f079587e1f6147d4a4aa105348113c596f1186fbea1e1e0a7ccd7c7be9fe29bfa8404e7f08c950e WHIRLPOOL 33be0a35407bc02c430b574093f08deab2543d3cff65935242e2d26d10a9ccdf3a1b06e32e35040a6992c42893607c4eb8949c2af5ba36a93b320125db237354
+AUX postfwd.service 596 SHA256 afa9f0c69088a603f9e304b7db398c8983c7cc91251f6d8af5c3c1a8b6113ae5 SHA512 5b8e7ce6314cf61eaea13eb582b7e215209fc43bfd506fa1b1423873efb208ae5da8f8a9651358653bd91d436965f1582cc1bf226b0b44ec442869e66c0254e9 WHIRLPOOL f0cc867d3369fbda90289f9676ff4253eabbe27d5346881755826ef0c032485beb427b916751d8bdf62fd2a0aafbf3e38dc5982aad1fbaec082123be3329899d
+DIST postfwd-1.35.tar.gz 354609 SHA256 42abf8fc1229e8a09fa0141b6e23e34c6e1b654a56f6e7556d04067eafc77c41 SHA512 7b0e8c8a755f085c108c45b28ec8c32139581ce129d0b8586f1876ae87f134a4fb1606d45105ccfa62351ca2d3b87f001ea52aacab0680f3345c41562bec5207 WHIRLPOOL 7335fae813a4882441580050f5df64ef8a3da85bc5e673b9cd6662c1a08f9dd485ecafd5867da7f3370afb7c90622040d70274d70bc0e9308cfb64c24c5db214
+EBUILD postfwd-1.35-r3.ebuild 2249 SHA256 a845b2da15d253dfe009800f0b8e515e1a00c2ab2397cdc8921d282ac13d956e SHA512 1d54c65e8a5bb3ca5a7a9c0d010298c59ac9dcb840108cccf4e02afdb6d433f84cfd658415347baa7cb677f26e0f8547a7be56aa1daa394bbc80315adb114cd0 WHIRLPOOL a017e0a01ac12c03d595d5149a35ba68b179e10f6345fa9d628ca240ec5b98df67826af15802e7138ca101a94f41c7a8ccd2586d2200c146b3d26978976d17d6
+MISC ChangeLog 3871 SHA256 020991e71033795f0feccffcfcba466c78d7324a1ff38521406366535bb70aea SHA512 1acccbad406e947b6677c06f442e3597885f54f53720608ac050d7b62e6750344ac2bc3fd78fdee31682e1bf3e073a008164ce0d706f3a9ae6c482f24b03963b WHIRLPOOL 98760c2ec472019d2e75f10447e53c4de05b216c553f945ebb3379b58a717c79f8a2769a3b9b2700c1e930b9192a80c1ede89a291e9715fa3e110440febd59e2
+MISC ChangeLog-2015 1303 SHA256 5f052277c7ed56bb17cc09008863bc549c195a0dec98dff3e130e2df748e3337 SHA512 c4e67541f45704a5ca1ff8d39f3be0dbda8d63ced1d7769c21ee8aff86f18fa674c1e55bbe929bee6b0781c875d1b57d72bd7a2125e9f05167132d1687103623 WHIRLPOOL 723369e5314d613a8d0b17eb65799ebeb25d9992ca1d482c580e55a6e9011bf2fc0227e8f3899876362e78a19ff954d7dca59ad4efe81aac89d5165b70b2b396
+MISC metadata.xml 1235 SHA256 83b6c10a2a0db2935a11383721a3099c87916436a2ad383ea928ca8a56555fa3 SHA512 4da1b31359adc2fc5113ff271f14b184215bfb5744dfa993f379567ed9195087b943615d6eb51ae4473102c8de8f7e3a513ac8e4d75c00e728f7aeab676c24ea WHIRLPOOL e060cc86d6b22d04ba7369324328d9f745a0cbb251a915bf8a5981b8f85900cc5538a8d121450e47f9100f2fb6ad2016795561766ce37eed7cb126057dc7a94b
diff --git a/mail-filter/postfwd/files/postfwd.conf b/mail-filter/postfwd/files/postfwd.conf
new file mode 100644
index 000000000000..2f6f537e7c8c
--- /dev/null
+++ b/mail-filter/postfwd/files/postfwd.conf
@@ -0,0 +1,18 @@
+# /etc/conf.d/postfwd.conf
+
+# User and group to execute postfwd as
+POSTFWD_USER="postfwd"
+POSTFWD_GROUP="postfwd"
+
+# Configuration file to use
+POSTFWD_CONFIG="/etc/postfix/postfwd.cf"
+
+# The IP address postfwd will listen on
+# WARNING: You _really_ want this to be localhost for security!
+POSTFWD_LISTEN="127.0.0.1"
+
+# The port postfwd will listen on
+POSTFWD_PORT="10040"
+
+# Additional options to pass to postfwd
+POSTFWD_OPTS=""
diff --git a/mail-filter/postfwd/files/postfwd.init b/mail-filter/postfwd/files/postfwd.init
new file mode 100644
index 000000000000..b56d8b412f10
--- /dev/null
+++ b/mail-filter/postfwd/files/postfwd.init
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/postfwd.pid
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting postfwd"
+ start-stop-daemon --start --quiet --background \
+ --pidfile ${PIDFILE} \
+ --exec /usr/sbin/postfwd2 -- --daemon --file ${POSTFWD_CONFIG} \
+ --interface=${POSTFWD_LISTEN} --port=${POSTFWD_PORT} \
+ --user=${POSTFWD_USER} --group=${POSTFWD_GROUP} \
+ --pidfile ${PIDFILE} \
+ ${POSTFWD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping postfwd"
+ start-stop-daemon --stop --quiet --pidfile ${PIDFILE}
+ eend $?
+}
diff --git a/mail-filter/postfwd/files/postfwd.service b/mail-filter/postfwd/files/postfwd.service
new file mode 100644
index 000000000000..376e8d2da320
--- /dev/null
+++ b/mail-filter/postfwd/files/postfwd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Postfix firewall daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/postfwd2 --shortlog --summary=600 --cache=600 --cache-rbl-timeout=3600 --cleanup-requests=1200 --cleanup-rbls=1800 --cleanup-rates=1200 --daemon --file=/etc/postfwd/postfwd.cf --interface=127.0.0.1 --port=10040 --pidfile=/var/run/postfwd.pid --user=postfwd --group=postfwd
+ExecStop=/usr/sbin/postfwd2 --file=/etc/postfwd/postfwd.cf --pidfile=/var/run/postfwd.pid --kill
+ExecReload=/usr/sbin/postfwd2 --file=/etc/postfwd/postfwd.cf --pidfile=/var/run/postfwd.pid --reload
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/postfwd/metadata.xml b/mail-filter/postfwd/metadata.xml
new file mode 100644
index 000000000000..080f469f5bf5
--- /dev/null
+++ b/mail-filter/postfwd/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>c@roessner.co</email>
+ <name>Christian Roessner</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>info@postfwd.org</email>
+ <name>Jan Peter Kessler</name>
+ </maintainer>
+ <changelog>http://www.postfwd.org/postfwd2.CHANGELOG</changelog>
+ </upstream>
+ <longdescription lang="en">
+ postfwd (short for Postfix Firewall Daemon) is a Postfix policy server
+ that is written in Perl. It allows to define flexible and complex rules
+ to block access to the mail system before the actual message has been
+ accepted. The ruleset configuration supports features like scoring,
+ grouping, date and time based dependencies together with DNSBL lookups
+ and policy delegation (e.g. postgrey).
+ </longdescription>
+ <use>
+ <flag name="tools">Install additional tools for testing postfwd</flag>
+ </use>
+</pkgmetadata>
diff --git a/mail-filter/postfwd/postfwd-1.35-r3.ebuild b/mail-filter/postfwd/postfwd-1.35-r3.ebuild
new file mode 100644
index 000000000000..fda2d2a93fae
--- /dev/null
+++ b/mail-filter/postfwd/postfwd-1.35-r3.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils user systemd
+
+DESCRIPTION="Versatile Postfix policy server with a flexible ruleset based configuration"
+HOMEPAGE="http://www.postfwd.org/"
+SRC_URI="http://www.postfwd.org/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+tools"
+
+DEPEND=""
+RDEPEND=">=dev-lang/perl-5.16.3
+ virtual/perl-Sys-Syslog
+ dev-perl/Net-DNS
+ dev-perl/Net-Server
+"
+
+pkg_setup() {
+ enewgroup postfwd
+ enewuser postfwd -1 -1 -1 postfwd
+}
+
+src_install() {
+ local BIN="postfwd2"
+ # programs and tools
+ dosbin "${S}"/sbin/${BIN}
+
+ # man pages and documentation
+ doman "${S}"/man/man8/${BIN}.8
+ dodoc "${S}"/doc/{${BIN}.CHANGELOG,${BIN}.txt}
+
+ # example configuration(s)
+ insinto /usr/share/doc/${PF}/examples
+ newins "${S}"/etc/${PN}.cf.sample ${PN}.cf.dist
+
+ # plugins
+ dodoc -r "${S}"/plugins
+
+ # tools
+ if use tools; then
+ dodoc -r "${S}"/tools
+ fi
+
+ # start scripts script and respective configuration file
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_postinst() {
+ einfo
+ einfo "${PN} has no default configuration for safety reasons. Every"
+ einfo "mail system is different, so you should craft a set of rules"
+ einfo "that is suitable for your environment and save it to:"
+ einfo " /etc/postfix/postfwd.cf"
+ einfo "You can find example configurations in:"
+ einfo " /usr/share/doc/${PF}/examples"
+ einfo
+ einfo "If you want ${PN} to start on system boot, you have to add it your"
+ einfo "default run level:"
+ einfo " # rc-update add postfwd default"
+ einfo "Also remember to edit /etc/conf.d/${PN} to your liking."
+ einfo
+ einfo "A plugins sampe folder has been placed under:"
+ einfo
+ einfo " /usr/share/doc/${PF}/plugins"
+
+ if use tools; then
+ einfo
+ einfo "You can find additional tools for testing ${PN} in:"
+ einfo " /usr/share/doc/${PF}/tools"
+ fi
+
+ ewarn
+ ewarn "Please read the documentation carefully and properly test new"
+ ewarn "rulesets before putting them into production use. Otherwise you"
+ ewarn "risk accidental mail loss or worse."
+ ewarn
+ ewarn "Visit http://www.postfwd.org/ for more information."
+ ewarn
+}
diff --git a/mail-filter/postgrey/Manifest b/mail-filter/postgrey/Manifest
new file mode 100644
index 000000000000..86eb51b029b4
--- /dev/null
+++ b/mail-filter/postgrey/Manifest
@@ -0,0 +1,16 @@
+AUX postgrey-1.34-perl-5.18.patch 952 SHA256 d623dee7e605eb3d29139664a90a0f892d5d5b8ebbcd44a508f0790da2f5d23d SHA512 2145d3d0fff5c993075a3a792adb899a9d28760b43a21daacb4b4a94b5f3a587ecd29700314ae20379d4909bf22d518161e9dcd556963dc185c014351845f6b0 WHIRLPOOL c6be159a72a0dadf140515ad3ca9211f944caa08e47683f69612b645fe78c00d72eb3bc801e2c1d98d79e4a2bd0d2554dc77af049c9ae6e8a8fbde8e91a15f84
+AUX postgrey-1.34-r3.rc.new 2373 SHA256 119ede5d8be2b7b0bf945121c9427946fde73610e447717070d98a2fb42c1961 SHA512 a9f9c841249b303da2bd4c976e2cd2fe85264929e298745e08f684f86659da548d9348c15a5723697835ee44c584405582605792f545eb9b1c097f82fc15720e WHIRLPOOL 8531d04f577f2c5b81a9c17601b05af01e9eb50309627c9ec6ff5e4c4ef08ce37dbe453ede03ecccc57567762d7b11ff7044cf701c4fb0ede646a261688a94e9
+AUX postgrey.conf.new 1914 SHA256 c4c5bfe68b99513152669443ee268186989a89f9846e7fd560841d4cb47fb031 SHA512 07c7bf82fa24486a62701238bc3684e7ed445bceeb54c842eba39b0d83732b704954247978784142ecf20329352dbe698ba2d9a76576d5082315a314278a6740 WHIRLPOOL 5422e62945594fcc3d60bf69883f86a1fa3bc03c8859abf04972665a24ca76931150093756545ed433a53314fcb8377520c421e6ae3f9d4348a6246fc0af36f1
+AUX postgrey.service 345 SHA256 21b17342ae0c00ce4e63d7ceb5437dd20188ee201d0347cffc1f719c197a4474 SHA512 f5f92cae916a8000da460c0c5bd2194b49518cf2bdadf7f6c4512a29dbee73b4a75d530ed0d2049ac46103235246b5b3b88e55216c9ed1a012ed306a4bf7d58c WHIRLPOOL 98639d6ce124d46f7d0cb936c7e57104859678fdbdbc87f1dcc540f7aab41ce295137d0c4268f61c2affb80184fe593d8e945bd97a1921a9acb3220fe95d148f
+AUX targrey-0.31-postgrey-1.34.patch 8555 SHA256 efeb57ef7f7140da1ed38efe53da068c207a76618216e28b1de22f43341fa649 SHA512 af4433f08120ae6ab07179f1adb88ca8c86c142b68727657555cef04d84105912e8e67c969c860ea000930196c6046b7b2bef2647f04b202ceecaf163d8515d5 WHIRLPOOL e73cb133e5b9cc41c7061fa7537731e5d36cd7fc2649b140682136d4f46f038d54caf6de60cabc4cbef86d36575f07836e7ef87c9e05909a2f48f06cc4ea47fe
+DIST postgrey-1.34.tar.gz 36399 SHA256 9a9ee2f4e3cbbf15642e47802407c810ac5c54f0ad1572ebec3f0f645eb35707 SHA512 df6cf0c3bf6835591aad00bde13330ee4030b965c90a01a27dfafb5eac1f008dcfb9001dbfcf70a6209b91af7a571b38392b69db2212f112d888a565e9b703cb WHIRLPOOL 92eade9af5ac0589ffd0c63b89b36ac8b64b5f862f601cbfa10c66137ea46624ff5af0b96cbcef2f004cb19028fd90c406f4ec164440e53f4f1122c3cdd427e3
+DIST postgrey-1.35.tar.gz 36610 SHA256 f6a6956630803e6f79ebff6ad0cc0d46ba32046ed6cc260e38e6f591de7bbdcf SHA512 fa9844f6ca7395c02cbc1f234d0efbeafb80ebbebc763966d375bb32e7768d9c987d8c95d1e8dc9da933832feb9948b4086cf5a31f24d3764e9678333abe6c8f WHIRLPOOL c969bf93747cb197bd6efef4b4dd7d979f489663a235e7723dc015005c8b059b23d0bde7c8ba08a3ad1da7a5957e98da7170e4405019c633c91aadb3ed016c6c
+DIST postgrey-1.36.tar.gz 38797 SHA256 a22bf8c42518d802a32b070332b7ca3aed985ff4f9a59cd04028c56988585f26 SHA512 9b2502b873658c1ef8a86bff091d61b8dc8d66f7395bc0a869f9e6ec60b691a317c084ae326f49ce8dd926f0fa2620a58f3ad76c25e1b1c9606557d2802d1395 WHIRLPOOL 9b8e8e74422608acbf901fa32b69eedea6cb5a8053c1d84d8ecc08c03776ca0805c9b4188de5db5b2d707b48c80a42a9e3a9050305273f159ce2828c80dfe870
+DIST postgrey-1.37.tar.gz 41815 SHA256 ff4d9543f8f5cb0356c30ffe22255d942ac6128da734c376de211c02630fa5f7 SHA512 369968212ea60539efc0d4a7ae84f7c3ce13f5622e6ee070a0089423ef81ca8f7541ebd20289291d0e6a3aec2ca30dbc9c0d9c0a6f0a686adfadb5d0dd7830ca WHIRLPOOL ee61fb579740e24a9fca0ea349401c4b8f9f6a4fe0df3ad57345ecfbf4ba6fb2b3a437fc6c50bf11bc4527aa5b1dca23b8319d22b90888e04b3fd2fab049a13b
+EBUILD postgrey-1.34-r3.ebuild 1662 SHA256 ceb0dbdaaa0c9864054aabf386f4eec151a7ef0b653e79a58a102ed966ec4f27 SHA512 3ddb2f66e443f1bf43ffa991f7575c523229589949080d4b37a58f918de73519f9b8d4795533c586dab2029e812c6b67722422ae0def0463c5f0c5a6e6a3b299 WHIRLPOOL 613b9c6ad9274a063cfd5429fb10c517cd374c51f495d05693b4aadd248a3353db02706c7eae2daf9e8828da51d34c6c8ea736d24656259169e8ebfe47994407
+EBUILD postgrey-1.35-r2.ebuild 1722 SHA256 2d3b862a1c2490d519b37ccfe1ff2903449af13446c4efd0a25977d44af1c4c8 SHA512 df2d67554038f1eb9d617dcaaca38bb0a738cdb55b6ab5b2c71cba768edf19d3f96a5974c376de52e3cff890eb03af1a90e01976c7d72b87ba8da6ae4a65868f WHIRLPOOL 6444634d767b67728e5fe92912258f54ad594b4611ff5945d810c47d90fde547af17a8d8828bee36d94f55f8c51f566945aa1ad6bd499b58b412ece4dd0fc059
+EBUILD postgrey-1.36-r1.ebuild 1748 SHA256 298c7af253d7e705dfc225258b00f82e34d16b80f7095ab5634f5bfb4d81e7dd SHA512 0ea4a73933a11d84894bc8a286193a3b1d71f2ecf5ac2513e9c3cf18364479485519839d09fed3a15152a1208c9dd908695c853a2a17a003b295f9842bbf99bb WHIRLPOOL e1eb4380389b99d524eac6cd2c17cc0a5765dd1e69a4c7e9bd6e3cad9a6dd2273fa778acb7ab070d68cfdfbc467a91127dfa846c11926a1ac18f91d60b743dbb
+EBUILD postgrey-1.37.ebuild 1662 SHA256 5e7898488b54546acab32d2689c73dd78b1cc99be91ff46c83e8deb06fdaeb6c SHA512 17512115c889bceccc2a8fd09ffc8aa5815b37256b473a7f794c42f4fd561dc625e7d72f6f67b9a1abe2b89a6a14e0f51ecec913029ea7fd12e1fdca8d707790 WHIRLPOOL 0f0fd089df5e7aec4f1282fb6cab33089b443ee012ce4351000b2ea70bbde3f5b4d9a1ad12fbb5a05191e0c4e464dcd61696b44ee40071464b7fda17d2095067
+MISC ChangeLog 4823 SHA256 cba885774a58e5c94cbd704a8f8c6ceb684f8af3e46e705aad8d8e14e13fa9ec SHA512 578ccf290a46d9bcd3ce310c7c6dd8b52978ca972b6b741041da5e525e3c73641e8dee0a31965a6940c31fa36161df438c30f9e1264ce20c278eb9356fe82ac5 WHIRLPOOL 4451c311a6c0f63d2530c3335dba847e9f3f46e5127e1925ca7ad5279ca044f1b75ad6f5b279fdcc1df4a2892cd043f2d551a3e60cf0b55706b0703851612bf9
+MISC ChangeLog-2015 13708 SHA256 7a6925fcf93acda544f03ae8a298fd79f28f7dca9b7a94559a4095698ab1a5ff SHA512 0afe01dc44c31c7ee057b4e1ebc62d5ad338dd98e74280dfaba3f4e952f0ad73741ad611aad9791bc2da7a64267f748af633df793e8f65df4d1878e1a53b28bd WHIRLPOOL 192db3278081eef7c0b61dc090498082ea0931070013459ee008f8848f103b0dc47e481bce3d14638d6ff94691c2ae95804d63e05a40dc8ab764d563e3c7b4df
+MISC metadata.xml 682 SHA256 03d5294c396fd05f121b324d5cea037ef360fe5395bd5bfdb76e358989b2b294 SHA512 eb508ce6267543a83ea4db851c7eb1627386f95d749ab581d10472ebb7b7994bae760a3f83c632f586b22fe47698fc86fcfaffc2d1c24093de146e7954e685be WHIRLPOOL c34937c3a6f237ceb265980a45cd77ea379f3ba5f9767fba7bcbcbcc8e470e7bc659e17ca2ad911614fd7a2b1b584c4ba6a635c84151f3f8bb2b7bb770162f0b
diff --git a/mail-filter/postgrey/files/postgrey-1.34-perl-5.18.patch b/mail-filter/postgrey/files/postgrey-1.34-perl-5.18.patch
new file mode 100644
index 000000000000..615c6e5b77d1
--- /dev/null
+++ b/mail-filter/postgrey/files/postgrey-1.34-perl-5.18.patch
@@ -0,0 +1,33 @@
+From 9673b54064691a5b9c295ffea340d8a1f9ee1cb8 Mon Sep 17 00:00:00 2001
+From: Yasuhiro KIMURA <yasu@utahime.org>
+Date: Sat, 17 Aug 2013 22:05:27 +0900
+Subject: [PATCH] Make postgrey work with Perl 5.18
+
+---
+ postgrey | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/postgrey b/postgrey
+index 7cb0352..37f69bd 100755
+--- a/postgrey
++++ b/postgrey
+@@ -557,6 +557,16 @@ sub main()
+ if($opt{dbdir}) {
+ $opt{dbdir} =~ /^(.*)$/; $opt{dbdir} = $1;
+ }
++ # untaint what is given on --pidfile. It is not security sensitive since
++ # it is provided by the admin
++ if($opt{pidfile}) {
++ $opt{pidfile} =~ /^(.*)$/; $opt{pidfile} = $1;
++ }
++ # untaint what is given on --inet. It is not security sensitive since
++ # it is provided by the admin
++ if($opt{inet}) {
++ $opt{inet} =~ /^(.*)$/; $opt{inet} = $1;
++ }
+
+ # determine proper "logsock" for Sys::Syslog
+ my $syslog_logsock;
+--
+2.0.3
+
diff --git a/mail-filter/postgrey/files/postgrey-1.34-r3.rc.new b/mail-filter/postgrey/files/postgrey-1.34-r3.rc.new
new file mode 100644
index 000000000000..74256f7e987a
--- /dev/null
+++ b/mail-filter/postgrey/files/postgrey-1.34-r3.rc.new
@@ -0,0 +1,100 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+conf="/etc/conf.d/postgrey"
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+ before postfix
+ provide postfix_greylist
+}
+
+conf_error() {
+ eerror "You need to setup ${conf} first"
+ return 1
+}
+
+checkconfig() {
+if [ -z "${POSTGREY_TYPE}" ]
+ then
+ einfo "You need to choose the server type you want"
+ einfo "by setting the POSTGREY_TYPE variable in ${conf}."
+ else
+ if [ "x${POSTGREY_TYPE}" = "xinet" ]
+ then
+ if [ -z "${POSTGREY_PORT}" ] || [ -z "${POSTGREY_HOST}" ]
+ then
+ einfo "The following entries are missing in ${conf}:"
+ [ -z "${POSTGREY_HOST}" ] && einfo " - POSTGREY_HOST"
+ [ -z "${POSTGREY_PORT}" ] && einfo " - POSTGREY_PORT"
+ conf_error
+ fi
+ POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_HOST}:${POSTGREY_PORT}"
+ else
+ if [ -z "${POSTGREY_SOCKET}" ]
+ then
+ einfo "The following entries are missing in ${conf}:"
+ [ -z "${POSTGREY_SOCKET}" ] && einfo " - POSTGREY_SOCKET"
+ conf_error
+ fi
+ POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_SOCKET}"
+ fi
+fi
+
+ if [ -z "${POSTGREY_PID}" ]
+ then
+ einfo "The following entries are missing in ${conf}:"
+ [ -z "${POSTGREY_PID}" ] && einfo " - POSTGREY_PID"
+ conf_error
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting Postgrey"
+
+ # HACK -- start a subshell and corrects perms on the socket...
+ if [ "x${POSTGREY_TYPE}" = "xunix" ]; then
+ rm -f ${POSTGREY_SOCKET}
+ ( while ! test -S ${POSTGREY_SOCKET}; do sleep 1; done; chmod a+rw,a-x ${POSTGREY_SOCKET} ) &
+ fi
+
+ if [ -z ${POSTGREY_DELAY} ] ; then
+ POSTGREY_DELAY_ARG=""
+ else
+ POSTGREY_DELAY_ARG="--delay=${POSTGREY_DELAY}"
+ fi
+
+ if [ -z "${POSTGREY_TEXT}" ] ; then
+ POSTGREY_TEXT_ARG=""
+ else
+ POSTGREY_TEXT_ARG="--greylist-text=${POSTGREY_TEXT}"
+ fi
+
+ start-stop-daemon --start --quiet --background \
+ --pidfile=${POSTGREY_PID} \
+ --name postgrey \
+ --exec /usr/sbin/postgrey -- \
+ --${POSTGREY_ADDR} \
+ --daemonize \
+ --pidfile=${POSTGREY_PID} \
+ ${POSTGREY_DELAY_ARG} \
+ ${POSTGREY_OPTS} \
+ "${POSTGREY_TEXT_ARG}"
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Postgrey"
+ start-stop-daemon --stop --quiet --pidfile ${POSTGREY_PID}
+ eend ${?}
+}
+
+reload() {
+ ebegin "Reloading Postgrey"
+ start-stop-daemon --stop --signal HUP --oknodo --pidfile ${POSTGREY_PID}
+ eend $?
+}
diff --git a/mail-filter/postgrey/files/postgrey.conf.new b/mail-filter/postgrey/files/postgrey.conf.new
new file mode 100644
index 000000000000..58db73440bd4
--- /dev/null
+++ b/mail-filter/postgrey/files/postgrey.conf.new
@@ -0,0 +1,55 @@
+# Config file for /etc/init.d/postgrey
+
+# LISTEN TYPE
+# Set to 'inet' if you want to use a TCP socket.
+# Set to 'unix' if you want to use a UNIX socket.
+POSTGREY_TYPE="inet"
+
+# HOST
+# What IP should postgrey bind to?
+# Leave unchanged unless you know what you are doing.
+# (ignored if POSTGREY_TYPE is set to 'unix')
+POSTGREY_HOST="127.0.0.1"
+
+# PORT
+# What TCP port should postgrey listen on?
+# (ignored if POSTGREY_TYPE is set to 'unix')
+POSTGREY_PORT="10030"
+
+# SOCKET
+# Unix socket to listen on, if POSTGREY_TYPE is set to 'unix'.
+# Leave unchanged unless you know what you are doing.
+# (ignored if POSTGREY_TYPE is set to 'inet')
+POSTGREY_SOCKET="/var/spool/postfix/private/postgrey"
+
+# PID
+# Postgrey pid file.
+# Do not change, if you don't know what this is!
+POSTGREY_PID="/var/run/postgrey.pid"
+
+# DELAY
+# How long to delay mail that is greylisted in seconds.
+POSTGREY_DELAY=300
+
+# TEXT
+# The response we'll send back with delayed mail.
+POSTGREY_TEXT="Greylisted for %s seconds"
+
+# Additional Postgrey options
+#
+# -v, --verbose increase verbosity level
+# --max-age=N delete entries older than N days since the last time
+# that they have been seen (default: 30)
+# --retry-window=N allow only N days for the first retrial (default: 2)
+# append 'h' if you want to specify it in hours
+# --greylist-action=A if greylisted, return A to Postfix (default: DEFER_IF_PERMIT)
+# --lookup-by-subnet strip the last 8 bits from IP addresses (default)
+# --lookup-by-host do not strip the last 8 bits from IP addresses
+# --whitelist-clients=FILE default: /etc/postfix/postgrey_whitelist_clients
+# --whitelist-recipients=FILE default: /etc/postfix/postgrey_whitelist_recipients
+#
+# Note that the --whitelist-x options can be specified multiple times, and that
+# per default /etc/postfix/postgrey_whitelist_clients.local is also read, so
+# that you can put there local entries.
+#
+POSTGREY_OPTS=""
diff --git a/mail-filter/postgrey/files/postgrey.service b/mail-filter/postgrey/files/postgrey.service
new file mode 100644
index 000000000000..7321eee13adb
--- /dev/null
+++ b/mail-filter/postgrey/files/postgrey.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Postfix Greylisting Service
+Before=postfix.service
+
+[Service]
+Type=simple
+ExecStart=/usr/sbin/postgrey --inet=127.0.0.1:10030 \
+ --pidfile=/var/run/postgrey.pid \
+ --group=postgrey --user=postgrey \
+ --greylist-text="Greylisted for %%s seconds"
+Restart=always
+RestartSec=5
+TimeoutSec=10
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/mail-filter/postgrey/files/targrey-0.31-postgrey-1.34.patch b/mail-filter/postgrey/files/targrey-0.31-postgrey-1.34.patch
new file mode 100644
index 000000000000..a17b6457d39a
--- /dev/null
+++ b/mail-filter/postgrey/files/targrey-0.31-postgrey-1.34.patch
@@ -0,0 +1,202 @@
+--- postgrey.orig 2011-05-04 22:54:15.000000000 +0200
++++ postgrey 2011-10-17 10:10:21.000000000 +0200
+@@ -309,6 +309,22 @@
+ $self->mylog(1, "cleaning clients database finished. before: $nr_keys_before, after: $nr_keys_after");
+ }
+
++ if($self->{postgrey}{targrey}) {
++ # cleanup tarpit blacklist database
++ my $tarpit_db = $self->{postgrey}{db_tarpit};
++ ($nr_keys_before, $nr_keys_after) = (0, 0);
++ while (my ($key, $tarpit_last_seen) = each %$tarpit_db) {
++ $nr_keys_before++;
++ if($now - $tarpit_last_seen > $retry_window) {
++ delete $tarpit_db->{$key};
++ }
++ else {
++ $nr_keys_after++;
++ }
++ }
++ $self->mylog(1, "cleaning tarpit blacklist database finished. before: $nr_keys_before, after: $nr_keys_after");
++ }
++
+ $self->{postgrey}{last_maint_keys}=$now;
+ }
+ }
+@@ -383,7 +399,7 @@
+ # whitelist if count is enough
+ if(defined $cawl_count and $cawl_count >= $self->{postgrey}{awl_clients})
+ {
+- if(($now >= $cawl_last+3600) or ($cawl_last > $now)) {
++ if(($now >= $cawl_last + $self->{postgrey}{awl_delay}) or ($cawl_last > $now)) {
+ $cawl_count++; # for statistics
+ $cawl_db->{$cawl_key}=$cawl_count.','.$now;
+ }
+@@ -392,6 +408,28 @@
+ }
+ }
+
++ # check tarpit passed if targrey mode
++ if ($self->{postgrey}{targrey} && $attr->{protocol_state} eq 'DATA') { # passed tarpit
++ # remove tarpit blacklist
++ my $tarpit_db = $self->{postgrey}{db_tarpit};
++ my $tarpit_key = $attr->{client_address};
++ delete $tarpit_db->{$tarpit_key};
++
++ # auto whitelist clients by tarpit
++ if ($self->{postgrey}{awl_clients}) {
++ # enough time has passed (record only one attempt per hour)
++ if (! defined $cawl_last or $now >= $cawl_last + $self->{postgrey}{awl_delay}) {
++ # ok, increase count
++ $cawl_count++;
++ $cawl_db->{$cawl_key}=$cawl_count.','.$now;
++ $self->mylog(1, "tarpit whitelisted: $attr->{client_name}"."[".$attr->{client_address}."]")
++ if $cawl_count==$self->{postgrey}{awl_clients};
++ }
++ }
++
++ return 'DUNNO';
++ }
++
+ # lookup
+ my $sender = $self->do_sender_substitutions($attr->{sender});
+ my ($client_net, $client_host) =
+@@ -402,10 +440,11 @@
+ }
+ my $val = $db->{$key};
+ my $first;
++ my $retry_count=0;
+ my $last_was_successful=0;
+ if(defined $val) {
+ my $last;
+- ($first, $last) = split(/,/,$val);
++ ($first, $last, $retry_count) = split(/,/,$val);
+ # find out if the last time was unsuccessful, so that we can add a header
+ # to say how much had to be waited
+ if($last - $first >= $self->{postgrey}{delay}) {
+@@ -426,16 +465,19 @@
+ $first = $now;
+ }
+
++ my $diff = $self->{postgrey}{delay} - ($now - $first);
++
++ # enough waited? -> increase retry_count
++ $retry_count++ if($diff <= 0);
++
+ # update (put as last element stripped host-part if it was stripped)
+ if(defined $client_host) {
+- $db->{$key}="$first,$now,$client_host";
++ $db->{$key}="$first,$now,$retry_count,$client_host";
+ }
+ else {
+- $db->{$key}="$first,$now";
++ $db->{$key}="$first,$now,$retry_count";
+ }
+
+- my $diff = $self->{postgrey}{delay} - ($now - $first);
+-
+ # auto whitelist clients
+ # algorithm:
+ # - on successful entry in the greylist db of a triplet:
+@@ -443,23 +485,41 @@
+ # - client whitelisted already? -> update last-seen timestamp
+ if($self->{postgrey}{awl_clients}) {
+ # greylisting succeeded
+- if($diff <= 0 and !$last_was_successful) {
++ if($retry_count >= $self->{postgrey}{retry_count} and !$last_was_successful) {
+ # enough time has passed (record only one attempt per hour)
+- if(! defined $cawl_last or $now >= $cawl_last + 3600) {
++ if(! defined $cawl_last or $now >= $cawl_last + $self->{postgrey}{awl_delay}) {
+ # ok, increase count
+ $cawl_count++;
+ $cawl_db->{$cawl_key}=$cawl_count.','.$now;
+ my $client = $attr->{client_name} ?
+ $attr->{client_name}.'['.$attr->{client_address}.']' :
+ $attr->{client_address};
+- $self->mylog(1, "whitelisted: $client")
++ $self->mylog(1, "whitelisted: $attr->{client_name}"."[".$attr->{client_address}."]")
+ if $cawl_count==$self->{postgrey}{awl_clients};
+ }
+ }
+ }
+
+- # not enough waited? -> greylist
+- if ($diff > 0 ) {
++ # not enough retry? -> greylist
++ if ($retry_count < $self->{postgrey}{retry_count}) {
++ if($self->{postgrey}{tarpit} && ! $self->{postgrey}{targrey}) {
++ # do tarpit and greylist if tarpit option only
++ # don't add message after greylist_action
++ return "SLEEP $self->{postgrey}{tarpit}, $self->{postgrey}{greylist_action}";
++ }
++ if($self->{postgrey}{targrey}) {
++ # do tarpit if targrey option
++ # add tarpit blacklist
++ my $tarpit_db = $self->{postgrey}{db_tarpit};
++ my $tarpit_key = $attr->{client_address};
++ my $tarpit_last = $tarpit_db->{$tarpit_key};
++ $tarpit_last = 0 unless (defined $tarpit_last);
++ $tarpit_db->{$tarpit_key} = "$now" if ($now >= $tarpit_last+300); # update if 5min ago
++
++ # return sleep if not tarpit blacklisted
++ return "SLEEP $self->{postgrey}{tarpit}" if ($tarpit_last == 0);
++ # greylist if tarpit blacklisted
++ }
+ my $msg = $self->{postgrey}{greylist_text};
+ # Workaround for an Exchange bug related to Greylisting:
+ # use DSN 4.2.0 instead of the default 4.7.1. This works
+@@ -517,6 +577,7 @@
+ 'syslogfacility|syslog-facility|facility=s',
+ 'retry-window=s', 'greylist-action=s', 'greylist-text=s', 'privacy',
+ 'hostname=s', 'exim', 'listen-queue-size=i', 'x-greylist-header=s',
++ 'tarpit:s', 'targrey', 'retry-count=i', 'auto-whitelist-delay=i',
+ ) or exit(1);
+ # note: lookup-by-subnet can be given for compatibility, but it is default
+ # so do not do nothing with it...
+@@ -606,7 +667,9 @@
+ awl_clients => defined $opt{'auto-whitelist-clients'} ?
+ ($opt{'auto-whitelist-clients'} ne '' ?
+ $opt{'auto-whitelist-clients'} : 5) : 5,
++ awl_delay => $opt{'auto-whitelist-delay'} || 3600,
+ retry_window => $retry_window,
++ retry_count => $opt{'retry-count'} || 1,
+ greylist_action => $opt{'greylist-action'} || 'DEFER_IF_PERMIT',
+ greylist_text => $opt{'greylist-text'} || 'Greylisted, see http://postgrey.schweikert.ch/help/%r.html',
+ whitelist_clients_files => $opt{'whitelist-clients'} ||
+@@ -618,6 +681,10 @@
+ hostname => defined $opt{hostname} ? $opt{hostname} : hostname,
+ exim => defined $opt{'exim'},
+ x_greylist_header => $opt{'x-greylist-header'} || 'X-Greylist: delayed %t seconds by postgrey-%v at %h; %d',
++ tarpit => defined $opt{'tarpit'} ?
++ ($opt{'tarpit'} ne '' ?
++ $opt{'tarpit'} : 65) : undef,
++ targrey => defined $opt{'targrey'},
+ },
+ }, 'postgrey';
+
+@@ -633,6 +700,11 @@
+ require Digest::SHA;
+ }
+
++ # --targrey needs tarpit sec
++ if(defined $opt{'targrey'} && ! defined $opt{'tarpit'}) {
++ $server->{postgrey}{tarpit} = 125;
++ }
++
+ $0 = join(' ', @{$server->{server}{commandline}});
+ $server->run;
+
+@@ -711,6 +783,13 @@
+ -Env => $self->{postgrey}{db_env}
+ ) or die "ERROR: can't create database $self->{server}{dbdir}/postgrey_clients.db: $!\n";
+ }
++ if($self->{postgrey}{targrey}) { # use targrey
++ tie(%{$self->{postgrey}{db_tarpit}}, 'BerkeleyDB::Btree',
++ -Filename => 'tarpit_clients.db',
++ -Flags => DB_CREATE,
++ -Env => $self->{postgrey}{db_env}
++ ) or die "ERROR: can't create database $self->{server}{dbdir}/tarpit_clients.db: $!\n";
++ }
+ }
+
+ sub mux_input()
diff --git a/mail-filter/postgrey/metadata.xml b/mail-filter/postgrey/metadata.xml
new file mode 100644
index 000000000000..7c7830fef769
--- /dev/null
+++ b/mail-filter/postgrey/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lists@xunil.at</email>
+ <name>Stefan Weichinger</name>
+ </maintainer>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+<longdescription>Postgrey is a Postfix policy server implementing greylisting developed by David Schweikert at the ISG.EE.</longdescription>
+<use>
+ <flag name="targrey">Enables the targrey patch</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/postgrey/postgrey-1.34-r3.ebuild b/mail-filter/postgrey/postgrey-1.34-r3.ebuild
new file mode 100644
index 000000000000..f39af79c82e5
--- /dev/null
+++ b/mail-filter/postgrey/postgrey-1.34-r3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils user
+
+DESCRIPTION="Postgrey is a Postfix policy server implementing greylisting"
+HOMEPAGE="http://postgrey.schweikert.ch/"
+SRC_URI="http://postgrey.schweikert.ch/pub/${P}.tar.gz
+ http://postgrey.schweikert.ch/pub/old/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ppc ppc64 x86"
+IUSE="targrey"
+
+DEPEND=""
+RDEPEND=">=dev-lang/perl-5.6.0
+ dev-perl/Net-Server
+ dev-perl/IO-Multiplex
+ dev-perl/BerkeleyDB
+ dev-perl/Net-DNS
+ dev-perl/Parse-Syslog
+ dev-perl/Net-RBLClient
+ >=sys-libs/db-4.1"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+ if use targrey ; then
+ epatch "${FILESDIR}"/targrey-0.31-postgrey-1.34.patch
+ fi
+ epatch "${FILESDIR}"/${P}-perl-5.18.patch
+ # bug 479400
+ sed -i 's@#!/usr/bin/perl -T -w@#!/usr/bin/perl -w@' postgrey || die "sed failed"
+}
+
+src_install() {
+ # postgrey data/DB in /var
+ diropts -m0770 -o ${PN} -g ${PN}
+ dodir /var/spool/postfix/${PN}
+ keepdir /var/spool/postfix/${PN}
+ fowners postgrey:postgrey /var/spool/postfix/${PN}
+ fperms 0770 /var/spool/postfix/${PN}
+
+ # postgrey binary
+ dosbin ${PN}
+ dosbin contrib/postgreyreport
+
+ # policy-test script
+ dosbin policy-test
+
+ # postgrey data in /etc/postfix
+ insinto /etc/postfix
+ insopts -o root -g ${PN} -m 0640
+ doins postgrey_whitelist_clients postgrey_whitelist_recipients
+
+ # documentation
+ dodoc Changes README
+
+ # init.d + conf.d files
+ insopts -o root -g root -m 755
+ newinitd "${FILESDIR}"/${PF}.rc.new ${PN}
+ insopts -o root -g root -m 640
+ newconfd "${FILESDIR}"/${PN}.conf.new ${PN}
+}
diff --git a/mail-filter/postgrey/postgrey-1.35-r2.ebuild b/mail-filter/postgrey/postgrey-1.35-r2.ebuild
new file mode 100644
index 000000000000..e96a63720ea3
--- /dev/null
+++ b/mail-filter/postgrey/postgrey-1.35-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils systemd user
+
+DESCRIPTION="Postgrey is a Postfix policy server implementing greylisting"
+HOMEPAGE="http://postgrey.schweikert.ch/"
+SRC_URI="http://postgrey.schweikert.ch/pub/${P}.tar.gz
+http://postgrey.schweikert.ch/pub/old/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="targrey"
+
+DEPEND=""
+RDEPEND=">=dev-lang/perl-5.6.0
+ dev-perl/Net-Server
+ dev-perl/IO-Multiplex
+ dev-perl/BerkeleyDB
+ dev-perl/Net-DNS
+ dev-perl/Parse-Syslog
+ dev-perl/Net-RBLClient
+ virtual/perl-Digest-SHA
+ >=sys-libs/db-4.1"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+ if use targrey ; then
+ epatch "${FILESDIR}"/targrey-0.31-postgrey-1.34.patch
+ fi
+ # bug 479400
+ sed -i 's@#!/usr/bin/perl -T -w@#!/usr/bin/perl -w@' postgrey || die "sed failed"
+}
+
+src_install() {
+ # postgrey data/DB in /var
+ diropts -m0770 -o ${PN} -g ${PN}
+ dodir /var/spool/postfix/${PN}
+ keepdir /var/spool/postfix/${PN}
+ fowners postgrey:postgrey /var/spool/postfix/${PN}
+ fperms 0770 /var/spool/postfix/${PN}
+
+ # postgrey binary
+ dosbin ${PN}
+ dosbin contrib/postgreyreport
+
+ # policy-test script
+ dosbin policy-test
+
+ # postgrey data in /etc/postfix
+ insinto /etc/postfix
+ insopts -o root -g ${PN} -m 0640
+ doins postgrey_whitelist_clients postgrey_whitelist_recipients
+
+ # documentation
+ dodoc Changes README README.exim
+
+ # init.d + conf.d files
+ insopts -o root -g root -m 755
+ newinitd "${FILESDIR}"/${PN}-1.34-r3.rc.new ${PN}
+ insopts -o root -g root -m 640
+ newconfd "${FILESDIR}"/${PN}.conf.new ${PN}
+ systemd_dounit "${FILESDIR}"/postgrey.service
+}
diff --git a/mail-filter/postgrey/postgrey-1.36-r1.ebuild b/mail-filter/postgrey/postgrey-1.36-r1.ebuild
new file mode 100644
index 000000000000..b86f673b9997
--- /dev/null
+++ b/mail-filter/postgrey/postgrey-1.36-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils systemd user
+
+DESCRIPTION="Postgrey is a Postfix policy server implementing greylisting"
+HOMEPAGE="http://postgrey.schweikert.ch/"
+SRC_URI="http://postgrey.schweikert.ch/pub/${P}.tar.gz
+http://postgrey.schweikert.ch/pub/old/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ~ppc ppc64 x86"
+IUSE="targrey"
+
+DEPEND=""
+RDEPEND=">=dev-lang/perl-5.6.0
+ dev-perl/Net-Server
+ dev-perl/IO-Multiplex
+ dev-perl/BerkeleyDB
+ dev-perl/Net-DNS
+ dev-perl/NetAddr-IP
+ dev-perl/Net-RBLClient
+ dev-perl/Parse-Syslog
+ virtual/perl-Digest-SHA
+ >=sys-libs/db-4.1"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+ if use targrey ; then
+ epatch "${FILESDIR}"/targrey-0.31-postgrey-1.34.patch
+ fi
+ # bug 479400
+ sed -i 's@#!/usr/bin/perl -T -w@#!/usr/bin/perl -w@' postgrey || die "sed failed"
+}
+
+src_install() {
+ # postgrey data/DB in /var
+ diropts -m0770 -o ${PN} -g ${PN}
+ dodir /var/spool/postfix/${PN}
+ keepdir /var/spool/postfix/${PN}
+ fowners postgrey:postgrey /var/spool/postfix/${PN}
+ fperms 0770 /var/spool/postfix/${PN}
+
+ # postgrey binary
+ dosbin ${PN}
+ dosbin contrib/postgreyreport
+
+ # policy-test script
+ dosbin policy-test
+
+ # postgrey data in /etc/postfix
+ insinto /etc/postfix
+ insopts -o root -g ${PN} -m 0640
+ doins postgrey_whitelist_clients postgrey_whitelist_recipients
+
+ # documentation
+ dodoc Changes README README.exim
+
+ # init.d + conf.d files
+ insopts -o root -g root -m 755
+ newinitd "${FILESDIR}"/${PN}-1.34-r3.rc.new ${PN}
+ insopts -o root -g root -m 640
+ newconfd "${FILESDIR}"/${PN}.conf.new ${PN}
+ systemd_dounit "${FILESDIR}"/postgrey.service
+}
diff --git a/mail-filter/postgrey/postgrey-1.37.ebuild b/mail-filter/postgrey/postgrey-1.37.ebuild
new file mode 100644
index 000000000000..37e2c1011e8c
--- /dev/null
+++ b/mail-filter/postgrey/postgrey-1.37.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils systemd user
+
+DESCRIPTION="Postgrey is a Postfix policy server implementing greylisting"
+HOMEPAGE="http://postgrey.schweikert.ch/"
+SRC_URI="http://postgrey.schweikert.ch/pub/${P}.tar.gz
+http://postgrey.schweikert.ch/pub/old/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-lang/perl-5.6.0
+ dev-perl/Net-Server
+ dev-perl/IO-Multiplex
+ dev-perl/BerkeleyDB
+ dev-perl/Net-DNS
+ dev-perl/NetAddr-IP
+ dev-perl/Net-RBLClient
+ dev-perl/Parse-Syslog
+ virtual/perl-Digest-SHA
+ >=sys-libs/db-4.1"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+ # bug 479400
+ sed -i 's@#!/usr/bin/perl -T -w@#!/usr/bin/perl -w@' postgrey || die "sed failed"
+}
+
+src_install() {
+ # postgrey data/DB in /var
+ diropts -m0770 -o ${PN} -g ${PN}
+ dodir /var/spool/postfix/${PN}
+ keepdir /var/spool/postfix/${PN}
+ fowners postgrey:postgrey /var/spool/postfix/${PN}
+ fperms 0770 /var/spool/postfix/${PN}
+
+ # postgrey binary
+ dosbin ${PN}
+ dosbin contrib/postgreyreport
+
+ # policy-test script
+ dosbin policy-test
+
+ # postgrey data in /etc/postfix
+ insinto /etc/postfix
+ insopts -o root -g ${PN} -m 0640
+ doins postgrey_whitelist_clients postgrey_whitelist_recipients
+
+ # documentation
+ dodoc Changes README README.exim
+
+ # init.d + conf.d files
+ insopts -o root -g root -m 755
+ newinitd "${FILESDIR}"/${PN}-1.34-r3.rc.new ${PN}
+ insopts -o root -g root -m 640
+ newconfd "${FILESDIR}"/${PN}.conf.new ${PN}
+ systemd_dounit "${FILESDIR}"/postgrey.service
+}
diff --git a/mail-filter/postsrsd/Manifest b/mail-filter/postsrsd/Manifest
new file mode 100644
index 000000000000..39f54760e560
--- /dev/null
+++ b/mail-filter/postsrsd/Manifest
@@ -0,0 +1,7 @@
+AUX postsrsd.init 737 SHA256 aaba9c2a4991821809beac5b4290ddfede8e5dfc871dc68912213723881129ee SHA512 9550e26ddee4eec5b324bc6364b52ea8ebf755c1463498ab7380aac87e79d1a84e2048ef0bfdd250d029674d5050bab1bb5d1cec455ec5d4863e08d320e06111 WHIRLPOOL 8eb7f35d742ee21b09279d361c55fb140fa17b89d3654fa9ec24394e70b33b12edf365cc193faa7944288a732126eeb19d699c3b1d5cbf917aeaa0edf8d43164
+AUX postsrsd.init-r1 787 SHA256 231ea51b6f9e333690b427cd1c5ac468784e6dd62dd0d8337f7761fd0fe99e9c SHA512 dd80b6be1e2c28ddd7ff48ac761ce15b46d01db58aa91ddaa29db63acec5c071a52c055b9ecf8839f04696765a937dfcd2532be4a99fe2cf04bd881a7bd5acc2 WHIRLPOOL a8cba3772abeec9531d5daecfb1feba8b21cc0b65cb7d2cc0928888d97c0ef2dedf6dea68f87381caedcaa1ad0371fbb61107b691c6eee59e458ba10813c1010
+DIST postsrsd-1.4.tar.gz 26555 SHA256 f3230d57c36ba4688cc3beb90fbb0f199a06381e4df2edbc4ef541a9e8a574ff SHA512 e5b9d2091d562030dd8d35117a3c5fb7d99c0613120fc90f74be57af5e88a3fe0ce73a5ce702708047ae37f70c6aedb4a0df018dccbe480048ccb6ed4debbcef WHIRLPOOL 8589c87aa5c59a7b0865d47b74dfa5a50e932f76a55c11fae651f3ad1ffb666d483cc237c4be1f1625a6fb8de1f2bcb689d01c11a6b20100b4056abf9f734ab1
+EBUILD postsrsd-1.4-r1.ebuild 550 SHA256 c1723f43e262daff4a491d64a7cfeef5002cc4ca69a0438015f340f2a5a76483 SHA512 9e395c93a416b5cc81cd5295d287f871c225ec3bb49445b94e34ddfe9bd768bccacfe8189015e3e9d53092c615b90f8287e9afae69dd9f516cf16197570437d6 WHIRLPOOL e9e71cbd09b2d49c65a2fda8c6e8afaa600a048b9d359e1017d675b5fd8747a4f1b1f18a72e4f4e76fa5c1025f570b53e74a2b465dcb59f3b2e81d5300dc5d92
+EBUILD postsrsd-1.4.ebuild 547 SHA256 cd9b618ef0a1d62850fc41ac8e8cf65eeab72c6065f8fdb486226a02f55d38f7 SHA512 3e3c21cc922a540d5bc4af336678588f463afaca5109e4ba977d042e7ac6010f8f4b1f9fe10cbabbbc81ce9b3f28dc5f368887186315c6e343e5d4846501ea4c WHIRLPOOL 21d9c630e1351cf08a2d8570529ae1cd556cd87f811b1bc0a1bf328def3f3f213cb0f02921b41f218f0435d400567968f49615aedcdcc3264a1a437075531e3b
+MISC ChangeLog 858 SHA256 a894640881fdd246bdb0335f1b86518b31ac42668b321e249ba9ddadbc64a3ff SHA512 de1695413898a00d91656f6ee92b0b944d4e037d81cd2b63e52df6f7f4188c972f1afaf4b5412060836eb3d313519cb8bb70227a67996e613bf77f3cfcf16582 WHIRLPOOL caea64e632ca73932de55a437ae7f22000dd60fe6877b4b2419026e0d18a354f459f25c2aaac33d12db31cf63f4fadcd67e9af4a531465434550376111a99969
+MISC metadata.xml 337 SHA256 119720907cbe45edc49e4dc64fb363a1879c587f1b50066de44bd1ba922f21fe SHA512 9093270e1a174ca6c5e1316015b3e9605f247bcd4fccf1e1c9595f5b94e3e182e532dced5c483a0be24c053fd453a5b9ba272c1004fbc54fe95cc3069dfe7d59 WHIRLPOOL 0c52f4821e07dddae87fa6e34e52ae9786350c92dcd97b646f4441a04a8283e7c5b06d0a827afb6550626ae9286780f36115040a3f2bbb9b458c9d38b7e7e229
diff --git a/mail-filter/postsrsd/files/postsrsd.init b/mail-filter/postsrsd/files/postsrsd.init
new file mode 100644
index 000000000000..acc00232be5b
--- /dev/null
+++ b/mail-filter/postsrsd/files/postsrsd.init
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/$SVCNAME.pid
+SRS_DOMAIN=`postconf -h mydomain || true`
+SRS_EXCLUDE_DOMAINS=
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --name $SVCNAME \
+ --exec /usr/sbin/postsrsd \
+ -- -f "$SRS_FORWARD_PORT" -r "$SRS_REVERSE_PORT" \
+ -d "$SRS_DOMAIN" -s "$SRS_SECRET" -a "$SRS_SEPARATOR" \
+ -u "$RUN_AS" -p "$PIDFILE" -c "$CHROOT" \
+ -D -X"$SRS_EXCLUDE_DOMAINS"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --name $SVCNAME
+ eend $?
+}
diff --git a/mail-filter/postsrsd/files/postsrsd.init-r1 b/mail-filter/postsrsd/files/postsrsd.init-r1
new file mode 100644
index 000000000000..023a96897085
--- /dev/null
+++ b/mail-filter/postsrsd/files/postsrsd.init-r1
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/$SVCNAME.pid
+SRS_DOMAIN="${SRS_DOMAIN:-`postconf -h mydomain || true`}"
+SRS_EXCLUDE_DOMAINS="${SRS_EXCLUDE_DOMAINS:-''}"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --name $SVCNAME \
+ --exec /usr/sbin/postsrsd \
+ -- -f "$SRS_FORWARD_PORT" -r "$SRS_REVERSE_PORT" \
+ -d "$SRS_DOMAIN" -s "$SRS_SECRET" -a "$SRS_SEPARATOR" \
+ -u "$RUN_AS" -p "$PIDFILE" -c "$CHROOT" \
+ -D -X"$SRS_EXCLUDE_DOMAINS"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --name $SVCNAME
+ eend $?
+}
diff --git a/mail-filter/postsrsd/metadata.xml b/mail-filter/postsrsd/metadata.xml
new file mode 100644
index 000000000000..941bbee959a4
--- /dev/null
+++ b/mail-filter/postsrsd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">roehling/postsrsd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/postsrsd/postsrsd-1.4-r1.ebuild b/mail-filter/postsrsd/postsrsd-1.4-r1.ebuild
new file mode 100644
index 000000000000..4c6c522fe9bb
--- /dev/null
+++ b/mail-filter/postsrsd/postsrsd-1.4-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user
+
+DESCRIPTION="Postfix Sender Rewriting Scheme daemon"
+SRC_URI="https://github.com/roehling/postsrsd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/roehling/postsrsd"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/postsrsd.init-r1" postsrsd
+ newconfd "${BUILD_DIR}/postsrsd.default" postsrsd
+}
diff --git a/mail-filter/postsrsd/postsrsd-1.4.ebuild b/mail-filter/postsrsd/postsrsd-1.4.ebuild
new file mode 100644
index 000000000000..7bfc490021f9
--- /dev/null
+++ b/mail-filter/postsrsd/postsrsd-1.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user
+
+DESCRIPTION="Postfix Sender Rewriting Scheme daemon"
+SRC_URI="https://github.com/roehling/postsrsd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/roehling/postsrsd"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/postsrsd.init" postsrsd
+ newconfd "${BUILD_DIR}/postsrsd.default" postsrsd
+}
diff --git a/mail-filter/procmail-lib/Manifest b/mail-filter/procmail-lib/Manifest
new file mode 100644
index 000000000000..7c68fee42b71
--- /dev/null
+++ b/mail-filter/procmail-lib/Manifest
@@ -0,0 +1,7 @@
+DIST procmail-lib-2008.1108.tar.gz 763653 SHA256 11604d007fc95ba084b824a0c8a15aa55281670a14fb4e4a05033c10f1536a65 SHA512 54a9ffa7bd5e5554c0d48efa59c22ed4aaa635d3b87a3b8cdc2b660ab8a4acdd1dfa39d7d816ed3ebc379ddc7e8e58e54e0f0fb8c8f6eb51661201f03bc0332b WHIRLPOOL b6661ab8e97966fc6075409501ff83c10093c13989ebb745c1db071029a9dd83ad7ef2cc5df19ffd315552dbb3cb72c7ce5dce2336e82b253bbf51b7781119dc
+DIST procmail-lib-2009.1202.tar.gz 765078 SHA256 f08fc745b66d0743974dfe8194b5016766d68fa8bea0af7da35c9adb60e46b27 SHA512 374681de60f7ba55f6581b248684841482eca01b04bf81b67fca8fc62caf1e7acc5e7562db16f6aa11fa072bee032e54e925081483e3987f820c9863d19e4a97 WHIRLPOOL 52c11be6e01497b009f5175eac9718a4aacb8a9fdb141af9dd45c39792430191e578395ab2c1bbd452cae4920c18ed3a3383b2580d01fa6e24de776cc314a501
+EBUILD procmail-lib-20081108.ebuild 611 SHA256 1adb7ac04d4a6097338c890febad5e14810292efc1df449829bc82f859685c7f SHA512 2eb7ae7848bb44f4ad8f546a0f49ce7c43f1108c0b6e4169a3289dab95bfbb67663e3d232b789e68fa5d5fc178f64349f8f28d37379a2998b6a33e74e1c7752d WHIRLPOOL 506d4eb8465d751eb1c7caef20c26a049290df7687ef4729200aa79f7c7b992267e49dbaf627dc15c24806d35ce6a9eac506e923025b0df98cf9d1f85c50a561
+EBUILD procmail-lib-20091202.ebuild 615 SHA256 71462acbdfb24278f9daf47ffdd797af506b6975ad1c2ff2cc882cd74e1d672b SHA512 cfd5ec9da57516c3ae10b14d1ae0eb03681712f162971e0ae1923de793cf3b25ce94a359b9d834fd4436116000eb792f78d546c45cd7a1b4ed8bcefe063698b4 WHIRLPOOL 2418200bacbf5640644a2006b56c55d49b09fc96cdb352bed00af4e2fb2ff0e4388698139c298605b3dc4ee22f11fddd6eddf56c45546d6649872193a0324b11
+MISC ChangeLog 2519 SHA256 f63c3fe0a871d98d64bbaf0e71b87ae3602cb01f6b90904e4aca488153104e03 SHA512 1c52d5e8879cf3bfc4185e89aa557f4f63909da28c5f046ac8ac41ed1710b5c992461cf49af4de6fd64d60b0751b3980f7a10fbd9f12d1984e2a3d00e1df00cd WHIRLPOOL ba1fc57040195f32bd965884e85cef9cb0fab36f1ff2f362672fcb5880b9a8a90998cbfabb70d6ce22d6224cf64a07c315e8fe6e5a78c157687c0ea3fb4e3d98
+MISC ChangeLog-2015 1236 SHA256 ac1f122c7871ecf9587da8b6efc920467939d23d95d1b30b63dc6fd04dc89b46 SHA512 15f7f6dedd5e2bd91dc3303cfcb43c1ffcb3758de9172016c6868073e71d7498d6aac1a0d013ad2963b24fd826fef4c77f0866e877de326103eca7854ee4a6e7 WHIRLPOOL ced196a53c3ba818c446b427a8e90b8d6f6921ae397eb444087d004b5feac5b7fd058a1dc723ec947d06219626e60e6a8b06773154f0af11495bf658c6d7e734
+MISC metadata.xml 324 SHA256 0301ea58274d672f58a35fa08d10ddcb1993dbd1f56e267329e25ae67d33d717 SHA512 eeace434389797c8a8b7fdb9739edbfdb660621cf0903fec674f5b56d9c63c50927b154b5aac5a3d0797722d488dae2f80b103d9526c4287169f68d458fecaff WHIRLPOOL f3f8804c7fa002029cbbe34f538757853123eea376e2b476c1395cdb5867004b68bf84a917e62390397acf35f34f7d5458256c93684569e4076e39c27b357524
diff --git a/mail-filter/procmail-lib/metadata.xml b/mail-filter/procmail-lib/metadata.xml
new file mode 100644
index 000000000000..ba22e974e12d
--- /dev/null
+++ b/mail-filter/procmail-lib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freshmeat">procmail-lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/procmail-lib/procmail-lib-20081108.ebuild b/mail-filter/procmail-lib/procmail-lib-20081108.ebuild
new file mode 100644
index 000000000000..54d6b569ea84
--- /dev/null
+++ b/mail-filter/procmail-lib/procmail-lib-20081108.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+MY_PV="${PV:0:4}.${PV:4}"
+
+DESCRIPTION="Procmail Module Library is a collection of modules for Procmail"
+HOMEPAGE="http://freshmeat.net/projects/procmail-lib"
+SRC_URI="mirror://nongnu/${PN}/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="mail-filter/procmail"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ emake DESTDIR="${D}" prefix=/usr install || die "make install failed"
+ mv "${D}"/usr/share/doc/"${PN}" "${D}"/usr/share/doc/"${PF}"
+}
diff --git a/mail-filter/procmail-lib/procmail-lib-20091202.ebuild b/mail-filter/procmail-lib/procmail-lib-20091202.ebuild
new file mode 100644
index 000000000000..96ae77035c08
--- /dev/null
+++ b/mail-filter/procmail-lib/procmail-lib-20091202.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+MY_PV="${PV:0:4}.${PV:4}"
+
+DESCRIPTION="Procmail Module Library is a collection of modules for Procmail"
+HOMEPAGE="http://freshmeat.net/projects/procmail-lib"
+SRC_URI="mirror://nongnu/${PN}/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="mail-filter/procmail"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ emake DESTDIR="${D}" prefix=/usr install || die "make install failed"
+ mv "${D}"/usr/share/doc/"${PN}" "${D}"/usr/share/doc/"${PF}"
+}
diff --git a/mail-filter/procmail/Manifest b/mail-filter/procmail/Manifest
new file mode 100644
index 000000000000..2f68e0a25da4
--- /dev/null
+++ b/mail-filter/procmail/Manifest
@@ -0,0 +1,13 @@
+AUX gentoo-maildir3.diff 461 SHA256 b4cf36c3b5c9f73ca1877e1c424f5e7100908ba6997410c68a945d5d2fb65a3e SHA512 3736e55e95cab67be23281b343456aa9d9624d14e23b1f293014abc5e711c715f362e5a8464a8779dc01f1e6fb5560a346d265b334ee87f65bd0664f87bc09be WHIRLPOOL 6fcb41241ee429719156d13f153f83b998fb267108c0539c1d62706379f206250af2c4fceb95b3eb738a6ec6f63dca60d96a1b496fa588c1ba9852f222977a43
+AUX procmail-3.22-glibc-2.10.patch 2840 SHA256 14f11ba68b85f89e3b089b0f23e935f222d905808eb13da105624c64d91e5447 SHA512 44a5f7c3c6cf1b2f9241eb45e64322abd7b685ecd4909f0b126ababe9f14c9c0e7978daa9f5218d3255359d46760c628085a77ee7e3c61a272830477d21adeb9 WHIRLPOOL ec27d4ee6c2c8e7c1d1131cffe65fc6be14ca4177be612d7295944c734eacecbcfe8bf563a58b0143bdfbd04b1697aae18708282a11fc8244a9edb2fd1e25471
+AUX procmail-comsat-segfault.diff 822 SHA256 16a8c19b44b2f0eba0afd276d8b8af255efa31385c88942e4a1b251556afc23f SHA512 2a306dbce15cf7fe71e3f20a4707a9b326431da20638b29365090ae4a6c444483046d2f8940f5a8db7120708414c3386bea3254aea6b397633f04b6babc6d581 WHIRLPOOL fb535faa57ec1fe7f468be2f19041e36ce1a62dd86a45a940b0c0dfd6f48a4173d3674f14cc682baa74cb2e0512bdb65425d6dae32a08381c4c3a34caf8215be
+AUX procmail-lazy-bindings.diff 622 SHA256 756beda1e188ca3e4eab2d6c57180226e4e6953f6a51b370b7e9652c8104e380 SHA512 aea07c42ec87b7b8d04a5f0f514d4d14aedf8e60f116c4106d29c36de7858cb345930778b38385cf03e5b5a4af230947798625ebec54759f506b4b7b9df826f4 WHIRLPOOL bffbb65e79879f171eab99a814534c4100c663245a8f2e0441486c2ee6ec8eaf6c2bdd5deb254db04e1446f0542a0e774afd03bcbbea562f64be6e57850bed37
+AUX procmail-maxprocs-fix.diff 465 SHA256 08c2a210d6936a63f29d93f2c57daa92740fb011d916ddcbba16475f03ed2d2b SHA512 f6dbcca6a42d2e9f82c167287e7220ab0a68bf34e890f48310331f650b30400b65643f4f5d13f8c8e3b95431c3c4d9292ac14607891f064e811a81fdba6fbf9e WHIRLPOOL 92d3d0ea78ae2681d97a9083e78551130ccc30fda8a0f92a015bc3568979bb18eda087d638e01f6f8cf3c824553ce10c56674e3c3a4d4b5f1dd54f632c053004
+AUX procmail-pipealloc.diff 825 SHA256 bc2c755c287252d252fb46a60a86850074ca1020d4f0d0d272615c89db11d4ba SHA512 e2a93060ff133f073c8a988db1bd92cfe3aac149ee04eda65862c468576fe194cd09379a545a94bbb1e20dbe1e142eae9f7949e930288178968fd95f5450fdbc WHIRLPOOL 019499e88d15605fe17a27efa7d517caa3ebab4132e8b6f912644806f5278fbc70c62948131a444d54f5b52f558cd531f20cf5945a1268d30eea5abc983a7d39
+AUX procmail-prefix.patch 5748 SHA256 b99b239b9b519f3186cc379004455f0e4b46e7400c7ea4c605531d4cdb48f8ab SHA512 be61e6e0c89145caea1351241196c3bc986382340ecba0360d10918691cf1e35c67028a33ffaf22c83a0c747d06e58f437bf84854fc819206fa6e7bf0bbeb0d5 WHIRLPOOL b5f826ef10f5c890028317c329f13299c37311ba97d9155cdbf35fdd9e359931a7246d2de8858643d07805b3d8b6ac67c2e18956126a3107b80c9ab529181d03
+DIST procmail-3.22.tar.gz 226817 SHA256 087c75b34dd33d8b9df5afe9e42801c9395f4bf373a784d9bc97153b0062e117 SHA512 3d0658329a55957a8d5741e03b0853b030c4524acef30641663213aa9eefc8264f8cc2b68a00a89e5f9f0f7c916c41a42e1b6c8df562c545ba97d8ab9049a936 WHIRLPOOL f2ad3fae5919caba6a14a004b8ec5f185265fdcc3491b1562804d8c5ce4d2f18dea37c777adefef752f9db7a2bb26aa24b5e2215a455a30138ffa39f09c538db
+EBUILD procmail-3.22-r10.ebuild 2966 SHA256 e5b73887a9fdffd16858c36b317d88e01f2983baed8a875e7829e1a6288757b6 SHA512 3deccb93763d8f6ee663074a41d7b93cc5c093b74ae943ff2b2a9f2c7c68cb5f904d8533fbee12aa90aaac1980d85b6dffd72bed47316b8ca0ed713e1571d527 WHIRLPOOL 9f16e3ddcb896bc777e1f3e36f8324f3bd901a6cb4666e6d3fda2ca3da5a16c1140ac528129396875b6aefa9e0d4041105cbab6f730f24624fb012e652dc2164
+EBUILD procmail-3.22-r11.ebuild 3474 SHA256 3468996a782e9cff518058f456265a4e778a0d5b457c643adbbf9bfb344fdfaf SHA512 8b664a9979b4180c5b7814b84387f9fb8793ffc71b7b36ab662ec1eacb5d2774a49e80d60a78c782f74ad889736bbbd4fc215cad3aa6e7ab0f10572448873b97 WHIRLPOOL dcff7db253c768df3130c05c47d118986bc7ecf3e6ac45243ee23e1e7b514aac7ada9e8f040c07ec3b600e4da7e84b22ff0850bce5546c4e2f1bc083c0fb49c4
+MISC ChangeLog 2991 SHA256 81fb9017ea5e3f5539e7c8c1c2031d57bad4f7ed496a4ed123f6a2d3e42dbdf3 SHA512 962ba70f760432e21ed2aa9cb8b7d892299fef124be7e420b4c8b9a27f8d79448a877a283a7fb407de7fe5a9735c1a703ac3d3883e0b3f8d2372ed83657696f7 WHIRLPOOL d4ec747b45f48ed77471dd1100a98b805f3867b12fe5f60731d0de5ae0b86b7d0f9d18db0ff68bd080ae117019bc960eb8f936f41faa5df91b1e684f1e560742
+MISC ChangeLog-2015 10610 SHA256 facd76ba2ca2d31ae0e205b261f3363f8e9209da67edeb69f2d65168c13dc51b SHA512 a7a2a259a5c5103dd0525102f71fbe54f2426cd1fcaac99f6d10265e002846f27b4f94bf6323704b1703289178e765e048d7de2b06735b59fdd76826bc59cf71 WHIRLPOOL 5222c788edee7b7c3df06af6c393ae9058ae0f2e6d04a4507507120d53c8f6f1a2909c1afc875b9bf23ad9f3f1f2cb8ab2d988e232abb10804cad1327479fa94
+MISC metadata.xml 240 SHA256 f0e0bb7a24c4b1ff6b6a8a3e9315245c298499c03fbda429c0f775ec6a5396af SHA512 97824dbce22630efb21e647b55212b7a8a19d8e38b5bf05cb0b8078530bbbaaf4dc91284e2a11beab7dfcfb779df82b87b49d11a746c7a4f6dc71f2fda8942db WHIRLPOOL a7adfcb24489ae67a43a59d8350a70b20874fb03de95681c5b516a741d95422560a433f641de5a7222cf5d3500333e215055ec0cb3844e7abc6d6a836de97357
diff --git a/mail-filter/procmail/files/gentoo-maildir3.diff b/mail-filter/procmail/files/gentoo-maildir3.diff
new file mode 100644
index 000000000000..51dfef64ae8b
--- /dev/null
+++ b/mail-filter/procmail/files/gentoo-maildir3.diff
@@ -0,0 +1,12 @@
+--- procmail-3.22/src/authenticate.c.orig 2002-07-26 20:38:52.000000000 -0400
++++ procmail-3.22/src/authenticate.c 2002-07-26 20:57:56.000000000 -0400
+@@ -39,7 +39,7 @@
+ #include "authenticate.h"
+
+ #ifndef MAILSPOOLDIR
+-#define MAILSPOOLDIR "/var/spool/mail/" /* watch the trailing / */
++#define MAILSPOOLDIR "" /* watch the trailing / */
+ #endif
+ #ifndef MAILSPOOLSUFFIX
+ #define MAILSPOOLSUFFIX "" /* suffix to force maildir or MH style */
+
diff --git a/mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch b/mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch
new file mode 100644
index 000000000000..2663bf501188
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch
@@ -0,0 +1,70 @@
+diff -NrU5 procmail-3.22.orig/src/fields.c procmail-3.22/src/fields.c
+--- procmail-3.22.orig/src/fields.c 2009-05-21 18:21:25.000000000 +0200
++++ procmail-3.22/src/fields.c 2009-05-21 18:22:14.000000000 +0200
+@@ -108,20 +108,20 @@
+ extractfield(p);
+ }
+ /* try and append one valid field to rdheader from stdin */
+ int readhead P((void))
+ { int idlen;
+- getline();
++ procmail_getline();
+ if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */
+ return 0;
+ if(idlen==STRLEN(FROM)&&eqFrom_(buf)) /* it's a From_ line */
+ { if(rdheader)
+ return 0; /* the From_ line was a fake! */
+- for(;buflast=='>';getline()); /* gather continued >From_ lines */
++ for(;buflast=='>';procmail_getline()); /* gather continued >From_ lines */
+ }
+ else
+- for(;;getline()) /* get the rest of the continued field */
++ for(;;procmail_getline()) /* get the rest of the continued field */
+ { switch(buflast) /* will this line be continued? */
+ { case ' ':case '\t': /* yep, it sure is */
+ continue;
+ }
+ break;
+diff -NrU5 procmail-3.22.orig/src/formail.c procmail-3.22/src/formail.c
+--- procmail-3.22.orig/src/formail.c 2009-05-21 18:21:25.000000000 +0200
++++ procmail-3.22/src/formail.c 2009-05-21 18:22:14.000000000 +0200
+@@ -817,11 +817,11 @@
+ #ifdef MAILBOX_SEPARATOR
+ if(!strncmp(emboxsep,buf,STRLEN(emboxsep))) /* end of mail? */
+ { if(split) /* gobble up the next start separator */
+ { buffilled=0;
+ #ifdef sMAILBOX_SEPARATOR
+- getline();buffilled=0; /* but only if it's defined */
++ procmail_getline();buffilled=0; /* but only if it's defined */
+ #endif
+ if(buflast!=EOF) /* if any */
+ goto splitit;
+ break;
+ }
+diff -NrU5 procmail-3.22.orig/src/formisc.c procmail-3.22/src/formisc.c
+--- procmail-3.22.orig/src/formisc.c 2009-05-21 18:21:25.000000000 +0200
++++ procmail-3.22/src/formisc.c 2009-05-21 18:22:14.000000000 +0200
+@@ -113,11 +113,11 @@
+ { if(buffilled==buflen)
+ buf=realloc(buf,buflen+=Bsize);
+ buf[buffilled++]=c;
+ }
+
+-int getline P((void)) /* read a newline-terminated line */
++int procmail_getline P((void)) /* read a newline-terminated line */
+ { if(buflast==EOF) /* at the end of our Latin already? */
+ { loadchar('\n'); /* fake empty line */
+ return EOF; /* spread the word */
+ }
+ loadchar(buflast); /* load leftover into the buffer */
+diff -NrU5 procmail-3.22.orig/src/formisc.h procmail-3.22/src/formisc.h
+--- procmail-3.22.orig/src/formisc.h 2009-05-21 18:21:25.000000000 +0200
++++ procmail-3.22/src/formisc.h 2009-05-21 18:22:14.000000000 +0200
+@@ -15,6 +15,6 @@
+ closemine P((void)),
+ opensink P((void));
+ char*
+ skipwords P((char*start));
+ int
+- getline P((void));
++ procmail_getline P((void));
diff --git a/mail-filter/procmail/files/procmail-comsat-segfault.diff b/mail-filter/procmail/files/procmail-comsat-segfault.diff
new file mode 100644
index 000000000000..e96bb5d94a38
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-comsat-segfault.diff
@@ -0,0 +1,20 @@
+--- src/comsat.c.old 2005-08-17 19:17:20.000000000 +0200
++++ src/comsat.c 2005-08-17 19:18:19.000000000 +0200
+@@ -92,7 +92,7 @@
+ }
+ if(newvalid) /* so far, so good */
+ { int s;
+- if(!*chp) /* no service */
++ if(!chad||!*chp) /* no service */
+ chp=BIFF_serviceport; /* new balls please! */
+ s=strtol(chp,&chad,10);
+ if(chp!=chad) /* the service is not numeric */
+@@ -120,7 +120,7 @@
+ { int s;const char*p;
+ if(!csvalid||!buf) /* is comat on and set to a valid address? */
+ return;
+- if(!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */
++ if(!cslgname||!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */
+ return;
+ if(!(p=folder?folder:cslastf)) /* do we have a folder? */
+ return;
diff --git a/mail-filter/procmail/files/procmail-lazy-bindings.diff b/mail-filter/procmail/files/procmail-lazy-bindings.diff
new file mode 100644
index 000000000000..f1c4221650e6
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-lazy-bindings.diff
@@ -0,0 +1,16 @@
+--- src/Makefile.0.old 2005-05-23 10:34:25.000000000 +0200
++++ src/Makefile.0 2005-05-23 10:34:52.000000000 +0200
+@@ -18,11 +18,11 @@
+ .PRECIOUS: Makefile
+
+ procmail: procmail.$(O) $(PM_OBJ) setid
+- $(CC) $(CFLAGS) $@.$(O) $(PM_OBJ) -o $@ $(LDFLAGS)
++ $(CC) $(CFLAGS) $@.$(O) $(PM_OBJ) -o $@ -Wl,-z,now $(LDFLAGS)
+ @test -z "$(STRIP)" || ( echo $(STRIP) $@; $(STRIP) $@ )
+
+ lockfile: lockfile.$(O) $(LF_OBJ)
+- $(CC) $(CFLAGS) $@.$(O) $(LF_OBJ) -o $@ $(LDFLAGS)
++ $(CC) $(CFLAGS) $@.$(O) $(LF_OBJ) -o $@ -Wl,-z,now $(LDFLAGS)
+ @test -z "$(STRIP)" || ( echo $(STRIP) $@; $(STRIP) $@ )
+
+ formail: formail.$(O) $(FM_OBJ)
diff --git a/mail-filter/procmail/files/procmail-maxprocs-fix.diff b/mail-filter/procmail/files/procmail-maxprocs-fix.diff
new file mode 100644
index 000000000000..c78b000a8b92
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-maxprocs-fix.diff
@@ -0,0 +1,11 @@
+--- src/formisc.c.orig 2006-01-22 00:35:30.000000000 -0800
++++ src/formisc.c 2006-01-22 00:35:55.000000000 -0800
+@@ -183,7 +183,7 @@
+ retval=excode;
+ } /* reap some children */
+ while(childlimit&&children>=childlimit||(child=fork())==-1&&children)
+- for(--children;(excode=waitfor((pid_t)0))!=NO_PROCESS;)
++ for(;(excode=waitfor((pid_t)0))!=NO_PROCESS;)
+ { if(excode!=EXIT_SUCCESS)
+ retval=excode;
+ if(--children<=maxchild)
diff --git a/mail-filter/procmail/files/procmail-pipealloc.diff b/mail-filter/procmail/files/procmail-pipealloc.diff
new file mode 100644
index 000000000000..fdd5cc97328a
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-pipealloc.diff
@@ -0,0 +1,21 @@
+diff -rc procmail-3.22/src/pipes.c procmail-3.22-fixed/src/pipes.c
+*** procmail-3.22/src/pipes.c Tue Sep 11 00:58:44 2001
+--- procmail-3.22-fixed/src/pipes.c Wed Nov 21 23:53:39 2007
+***************
+*** 194,200 ****
+ makeblock(&temp,Stdfilled);
+ tmemmove(temp.p,Stdout,Stdfilled);
+ readdyn(&temp,&Stdfilled,Stdfilled+backlen+1);
+! Stdout=realloc(Stdout,&Stdfilled+1);
+ tmemmove(Stdout,temp.p,Stdfilled+1);
+ freeblock(&temp);
+ retStdout(Stdout,pwait&&pipw,!backblock);
+--- 194,200 ----
+ makeblock(&temp,Stdfilled);
+ tmemmove(temp.p,Stdout,Stdfilled);
+ readdyn(&temp,&Stdfilled,Stdfilled+backlen+1);
+! Stdout=realloc(Stdout,Stdfilled+1);
+ tmemmove(Stdout,temp.p,Stdfilled+1);
+ freeblock(&temp);
+ retStdout(Stdout,pwait&&pipw,!backblock);
+
diff --git a/mail-filter/procmail/files/procmail-prefix.patch b/mail-filter/procmail/files/procmail-prefix.patch
new file mode 100644
index 000000000000..6063b92db2b8
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-prefix.patch
@@ -0,0 +1,155 @@
+--- config.h~ 2007-10-03 17:55:24 +0200
++++ config.h 2007-10-03 18:01:38 +0200
+@@ -116,11 +116,11 @@
+ is not found, maildelivery will proceed as normal to the default
+ system mailbox. This also must be an absolute path */
+
+-#define ETCRC "/etc/procmailrc" /* optional global procmailrc startup
++#define ETCRC "@GENTOO_PORTAGE_EPREFIX@/etc/procmailrc" /* optional global procmailrc startup
+ file (will only be read if procmail
+ is started with no rcfile on the command line). */
+
+-#define ETCRCS "/etc/procmailrcs/" /* optional trusted path prefix for
++#define ETCRCS "@GENTOO_PORTAGE_EPREFIX@/etc/procmailrcs/" /* optional trusted path prefix for
+ rcfiles which will be executed with
+ the uid of the owner of the rcfile (this only happens if procmail is
+ called with the -m option, without variable assignments on the command
+@@ -168,7 +168,7 @@
+ #define INEFFICIENTrealloc /* don't pussy-foot around */
+ #endif
+ #define MAXinMEM (1024*1024) /* when to switch to mmap() */
+-#define MMAP_DIR "/var/spool/procmail/" /* where to put */
++#define MMAP_DIR "@GENTOO_PORTAGE_EPREFIX@/var/spool/procmail/" /* where to put */
+ #endif /* the files */
+ #define MINlogbuf 81 /* fit an entire line */
+ #define MAXlogbuf 1000 /* in case someone abuses LOG */
+@@ -220,8 +220,8 @@
+ #define DEFcomsat offvalue /* when an rcfile has been specified */
+ /* set to either "offvalue" or "empty" */
+
+-#define BinSh "/bin/sh"
+-#define ROOT_DIR "/"
++#define BinSh "@GENTOO_PORTAGE_EPREFIX@/bin/sh"
++#define ROOT_DIR "@GENTOO_PORTAGE_EPREFIX@"
+ #define DEAD_LETTER "/tmp/dead.letter" /* $ORGMAIL if no passwd entry */
+ #define DevNull "/dev/null"
+ #define NICE_RANGE 39 /* maximal nice difference */
+--- Makefile~ 2007-10-03 18:07:51 +0200
++++ Makefile 2007-10-03 18:10:07 +0200
+@@ -2,7 +2,7 @@
+
+ # BASENAME should point to where the whole lot will be installed
+ # change BASENAME to your home directory if need be
+-BASENAME = /usr
++BASENAME = @GENTOO_PORTAGE_EPREFIX@/usr
+ # For display in the man pages
+ VISIBLE_BASENAME= $(BASENAME)
+
+@@ -79,7 +79,7 @@
+ # -lresolv # not really needed, is it?
+
+ # Informal list of directories where we look for the libraries in SEARCHLIBS
+-LIBPATHS=/lib /usr/lib /usr/local/lib
++LIBPATHS=@GENTOO_PORTAGE_EPREFIX@/lib @GENTOO_PORTAGE_EPREFIX@/usr/lib
+
+ GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \
+ -Wpointer-arith -Wconversion -Waggregate-return \
+@@ -97,10 +97,10 @@
+ ####CC = cc # gcc
+ # object file extension
+ O = o
+-RM = /bin/rm -f
++RM = @GENTOO_PORTAGE_EPREFIX@/bin/rm -f
+ MV = mv -f
+ LN = ln
+-BSHELL = /bin/sh
++BSHELL = @GENTOO_PORTAGE_EPREFIX@/bin/sh
+ INSTALL = cp
+ DEVNULL = /dev/null
+ STRIP = strip
+@@ -112,7 +112,7 @@
+ MANS5S = procmailrc procmailsc procmailex
+
+ # Possible locations for the sendmail.cf file
+-SENDMAILCFS = /etc/mail/sendmail.cf /etc/sendmail.cf /usr/lib/sendmail.cf
++SENDMAILCFS = @GENTOO_PORTAGE_EPREFIX@/etc/mail/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/etc/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/usr/lib/sendmail.cf
+
+ # Makefile.1 - mark, don't (re)move this, a sed script needs it
+
+--- src/autoconf~ 2001-09-11 06:55:46 +0200
++++ src/autoconf 2007-10-03 19:17:51 +0200
+@@ -1,4 +1,4 @@
+-#! /bin/sh
++#! @GENTOO_PORTAGE_EPREFIX@/bin/sh
+ :
+ # Copyright (c) 1990-1997, S.R. van den Berg, The Netherlands
+ # $Id$
+@@ -1416,20 +1416,10 @@
+
+ found=no
+
+-for a in /var/spool/mail /usr/spool/mail /var/mail /usr/mail /spool/mail
+-do
+- test -d $a -a $found != yes &&
+- echo '#define MAILSPOOLDIR "'$a'/"' >>$ACONF && found=yes
+-done
+-if test $found != yes
+-then
+- echo '#define MAILSPOOLDIR "/var/spool/mail/"' >>$ACONF
+- echo Could not find the system-mailbox directory, supplied default.
+-fi
++echo '#define MAILSPOOLDIR "@GENTOO_PORTAGE_EPREFIX@/var/spool/mail/"' >>$ACONF
+
+ cat >lookfor <<HERE
+-for a in /usr/sbin /usr/lib /lib /usr/etc /etc /usr/bin /bin /usr/local/bin \
+- /usr/lbin /usr/local/lib /usr/local /usr/.lib /local/bin /sbin
++for a in @GENTOO_PORTAGE_EPREFIX@/usr/sbin
+ do
+ if test -f "\$a/\$1"
+ then
+@@ -1458,7 +1448,7 @@
+ grep '^#define SENDMAIL ".*/sendmail"' $ACONF >$DEVNULL ||
+ echo "#define DEFflagsendmail \"\"" >>$ACONF
+
+-a=/tmp/_chowntst.$$
++a=@GENTOO_PORTAGE_EPREFIX@/tmp/_chowntst.$$
+ $RM -r $a
+ OLDTESTDIRS="$a $OLDTESTDIRS"
+ mkdir $a
+@@ -1466,19 +1456,18 @@
+
+ _autotst $a/__ $a/__/__ 4 >>$ACONF
+
+-cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
++cat @GENTOO_PORTAGE_EPREFIX@/usr/lib/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/etc/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/etc/mail/sendmail.cf 2>$DEVNULL |
+ grep 'Mlocal.*procmail' >$DEVNULL ||
+ echo '#define CF_no_procmail_yet' >>$ACONF
+
+-cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
++cat @GENTOO_PORTAGE_EPREFIX@/usr/lib/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/etc/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/etc/mail/sendmail.cf 2>$DEVNULL |
+ grep '^V' >$DEVNULL ||
+ echo '#define buggy_SENDMAIL' >>$ACONF
+
+-lpath='/bin'
+-bins="/bin"
++lpath='@GENTOO_PORTAGE_EPREFIX@/bin'
++bins='@GENTOO_PORTAGE_EPREFIX@/bin'
+
+-for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin /usr/local/bin \
+- /global/bin /usr/bin/X11 /usr/X*/bin
++for newd in @GENTOO_PORTAGE_EPREFIX@/usr/bin
+ do
+ if test -d $newd
+ then
+--- src/recommend.c~ 2007-10-03 19:10:01 +0200
++++ src/recommend.c 2007-10-03 19:11:04 +0200
+@@ -9,8 +9,7 @@
+
+ char mailspooldir[]=MAILSPOOLDIR;
+ const char dirsep[]=DIRSEP,
+- *const checkf[]={"/bin/mail","/bin/lmail","/usr/lib/sendmail",
+- "/usr/lib/smail",0};
++ *const checkf[]={"@GENTOO_PORTAGE_EPREFIX@/usr/bin/sendmail",0};
+
+ int main(argc,argv)const int argc;const char*const argv[];
+ { struct group*grp;struct stat stbuf;gid_t gid=(gid_t)-1;
diff --git a/mail-filter/procmail/metadata.xml b/mail-filter/procmail/metadata.xml
new file mode 100644
index 000000000000..9a6d80e5da48
--- /dev/null
+++ b/mail-filter/procmail/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+</pkgmetadata>
diff --git a/mail-filter/procmail/procmail-3.22-r10.ebuild b/mail-filter/procmail/procmail-3.22-r10.ebuild
new file mode 100644
index 000000000000..bc1f9f05821b
--- /dev/null
+++ b/mail-filter/procmail/procmail-3.22-r10.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils flag-o-matic toolchain-funcs prefix
+
+DESCRIPTION="Mail delivery agent/filter"
+HOMEPAGE="http://www.procmail.org/"
+SRC_URI="http://www.procmail.org/${P}.tar.gz"
+
+LICENSE="|| ( Artistic GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
+IUSE="mbox selinux"
+
+DEPEND="virtual/mta"
+RDEPEND="selinux? ( sec-policy/selinux-procmail )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # disable flock, using both fcntl and flock style locking
+ # doesn't work with NFS with 2.6.17+ kernels, bug #156493
+
+ sed -e "s:/\*#define NO_flock_LOCK:#define NO_flock_LOCK:" \
+ -i config.h || die "sed failed"
+
+ if ! use mbox ; then
+ echo "# Use maildir-style mailbox in user's home directory" > "${S}"/procmailrc
+ echo 'DEFAULT=$HOME/.maildir/' >> "${S}"/procmailrc
+ cd "${S}"
+ epatch "${FILESDIR}/gentoo-maildir3.diff"
+ else
+ echo '# Use mbox-style mailbox in /var/spool/mail' > "${S}"/procmailrc
+ echo 'DEFAULT=${EPREFIX}/var/spool/mail/$LOGNAME' >> "${S}"/procmailrc
+ fi
+
+ # Do not use lazy bindings on lockfile and procmail
+ if [[ ${CHOST} != *-darwin* ]]; then
+ epatch "${FILESDIR}/${PN}-lazy-bindings.diff"
+ fi
+
+ # Fix for bug #102340
+ epatch "${FILESDIR}/${PN}-comsat-segfault.diff"
+
+ # Fix for bug #119890
+ epatch "${FILESDIR}/${PN}-maxprocs-fix.diff"
+
+ # Prefixify config.h
+ epatch "${FILESDIR}"/${PN}-prefix.patch
+ eprefixify config.h Makefile src/autoconf src/recommend.c
+
+ # Fix for bug #200006
+ epatch "${FILESDIR}/${PN}-pipealloc.diff"
+
+ # Fix for bug #270551
+ epatch "${FILESDIR}/${PN}-3.22-glibc-2.10.patch"
+}
+
+src_compile() {
+ # -finline-functions (implied by -O3) leaves strstr() in an infinite loop.
+ # To work around this, we append -fno-inline-functions to CFLAGS
+ # Since GCC 4.7 we also need -fno-ipa-cp-clone (bug #466552)
+ append-flags -fno-inline-functions -fno-ipa-cp-clone
+
+ sed -e "s:CFLAGS0 = -O:CFLAGS0 = ${CFLAGS}:" \
+ -e "s:LDFLAGS0= -s:LDFLAGS0 = ${LDFLAGS}:" \
+ -e "s:LOCKINGTEST=__defaults__:#LOCKINGTEST=__defaults__:" \
+ -e "s:#LOCKINGTEST=/tmp:LOCKINGTEST=/tmp:" \
+ -i Makefile || die "sed failed"
+
+ emake CC="$(tc-getCC)" || die
+}
+
+src_install() {
+ cd "${S}"/new
+ insinto /usr/bin
+ insopts -m 6755
+ doins procmail || die
+
+ doins lockfile || die
+ fowners root:mail /usr/bin/lockfile
+ fperms 2755 /usr/bin/lockfile
+
+ dobin formail mailstat || die
+ insopts -m 0644
+
+ doman *.1 *.5
+
+ cd "${S}"
+ dodoc FAQ FEATURES HISTORY INSTALL KNOWN_BUGS README
+
+ insinto /etc
+ doins procmailrc || die
+
+ docinto examples
+ dodoc examples/*
+}
+
+pkg_postinst() {
+ if ! use mbox ; then
+ elog "Starting with mail-filter/procmail-3.22-r9 you'll need to ensure"
+ elog "that you configure a mail storage location using DEFAULT in"
+ elog "/etc/procmailrc, for example:"
+ elog "\tDEFAULT=\$HOME/.maildir/"
+ fi
+}
diff --git a/mail-filter/procmail/procmail-3.22-r11.ebuild b/mail-filter/procmail/procmail-3.22-r11.ebuild
new file mode 100644
index 000000000000..c717564afa4f
--- /dev/null
+++ b/mail-filter/procmail/procmail-3.22-r11.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs prefix
+
+DESCRIPTION="Mail delivery agent/filter"
+HOMEPAGE="http://www.procmail.org/"
+SRC_URI="http://www.procmail.org/${P}.tar.gz"
+
+LICENSE="|| ( Artistic GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
+IUSE="mbox selinux"
+
+DEPEND="virtual/mta"
+RDEPEND="selinux? ( sec-policy/selinux-procmail )"
+
+src_prepare() {
+ # disable flock, using both fcntl and flock style locking
+ # doesn't work with NFS with 2.6.17+ kernels, bug #156493
+
+ sed -e "s:/\*#define NO_flock_LOCK:#define NO_flock_LOCK:" \
+ -i config.h || die "sed failed"
+
+ if ! use mbox ; then
+ echo "# Use maildir-style mailbox in user's home directory" > "${S}"/procmailrc || die
+ echo 'DEFAULT=$HOME/.maildir/' >> "${S}"/procmailrc || die
+ cd "${S}" || die
+ eapply "${FILESDIR}/gentoo-maildir3.diff"
+ else
+ echo '# Use mbox-style mailbox in /var/spool/mail' > "${S}"/procmailrc || die
+ echo 'DEFAULT=${EPREFIX}/var/spool/mail/$LOGNAME' >> "${S}"/procmailrc || die
+ fi
+
+ # Do not use lazy bindings on lockfile and procmail
+ if [[ ${CHOST} != *-darwin* ]]; then
+ eapply -p0 "${FILESDIR}/${PN}-lazy-bindings.diff"
+ fi
+
+ # Fix for bug #102340
+ eapply -p0 "${FILESDIR}/${PN}-comsat-segfault.diff"
+
+ # Fix for bug #119890
+ eapply -p0 "${FILESDIR}/${PN}-maxprocs-fix.diff"
+
+ # Prefixify config.h
+ eapply -p0 "${FILESDIR}"/${PN}-prefix.patch
+ eprefixify config.h Makefile src/autoconf src/recommend.c
+
+ # Fix for bug #200006
+ eapply "${FILESDIR}/${PN}-pipealloc.diff"
+
+ # Fix for bug #270551
+ eapply "${FILESDIR}/${PN}-3.22-glibc-2.10.patch"
+
+ eapply_user
+}
+
+src_compile() {
+ # -finline-functions (implied by -O3) leaves strstr() in an infinite loop.
+ # To work around this, we append -fno-inline-functions to CFLAGS
+ # Since GCC 4.7 we also need -fno-ipa-cp-clone (bug #466552)
+ # If it's clang, ignore -fno-ipa-cp-clone, as clang doesn't support this
+ case "$(tc-getCC)" in
+ "clang") append-flags -fno-inline-functions ;;
+ "gcc"|*) append-flags -fno-inline-functions -fno-ipa-cp-clone ;;
+ esac
+
+ sed -e "s:CFLAGS0 = -O:CFLAGS0 = ${CFLAGS}:" \
+ -e "s:LDFLAGS0= -s:LDFLAGS0 = ${LDFLAGS}:" \
+ -e "s:LOCKINGTEST=__defaults__:#LOCKINGTEST=__defaults__:" \
+ -e "s:#LOCKINGTEST=/tmp:LOCKINGTEST=/tmp:" \
+ -i Makefile || die "sed failed"
+
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ cd "${S}"/new || die
+ insinto /usr/bin
+ insopts -m 6755
+ doins procmail
+
+ doins lockfile
+ fowners root:mail /usr/bin/lockfile
+ fperms 2755 /usr/bin/lockfile
+
+ dobin formail mailstat
+ insopts -m 0644
+
+ doman *.1 *.5
+
+ cd "${S}" || die
+ dodoc FAQ FEATURES HISTORY INSTALL KNOWN_BUGS README
+
+ insinto /etc
+ doins procmailrc
+
+ docinto examples
+ dodoc examples/*
+}
+
+pkg_postinst() {
+ if ! use mbox ; then
+ elog "Starting with mail-filter/procmail-3.22-r9 you'll need to ensure"
+ elog "that you configure a mail storage location using DEFAULT in"
+ elog "/etc/procmailrc, for example:"
+ elog "\tDEFAULT=\$HOME/.maildir/"
+ fi
+ if has sfperms ${FEATURES}; then
+ ewarn "FEATURES=sfperms removes the read-bit for others from"
+ ewarn " /usr/bin/procmail"
+ ewarn " /usr/bin/lockfile"
+ ewarn "If you use procmail from an MTA like Exim, you need to"
+ ewarn "re-add the read-bit or avoid the MTA checking the binary"
+ ewarn "exists."
+ fi
+}
diff --git a/mail-filter/pypolicyd-spf/Manifest b/mail-filter/pypolicyd-spf/Manifest
new file mode 100644
index 000000000000..107a4e8d9df4
--- /dev/null
+++ b/mail-filter/pypolicyd-spf/Manifest
@@ -0,0 +1,5 @@
+DIST pypolicyd-spf-2.0.1.tar.gz 38086 SHA256 9124865c3434b40ecbe6e761d05039b670d403e04d2736f3ffbbc8788f47d127 SHA512 85f51491ab1f44e197dbf9a15f9e723ba3aaf0472d9d1653595490d7211670a67cdca5699111ab5a29f9d919cd935ed58d8d70bd1312a4f0f90da4ef26a50509 WHIRLPOOL 575b2117e997bfd45ad7b846e6022002e92a51601f3af9b16f828f74956b2aee408cdf246382fefb7493bd083a0ddbda7b86e2a62d003187a82926d5be9e4714
+EBUILD pypolicyd-spf-2.0.1.ebuild 1229 SHA256 78d24baa12f022be3252b388fad2a8f6b0e5eb25ba82f2c3629ae6e5173d8d19 SHA512 564469702551ba214455b51385810e2149848ca15ab55b646e2a4c4195efd0be387f504bf6c1e640dbf0428876f14149b77c8ee797098a697fae1c99d6743a35 WHIRLPOOL 0fc265946948ca6521ebb4c993fd07f67f0c26652eebe77bf9bc20ff7df872682196df66e66a97bbb181cfe80af6aa5d350ed9ca7500913f5e060dbd5a724d29
+MISC ChangeLog 5481 SHA256 451c98dcda707c8853957a2a412255dd0f3c95eaaeb33013fe660dda5ecafa28 SHA512 8de08b470a942a79504f1d4c1bfef9377877e14c18dc5d0994914c41530dbfff2ce2ec0c9f329c618e23950994fd0208c1eed8c0d480ebaa5197a0e2ab3c1b91 WHIRLPOOL 7b6a8fb3b55e447885212c764efde4a8e294842948473166690a862fa315fa23fd04dbabfe0690c231ba379acead6e425be899ab8c69263cb4c80d64ea75ccb9
+MISC ChangeLog-2015 6187 SHA256 cca794e67a40d63f3a3ec6d7493fccd1be6137b99b93abebc5cbd3b16f3de5b9 SHA512 37141dac90a3bf38597f6d17ae755868792703e468930d9c65afae4797f530aff359f2829308ac041204e538e5a5a1518c181205b12fd9a64816aa117cf5012e WHIRLPOOL 4bdffe707086d84a427163c6527a4d3ca66226be3d4c9b16bfb31da614bbf39fbf1d0354cf0dee496c5a96609e2c3eb84d16fa700d6d9eaf3ed297d8f6578538
+MISC metadata.xml 356 SHA256 d2e179d33154f5904b1bf0ff038c725e29fe91dfc554f59d204d4ab939e704fa SHA512 67a8fd46090c3e558e7bf963277e99e11be4d2df97f4a4491a7fbc64a42f89e19af2131d13efec7370df1f27b2eb7385f59e732fae57b6ec67c47f18af8cfc72 WHIRLPOOL d17fdabf1a9dbd85349ea6355cc6f9e63d1a27cd53c2d9992d43d37b4024e841cd2990326fd353f02b283ea67d53d8bd2fc440feb45845b71de01adf9f60fe88
diff --git a/mail-filter/pypolicyd-spf/metadata.xml b/mail-filter/pypolicyd-spf/metadata.xml
new file mode 100644
index 000000000000..9b1409156b59
--- /dev/null
+++ b/mail-filter/pypolicyd-spf/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">pypolicyd-spf</remote-id>
+ <remote-id type="pypi">pypolicyd-spf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/pypolicyd-spf/pypolicyd-spf-2.0.1.ebuild b/mail-filter/pypolicyd-spf/pypolicyd-spf-2.0.1.ebuild
new file mode 100644
index 000000000000..51eea70ee7cc
--- /dev/null
+++ b/mail-filter/pypolicyd-spf/pypolicyd-spf-2.0.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+
+# The built-in ipaddress module handles the parsing of IP addresses. If
+# python is built without ipv6 support, then ipaddress can't parse ipv6
+# addresses, and the daemon will crash if it sees an ipv6 SPF record. In
+# other words, it's completely broken.
+PYTHON_REQ_USE="ipv6"
+
+inherit distutils-r1
+
+DESCRIPTION="Python-based policy daemon for Postfix SPF verification"
+HOMEPAGE="https://launchpad.net/${PN}"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/pyspf-2.0.9[${PYTHON_USEDEP}]"
+
+RDEPEND="${DEPEND}
+ dev-python/authres[${PYTHON_USEDEP}]"
+
+DOCS=( CHANGES policyd-spf.conf.commented README README.per_user_whitelisting )
+
+python_prepare_all() {
+ # The "real" config file mentions the commented one, so we point
+ # users in the right direction.
+ local oldconf="policyd-spf.conf.commented"
+ local newconf="/usr/share/doc/${PF}/${oldconf}"
+
+ sed -i "1 s~ ${oldconf}~,\n# ${newconf}~" policyd-spf.conf \
+ || die 'failed to update commented config file path'
+
+ distutils-r1_python_prepare_all
+}
diff --git a/mail-filter/qmail-scanner/Manifest b/mail-filter/qmail-scanner/Manifest
new file mode 100644
index 000000000000..06c73fd8baca
--- /dev/null
+++ b/mail-filter/qmail-scanner/Manifest
@@ -0,0 +1,21 @@
+AUX qmail-scanner-2.05.logrotate 135 SHA256 d61514a06570b55089915c134beefe5222eaa1199cba7afbe91681b7d67248f5 SHA512 de9382e71982183469be3c134711416e6889a38ff805db5438de6a5ffd2f40217b0b1e64d7d49138abe58f1b44a5e10a6a0d962a660438bd09e4b53465295c21 WHIRLPOOL 4a1e649f9f0fbfcb64ed65cc4a3b874dfb3a381ab25fde844ded5f6c4c58b27495634f3344a47c4e570534b8c19d6a88ff461d157462101358f68cf621ccc169
+AUX qmail-scanner-2.06.logrotate 135 SHA256 d61514a06570b55089915c134beefe5222eaa1199cba7afbe91681b7d67248f5 SHA512 de9382e71982183469be3c134711416e6889a38ff805db5438de6a5ffd2f40217b0b1e64d7d49138abe58f1b44a5e10a6a0d962a660438bd09e4b53465295c21 WHIRLPOOL 4a1e649f9f0fbfcb64ed65cc4a3b874dfb3a381ab25fde844ded5f6c4c58b27495634f3344a47c4e570534b8c19d6a88ff461d157462101358f68cf621ccc169
+AUX qmail-scanner-2.08-disable-suid-check.patch 456 SHA256 57a77986625acbe3022d5cbc55c91a5bed7509676fab8b5cfea7add1f75c4e24 SHA512 1e7d620d981ede2d2a91f5ac8a34437e36348a042bfdca8ab65acbbe09e7b4d9dac4d2a862ca80b35427ff38c566cd14eec7d7eac10f74eb8b9b424ea540f765 WHIRLPOOL 282ffe8c3ddc8d4db8d633d0b3765264cf96953e7106aae38942df1ac097b0d12f63b2c7f1b5d2056c8ec1d3500e0b9314505dcdc6faa8430234f4b44063e4f2
+AUX qmail-scanner-2.08.logrotate 135 SHA256 d61514a06570b55089915c134beefe5222eaa1199cba7afbe91681b7d67248f5 SHA512 de9382e71982183469be3c134711416e6889a38ff805db5438de6a5ffd2f40217b0b1e64d7d49138abe58f1b44a5e10a6a0d962a660438bd09e4b53465295c21 WHIRLPOOL 4a1e649f9f0fbfcb64ed65cc4a3b874dfb3a381ab25fde844ded5f6c4c58b27495634f3344a47c4e570534b8c19d6a88ff461d157462101358f68cf621ccc169
+AUX qmailscanner.cronjob 50 SHA256 09354f2ef42b6423a5947d004a4d3bf76355aafaf11a0db12052bf088115dee1 SHA512 13c2c340435654b5b3acc80f7174ff19323d75df21b53cf73943b859a76f4e0277432f05baf47571282bcf2f0be66ab6597a49f5fea911044b38891f9d228f2d WHIRLPOOL ea64ca0672e55b5f2ee6df1cfc1229a3f893798f205dd189be4f2b269f312edf8b2502d6b302dbda5463e570b6dbe2697337b4a424b16be51b659bbf7f70ea38
+AUX qmailscanner.logrotate 147 SHA256 eae732e0be2ace1ddcd4cc17a9c6a54012684c76dd30faa5349d394f3befc62f SHA512 9af8b5dbbbb6e1f262f91604680a7994dc58f06db68066c412958cfcb1541b5abc2a1155e068b2ed902100bd357b54e63b8ff345f385413483d52259bf52ebe0 WHIRLPOOL e85023a6fd57e3e9a5f91e6c453dd94c710117f038735b9ab9ea785d1626e5dc646ae3e1ed546b93a3bb1ec48b69068168dfd632922d321c506c647afea0920f
+DIST q-s-1.25st-20050406.patch.gz 124325 SHA256 a758b902150f432cc0fa0cc76448bf975e75395ab6b614ca1d8f3be64ab6535a SHA512 a4048ee61fe14164c2d6d71d81db27d05a65c1354734be8fb0d5d0f8d0251bae6a2e197ee4680a7c95bc3f690c82dbda52437139ccbdb3502b66d5994b5c2de3 WHIRLPOOL 3d4bbfcaf05699ffa3c50a5c4b369fef39c2af05acb01bb7a7dcb20e61a5875c3b23a43d18d614f0be1ea6f786a86c84c3dd099d038c0888e253f471b0d60d83
+DIST q-s-2.05st-20080728.patch.gz 102235 SHA256 03f6b5c030fcd95a726b15b68ce722495b73cea406356fe00a51f0f52c0aa840 SHA512 cceaaed8757b53cc358db11b5070a69b8a131f67e43476f3fd4f122c767eb696efe939fb73733a96f0b7d92b096b0cfe39ccec2cc228a94f049c753caefa0029 WHIRLPOOL 2c3ed65a6c5dd7d1bcad0356f151ca8bc9032e37da0d0bd6bcb083b4fd77534317b2e72779df3324004b6cb677db3bb13bbee57e208f3e3d22a2ed9af180f52e
+DIST q-s-2.06st-20090419.patch.gz 103486 SHA256 449505268534d843d4d95377dac2ea220d6e3eca0a31800acc5212d4f6cb25eb SHA512 b10c66873dd5c91c1e9d1c9e1dd3ab9948bebb81654f891b411ff83c6395408c6cbe6c2fc6d5d1c34903f383049d0b8955a975ddf963270eff7d478e297f00a2 WHIRLPOOL 41057131b7d9bf2f705d1e16872aa12c1e75937784d0be138b1ccd9e1e1e21d23002e9b3d20523e52d56e8ec2105f9ebc7bd923f1f20af31c1a91f2f1784d905
+DIST q-s-2.08st-20091012.patch.gz 103757 SHA256 609992f877d8784f74a3006db963c850f1bac6b112c530d4f5e3a50fbbeb37af SHA512 6f9e7567e16dcc1c16f34aa9a64e60776b35bd2a1a38d0f490cbbc56ece1f7894645bd8dd20eb08e054fac1bf17244e8666d085a48a5ba300b0c36cc4bb79fbe WHIRLPOOL ca301e2dc616912391f0ee448ae897c4c7f765b01aed34f300ebf858fdd3429182b88b6200020f877b7293365ff6e49fde5765833977c0c09e8dc388e7dab183
+DIST qmail-scanner-1.25.tgz 221156 SHA256 6fa5743a0d180bc4d1a626c4bf56c06a29ec3c0d7cb2ce834add8faceefb9c01 SHA512 b3271edd4483cd429d1a1bda7bac56e949804a1cf4232ab446038468339afc1e4b30901f0284d811ceb9a6b9e746bf02c424787004b940a0277e38e8705758b8 WHIRLPOOL 114bc4d441d720b9875475ebb0c66f9b00af2b76440f743c1fef961695c6d75f5e1d52f1785e507b3a92ba4203e4a83a8de37ccacd4158b157f5d50f2fa7ca61
+DIST qmail-scanner-2.05.tgz 237577 SHA256 add5d19669838ea8d2fa414051b4d12d1eacba54a0d8a93b7af4c886cd9f6697 SHA512 bde261dd542cb1d01e22eee1decfbb93cab9f353dc14fb4c2b530ff9384c2cd9c0139151b76e7c71b0abedc8002f8264819b32f0c559f994a29686a709b8863b WHIRLPOOL 20b34ee36bbd06cc74f821178452fc968f93950769929826f7b53579b8bbadbba5aef34797c0b58e401239acadb4e6edbcc71a65c238d1e7dab6e43839b7fdbf
+DIST qmail-scanner-2.06.tgz 238926 SHA256 6330e97382efaf2d3ac40674cc1b09f394b7591cd4a7b6e2514eda334d144b09 SHA512 1052985637bea7b24aee3806b1501ed1082a1233a9704cbf5b72af3ef39e44636c921fea4da4abf8ed03acb0b73d9c3c91f7456ccf4547afa643b7b5163212bc WHIRLPOOL 46b18ead18a374a93d672e9153caec1eb49fbabe14c5e08fd4535760d2d43e49ee14bff821691f361d845923ea3b46161b7b3d348dcb775e511fcd90c998525e
+DIST qmail-scanner-2.08.tgz 239667 SHA256 d5db0ac6fccc8febaffb9f66bc2b926323f52247036d3754e7e38ed5977d6ca4 SHA512 52f09cc70fdf4f53f358d80d6dfd52851f3cb81e10dae1f7132c6c5c01fd8fc1395f709e24f0f7031073c29c951bdd4b09863f65f53954198b2c3ec15d78fdd9 WHIRLPOOL 7f6d0e3554aabf9c8c8891401a5be9b3b2326a05ef6cafd789f5cb24562bab672b24b02a7a661209f4d87bd469ef0fb352e58f882466bc21c606a5e1b060aac3
+EBUILD qmail-scanner-1.25-r1.ebuild 4844 SHA256 7f6b1a87f002aac959d1b9a41f0e6fff0c7e1095d7914ea1903b20e0959b3d48 SHA512 10ebe580bf4d70b38d4ffaa3a266e3bbcfdd6b0b5b51621fa2af70f4cb39f90ac5e533bc7c0aa469b6a51d0cead3ad33df1e8d98dbaf54209808ddd1f5ed33f4 WHIRLPOOL 8098f004db28177d2c6b806d26c2babfea97b060035bff2469c8162e84fb3aa1ba5f0b499b1baa8d7aba4f228a5e3d210b2e413b2aa7262f35366b0ba3e2a7e2
+EBUILD qmail-scanner-2.05.ebuild 5515 SHA256 39615a1a4f06ff63f1b7e29035da6e72929f7a296a23a3af10f9f10efef148e2 SHA512 61996d3bfd2e3c289dba2c8bd8474986e2a976c64766b9314b875567861a0fe391518184ffbdef4dd0e39798f9171e0b190b7236bf1502f65acb1f4523e3a152 WHIRLPOOL e581521f034d362f4807e87f7b2858cdc052b995fe3e84370337712fc707734cd6b6f41ae4fa0d66ba32576cae1ba75c4af6a1f07cd2c44e9f441741bb9104a9
+EBUILD qmail-scanner-2.06.ebuild 5539 SHA256 bbb1ec88767c2b2daa4a48fb64925a3298e3df9bb1a43217d5455c21db78ea59 SHA512 b07f8f758331c3dc279eb8e24cd36f31149271a91b8270551cd5404cc9f6535b21abb1629386907f7579dd5faf1d1d75285e19e97a68562ca8ff15613286cc56 WHIRLPOOL 76433ee11f30e1d42659257f5e11a049f02b251bf5bc90ddc7d9183e72baa28c1600af3fc6fcf56d1becf3d1d30780b458afc21d0a4e36f6703bc02cec035d83
+EBUILD qmail-scanner-2.08.ebuild 5579 SHA256 d05ecc838c68f1cfddac1dccf83089c77c730af96072893bff49a85ea37da42c SHA512 b5fc40fc1b0cfa0ce56e7fbefb254b18e918367b44f2f4a3a9c2dc52dc8b5c14104b27fb46a76506241eb86f256dac1817b7d314ec7313d38d146525dd99be18 WHIRLPOOL c633d0db701e7fa0efa82dce9fb7109520405f63df78170eebc1600cd1e224ca3f959b7e5c59587939c4d246c5c745d771f5b9233a4ececc9aaddbe91ba7cf7c
+MISC ChangeLog 2908 SHA256 e25a0300da7dcc3e5ba0539ba3e03e8602389b59b8910bba5d030b9f698c4222 SHA512 cacb1f535234e4b29ce739926e34bcf543e19c34fcc7b7b832ee77114481a987b4e9f65beeaba12d585bd50786a23b580eddcf17a78de782d62fe17b70e0b0e6 WHIRLPOOL 055a11c86cfdcce4bd17ec0519a2538b7fbefa7f2280f91797d0fd83fa7f88c474bbd7c38d0d36b0ecc505d74e3da2371b6c4b48446d0aa1d400ffebe2b8591f
+MISC ChangeLog-2015 13195 SHA256 016b7cfe94639532cd2f24e50fa03df3fe31153590e7e62b1478c99fe14d7e49 SHA512 2b662987d168bf06e5f96233e1073e42ca01a4407c926c6d9a94354bf3bea45d7cb27e219954d1d7f4cddd4f9d8a7bc4d9fb959f0d99727bafa903835581bac3 WHIRLPOOL dc1590887f99206e72e10aad00eb18d4668a4bb548a073ed668fcaf79108476c5f8586a43a3d83690232a070ddaa540840f0a07f266373a0560781df1dc5f147
+MISC metadata.xml 454 SHA256 538b3ccb510a287c760e1a447b4e3e449b02173d806441877549bff9fedc1784 SHA512 75dd287896b9192561942230aeebfccf6a2605c2317cb8b8e68a4106877e8222a072333b2a8cc20f9dbb30b79b3ff713bbdf6e292fbd027dba388ae565613490 WHIRLPOOL ceab4b624d1e006b80e4865c884604b6a9e7e90f00a04201271c17b7591e8c6e72bd4920607269daa8dcc087944e47728b21cba4d305b9e9934022759a93c211
diff --git a/mail-filter/qmail-scanner/files/qmail-scanner-2.05.logrotate b/mail-filter/qmail-scanner/files/qmail-scanner-2.05.logrotate
new file mode 100644
index 000000000000..a0f3cbd880e8
--- /dev/null
+++ b/mail-filter/qmail-scanner/files/qmail-scanner-2.05.logrotate
@@ -0,0 +1,4 @@
+/var/spool/qscan/qmail-queue.log /var/spool/qscan/quarantine.log /var/spool/qscan/mailstats.csv {
+ weekly
+ create 0600 qscand qscand
+}
diff --git a/mail-filter/qmail-scanner/files/qmail-scanner-2.06.logrotate b/mail-filter/qmail-scanner/files/qmail-scanner-2.06.logrotate
new file mode 100644
index 000000000000..a0f3cbd880e8
--- /dev/null
+++ b/mail-filter/qmail-scanner/files/qmail-scanner-2.06.logrotate
@@ -0,0 +1,4 @@
+/var/spool/qscan/qmail-queue.log /var/spool/qscan/quarantine.log /var/spool/qscan/mailstats.csv {
+ weekly
+ create 0600 qscand qscand
+}
diff --git a/mail-filter/qmail-scanner/files/qmail-scanner-2.08-disable-suid-check.patch b/mail-filter/qmail-scanner/files/qmail-scanner-2.08-disable-suid-check.patch
new file mode 100644
index 000000000000..c323dbae4c86
--- /dev/null
+++ b/mail-filter/qmail-scanner/files/qmail-scanner-2.08-disable-suid-check.patch
@@ -0,0 +1,17 @@
+this is a useless check for package builders
+
+https://bugs.gentoo.org/364123
+
+--- a/configure
++++ b/configure
+@@ -440,9 +440,7 @@ fi
+ #QMAILQUEUE_BIN="${QMAILQUEUE_BIN:-$BINDIR/qmail-queue}"
+
+ #Sanity check that suid is allowed on the Qmail "/bin" partition
+-QMNT=`df $BINDIR|head -2|tail -1|awk '{print $1}'`
+-SUIDSTATUS=`mount|egrep "^$QMNT "|grep nosuid`
+-if [ "$SUIDSTATUS" != "" ]; then
++if false; then
+ cat<<EOF
+
+ *** FATAL ERROR ***
diff --git a/mail-filter/qmail-scanner/files/qmail-scanner-2.08.logrotate b/mail-filter/qmail-scanner/files/qmail-scanner-2.08.logrotate
new file mode 100644
index 000000000000..a0f3cbd880e8
--- /dev/null
+++ b/mail-filter/qmail-scanner/files/qmail-scanner-2.08.logrotate
@@ -0,0 +1,4 @@
+/var/spool/qscan/qmail-queue.log /var/spool/qscan/quarantine.log /var/spool/qscan/mailstats.csv {
+ weekly
+ create 0600 qscand qscand
+}
diff --git a/mail-filter/qmail-scanner/files/qmailscanner.cronjob b/mail-filter/qmail-scanner/files/qmailscanner.cronjob
new file mode 100644
index 000000000000..ca4527432e38
--- /dev/null
+++ b/mail-filter/qmail-scanner/files/qmailscanner.cronjob
@@ -0,0 +1,2 @@
+#!/bin/bash
+/var/qmail/bin/qmail-scanner-queue -z
diff --git a/mail-filter/qmail-scanner/files/qmailscanner.logrotate b/mail-filter/qmail-scanner/files/qmailscanner.logrotate
new file mode 100644
index 000000000000..864cfe7f6fe3
--- /dev/null
+++ b/mail-filter/qmail-scanner/files/qmailscanner.logrotate
@@ -0,0 +1,4 @@
+/var/spool/qmailscan/qmail-queue.log /var/spool/qmailscan/quarantine.log /var/spool/qmailscan/mailstats.csv {
+ weekly
+ create 0600 qscand qscand
+}
diff --git a/mail-filter/qmail-scanner/metadata.xml b/mail-filter/qmail-scanner/metadata.xml
new file mode 100644
index 000000000000..db8403c2edd1
--- /dev/null
+++ b/mail-filter/qmail-scanner/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <use>
+ <flag name="spamassassin">Build faster <pkg>mail-filter/spamassassin</pkg>
+ checks into qmail-scanner</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">qmail-scanner</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/qmail-scanner/qmail-scanner-1.25-r1.ebuild b/mail-filter/qmail-scanner/qmail-scanner-1.25-r1.ebuild
new file mode 100644
index 000000000000..66d78bc75ee0
--- /dev/null
+++ b/mail-filter/qmail-scanner/qmail-scanner-1.25-r1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit fixheadtails toolchain-funcs eutils user
+
+Q_S_DATE=20050406
+DESCRIPTION="E-Mail virus scanner for qmail"
+HOMEPAGE="http://qmail-scanner.sourceforge.net/"
+SRC_URI="mirror://sourceforge/qmail-scanner/${P}.tgz
+ http://toribio.apollinare.org/qmail-scanner/download/q-s-${PV}st-${Q_S_DATE}.patch.gz"
+
+IUSE="spamassassin"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+RESTRICT="userpriv"
+
+RDEPEND=">=dev-lang/perl-5.6.1-r1
+ >=virtual/perl-Time-HiRes-01.20-r2
+ >=net-mail/tnef-1.1.1
+ >=virtual/perl-DB_File-1.803-r2
+ >=net-mail/ripmime-1.3.0.4
+ virtual/qmail
+ >=app-arch/unzip-5.42-r1
+ app-antivirus/clamav
+ spamassassin? ( >=mail-filter/spamassassin-2.64 )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup qscand 210
+ enewuser qscand 210 -1 /var/spool/qmailscan qscand
+}
+
+pkg_preinst() {
+ local oldname="/var/qmail/bin/qmail-scanner-queue.pl"
+ if [ -f ${oldname} ]; then
+ newname=${oldname}.`date +%Y%m%d%H%M%S`
+ elog "Backing up old qmail-scanner as $newname in case of modifications."
+ cp ${oldname} ${newname}
+ chmod 600 ${newname}
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${DISTDIR}"/q-s-${PV}st-${Q_S_DATE}.patch.gz
+ ht_fix_file autoupdaters/* configure
+
+ EXTRA_VIRII="bagle,beagle,mydoom,sco,maldal,mimail,novarg,shimg,bugler,cissi,cissy,dloade,netsky,qizy"
+ elog "Adding items to the SILENT_VIRUSES list (${EXTRA_VIRII})"
+ sed -e "/^SILENT_VIRUSES/s/\"$/,${EXTRA_VIRII}\"/g" -i configure
+}
+
+src_compile () {
+ local myconf
+
+ addpredict /var/log/kav/kavscan.log
+ addpredict /opt/bdc/plugins.htm
+
+ use spamassassin && myconf="--virus-to-delete yes --sa-quarantine 2.1 --sa-delete 4.2 --sa-reject no --sa-subject SPAM: --sa-delta 0.5 --sa-alt yes"
+
+ PATH=${PATH}:/opt/f-prot:/opt/vlnx ./configure \
+ --domain localhost \
+ --batch \
+ --log-details yes \
+ --mime-unpacker "ripmime" \
+ --skip-setuid-test \
+ ${myconf} \
+ || die "./configure failed!"
+
+ # build for qmail-scanner-queue wrapper, so we don't need suidperl
+ cd contrib
+ $(tc-getCC) ${CFLAGS} -o qmail-scanner-queue qmail-scanner-queue.c || die
+}
+
+src_install () {
+ # Create Directory Structure
+ diropts -m 755 -o qscand -g qscand
+ dodir /var/spool/qmailscan
+ keepdir /var/spool/qmailscan
+ diropts -m 750 -o qscand -g qscand
+ for i in quarantine working archive; do
+ for j in tmp new cur; do
+ dodir /var/spool/qmailscan/${i}/${j}
+ keepdir /var/spool/qmailscan/${i}/${j}
+ done
+ done
+ dodir /var/spool/qmailscan/tmp
+ keepdir /var/spool/qmailscan/tmp
+
+ # Install standard quarantine attachments file
+ insinto /var/spool/qmailscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine-attachments.txt
+
+ # create quarantine.log and viruses.log
+ touch quarantine.log
+ insinto /var/spool/qmailscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine.log
+ dosym quarantine.log ${DESTDIR}/var/spool/qmailscan/viruses.log
+
+ # Install qmail-scanner wrapper
+ insinto /var/qmail/bin
+ insopts -m 4755 -o qscand -g qscand
+ doins contrib/qmail-scanner-queue
+
+ # Install qmail-scanner script
+ insinto /var/qmail/bin
+ insopts -m 0755 -o qscand -g qscand
+ doins qmail-scanner-queue.pl
+
+ insinto /etc/logrotate.d/
+ insopts -m 644 -o root -g root
+ newins "${FILESDIR}"/qmailscanner.logrotate qmail-scanner
+
+ exeinto /etc/cron.daily/
+ newexe "${FILESDIR}"/qmailscanner.cronjob qmail-scanner
+
+ # Install documentation
+ dodoc README CHANGES
+ dohtml README.html FAQ.php TODO.php configure-options.php manual-install.php perlscanner.php
+
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc spamc-nice.eml
+ dodoc test-trophie.pl
+ dodoc logrotate.qmailscanner
+ dodoc sub-avpdaemon.pl
+ dodoc logging_first_80_chars.eml
+ dodoc spamc-nasty.eml
+ dodoc avpdeamon.init
+ dodoc test_installation.sh
+ dodoc test-sophie.pl
+ dodoc reformime-test.eml
+ dodoc sub-sender-cache.pl
+ dodoc rbl_scanner.txt
+ dodoc test-clamd.pl
+ dodoc qs2mrtg.pl
+ dodoc mrtg-qmail-scanner.cfg
+}
+
+pkg_postinst () {
+ einfo "Fixing ownerships"
+ chown -R qscand:qscand /var/spool/qmailscan/tmp /var/spool/qmailscan/working /var/spool/qmailscan/quarantine* /var/spool/qmailscan/archive /var/spool/qmailscan/qmail*
+ touch /var/qmail/bin/qmail-scanner-queue.pl
+
+ # Setup perlscanner + Version Info
+ chmod -s "${ROOT}"/var/qmail/bin/qmail-scanner-queue.pl
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -z
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -g
+
+ elog "To activate qmail-scanner, please edit your"
+ elog "/var/qmail/control/conf-common file and set:"
+ elog "export QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue"
+ elog "Or place it in your tcprules file."
+ ewarn "Please note that it was a call to qmail-scanner-queue.pl before,"
+ ewarn "but this is now changed to use a wrapper to improve security!"
+ ewarn "Once you have changed to the wrapper, you can remove the setuid "
+ ewarn "bit on qmail-scanner-queue.pl"
+}
diff --git a/mail-filter/qmail-scanner/qmail-scanner-2.05.ebuild b/mail-filter/qmail-scanner/qmail-scanner-2.05.ebuild
new file mode 100644
index 000000000000..9a26f4398903
--- /dev/null
+++ b/mail-filter/qmail-scanner/qmail-scanner-2.05.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit fixheadtails toolchain-funcs eutils user
+
+Q_S_DATE=20080728
+DESCRIPTION="E-Mail virus scanner for qmail"
+HOMEPAGE="http://qmail-scanner.sourceforge.net/"
+SRC_URI="mirror://sourceforge/qmail-scanner/${P}.tgz
+ http://toribio.apollinare.org/qmail-scanner/download/q-s-${PV}st-${Q_S_DATE}.patch.gz"
+
+IUSE="clamav spamassassin"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+RESTRICT="userpriv"
+
+RDEPEND="dev-lang/perl
+ virtual/perl-Time-HiRes
+ net-mail/tnef
+ virtual/perl-DB_File
+ mail-filter/maildrop
+ virtual/qmail
+ app-arch/unzip
+ virtual/daemontools
+ clamav? ( app-antivirus/clamav )
+ spamassassin? ( mail-filter/spamassassin )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup qscand 210
+ enewuser qscand 210 -1 /var/spool/qscan qscand
+ use clamav && usermod -a -G qscand,nofiles clamav
+}
+
+pkg_preinst() {
+ local oldname="/var/qmail/bin/qmail-scanner-queue.pl"
+ if [ -f ${oldname} ]; then
+ newname=${oldname}.`date +%Y%m%d%H%M%S`
+ elog "Backing up old qmail-scanner as $newname in case of modifications."
+ cp ${oldname} ${newname}
+ chmod 600 ${newname}
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${DISTDIR}"/q-s-${PV}st-${Q_S_DATE}.patch.gz
+ epatch "${FILESDIR}"/${PN}-2.08-disable-suid-check.patch #364123
+ ht_fix_file autoupdaters/* configure
+ sed -i \
+ -e "s:/var/spool/qscand:/var/spool/qscan:g" \
+ README-st-patch.html \
+ README-st-patch.txt || die "Fixing doc with sed failed"
+
+ EXTRA_VIRII="bagle,beagle,mydoom,sco,maldal,mimail,novarg,shimg,bugler,cissi,cissy,dloade,netsky,qizy"
+ elog "Adding items to the SILENT_VIRUSES list (${EXTRA_VIRII})"
+ sed -e "/^SILENT_VIRUSES/s/\"$/,${EXTRA_VIRII}\"/g" -i configure
+}
+
+src_compile () {
+ local myconf
+
+ addpredict /var/log/kav/kavscan.log
+ addpredict /opt/bdc/plugins.htm
+
+ use spamassassin && myconf="--virus-to-delete yes --sa-quarantine 2.1 --sa-delete 4.2 --sa-reject no --sa-subject SPAM: --sa-delta 0.5 --sa-alt yes"
+
+ PATH=${PATH}:/opt/f-prot:/opt/vlnx ./configure \
+ --domain localhost \
+ --batch \
+ --log-details yes \
+ --skip-setuid-test \
+ ${myconf} \
+ || die "./configure failed!"
+
+ # build for qmail-scanner-queue wrapper, so we don't need suidperl
+ cd contrib
+ $(tc-getCC) ${CFLAGS} -o qmail-scanner-queue qmail-scanner-queue.c || die
+}
+
+src_install () {
+ # Create Directory Structure
+ diropts -m 755 -o qscand -g qscand
+ dodir /var/spool/qscan
+ keepdir /var/spool/qscan
+ diropts -m 750 -o qscand -g qscand
+ dodir /var/spool/qscan/quarantine
+ for i in quarantine/{viruses,policy,spam} working archives; do
+ for j in tmp new cur; do
+ dodir /var/spool/qscan/${i}/${j}
+ keepdir /var/spool/qscan/${i}/${j}
+ done
+ done
+ dodir /var/spool/qscan/tmp
+ keepdir /var/spool/qscan/tmp
+
+ # Install standard quarantine events file
+ insinto /var/spool/qscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine-events.txt
+
+ # create quarantine.log and viruses.log
+ touch quarantine.log
+ insinto /var/spool/qscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine.log
+ dosym quarantine.log ${DESTDIR}/var/spool/qscan/viruses.log
+
+ # Install qmail-scanner wrapper
+ insinto /var/qmail/bin
+ insopts -m 4755 -o qscand -g qscand
+ doins contrib/qmail-scanner-queue
+
+ # Install qmail-scanner script
+ insinto /var/qmail/bin
+ insopts -m 0755 -o qscand -g qscand
+ doins qmail-scanner-queue.pl
+
+ insinto /etc/logrotate.d/
+ insopts -m 644 -o root -g root
+ newins "${FILESDIR}"/${P}.logrotate qmail-scanner
+
+ exeinto /etc/cron.daily/
+ newexe "${FILESDIR}"/qmailscanner.cronjob qmail-scanner
+
+ # Install documentation
+ dodoc README CHANGES
+ dohtml README.html FAQ.php TODO.php configure-options.php manual-install.php perlscanner.php
+
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc spamc-nice.eml \
+ test-trophie.pl \
+ logrotate.qmail-scanner \
+ sub-avpdaemon.pl \
+ logging_first_80_chars.eml \
+ spamc-nasty.eml \
+ avpdeamon.init \
+ test_installation.sh \
+ test-sophie.pl \
+ reformime-test.eml \
+ sub-sender-cache.pl \
+ rbl_scanner.txt \
+ test-clamd.pl \
+ qs2mrtg.pl \
+ mrtg-qmail-scanner.cfg \
+ check_AV_daemons \
+ patch_for_nod32_single_user.eml \
+ qmail-delay \
+ qs-scanner-report.sh \
+ qs_config.sh \
+ qscan-spam-to-users.pl \
+ test-avgd.pl \
+ test_password.zip \
+ vpopmail-issues.eml
+}
+
+pkg_postinst () {
+ einfo "Fixing ownerships"
+ chown -R qscand:qscand /var/spool/qscan
+ touch /var/qmail/bin/qmail-scanner-queue.pl
+
+ # Setup perlscanner + Version Info
+ chmod -s "${ROOT}"/var/qmail/bin/qmail-scanner-queue.pl
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -z
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -g
+
+ elog "To activate qmail-scanner, please edit your"
+ elog "/var/qmail/control/conf-common file and set:"
+ elog "export QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue"
+ elog "Or place it in your tcprules file."
+ ewarn "Please note that it was a call to qmail-scanner-queue.pl before,"
+ ewarn "but this is now changed to use a wrapper to improve security!"
+ ewarn "Once you have changed to the wrapper, you can remove the setuid "
+ ewarn "bit on qmail-scanner-queue.pl"
+
+ ewarn "If this is an upgrade from <=2.0.1 the home directory of the qscand"
+ ewarn "user is changed. Please update it manually to /var/spool/qscan"
+ ewarn "or remove the user and emerge again this package"
+
+ if use clamav; then
+ ewarn "To allow clamav integration comment-out in /etc/clamd.conf:"
+ ewarn "AllowSupplementaryGroups putting yes."
+ ewarn "After that, restart clamd with"
+ ewarn "/etc/init.d/clamd restart"
+ fi
+}
diff --git a/mail-filter/qmail-scanner/qmail-scanner-2.06.ebuild b/mail-filter/qmail-scanner/qmail-scanner-2.06.ebuild
new file mode 100644
index 000000000000..bbdd012c6f8a
--- /dev/null
+++ b/mail-filter/qmail-scanner/qmail-scanner-2.06.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+EAPI=2
+
+inherit fixheadtails toolchain-funcs eutils user
+
+Q_S_DATE=20090419
+DESCRIPTION="E-Mail virus scanner for qmail"
+HOMEPAGE="http://qmail-scanner.sourceforge.net/"
+SRC_URI="mirror://sourceforge/qmail-scanner/${P}.tgz
+ http://toribio.apollinare.org/qmail-scanner/download/q-s-${PV}st-${Q_S_DATE}.patch.gz"
+
+IUSE="clamav spamassassin"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+RESTRICT="userpriv"
+
+RDEPEND="dev-lang/perl
+ virtual/perl-Time-HiRes
+ net-mail/tnef
+ virtual/perl-DB_File
+ mail-filter/maildrop
+ virtual/qmail
+ app-arch/unzip
+ virtual/daemontools
+ clamav? ( app-antivirus/clamav )
+ spamassassin? ( mail-filter/spamassassin )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup qscand 210
+ enewuser qscand 210 -1 /var/spool/qscan qscand
+ use clamav && usermod -a -G qscand,nofiles clamav
+}
+
+pkg_preinst() {
+ local oldname="/var/qmail/bin/qmail-scanner-queue.pl"
+ if [ -f ${oldname} ]; then
+ newname=${oldname}.`date +%Y%m%d%H%M%S`
+ elog "Backing up old qmail-scanner as $newname in case of modifications."
+ cp ${oldname} ${newname}
+ chmod 600 ${newname}
+ fi
+}
+
+src_prepare() {
+ epatch "${DISTDIR}"/q-s-${PV}st-${Q_S_DATE}.patch.gz
+ epatch "${FILESDIR}"/${PN}-2.08-disable-suid-check.patch #364123
+ ht_fix_file autoupdaters/* configure
+ sed -i \
+ -e "s:/var/spool/qscand:/var/spool/qscan:g" \
+ README-st-patch.html \
+ README-st-patch.txt || die "Fixing doc with sed failed"
+
+ EXTRA_VIRII="bagle,beagle,mydoom,sco,maldal,mimail,novarg,shimg,bugler,cissi,cissy,dloade,netsky,qizy"
+ elog "Adding items to the SILENT_VIRUSES list (${EXTRA_VIRII})"
+ sed -i \
+ -e "/^SILENT_VIRUSES/s/\"$/,${EXTRA_VIRII}\"/g" \
+ -e '/DD/s/1\\.0/ 1\\.0/' \
+ configure
+}
+
+src_configure() {
+ local myconf
+
+ addpredict /var/log/kav/kavscan.log
+ addpredict /opt/bdc/plugins.htm
+
+ use spamassassin && myconf="--virus-to-delete yes --sa-quarantine 2.1 --sa-delete 4.2 --sa-reject no --sa-subject SPAM: --sa-delta 0.5 --sa-alt yes"
+
+ PATH=${PATH}:/opt/f-prot:/opt/vlnx ./configure \
+ --domain localhost \
+ --batch \
+ --log-details yes \
+ --skip-setuid-test \
+ ${myconf} \
+ || die "./configure failed!"
+
+ # build for qmail-scanner-queue wrapper, so we don't need suidperl
+ cd contrib
+ $(tc-getCC) ${CFLAGS} -o qmail-scanner-queue qmail-scanner-queue.c || die
+}
+
+src_install () {
+ # Create Directory Structure
+ diropts -m 755 -o qscand -g qscand
+ dodir /var/spool/qscan
+ keepdir /var/spool/qscan
+ diropts -m 750 -o qscand -g qscand
+ dodir /var/spool/qscan/quarantine
+ for i in quarantine/{viruses,policy,spam} working archives; do
+ for j in tmp new cur; do
+ dodir /var/spool/qscan/${i}/${j}
+ keepdir /var/spool/qscan/${i}/${j}
+ done
+ done
+ dodir /var/spool/qscan/tmp
+ keepdir /var/spool/qscan/tmp
+
+ # Install standard quarantine events file
+ insinto /var/spool/qscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine-events.txt
+
+ # create quarantine.log and viruses.log
+ touch quarantine.log
+ insinto /var/spool/qscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine.log
+ dosym quarantine.log ${DESTDIR}/var/spool/qscan/viruses.log
+
+ # Install qmail-scanner wrapper
+ insinto /var/qmail/bin
+ insopts -m 4755 -o qscand -g qscand
+ doins contrib/qmail-scanner-queue
+
+ # Install qmail-scanner script
+ insinto /var/qmail/bin
+ insopts -m 0755 -o qscand -g qscand
+ doins qmail-scanner-queue.pl
+
+ insinto /etc/logrotate.d/
+ insopts -m 644 -o root -g root
+ newins "${FILESDIR}"/${P}.logrotate qmail-scanner
+
+ exeinto /etc/cron.daily/
+ newexe "${FILESDIR}"/qmailscanner.cronjob qmail-scanner
+
+ # Install documentation
+ dodoc README CHANGES
+ dohtml README.html FAQ.php TODO.php configure-options.php manual-install.php perlscanner.php
+
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc spamc-nice.eml \
+ test-trophie.pl \
+ logrotate.qmail-scanner \
+ sub-avpdaemon.pl \
+ logging_first_80_chars.eml \
+ spamc-nasty.eml \
+ avpdeamon.init \
+ test_installation.sh \
+ test-sophie.pl \
+ reformime-test.eml \
+ sub-sender-cache.pl \
+ rbl_scanner.txt \
+ test-clamd.pl \
+ qs2mrtg.pl \
+ mrtg-qmail-scanner.cfg \
+ check_AV_daemons \
+ patch_for_nod32_single_user.eml \
+ qmail-delay \
+ qs-scanner-report.sh \
+ qs_config.sh \
+ qscan-spam-to-users.pl \
+ test-avgd.pl \
+ test_password.zip \
+ vpopmail-issues.eml
+}
+
+pkg_postinst () {
+ einfo "Fixing ownerships"
+ chown -R qscand:qscand /var/spool/qscan
+ touch /var/qmail/bin/qmail-scanner-queue.pl
+
+ # Setup perlscanner + Version Info
+ chmod -s "${ROOT}"/var/qmail/bin/qmail-scanner-queue.pl
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -z
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -g
+
+ elog "To activate qmail-scanner, please edit your"
+ elog "/var/qmail/control/conf-common file and set:"
+ elog "export QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue"
+ elog "Or place it in your tcprules file."
+ ewarn "Please note that it was a call to qmail-scanner-queue.pl before,"
+ ewarn "but this is now changed to use a wrapper to improve security!"
+ ewarn "Once you have changed to the wrapper, you can remove the setuid "
+ ewarn "bit on qmail-scanner-queue.pl"
+
+ ewarn "If this is an upgrade from <=2.0.1 the home directory of the qscand"
+ ewarn "user is changed. Please update it manually to /var/spool/qscan"
+ ewarn "or remove the user and emerge again this package"
+
+ if use clamav; then
+ ewarn "To allow clamav integration comment-out in /etc/clamd.conf:"
+ ewarn "AllowSupplementaryGroups putting yes."
+ ewarn "After that, restart clamd with"
+ ewarn "/etc/init.d/clamd restart"
+ fi
+}
diff --git a/mail-filter/qmail-scanner/qmail-scanner-2.08.ebuild b/mail-filter/qmail-scanner/qmail-scanner-2.08.ebuild
new file mode 100644
index 000000000000..e6f38cf92534
--- /dev/null
+++ b/mail-filter/qmail-scanner/qmail-scanner-2.08.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+EAPI=2
+
+inherit fixheadtails toolchain-funcs eutils user
+
+Q_S_DATE=20091012
+DESCRIPTION="E-Mail virus scanner for qmail"
+HOMEPAGE="http://qmail-scanner.sourceforge.net/
+ http://toribio.apollinare.org/qmail-scanner/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tgz
+ http://toribio.apollinare.org/qmail-scanner/download/q-s-${PV}st-${Q_S_DATE}.patch.gz"
+
+IUSE="clamav spamassassin"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+RESTRICT="userpriv"
+
+RDEPEND="dev-lang/perl
+ virtual/perl-Time-HiRes
+ net-mail/tnef
+ virtual/perl-DB_File
+ mail-filter/maildrop
+ virtual/qmail
+ app-arch/unzip
+ virtual/daemontools
+ clamav? ( app-antivirus/clamav )
+ spamassassin? ( mail-filter/spamassassin )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup qscand 210
+ enewuser qscand 210 -1 /var/spool/qscan qscand
+ use clamav && usermod -a -G qscand,nofiles clamav
+}
+
+pkg_preinst() {
+ local oldname="/var/qmail/bin/qmail-scanner-queue.pl"
+ if [ -f ${oldname} ]; then
+ newname=${oldname}.`date +%Y%m%d%H%M%S`
+ elog "Backing up old qmail-scanner as $newname in case of modifications."
+ cp ${oldname} ${newname}
+ chmod 600 ${newname}
+ fi
+}
+
+src_prepare() {
+ epatch "${DISTDIR}"/q-s-${PV}st-${Q_S_DATE}.patch.gz
+ epatch "${FILESDIR}"/${PN}-2.08-disable-suid-check.patch #364123
+ ht_fix_file autoupdaters/* configure
+ sed -i \
+ -e "s:/var/spool/qscand:/var/spool/qscan:g" \
+ README-st-patch.html \
+ README-st-patch.txt || die "Fixing doc with sed failed"
+
+ EXTRA_VIRII="bagle,beagle,mydoom,sco,maldal,mimail,novarg,shimg,bugler,cissi,cissy,dloade,netsky,qizy"
+ elog "Adding items to the SILENT_VIRUSES list (${EXTRA_VIRII})"
+ sed -i \
+ -e "/^SILENT_VIRUSES/s/\"$/,${EXTRA_VIRII}\"/g" \
+ -e '/DD/s/1\\.0/ 1\\.0/' \
+ configure
+}
+
+src_configure() {
+ local myconf
+
+ addpredict /var/log/kav/kavscan.log
+ addpredict /opt/bdc/plugins.htm
+
+ use spamassassin && myconf="--virus-to-delete yes --sa-quarantine 2.1 --sa-delete 4.2 --sa-reject no --sa-subject SPAM: --sa-delta 0.5 --sa-alt yes"
+
+ PATH=${PATH}:/opt/f-prot:/opt/vlnx ./configure \
+ --domain localhost \
+ --batch \
+ --log-details yes \
+ --skip-setuid-test \
+ ${myconf} \
+ || die "./configure failed!"
+
+ # build for qmail-scanner-queue wrapper, so we don't need suidperl
+ cd contrib
+ $(tc-getCC) ${CFLAGS} -o qmail-scanner-queue qmail-scanner-queue.c || die
+}
+
+src_install () {
+ # Create Directory Structure
+ diropts -m 755 -o qscand -g qscand
+ dodir /var/spool/qscan
+ keepdir /var/spool/qscan
+ diropts -m 750 -o qscand -g qscand
+ dodir /var/spool/qscan/quarantine
+ for i in quarantine/{viruses,policy,spam} working archives; do
+ for j in tmp new cur; do
+ dodir /var/spool/qscan/${i}/${j}
+ keepdir /var/spool/qscan/${i}/${j}
+ done
+ done
+ dodir /var/spool/qscan/tmp
+ keepdir /var/spool/qscan/tmp
+
+ # Install standard quarantine events file
+ insinto /var/spool/qscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine-events.txt
+
+ # create quarantine.log and viruses.log
+ touch quarantine.log
+ insinto /var/spool/qscan
+ insopts -m 644 -o qscand -g qscand
+ doins quarantine.log
+ dosym quarantine.log ${DESTDIR}/var/spool/qscan/viruses.log
+
+ # Install qmail-scanner wrapper
+ insinto /var/qmail/bin
+ insopts -m 4755 -o qscand -g qscand
+ doins contrib/qmail-scanner-queue
+
+ # Install qmail-scanner script
+ insinto /var/qmail/bin
+ insopts -m 0755 -o qscand -g qscand
+ doins qmail-scanner-queue.pl
+
+ insinto /etc/logrotate.d/
+ insopts -m 644 -o root -g root
+ newins "${FILESDIR}"/${P}.logrotate qmail-scanner
+
+ exeinto /etc/cron.daily/
+ newexe "${FILESDIR}"/qmailscanner.cronjob qmail-scanner
+
+ # Install documentation
+ dodoc README CHANGES
+ dohtml README.html FAQ.php TODO.php configure-options.php manual-install.php perlscanner.php
+
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc spamc-nice.eml \
+ test-trophie.pl \
+ logrotate.qmail-scanner \
+ sub-avpdaemon.pl \
+ logging_first_80_chars.eml \
+ spamc-nasty.eml \
+ avpdeamon.init \
+ test_installation.sh \
+ test-sophie.pl \
+ reformime-test.eml \
+ sub-sender-cache.pl \
+ rbl_scanner.txt \
+ test-clamd.pl \
+ qs2mrtg.pl \
+ mrtg-qmail-scanner.cfg \
+ check_AV_daemons \
+ patch_for_nod32_single_user.eml \
+ qmail-delay \
+ qs-scanner-report.sh \
+ qs_config.sh \
+ qscan-spam-to-users.pl \
+ test-avgd.pl \
+ test_password.zip \
+ vpopmail-issues.eml
+}
+
+pkg_postinst () {
+ einfo "Fixing ownerships"
+ chown -R qscand:qscand /var/spool/qscan
+ touch /var/qmail/bin/qmail-scanner-queue.pl
+
+ # Setup perlscanner + Version Info
+ chmod -s "${ROOT}"/var/qmail/bin/qmail-scanner-queue.pl
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -z
+ "${ROOT}"/var/qmail/bin/qmail-scanner-queue -g
+
+ elog "To activate qmail-scanner, please edit your"
+ elog "/var/qmail/control/conf-common file and set:"
+ elog "export QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue"
+ elog "Or place it in your tcprules file."
+ ewarn "Please note that it was a call to qmail-scanner-queue.pl before,"
+ ewarn "but this is now changed to use a wrapper to improve security!"
+ ewarn "Once you have changed to the wrapper, you can remove the setuid "
+ ewarn "bit on qmail-scanner-queue.pl"
+
+ ewarn "If this is an upgrade from <=2.0.1 the home directory of the qscand"
+ ewarn "user is changed. Please update it manually to /var/spool/qscan"
+ ewarn "or remove the user and emerge again this package"
+
+ if use clamav; then
+ ewarn "To allow clamav integration comment-out in /etc/clamd.conf:"
+ ewarn "AllowSupplementaryGroups putting yes."
+ ewarn "After that, restart clamd with"
+ ewarn "/etc/init.d/clamd restart"
+ fi
+}
diff --git a/mail-filter/razor/Manifest b/mail-filter/razor/Manifest
new file mode 100644
index 000000000000..4c6a7c389e1e
--- /dev/null
+++ b/mail-filter/razor/Manifest
@@ -0,0 +1,7 @@
+AUX razor-2.85-cosmetic-pv-fix.patch 616 SHA256 9b9e40a6ce0220bb2228dd7807a14ecd7febe5290ace74744eea90ab9ab13aa5 SHA512 c7e7985e779185d704d88ff4c39d106df46ba20daee92c4a4410e8a1af7d4c31bdca0646018fb5d1f7d58e106036c8442a0fa2635b39a5e1df2a259f79eced91 WHIRLPOOL 2b24691be6b3d3a1141f5fbcfe19298925b393c2870153ec08fa5fa91fb9385c948a777671616486ef4db1f7f61176343a1326c16ae4df8674a4b01c78f23447
+AUX razor-2.85-use-sha-not-sha1.patch 3897 SHA256 055ffbf3d46d4cd1991bb7dd4717243b2c772e7ac6aede6596097673e8b78551 SHA512 891a93408f56bb6a7b43814a501cce8775c51abe7cf227c39dd18699ac5f4c1aa5484842435edda58f7141a87e5ebe1496bfe959afab09fb44c3558c66511289 WHIRLPOOL 44d3817e358b82bc12331900f425bdaa27fb862bc8a65de6298cf959cf2ce7247a6d29be5e41d3a8934cbfb41943afb44dd551d3ca0db6239a6ed8c169920486
+DIST razor-agents-2.85.tar.bz2 81691 SHA256 7fe0afe73e5b3979444dd86e2ad25ea99bc05b23d5648d357544f78f0b6eb6d7 SHA512 31dded1969dde963389a5939514c29638ad07f45dbb2f4c633cf20ebc4abab94e65e9a6d8885233cdde686ef365aab11fa5eba2ca38d79c5b8fab689143ff5db WHIRLPOOL 6c8f98e8f1090204fb9e4f53f5f53fe810034829f781226bb156e23d2297d1a420e616be1b8ef8adfcecda358ef4d74e3d620d71f28d92490ca6c706bac53a43
+EBUILD razor-2.85-r2.ebuild 2674 SHA256 60642801650f487773dd88e00654d371e22fdc3149cab66a3cab6e658aea4568 SHA512 b506a09d12550f7c25bce17e458456ce7aab6858d120dc82b5f6adfb0b18ee53e2019eee8514a20e50337f949cf29421460d99f83fe65a9865d34d9e05250cbd WHIRLPOOL cac47b3cbf48a8aa8c1dfc675263e098baffa9798e35375bbd81bba1b1fcc1e4d2b60fb606208c14b88cb9a13337a7a7952504c0d0a2cf3671bd60a114258812
+MISC ChangeLog 2894 SHA256 dff034e6a9021349cc949ee9ddd2c68db5a4666f09e1bdd42dcf2712ec5270b0 SHA512 33e4e9af0f0ff7d68c1a963e49f4c64092aa58c876ebe65db11200c6a356b90130c5c1ad10ab7d5e3d160d53d31a48d8ee4bd10e28229f608931596911fe0e50 WHIRLPOOL 5704ac243d1dc4b7ffb0588ea12120da89418dfadc9a8e596c72361e7c6e9fecaaf0751b7c6364702ca784baa5fa7542ed965a061e299f7a0c77cd809e052bb6
+MISC ChangeLog-2015 14897 SHA256 7bfcf736319ab99e073309e7d736cb4b975f55f4ccc9d3bef488389dcc4df538 SHA512 34704c1e96565acc4f2f065c1963d3a0975c48617c403291240bd41e9cf8c62b10f71407a54816499376eeca6872ee735f86a2c8d72bf9554cc7715303db71ec WHIRLPOOL 4abb682dfc1586b75608b558d44d94d4a725faa0eacada1af0becaafac7eb4db08cb922a898c25e51fb7ef7f4d0feb7887f11712b6be8d2586799e81d9f5f40a
+MISC metadata.xml 705 SHA256 cf624ad7622f80e9f07b113967c4a6d61bcd14d83e3ace44d243a23078fa2a23 SHA512 7634caefc54a09f7c83ae77103110e4f48641b1d6f1a091951a9e969c934303bdb4227120eec35cf46c1000f414782436c7eb8248f59b8bd4dcd4dbcce1047b7 WHIRLPOOL ee133283488123abb7bf1ed070eaaabe80e45adb1178efc721fd0bbfed9ecc94f0911eef882e79cec172d307f2bf6b1c218cbb54219b8316c957b0fb97453bd7
diff --git a/mail-filter/razor/files/razor-2.85-cosmetic-pv-fix.patch b/mail-filter/razor/files/razor-2.85-cosmetic-pv-fix.patch
new file mode 100644
index 000000000000..c391d48fbc4f
--- /dev/null
+++ b/mail-filter/razor/files/razor-2.85-cosmetic-pv-fix.patch
@@ -0,0 +1,22 @@
+--- a/lib/Razor2/Client/Version.pm 2007-05-10 22:32:10.000000000 +0200
++++ b/lib/Razor2/Client/Version.pm 2010-03-25 11:11:36.911409707 +0100
+@@ -14,7 +14,7 @@
+
+ $PROTOCOL = 3;
+
+-$VERSION = '2.84';
++$VERSION = '2.85';
+
+ 1;
+
+--- a/META.yml 2007-05-23 20:29:34.000000000 +0200
++++ b/META.yml 2010-03-25 11:11:43.691408628 +0100
+@@ -1,7 +1,7 @@
+ # http://module-build.sourceforge.net/META-spec.html
+ #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
+ name: razor-agents
+-version: 2.84
++version: 2.85
+ version_from: lib/Razor2/Client/Version.pm
+ installdirs: site
+ requires:
diff --git a/mail-filter/razor/files/razor-2.85-use-sha-not-sha1.patch b/mail-filter/razor/files/razor-2.85-use-sha-not-sha1.patch
new file mode 100644
index 000000000000..8e90ce2839d9
--- /dev/null
+++ b/mail-filter/razor/files/razor-2.85-use-sha-not-sha1.patch
@@ -0,0 +1,119 @@
+Patch-URL: http://cvs.fedoraproject.org/viewvc/devel/perl-Razor-Agent/razor-agents-2.85-use-sha-not-sha1.patch?view=log
+
+diff -urN razor-agents-2.85.orig/lib/Razor2/Client/Engine.pm razor-agents-2.85/lib/Razor2/Client/Engine.pm
+--- razor-agents-2.85.orig/lib/Razor2/Client/Engine.pm 2005-06-13 19:42:25.000000000 -0400
++++ razor-agents-2.85/lib/Razor2/Client/Engine.pm 2009-11-01 13:45:08.125369192 -0500
+@@ -1,7 +1,6 @@
+ package Razor2::Client::Engine;
+
+ use strict;
+-use Digest::SHA1 qw(sha1_hex);
+ use Data::Dumper;
+ use Razor2::Signature::Ephemeral;
+ use Razor2::Engine::VR8;
+diff -urN razor-agents-2.85.orig/lib/Razor2/Signature/Ephemeral.pm razor-agents-2.85/lib/Razor2/Signature/Ephemeral.pm
+--- razor-agents-2.85.orig/lib/Razor2/Signature/Ephemeral.pm 2003-03-03 18:09:50.000000000 -0500
++++ razor-agents-2.85/lib/Razor2/Signature/Ephemeral.pm 2009-11-01 13:45:08.125369192 -0500
+@@ -2,9 +2,13 @@
+
+ package Razor2::Signature::Ephemeral;
+ use strict;
+-use Digest::SHA1;
+ use Data::Dumper;
+
++BEGIN {
++ eval { require Digest::SHA; import Digest::SHA qw(sha1_hex); 1 }
++ or do { require Digest::SHA1; import Digest::SHA1 qw(sha1_hex) }
++}
++
+ sub new {
+
+ my ($class, %args) = @_;
+@@ -86,16 +90,12 @@
+ }
+
+ my $digest;
+- my $ctx = Digest::SHA1->new;
+
+ if ($seclength > 128) {
+- $ctx->add($section1);
+- $ctx->add($section2);
+- $digest = $ctx->hexdigest;
++ $digest = sha1_hex($section1, $section2);
+ } else {
+ debug("Sections too small... reverting back to orginal content.");
+- $ctx->add($content);
+- $digest = $ctx->hexdigest;
++ $digest = sha1_hex($content);
+ }
+
+ debug("Computed e-hash is $digest");
+diff -urN razor-agents-2.85.orig/lib/Razor2/Signature/Whiplash.pm razor-agents-2.85/lib/Razor2/Signature/Whiplash.pm
+--- razor-agents-2.85.orig/lib/Razor2/Signature/Whiplash.pm 2007-05-08 18:22:36.000000000 -0400
++++ razor-agents-2.85/lib/Razor2/Signature/Whiplash.pm 2009-11-01 13:45:08.124368017 -0500
+@@ -7,7 +7,10 @@
+
+ package Razor2::Signature::Whiplash;
+
+-use Digest::SHA1;
++BEGIN {
++ eval { require Digest::SHA; import Digest::SHA qw(sha1_hex); 1 }
++ or do { require Digest::SHA1; import Digest::SHA1 qw(sha1_hex) }
++}
+
+ sub new {
+
+@@ -683,13 +686,8 @@
+ # the value of length to the nearest multiple of ``length_error''.
+ # Take the first 20 hex chars from SHA1 and call it the signature.
+
+- my $sha1 = Digest::SHA1->new();
+-
+- $sha1->add($host);
+- $sig = substr $sha1->hexdigest, 0, 12;
+-
+- $sha1->add($corrected_length);
+- $sig .= substr $sha1->hexdigest, 0, 4;
++ $sig = substr sha1_hex($host), 0, 12;
++ $sig .= substr sha1_hex($corrected_length), 0, 4;
+
+ push @sigs, $sig;
+ $sig_meta{$sig} = [$host, $corrected_length];
+diff -urN razor-agents-2.85.orig/lib/Razor2/String.pm razor-agents-2.85/lib/Razor2/String.pm
+--- razor-agents-2.85.orig/lib/Razor2/String.pm 2005-06-13 17:09:59.000000000 -0400
++++ razor-agents-2.85/lib/Razor2/String.pm 2009-11-01 13:45:08.123368518 -0500
+@@ -1,11 +1,15 @@
+ # $Id$
+ package Razor2::String;
+
+-use Digest::SHA1 qw(sha1_hex);
+ use URI::Escape;
+ use Razor2::Preproc::enBase64;
+ use Data::Dumper;
+
++BEGIN {
++ eval { require Digest::SHA; import Digest::SHA qw(sha1_hex); 1 }
++ or do { require Digest::SHA1; import Digest::SHA1 qw(sha1_hex) }
++}
++
+ #use MIME::Parser;
+
+ require Exporter;
+@@ -69,15 +73,8 @@
+ return unless $text && $iv1 && $iv2;
+ die "no ref's allowed" if ref($text);
+
+- my $ctx = Digest::SHA1->new;
+- $ctx->add($iv2);
+- $ctx->add($text);
+- my $digest = $ctx->hexdigest;
+-
+- $ctx = Digest::SHA1->new;
+- $ctx->add($iv1);
+- $ctx->add($digest);
+- $digest = $ctx->hexdigest;
++ my $digest = sha1_hex($iv2, $text);
++ $digest = sha1_hex($iv1, $digest);
+
+ return (hextobase64($digest), $digest);
+ }
diff --git a/mail-filter/razor/metadata.xml b/mail-filter/razor/metadata.xml
new file mode 100644
index 000000000000..db02698daf07
--- /dev/null
+++ b/mail-filter/razor/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>razor-admin@cloudmark.com</email>
+ <description>
+ A contact designated by upstream developers. This email address
+ should always be added to CC list of any Razor bug that needs
+ upstream care.
+ </description>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">razor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/razor/razor-2.85-r2.ebuild b/mail-filter/razor/razor-2.85-r2.ebuild
new file mode 100644
index 000000000000..6a4adfd6319d
--- /dev/null
+++ b/mail-filter/razor/razor-2.85-r2.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module
+
+MY_PN="razor-agents"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Distributed, collaborative spam detection and filtering network"
+HOMEPAGE="http://razor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/razor/${MY_P}.tar.bz2"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+
+RDEPEND="
+ dev-perl/URI
+ dev-perl/Net-DNS
+ virtual/perl-Net-Ping
+ virtual/perl-Time-HiRes
+ dev-perl/Digest-Nilsimsa
+ || ( virtual/perl-Digest-SHA dev-perl/Digest-SHA1 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.85-use-sha-not-sha1.patch"
+ "${FILESDIR}/${PN}-2.85-cosmetic-pv-fix.patch"
+)
+
+S=${WORKDIR}/${MY_P}
+
+# Install docs/ content
+mydoc="docs/*"
+SRC_TEST="do parallel"
+
+src_compile() {
+ emake -j1
+}
+
+pkg_postinst() {
+ elog
+ elog "Run 'razor-admin -create' to create a default config file in your"
+ elog "home directory under /home/user/.razor. (Remember to change user to"
+ elog "your username from root before running razor-admin)"
+ elog
+ elog "Razor v2 requires reporters to be registered so their reputations can"
+ elog "be computed over time and they can participate in the revocation"
+ elog "mechanism. Registration is done with razor-admin -register. It has to be"
+ elog "manually invoked in either of the following ways:"
+ elog
+ elog "To register user foo with 's1kr3t' as password: "
+ elog
+ elog "razor-admin -register -user=foo -pass=s1kr3t"
+ elog
+ elog "To register with an email address and have the password assigned:"
+ elog
+ elog "razor-admin -register -user=foo@bar.com "
+ elog
+ elog "To have both (random) username and password assgined: "
+ elog
+ elog "razor-admin -register "
+ elog
+ elog "razor-admin -register negotiates a registration with the Nomination Server"
+ elog "and writes the identity information in"
+ elog "/home/user/.razor/identity-username, or /etc/razor/identity-username"
+ elog "when invoked as root."
+ elog
+ elog "You can edit razor-agent.conf to change the defaults. Config options"
+ elog "and their values are defined in the razor-agent.conf(5) manpage."
+ elog
+ elog "The next step is to integrate razor-check, razor-report and"
+ elog "razor-revoke in your mail system. If you are running Razor v1, the"
+ elog "change will be transparent, new versions of razor agents will overwrite"
+ elog "the old ones. You would still need to plugin razor-revoke in your MUA,"
+ elog "since it's a new addition in Razor v2. If you are not running Razor v1,"
+ elog "refer to manpages of razor-check(1), razor-report(1), and"
+ elog "razor-revoke(1) for integration instructions."
+ elog
+}
diff --git a/mail-filter/rblcheck/Manifest b/mail-filter/rblcheck/Manifest
new file mode 100644
index 000000000000..7cad3f5e8306
--- /dev/null
+++ b/mail-filter/rblcheck/Manifest
@@ -0,0 +1,7 @@
+AUX rblcheck-1.5-configure.patch 719 SHA256 4aaa5d55b223221e06e831d8b3374dc82333e72699821f408477633b9a7ec8e6 SHA512 302eb1d56793d07cda5000ce480c8bc705c0fcd20d41fc514b47fbdfbf6d8ec48318c85a7ed8008376e2c09b6ff0891c5484e930589cbb078fcf4832f547cc36 WHIRLPOOL 3a89cf34ef87d07d2badf26717dcef70ecc6c32438812b9cf9c546de804c6799b0b9fe7d9c998eac40725f3597ff6857c32c5ef0be2beb4708790eb36b1c2422
+DIST rblcheck-1.5.tar.gz 150395 SHA256 c0f28cb0ec215ce2244e2a2008dac76bb6426adf0804f53c6784e6baeec13a47 SHA512 f0122701b5f7b293cf97cfb6f04963fdf657774f97342ecd57bc4a049b08f3d5b94e5148a4cc1f24de62c852b003c7339c35e4ddc199ea6be6a13583ca58f311 WHIRLPOOL 66ac047fb5c2ca7238e1fd7ad147039d55ec5560980ebf753148ef73f3a6231c497760af651fb9aa246691bf0c8b32af40665f5c99e57c911b8113d0909c551e
+EBUILD rblcheck-1.5-r1.ebuild 575 SHA256 0b96d6d600807e97d5f3634e4969a71fc5159e5c8ef8e915a82ad4dcffeb5302 SHA512 ca907cdcfc0ea7778647d92c4c67e264d213d3eb6147bf1dcbdc0adc7e3b2fdabd8805958e6f088db17193abcdb4a1ee88095b55e505a8f99c832a17dd16bfa2 WHIRLPOOL 1139886a01cf77a17d2fd472ca327432abcab20d06df5d58a04555db71a9ed546cc032ee6ed6ca78baac4ca2c7572e39bf82149f448af74cea0deb687e12ab16
+EBUILD rblcheck-1.5-r2.ebuild 580 SHA256 213fc3d798e3960e5d36e799fa9df21d49cce75308a65e6df2dce83b37580b05 SHA512 3966cf3c8aeb760df66fb0666e904919e3ef38c514750c0ae576f2d923cd5f9dd2364407077bc7cebfcc2d3a9a7418ec2c53ce2fa14c7e8c6d6319a61e82d3f4 WHIRLPOOL 3a446384dd0620a6921735f5da51b3767cc568760ac4c7a4c0d3a4a169a375767a9e53609d604c57b6bd68376bdac98c63f6a64abaef018621e37be4900deb6c
+MISC ChangeLog 2530 SHA256 16842d892a89feebefb4b805603be75a288f3c95b61a3f6066b411eaf7644b44 SHA512 70371340815a0ad70cb8853b52a46826af3700b3c96f6307e7d4248c8f9d6d34c4708322cb2f5e56d64aaeeee54d6065e3d264462a82627c1f914298be577e28 WHIRLPOOL e400b0c6baf363ad8e346982629548fd567e25db3be0dc78c590ae7538613e340c6d4a53ef9d91a2c6f352e2d1371c4b6ce3f2a3ace043dc65e4bac761613851
+MISC ChangeLog-2015 2288 SHA256 cfded483782fb95dd49d57ae4ee4cb36d35ed0ca1c81970fc29946e3a33ad724 SHA512 0d06ae1c85596d2b3ded7b933064da3ba0eca782e56dbeca5cd71d1a7c7467eb609f51328cfad1edd40c00423bab44de6b20f8f87813a35ffb950f7e96802da9 WHIRLPOOL 8aa0e42d2f5eb51302c70e96adfca1544572bf97cd92cfc78fb887ca584ec1177f3cf73a1d2574ccaaabe5bc9e8db83685a85988ff2152ba958e0b572020f0af
+MISC metadata.xml 322 SHA256 b72904894d0eb602dd1f177b85263756f0ba2b6009067767c247b0e983fa92b1 SHA512 6c3ea033bc43fdef607e51ae34396012b6a15a27c7ae2c97af4ad5b297b75d4b3cfb231b63bdbcac01d30c99bd8093726acfedf54f137ff8bfd990e32b651a0a WHIRLPOOL 272db4c74ac43e1033945e23b4443d170def54619b66b101827c6b93f65718471b51a27bf2c4d3dd3437e6258a59e93e1175441e45efc753421a74ecd1bd0f4a
diff --git a/mail-filter/rblcheck/files/rblcheck-1.5-configure.patch b/mail-filter/rblcheck/files/rblcheck-1.5-configure.patch
new file mode 100644
index 000000000000..f21f0dfa4a6a
--- /dev/null
+++ b/mail-filter/rblcheck/files/rblcheck-1.5-configure.patch
@@ -0,0 +1,20 @@
+--- rblcheck-1.5/configure 2005-07-01 10:50:36.000000000 +0100
++++ rblcheck-1.5/configure 2005-07-01 10:57:05.000000000 +0100
+@@ -1529,13 +1529,12 @@
+ cat > conftest.$ac_ext <<EOF
+ #line 1531 "configure"
+ #include "confdefs.h"
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char res_query();
++
++/* Include <resolv.h> to get macro definition for res_query */
++#include <resolv.h>
+
+ int main() {
+-res_query()
++res_query("",0,0,"",0)
+ ; return 0; }
+ EOF
+ if { (eval echo configure:1542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
diff --git a/mail-filter/rblcheck/metadata.xml b/mail-filter/rblcheck/metadata.xml
new file mode 100644
index 000000000000..ad4736b3fcf3
--- /dev/null
+++ b/mail-filter/rblcheck/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">rblcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/rblcheck/rblcheck-1.5-r1.ebuild b/mail-filter/rblcheck/rblcheck-1.5-r1.ebuild
new file mode 100644
index 000000000000..88e7aee5ceb7
--- /dev/null
+++ b/mail-filter/rblcheck/rblcheck-1.5-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Perform lookups in RBL-styles services"
+HOMEPAGE="http://rblcheck.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rblcheck/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="alpha ~amd64 hppa ~mips ppc sparc x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-configure.patch"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install () {
+ dobin rbl rblcheck
+
+ dodoc README docs/rblcheck.ps docs/rblcheck.rtf
+}
diff --git a/mail-filter/rblcheck/rblcheck-1.5-r2.ebuild b/mail-filter/rblcheck/rblcheck-1.5-r2.ebuild
new file mode 100644
index 000000000000..34502fff939c
--- /dev/null
+++ b/mail-filter/rblcheck/rblcheck-1.5-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Perform lookups in RBL-styles services"
+HOMEPAGE="http://rblcheck.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rblcheck/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-configure.patch"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install () {
+ dobin rbl rblcheck
+
+ dodoc README docs/rblcheck.ps docs/rblcheck.rtf
+}
diff --git a/mail-filter/rmilter/Manifest b/mail-filter/rmilter/Manifest
new file mode 100644
index 000000000000..643445b4688a
--- /dev/null
+++ b/mail-filter/rmilter/Manifest
@@ -0,0 +1,12 @@
+AUX rmilter.initd 588 SHA256 4746b28ea27e85a225bc4d80be0c9239f7f306bf538ddad1504427fd6daf3206 SHA512 5640728313affedd46516cd89f33414a1bcbd3827a65e64e1ec98be6a214a98e275d4a1b1ad77b628f04c018267be4f31ffb5d96c573443550b5358d3d71a1bf WHIRLPOOL 5fea5add3a85e5a3731573ec8e6ac0899b37676df6d9f43c33c442516f6fe9506ba76a0ebcb763f3828207dec38fbd83b472f59cb5254fc3ba549a91375b3a23
+AUX rmilter.initd-r1 566 SHA256 9b8a0f2eab3ee0cfd8bb0f3301730b613c90315d614eeb60747acd7f5b6903cc SHA512 09e82fa4baaeaa6d2f68baf76eb97c00a88f537a794563e98cdb5309f2362b3c98c3b664f89ab373015c3da3ede61b77ac54ba7703aacef82e87edfe36733fcc WHIRLPOOL e35facccddad652357e7dab27086dc062c83134ac7a9e5024b24bff834dedf4259564dc686803367151b4e347c92c34bd9d306c900c8de0ad1ffc1e9af79299e
+AUX rmilter.initd-r2 578 SHA256 8425283472d8fae899c1b7af9ed932626b1547ecec56d49dd4cbb436bcd02c37 SHA512 de683ee2914fffbd5ec302ce120aa1c15fcdbb4a2e086389ac47075ffdc260cf8ecbdef2fce8f247180ef6599dec6f54bee74954915f9de9745ce07ce1775c0d WHIRLPOOL 7f3b83c613f4a08b70b6994f2c84f6019fa05c3c3ab757aa1a983c9447e82ce8028e336a14b5cd0312b6aa953684281edcdd8b8b09f410350a10850e3d5389bf
+DIST rmilter-1.10.0.tar.gz 390583 SHA256 ea80563fa7636afed0b5fd9a29aa2300f15793ed85788e4ce69c187d341a7d54 SHA512 bef62d6dd4190b9a28e751cc598d201f0f994a08def46ae68587d1cc956e7e209ae540d91241545dc4efd055b4bf2b95039f0e9649448e5506f17ec37240adf8 WHIRLPOOL 423a5eab52216a5a5b50d706c86d406273e9eed5045363de4ea2d5d3cd619073acbc1b154b27d2178c0fd8cb6c85bbb1195da3a8c7739ebcda69ff6da3716c03
+DIST rmilter-1.9.2.tar.gz 264637 SHA256 3e44977c39ece541c90ff1075b58847f44d310aa9d4ee49bc2df96e1ee4fb39f SHA512 4938515d18d4cff363266348cbd00b85690f889cb479a0e2fb61fa74e1e0deb3e78ec06132537ae001ccec375d0bab10af77c4a4c6fb248dc7f9f929c5a57eb9 WHIRLPOOL d51de0426fd93b39ceb735ae32feea2b499cf7ffd8d2f24578a5c7b5f132f6a0a0a99b2f1d0bcb733ef6d914b2103991a46c873b6035d448f11ed783878083d3
+EBUILD rmilter-1.10.0-r1.ebuild 1095 SHA256 bb2bab65e4ad798a8aefadd7f14e72282bd52e754034e4730201c0e2c14319ca SHA512 a9d183dfd3cab9c16f53ff5b3b21cb7b9372bf3c6367f16a3a9acb600056de88b1a811ce8531d0f501be05411c8a43d98c1e5f3c9a43ec31feb6c9098e3eecfd WHIRLPOOL 3fd57a325fbcc0246fe02d5c77cfd9af25bfa7c42cf3b4d161bd5bda5da5cb7c815006835801c4cfb83fd12474b5658df2e5760c0b61e8ba9b8ae5820f8fb9fa
+EBUILD rmilter-1.10.0-r2.ebuild 1095 SHA256 2072368e51291558068e6bacee90b76b83e6f9e534fb0baa93fc2235fa9dd3d5 SHA512 fced97d4ae81c410fe0ed64fd4654c255bfecfa6e49cea8a9a74c4441efd74397988e139f677740f3001c2b3b9ef17792b2754524700d25c9b8fa43bfc9adfea WHIRLPOOL 7992a71cc6ca0eeb8a2f5663c73b4e770d9c8c86e06733b864ee8db7044009639093a21282c4a1f91109ed20c18ed15c7fc45ed73442553ec48c562a48dd0d20
+EBUILD rmilter-1.10.0.ebuild 1092 SHA256 8e5325f150207b90f7a9a44a6431e0f9a73a1e8f691f6d7c4d6fb7269dd7eaf1 SHA512 b0c39933149971a7ebb2a5aa1294fb5b17df8a2c6dcdb1f203a0db94afbfc161d72ce24cffd68184327a5889dc198bd7b4a1f0b2eb0a4863050f9351d7241ee7 WHIRLPOOL 30a711eef0a405d4364396fbbe7d5c43c9ed1b7ad7031e8f9c3f421139ac5f010207a89d5ef702abac9b0fe42d5e159b675b3b5d29fe39936fcee1c22c1fb2df
+EBUILD rmilter-1.9.2.ebuild 1092 SHA256 8e5325f150207b90f7a9a44a6431e0f9a73a1e8f691f6d7c4d6fb7269dd7eaf1 SHA512 b0c39933149971a7ebb2a5aa1294fb5b17df8a2c6dcdb1f203a0db94afbfc161d72ce24cffd68184327a5889dc198bd7b4a1f0b2eb0a4863050f9351d7241ee7 WHIRLPOOL 30a711eef0a405d4364396fbbe7d5c43c9ed1b7ad7031e8f9c3f421139ac5f010207a89d5ef702abac9b0fe42d5e159b675b3b5d29fe39936fcee1c22c1fb2df
+EBUILD rmilter-9999.ebuild 1062 SHA256 013e996fbea9a0f66828abb4baa058ec409cc40027be569fc6218e761289a51b SHA512 437216cd9f1df303792513b5a5f26d80e9e2fceda53adb722fe3a60d9a503cd4fa9def80eee3aeaa85b21b87d949a1d652d3bc82c5f5a56f73a079d8692cc16b WHIRLPOOL f5c2930eddac289780c5510cfebb0c02d3c98b729541d9ab89f019f87004976c7f50db039db2531d51cfed261d650a9cf172cf4ed66fa67d42115d907fcaaa16
+MISC ChangeLog 4840 SHA256 f6e4183eff65d1dd5e48f39230aab0ea607111ef8cb06a3ee1ac72b1b6b3cf6f SHA512 cab41f8f55cefd55f633dd9e8870f668f16cb580be13e58645436a9aacf45327ebf32f290ff0f0e03fe35a44b8bf7eb5930d71c17467aaf0b3b201107d4576d8 WHIRLPOOL 2b8dac4696918e1801b3416012b8c0c2a138319559e74933112acf070497c6938b50d9167df38704e5ea99bef14dfff7b1cb7f33f20c4edaab50d8731dc72b43
+MISC metadata.xml 491 SHA256 ea0878a15f6816994bc087392199aa47b7cbd17f3ec85b4ff0adbb1329e12bc1 SHA512 83cd56e53d6a85524c3e8a9ce2a096d7820fa51b1cc80fcf4e667ddeccaacf8dbb1aeafe1590e9553fb432a3ad61f8d5446372201a02cdea474f00c5fba0b2d3 WHIRLPOOL 10925e732e56ecc657aebff351d8a87e0ad7312b052ac947610d6cf28e0bc5bfb9690da7c6f9178bcd8ad346049e2669975d959e4987e271d63b3de0e3feed9c
diff --git a/mail-filter/rmilter/files/rmilter.initd b/mail-filter/rmilter/files/rmilter.initd
new file mode 100644
index 000000000000..d155a4a43b4e
--- /dev/null
+++ b/mail-filter/rmilter/files/rmilter.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+RUNDIR=/var/run/rmilter
+PIDFILE=$RUNDIR/rmilter.pid
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ mkdir -m0750 -p $RUNDIR
+ chown rmilter:rmilter $RUNDIR
+ chmod g+s $RUNDIR
+ rm -f $RUNDIR/$SVCNAME.sock
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -u rmilter \
+ --exec /usr/sbin/rmilter -- -c /etc/rmilter/rmilter.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ eend $?
+}
diff --git a/mail-filter/rmilter/files/rmilter.initd-r1 b/mail-filter/rmilter/files/rmilter.initd-r1
new file mode 100644
index 000000000000..03eaa2512f8e
--- /dev/null
+++ b/mail-filter/rmilter/files/rmilter.initd-r1
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 2015-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+RUNDIR=/var/run/rmilter
+PIDFILE=$RUNDIR/rmilter.pid
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checkpath -d $RUNDIR -m2750 -o rmilter:rmilter
+ rm -f $RUNDIR/$SVCNAME.sock
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -u rmilter \
+ --exec /usr/sbin/rmilter -- -c /etc/rmilter/rmilter.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ eend $?
+}
diff --git a/mail-filter/rmilter/files/rmilter.initd-r2 b/mail-filter/rmilter/files/rmilter.initd-r2
new file mode 100644
index 000000000000..08b4c642d7ad
--- /dev/null
+++ b/mail-filter/rmilter/files/rmilter.initd-r2
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 2015-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+RUNDIR=/var/run/rmilter
+PIDFILE=$RUNDIR/rmilter.pid
+
+depend() {
+ need net
+ before mta
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checkpath -d $RUNDIR -m2750 -o rmilter:rmilter
+ rm -f $RUNDIR/$SVCNAME.sock
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -u rmilter \
+ --exec /usr/sbin/rmilter -- -c /etc/rmilter/rmilter.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ eend $?
+}
diff --git a/mail-filter/rmilter/metadata.xml b/mail-filter/rmilter/metadata.xml
new file mode 100644
index 000000000000..35ab47210bd9
--- /dev/null
+++ b/mail-filter/rmilter/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <use>
+ <flag name="dkim">Enable support for DomainKeys Identified Mail</flag>
+ <flag name="memcached">Enable support for memcached</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">vstakhov/rmilter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/rmilter/rmilter-1.10.0-r1.ebuild b/mail-filter/rmilter/rmilter-1.10.0-r1.ebuild
new file mode 100644
index 000000000000..f664f9f9849b
--- /dev/null
+++ b/mail-filter/rmilter/rmilter-1.10.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user
+
+DESCRIPTION="Another sendmail milter for different mail checks"
+SRC_URI="https://github.com/vstakhov/rmilter/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/vstakhov/rmilter"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dkim libressl +memcached"
+
+RDEPEND="dev-libs/libpcre
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ mail-filter/libmilter
+ >=dev-libs/glib-2.28
+ dkim? ( mail-filter/opendkim )
+ memcached? ( dev-libs/libmemcached )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup rmilter
+ enewuser rmilter -1 -1 /var/run/rmilter rmilter
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DKIM=$(usex dkim ON OFF)
+ -DENABLE_MEMCACHED=$(usex memcached ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rmilter.initd-r1" rmilter
+ insinto /etc/rmilter
+ newins rmilter.conf.sample rmilter.conf.sample
+ newins rmilter-grey.conf rmilter-grey.conf
+}
diff --git a/mail-filter/rmilter/rmilter-1.10.0-r2.ebuild b/mail-filter/rmilter/rmilter-1.10.0-r2.ebuild
new file mode 100644
index 000000000000..82a8a61e1c0a
--- /dev/null
+++ b/mail-filter/rmilter/rmilter-1.10.0-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user
+
+DESCRIPTION="Another sendmail milter for different mail checks"
+SRC_URI="https://github.com/vstakhov/rmilter/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/vstakhov/rmilter"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dkim libressl +memcached"
+
+RDEPEND="dev-libs/libpcre
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ mail-filter/libmilter
+ >=dev-libs/glib-2.28
+ dkim? ( mail-filter/opendkim )
+ memcached? ( dev-libs/libmemcached )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup rmilter
+ enewuser rmilter -1 -1 /var/run/rmilter rmilter
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DKIM=$(usex dkim ON OFF)
+ -DENABLE_MEMCACHED=$(usex memcached ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rmilter.initd-r2" rmilter
+ insinto /etc/rmilter
+ newins rmilter.conf.sample rmilter.conf.sample
+ newins rmilter-grey.conf rmilter-grey.conf
+}
diff --git a/mail-filter/rmilter/rmilter-1.10.0.ebuild b/mail-filter/rmilter/rmilter-1.10.0.ebuild
new file mode 100644
index 000000000000..b0a6942c1809
--- /dev/null
+++ b/mail-filter/rmilter/rmilter-1.10.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user
+
+DESCRIPTION="Another sendmail milter for different mail checks"
+SRC_URI="https://github.com/vstakhov/rmilter/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/vstakhov/rmilter"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dkim libressl +memcached"
+
+RDEPEND="dev-libs/libpcre
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ mail-filter/libmilter
+ >=dev-libs/glib-2.28
+ dkim? ( mail-filter/opendkim )
+ memcached? ( dev-libs/libmemcached )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup rmilter
+ enewuser rmilter -1 -1 /var/run/rmilter rmilter
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DKIM=$(usex dkim ON OFF)
+ -DENABLE_MEMCACHED=$(usex memcached ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rmilter.initd" rmilter
+ insinto /etc/rmilter
+ newins rmilter.conf.sample rmilter.conf.sample
+ newins rmilter-grey.conf rmilter-grey.conf
+}
diff --git a/mail-filter/rmilter/rmilter-1.9.2.ebuild b/mail-filter/rmilter/rmilter-1.9.2.ebuild
new file mode 100644
index 000000000000..b0a6942c1809
--- /dev/null
+++ b/mail-filter/rmilter/rmilter-1.9.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user
+
+DESCRIPTION="Another sendmail milter for different mail checks"
+SRC_URI="https://github.com/vstakhov/rmilter/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/vstakhov/rmilter"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dkim libressl +memcached"
+
+RDEPEND="dev-libs/libpcre
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ mail-filter/libmilter
+ >=dev-libs/glib-2.28
+ dkim? ( mail-filter/opendkim )
+ memcached? ( dev-libs/libmemcached )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup rmilter
+ enewuser rmilter -1 -1 /var/run/rmilter rmilter
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DKIM=$(usex dkim ON OFF)
+ -DENABLE_MEMCACHED=$(usex memcached ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rmilter.initd" rmilter
+ insinto /etc/rmilter
+ newins rmilter.conf.sample rmilter.conf.sample
+ newins rmilter-grey.conf rmilter-grey.conf
+}
diff --git a/mail-filter/rmilter/rmilter-9999.ebuild b/mail-filter/rmilter/rmilter-9999.ebuild
new file mode 100644
index 000000000000..cb4d833def65
--- /dev/null
+++ b/mail-filter/rmilter/rmilter-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user git-r3
+
+DESCRIPTION="Another sendmail milter for different mail checks"
+HOMEPAGE="https://github.com/vstakhov/rmilter"
+EGIT_REPO_URI="https://github.com/vstakhov/rmilter.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="dkim libressl +memcached"
+
+RDEPEND="dev-libs/libpcre
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ mail-filter/libmilter
+ >=dev-libs/glib-2.28
+ dkim? ( mail-filter/opendkim )
+ memcached? ( dev-libs/libmemcached )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup rmilter
+ enewuser rmilter -1 -1 /var/run/rmilter rmilter
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DKIM=$(usex dkim ON OFF)
+ -DENABLE_MEMCACHED=$(usex memcached ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rmilter.initd" rmilter
+ insinto /etc/rmilter
+ newins rmilter.conf.sample rmilter.conf.sample
+ newins rmilter-grey.conf rmilter-grey.conf
+}
diff --git a/mail-filter/rspamd/Manifest b/mail-filter/rspamd/Manifest
new file mode 100644
index 000000000000..a94a3d146ade
--- /dev/null
+++ b/mail-filter/rspamd/Manifest
@@ -0,0 +1,9 @@
+AUX rspamd-1.5.7-map.patch 290 SHA256 e9494e2664da5c4d8c6bdcd75a82a81b9d7efa0e3825172cf564a412d0fea0cb SHA512 a85929322c80a527cf9ed71b3a09f89025a0e57c1db8f81e733cde5f612f21858fc6a92d59e4476266b1a478ee9935d0ba421e868e4f760494839649c4daaeca WHIRLPOOL 4530a4078977817625baf1b82462781495c57509ec9488bc05b8983d37ffa051f08fa2445ea7090f2d9e6e0eab1fe0b8dd7b681d909c409e868f579ae4c12b26
+AUX rspamd.init-r2 1030 SHA256 1296c61aa61a61dece2ccd71e19b6322f4d76bb12f6fe3416925fcbde8250613 SHA512 6419e21253ee98aa0a5ee44e750f9473b8688d79e460866b23a153a76949e20fee114f1b58dbce90b46dc758636af8591e2bae6abe0c513c889025564582351f WHIRLPOOL 0ad66f196d4b24d0cbcecbc8b59865cc4cad3fb826858910ec66022a7727ffa4ca5b41d41b921e6e648da2cd72520510878759395ff830ed08cb35a145fcbe9c
+AUX rspamd.init-r5 993 SHA256 3be6b028ca7eb6b528b845ed07b0823a83e22877bce5a7f557ba0f5ea3ebef7f SHA512 a51e13e344a67436ba377ed5b5f5516895f7b0a87571dd1d8391fbc4db5794e98e609672f103f997d6c13aded81595ac4e0c4f315e7c23a79408d0dc680930a5 WHIRLPOOL dc71ea01537be6ce95c2efe17546890e1893d10d1476276000caacd3bc8756903d1f46d28ece98df21891e78426246e7c8005515b8ceefbf775b02e74362fb54
+AUX rspamd.logrotate 226 SHA256 45c618348e4b207665d11927fa520b63462cb246cb3e1a80d111cabb756ac2be SHA512 9593e269fdac064050eb9e3e3bb25db73bb41163ff6764845bf4cc05512a4dfbb1cedce781f1ffa390d1d8df579fa66cb34d1629649133ba8f36a30d8050c323 WHIRLPOOL b829bcc92f70c9ffd63355476b1effb8ddd61eb7d5c44455bd6934edbd0479f0bfa87520066d4b854b35b251a386ef7c01b1cefb7bea4df2dcb6f7f513ebb5b5
+DIST rspamd-1.6.3.tar.gz 2476617 SHA256 0d89fc4966c71b209a0f566458b1651dfa11b651b5e772cbe599177270e8c13f SHA512 c03810523890e631cf6b315ae5360f02833ceb236d2685f7f20138a680a39b04060415170c7bc5f88aaf74f8a05df248b9e49bbbde285909e56a1a12f36e03bf WHIRLPOOL 2ac2f9911d238e97a8db968e1e991a99edbffb8c6292eb39c1972eec0d657fc38165d19e76d09dc0f4a9e782d9ecac4b51ca8f1262c0e121545dfffbec9fad62
+EBUILD rspamd-1.6.3.ebuild 1868 SHA256 38032bf6d717579c0073652bf46cc928c4c94dd96a3982bed0df99a522c05718 SHA512 eb4d50ff1f27161c38806a5292aac3214c8f38ed43628ae00045169261088145c16a4ff28fdfc16525ef4e2247094146e723e45a71ad00431b50dcffefd2a89c WHIRLPOOL 6545e12dc335f9a43ef84dc54b3f158c653c3d8ff8ae083f11b5c6dd7efec4490c9babfc8cabee319b4c5e6666007ce9b97dc8f46f83736d9755c95364b4fb14
+EBUILD rspamd-9999.ebuild 1745 SHA256 36968cdbb24bbf0d448b212dc032b20929c5165f23b850ffc749aa2688264e05 SHA512 73fa228a4f998effbb7f2505e34f4b35d766dccb5335e5d8e76f6f01c6123e68f17fad5767e8d17336328939b1cdb2d9f4f11f76be006d5d0c444b2d082d8e3d WHIRLPOOL 03c9e5768019a69092156b9df99e7dc385d0e7c16c27d13db14e6d20adfe24f85deec754adbe7e2efeb1e51e9bfd529d330c2611453d18fa93154a1074b3a1d2
+MISC ChangeLog 7941 SHA256 8685c71d977cc5fd49265a06a15f1972d7ac27534bd17c9f1f7820544a692324 SHA512 3b92be679f63b1d6a305fabe15de32870a814ce9e04e2010e6acc7f58c266e2d35ad6ce42a21d9bba269b847d17e56084f1eca0626d326f8bec9ead0df0cc8d6 WHIRLPOOL 0ee07020da7f1e149dfd2334a0a8f66b93ea9fc6e98ef4181270a4f5b24e73434e1119ec9cb78739ebb0379e6843d85de3bea3c87229bb1e119c401621b5e364
+MISC metadata.xml 811 SHA256 585bbecd500bbcca460feab914656542c590c168c72e898949c70319ee09cd95 SHA512 31f1d5ecf43d84951a26482d900ae7a18af27a4cac6b73e69de37d44918dbd4a422a77de3da32d34e29bf569c6ef59c6fd9f8e4fadaf6e14bbb4a2494d7ed2db WHIRLPOOL f66b2f3f3ea16b22cdc7eaf99dcbd2c946b1dc4f1d2a4bd91312f55a77818cf481e3c5414998167f85d675b7c8a3b799e7b06837b5cc0d63462f284a62a50379
diff --git a/mail-filter/rspamd/files/rspamd-1.5.7-map.patch b/mail-filter/rspamd/files/rspamd-1.5.7-map.patch
new file mode 100644
index 000000000000..1477b13eee78
--- /dev/null
+++ b/mail-filter/rspamd/files/rspamd-1.5.7-map.patch
@@ -0,0 +1,11 @@
+--- rspamd-1.5.7/src/libutil/map.c 2017-05-02 15:26:54.000000000 +0200
++++ b/src/libutil/map.c 2017-05-02 16:22:37.695254699 +0200
+@@ -2290,7 +2290,7 @@
+ }
+ #else
+ if (pcre_flags & PCRE_FLAG(UTF)) {
+- re_map->map_flags |= RSPAMD_REGEXP_FLAG_UTF;
++ re_map->has_utf = TRUE;
+ }
+ #endif
+
diff --git a/mail-filter/rspamd/files/rspamd.init-r2 b/mail-filter/rspamd/files/rspamd.init-r2
new file mode 100644
index 000000000000..bf6f9ca8bcfe
--- /dev/null
+++ b/mail-filter/rspamd/files/rspamd.init-r2
@@ -0,0 +1,50 @@
+#!/sbin/openrc-run
+# Copyright 2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+RUNDIR=/var/run/rspamd
+PIDFILE=$RUNDIR/rspamd.pid
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ /usr/bin/rspamadm configtest -c /etc/rspamd/rspamd.sysvinit.conf > /dev/null \
+ || return 1
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+
+ mkdir -m0750 -p $RUNDIR
+ chown rspamd:rspamd $RUNDIR
+ chmod g+s $RUNDIR
+ rm -f $RUNDIR/$SVCNAME.sock
+
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -u rspamd -g rspamd \
+ --exec /usr/bin/rspamd
+ eend $?
+}
+
+stop() {
+ if [ "${RC_CMD}" = "restart" ] ; then
+ checkconfig || return 1
+ fi
+
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE \
+ --exec /usr/bin/rspamd
+ eend $?
+}
+
+reload() {
+ checkconfig || return 1
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE
+ eend $?
+}
diff --git a/mail-filter/rspamd/files/rspamd.init-r5 b/mail-filter/rspamd/files/rspamd.init-r5
new file mode 100644
index 000000000000..6d249f3f9051
--- /dev/null
+++ b/mail-filter/rspamd/files/rspamd.init-r5
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+# Copyright 2015-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+RUNDIR=/var/run/rspamd
+PIDFILE=$RUNDIR/rspamd.pid
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ /usr/bin/rspamadm configtest -c /etc/rspamd/rspamd.conf > /dev/null \
+ || return 1
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+
+ checkpath -d $RUNDIR -m 2750 -o rspamd:rspamd
+ rm -f $RUNDIR/$SVCNAME.sock
+
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -u rspamd -g rspamd \
+ --exec /usr/bin/rspamd
+ eend $?
+}
+
+stop() {
+ if [ "${RC_CMD}" = "restart" ] ; then
+ checkconfig || return 1
+ fi
+
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE \
+ --exec /usr/bin/rspamd
+ eend $?
+}
+
+reload() {
+ checkconfig || return 1
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --signal HUP --quiet --pidfile $PIDFILE
+ eend $?
+}
diff --git a/mail-filter/rspamd/files/rspamd.logrotate b/mail-filter/rspamd/files/rspamd.logrotate
new file mode 100644
index 000000000000..dca9cfadf662
--- /dev/null
+++ b/mail-filter/rspamd/files/rspamd.logrotate
@@ -0,0 +1,12 @@
+/var/log/rspamd/rspamd.log{
+ daily
+ rotate 4
+ delaycompress
+ compress
+ notifempty
+ missingok
+ postrotate
+ service rspamd reopenlog >/dev/null 2>&1 || true
+ endscript
+}
+
diff --git a/mail-filter/rspamd/metadata.xml b/mail-filter/rspamd/metadata.xml
new file mode 100644
index 000000000000..b8b89d3d8a9c
--- /dev/null
+++ b/mail-filter/rspamd/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>c@roessner.co</email>
+ <name>Christian Roessner</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">vstakhov/rspamd</remote-id>
+ </upstream>
+ <use>
+ <flag name="fann">Enable neural network plugin (requires <pkg>sci-mathematics/fann</pkg>).</flag>
+ <flag name="jemalloc">Use dev-libs/jemalloc for allocations</flag>
+ <flag name="pcre2">Use dev-libs/libpcre2</flag>
+ </use>
+</pkgmetadata>
diff --git a/mail-filter/rspamd/rspamd-1.6.3.ebuild b/mail-filter/rspamd/rspamd-1.6.3.ebuild
new file mode 100644
index 000000000000..e00de6280f11
--- /dev/null
+++ b/mail-filter/rspamd/rspamd-1.6.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils pax-utils user systemd
+
+DESCRIPTION="Rapid spam filtering system"
+SRC_URI="https://github.com/vstakhov/rspamd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/vstakhov/rspamd"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_ssse3 fann gd jemalloc +jit libressl pcre2"
+
+RDEPEND="!libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ fann? ( sci-mathematics/fann )
+ pcre2? ( dev-libs/libpcre2[jit=] )
+ !pcre2? ( dev-libs/libpcre[jit=] )
+ jit? ( dev-lang/luajit:2 )
+ jemalloc? ( dev-libs/jemalloc )
+ dev-libs/libevent
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ <dev-util/ragel-7.0
+ sys-apps/file
+ gd? ( media-libs/gd[jpeg] )
+ dev-libs/icu
+ cpu_flags_x86_ssse3? ( dev-libs/hyperscan )"
+DEPEND="dev-util/ragel
+ ${RDEPEND}"
+
+QA_MULTILIB_PATHS="usr/lib/rspamd/.*"
+
+pkg_setup() {
+ enewgroup rspamd
+ enewuser rspamd -1 -1 /var/lib/rspamd rspamd
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCONFDIR=/etc/rspamd
+ -DRUNDIR=/var/run/rspamd
+ -DDBDIR=/var/lib/rspamd
+ -DLOGDIR=/var/log/rspamd
+ -DENABLE_LUAJIT=$(usex jit ON OFF)
+ -DENABLE_FANN=$(usex fann ON OFF)
+ -DENABLE_PCRE2=$(usex pcre2 ON OFF)
+ -DENABLE_JEMALLOC=$(usex jemalloc ON OFF)
+ -DENABLE_HYPERSCAN=$(usex cpu_flags_x86_ssse3 ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rspamd.init-r5" rspamd
+
+ # Remove mprotect for JIT support
+ if use jit; then
+ pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* || die
+ fi
+
+ dodir /var/lib/rspamd
+ dodir /var/log/rspamd
+
+ fowners rspamd:rspamd /var/lib/rspamd /var/log/rspamd
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/rspamd.logrotate" rspamd
+
+ systemd_newunit rspamd.service rspamd.service
+}
diff --git a/mail-filter/rspamd/rspamd-9999.ebuild b/mail-filter/rspamd/rspamd-9999.ebuild
new file mode 100644
index 000000000000..6c3a653743ec
--- /dev/null
+++ b/mail-filter/rspamd/rspamd-9999.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils user systemd git-r3 pax-utils
+
+DESCRIPTION="Rapid spam filtering system"
+HOMEPAGE="https://github.com/vstakhov/rspamd"
+EGIT_REPO_URI="https://github.com/vstakhov/rspamd.git"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="fann +gd jemalloc +jit libressl pcre2"
+
+RDEPEND="!libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ fann? ( sci-mathematics/fann )
+ pcre2? ( dev-libs/libpcre2[jit=] )
+ !pcre2? ( dev-libs/libpcre[jit=] )
+ jit? ( dev-lang/luajit:2 )
+ jemalloc? ( dev-libs/jemalloc )
+ dev-libs/libevent
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-util/ragel
+ sys-apps/file
+ gd? ( media-libs/gd[jpeg] )
+ dev-libs/icu"
+DEPEND="dev-util/ragel
+ ${RDEPEND}"
+
+QA_MULTILIB_PATHS="usr/lib/rspamd/.*"
+
+pkg_setup() {
+ enewgroup rspamd
+ enewuser rspamd -1 -1 /var/lib/rspamd rspamd
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCONFDIR=/etc/rspamd
+ -DRUNDIR=/var/run/rspamd
+ -DDBDIR=/var/lib/rspamd
+ -DLOGDIR=/var/log/rspamd
+ -DENABLE_LUAJIT=$(usex jit ON OFF)
+ -DENABLE_FANN=$(usex fann ON OFF)
+ -DENABLE_PCRE2=$(usex pcre2 ON OFF)
+ -DENABLE_JEMALLOC=$(usex jemalloc ON OFF)
+ -DENABLE_GD=$(usex gd ON OFF)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/rspamd.init-r2" rspamd
+
+ # Remove mprotect for JIT support
+ if use jit; then
+ pax-mark m "${ED}"/usr/bin/rspamd-* "${ED}"/usr/bin/rspamadm-* || die
+ fi
+
+ dodir /var/lib/rspamd
+ dodir /var/log/rspamd
+
+ fowners rspamd:rspamd /var/lib/rspamd /var/log/rspamd
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/rspamd.logrotate" rspamd
+
+ systemd_newunit rspamd.service rspamd.service
+}
diff --git a/mail-filter/scmail/Manifest b/mail-filter/scmail/Manifest
new file mode 100644
index 000000000000..e6513cc42c25
--- /dev/null
+++ b/mail-filter/scmail/Manifest
@@ -0,0 +1,7 @@
+AUX scmail-doc-encoding.diff 1294 SHA256 7e2222dcef6237f85dbcb07cacfeaa41ef33efcff4977b6c144ccd4da0a33df5 SHA512 22bd822c7d153380776c845c31efa0d16a93f4fe809c40a2d75107a60ffa4aa484e9f36ef13194855516059534b944646ed5e6db6992d66c6e146c5dc4cdd01a WHIRLPOOL 37e390925cb11a09e6a29d0555cdd899bbe0ecb339f340ae3ee78526e3170dd40acc514eb1b82e3c99359fa1f1a4ecdba3358ab83cfe0b91c6ccce813bad682b
+AUX scmail-gauche-0.9.diff 1318 SHA256 5d1d27c09d7ffcd9d986f3a0b3b11fb6e3691fc2c4d5f168274859a852f76c47 SHA512 137c1dfbcd548a28e315bc0df6aac01e2ee89aaf74433297b0173c91da9216e464f9044e8584a3fd543f3cbcf28d47d6bcd539b8bd0830cf1cdd768c055792b6 WHIRLPOOL b8e2845f4482bcaa4bd9a3bdd2896bcbb98ccc7469fc73e1c6c40a2cf430735fb2d9340ffc49663cd73de41bf200ccf738e157de0239e9732bc9da085dbe2da3
+DIST scmail-1.3.tar.gz 52744 SHA256 04648e6d9d48e934b2324596d2b0b887cc6d8b324d4d6533e248ba511b6bb525 SHA512 ae94de7f34f9279e892533137d76f07642ade63f9d179bbc96202003f49cf8ae6dd6cc5b9d53fa1d2f8be2bebcbe071635910d48593c9e57fb6609cc7ec6e95d WHIRLPOOL 4917cbb3d0c9339d823c6631f402f83ccdcfce48a093762a1e1803146eef28a9f1d0d4186e3745149a29f779741bfd359280f05cb0dafe16204fbdeaeb8f2959
+EBUILD scmail-1.3.ebuild 715 SHA256 3ae370ae8a4ccfaec17bc0a233471cc79162dc186bec26815928edb0fe79a825 SHA512 22102918a9ac9d5d99a465dfbae42d1bce6db9c94687ce214e26a66d9304bd789c9c7edff67a4de06ee0c3ce5b1246e959801b11aae4a3eb66a5cc3911749d64 WHIRLPOOL 48e3ce56860b0812f292fd959b8ea0c9e8908313c8fde7a69cc219dd8e6535049c3fae8aea45094dbb956df49048b2d38a9e5d875ed4b6ea20695b5843eccbd8
+MISC ChangeLog 2238 SHA256 a60307149110da2dbf6b3dccd965b040d11dc7d1e0cb2158e634b8db648228cc SHA512 6aa2174d8c0ada5329847aa6097c0493f8cd79ea6d67f438683d3d395764e9cbefbc239e44d1ac2538f2357a63f09c1abfe5aff9eb50926810f61ceca285b078 WHIRLPOOL 57f1e86920c80d3a72785e1043d0fa39df49305f6dcb7136f7936853c0f70ba0462466846609d6d51abaefc61a2d933ac351182707617ab3b633c57467fa5f41
+MISC ChangeLog-2015 2490 SHA256 f46dc24ccc4a33052f730bc9159f6e27c457a8494340cb50bb8dffd3b1075745 SHA512 c7b290304cd38079c4fa7b66e46a9ed741329ad530da05ae44e6b03a7c7113a278da5da6cd6ae4ddc1ba869e5d04c9754fd4336a2cfc6bd5af4085122d1b6900 WHIRLPOOL 94ab46a624adddcc3c786b0f693486719380d9f1cf41b7d2191514d12bebdeee4b018e9f5be6cfbd885ead80a67b816cc9053b27c345d9189e282d775264e56a
+MISC metadata.xml 221 SHA256 27a3fa259bbce0eb90b1fe397126b9d5ef4e906e824ae72f9ea923fff8da6d02 SHA512 a11e9bbbabc9ac96985c5dc247e601b065fa762f12bce74224896c27aee34eb908187622bfc849c39c6c722a8ef8ee72b248afc84da1b0eb72f1ff5eeb13bbf0 WHIRLPOOL e8ddaad694d5f22a229ccc3dc7597a11dce9ffd502ed3fa64b9cc760d3404c4dac31c9b9948b38b2eee0efc446a8aee52a73f87ec28d229670ba3bfc3cb9a95c
diff --git a/mail-filter/scmail/files/scmail-doc-encoding.diff b/mail-filter/scmail/files/scmail-doc-encoding.diff
new file mode 100644
index 000000000000..5ed00a62d02d
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-doc-encoding.diff
@@ -0,0 +1,28 @@
+--- scmail-1.3.orig/doc/embed.scm
++++ scmail-1.3/doc/embed.scm
+@@ -1,3 +1,4 @@
++(use gauche.charconv)
+ (use gauche.regexp)
+ (define (escape str)
+ (set! str (regexp-replace-all #/&/ str "&amp;"))
+@@ -15,12 +16,18 @@
+ (define (main args)
+ (call-with-input-file (cadr args)
+ (lambda (in)
+- (let* ((content (port->string in))
++ (let* ((content (port->string (open-input-conversion-port in "*jp")))
+ (content (regexp-replace-all #/#\{(.*?)\}/ content
+ (lambda (m)
+ (string-append
+ "<pre>\n"
+ (read-file-and-escape (rxmatch-substring m 1))
+- "</pre>\n")))))
++ "</pre>\n"))))
++ (content (regexp-replace #/(encoding=").*?(")/ content
++ (lambda (m)
++ (string-append
++ (rxmatch-substring m 1)
++ (ces-guess-from-string content "*jp")
++ (rxmatch-substring m 2))))))
+ (display content))))
+ 0)
diff --git a/mail-filter/scmail/files/scmail-gauche-0.9.diff b/mail-filter/scmail/files/scmail-gauche-0.9.diff
new file mode 100644
index 000000000000..36fc3b3daa77
--- /dev/null
+++ b/mail-filter/scmail/files/scmail-gauche-0.9.diff
@@ -0,0 +1,35 @@
+--- scmail-1.3.orig/scbayes.in
++++ scmail-1.3/scbayes.in
+@@ -16,6 +16,7 @@
+
+ (use gauche.parseopt)
+ (use gauche.parameter)
++(use gauche.version)
+ (use dbm)
+ (use dbm.gdbm) ;; should be customizable
+ (use util.digest)
+@@ -130,12 +131,18 @@
+ (sys-rename (temporary-table-file) (table-file))
+ (sys-rename (temporary-digest-file) (digest-file)))))
+
+-(define (lock)
+- (unless (eq? (create-directory* (lock-file)) #t)
+- (scmail-wformat "~a is now being updated" (table-file))
+- (scmail-wformat "or perhaps ~a is staled." (lock-file))
+- (scmail-eformat "(Please remove the lock file if it is staled.)"))
+- )
++(if (version<? (gauche-version) "0.9")
++ (define (lock)
++ (unless (eq? (create-directory* (lock-file)) #t)
++ (scmail-wformat "~a is now being updated" (table-file))
++ (scmail-wformat "or perhaps ~a is staled." (lock-file))
++ (scmail-eformat "(Please remove the lock file if it is staled.)")))
++ (define (lock)
++ (guard (e (else
++ (scmail-wformat "~a is now being updated" (table-file))
++ (scmail-wformat "or perhaps ~a is staled." (lock-file))
++ (scmail-eformat "(Please remove the lock file if it is staled.)")))
++ (create-directory* (lock-file)))))
+
+ (define force-learn? (make-parameter #f))
+
diff --git a/mail-filter/scmail/metadata.xml b/mail-filter/scmail/metadata.xml
new file mode 100644
index 000000000000..21dc8fdf43ff
--- /dev/null
+++ b/mail-filter/scmail/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/mail-filter/scmail/scmail-1.3.ebuild b/mail-filter/scmail/scmail-1.3.ebuild
new file mode 100644
index 000000000000..2b3e44ca9c5b
--- /dev/null
+++ b/mail-filter/scmail/scmail-1.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils fixheadtails
+
+DESCRIPTION="a mail filter written in Scheme"
+HOMEPAGE="http://0xcc.net/scmail/"
+SRC_URI="http://0xcc.net/scmail/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="dev-scheme/gauche"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-*.diff
+ ht_fix_file tests/scmail-commands
+ # replace make -> $(MAKE)
+ sed -i "s/make\( \|$\)/\$(MAKE)\1/g" Makefile
+}
+
+src_install() {
+ emake \
+ PREFIX="${ED}/usr" \
+ SITELIBDIR="${ED}$(gauche-config --sitelibdir)" \
+ DATADIR="${ED}/usr/share/doc/${P}" \
+ install
+ dohtml doc/*.html
+}
diff --git a/mail-filter/sid-milter/Manifest b/mail-filter/sid-milter/Manifest
new file mode 100644
index 000000000000..317b664132d6
--- /dev/null
+++ b/mail-filter/sid-milter/Manifest
@@ -0,0 +1,11 @@
+AUX gentoo-config.m4 197 SHA256 e704faeab661553c2bb886f9486693681f07d3581d8d8b8eb287faf621c23738 SHA512 67c1e602c17246bfc2bb60f63a6c5045bc1cbcc10fb9fcb67085aa4d8a8bea948cb0fb35a761a3e52668b8350d799a266c8ec78ee37b28e20d7b0102256f80fe WHIRLPOOL d518be8d58882dc65fb3fbf913f2ce970bead17cff25e0a4e390a99243784d1a7515b9186a7af4657454a0c255f0452d44c35cf42241d87f653735644feffd3b
+AUX sid-filter.conf 226 SHA256 9c887c16afecfce014ab64a4747fd6c643f7b570f5d506740401d61872ae5249 SHA512 3a8c54e7ff0cf724a3a24f5e2c12abe404e4c1e293cc536c24ff81b343706f463c0b4f36780947e998f2e601c64831b76196738c5737c7b1f753f39919959bdf WHIRLPOOL 0014342fe6901cd640b18825d8d8380c2289717b37f4321a272827c0bbddaea2d95d4a87081bd6e251a810468399841da6843f4d37a35cf4d41d4e9123479895
+AUX sid-filter.init-r1 2204 SHA256 8830d25ed932145fc505e284c984bb0cd6f2320afa3db11123e5e96489c6e64a SHA512 631b142a8a3492033e0a1a732c2ab3685d582208b8f40088ba9a58e87b2bb6a9a719a91c83e856604d1b0c4ced5ee71173666dfc790853a62178d1295b3d3d3b WHIRLPOOL a1afbb97a82d72183508f537f48bd71cd3c17821cfc5a7417ec3d77f1797d35567f7016b477a30fb55ff5ec23b3bf43bcaa7b3dc52ef00e7d23f1f7e3b09576e
+AUX sid-milter-1.0.0-as-needed.patch 1213 SHA256 8c77f7be8f99d69e75eced9aa8880acb0ada60aec7186bc2d48b823855b902a0 SHA512 74354e52dcbbb3a04c668604698e94803c9ebfa0663a37facef4f6cfbcbc1c6113758aa3f6a19d0036c948824f50f9075d5cf8fc1728a5963d958f8af871301b WHIRLPOOL 188fed29337f95293b06209f7b93c7810302a36903f967cad38a7251d7cc3b671b8cf4e7756c7822644eaaa81d646144bb09dfc10e3ec18f5a003837707e537a
+AUX sid-milter-1.0.0-nopra_on_spf1.patch 1777 SHA256 2a01bb115496583682e1e6f78370acc267c7e45067bb4dd91daa90dbf7107942 SHA512 b920806c3b0a3baa5581b028ae291e22281810c680b2cca82c12635690b3acfbb76fbce656324042ffbc536e17214699291720ec4bf0c7a5138bd6ab9283c79e WHIRLPOOL a40a1994ca41f2a9f14a5c88950a9f9f26cfa0340aca2f97e08489d02fcb3a06f3a742cb37795f938ac5924598c29e0efde8395c97f0bfc0d0e845eab19e5d70
+DIST sid-milter-1.0.0.tar.gz 351161 SHA256 b303bf0c43afd0cb0c814b8c862b8d22563d1203339ac130036873e79f696376 SHA512 599eae36b7708e045e3f120cd6b4215906ea954b5f10be520d917404a02cf0b03d79b8fcf9543080288a9ab8e436b393c8b6340d2b1edced3d4fb827ff4c30dc WHIRLPOOL 603271c53bb7397a3dfa1a7aee87e6d19156b1bb0153fd2dac7b029e45f6d4d7c98723ff255cfeca98d7ded03776090271d811d10b9646430be4db648c1a84bd
+EBUILD sid-milter-1.0.0-r6.ebuild 1743 SHA256 acf7eb81eeadece029de9c347a1da80ab8ebbd1471a74e467f45dcf7fc450092 SHA512 9479ca6315d83737f98be70e8c990048f23678d06a02936be1a1f0ac54945d972bdcce31fedf306835950eac0c1d76d2fa6921068a4d6fbaca37deea828aeda7 WHIRLPOOL 41fbeed25191706f2d975cd5b4a78de6bc5e802a106a3eabe50abe7130062ae2228d171ba8b336e1136ee8c1c881fcc7c2c368b16ce129ff78ac5efce4cf3a8b
+EBUILD sid-milter-1.0.0-r7.ebuild 1807 SHA256 c80a47f001cea82e2000f3afb259d6f1eff6b37d297793f55b5c76abdfbb2ee9 SHA512 8aa3144840a8d73bac90309306d3c2d0eec0d60065f7bf6370aeb43fb734e791d9491f0f70269d44f717d46d1f079fe5056686b277449f55363e7a50aafe85e9 WHIRLPOOL 1b18f4b26934481dbd492ec32003bda80c00d65c99236da6e11a9588461d3af430c34a53afe0a89f96362108be05a6f51d64a2ad11b435fd1c725921fba21c73
+MISC ChangeLog 3208 SHA256 3dae84b07531672da66c52449d7aaaa8c7044785c80545ca6d30354cfe086a18 SHA512 f25533e10177a3a5791bcd46a2795ffea71adc770870e42d9a7579a7b1f40350e6ac91d44ada05243cfb5798a93a1f36b24d9b2b2372d6c8808620b1bf46ec23 WHIRLPOOL 279b599a72d3336b4e97d52dc1e6ecc862ba74c0792a3697575f7a548c6eb5ed86ad91d397a936026e1a99415f3318f88cac378df9dc98850d4117066d21d648
+MISC ChangeLog-2015 3695 SHA256 cfbaeca7bd449c629226490bdc66c64d60b205eb9a6ea826cf0b7bd8898eaf76 SHA512 911fdf10a6f1d9b2434089545bf554fba636dab6b5ee375abe378da4cdcb4b56c0d08259a976d9ac8b36b17f01f022b30d7c5c925d936c6393f3345f45f862c4 WHIRLPOOL 51a38906ec1c07198bdd6f2648e87b7c9243b1f277b4f1d926b715861f86be3ee415be5c34557ddc078a1c92f19c3221bcc5914452b7332dfd6c61a361065218
+MISC metadata.xml 519 SHA256 dc50183c5b34d6adebcad7f8a4a6e1d6447a3c5f0088ae639023ed7b649524de SHA512 d7e99dc5571665d707b79fed4020f109fc09eb5b01952ac01dbe53bf5f6278b0e8c667cb99d00cccbd9ba79a26b7791d0aa780c8bf0b20f14cb3ddb7adb48e39 WHIRLPOOL 361d039e83df414ff4c087c9932969914f185b9e64f1b849585c61368a3f54083404b4f85e7740cfa9a69b4c28957e72ebce87f1c1f186fd478e9c6dc0941915
diff --git a/mail-filter/sid-milter/files/gentoo-config.m4 b/mail-filter/sid-milter/files/gentoo-config.m4
new file mode 100644
index 000000000000..d5692bad0369
--- /dev/null
+++ b/mail-filter/sid-milter/files/gentoo-config.m4
@@ -0,0 +1,6 @@
+define(`confNO_MAN_BUILD',`')
+define(`confCC', `@@CC@@')
+define(`confOPTIMIZE', `@@CFLAGS@@')
+define(`confLDOPTS', `@@LDFLAGS@@')
+define(`confENVDEF', `@@ENVDEF@@')
+define(`bld_USE_ARLIB', `true')
diff --git a/mail-filter/sid-milter/files/sid-filter.conf b/mail-filter/sid-milter/files/sid-filter.conf
new file mode 100644
index 000000000000..fb506c393889
--- /dev/null
+++ b/mail-filter/sid-milter/files/sid-filter.conf
@@ -0,0 +1,5 @@
+# Additional options for the Sender-ID Milter
+# see sid-filter(8) for more information.
+SOCKETSPEC="inet:8026@localhost"
+DOMAIN="example.com"
+SID_FILTER_OPTS="-u milter -l -p $SOCKETSPEC -d $DOMAIN -P /var/run/sid-filter.pid"
diff --git a/mail-filter/sid-milter/files/sid-filter.init-r1 b/mail-filter/sid-milter/files/sid-filter.init-r1
new file mode 100644
index 000000000000..853e96653a02
--- /dev/null
+++ b/mail-filter/sid-milter/files/sid-filter.init-r1
@@ -0,0 +1,88 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ # need net
+ use dns logger net
+}
+
+parse_opts() {
+ local filter_opt filter_flag=
+ for filter_opt in ${SID_FILTER_OPTS}; do
+ case "${filter_flag}" in
+ -u) filter_user=${filter_opt}
+ ;;
+ -P) filter_pid=${filter_opt}
+ ;;
+ esac
+ [ -n "${filter_user}" -a -n "${filter_pid}" ] && break
+ filter_flag=${filter_opt}
+ done
+
+ if [ -z "${filter_user}" ]; then
+ filter_user=milter
+ SID_FILTER_OPTS="${SID_FILTER_OPTS} -u ${filter_user}"
+ fi
+ if [ -z "${filter_pid}" ]; then
+ filter_pid="/var/run/sid-filter.pid"
+ SID_FILTER_OPTS="${SID_FILTER_OPTS} -P ${filter_pid}"
+ fi
+}
+
+clean_socket() {
+ local socket_file= svc_pid=
+
+ socket_file="$(echo ${SID_FILTER_OPTS} | sed -e 's/.*local:\(.*\) .*/\1/' | awk '{print $1}')"
+ svc_pid="$(ps -C sid-filter -o pid=)"
+ if [[ -z "${svc_pid}" ]] && [[ ! -z "${socket_file}" ]] && [[ -S "${socket_file}" ]]; then
+ ewarn "Strange, the socket file already exist in \"${socket_file}\""
+ ewarn "it will be removed now and re-created by the sid-filter server"
+ ewarn "BUT please make your checks."
+ rm -f "${socket_file}"
+ fi
+}
+
+check_socketdir() {
+ local socket_dir
+ case "${SOCKETSPEC}" in
+ local:*) socket_dir="$(echo ${SOCKETSPEC} | sed -e 's~^local:\(.*\)/.*$~\1~')"
+ if [[ ! -d ${socket_dir} ]]; then
+ checkpath -q -d -o ${filter_user}:${filter_user} -m 0755 ${socket_dir} || return 1
+ fi ;;
+ inet:*) ;;
+ *) eerror "Unknown socket spec. Please check your /etc/conf.d/sid-milter file."
+ return 1 ;;
+ esac
+}
+
+
+start() {
+ local filter_user= filter_pid=
+
+ clean_socket
+ parse_opts
+ check_socketdir || return 1
+ if ! (touch ${filter_pid} && chown ${filter_user} ${filter_pid}) ; then
+ eerror "Failed to create pidfile"
+ return 1
+ fi
+
+ ebegin "Starting Sender-ID Filter"
+ start-stop-daemon --start --exec /usr/bin/sid-filter -- ${SID_FILTER_OPTS}
+ eend $?
+}
+
+stop() {
+ local filter_user= filter_pid=
+
+ parse_opts
+
+ ebegin "Stopping Sender-ID Filter"
+ start-stop-daemon --stop --quiet --name sid-filter --pidfile ${filter_pid}
+ eend $?
+
+ if [ $? = 0 -a -f "${filter_pid}" ]; then
+ rm ${filter_pid}
+ fi
+}
diff --git a/mail-filter/sid-milter/files/sid-milter-1.0.0-as-needed.patch b/mail-filter/sid-milter/files/sid-milter-1.0.0-as-needed.patch
new file mode 100644
index 000000000000..365604f721f6
--- /dev/null
+++ b/mail-filter/sid-milter/files/sid-milter-1.0.0-as-needed.patch
@@ -0,0 +1,21 @@
+diff -Nru sid-milter-1.0.0.orig/devtools/M4/UNIX/defines.m4 sid-milter-1.0.0/devtools/M4/UNIX/defines.m4
+--- sid-milter-1.0.0.orig/devtools/M4/UNIX/defines.m4 2006-10-06 07:44:44.000000000 +0200
++++ sid-milter-1.0.0/devtools/M4/UNIX/defines.m4 2009-07-08 17:11:06.000000000 +0200
+@@ -26,7 +26,7 @@
+ CCLINK = ifdef(`confCCLINK', `confCCLINK', `confCC')
+ # Linker for libraries
+ LD= ifdef(`confLD', `confLD', `confCC')
+-LDOPTS= ifdef(`confLDOPTS', `confLDOPTS') ifdef(`confMT', ifdef(`confMTLDOPTS', `confMTLDOPTS', `'), `')
++LDOPTS= ifdef(`confLDOPTS', `confLDOPTS')
+ LDOPTS_SO= ${LDOPTS} ifdef(`confLDOPTS_SO', `confLDOPTS_SO', `-shared')
+
+ # Shell
+@@ -71,7 +71,7 @@
+ LIBADD= ifdef(`conf_'bldCURRENT_PRD`_LIBS', `conf_'bldCURRENT_PRD`_LIBS')
+
+ # libraries required on your system
+-LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST')
++LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST') ifdef(`confMT', ifdef(`confMTLDOPTS', `confMTLDOPTS', `'), `')
+
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR= ifdef(`confMBINDIR', `confMBINDIR', `/usr/sbin')
diff --git a/mail-filter/sid-milter/files/sid-milter-1.0.0-nopra_on_spf1.patch b/mail-filter/sid-milter/files/sid-milter-1.0.0-nopra_on_spf1.patch
new file mode 100644
index 000000000000..868a2d9ecd55
--- /dev/null
+++ b/mail-filter/sid-milter/files/sid-milter-1.0.0-nopra_on_spf1.patch
@@ -0,0 +1,57 @@
+diff -Nru sid-milter-1.0.0.orig/sid-filter/sid-filter.c sid-milter-1.0.0/sid-filter/sid-filter.c
+--- sid-milter-1.0.0.orig/sid-filter/sid-filter.c 2009-03-08 09:51:00.000000000 +0000
++++ sid-milter-1.0.0/sid-filter/sid-filter.c 2009-03-08 16:29:24.000000000 +0000
+@@ -1279,30 +1279,35 @@
+ switch (scope)
+ {
+ case SM_SCOPE_PRA:
+-#ifdef _FFR_NH_MFROM
+- if ((strncasecmp(mreplies[rcount],
+- "spf2.0/pra",
+- 10) == 0) ||
+- (strncasecmp(mreplies[rcount],
+- "spf2.0/mfrom,pra",
+- 16) == 0))
+-#else /* _FFR_NH_MFROM */
+- if (strncasecmp(mreplies[rcount],
+- "spf2.0/pra", 10) == 0)
+-#endif /* _FFR_NH_MFROM */
++ if ((
++ (strncasecmp(mreplies[rcount],
++ "spf2.0/pra",
++ 10) == 0) ||
++ (strncasecmp(mreplies[rcount],
++ "spf2.0/mfrom,pra",
++ 16) == 0)) &&
++ (strncasecmp(policy,
++ "spf2.0/",
++ 7) != 0))
+ {
+ sm_strlcpy(policy,
+ mreplies[rcount],
+ sizeof policy);
+ }
+- else if (!nopraspf1 &&
+- (strncasecmp(mreplies[rcount],
+- "v=spf1", 6) == 0) &&
+- policy[0] == '\0')
++ else if (strncasecmp(mreplies[rcount],
++ "v=spf1", 6) == 0)
+ {
+- sm_strlcpy(policy,
+- mreplies[rcount],
+- sizeof policy);
++ if (nopraspf1)
++ {
++ memset(mreplies[rcount], '\0',
++ sizeof mreplies[rcount]);
++ }
++ else if (policy[0] == '\0')
++ {
++ sm_strlcpy(policy,
++ mreplies[rcount],
++ sizeof policy);
++ }
+ }
+ break;
+
diff --git a/mail-filter/sid-milter/metadata.xml b/mail-filter/sid-milter/metadata.xml
new file mode 100644
index 000000000000..3586383a137f
--- /dev/null
+++ b/mail-filter/sid-milter/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription>A milter-based application that implements and enforces
+the merged Caller-ID/SPF specification from the IETF MARID working group,
+currently dubbed "Sender-ID"</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">sid-milter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/sid-milter/sid-milter-1.0.0-r6.ebuild b/mail-filter/sid-milter/sid-milter-1.0.0-r6.ebuild
new file mode 100644
index 000000000000..8fbd47db0f8a
--- /dev/null
+++ b/mail-filter/sid-milter/sid-milter-1.0.0-r6.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils toolchain-funcs user
+
+DESCRIPTION="A milter-based application to provide Sender-ID verification service"
+HOMEPAGE="https://sourceforge.net/projects/sid-milter/"
+SRC_URI="mirror://sourceforge/sid-milter/${P}.tar.gz"
+
+LICENSE="Sendmail-Open-Source"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="ipv6"
+
+DEPEND="dev-libs/openssl
+ >=sys-libs/db-3.2
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}
+ sys-apps/openrc"
+
+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() {
+ epatch "${FILESDIR}"/${P}-nopra_on_spf1.patch
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+
+ local CC="$(tc-getCC)"
+ local ENVDEF=""
+ use ipv6 && ENVDEF="${ENVDEF} -DNETINET6"
+ sed -e "s:@@CC@@:${CC}:" \
+ -e "s:@@CFLAGS@@:${CFLAGS}:" \
+ -e "s:@@LDFLAGS@@:${LDFLAGS}:" \
+ -e "s:@@ENVDEF@@:${ENVDEF}:" \
+ "${FILESDIR}/gentoo-config.m4" > "${S}/devtools/Site/site.config.m4" \
+ || die "failed to generate site.config.m4"
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ dodir /usr/bin
+ emake -j1 DESTDIR="${D}" SUBDIRS=sid-filter \
+ SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
+ install
+
+ newinitd "${FILESDIR}/sid-filter.init-r1" sid-filter
+ newconfd "${FILESDIR}/sid-filter.conf" sid-filter
+
+ # man build is broken; do man page installation by hand
+ doman */*.8
+
+ # some people like docs
+ dodoc RELEASE_NOTES *.txt sid-filter/README
+}
diff --git a/mail-filter/sid-milter/sid-milter-1.0.0-r7.ebuild b/mail-filter/sid-milter/sid-milter-1.0.0-r7.ebuild
new file mode 100644
index 000000000000..44343e54c357
--- /dev/null
+++ b/mail-filter/sid-milter/sid-milter-1.0.0-r7.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs user
+
+DESCRIPTION="A milter-based application to provide Sender-ID verification service"
+HOMEPAGE="https://sourceforge.net/projects/sid-milter/"
+SRC_URI="mirror://sourceforge/sid-milter/${P}.tar.gz"
+
+LICENSE="Sendmail-Open-Source"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ipv6 libressl"
+
+DEPEND="
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ >=sys-libs/db-3.2:*
+ || ( mail-filter/libmilter mail-mta/sendmail )"
+RDEPEND="${DEPEND}
+ sys-apps/openrc"
+
+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() {
+ epatch "${FILESDIR}"/${P}-nopra_on_spf1.patch
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+
+ local CC="$(tc-getCC)"
+ local ENVDEF=""
+ use ipv6 && ENVDEF="${ENVDEF} -DNETINET6"
+ sed -e "s:@@CC@@:${CC}:" \
+ -e "s:@@CFLAGS@@:${CFLAGS}:" \
+ -e "s:@@LDFLAGS@@:${LDFLAGS}:" \
+ -e "s:@@ENVDEF@@:${ENVDEF}:" \
+ "${FILESDIR}/gentoo-config.m4" > "${S}/devtools/Site/site.config.m4" \
+ || die "failed to generate site.config.m4"
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ dodir /usr/bin
+ emake -j1 DESTDIR="${D}" SUBDIRS=sid-filter \
+ SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
+ install
+
+ newinitd "${FILESDIR}/sid-filter.init-r1" sid-filter
+ newconfd "${FILESDIR}/sid-filter.conf" sid-filter
+
+ # man build is broken; do man page installation by hand
+ doman */*.8
+
+ # some people like docs
+ dodoc RELEASE_NOTES *.txt sid-filter/README
+}
diff --git a/mail-filter/sieve-connect/Manifest b/mail-filter/sieve-connect/Manifest
new file mode 100644
index 000000000000..18bc59841060
--- /dev/null
+++ b/mail-filter/sieve-connect/Manifest
@@ -0,0 +1,5 @@
+DIST sieve-connect-0.87.tar.bz2 40023 SHA256 e3de80ab34994de0277fc7bf53b7c08e82db1a1f2762ddac4311d8191cea6c49 SHA512 28ed4f5cd929ee5edb420afcbac238399463beecf551643b9ee5ea41debbb1e5401a619b39b6422ec47885ea3cc207866e09da2e46a65bcc3d4f3ca5bdbf016a WHIRLPOOL 73e05f2829ad9d16e414ae5578cb02e2ec1f654fdb8c355daa4339849fefb7d5a302115dd67cab78c82e6a93bd282f6f0889cdbcf19d2dac4ed702cbf909ecd8
+EBUILD sieve-connect-0.87.ebuild 710 SHA256 9974937498ae5330463bc33d836a1c7a434742aa7eed75a92b650bb6de8e653f SHA512 bf9859221f806e7fd4d8f199cf3159e8934f57cd5cae4ebdc8f706e2588115099f9d73185e86ea3067e3266c1fcf8f22ad6c79616d9b288fad84c93097e15d1f WHIRLPOOL 9a29059c56a9fb2e85e0c51b09dee636bf38fe57b331d1448c51d1ebcafcca4fb93b351c8ebb9704d2131d402f9fd824d95650e21bf73a72bd97f9da84ba4df7
+MISC ChangeLog 2541 SHA256 85f91ed8a27b4620eaf6b231ae07330fb7caac9fb5525d0c6cb651e4ada32448 SHA512 39e683ee0d89194a9298fb7e8ceb31d6b22b9db27a5cc4cd99c84e3084d1c76185a828451fec5d804cb628fce90849a8d56be0f3951ba7930e1dc33e058f7a92 WHIRLPOOL 8b199a7671c46fd2c54ede3c14b183d2308c04c0dd46e0ea9798b13d4952767081c0ce91739312b154d961824df09d4b3699b2e48caf3ef8382510b5da7b3b18
+MISC ChangeLog-2015 1278 SHA256 b35c1c5134e3ff12c27cf8bfda67e3fc31b5a975f9bcd610228b51b8137fd1aa SHA512 1aa489baf2f110eadb415252d67d0a0a76e4d1da00260b8b25af5176d37b31c832ac1795988f7791b10ebbaaefd8f4be59baca89c287d025e5c35f6881e95566 WHIRLPOOL db51117bd7959938182105b1d3b7ba7f878f6e5999e782c4ca8c42fc9a02c658e85f19f21c929c238149b3f9949ef86be1f6dddd6fb4a8fd38a95d72cd10aece
+MISC metadata.xml 2017 SHA256 10a7fa53983aee80d93c05e92457f164aff6c6b45e994590f926ea124696ee3f SHA512 76eecd2659b89c420e34f21244ce33927d2f438e5f3292a30da4e9d4eb968a13af4c51f81e3e4fa2d20345ac2798a9172be7e5bc5ddf07187ae4b032986473d3 WHIRLPOOL e63934eb9791469ce47e83983861bd17df564bfc3df114c54ec23a296937e420f002462c1887708d6b3b3987a53d1eb5411d9a70b1da1ed6ea57a453ad64c375
diff --git a/mail-filter/sieve-connect/metadata.xml b/mail-filter/sieve-connect/metadata.xml
new file mode 100644
index 000000000000..39c19c09f975
--- /dev/null
+++ b/mail-filter/sieve-connect/metadata.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ This is sieve-connect. A client for the ManageSieve protocol,
+ as specifed in RFC 5804. Historically, this was MANAGESIEVE as
+ implemented by timsieved in Cyrus IMAP. This software is licensed
+ and the terms are provided in the file "LICENSE" as supplied
+ with this software (BSD license without the advertising clause).
+
+ SIEVE is an RFC-specified language for mail filtering, which at
+ time of writing is specified in a list of RFCs at the end of this
+ document, plus various drafts, both IETF and individual submissions.
+ It's designed to be regular enough for machines to be able to
+ manipulate, whilst still being editable by humans. Alas, not many
+ clients actually implement this instead of embedding their own
+ internal codes in sieve comments, defeating the goal of being able
+ to edit with a client of your choice.
+
+ This is not yet fully compatible with RFC 5804, but is moving
+ towards that from the timsieved baseline; some issues to be
+ worked on are documented in the "TODO" file.
+
+ sieve-connect speaks ManageSieve and supports TLS for connection
+ privacy and also authentication if using client certificates.
+ sieve-connect will use SASL authentication; SASL integrity layers
+ are not supported, use TLS instead. GSSAPI-based authentication
+ should generally work, provided that client and server can use a
+ common underlaying protocol. If it doesn't work for you, please
+ report the issue.
+
+ sieve-connect is designed to be both a tool which can be invoked
+ from scripts and also a decent interactive client. It should also
+ be a drop-in replacement for "sieveshell", as supplied with Cyrus
+ IMAP.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/syscomet/sieve-connect/issues</bugs-to>
+ <remote-id type="github">syscomet/sieve-connect</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/sieve-connect/sieve-connect-0.87.ebuild b/mail-filter/sieve-connect/sieve-connect-0.87.ebuild
new file mode 100644
index 000000000000..fb4e8756c0ad
--- /dev/null
+++ b/mail-filter/sieve-connect/sieve-connect-0.87.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Sieve Command Line Interface"
+HOMEPAGE="http://people.spodhuis.org/phil.pennock/software/"
+SRC_URI="https://github.com/syscomet/sieve-connect/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=dev-lang/perl-5"
+RDEPEND="${DEPEND}
+ >=dev-perl/Authen-SASL-2.11
+ dev-perl/IO-Socket-INET6
+ >=dev-perl/IO-Socket-SSL-0.97
+ dev-perl/Net-DNS
+ dev-perl/Net-SSLeay
+ dev-perl/TermReadKey
+ dev-perl/Term-ReadLine-Gnu"
+
+src_compile() {
+ emake all sieve-connect.1
+}
+
+src_install() {
+ dobin sieve-connect
+ doman sieve-connect.1
+ dodoc README*
+}
diff --git a/mail-filter/sigh/Manifest b/mail-filter/sigh/Manifest
new file mode 100644
index 000000000000..34cbe923d340
--- /dev/null
+++ b/mail-filter/sigh/Manifest
@@ -0,0 +1,5 @@
+AUX sigh.initd 485 SHA256 f74c9e821b15eef4a980a2fd5a793862ee9c340be0527ccebe386598b6b05bd4 SHA512 34e1cc17fdc09ad0377604c951cc85682f56ed4a2a2f6f396d2e4d30777fa1bb8ddf693487eb100ff45fe15612bb68ba641eca3c28008431649b7f980cb3fec0 WHIRLPOOL 45968248a2cbf7ade2d6d44cb668b1e8070a8ab299a3025e3ccca85362cb19ac90bb184891ebabc1267b981bb0d5604b3efacb178d26996acaabb99afda44a1d
+DIST sigh-1607.1.2.tar.gz 57662 SHA256 7f25e8a8d9b586e97251d443700d5001ccd78a9bafda98ed19ef8cc3cc58ac2c SHA512 410883b55072b6476fc454440cf5f0e048587853a5095fddd7870b0efb5eca82e257f34ddef821f1a1968e1859207e7972e645922675fddaa2bf05b314bf5f60 WHIRLPOOL 0ec77f65660fde0c9ff57679bd21e35490cbdf0780e65db5f0422b534f6ffa319a5946ae99cd91b45d1c8010b5fa1ec88935e7a1556df8542dd4f2050d667686
+EBUILD sigh-1607.1.2.ebuild 824 SHA256 1eebf5fab45e1697b7d263174093fa7635b1a2754d2ac9e5637ce7f2afa561ab SHA512 c53474a0a48bd3e3fc26874da3896bd2282de2b4a2365b69b6a1ec8eda87b6fb0592767899859dacb84d367cf06557c30c08c6f61f65fffb666b600cf9150203 WHIRLPOOL c8e379b74ec3c7f58f244e4624b1964962ea478e045cb2654e468baa4c850b2ba8e3356d8d673e29462215c1b2f0d3f53ddc3759a93246147c91b396a52ccc1c
+MISC ChangeLog 328 SHA256 a5c525133dfcbb79c41798c005650ccfefaae190aa8b6ece71aef6629cb22abf SHA512 5cd736549c704446f191046c96abcd7780ff19c458fd4958ba5a1982caa3f6ed159f95f6ad1b7084f2a18e907369b3e11a4ba40a8f75269c2f0e5313a09cde54 WHIRLPOOL 1ce6256e53c1e08a3c23693bf400aa134af55e6928c95944b06a7691b9395fda2ba4194c4a63171af85bf6c45d4a9b4cfac7ef781edc1927ec1b04d7981252dc
+MISC metadata.xml 693 SHA256 3c2629f6f35081fe66023f3c4ff26b32650823b35056d1e0bb103daa98c1c632 SHA512 de75131c56bee1d6a6f59256e11b464092598e13b02032573970302c14cc7233aff1431e12893d451914d5a71d27fa27c4f3591794d84f4b15ab08d6189d66d3 WHIRLPOOL 35c2bd79d3ee023155aa617f0345871ff6c3d3858fbd65e72cba4bae0f4d5d8ccfc7085ac4d38dac602be446daa69715cbab53e4f07f71089d0bbe7769db4d58
diff --git a/mail-filter/sigh/files/sigh.initd b/mail-filter/sigh/files/sigh.initd
new file mode 100755
index 000000000000..8fe64679bab1
--- /dev/null
+++ b/mail-filter/sigh/files/sigh.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDDIR="/run/${SVCNAME}"
+
+description="Sigh is a milter that signs emails with S/MIME"
+name="S/MIME signing milter"
+pidfile="${PIDDIR}/${SVCNAME}.pid"
+command="/usr/sbin/sigh"
+command_args="-p ${pidfile} ${OPTIONS}"
+retry="30"
+
+depend() {
+ need localmount net
+ use mta logger
+}
+
+start_pre() {
+ checkpath -q -d -o sigh:sigh -m 0755 "${PIDDIR}" || return 1
+}
+
diff --git a/mail-filter/sigh/metadata.xml b/mail-filter/sigh/metadata.xml
new file mode 100644
index 000000000000..f01f34351493
--- /dev/null
+++ b/mail-filter/sigh/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>c@roessner.co</email>
+ <name>Christian Roessner</name>
+ <description>Proxied maintainer; set to assignee in all bugs</description>
+ </maintainer>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ <description>Proxy maintainer; CC him on bugs</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">croessner/sigh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/sigh/sigh-1607.1.2.ebuild b/mail-filter/sigh/sigh-1607.1.2.ebuild
new file mode 100644
index 000000000000..04b2490222d7
--- /dev/null
+++ b/mail-filter/sigh/sigh-1607.1.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils user
+
+DESCRIPTION="S/MIME signing milter"
+HOMEPAGE="https://signing-milter.org/"
+SRC_URI="https://github.com/croessner/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="mail-filter/libmilter
+ dev-libs/boost
+ dev-libs/openssl:0"
+DEPEND="${RDEPEND}"
+
+DOCS=( README README.build AUTHORS LICENSE )
+CMAKE_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ enewgroup sigh
+ enewuser sigh -1 -1 /var/lib/sigh sigh
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ dodoc "${DOCS[@]}"
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+}
diff --git a/mail-filter/spamass-milter/Manifest b/mail-filter/spamass-milter/Manifest
new file mode 100644
index 000000000000..2fc43ac94bb8
--- /dev/null
+++ b/mail-filter/spamass-milter/Manifest
@@ -0,0 +1,9 @@
+AUX README.gentoo 1680 SHA256 3ae980f0f8f6c82e2ae8a0677751275e0467e9c1f33b1a835a964a2ee3e80bbf SHA512 03e2c067fff97c0aabdca1c47011df72ca0671969980df95d34fb7a519fe16755359bbb72ce33d64430dbdb986a6d2e719451b38288df717ac8378a89cb16b2b WHIRLPOOL e8fede7062bf5d9d54ebcc690155d58ee15354ca5f002295994f0b2796f3dd0f3fb9dba909a802abf0fae37b3ac8dfbf925856f73185f1bac408930b667edc9a
+AUX spamass-milter-auth_users.patch 3570 SHA256 7838552434d4da78bf33d3ce1f21243adcf1df5b1bd39f9550d2453c832049b9 SHA512 d941af831410142de5d445aa188f3736f29ddad1e722c71c66578c7f01e55617729aefc1d50f09ecadf6a71a1f16f7530456da8b0f1c484bb50ada12702bb130 WHIRLPOOL 7a62317194cec9277d4d8ddefd874e6357a46d00189aa96431ae22496dd0b4518617a41276aa6ddd7c0f82d2180b1959154007ec0ce0bda6dff4ebdecd3960f6
+AUX spamass-milter.conf3 763 SHA256 4d180cd78bb51af81c4eb5cde409c6bcfd51510c41b64c83dd7dfc9b8817f862 SHA512 35b44ad73f29135259fc6546e3823374a59a607eff7e45b835ac2ab6491000e2d2b44105d4f8fa164512b887de242fe59b0351c53deab41bf2de9f6a5e3aaca9 WHIRLPOOL 022b5bdbea44ba09cc73fb12337a7d4ca1d93d7ca3c699f28aca12cf58d9eeec4993774086ad9915cb201294fcb827174fca1de0c49648a0cbe9896a1181796f
+AUX spamass-milter.rc4 1323 SHA256 682bd765da091d33445a226f49dce6a5de9e4d0e8d8ffb1ccf76b34eaaa74b51 SHA512 dae8b53478302a4001e86222406716f1f77f61252ecfb693b94722e2c7f623bef9b4204261168228a16f0bf24e994e02ebfb97925ed133c92930720d0b63d140 WHIRLPOOL e02cbecb1203985c25a360b7f064e0e635e636773a4cd42d8310778222ad014ba4f680cc6c88dd366811d934ab966df01c256084b534940e460144b9f7157d60
+DIST spamass-milter-0.3.2.tar.bz2 125350 SHA256 ba2eb8c9e4c50307ffae38bb06444b9830695e742e9fd8c9da40953e7e1d830b SHA512 19279c53c8af738fbdd796e3aa382754474fc8c2ed17a3f857906d61740aefbd30f4759952fc1aaeff31af492fa8782363cbaac8ea1f389b4e2c1237226086d8 WHIRLPOOL e7e9df528b12a1b9b29f1ace8c2d0e7398806aac0ca148ee74f68fa0c2a86240578e36e8d20a21279159ccbef3f651ec27eb2286351f0396014ad4fce5fb6c87
+EBUILD spamass-milter-0.3.2.ebuild 950 SHA256 03c03db81eb47d15e28ff2129ef9c859b87c43cc40850a4532a505b3b84e592b SHA512 ea62739644628c23d6ff6e02c0a9cde881a0e7de42028f9c8ccfbf0d8f24a83041c076ffc4ab5ae068b12d8c68ee31a6027ef44580742b3c4be66183906b181e WHIRLPOOL 845eeae79edb5a898435b3de7170d8468ea91c9d06f6f7d4e3a0b3f3fda85758375e136be13a36db894e18f4c2b55ea7214cf8c88e209875ee74f7ed95f68194
+MISC ChangeLog 2821 SHA256 6ca4c2abe7b3da7dc2231684041dcab7dbeebfb1c93bb83af81a0bce3d375833 SHA512 d4faef8fb99a05c9db6d9ea6bd4fbe87a052452638ba29dbae16b6b1444788f1a404861389dfe688a8cce9039f3570e76ca2f310f54dca4d09dab2eb6f3e706a WHIRLPOOL 58acbd1406c85581adbdd57c7a1d8c15bfbf551c8e312160bf31bc9774d8c25521be8731441355b45113e454b450cda943495cd8bbe05f15638b66a70025cb53
+MISC ChangeLog-2015 6150 SHA256 997e480da62074e66f37eb8465610bb87f5df99080bf49e2b38837adbeb7bfd1 SHA512 2576bcc883b73ffd44243356aa57421368c0636123c43bdcdd8d0a6d75135ceb27ed65c5cc42eb518629745fb89b9652c340a2b2b772b56d094128a32a005ae8 WHIRLPOOL 84bcd0383c87eff683eb2f8665e10a5a97a86f5a2ffa22584c0a21888377271917f7053ae8aad3e1f990f29d8e9f4e51925c0d45ad711c14a80c2e986341805c
+MISC metadata.xml 244 SHA256 856e819659934229aa18649e0c783b9714fa33065cb5113e7b667ed68392b39a SHA512 0e856f808459b6d83c6eaeee418d87d85385968a39e6c1871a0eb76c04b533bbba16996a6f18613b7c550da90c76843bd01237be9b9f290394048e904535653c WHIRLPOOL 2aa292ef66863766df8920a2ebd497218854f9a41724cdef1d63a93c94620fbea641a688af2bb374673773dd5b1b8afff80867c974f49d5600991ab44f9b8752
diff --git a/mail-filter/spamass-milter/files/README.gentoo b/mail-filter/spamass-milter/files/README.gentoo
new file mode 100644
index 000000000000..49035c0ac5a5
--- /dev/null
+++ b/mail-filter/spamass-milter/files/README.gentoo
@@ -0,0 +1,52 @@
+Simple install instructions by raker @ g.o
+updates by gustavoz
+updates by SteveB
+---------------------------------------------------------------
+
+For Sendmail:
+-------------
+Add these lines in /etc/mail/sendmail.mc before MAILER(local):
+INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
+define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}')dnl
+define(`confMILTER_MACROS_ENVRCPT',`r, v, Z')
+
+When that's done run this command:
+ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
+
+Restart associated services:
+ /etc/init.d/sendmail stop
+ /etc/init.d/spamass-milter start
+ /etc/init.d/sendmail start
+
+OPTIONAL: To run it automatically after booting:
+ rc-update add spamass-milter default
+ rc-update add sendmail default
+
+
+For Postfix >= 2.3.0 and < 2.4.0:
+---------------------------------
+Add those lines to /etc/postfix/main.cf:
+smtpd_milters = unix:/var/run/milter/spamass-milter.sock
+milter_end_of_data_macros = b i j _ {daemon_name} {if_name} {if_addr} {mail_addr}
+milter_default_action = accept
+
+Change in /etc/conf.d/spamass-milter the socket group owner to mail:
+SOCKET_GROUP="mail"
+
+Change in /etc/conf.d/spamass-milter the options for spamass-milter to include "-m":
+OPTIONS="${OPTIONS} -m"
+
+Restart associated services:
+ /etc/init.d/postfix stop
+ /etc/init.d/spamass-milter start
+ /etc/init.d/postfix start
+
+OPTIONAL: To run it automatically after booting:
+ rc-update add spamass-milter default
+ rc-update add postfix default
+
+
+For Postfix >= 2.4.0:
+---------------------
+Same settings as for Postfix >= 2.3.0 (see above) but you can now use the option "-m"
+in /etc/conf.d/spamass-milter.
diff --git a/mail-filter/spamass-milter/files/spamass-milter-auth_users.patch b/mail-filter/spamass-milter/files/spamass-milter-auth_users.patch
new file mode 100644
index 000000000000..8bfc24e4306f
--- /dev/null
+++ b/mail-filter/spamass-milter/files/spamass-milter-auth_users.patch
@@ -0,0 +1,92 @@
+Based on the debian patch:
+http://patch-tracker.debian.org/patch/series/view/spamass-milter/0.3.1-10/10_dont_handle_authenticated_users.diff
+
+--- spamass-milter.cpp 2011-06-08 11:56:33.000000000 +0000
++++ spamass-milter.cpp 2011-06-08 12:04:41.000000000 +0000
+@@ -170,6 +170,7 @@
+ bool flag_full_email = false; /* pass full email address to spamc */
+ bool flag_expand = false; /* alias/virtusertable expansion */
+ bool warnedmacro = false; /* have we logged that we couldn't fetch a macro? */
++bool ignore_authenticated_senders = false;
+
+ #if defined(__FreeBSD__) /* popen bug - see PR bin/50770 */
+ static pthread_mutex_t popen_mutex = PTHREAD_MUTEX_INITIALIZER;
+@@ -181,7 +182,7 @@
+ main(int argc, char* argv[])
+ {
+ int c, err = 0;
+- const char *args = "fd:mMp:P:r:u:D:i:b:B:e:x";
++ const char *args = "fd:mMp:P:r:u:D:i:Ib:B:e:x";
+ char *sock = NULL;
+ bool dofork = false;
+ char *pidfilename = NULL;
+@@ -213,6 +214,10 @@
+ debug(D_MISC, "Parsing ignore list");
+ parse_networklist(optarg, &ignorenets);
+ break;
++ case 'I':
++ debug(D_MISC, "Ignore authenticated senders");
++ ignore_authenticated_senders = true;
++ break;
+ case 'm':
+ dontmodifyspam = true;
+ smfilter.xxfi_flags &= ~SMFIF_CHGBODY;
+@@ -280,7 +285,7 @@
+ cout << PACKAGE_NAME << " - Version " << PACKAGE_VERSION << endl;
+ cout << "SpamAssassin Sendmail Milter Plugin" << endl;
+ cout << "Usage: spamass-milter -p socket [-b|-B bucket] [-d xx[,yy...]] [-D host]" << endl;
+- cout << " [-e defaultdomain] [-f] [-i networks] [-m] [-M]" << endl;
++ cout << " [-e defaultdomain] [-f] [-i networks] [-I] [-m] [-M]" << endl;
+ cout << " [-P pidfile] [-r nn] [-u defaultuser] [-x]" << endl;
+ cout << " [-- spamc args ]" << endl;
+ cout << " -p socket: path to create socket" << endl;
+@@ -294,6 +299,7 @@
+ cout << " -f: fork into background" << endl;
+ cout << " -i: skip (ignore) checks from these IPs or netblocks" << endl;
+ cout << " example: -i 192.168.12.5,10.0.0.0/8,172.16.0.0/255.255.0.0" << endl;
++ cout << " -I: skip (ignore) checks if sender is authenticated" << endl;
+ cout << " -m: don't modify body, Content-type: or Subject:" << endl;
+ cout << " -M: don't modify the message at all" << endl;
+ cout << " -P pidfile: Put processid in pidfile" << endl;
+@@ -783,6 +789,22 @@
+ }
+ /* debug(D_ALWAYS, "ZZZ got private context %p", sctx); */
+
++ if (ignore_authenticated_senders)
++ {
++ char *auth_authen;
++
++ auth_authen = smfi_getsymval(ctx, "{auth_authen}");
++ debug(D_MISC, "auth_authen=%s", auth_authen ?: "<unauthenticated>");
++
++ if (auth_authen)
++ {
++ debug(D_MISC, "sender authenticated (%s) - accepting message",
++ auth_authen);
++ debug(D_FUNC, "mlfi_envfrom: exit ignore");
++ return SMFIS_ACCEPT;
++ }
++ }
++
+ debug(D_FUNC, "mlfi_envfrom: enter");
+ try {
+ // launch new SpamAssassin
+--- spamass-milter.1.in 2011-06-08 12:05:35.000000000 +0000
++++ spamass-milter.1.in 2011-06-08 12:06:57.000000000 +0000
+@@ -14,6 +14,7 @@
+ .Op Fl e Ar defaultdomain
+ .Op Fl f
+ .Op Fl i Ar networks
++.Op Fl I
+ .Op Fl m
+ .Op Fl M
+ .Op Fl P Ar pidfile
+@@ -119,6 +120,8 @@
+ flags will append to the list.
+ For example, if you list all your internal networks, no outgoing emails
+ will be filtered.
++.It Fl I
++Ignores messages if the sender has authenticated via SMTP AUTH.
+ .It Fl m
+ Disables modification of the
+ .Ql Subject:
diff --git a/mail-filter/spamass-milter/files/spamass-milter.conf3 b/mail-filter/spamass-milter/files/spamass-milter.conf3
new file mode 100644
index 000000000000..6cdbc1e4dd73
--- /dev/null
+++ b/mail-filter/spamass-milter/files/spamass-milter.conf3
@@ -0,0 +1,29 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+DAEMON=/usr/sbin/spamass-milter
+SOCKET=/var/run/milter/spamass-milter.sock
+PIDFILE=/var/run/milter/spamass-milter.pid
+
+# User owning the socket
+SOCKET_USER="milter"
+
+# Group owning the socket
+# Note: Change this to mail if you run Postfix
+SOCKET_GROUP="milter"
+
+# Permission for the socket
+SOCKET_MODE="664"
+
+# spamass-milter options
+OPTIONS=""
+
+# Example: Reject mails above score 20
+#OPTIONS="${OPTIONS} -r 20"
+
+# Example: Do not modify mail body
+# NOTE: This needs to be enabled if you use Postfix >= 2.3.0 and < 2.4.0
+#OPTIONS="${OPTIONS} -m"
+
+# Example: Pass the remaining flags to spamc
+#OPTIONS="${OPTIONS} -- --headers --username spamc"
diff --git a/mail-filter/spamass-milter/files/spamass-milter.rc4 b/mail-filter/spamass-milter/files/spamass-milter.rc4
new file mode 100644
index 000000000000..9688501bcd93
--- /dev/null
+++ b/mail-filter/spamass-milter/files/spamass-milter.rc4
@@ -0,0 +1,54 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net spamd
+ use logger
+ before mta
+}
+
+piddir=${PIDFILE%/*}
+socketdir=${SOCKET%/*}
+
+checkconfig() {
+ if [ ! -d ${piddir:=/var/run/milter} ]; then
+ checkpath -q -d -o milter:milter -m 0755 ${piddir} || return 1
+ fi
+ if [ ! -d ${socketdir:=/var/run/milter} ]; then
+ checkpath -q -d -o ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} \
+ -m 0755 ${socketdir} || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting spamass-milter"
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} -u ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} \
+ --exec ${DAEMON} -- -P ${PIDFILE} -p ${SOCKET} -f ${OPTIONS}
+ eend $? "Failed to start ${DAEMON}"
+ spamass_timeout=0
+ while [ $spamass_timeout -le 20 ]
+ do
+ if [ ! -S "${SOCKET}" -o ! -r "${SOCKET}" ]
+ then
+ sleep 1
+ spamass_timeout=$(( $spamass_timeout+1 ))
+ else
+ break
+ fi
+ done
+ echo $spamass_timeout
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${SOCKET} 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${SOCKET} 1>/dev/null 2>&1
+}
+
+stop() {
+ ebegin "Stopping spamass-milter"
+ start-stop-daemon --stop --quiet --pidfile ${PIDFILE} &&
+ {
+ sleep 5
+ rm -f ${SOCKET}
+ }
+ eend $? "Failed to stop ${DAEMON}"
+}
diff --git a/mail-filter/spamass-milter/metadata.xml b/mail-filter/spamass-milter/metadata.xml
new file mode 100644
index 000000000000..1c3bc7b3fcef
--- /dev/null
+++ b/mail-filter/spamass-milter/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild b/mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild
new file mode 100644
index 000000000000..0cc66a15a34c
--- /dev/null
+++ b/mail-filter/spamass-milter/spamass-milter-0.3.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils user
+
+IUSE=""
+
+DESCRIPTION="A milter for SpamAssassin"
+HOMEPAGE="https://savannah.nongnu.org/projects/spamass-milt/"
+SRC_URI="https://savannah.nongnu.org/download/spamass-milt/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+DEPEND="|| ( mail-filter/libmilter mail-mta/sendmail )
+ >=mail-filter/spamassassin-3.1.0"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ enewgroup milter
+ enewuser milter -1 -1 /var/lib/milter milter
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-auth_users.patch
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}"/spamass-milter.rc4 spamass-milter
+ newconfd "${FILESDIR}"/spamass-milter.conf3 spamass-milter
+ dodir /var/lib/milter
+ keepdir /var/lib/milter
+ fowners milter:milter /var/lib/milter
+
+ dodoc AUTHORS NEWS README ChangeLog "${FILESDIR}/README.gentoo"
+}
diff --git a/mail-filter/spamassassin-botnet/Manifest b/mail-filter/spamassassin-botnet/Manifest
new file mode 100644
index 000000000000..acb99cb830cb
--- /dev/null
+++ b/mail-filter/spamassassin-botnet/Manifest
@@ -0,0 +1,5 @@
+DIST Botnet-0.8.tar 81920 SHA256 f07cef396302e07cdbbdd2289d4433cde661973eeae5095d94dbff361b414c0b SHA512 4108efab3062a7e35cb008875d438cd079aa46ab829b5b172463f70537efa6dee41a0226df3a63392f31ae0e2042c851e9585a408b65bab94cb7400a4d9034bb WHIRLPOOL 04ffbeeb71d69b36f222eeebfa40cb08edfc02c9b08e99f47556f1077f82bebed4f5df0baab9de8cffb0368d5d9e4d0ef3f30e5b9a10cc5a2ef39a37e52bdd75
+EBUILD spamassassin-botnet-0.8-r1.ebuild 1088 SHA256 757496a41c974dc983cf9bdd718c82e74e7771080b7172a811d8cb8c4dec9bc2 SHA512 4e5b3bad8d884c0a145458bd4a22d1b84cfb7c0409cdc367853a9ff3f8665fd31d74017641f9edb16e33bbcc7d0d7cf64efce173f596adeffd1e7abccb2b664b WHIRLPOOL 2dbb341b4a6010fac55d85ada1bde3502ce3cd5912e8db0f363cf8c6a59390d133509f58d8e4bef31e53bef60fb276d7bae79f6afec85ab64c75a47a0a8e2957
+MISC ChangeLog 3067 SHA256 9f6343e6cd883f6acb96ed372ac977d235ccf41c3ea5eeace0a6bc9fca78fab1 SHA512 e53c840d620df6763c7e3d610f73d3bd7223264fafe820a795692917e17f7e00c16b503616bea0eae1db1c44b2d314ee08646f610738198c0c05f380e836c506 WHIRLPOOL 4f0627866539def61d0a30354064fdbb64a095d48bb8aaf053cefb7f30bfbbf9f7de613510cccc14decb61d8688d98e3e5dab7e91a701327b1c0bc6e99539f47
+MISC ChangeLog-2015 1088 SHA256 1093c5625900488d8d373563ac858228bbd6e943d3020df0bc6d279796e08f9b SHA512 e9549a101e2ceff436f3247cbe383cfbc239b4b0c6a44aace9d43d66e51198054fc5861ea719729e6be81ea2a0c41e17a29f94921d55e4d9f869cd982956a98b WHIRLPOOL 58f0fdd110518d26024aa973d061cf7b9a486433ccd03bdcaa6a9bd4eca9bd0265e49c63f134d5d8494f91fafa0ee789782b829b23a8e570f0f42ee7fe607f55
+MISC metadata.xml 709 SHA256 355200686bc7e4babc3dfce7c2eda52e937c9737690bbfc252edc60428d89e1b SHA512 b6c00adcd0af32b62ff22b13a6b1f1538e3f138cd98a69ee19be909f77950e98fc8645a4c6962817db254f8bad957ff6c66006f0820550b1b2e398908ce16910 WHIRLPOOL 1cea211a827fd20cfb813d720f207f68d93b70f69c658f803735cafc7e6fa49b2016a5f326cbe4e885c7f321123021bf5463d871d8edc2cac1703107113d2733
diff --git a/mail-filter/spamassassin-botnet/metadata.xml b/mail-filter/spamassassin-botnet/metadata.xml
new file mode 100644
index 000000000000..ae65a5894f82
--- /dev/null
+++ b/mail-filter/spamassassin-botnet/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+</maintainer>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription lang="en">
+A spamassassin that performs DNS validations on the first untrusted relay
+looking for signs of a Botnet infected host, such as no reverse DNS, a
+hostname that would indicate an ISP client or domain workstation, or other
+hosts that aren't intended to be acting as a direct mail submitter outside of
+their own domain.
+</longdescription>
+</pkgmetadata>
diff --git a/mail-filter/spamassassin-botnet/spamassassin-botnet-0.8-r1.ebuild b/mail-filter/spamassassin-botnet/spamassassin-botnet-0.8-r1.ebuild
new file mode 100644
index 000000000000..f4486210f919
--- /dev/null
+++ b/mail-filter/spamassassin-botnet/spamassassin-botnet-0.8-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module
+
+MY_PN="${PN/b/B}"
+MY_PN="${MY_PN/spamassassin-/}"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="SpamAssassin plugin that attempts to detect messages sent by a botnet"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="http://people.ucsc.edu/~jrudd/spamassassin/${MY_P}.tar"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=mail-filter/spamassassin-3.0.0"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+src_compile() {
+ # make sure it doesn't try to look for the .pm in the same dir as the .cf
+ sed -rie 's/^(loadplugin.+)[ ]+Botnet.pm/\1/' Botnet.cf
+}
+
+src_install() {
+ perl_set_version
+
+ local plugin_dir=${VENDOR_LIB}/Mail/SpamAssassin/Plugin
+
+ insinto ${plugin_dir}
+ doins ${MY_PN}.pm
+
+ insinto /etc/mail/spamassassin/
+ doins ${MY_PN}.cf
+
+ dodoc ${MY_PN}{{.{api,credits,variants},}.txt,.pl}
+}
+
+pkg_postinst() {
+ echo
+ elog "You need to restart spamassassin (as root) before this plugin will work:"
+ elog "/etc/init.d/spamd restart"
+ echo
+}
diff --git a/mail-filter/spamassassin/Manifest b/mail-filter/spamassassin/Manifest
new file mode 100644
index 000000000000..5cb2565b3d08
--- /dev/null
+++ b/mail-filter/spamassassin/Manifest
@@ -0,0 +1,23 @@
+AUX 3.4.1-spamd.conf 887 SHA256 bcbe4286ba09af462d14db65930c8f0a9311477d99a030dd36703066ddf4104d SHA512 627b6a4d54adf2feeaaf2197a5193c6f216812eab685ee833bdf4e3d765f40996790c0a4e22ff618d23985053e96a521fb48d19a648ab47ff2b0e9c23621a7e8 WHIRLPOOL 7658ed8e4259014735bae24ccb2ba91dc4c5cc36e1003386cb00cda2720457693e68e0e7ee66609d37488cc5dd66bd63541da41721461c6c7fb3e3f761951bc6
+AUX 3.4.1-spamd.init 1226 SHA256 1b17fdcd10452eea603fc3ed7c14fbcad069fb6b4ae7dda6373d47b6c8a1e737 SHA512 94e7b6cf5867d123fc1252cdb200906da80b2df4563c35d9e28db8bf0a4fac812797ad13c214a6d41bdac4d70d62d3bbcd3990f8405b3585f1a41c4db1f1be48 WHIRLPOOL 5e61bfe6f8977226c8094d0b8788e375379413ee808a9a8828fe1f3b9ef2c42a8795ab282ec5cf096fe857e1e6b99560eaa7fb027e69c3e4e8be8f2ba61cbe49
+AUX 3.4.1-spamd.init-r1 916 SHA256 b8dcf7520283fdd9ff2bb9373e8377bc372d2a4270a4ea100b0ab25a043512bd SHA512 b0b3f4f26cf169232d9c3ce66f865793e93a3513666fd44089d33b2168cc7259eee868cc863e7f78dd790f98823b648bb74ed1580f2d69eb86ef5fa2eb9c6910 WHIRLPOOL 3ab222a93cf84dbaa1b724bbb8a5bc59d570d5dd5c8829794d59f0ccf4e5024a897d3ee78f6891fb491532cc61e7e381c8affab72d48a8df2cf104e0645af9f3
+AUX secrets.cf 664 SHA256 9f134c7b857b21689f612fc6d131f719e5a65e2ba341b282e7aa57402c854139 SHA512 bb6992098a44e16147be46b75b70e3fb81672285dd71a30719606e2cab556720fc9dd318c7a80832ceaf2e6d9c98c2dd7434f48242feede1922c3e1073559edb WHIRLPOOL 1eccfd765106199312fb23581612b810b92fe8cc3e94b9c4964bcf550ac68bab1e88af07d5324a2be11111cf04f941f4bcfe5482bc71c72ef5ab35be53512ebc
+AUX spamassassin-3.4.1-bug_7199.patch 10254 SHA256 860db82d1a75eba09dbd4da1667a3119503d4d92f9f6f72431806af6ebefed96 SHA512 dd9ffaeaea93d03524315f300b5ce8ba8f0fd3f024b391adf8c0d08ab9b07427164c7f9eaea36c603f92643e7523f2683e75cf0c878ff7aa90101e8f0b0976c2 WHIRLPOOL 8789ba559890795065c2da105f06cd61107ab7adb3a3ccf5440524fa375d6783c268c68e1dfb534eb4e4351544d8e3e980f4d254ad93ab390356d60d42251bff
+AUX spamassassin-3.4.1-bug_7223.patch 526 SHA256 9d44a97b05048c2738f14176e56d22cea4793c37d4724cfa073c9f055c9c94c0 SHA512 52949d391400582af028dfcfdbf1a781f6cbfe5bdd9125bfa4347f9ab0a4b596e3fa86ff112bf7a7992d0a0f619f686a533792b2d00d69aaf94ae678ba429d0b WHIRLPOOL 2374d47df9ca2489b4c3517c507fe196c838ab9ee394e7c104a6cc97d473286d6d2f2c3428b6352c36dd3f9e1ed0e53afa73223d6ae0b91491976564c2a47a4d
+AUX spamassassin-3.4.1-bug_7231-extra.patch 6837 SHA256 a7a2fdd794be2c1f500d197a315761019f9278a200545d7b770e2ca9cfbc3459 SHA512 ec29c56b33155bc287be74c5eb0bb8ff6a4a94a00e5d0f396cc8845a1cc6bbe75935a5f841a732f68fd2baa5fe5089642dc7633ce224006f57b4d989e400082c WHIRLPOOL 937b6bf8f78d42022e0327b582c1c9200215216fe4b267150f3ef2f2879334f897f6a2fe44da9a3dac9f308116ad91167d6d72d19f77d50534096f6e532ed46a
+AUX spamassassin-3.4.1-bug_7231.patch 949 SHA256 f2b0db858fc0dd98b5c22553f428c4cc8f2ebfa3c5fa567a6e0217eee5a4f78c SHA512 319d517b1fd36d26c2bf34f348ddaf17ff708cbb7e8488c725fe14e8be154c2567d782de2291afa07696b988cbf984dfce9f05f060cbcbd8505f3520e6be4a29 WHIRLPOOL a62e51d3c5eab197e56a98d1b18bd3458b4e3b70811d67df285bcb6d65585055df9b54fe9af0ba39d086f663e8564f8b942177ddd103f2904da6da661f6c678d
+AUX spamassassin-3.4.1-bug_7265.patch 3432 SHA256 6592b9171f9c0c1abe1894792c4dd0c8671c5c2021377dc1e114440c6af46be2 SHA512 8d77aafdf465d8063f0069cdc316bc1be7ffbf8f7a56879fd96a4370e0ccdb412b96d5749ac782d4d72d673d560162e3fc809cd796bb5db58d96f0387a134257 WHIRLPOOL c25e9f04d982eaffde7a42d4b163519888275b9cae2d66865dc133a5c034003ce2b3b8ec4e20b16dec332a04cdf30ee3bae3d511f0f27ef7b73fc97529855492
+AUX spamassassin-3.4.1-bug_7404.patch 792 SHA256 05dfabab187c452a16b30b30c079c740fef844ba8264df8cf9c6626f189c8785 SHA512 8bc613699872f0358d699f0c151bf9eac6ff80d9dc878d38fca522ac091f4e1348982bf2ce8029c7f241fdbabbf531e1d45f301159f6eddfbeb935252bd577e5 WHIRLPOOL ee1db0b2642b85dc133facfca8dee9cd3e920a247cf7c37570802dac23de30957017dbb529016a1bf99cc2fb0aebdc5d85c4d2718d6c0b1012efbc858742e580
+AUX spamassassin-3.4.1-bug_7462.patch 5836 SHA256 643b94cd2252b78a103c64792528b8ed3ab16e324c019f6b05676829bb851127 SHA512 68cad4b4ebd46fa186df04c926043fcdcf0099504451ed2b323d35871d142448431777baf2d374082554e1ef914efbf8f89001e1975c10e73e8865f3feff5878 WHIRLPOOL b3270b4794fbe46fc4573fdd4819b5f2f705d450cf595202812876b94c608fe4c5c30294f71790859baa8e03af0a92d9570a55c7e2b0a37b733c4ad5e7a94334
+AUX spamassassin-3.4.1-perl526.patch 484 SHA256 18792c258512c8cd3e33abbf6d04f1b7e9bd23f0e04036676ababe6bc2c6f347 SHA512 ded5a6079f95bb4a771e23b382af83498f16144eb9ba613b97b365b52d96845255f26ddf561b7d6edaa53c7acad3d62294adb01ce4a8a4157470a5ed92cd1b13 WHIRLPOOL 20faa8d0e796b3a5b7c1a5691d1ac19841a8114ec2310f0558c7bebdfc954414ace1ef9cd09f6e11ba7c271771cbee8b910f5ca258498962916768c758050058
+AUX spamassassin.service-r1 323 SHA256 960eb0115ac4e70981f9a4350767e001cdabb244f5cd6d169d713fa05f662f3b SHA512 3c9356d1a24f73c3a3374398058c8e7cb9875ee98a1b6bb96d5a6d9ec2de4de527717f12d809b40d4d768958e098f6e5e04803018f9b7e46a0322cd9319c0923 WHIRLPOOL a2c4faf6788132cec2b4781aedd55c859f45ec6555e40ba078c9890d857971ba3b8b8114c48cc9bbbffa0dd4ac3cc24d0e52e8f6af78325ad259718e867f3c00
+AUX spamassassin.service-r3 217 SHA256 d5b93466f424269a6734d1b18e6096ef04039700ddd7306831984e8296223922 SHA512 9b90bcbc21ea778f41501d9533d3e1cea4a3327f4628f09d0626babca40a9880668cb38e81bc10797bd78a75ce312dba1d89eeabaf980539fa09f9449607c870 WHIRLPOOL 8da31abc7aea072e71594492300110b2ac0bdfb2d5c5d95867eadaadfa8cddc3a1fa3c721131802d73bb3db964b2e3252c8467a1296e28810fb29bb50533718c
+AUX spamassassin.service.conf 333 SHA256 b6f942eb15f2476dbd161db92b8dacec43f2a0664b45405f3e4396f23ab8b18d SHA512 d818e0ca5bfa9dadb94f99351a307f41c05bc46b89f55a03b9ba2fba0bd06fada06adf1a3eff949f3a04151f3680b279d78fba08c8f28873d17e4a4aa55edca4 WHIRLPOOL 9b5e5674223f99df7afb48482f12f4fa307677290833dd6d3285cdcb94bea1a632c76e8a99e7e38b556a61c20375389d5a370105d2d8c2d4f1de445340ab429d
+AUX spamassassin.service.conf-r1 85 SHA256 24c07ff083df9ed68e092ae5a7d9c1e3e457bceaf447dbafcce9d538b907b134 SHA512 270337a79cdd04c82edd11e97e1186d3bee9a97c6ab35496828f30e75893c69a4dc46cbfb7fc26c1dc6de361a6fcb5603eab704f89a10c787ad1b3041e75a191 WHIRLPOOL aa047534f981d2259685133fae61de47334f513ac5276e1413e37609dee63aa88204072009b16896361e70df56007bde77dfa31103305ea5f46955b2f026ec48
+AUX update-spamassassin-rules.cron 1378 SHA256 82aafaa2ba3d7f1d86ac06ed4c561b86c8288c10552fbee1304233b0f0bd1e43 SHA512 90927b7709569a24ea2a233f42b16fce91bfda85e75e859ad85bc7ad16f7ad61ddb32bafc9b5b72515949b9ba8dda597679c24c2be4688d974375faf00bbccd5 WHIRLPOOL 9677bfc0a382dff0a3cdc28e4f9e851c7567b7f86d8ee130933f7a5662f94f1128973ab6032c1e12c69c9a65ab49daad052364944e69843412c637ea4e592ed2
+DIST Mail-SpamAssassin-3.4.1.tar.bz2 2710985 SHA256 a0c1c9808f0684b389594eb8b2ccbace6486546593493f9308c9554563d14651 SHA512 91d50e2ce6520e3e1c7bc66da133a0815be34ced15e26b6e6c17af5a03d5c62f41d8086f25f65084d6634497148cf5439977d7d4a44d7c3e307535beac6629af WHIRLPOOL 1465fcbc0456c9a671087d395c2a9998e3852a47153a0f6770158a2a311196490274c620aab89e2a6ff163defa72b8e785032f9450e7903df355544d957e8908
+EBUILD spamassassin-3.4.1-r16.ebuild 7408 SHA256 2aa1b1d0d1289d61aef593d5af8cf2a7693741c99d3fdfd2e66eb9e7d35ecf78 SHA512 9e3595bc9269ae605f88c6ea200d6c947b527e31cea07ac58d01107a04d98ce759162e3fa9d69cde1d50bcee5118799163cec65b1357426b11c17312793b5044 WHIRLPOOL 3c248e3f1c32e79f7f8a05b3ab2132422008e9be67725832f128c557d520a001a1ead1080c1f28fce127a637799fc495613a62b9a4fb12b82536b9d57b38fb5d
+EBUILD spamassassin-3.4.1-r8.ebuild 7014 SHA256 fe09355899e12443765c5fd8b2a159030f0b30ae1d26f20d8ad6077128107bdd SHA512 0e71a3d5c7381fdc78c591050367d27f8281ed42789b5f0954af0dec2440b8e6183eb0303ff9056f9a0cf16bdc21ee866ef7889cabbcdc7401b6c49b81d72e6e WHIRLPOOL 7dd4a6550f381ae2249a0be15b85c70bd6f03e9df0d34f6a8a4ed3587deaf3236696cbb302808378e4989b74fc9f4ba67bae12476392639cc5a1dd60671f82c3
+MISC ChangeLog 11981 SHA256 ee39eba652ecdf545257c9addc9f251c27fc916a662b85733a18f3b6c8387602 SHA512 126d51d6ed71aff051cae7663139f0a23c8de136aa30965a77e039a421d8b75ec5382c3ecd1d1297c62acc57f79d9c18532f27f6f4db3efe833855bfea08b7eb WHIRLPOOL c8aac640da1663435b22c558549ce282c8fe22c0200d1aed7686e0124ee6397c7113d6d476e9ef8b6d9618f873bdab680d072ea9f4d424671cf947791904f0d7
+MISC ChangeLog-2015 50434 SHA256 c3346f6e5bc71f22cd441184a6242bb3fe146f0b14e87365e9007e48ee86e5e9 SHA512 575db565453ecb6c9f0b4e0d155647a68b0e6dd57bd4b90d2f41a7dd82522b3ecb5b6401bfa6edefaf2b7bd8f252cebde03e9cbbdf8e8d95dc596216c4a43359 WHIRLPOOL b5600e57eb295607d953b3c8345ec644b2c6e40084200d5ae8e3d14c2d8ff04d2e91d788a1a04ed8e367c4f5aeeeb0da637e684432f623fffcfb7b1c96d78cb6
+MISC metadata.xml 1116 SHA256 f2b64b9544f26f2dd06ae60c68093028fd18570be0f4f762707727e70c3fcb89 SHA512 f0ec3654c51ab783c40e072fd87e5347931b3678537ad37491df3eee183be2060901effc93a343c20beff80f3175a41aeb417b5f0fdee19416df329435d221ef WHIRLPOOL 0228c301f35c0b97076bdfce74aa63cce34e722333859e5df6273595c8d7733c478242c5f74044eef34f7e3c705cf2bc694845d72b0880eef12d4d62c89b35fc
diff --git a/mail-filter/spamassassin/files/3.4.1-spamd.conf b/mail-filter/spamassassin/files/3.4.1-spamd.conf
new file mode 100644
index 000000000000..0cb7cbbfc471
--- /dev/null
+++ b/mail-filter/spamassassin/files/3.4.1-spamd.conf
@@ -0,0 +1,25 @@
+# Config file for /etc/init.d/spamd
+#
+# ***WARNING***
+#
+# spamd was not designed to listed to an untrusted network. spamd
+# is vulnerable to DoS attacks (and eternal doom) if used to listen
+# to an untrusted network.
+#
+# ***WARNING***
+#
+
+# Additional options to pass to the spamd daemon. The spamd(1) man
+# page explains the available options. If you choose to listen on a
+# non-default interface, you will need to use OpenRC's "rc_need"
+# mechanism to ensure that your interface comes up before spamd
+# starts. The openrc-run(8) man page describes rc_need.
+SPAMD_OPTS="--max-children=5 --create-prefs --helper-home-dir"
+
+# Sets the 'nice' level of the spamd process.
+SPAMD_NICELEVEL=0
+
+# How long (in seconds) should we wait for spamd to stop after we've
+# asked it to? After this amount of time, if spamd is still running,
+# we will assume that it has failed to stop.
+SPAMD_TIMEOUT=15
diff --git a/mail-filter/spamassassin/files/3.4.1-spamd.init b/mail-filter/spamassassin/files/3.4.1-spamd.init
new file mode 100644
index 000000000000..cbe91e93231d
--- /dev/null
+++ b/mail-filter/spamassassin/files/3.4.1-spamd.init
@@ -0,0 +1,55 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDDIR=/run/spamd
+PIDFILE=${PIDDIR}/spamd.pid
+
+extra_started_commands="reload"
+
+depend() {
+ before mta
+ use logger
+@USEPOSTGRES@ use postgresql
+@USEMYSQL@ use mysql
+}
+
+start() {
+ ebegin "Starting spamd"
+
+ # Ensure that the PID file's directory exists.
+ checkpath --directory "${PIDDIR}"
+
+ # Reloading spamd causes its PID to change, so we track it by
+ # name instead.
+ start-stop-daemon --start --quiet \
+ --name spamd \
+ --nicelevel ${SPAMD_NICELEVEL} \
+ --pidfile ${PIDFILE} \
+ --exec /usr/sbin/spamd -- \
+ --daemonize \
+ --pidfile=${PIDFILE} \
+ ${SPAMD_OPTS}
+
+ retval=$?
+
+ eend ${retval} "Failed to start spamd"
+}
+
+stop() {
+ ebegin "Stopping spamd"
+ # Retry after SPAMD_TIMEOUT seconds because spamd can take a
+ # while to kill off all of its children. This was bug 322025.
+ start-stop-daemon --stop \
+ --quiet \
+ --retry ${SPAMD_TIMEOUT} \
+ --pidfile ${PIDFILE}
+ eend $? "Failed to stop spamd"
+}
+
+reload() {
+ ebegin "Reloading configuration"
+ # Warning: causes the PID of the spamd process to change.
+ start-stop-daemon --signal HUP --quiet --pidfile ${PIDFILE}
+ eend $?
+}
diff --git a/mail-filter/spamassassin/files/3.4.1-spamd.init-r1 b/mail-filter/spamassassin/files/3.4.1-spamd.init-r1
new file mode 100755
index 000000000000..5f981d8e2c3d
--- /dev/null
+++ b/mail-filter/spamassassin/files/3.4.1-spamd.init-r1
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/sbin/spamd"
+pidfile="/run/spamd.pid"
+command_args="--username=spamd
+ --groupname=spamd
+ --pidfile=${pidfile}
+ ${SPAMD_OPTS}"
+command_args_background="--daemonize"
+
+: ${SPAMD_NICELEVEL:=0}
+start_stop_daemon_args="--nicelevel ${SPAMD_NICELEVEL}"
+
+# Retry after SPAMD_TIMEOUT seconds because spamd can take a
+# while to kill off all of its children. This was bug 322025.
+: ${SPAMD_TIMEOUT:=15}
+retry="${SPAMD_TIMEOUT}"
+
+extra_started_commands="reload"
+
+depend() {
+ before mta
+ use logger mysql postgres
+}
+
+reload() {
+ ebegin "Reloading configuration"
+ # Warning: reload causes the PID of the spamd process to
+ # change, but spamd does update its PID file afterwards.
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/mail-filter/spamassassin/files/secrets.cf b/mail-filter/spamassassin/files/secrets.cf
new file mode 100644
index 000000000000..efa31a6fbc00
--- /dev/null
+++ b/mail-filter/spamassassin/files/secrets.cf
@@ -0,0 +1,14 @@
+# The below sample from bug 91430 is an example of using mysql
+# for spam filter storage
+
+#(Tell Spamassissin to use MySQL for bayes data
+#bayes_store_module Mail::SpamAssassin::BayesStore::SQL
+#bayes_sql_dsn DBI:mysql:sa_bayes:localhost:3306
+#bayes_sql_username db_name
+#bayes_sql_password another_very_secret_password
+
+#(Tell Spamassissin to use MySQL for AWL data
+#auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
+#user_awl_dsn DBI:mysql:sa_bayes:localhost:3306
+#user_awl_sql_username db_name
+#user_awl_sql_password another_very_secret_password
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7199.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7199.patch
new file mode 100644
index 000000000000..323740cbb048
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7199.patch
@@ -0,0 +1,280 @@
+The "sslv3" option doesn't do what it says (upstream bug 7093) and
+only makes things worse. The SSLv3 support also prevents SpamAssassin
+from working with LibreSSL, which no longer does SSLv3.
+
+Index: trunk/spamc/libspamc.c
+===================================================================
+--- trunk.orig/spamc/libspamc.c
++++ trunk/spamc/libspamc.c
+@@ -1187,7 +1187,7 @@ int message_filter(struct transport *tp,
+ unsigned int throwaway;
+ SSL_CTX *ctx = NULL;
+ SSL *ssl = NULL;
+- SSL_METHOD *meth;
++ const SSL_METHOD *meth;
+ char zlib_on = 0;
+ unsigned char *zlib_buf = NULL;
+ int zlib_bufsiz = 0;
+@@ -1213,11 +1213,7 @@ int message_filter(struct transport *tp,
+ if (flags & SPAMC_USE_SSL) {
+ #ifdef SPAMC_SSL
+ SSLeay_add_ssl_algorithms();
+- if (flags & SPAMC_TLSV1) {
+- meth = TLSv1_client_method();
+- } else {
+- meth = SSLv3_client_method(); /* default */
+- }
++ meth = SSLv23_client_method();
+ SSL_load_error_strings();
+ ctx = SSL_CTX_new(meth);
+ #else
+@@ -1596,7 +1592,7 @@ int message_tell(struct transport *tp, c
+ int failureval;
+ SSL_CTX *ctx = NULL;
+ SSL *ssl = NULL;
+- SSL_METHOD *meth;
++ const SSL_METHOD *meth;
+
+ assert(tp != NULL);
+ assert(m != NULL);
+@@ -1604,7 +1600,7 @@ int message_tell(struct transport *tp, c
+ if (flags & SPAMC_USE_SSL) {
+ #ifdef SPAMC_SSL
+ SSLeay_add_ssl_algorithms();
+- meth = SSLv3_client_method();
++ meth = SSLv23_client_method();
+ SSL_load_error_strings();
+ ctx = SSL_CTX_new(meth);
+ #else
+Index: trunk/spamc/spamc.c
+===================================================================
+--- trunk.orig/spamc/spamc.c
++++ trunk/spamc/spamc.c
+@@ -368,16 +368,11 @@ read_args(int argc, char **argv,
+ case 'S':
+ {
+ flags |= SPAMC_USE_SSL;
+- if (!spamc_optarg || (strcmp(spamc_optarg,"sslv3") == 0)) {
+- flags |= SPAMC_SSLV3;
+- }
+- else if (strcmp(spamc_optarg,"tlsv1") == 0) {
+- flags |= SPAMC_TLSV1;
+- }
+- else {
+- libspamc_log(flags, LOG_ERR, "Please specify a legal ssl version (%s)", spamc_optarg);
+- ret = EX_USAGE;
+- }
++ if(spamc_optarg) {
++ libspamc_log(flags, LOG_ERR,
++ "Explicit specification of an SSL/TLS version no longer supported.");
++ ret = EX_USAGE;
++ }
+ break;
+ }
+ #endif
+Index: trunk/spamd/spamd.raw
+===================================================================
+--- trunk.orig/spamd/spamd.raw
++++ trunk/spamd/spamd.raw
+@@ -409,7 +409,6 @@ GetOptions(
+ 'sql-config!' => \$opt{'sql-config'},
+ 'ssl' => \$opt{'ssl'},
+ 'ssl-port=s' => \$opt{'ssl-port'},
+- 'ssl-version=s' => \$opt{'ssl-version'},
+ 'syslog-socket=s' => \$opt{'syslog-socket'},
+ 'syslog|s=s' => \$opt{'syslog'},
+ 'log-timestamp-fmt:s' => \$opt{'log-timestamp-fmt'},
+@@ -744,11 +743,6 @@ if ( defined $ENV{'HOME'} ) {
+
+ # Do whitelist later in tmp dir. Side effect: this will be done as -u user.
+
+-my $sslversion = $opt{'ssl-version'} || 'sslv3';
+-if ($sslversion !~ /^(?:sslv3|tlsv1)$/) {
+- die "spamd: invalid ssl-version: $opt{'ssl-version'}\n";
+-}
+-
+ $opt{'server-key'} ||= "$LOCAL_RULES_DIR/certs/server-key.pem";
+ $opt{'server-cert'} ||= "$LOCAL_RULES_DIR/certs/server-cert.pem";
+
+@@ -899,9 +893,8 @@ sub compose_listen_info_string {
+ $socket_info->{ip_addr}, $socket_info->{port}));
+
+ } elsif ($socket->isa('IO::Socket::SSL')) {
+- push(@listeninfo, sprintf("SSL [%s]:%s, ssl version %s",
+- $socket_info->{ip_addr}, $socket_info->{port},
+- $opt{'ssl-version'}||'sslv3'));
++ push(@listeninfo, sprintf("SSL [%r]:%s", $socket_info->{ip_addr},
++ $socket_info->{port}));
+ }
+ }
+
+@@ -1072,7 +1065,6 @@ sub server_sock_setup_inet {
+ $sockopt{V6Only} = 1 if $io_socket_module_name eq 'IO::Socket::IP'
+ && IO::Socket::IP->VERSION >= 0.09;
+ %sockopt = (%sockopt, (
+- SSL_version => $sslversion,
+ SSL_verify_mode => 0x00,
+ SSL_key_file => $opt{'server-key'},
+ SSL_cert_file => $opt{'server-cert'},
+@@ -1093,7 +1085,8 @@ sub server_sock_setup_inet {
+ if (!$server_inet) {
+ $diag = sprintf("could not create %s socket on [%s]:%s: %s",
+ $ssl ? 'IO::Socket::SSL' : $io_socket_module_name,
+- $adr, $port, $!);
++ $adr, $port, $ssl && $IO::Socket::SSL::SSL_ERROR ?
++ "$!,$IO::Socket::SSL::SSL_ERROR" : $!);
+ push(@diag_fail, $diag);
+ } else {
+ $diag = sprintf("created %s socket on [%s]:%s",
+@@ -3238,7 +3231,6 @@ Options:
+ -H [dir], --helper-home-dir[=dir] Specify a different HOME directory
+ --ssl Enable SSL on TCP connections
+ --ssl-port port Override --port setting for SSL connections
+- --ssl-version sslversion Specify SSL protocol version to use
+ --server-key keyfile Specify an SSL keyfile
+ --server-cert certfile Specify an SSL certificate
+ --socketpath=path Listen on a given UNIX domain socket
+@@ -3727,14 +3719,6 @@ Optionally specifies the port number for
+ SSL connections (default: whatever --port uses). See B<--ssl> for
+ more details.
+
+-=item B<--ssl-version>=I<sslversion>
+-
+-Specify the SSL protocol version to use, one of B<sslv3> or B<tlsv1>.
+-The default, B<sslv3>, is the most flexible, accepting a SSLv3 or
+-higher hello handshake, then negotiating use of SSLv3 or TLSv1
+-protocol if the client can accept it. Specifying B<--ssl-version>
+-implies B<--ssl>.
+-
+ =item B<--server-key> I<keyfile>
+
+ Specify the SSL key file to use for SSL connections.
+Index: trunk/spamc/spamc.pod
+===================================================================
+--- trunk.orig/spamc/spamc.pod
++++ trunk/spamc/spamc.pod
+@@ -177,12 +177,10 @@ The default is 1 time (ie. one attempt a
+ Sleep for I<sleep> seconds between failed spamd filtering attempts.
+ The default is 1 second.
+
+-=item B<-S>, B<--ssl>, B<--ssl>=I<sslversion>
++=item B<-S>, B<--ssl>, B<--ssl>
+
+ If spamc was built with support for SSL, encrypt data to and from the
+ spamd process with SSL; spamd must support SSL as well.
+-I<sslversion> specifies the SSL protocol version to use, either
+-C<sslv3>, or C<tlsv1>. The default, is C<sslv3>.
+
+ =item B<-t> I<timeout>, B<--timeout>=I<timeout>
+
+Index: trunk/t/spamd_ssl_tls.t
+===================================================================
+--- trunk.orig/t/spamd_ssl_tls.t
++++ /dev/null
+@@ -1,28 +0,0 @@
+-#!/usr/bin/perl
+-
+-use lib '.'; use lib 't';
+-use SATest; sa_t_init("spamd_ssl_tls");
+-use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9);
+-
+-exit if ($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE);
+-
+-# ---------------------------------------------------------------------------
+-
+-%patterns = (
+-
+-q{ Return-Path: sb55sb55@yahoo.com}, 'firstline',
+-q{ Subject: There yours for FREE!}, 'subj',
+-q{ X-Spam-Status: Yes, score=}, 'status',
+-q{ X-Spam-Flag: YES}, 'flag',
+-q{ X-Spam-Level: **********}, 'stars',
+-q{ TEST_ENDSNUMS}, 'endsinnums',
+-q{ TEST_NOREALNAME}, 'noreal',
+-q{ This must be the very last line}, 'lastline',
+-
+-
+-);
+-
+-ok (sdrun ("-L --ssl --ssl-version=tlsv1 --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert",
+- "--ssl=tlsv1 < data/spam/001",
+- \&patterns_run_cb));
+-ok_all_patterns();
+Index: trunk/t/spamd_ssl_v3.t
+===================================================================
+--- trunk.orig/t/spamd_ssl_v3.t
++++ /dev/null
+@@ -1,28 +0,0 @@
+-#!/usr/bin/perl
+-
+-use lib '.'; use lib 't';
+-use SATest; sa_t_init("spamd_sslv3");
+-use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9);
+-
+-exit if ($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE);
+-
+-# ---------------------------------------------------------------------------
+-
+-%patterns = (
+-
+-q{ Return-Path: sb55sb55@yahoo.com}, 'firstline',
+-q{ Subject: There yours for FREE!}, 'subj',
+-q{ X-Spam-Status: Yes, score=}, 'status',
+-q{ X-Spam-Flag: YES}, 'flag',
+-q{ X-Spam-Level: **********}, 'stars',
+-q{ TEST_ENDSNUMS}, 'endsinnums',
+-q{ TEST_NOREALNAME}, 'noreal',
+-q{ This must be the very last line}, 'lastline',
+-
+-
+-);
+-
+-ok (sdrun ("-L --ssl --ssl-version=sslv3 --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert",
+- "--ssl=sslv3 < data/spam/001",
+- \&patterns_run_cb));
+-ok_all_patterns();
+Index: trunk/t/spamd_ssl_accept_fail.t
+===================================================================
+--- trunk.orig/t/spamd_ssl_accept_fail.t
++++ trunk/t/spamd_ssl_accept_fail.t
+@@ -23,9 +23,9 @@ q{ This must be the very last line}, 'la
+
+ );
+
+-ok (start_spamd ("-L --ssl --ssl-version=sslv3 --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert"));
++ok (start_spamd ("-L --ssl --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert"));
+ ok (spamcrun ("< data/spam/001", \&patterns_run_cb));
+-ok (spamcrun ("--ssl=sslv3 < data/spam/001", \&patterns_run_cb));
++ok (spamcrun ("--ssl < data/spam/001", \&patterns_run_cb));
+ ok (stop_spamd ());
+
+ ok_all_patterns();
+Index: trunk/t/spamd_ssl.t
+===================================================================
+--- trunk.orig/t/spamd_ssl.t
++++ trunk/t/spamd_ssl.t
+@@ -2,10 +2,7 @@
+
+ use lib '.'; use lib 't';
+ use SATest; sa_t_init("spamd_ssl");
+-use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9),
+- onfail => sub {
+- warn "\n\nNote: This may not be a SpamAssassin bug, as some platforms require that you" .
+- "\nspecify a protocol in spamc --ssl option, and possibly in spamd --ssl-version.\n\n" };
++use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9);
+
+ exit if ($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE);
+
+Index: trunk/MANIFEST
+===================================================================
+--- trunk.orig/MANIFEST
++++ trunk/MANIFEST
+@@ -513,8 +513,6 @@ t/spamd_report_ifspam.t
+ t/spamd_sql_prefs.t
+ t/spamd_ssl.t
+ t/spamd_ssl_accept_fail.t
+-t/spamd_ssl_tls.t
+-t/spamd_ssl_v3.t
+ t/spamd_stop.t
+ t/spamd_symbols.t
+ t/spamd_syslog.t
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7223.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7223.patch
new file mode 100644
index 000000000000..0fea1f9cdbd4
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7223.patch
@@ -0,0 +1,14 @@
+# Fix for Gentoo bug 579222 (SpamAssassin bug 7223).
+
+--- a/lib/Mail/SpamAssassin/DnsResolver.pm 2015/07/20 18:23:18 1691991
++++ b/lib/Mail/SpamAssassin/DnsResolver.pm 2015/07/20 18:24:48 1691992
+@@ -592,6 +592,9 @@
+ };
+
+ if ($packet) {
++ # RD flag needs to be set explicitly since Net::DNS 1.01, Bug 7223
++ $packet->header->rd(1);
++
+ # my $udp_payload_size = $self->{res}->udppacketsize;
+ my $udp_payload_size = $self->{conf}->{dns_options}->{edns};
+ if ($udp_payload_size && $udp_payload_size > 512) {
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231-extra.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231-extra.patch
new file mode 100644
index 000000000000..81c738668587
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231-extra.patch
@@ -0,0 +1,140 @@
+This should fix bug 7338, but the related commits were backported to
+the 3.4 branch as part of SpamAssassin bug 7231 (comment 13).
+
+--- a/lib/Mail/SpamAssassin/Dns.pm 2017/04/16 06:19:30 1791572
++++ b/lib/Mail/SpamAssassin/Dns.pm 2017/04/16 07:28:59 1791573
+@@ -171,7 +171,7 @@
+ if (substr($rule, 0, 2) eq "__") {
+ # don't bother with meta rules
+ } elsif ($answer->type eq 'TXT') {
+- # txtdata returns a non- zone-file-format encoded result, unlike rdatastr;
++ # txtdata returns a non- zone-file-format encoded result, unlike rdstring;
+ # avoid space-separated RDATA <character-string> fields if possible,
+ # txtdata provides a list of strings in a list context since Net::DNS 0.69
+ $log = join('',$answer->txtdata);
+@@ -215,11 +215,13 @@
+
+ my $qname = $question->qname;
+
+- # txtdata returns a non- zone-file-format encoded result, unlike rdatastr;
++ # txtdata returns a non- zone-file-format encoded result, unlike rdstring;
+ # avoid space-separated RDATA <character-string> fields if possible,
+ # txtdata provides a list of strings in a list context since Net::DNS 0.69
+ #
++ # rdatastr() is historical/undocumented, use rdstring() since Net::DNS 0.69
+ my $rdatastr = $answer->UNIVERSAL::can('txtdata') ? join('',$answer->txtdata)
++ : $answer->UNIVERSAL::can('rdstring') ? $answer->rdstring
+ : $answer->rdatastr;
+ if (defined $qname && defined $rdatastr) {
+ my $qclass = $question->qclass;
+@@ -267,8 +269,13 @@
+ my $answ_type = $answer->type;
+ # TODO: there are some CNAME returns that might be useful
+ next if ($answ_type ne 'A' && $answ_type ne 'TXT');
+- # skip any A record that isn't on 127/8
+- next if ($answ_type eq 'A' && $answer->rdatastr !~ /^127\./);
++ if ($answ_type eq 'A') {
++ # Net::DNS::RR::A::address() is available since Net::DNS 0.69
++ my $ip_address = $answer->UNIVERSAL::can('address') ? $answer->address
++ : $answer->rdatastr;
++ # skip any A record that isn't on 127.0.0.0/8
++ next if $ip_address !~ /^127\./;
++ }
+ for my $rule (@{$rules}) {
+ $self->dnsbl_hit($rule, $question, $answer);
+ }
+@@ -284,11 +291,13 @@
+ sub process_dnsbl_set {
+ my ($self, $set, $question, $answer) = @_;
+
+- # txtdata returns a non- zone-file-format encoded result, unlike rdatastr;
++ # txtdata returns a non- zone-file-format encoded result, unlike rdstring;
+ # avoid space-separated RDATA <character-string> fields if possible,
+ # txtdata provides a list of strings in a list context since Net::DNS 0.69
+ #
+- my $rdatastr = $answer->UNIVERSAL::can('txtdata') ? join('',$answer->txtdata)
++ # rdatastr() is historical/undocumented, use rdstring() since Net::DNS 0.69
++ my $rdatastr = $answer->UNIVERSAL::can('txtdata') ? join('',$answer->txtdata)
++ : $answer->UNIVERSAL::can('rdstring') ? $answer->rdstring
+ : $answer->rdatastr;
+
+ while (my ($subtest, $rule) = each %{ $self->{dnspost}->{$set} }) {
+--- a/lib/Mail/SpamAssassin/Plugin/AskDNS.pm 2017/04/16 06:19:30 1791572
++++ b/lib/Mail/SpamAssassin/Plugin/AskDNS.pm 2017/04/16 07:28:59 1791573
+@@ -140,7 +140,7 @@
+ multiple character-strings (as defined in Section 3.3 of [RFC1035]), these
+ strings are concatenated with no delimiters before comparing the result
+ to the filtering string. This follows requirements of several documents,
+-such as RFC 5518, RFC 4408, RFC 4871, RFC 5617. Examples of a plain text
++such as RFC 5518, RFC 7208, RFC 4871, RFC 5617. Examples of a plain text
+ filtering parameter: "127.0.0.1", "transaction", 'list' .
+
+ A regular expression follows a familiar perl syntax like /.../ or m{...}
+@@ -539,7 +539,7 @@
+ @answer = ( undef );
+ }
+
+- # NOTE: $rr->rdatastr returns the result encoded in a DNS zone file
++ # NOTE: $rr->rdstring returns the result encoded in a DNS zone file
+ # format, i.e. enclosed in double quotes if a result contains whitespace
+ # (or other funny characters), and may use \DDD encoding or \X quoting as
+ # per RFC 1035. Using $rr->txtdata instead avoids this unnecessary encoding
+@@ -566,19 +566,26 @@
+ # special case, no answer records, only rcode can be tested
+ } else {
+ $rr_type = uc $rr->type;
+- if ($rr->UNIVERSAL::can('txtdata')) { # TXT, SPF
+- # join with no intervening spaces, as per RFC 5518
++ if ($rr_type eq 'A') {
++ # Net::DNS::RR::A::address() is available since Net::DNS 0.69
++ $rr_rdatastr = $rr->UNIVERSAL::can('address') ? $rr->address
++ : $rr->rdatastr;
++ if ($rr_rdatastr =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/) {
++ $rdatanum = Mail::SpamAssassin::Util::my_inet_aton($rr_rdatastr);
++ }
++
++ } elsif ($rr->UNIVERSAL::can('txtdata')) {
++ # TXT, SPF: join with no intervening spaces, as per RFC 5518
+ if ($txtdata_can_provide_a_list || $rr_type ne 'TXT') {
+ $rr_rdatastr = join('', $rr->txtdata); # txtdata() in list context!
+ } else { # char_str_list() is only available for TXT records
+ $rr_rdatastr = join('', $rr->char_str_list); # historical
+ }
+ } else {
+- $rr_rdatastr = $rr->rdatastr;
+- if ($rr_type eq 'A' &&
+- $rr_rdatastr =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/) {
+- $rdatanum = Mail::SpamAssassin::Util::my_inet_aton($rr_rdatastr);
+- }
++ # rdatastr() is historical, use rdstring() since Net::DNS 0.69
++ $rr_rdatastr = $rr->UNIVERSAL::can('rdstring') ? $rr->rdstring
++ : $rr->rdatastr;
++ utf8::encode($rr_rdatastr) if utf8::is_utf8($rr_rdatastr);
+ }
+ # dbg("askdns: received rr type %s, data: %s", $rr_type, $rr_rdatastr);
+ }
+--- a/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm 2017/04/16 06:19:30 1791572
++++ b/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm 2017/04/16 07:28:59 1791573
+@@ -1009,10 +1009,9 @@
+ dbg("uridnsbl: complete_a_lookup aborted %s", $ent->{key});
+ return;
+ }
+-
+ dbg("uridnsbl: complete_a_lookup %s", $ent->{key});
+- my @answer = $pkt->answer;
+ my $j = 0;
++ my @answer = $pkt->answer;
+ foreach my $rr (@answer) {
+ $j++;
+ my $str = $rr->string;
+@@ -1099,7 +1098,9 @@
+ my $rr_type = $rr->type;
+
+ if ($rr_type eq 'A') {
+- $rdatastr = $rr->rdatastr;
++ # Net::DNS::RR::A::address() is available since Net::DNS 0.69
++ $rdatastr = $rr->UNIVERSAL::can('address') ? $rr->address
++ : $rr->rdatastr;
+ if ($rdatastr =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) {
+ $rdatanum = Mail::SpamAssassin::Util::my_inet_aton($rdatastr);
+ }
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231.patch
new file mode 100644
index 000000000000..0d6e43abb6dd
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7231.patch
@@ -0,0 +1,29 @@
+# Fix for Gentoo bug 579222 (SpamAssassin bug 7231).
+
+--- a/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (revision 1694052)
++++ b/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (working copy)
+@@ -942,9 +942,8 @@
+ next unless (defined($str) && defined($dom));
+ dbg("uridnsbl: got($j) NS for $dom: $str");
+
+- if ($str =~ /IN\s+NS\s+(\S+)/) {
+- my $nsmatch = lc $1;
+- $nsmatch =~ s/\.$//;
++ if ($rr->type eq 'NS') {
++ my $nsmatch = lc $rr->nsdname; # available since at least Net::DNS 0.14
+ my $nsrhblstr = $nsmatch;
+ my $fullnsrhblstr = $nsmatch;
+
+@@ -1025,9 +1024,9 @@
+ }
+ dbg("uridnsbl: complete_a_lookup got(%d) A for %s: %s", $j,$hname,$str);
+
+- local $1;
+- if ($str =~ /IN\s+A\s+(\S+)/) {
+- $self->lookup_dnsbl_for_ip($pms, $ent->{obj}, $1);
++ if ($rr->type eq 'A') {
++ my $ip_address = $rr->rdatastr;
++ $self->lookup_dnsbl_for_ip($pms, $ent->{obj}, $ip_address);
+ }
+ }
+ }
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7265.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7265.patch
new file mode 100644
index 000000000000..f4fc4bcc718d
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7265.patch
@@ -0,0 +1,88 @@
+# Fix for Gentoo bug 579222 (SpamAssassin bug 7265).
+# Two different revisions from that bug have been concatenated
+# together into this patch.
+
+--- a/lib/Mail/SpamAssassin/DnsResolver.pm 2015/11/19 15:23:56 1715196
++++ b/lib/Mail/SpamAssassin/DnsResolver.pm 2015/11/19 15:31:49 1715197
+@@ -725,6 +725,37 @@
+
+ ###########################################################################
+
++=item $id = $res->bgread()
++
++Similar to C<Net::DNS::Resolver::bgread>. Reads a DNS packet from
++a supplied socket, decodes it, and returns a Net::DNS::Packet object
++if successful. Dies on error.
++
++=cut
++
++sub bgread() {
++ my ($self) = @_;
++ my $sock = $self->{sock};
++ my $packetsize = $self->{res}->udppacketsize;
++ $packetsize = 512 if $packetsize < 512; # just in case
++ my $data = '';
++ my $peeraddr = $sock->recv($data, $packetsize+256); # with some size margin for troubleshooting
++ defined $peeraddr or die "bgread: recv() failed: $!";
++ my $peerhost = $sock->peerhost;
++ $data ne '' or die "bgread: received empty packet from $peerhost";
++ dbg("dns: bgread: received %d bytes from %s", length($data), $peerhost);
++ my($answerpkt, $decoded_length) = Net::DNS::Packet->new(\$data);
++ $answerpkt or die "bgread: decoding DNS packet failed: $@";
++ $answerpkt->answerfrom($peerhost);
++ if ($decoded_length ne length($data)) {
++ warn sprintf("bgread: received a %d bytes packet from %s, decoded %d bytes\n",
++ length($data), $peerhost, $decoded_length);
++ }
++ return $answerpkt;
++}
++
++###########################################################################
++
+ =item $nfound = $res->poll_responses()
+
+ See if there are any C<bgsend> reply packets ready, and return
+@@ -772,13 +803,25 @@
+ $timeout = 0; # next time around collect whatever is available, then exit
+ last if $nfound == 0;
+
+- my $packet = $self->{res}->bgread($self->{sock});
++ my $packet;
++ eval {
++ $packet = $self->bgread();
++ } or do {
++ undef $packet;
++ my $eval_stat = $@ ne '' ? $@ : "errno=$!"; chomp $eval_stat;
++ # resignal if alarm went off
++ die $eval_stat if $eval_stat =~ /__alarm__ignore__\(.*\)/s;
++ info("dns: bad dns reply: %s", $eval_stat);
++ };
++
++# Bug 7265, use our own bgread()
++# my $packet = $self->{res}->bgread($self->{sock});
+
+ if (!$packet) {
+- my $dns_err = $self->{res}->errorstring;
+- # resignal if alarm went off
+- die "dns (3) $dns_err\n" if $dns_err =~ /__alarm__ignore__\(.*\)/s;
+- info("dns: bad dns reply: $dns_err");
++ # error already reported above
++# my $dns_err = $self->{res}->errorstring;
++# die "dns (3) $dns_err\n" if $dns_err =~ /__alarm__ignore__\(.*\)/s;
++# info("dns: bad dns reply: $dns_err");
+ } else {
+ my $header = $packet->header;
+ if (!$header) {
+
+--- a/lib/Mail/SpamAssassin/Plugin/DKIM.pm 2015/11/19 19:20:06 1715247
++++ b/lib/Mail/SpamAssassin/Plugin/DKIM.pm 2015/11/19 19:22:25 1715248
+@@ -793,7 +793,8 @@
+ # Only do so if EDNS0 provides a reasonably-sized UDP payload size,
+ # as our interface does not provide a DNS fallback to TCP, unlike
+ # the Net::DNS::Resolver::send which does provide it.
+- my $res = $self->{main}->{resolver}->get_resolver;
++ my $res = $self->{main}->{resolver};
++ dbg("dkim: providing our own resolver: %s", ref $res);
+ Mail::DKIM::DNS::resolver($res);
+ }
+ }
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7404.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7404.patch
new file mode 100644
index 000000000000..563110fcb1f3
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7404.patch
@@ -0,0 +1,23 @@
+--- a/lib/Mail/SpamAssassin/PerMsgStatus.pm (revision 1790817)
++++ b/lib/Mail/SpamAssassin/PerMsgStatus.pm (working copy)
+@@ -896,16 +896,16 @@
+ $str .= shift @{$ary};
+ }
+ undef $ary;
+- chomp ($str); $str .= " [...]\n";
+
+ # in case the last line was huge, trim it back to around 200 chars
+ local $1;
+- $str =~ s/^(.{,200}).*$/$1/gs;
++ $str =~ s/^(.{200}).+$/$1 [...]/gm;
++ chomp ($str); $str .= "\n";
+
+ # now, some tidy-ups that make things look a bit prettier
+- $str =~ s/-----Original Message-----.*$//gs;
++ $str =~ s/-----Original Message-----.*$//gm;
+ $str =~ s/This is a multi-part message in MIME format\.//gs;
+- $str =~ s/[-_\*\.]{10,}//gs;
++ $str =~ s/[-_*.]{10,}//gs;
+ $str =~ s/\s+/ /gs;
+
+ # add "Content preview:" ourselves, so that the text aligns
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7462.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7462.patch
new file mode 100644
index 000000000000..bf4dc111acbc
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-bug_7462.patch
@@ -0,0 +1,198 @@
+https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7462
+https://bugs.gentoo.org/show_bug.cgi?id=627678
+--- Mail-SpamAssassin-3.4.1/t/basic_meta.t 2015-04-28 15:56:59.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/basic_meta.t 2017-08-20 21:29:44.000000000 -0400
+@@ -14,10 +14,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("meta");
+ use Test;
+ use Mail::SpamAssassin;
+
+ use vars qw( %rules %scores $perl_path);
+--- Mail-SpamAssassin-3.4.1/t/body_mod.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/body_mod.t 2017-08-20 21:30:09.000000000 -0400
+@@ -14,10 +14,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("body_mod");
+ use Test; BEGIN { plan tests => 3 };
+
+ use Mail::SpamAssassin;
+
+--- Mail-SpamAssassin-3.4.1/t/config_errs.t 2015-04-28 15:56:59.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/config_errs.t 2017-08-20 21:30:28.000000000 -0400
+@@ -39,10 +39,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("config_errs");
+ use Test;
+ use Mail::SpamAssassin;
+
+ # initialize SpamAssassin
+--- Mail-SpamAssassin-3.4.1/t/debug.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/debug.t 2017-08-20 21:31:02.000000000 -0400
+@@ -14,10 +14,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("debug");
+ use Test;
+ use Mail::SpamAssassin;
+
+ use constant TEST_ENABLED => conf_bool('run_long_tests');
+--- Mail-SpamAssassin-3.4.1/t/get_headers.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/get_headers.t 2017-08-20 21:31:48.000000000 -0400
+@@ -15,10 +15,11 @@
+ $prefix = '..';
+ }
+
+ use strict;
+ use Test;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("get_headers");
+ use Mail::SpamAssassin;
+
+ plan tests => 16;
+
+--- Mail-SpamAssassin-3.4.1/t/idn_dots.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/idn_dots.t 2017-08-20 21:32:03.000000000 -0400
+@@ -16,10 +16,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("normalize_utf8_dots.t");
+ use Test;
+ use Mail::SpamAssassin;
+ use vars qw(%patterns %anti_patterns);
+
+--- Mail-SpamAssassin-3.4.1/t/missing_hb_separator.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/missing_hb_separator.t 2017-08-20 21:32:17.000000000 -0400
+@@ -15,10 +15,11 @@
+ $prefix = '..';
+ }
+
+ use strict;
+ use Test;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("missing_hb_separator");
+ use Mail::SpamAssassin;
+
+ plan tests => 13;
+
+--- Mail-SpamAssassin-3.4.1/t/priorities.t 2015-04-28 15:56:59.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/priorities.t 2017-08-20 21:34:21.000000000 -0400
+@@ -15,10 +15,11 @@
+ my $prefix = '.';
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("priorities");
+ use strict;
+ use Test; BEGIN { plan tests => NUM_TESTS };
+
+ use Mail::SpamAssassin;
+--- Mail-SpamAssassin-3.4.1/t/regexp_valid.t 2015-04-28 15:56:59.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/regexp_valid.t 2017-08-20 21:34:31.000000000 -0400
+@@ -14,10 +14,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("regexp_valid");
+ use Test;
+
+ # settings
+ plan tests => 24;
+--- Mail-SpamAssassin-3.4.1/t/relative_scores.t 2015-04-28 15:56:59.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/relative_scores.t 2017-08-20 21:34:43.000000000 -0400
+@@ -9,10 +9,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ unshift(@INC, '../blib/lib', '.');
+ }
+ }
+
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("relative_scores");
+ use Test;
+ use strict;
+ use vars qw/ $error /;
+
+--- Mail-SpamAssassin-3.4.1/t/reuse.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/reuse.t 2017-08-20 21:34:52.000000000 -0400
+@@ -14,10 +14,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("reuse");
+ use Test;
+
+ use vars qw(%patterns %anti_patterns $perl_path &patterns_run_cb);
+
+--- Mail-SpamAssassin-3.4.1/t/uri_html.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/uri_html.t 2017-08-20 21:35:20.000000000 -0400
+@@ -16,10 +16,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("uri_html");
+ use Test;
+ use Mail::SpamAssassin;
+ use vars qw(%patterns %anti_patterns);
+
+--- Mail-SpamAssassin-3.4.1/t/uri.t 2015-04-28 15:56:59.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/uri.t 2017-08-20 21:35:30.000000000 -0400
+@@ -15,10 +15,11 @@
+ $prefix = '..';
+ }
+
+ use strict;
+ use Test;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("uri");
+
+ use Mail::SpamAssassin;
+ use Mail::SpamAssassin::HTML;
+ use Mail::SpamAssassin::Util;
+--- Mail-SpamAssassin-3.4.1/t/uri_text.t 2015-04-28 15:56:58.000000000 -0400
++++ Mail-SpamAssassin-3.4.1/t/uri_text.t 2017-08-20 21:35:07.000000000 -0400
+@@ -16,10 +16,11 @@
+ if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+ }
+
+ use strict;
++use lib '.'; use lib 't';
+ use SATest; sa_t_init("uri_text");
+ use Test;
+ use Mail::SpamAssassin;
+ use vars qw(%patterns %anti_patterns);
+
diff --git a/mail-filter/spamassassin/files/spamassassin-3.4.1-perl526.patch b/mail-filter/spamassassin/files/spamassassin-3.4.1-perl526.patch
new file mode 100644
index 000000000000..1c63136e3f66
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin-3.4.1-perl526.patch
@@ -0,0 +1,14 @@
+https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7367
+https://bugs.gentoo.org/625316
+
+--- Mail-SpamAssassin-3.4.1/spamc/configure.pl
++++ Mail-SpamAssassin-3.4.1/spamc/configure.pl
+@@ -66,7 +66,7 @@
+ # Do the same thing as for the preprocessor below.
+ package version_h;
+ my $Z = $0;
+- local $0 = "version.h.pl";
++ local $0 = "./version.h.pl";
+ local @ARGV = ();
+ # Got to check for defined because the script returns shell error level!
+ unless (defined do $0) {
diff --git a/mail-filter/spamassassin/files/spamassassin.service-r1 b/mail-filter/spamassassin/files/spamassassin.service-r1
new file mode 100644
index 000000000000..3d145817f129
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service-r1
@@ -0,0 +1,15 @@
+[Unit]
+Description=Spamassassin daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/run/spamd.pid
+ExecStart=/usr/sbin/spamd -d --pidfile /run/spamd.pid -m 5 $SPAMD_OPTS
+ExecReload=/bin/kill -HUP $MAINPID
+StandardOutput=syslog
+StandardError=syslog
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/spamassassin/files/spamassassin.service-r3 b/mail-filter/spamassassin/files/spamassassin.service-r3
new file mode 100644
index 000000000000..6bc74c46cc5f
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service-r3
@@ -0,0 +1,10 @@
+[Unit]
+Description=Spamassassin daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/spamd --username=spamd --groupname=spamd $SPAMD_OPTS
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/spamassassin/files/spamassassin.service.conf b/mail-filter/spamassassin/files/spamassassin.service.conf
new file mode 100644
index 000000000000..9fc1f6294525
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service.conf
@@ -0,0 +1,10 @@
+# Here you can append some options to spamd process, please
+# double check that you make needed changes in service file if
+# you use options requiring it
+# Some options:
+#
+# -c to create a per user configuration file
+# -H [dir] to switch home dirs for helper apps, dir optional
+
+[Service]
+Environment="SPAMD_OPTS= -c -H"
diff --git a/mail-filter/spamassassin/files/spamassassin.service.conf-r1 b/mail-filter/spamassassin/files/spamassassin.service.conf-r1
new file mode 100644
index 000000000000..75918e824f22
--- /dev/null
+++ b/mail-filter/spamassassin/files/spamassassin.service.conf-r1
@@ -0,0 +1,2 @@
+[Service]
+Environment="SPAMD_OPTS=--max-children=5 --create-prefs --helper-home-dir"
diff --git a/mail-filter/spamassassin/files/update-spamassassin-rules.cron b/mail-filter/spamassassin/files/update-spamassassin-rules.cron
new file mode 100644
index 000000000000..1b36af0548db
--- /dev/null
+++ b/mail-filter/spamassassin/files/update-spamassassin-rules.cron
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# Update SpamAssassin rules and reload daemons that use them.
+#
+
+# First, redirect stdout to /dev/null.
+exec 1>/dev/null
+
+# Try to update the rules.
+sa-update
+
+# Exit code 0: all new updates were installed.
+# Exit code 1: we were already up-to-date.
+# Exit code 3: some updates were installed, but some weren't.
+# Any other exit code indicates failure.
+if (( $? == 0 || $? == 3 )); then
+ # Compilation spits out its progress onto stderr.
+ sa-compile 2>/dev/null
+
+ # Do you run spamd or amavisd? Both daemons need to be reloaded
+ # in order to pick up the newly-updated rules.
+ if command -v rc-service 2>/dev/null; then
+ # OpenRC is installed. These "status" checks should succeed
+ # only when the daemon is running under OpenRC. We redirect
+ # stderr to hide the lecture that OpenRC gives you if you
+ # try this on a system running systemd.
+ rc-service spamd status 2>/dev/null && rc-service spamd reload
+ rc-service amavisd status 2>/dev/null && rc-service amavisd reload
+ fi
+
+ if command -v systemctl 2>/dev/null; then
+ # The systemctl (systemd) executable is installed, so try to
+ # use it to restart spamd and amavisd. These are safe to run
+ # if systemd is installed but not in use.
+ systemctl try-restart spamassassin
+ systemctl try-restart amavisd
+ fi
+fi
diff --git a/mail-filter/spamassassin/metadata.xml b/mail-filter/spamassassin/metadata.xml
new file mode 100644
index 000000000000..e2f64879e901
--- /dev/null
+++ b/mail-filter/spamassassin/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo_bugs_peep@parallaxshift.com</email>
+ <name>Philippe Chaintreuil</name>
+ </maintainer>
+
+ <maintainer type="person">
+ <email>bug@mejor.pl</email>
+ <name>Marcin Mirosław</name>
+ </maintainer>
+
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <use>
+ <flag name="bayes">
+ Require a database (MySQL, SQLite, Postgres, or BerkDB) backend
+ to enable the Bayesian filtering database. If you use the Redis
+ backend, you do not need to enable this flag (Redis support is
+ enabled automatically, and has no external dependencies).
+ </flag>
+ <flag name="cron">
+ Install a cron job to update SpamAssassin's rules daily.
+ </flag>
+ <flag name="qmail">Build qmail functionality and docs</flag>
+ </use>
+</pkgmetadata>
diff --git a/mail-filter/spamassassin/spamassassin-3.4.1-r16.ebuild b/mail-filter/spamassassin/spamassassin-3.4.1-r16.ebuild
new file mode 100644
index 000000000000..3273f6b1706b
--- /dev/null
+++ b/mail-filter/spamassassin/spamassassin-3.4.1-r16.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit perl-functions systemd toolchain-funcs user
+
+MY_P="Mail-SpamAssassin-${PV//_/-}"
+S="${WORKDIR}/${MY_P}"
+DESCRIPTION="An extensible mail filter which can identify and tag spam"
+HOMEPAGE="http://spamassassin.apache.org/"
+SRC_URI="mirror://apache/spamassassin/source/${MY_P}.tar.bz2"
+
+LICENSE="Apache-2.0 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="berkdb cron ipv6 ldap libressl mysql postgres qmail sqlite ssl test"
+
+# The Makefile.PL script checks for dependencies, but only fails if a
+# required (i.e. not optional) dependency is missing. We therefore
+# require most of the optional modules only at runtime.
+REQDEPEND="dev-lang/perl:=
+ dev-perl/HTML-Parser
+ dev-perl/Net-DNS
+ dev-perl/NetAddr-IP
+ virtual/perl-Archive-Tar
+ virtual/perl-Digest-SHA
+ virtual/perl-IO-Zlib
+ virtual/perl-Time-HiRes
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )"
+
+# SpamAssassin doesn't use libwww-perl except as a fallback for when
+# curl/wget are missing, so we depend on one of those instead. Some
+# mirrors use https, so we need those utilities to support SSL.
+#
+# re2c is needed to compile the rules (sa-compile).
+#
+# We still need the old Digest-SHA1 because razor2 has not been ported
+# to Digest-SHA.
+OPTDEPEND="app-crypt/gnupg
+ dev-perl/Digest-SHA1
+ dev-perl/Encode-Detect
+ dev-perl/Geo-IP
+ dev-perl/HTTP-Date
+ dev-perl/Mail-DKIM
+ dev-perl/Mail-SPF
+ dev-perl/Net-Patricia
+ dev-perl/Net-CIDR-Lite
+ dev-util/re2c
+ || ( net-misc/wget[ssl] net-misc/curl[ssl] )
+ virtual/perl-MIME-Base64
+ virtual/perl-Pod-Parser
+ berkdb? ( virtual/perl-DB_File )
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ ldap? ( dev-perl/perl-ldap )
+ mysql? (
+ dev-perl/DBI
+ dev-perl/DBD-mysql
+ )
+ postgres? (
+ dev-perl/DBI
+ dev-perl/DBD-Pg
+ )
+ sqlite? (
+ dev-perl/DBI
+ dev-perl/DBD-SQLite
+ )
+ ssl? ( dev-perl/IO-Socket-SSL )"
+
+DEPEND="${REQDEPEND}
+ test? (
+ ${OPTDEPEND}
+ virtual/perl-Test-Harness
+ )"
+RDEPEND="${REQDEPEND} ${OPTDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/spamassassin-3.4.1-bug_7199.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7223.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7231.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7265.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7231-extra.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7404.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7462.patch"
+ "${FILESDIR}/spamassassin-3.4.1-perl526.patch"
+)
+
+src_prepare() {
+ default
+
+ # The sa_compile test does some weird stuff like hopping around in
+ # the directory tree and calling "make" to create a dist tarball
+ # from ${S}. It fails, and is more trouble than it's worth...
+ perl_rm_files t/sa_compile.t || die 'failed to remove sa_compile test'
+
+ # The spamc tests (which need the networked spamd daemon) fail for
+ # irrelevant reasons. It's too hard to disable them (unlike the
+ # spamd tests themselves -- see src_test), so use a crude
+ # workaround.
+ perl_rm_files t/spamc_*.t || die 'failed to remove spamc tests'
+}
+
+src_configure() {
+ # This is how and where the perl-module eclass disables the
+ # MakeMaker interactive prompt.
+ export PERL_MM_USE_DEFAULT=1
+
+ # Set SYSCONFDIR explicitly so we can't get bitten by bug 48205 again
+ # (just to be sure, nobody knows how it could happen in the first place).
+ #
+ # We also set the path to the perl executable explictly. This will be
+ # used to create the initial shebang line in the scripts (bug 62276).
+ perl Makefile.PL \
+ PREFIX="${EPREFIX}/usr" \
+ INSTALLDIRS=vendor \
+ SYSCONFDIR="${EPREFIX}/etc" \
+ DATADIR="${EPREFIX}/usr/share/spamassassin" \
+ PERL_BIN="${EPREFIX}/usr/bin/perl" \
+ ENABLE_SSL="$(usex ssl)" \
+ DESTDIR="${D}" \
+ || die 'failed to create a Makefile using Makefile.PL'
+
+ # Now configure spamc.
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" spamc/Makefile
+}
+
+src_compile() {
+ emake
+ use qmail && emake spamc/qmail-spamc
+}
+
+src_install () {
+ emake install
+ einstalldocs
+
+ # Create the stub dir used by sa-update and friends
+ keepdir /var/lib/spamassassin
+
+ # Move spamd to sbin where it belongs.
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/spamd "${ED}"/usr/sbin/spamd || die "move spamd failed"
+
+ if use qmail; then
+ dobin spamc/qmail-spamc
+ fi
+
+ ln -s mail/spamassassin "${ED}"/etc/spamassassin || die
+
+ # Disable plugin by default
+ sed -i -e 's/^loadplugin/\#loadplugin/g' \
+ "${ED}/etc/mail/spamassassin/init.pre" \
+ || die "failed to disable plugins by default"
+
+ # Add the init and config scripts.
+ newinitd "${FILESDIR}/3.4.1-spamd.init-r1" spamd
+ newconfd "${FILESDIR}/3.4.1-spamd.conf" spamd
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r3" "${PN}.service"
+ systemd_install_serviced "${FILESDIR}/${PN}.service.conf-r1" \
+ "${PN}.service"
+
+ use postgres && dodoc sql/*_pg.sql
+ use mysql && dodoc sql/*_mysql.sql
+
+ dodoc NOTICE TRADEMARK CREDITS UPGRADE USAGE sql/README.bayes \
+ sql/README.awl procmailrc.example sample-nonspam.txt \
+ sample-spam.txt spamd/PROTOCOL spamd/README.vpopmail \
+ spamd-apache2/README.apache
+
+ # Rename some files so that they don't clash with others.
+ newdoc spamd/README README.spamd
+ newdoc sql/README README.sql
+ newdoc ldap/README README.ldap
+
+ if use qmail; then
+ dodoc spamc/README.qmail
+ fi
+
+ insinto /etc/mail/spamassassin/
+ insopts -m0400
+ newins "${FILESDIR}"/secrets.cf secrets.cf.example
+
+ # Create the directory where sa-update stores its GPG key (if you
+ # choose to import one). If this directory does not exist, the
+ # import will fail. This is bug 396307. We expect that the import
+ # will be performed as root, and making the directory accessible
+ # only to root prevents a warning on the command-line.
+ diropts -m0700
+ dodir /etc/mail/spamassassin/sa-update-keys
+
+ if use cron; then
+ # Install the cron job if they want it.
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}/update-spamassassin-rules.cron" \
+ update-spamassassin-rules
+ fi
+
+ # Remove perllocal.pod to avoid file collisions (bug #603338).
+ perl_delete_localpod || die "failed to remove perllocal.pod"
+
+ # The perl-module eclass calls three other functions to clean
+ # up in src_install. The first fixes references to ${D} in the
+ # packlist, and is useful to us, too. The other two functions,
+ # perl_delete_emptybsdir and perl_remove_temppath, don't seem
+ # to be needed: there are no empty directories, *.bs files, or
+ # ${D} paths remaining in our installed image.
+ perl_fix_packlist || die "failed to fix paths in packlist"
+}
+
+src_test() {
+ # Trick the test suite into skipping the spamd tests. Setting
+ # SPAMD_HOST to a non-localhost value causes SKIP_SPAMD_TESTS to be
+ # set in SATest.pm.
+ export SPAMD_HOST=disabled
+ default
+}
+
+pkg_preinst() {
+ # The spamd daemon runs as this user. Use a real home directory so
+ # that it can hold SA configuration.
+ enewuser spamd -1 -1 /home/spamd
+}
+
+pkg_postinst() {
+ elog
+ elog 'No rules are installed by default. You will need to run sa-update'
+ elog 'at least once, and most likely configure SpamAssassin before it'
+ elog 'will work.'
+
+ if ! use cron; then
+ elog
+ elog 'You should consider a cron job for sa-update. One is provided'
+ elog 'for daily updates if you enable the "cron" USE flag.'
+ fi
+ elog
+ elog 'Configuration and update help can be found on the wiki:'
+ elog
+ elog ' https://wiki.gentoo.org/wiki/SpamAssassin'
+ elog
+}
diff --git a/mail-filter/spamassassin/spamassassin-3.4.1-r8.ebuild b/mail-filter/spamassassin/spamassassin-3.4.1-r8.ebuild
new file mode 100644
index 000000000000..85518af1a405
--- /dev/null
+++ b/mail-filter/spamassassin/spamassassin-3.4.1-r8.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit perl-functions systemd toolchain-funcs
+
+MY_P="Mail-SpamAssassin-${PV//_/-}"
+S="${WORKDIR}/${MY_P}"
+DESCRIPTION="An extensible mail filter which can identify and tag spam"
+HOMEPAGE="http://spamassassin.apache.org/"
+SRC_URI="mirror://apache/spamassassin/source/${MY_P}.tar.bz2"
+
+LICENSE="Apache-2.0 GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="+bayes berkdb cron ipv6 ldap libressl mysql postgres qmail sqlite ssl test"
+
+# You can do without a database unless you need the Bayes features.
+REQUIRED_USE="bayes? ( || ( berkdb mysql postgres sqlite ) )"
+
+# The Makefile.PL script checks for dependencies, but only fails if a
+# required (i.e. not optional) dependency is missing. We therefore
+# require most of the optional modules only at runtime.
+REQDEPEND="dev-lang/perl
+ dev-perl/HTML-Parser
+ dev-perl/Net-DNS
+ dev-perl/NetAddr-IP
+ virtual/perl-Archive-Tar
+ virtual/perl-Digest-SHA
+ virtual/perl-IO-Zlib
+ virtual/perl-Time-HiRes
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )"
+
+# SpamAssassin doesn't use libwww-perl except as a fallback for when
+# curl/wget are missing, so we depend on one of those instead. Some
+# mirrors use https, so we need those utilities to support SSL.
+#
+# re2c is needed to compile the rules (sa-compile).
+#
+# We still need the old Digest-SHA1 because razor2 has not been ported
+# to Digest-SHA.
+OPTDEPEND="app-crypt/gnupg
+ dev-perl/Digest-SHA1
+ dev-perl/Encode-Detect
+ dev-perl/Geo-IP
+ dev-perl/HTTP-Date
+ dev-perl/Mail-DKIM
+ dev-perl/Mail-SPF
+ dev-perl/Net-Patricia
+ dev-perl/Net-CIDR-Lite
+ dev-util/re2c
+ || ( net-misc/wget[ssl] net-misc/curl[ssl] )
+ virtual/perl-MIME-Base64
+ virtual/perl-Pod-Parser
+ berkdb? ( virtual/perl-DB_File )
+ ipv6? ( dev-perl/IO-Socket-INET6 )
+ ldap? ( dev-perl/perl-ldap )
+ mysql? (
+ dev-perl/DBI
+ dev-perl/DBD-mysql
+ )
+ postgres? (
+ dev-perl/DBI
+ dev-perl/DBD-Pg
+ )
+ sqlite? (
+ dev-perl/DBI
+ dev-perl/DBD-SQLite
+ )
+ ssl? ( dev-perl/IO-Socket-SSL )"
+
+DEPEND="${REQDEPEND}
+ test? (
+ ${OPTDEPEND}
+ virtual/perl-Test-Harness
+ )"
+RDEPEND="${REQDEPEND} ${OPTDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/spamassassin-3.4.1-bug_7199.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7223.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7231.patch"
+ "${FILESDIR}/spamassassin-3.4.1-bug_7265.patch"
+)
+
+src_prepare() {
+ default
+
+ # The sa_compile test does some weird stuff like hopping around in
+ # the directory tree and calling "make" to create a dist tarball
+ # from ${S}. It fails, and is more trouble than it's worth...
+ perl_rm_files t/sa_compile.t || die 'failed to remove sa_compile test'
+
+ # The spamc tests (which need the networked spamd daemon) fail for
+ # irrelevant reasons. It's too hard to disable them (unlike the
+ # spamd tests themselves -- see src_test), so use a crude
+ # workaround.
+ perl_rm_files t/spamc_*.t || die 'failed to remove spamc tests'
+}
+
+src_configure() {
+ # Set SYSCONFDIR explicitly so we can't get bitten by bug 48205 again
+ # (just to be sure, nobody knows how it could happen in the first place).
+ #
+ # We also set the path to the perl executable explictly. This will be
+ # used to create the initial shebang line in the scripts (bug 62276).
+ perl Makefile.PL \
+ PREFIX="${EPREFIX}/usr" \
+ INSTALLDIRS=vendor \
+ SYSCONFDIR="${EPREFIX}/etc" \
+ DATADIR="${EPREFIX}/usr/share/spamassassin" \
+ PERL_BIN="${EPREFIX}/usr/bin/perl" \
+ ENABLE_SSL="$(usex ssl)" \
+ DESTDIR="${D}" \
+ || die 'failed to create a Makefile using Makefile.PL'
+
+ # Now configure spamc.
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" spamc/Makefile
+}
+
+src_compile() {
+ PERL_MM_USE_DEFAULT=1 emake
+
+ if use qmail; then
+ emake spamc/qmail-spamc
+ fi
+}
+
+src_install () {
+ emake install
+ einstalldocs
+
+ # Create the stub dir used by sa-update and friends
+ keepdir /var/lib/spamassassin
+
+ # Move spamd to sbin where it belongs.
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/spamd "${ED}"/usr/sbin/spamd || die "move spamd failed"
+
+ if use qmail; then
+ dobin spamc/qmail-spamc
+ fi
+
+ ln -s mail/spamassassin "${ED}"/etc/spamassassin || die
+
+ # Disable plugin by default
+ sed -i -e 's/^loadplugin/\#loadplugin/g' \
+ "${ED}/etc/mail/spamassassin/init.pre" \
+ || die "failed to disable plugins by default"
+
+ # Add the init and config scripts.
+ newinitd "${FILESDIR}/3.4.1-spamd.init" spamd
+ newconfd "${FILESDIR}/3.4.1-spamd.conf" spamd
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+ systemd_install_serviced "${FILESDIR}/${PN}.service.conf"
+
+ # The sed statements in the following conditionals alter the init
+ # script to depend (or not) on the database being running before
+ # spamd is started. The sed commands either enable the dependency,
+ # or delete the line entirely.
+ if use postgres; then
+ sed -i -e 's:@USEPOSTGRES@::' "${ED}/etc/init.d/spamd" || die
+
+ dodoc sql/*_pg.sql
+ else
+ sed -i -e '/@USEPOSTGRES@/d' "${ED}/etc/init.d/spamd" || die
+ fi
+
+ if use mysql; then
+ sed -i -e 's:@USEMYSQL@::' "${ED}/etc/init.d/spamd" || die
+
+ dodoc sql/*_mysql.sql
+ else
+ sed -i -e '/@USEMYSQL@/d' "${ED}/etc/init.d/spamd" || die
+ fi
+
+ dodoc NOTICE TRADEMARK CREDITS UPGRADE USAGE sql/README.bayes \
+ sql/README.awl procmailrc.example sample-nonspam.txt \
+ sample-spam.txt spamd/PROTOCOL spamd/README.vpopmail \
+ spamd-apache2/README.apache
+
+ # Rename some files so that they don't clash with others.
+ newdoc spamd/README README.spamd
+ newdoc sql/README README.sql
+ newdoc ldap/README README.ldap
+
+ if use qmail; then
+ dodoc spamc/README.qmail
+ fi
+
+ insinto /etc/mail/spamassassin/
+ insopts -m0400
+ newins "${FILESDIR}"/secrets.cf secrets.cf.example
+
+ # Create the directory where sa-update stores its GPG key (if you
+ # choose to import one). If this directory does not exist, the
+ # import will fail. This is bug 396307. We expect that the import
+ # will be performed as root, and making the directory accessible
+ # only to root prevents a warning on the command-line.
+ diropts -m0700
+ dodir /etc/mail/spamassassin/sa-update-keys
+
+ if use cron; then
+ # Install the cron job if they want it.
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}/update-spamassassin-rules.cron" \
+ update-spamassassin-rules
+ fi
+}
+
+src_test() {
+ # Trick the test suite into skipping the spamd tests. Setting
+ # SPAMD_HOST to a non-localhost value causes SKIP_SPAMD_TESTS to be
+ # set in SATest.pm.
+ export SPAMD_HOST=disabled
+ default
+}
+
+pkg_postinst() {
+ elog
+ elog 'No rules are installed by default. You will need to run sa-update'
+ elog 'at least once, and most likely configure SpamAssassin before it'
+ elog 'will work.'
+
+ if ! use cron; then
+ elog
+ elog 'You should consider a cron job for sa-update. One is provided'
+ elog 'for daily updates if you enable the "cron" USE flag.'
+ fi
+ elog
+ elog 'Configuration and update help can be found on the wiki:'
+ elog
+ elog ' https://wiki.gentoo.org/wiki/SpamAssassin'
+ elog
+}
diff --git a/mail-filter/spambayes/Manifest b/mail-filter/spambayes/Manifest
new file mode 100644
index 000000000000..ba852754c241
--- /dev/null
+++ b/mail-filter/spambayes/Manifest
@@ -0,0 +1,11 @@
+AUX bayescustomize.ini 3968 SHA256 5a6b4067f7ec65850f4b6df4e26445171f9594906f76641636c416ea22e5974b SHA512 a9608e96fb50fb42f5d0ee746b0e242e465ad072f5c449ab3298b438f314806a24610f56b7dc33473ac6bae14f0c6ad7481699b12a7fc8cc4069fc7736689441 WHIRLPOOL 6a3fb5c100926ed045f285171278745e95af30c1ad9559f92007d6d84df4c39b35157b3ce7d17a7df579224b694ce700fc5b2db35ad2637ab8ffea22782da659
+AUX spambayespop3proxy.rc 580 SHA256 67149e2ae39e5ed02db5cd933815a5f44ea5572ac0eb640ace8e09a749f69489 SHA512 414e087a9096eb05453aa57c16563b21045b049354b37aeb0b23915550993cef110650f1283b8cfd31509d58441ca5a55bbe40de8570b6b552fd424edc09ec03 WHIRLPOOL 550ea3d0d7691d93a7759979d790dea58bae6fdb167afb4d1959c77e03d30630158fd02a1022208b601bf2f34a7043774a3e8e35274bea0351d29ce754189c70
+DIST spambayes-1.1a6.tar.gz 1007785 SHA256 14752d9930a4f103789918a26eaed0348d27329f34e14666edfc6d05b6b01053 SHA512 7b8a6c54e986666064871298e70a04781ff33bddc3274734596ea577860707d61f95408caefd5511f586e285f8d7620d18fe3e6efcbdd0b26a39808abe44e189 WHIRLPOOL f7d67447c72882f7612d93f68ad9ab2aa200b618bcda02eeb9b93e0bd288725f4bdf4b3a9ac30a66362f011f2b7c05dbb791b56dd8086b13203bcf58f5c795ff
+DIST spambayes-1.1b1.tar.gz 1008891 SHA256 9680db176e31366178662f863ed569488778b56b1e147303b95c8095d0921b4f SHA512 988acd799e9f4530099891f1d8582b29a4c156ddb5cf280623d2e9ac3566c1c9b9cbfa5f85d32161d7f1954364320f3795d500ac51e8944d140fcd3b626c3124 WHIRLPOOL a0d1048fab1ab07e0fbf49b51ee5af28c818d9368e49b9cdfc316d36f9204f181cbd960ae132d9c42da568c91cdb0771ab06e3ed0433e504a12cc3841daadb1d
+DIST spambayes-1.1b2.tar.gz 1001993 SHA256 8d186d1e7a67de88941f27e0cfcfb4e88fffd7706f51e9181a5bcdaa1b6f8294 SHA512 0f8e88a2b7d3200fbb08a8e55f549a06530cb2068215023f079bf2f4e399f2f7850bf4e9f01addb6a48f1e41a75872cc3909ca76b7567e2c93a9701bec7b2a39 WHIRLPOOL dd6c90939527dc3a283467df00e0ae787b75c4e55411c51a7d7133b2fb9dbead84569c7b9be3c05e7f5a7a387c8cd717e26556ae461b0f4dd3a09383b7e92515
+EBUILD spambayes-1.1_alpha6-r2.ebuild 825 SHA256 a821b4e9deba824052946d5768ded7a957cc0533145b6a63fe306550cbcaf221 SHA512 ec6bdae6ba39d485870228f4abacfa178251e54b05915bfb4cee7e29f844df953140adcb972a8d1fd78b3d6f50d507250bcdfa905db50a9dc2e753de0e4f2bec WHIRLPOOL c6ceab208ba6d4ae93f2abf03dc203ba1f39fabc1f711ea6a55760f2db049c009a0b6f92843893db58d4b0c0636a70e57bcf25c8ca8be833ee45d1a4ac61491d
+EBUILD spambayes-1.1_beta1.ebuild 824 SHA256 5d2a5fab0f5583817c84ecb46bf5f63c577eba86bc15baeb175541fcb384e2fc SHA512 a63e85e1042a9a266dd223ee194bb7152a0bbaefc7aa698863a3f77b71398fdc6d17b84bb16417fca50c8bfd5b05a994737b2ee126ba1c5d42aa6a6f4a3625dc WHIRLPOOL ea1c025d7f7c0925c95cef7a01a700d0f0206d03a952d449f6c9877421b75f9468e0d51a871e6c6dcef40072a91c8463c315edd4ab3ae643e73e4b3d38efee67
+EBUILD spambayes-1.1_beta2.ebuild 890 SHA256 e12352eaeb16437c45fb456213b9cfd9ad8131b14081d0571b9a455981bdb5a5 SHA512 6d29acc56f2d851e6845667324a5fac12c2b58c3c1fde971b54ac5dd9978bc5cd78b4bd2a34363b632648f3c2bfa590f5b3ee14adb3d6c3375013b051f068478 WHIRLPOOL 1580455db07eee873153b976187ad7fb01d07d404da76555c139441199c5c852b7c14af1934c4d75700b635dde745c86a685b4bc677dc0cfb923a5f10a5c0fdb
+MISC ChangeLog 2781 SHA256 1a802360a6eeb8bd80fb3f4572dc161ce2900747f8a54991187a1e5e93109866 SHA512 17778613e801b9aaa2f8b2dc76f937e07b5da781f6a60916d05146b4608bc6e2863cf278c29a90ebb435d5fe3aa7e367157e048af9f4ced2dbb1824ab447feba WHIRLPOOL f435ef0ce3893d6092937c708c8a07bb504e8cd45db71a67d0039f229a17095eeff0bc122d8c80740ae144f2ddb9441b90cb2ae52e7347c04882d64c088ef0b4
+MISC ChangeLog-2015 4834 SHA256 0501352f8c5f6571a86bda38e5d51dd1bb4b34062229f8bc6a77231a7c55a7cf SHA512 355e1c35341420e603306cba28a48993e77a5f7e7c5b4b4e3aaab9d4a360a21407275fbc44a67f7fd5b6bcf3db5002bf405ee3eae7dfb0fd6b31cc4a7ff40278 WHIRLPOOL 04aeeeb9fc034300b004fc85aaa8a7e51fdc8bc6e804d421373e404cbdfff08a7a12a748cf191fa21a7d2bd7adc6cd5707ceea0b1408340e9e625ac0ce4733d0
+MISC metadata.xml 300 SHA256 c17f4e5b6e0663a1a5d719efa1d40ad99af6f89965276befe52d2338cbd2ea99 SHA512 70cd147426080843aa4be83710c922d59fdf446e59b273808a3cbb856f8940fe1b4fc32fc62da65e57e142aa4b4efe761c636dd40aef2b5f950f263d72718598 WHIRLPOOL 02dd2861ac83dd3a89f3dd73bc374eb029b527f7fcd7bfbe2445eebc2913aa8e536a13e248b99936872311c493dfcb0023bd2c8a362835559de61b0b7f65ca21
diff --git a/mail-filter/spambayes/files/bayescustomize.ini b/mail-filter/spambayes/files/bayescustomize.ini
new file mode 100644
index 000000000000..b4eadc7a0a57
--- /dev/null
+++ b/mail-filter/spambayes/files/bayescustomize.ini
@@ -0,0 +1,171 @@
+[CV Driver]
+build_each_classifier_from_scratch: False
+
+[Categorization]
+ham_cutoff: 0.2
+spam_cutoff: 0.9
+
+[Classifier]
+max_discriminators: 150
+minimum_prob_strength: 0.1
+unknown_word_prob: 0.5
+unknown_word_strength: 0.45
+use_chi_squared_combining: True
+x-experimental_ham_spam_imbalance_adjustment: False
+x-use_bigrams: False
+
+[Hammie]
+train_on_filter: False
+
+[Headers]
+add_unique_id: True
+classification_header_name: X-Spambayes-Classification
+clue_mailheader_cutoff: 0.5
+evidence_header_name: X-Spambayes-Evidence
+header_ham_string: ham
+header_score_digits: 2
+header_score_logarithm: False
+header_spam_string: spam
+header_unsure_string: unsure
+include_evidence: False
+include_score: False
+include_thermostat: False
+include_trained: True
+mailid_header_name: X-Spambayes-MailId
+notate_subject:
+notate_to:
+score_header_name: X-Spambayes-Spam-Probability
+thermostat_header_name: X-Spambayes-Level
+trained_header_name: X-Spambayes-Trained
+
+[Storage]
+cache_expiry_days: 7
+cache_messages: True
+cache_use_gzip: False
+ham_cache: /var/lib/spambayes/pop3proxy-ham-cache
+messageinfo_storage_file: /var/lib/spambayes/spambayes.messageinfo.db
+no_cache_bulk_ham: False
+no_cache_large_messages: 0
+persistent_storage_file: /var/lib/spambayes/hammie.db
+persistent_use_database: dbm
+spam_cache: /var/lib/spambayes/pop3proxy-spam-cache
+unknown_cache: /var/lib/spambayes/pop3proxy-unknown-cache
+
+[TestDriver]
+best_cutoff_fn_weight: 1.0
+best_cutoff_fp_weight: 10.0
+best_cutoff_unsure_weight: 0.2
+compute_best_cutoffs_from_histograms: True
+ham_directories: Data/Ham/Set%d
+nbuckets: 200
+percentiles: 5 25 75 95
+pickle_basename: class
+save_histogram_pickles: False
+save_trained_pickles: False
+show_charlimit: 3000
+show_false_negatives: False
+show_false_positives: True
+show_ham_hi: 0.0
+show_ham_lo: 1.0
+show_histograms: True
+show_spam_hi: 0.0
+show_spam_lo: 1.0
+show_unsure: False
+spam_directories: Data/Spam/Set%d
+
+[Tokenizer]
+address_headers: from to cc sender reply-to
+basic_header_skip: received date x-.*
+basic_header_tokenize: False
+basic_header_tokenize_only: False
+check_octets: False
+count_all_header_lines: False
+generate_long_skips: True
+mine_received_headers: False
+octet_prefix_size: 5
+record_header_absence: False
+replace_nonascii_chars: False
+safe_headers: abuse-reports-to date errors-to from importance in-reply-to message-id mime-version organization received reply-to return-path subject to user-agent x-abuse-info x-complaints-to x-face
+skip_max_word_size: 12
+summarize_email_prefixes: False
+summarize_email_suffixes: False
+x-extract_dow: False
+x-fancy_url_recognition: False
+x-generate_time_buckets: False
+x-pick_apart_urls: False
+x-reduce_habeas_headers: False
+x-search_for_habeas_headers: False
+
+[URLRetriever]
+x-cache_directory: url-cache
+x-cache_expiry_days: 7
+x-only_slurp_base: False
+x-slurp_urls: False
+x-web_prefix:
+
+[ZODB]
+cache_size: 2000
+event_log_file:
+event_log_severity: 0
+folder_dir:
+ham_folders:
+spam_folders:
+zeo_addr:
+
+[globals]
+dbm_type: best
+proxy_password:
+proxy_server:
+proxy_username:
+verbose: False
+
+[html_ui]
+allow_remote_connections: localhost
+default_ham_action: ham
+default_spam_action: spam
+default_unsure_action: defer
+display_adv_find: False
+display_headers: Subject From
+display_received_time: False
+display_score: False
+ham_discard_level: 0.0
+http_authentication: None
+http_password: admin
+http_user_name: admin
+launch_browser: False
+port: 8880
+rows_per_section: 10000
+spam_discard_level: 100.0
+
+[imap]
+expunge: False
+filter_folders: INBOX
+ham_train_folders:
+move_trained_ham_to_folder:
+move_trained_spam_to_folder:
+password:
+server:
+spam_folder:
+spam_train_folders:
+unsure_folder:
+use_ssl: False
+username:
+
+[imapserver]
+password:
+port: 143
+username:
+
+[pop3proxy]
+allow_remote_connections: localhost
+listen_ports:
+remote_servers:
+
+[smtpproxy]
+allow_remote_connections: localhost
+ham_address: spambayes_ham@localhost
+listen_ports:
+remote_servers:
+spam_address: spambayes_spam@localhost
+use_cached_message: False
+
diff --git a/mail-filter/spambayes/files/spambayespop3proxy.rc b/mail-filter/spambayes/files/spambayespop3proxy.rc
new file mode 100644
index 000000000000..f2cfe40eddc9
--- /dev/null
+++ b/mail-filter/spambayes/files/spambayespop3proxy.rc
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+customize_ini=/etc/bayescustomize.ini
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting SpamBayes POP3 Proxy daemon"
+ export BAYESCUSTOMIZE="${customize_ini}"
+ start-stop-daemon --start --quiet --background --pidfile /var/run/spambayes.pid --make-pidfile --exec /usr/bin/sb_server.py
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping SpamBayes POP3 Proxy daemon"
+ start-stop-daemon --stop --quiet --pidfile /var/run/spambayes.pid --name sb_server.py
+ eend $?
+}
diff --git a/mail-filter/spambayes/metadata.xml b/mail-filter/spambayes/metadata.xml
new file mode 100644
index 000000000000..b6d87d151069
--- /dev/null
+++ b/mail-filter/spambayes/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="pypi">spambayes</remote-id>
+ <remote-id type="sourceforge">spambayes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/spambayes/spambayes-1.1_alpha6-r2.ebuild b/mail-filter/spambayes/spambayes-1.1_alpha6-r2.ebuild
new file mode 100644
index 000000000000..7cbb2c926682
--- /dev/null
+++ b/mail-filter/spambayes/spambayes-1.1_alpha6-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/_alpha/a}"
+
+DESCRIPTION="An anti-spam filter using on Bayesian filtering"
+HOMEPAGE="http://spambayes.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="PSF-2.2 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/bsddb3[${PYTHON_USEDEP}]
+ dev-python/lockfile[${PYTHON_USEDEP}]
+ dev-python/setuptools"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc -r *.txt contrib utilities testtools
+
+ newinitd "${FILESDIR}"/spambayespop3proxy.rc spambayespop3proxy
+
+ insinto /etc
+ doins "${FILESDIR}"/bayescustomize.ini
+
+ keepdir /var/lib/spambayes
+}
diff --git a/mail-filter/spambayes/spambayes-1.1_beta1.ebuild b/mail-filter/spambayes/spambayes-1.1_beta1.ebuild
new file mode 100644
index 000000000000..389070b0ef58
--- /dev/null
+++ b/mail-filter/spambayes/spambayes-1.1_beta1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/_beta/b}"
+
+DESCRIPTION="An anti-spam filter using on Bayesian filtering"
+HOMEPAGE="http://spambayes.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="PSF-2.2 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/bsddb3[${PYTHON_USEDEP}]
+ dev-python/lockfile[${PYTHON_USEDEP}]
+ dev-python/setuptools"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc -r *.txt contrib utilities testtools
+
+ newinitd "${FILESDIR}"/spambayespop3proxy.rc spambayespop3proxy
+
+ insinto /etc
+ doins "${FILESDIR}"/bayescustomize.ini
+
+ keepdir /var/lib/spambayes
+}
diff --git a/mail-filter/spambayes/spambayes-1.1_beta2.ebuild b/mail-filter/spambayes/spambayes-1.1_beta2.ebuild
new file mode 100644
index 000000000000..ed11cd3e9d9b
--- /dev/null
+++ b/mail-filter/spambayes/spambayes-1.1_beta2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/_beta/b}"
+
+DESCRIPTION="An anti-spam filter using on Bayesian filtering"
+HOMEPAGE="http://spambayes.sourceforge.net"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
+ mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="PSF-2.2 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/bsddb3[${PYTHON_USEDEP}]
+ dev-python/lockfile[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc -r *.txt contrib utilities testtools
+
+ newinitd "${FILESDIR}"/spambayespop3proxy.rc spambayespop3proxy
+
+ insinto /etc
+ doins "${FILESDIR}"/bayescustomize.ini
+
+ keepdir /var/lib/spambayes
+}
diff --git a/mail-filter/spamdyke/Manifest b/mail-filter/spamdyke/Manifest
new file mode 100644
index 000000000000..9a833286caff
--- /dev/null
+++ b/mail-filter/spamdyke/Manifest
@@ -0,0 +1,9 @@
+AUX spamdyke-4.3.0-gcc46.patch 237 SHA256 608dec91f87afbec072f7fbc9c7a937beee3f25c81a6970bb33271315e160f1e SHA512 3714399437215680057a2266added2c158f015da518f4e00021f7a1492c287fdf8db4875b0c5f7e242782cc40f676dca9f610931047a7d23f8bdd5876e629846 WHIRLPOOL b91452df9d007ec1b6b1f7843f42ea0ae38152585e05573a53505f5eff582e8ef3aa9ca63ea901ded12111af0376426fec5df57f7ac60fd9160f9ddf888747c0
+DIST spamdyke-4.3.0.tgz 525399 SHA256 6a217cfd513c3414d859cc107cc7528f94b1c452764ed192ef5774eddf4111c3 SHA512 6ba4b440e6d20e677c39439c78037ae3e2ff291bde7f48500a4e2eac8a3f17eeb7230b8ded7feee60c66f01b6aec2d259eb2d9a5794535860345957b1102d118 WHIRLPOOL c5d2cd8ba5ea31b0dcda0dbed661a3df238d9c79fbeaf2163594c1ac1471b2e9db64e290c5b0fb10e03210cae3e4109409d5c04464ce1f0364896afd980b8969
+DIST spamdyke-5.0.1.tgz 383720 SHA256 9d096921a4efd8d84e2de7b28af4acc6c00d57fd60b47aa4f96fec8813247770 SHA512 a022c8a8d4a8d74f5249f8e2d901d3de423ee853bbaffaf7e86cece1d19880d9039135892ef6ccb8a2a0fb11532c487402dc97a8dd6d89c9de431752c55f6eb9 WHIRLPOOL e9995c1bf017f9929129e9095be7d8fea22f695fec01405093f500fcab3a3c93c55dc5113536b41be3bd29650104931868e51a0b31d64a97458e4e3b946cf52f
+EBUILD spamdyke-4.3.0-r1.ebuild 2215 SHA256 6b847c35b850abbce1471a2fd3cb5ec773989830c364ae634de2e0682eef4a09 SHA512 9ed4ff5d87c2af68fe75941636df32e4e502d44bb997ffe0a392dcf4a5caad979aabdfabb3932e31292f850771c4e3be59686e61b9d8f761cee03dbce13f6229 WHIRLPOOL 223c79f887efbb69dcbc2f8d9b9d3420a0b98c4bab4d7f0d4f54fbbfe065f1f19cfe7733333c0adf1f940fcb7219c4843a08c14bfcc382ec68cc5eae34d3dbe3
+EBUILD spamdyke-4.3.0.ebuild 2148 SHA256 4e81ed0085b1388b055a498e95236cdb18485670b382a083f99bfb3100bfeedb SHA512 36be65f2dc8efcb42a8f4c00c36f1974d553ea7a36c3e93ee36b838b72ae1f2faed316bd4682af958e0b38e588477cf65aef4581abe4efc2a01b9f4f00fd45b0 WHIRLPOOL f126826a70f4346d6bad8e6a60055a73c93d68825edc8582abb457b3fe5fd5dfe9ef22fb7029050142e9fb528f3c498aa0d186e4e0fb9cb0c0d8e75699feac68
+EBUILD spamdyke-5.0.1.ebuild 1994 SHA256 07f76b8f2e83f4e2dd7527dd8fe088e5e8509e4fbc9cd66d0583858ac69cf19e SHA512 6f96e89dacb6987256150de1ad7ade3041a40561d77400816ab1c14b5cfde1eb4dc434aa85ee96029fe113efc4103fb30362e1be33bddfa7025d9a944287f643 WHIRLPOOL 471a55f0f123a2ba0ea41f6d9d5fa89270662ca4e11281f32268b3c6009cb8380d74c89e71023080baf9334c1568f5b5389a9516e90fe8831d33c42662940f2e
+MISC ChangeLog 3814 SHA256 586cd3b835134f24bcd359299524295e3f70fde5b6e7fb3d21b4ef3d2fa8f588 SHA512 debb12fa2bffa45a3ce967d8e9ef6983d2c72e4f119fbf4df5e00d907b526909c18066ef2a65eddf23987f62cf4c7ff809b50b7fec05940e1655334bbfd1804b WHIRLPOOL ac9d955714c4132675bbbd4312386eefc79f1e752e16c7afc463e77548b747a904d6d77067bb0b0a3a46c4f10a644de8edc8204b1a66c6a2f251e236ad50a3e2
+MISC ChangeLog-2015 3859 SHA256 d912943919fa596c99bff3d67af91cbb7106b160be225b245c15ca984cc22595 SHA512 437b0dbe8ca3c0b0dccf1ff06b668ce2b7ff51485418a3e699c0909149db57310de8b3a97a2cac27178bb1e9791a5b7d069ec8e28257cb8c6e45067d4609f174 WHIRLPOOL be1cb4e7b30b1533d71ef4532a1ce0b0157136287cc3ef064a97f77ea61ce4bec89032660b433bdf296bcc89aad720cee2383d14850111a9012d91ec2627a3ec
+MISC metadata.xml 773 SHA256 623dead42353c344f68d5b1b17cdd5feb45418f6256cf1f5030d11dc54f2fcf3 SHA512 a54127931e0e83ec0ef1ffbabbe39ed84502e9228cc6f13c0cf89dc7fdc33efd43e593a1a983930b86d0234f4bf18c44ef89d42e3ad614406adaab3150538f19 WHIRLPOOL cb3b782db71b93a22ea2aa9b286e9764b62c95fdfb2f9823bf6f67bc06d9a11089e99af367d04764a354137e3b6ec9ccc35806d3a1a8bcacbc2b3a13932ec8cf
diff --git a/mail-filter/spamdyke/files/spamdyke-4.3.0-gcc46.patch b/mail-filter/spamdyke/files/spamdyke-4.3.0-gcc46.patch
new file mode 100644
index 000000000000..f9428bee6bf0
--- /dev/null
+++ b/mail-filter/spamdyke/files/spamdyke-4.3.0-gcc46.patch
@@ -0,0 +1,10 @@
+--- configure.ac.old 2011-04-07 09:37:58.000000000 +0200
++++ configure.ac 2011-04-07 09:38:12.000000000 +0200
+@@ -22,7 +22,6 @@
+ AC_CONFIG_HEADER([config.h])
+
+ AC_LANG_WERROR
+-CFLAGS=-Wall
+
+ # Checks for programs.
+ AC_PROG_CC([[gcc]])
diff --git a/mail-filter/spamdyke/metadata.xml b/mail-filter/spamdyke/metadata.xml
new file mode 100644
index 000000000000..3bc3b4025696
--- /dev/null
+++ b/mail-filter/spamdyke/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription lang="en">
+spamdyke is a filter for monitoring and intercepting SMTP connections between a
+remote host and a qmail server. Spam is blocked while the remote server
+(spammer) is still connected; no additional processing or storage is needed.
+
+In addition to all of its anti-spam filters, spamdyke also includes a number of
+features to enhance qmail.
+
+Best of all, using spamdyke does not require patching or recompiling qmail!
+</longdescription>
+<use>
+ <flag name="ssl">Enables TLS protocol for spamdyke</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-filter/spamdyke/spamdyke-4.3.0-r1.ebuild b/mail-filter/spamdyke/spamdyke-4.3.0-r1.ebuild
new file mode 100644
index 000000000000..a91c7403a927
--- /dev/null
+++ b/mail-filter/spamdyke/spamdyke-4.3.0-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils autotools
+
+DESCRIPTION="A drop-in connection-time spam filter for qmail"
+HOMEPAGE="http://www.spamdyke.org/"
+SRC_URI="http://www.spamdyke.org/releases/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl +ssl"
+
+DEPEND="
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )"
+RDEPEND="${DEPEND}
+ virtual/qmail"
+
+S=${WORKDIR}/${P}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc46.patch
+ echo "# Configuration option for ${PN}" > ${PN}.conf
+ if use ssl; then
+ echo "tls-certificate-file=/var/qmail/control/clientcert.pem" \
+ >> ${PN}.conf
+ fi
+ echo "graylist-level=always-create-dir" >> ${PN}.conf
+ echo "graylist-dir=/var/tmp/${PN}/graylist" >> ${PN}.conf
+ echo "reject-empty-rdns" >> ${PN}.conf
+ echo "reject-unresolvable-rdns" >> ${PN}.conf
+ echo "dns-blacklist-entry=zen.spamhaus.org" >> ${PN}.conf
+ echo "local-domains-file=/var/qmail/control/rcpthosts" >> ${PN}.conf
+ sed -i \
+ -e "/STRIP_CMD/d" \
+ Makefile.in || die "sed on Makefile.in failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ssl tls) || die "econf failed"
+ cd ../utils
+ econf || die "econf failed in utils"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}" || die "emake failed"
+ cd ../utils
+ emake CFLAGS="${CFLAGS}" || die "emake in utils died"
+}
+
+src_install() {
+ dobin ${PN} || die "Installing ${PN} binary failed"
+ insinto /etc/${PN}
+ doins ${PN}.conf || die "Installing ${PN} configuration file failed"
+ dodir /var/tmp/${PN}/graylist
+ fowners -R qmaild /var/tmp/${PN}/graylist
+ cd ../utils
+ dobin domain2path || die "Installing domain2path binary failed"
+ cd ../documentation
+ dodoc {Changelog,INSTALL,UPGRADING}.txt
+ dohtml FAQ.html \
+ README.html \
+ README_ip_file_format.html \
+ README_rdns_directory_format.html \
+ README_rdns_file_format.html
+}
+
+pkg_postinst() {
+ elog "In /var/qmail/control/conf-smtpd insert the line:"
+ elog "QMAIL_SMTP_PRE=\"${QMAIL_SMTP_PRE} spamdyke -f /etc/${PN}/${PN}.conf\""
+ elog "Run spamdyke with the '-h' flag to see the available options and"
+ elog "update /etc/spamdyke/spamdyke.conf accordingly"
+}
diff --git a/mail-filter/spamdyke/spamdyke-4.3.0.ebuild b/mail-filter/spamdyke/spamdyke-4.3.0.ebuild
new file mode 100644
index 000000000000..14564e0a21c3
--- /dev/null
+++ b/mail-filter/spamdyke/spamdyke-4.3.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils autotools
+
+DESCRIPTION="A drop-in connection-time spam filter for qmail"
+HOMEPAGE="http://www.spamdyke.org/"
+SRC_URI="http://www.spamdyke.org/releases/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+ssl"
+
+DEPEND="ssl? ( dev-libs/openssl )"
+RDEPEND="${DEPEND}
+ virtual/qmail"
+
+S=${WORKDIR}/${P}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc46.patch
+ echo "# Configuration option for ${PN}" > ${PN}.conf
+ if use ssl; then
+ echo "tls-certificate-file=/var/qmail/control/clientcert.pem" \
+ >> ${PN}.conf
+ fi
+ echo "graylist-level=always-create-dir" >> ${PN}.conf
+ echo "graylist-dir=/var/tmp/${PN}/graylist" >> ${PN}.conf
+ echo "reject-empty-rdns" >> ${PN}.conf
+ echo "reject-unresolvable-rdns" >> ${PN}.conf
+ echo "dns-blacklist-entry=zen.spamhaus.org" >> ${PN}.conf
+ echo "local-domains-file=/var/qmail/control/rcpthosts" >> ${PN}.conf
+ sed -i \
+ -e "/STRIP_CMD/d" \
+ Makefile.in || die "sed on Makefile.in failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ssl tls) || die "econf failed"
+ cd ../utils
+ econf || die "econf failed in utils"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}" || die "emake failed"
+ cd ../utils
+ emake CFLAGS="${CFLAGS}" || die "emake in utils died"
+}
+
+src_install() {
+ dobin ${PN} || die "Installing ${PN} binary failed"
+ insinto /etc/${PN}
+ doins ${PN}.conf || die "Installing ${PN} configuration file failed"
+ dodir /var/tmp/${PN}/graylist
+ fowners -R qmaild /var/tmp/${PN}/graylist
+ cd ../utils
+ dobin domain2path || die "Installing domain2path binary failed"
+ cd ../documentation
+ dodoc {Changelog,INSTALL,UPGRADING}.txt
+ dohtml FAQ.html \
+ README.html \
+ README_ip_file_format.html \
+ README_rdns_directory_format.html \
+ README_rdns_file_format.html
+}
+
+pkg_postinst() {
+ elog "In /var/qmail/control/conf-smtpd insert the line:"
+ elog "QMAIL_SMTP_PRE=\"${QMAIL_SMTP_PRE} spamdyke -f /etc/${PN}/${PN}.conf\""
+ elog "Run spamdyke with the '-h' flag to see the available options and"
+ elog "update /etc/spamdyke/spamdyke.conf accordingly"
+}
diff --git a/mail-filter/spamdyke/spamdyke-5.0.1.ebuild b/mail-filter/spamdyke/spamdyke-5.0.1.ebuild
new file mode 100644
index 000000000000..9be8f12fbc65
--- /dev/null
+++ b/mail-filter/spamdyke/spamdyke-5.0.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="A drop-in connection-time spam filter for qmail"
+HOMEPAGE="http://www.spamdyke.org/"
+SRC_URI="http://www.spamdyke.org/releases/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl +ssl"
+
+DEPEND="
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )"
+
+RDEPEND="
+ ${DEPEND}
+ virtual/qmail"
+
+S="${WORKDIR}/${P}/${PN}"
+
+src_prepare() {
+ echo "# Configuration option for ${PN}" > ${PN}.conf || die
+ if use ssl; then
+ echo "tls-certificate-file=/var/qmail/control/clientcert.pem" \
+ >> ${PN}.conf || die
+ fi
+ cat <<- EOF >> ${PN}.conf || die
+graylist-level=always-create-dir
+graylist-dir=/var/tmp/${PN}/graylist
+reject-empty-rdns
+reject-unresolvable-rdns
+dns-blacklist-entry=zen.spamhaus.org
+local-domains-file=/var/qmail/control/rcpthosts
+EOF
+ sed -i \
+ -e "/STRIP_CMD/d" \
+ Makefile.in || die "sed on Makefile.in failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ssl tls)
+ cd ../utils || die
+ econf
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+ cd ../utils
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ insinto /etc/${PN}
+ doins ${PN}.conf
+ dodir /var/tmp/${PN}/graylist
+ fowners -R qmaild /var/tmp/${PN}/graylist
+ cd ../utils || die
+ dobin domain2path
+ cd ../documentation || die
+ dodoc {Changelog,INSTALL,UPGRADING}.txt
+ dohtml FAQ.html \
+ README.html \
+ README_ip_file_format.html \
+ README_rdns_directory_format.html \
+ README_rdns_file_format.html
+}
+
+pkg_postinst() {
+ ewarn "Change /var/qmail/control/conf-common:SOFTLIMIT_OPTS="-m 16000000""
+ ewarn "to 32000000 or spamdyke will fail to load"
+ elog "In /var/qmail/control/conf-smtpd insert the line:"
+ elog "QMAIL_SMTP_PRE=\"${QMAIL_SMTP_PRE} spamdyke -f /etc/${PN}/${PN}.conf\""
+ elog "Run spamdyke with the '-h' flag to see the available options and"
+ elog "update /etc/spamdyke/spamdyke.conf accordingly"
+}
diff --git a/mail-filter/spampd/Manifest b/mail-filter/spampd/Manifest
new file mode 100644
index 000000000000..660fd16c1882
--- /dev/null
+++ b/mail-filter/spampd/Manifest
@@ -0,0 +1,10 @@
+AUX conf 665 SHA256 efce536ae345412cf963e561ffe4682b226f9ddb50be2c0d9541dfddc7734fc9 SHA512 f184a784261923b8e36279c5cca24783812617220d266f5f16f15e83e2e2f3b0f9c1b9a82b9b3ac7d297b28a15af78d858f9f250757171187e6ff2c885a3b741 WHIRLPOOL 75077e5d3f384a8d1275e204d21a4938a4d288fee97c0b65cf079fb385c17b1a2818ec800135ed2daf78803830e95a0bd85f0b2b3eca036c7b8f4567bfd6c666
+AUX init 526 SHA256 60d9720da3345495160d8fa433265476bf284e2bc1cdb1e40d51e1c27ada697d SHA512 bae9152a51e07f702649b64f0d44b12d115242dd9b44bc12b2695647eaedd635180d6cff31c26a203df7ce0ae7623db274c64d2c3eb80258aa0c6a92f31cb55f WHIRLPOOL b16160ee4796e51b0ce00f79c68ff57e3703387aa9e21bf29ac685e7ebe635fdc26df01dbc9b06da02d45cc89f871ff7c681b89c38756f90a3ba40459c72ace9
+AUX init-r1 521 SHA256 23f04352ad394b255f8fdf552e56ff7f31749a131e3958edbe5ac4e5ca31aa11 SHA512 fc32a28811b9d7f0d6f6d3d53b10df1b49b8ec68aaa058f5309809aa4c1e4ac17b5823b3b0f46b0823297b00548c45acff54acdb9c5f8e612260462fde2f8d72 WHIRLPOOL 3c07e2e0df6423cbfa09496c1d03bff075606da5ad90e296d37ff2e4ce8523e28e9658c7879bcbfeb772bbfa8ef1be3f42ab9ce6eab955b82aee42e722630b21
+DIST spampd-2.30.tar.gz 25001 SHA256 6885544f4d1b339ebe3ad58068434397280a6526f682e78f7d0246aef6a09979 SHA512 6f45016ef449e914bd23ddc1b9de508e7d068f198e587038de5b54dddb6ce4de451eca7f7e63a91e6a51423765fd971107a39a39c4f64e0ad1a37d5a885775f9 WHIRLPOOL 1d59bd2af47f546484f2aeecf02b3f151c579b9cb52daf423d28c56beb942a5f6c0dd2439f24a119703d035d4bfe313ec7b5951c6dd0ce7bbaa0e52c99151a64
+DIST spampd-2.42.tar.gz 202504 SHA256 c6dcef8df0c471b3982e777bcccfe343f1f6f921113c2b369a76144724b1d15d SHA512 5c44b5902efd6c628fb62887b755012b137940d7d687f5d9489e5f96623d6eeca5f3641a76fe3b2ce8585040c3661e19df981c612cdb1a767b4a46fec982fa4e WHIRLPOOL 6cd3ad9feac99d7bdd02d0824a7cb067a83c86f64552aa59ee9dabd021499bd75ff9e79bd10191e74f5887d8b6e461699970c61b832c7ee48976df61d191f54d
+EBUILD spampd-2.30.ebuild 665 SHA256 a67a4ea30e41cf1664599ad1614f741eead76cb90d47ae3af9b32e39d38f57c9 SHA512 31616d626c0606ed6448e941675e077816d074aac107392d35dd5a740473d605fff7dcb9e3b5d577e8f4e9b4d1ccc918106b2e4d57a7f485cf62a8aa97937aa5 WHIRLPOOL 043bb6e6f151ab23271098a1489ace8d7138344aad42016e4bba674bcfb753a209b2fadf2eba9e2cb1a5f777709efc82564f56e28835fba64b30ebab8f6bf113
+EBUILD spampd-2.42.ebuild 718 SHA256 5a4ce218bfcc4e63f1c7474d7fc3e015a3b73eb060616bfa171f88a33981baa0 SHA512 e8362a3e3760674e25b1260d9f693f73c57bf760eff08de24c3afa702ad5731bd0d975397d222b4a28f67ef1fba560a82e9344d385548b4728bb9e82429d5330 WHIRLPOOL bbe0e6934ec53faf564f66d140b983062b22c3b3d100f6d2f0d8baf05f30edf60d25ef9bbcada6ed561778e7cfc6164c8d5cc856f3a51fb7516d3fa98b60f65f
+MISC ChangeLog 2944 SHA256 86a08472235f5fcc13a74dde5f0379caf6be4f718b81c241878c1175bea56b45 SHA512 53c4810c570d74e19958894768040f82ad121e9b123a549746230d9f3b1c1b91ccfb50a8914fc6b6acfacc11179b384a3b17b7f6af4063fa3dd10ad4d7f67860 WHIRLPOOL 1cbf6197d06fd6f330046164b57f23d3833537f78c3691fc1a0276fe2fc6e3898a2da96cded170ef086326acc4601c2ecf45ef1c21700be5b237a688915dcbbc
+MISC ChangeLog-2015 2454 SHA256 09f4a041222e99c41b4a3a35a049f4695108f8eb90ece88235b6d9ecbf16bde8 SHA512 b44bac6689418560e31332e5f419110e8918c7920c09a9efd78fb7e413df69f754c7b990f6fccda82a9db777ad1b59ccc2dcf4bc546eec8737169eefa65b599a WHIRLPOOL 4bffe81b34a526cce673bd5cc7f4680144c07ff79142ca46d741f9d00aac85df13cec2f3b29a7b99fee10ee892577187ac647f5e2483acd56d0a06000a9be27a
+MISC metadata.xml 324 SHA256 c0942038879594ceff6e057b1c93e8475b0f17fe19986156d08eb81cfcb208ae SHA512 a31c89117ac8aa7eb2f9879c0fc84bfb3b0033d04332ecf589c220de55b6d8616809fb94961902e3f3dfd52d7ac257240bc6a368618ff085731b5cf4b9c2b36d WHIRLPOOL af262a3648132d7aeb37e48d83456b9422633f8012ce25576816a6ddb8cddf3a23256714b13e77bd3f5fee86dbdc691cfb0502ddb483497aa9a955aa063ef3e2
diff --git a/mail-filter/spampd/files/conf b/mail-filter/spampd/files/conf
new file mode 100644
index 000000000000..64abe21dd1b0
--- /dev/null
+++ b/mail-filter/spampd/files/conf
@@ -0,0 +1,15 @@
+# This is the configuration file that /etc/init.d/spampd sources when
+# started.
+
+# SPAMPD_OPTS defines the command-line arguments to be passed to the
+# spampd daemon upon start-up. A complete list of options can be
+# found in the documentation, or by issuing the command
+# "/usr/sbin/spampd --help"
+
+SPAMPD_OPTS="--host=localhost:10025 --relayhost=localhost:10026 --tagall"
+
+# Note: (from the Installation section in the spampd documentation)
+# "Note that spampd replaces spamd from the SpamAssassin distribution
+# in function. You do not need to run spamd in order for spampd to
+# work. This has apparently been the source of some confusion, so now
+# you know."
diff --git a/mail-filter/spampd/files/init b/mail-filter/spampd/files/init
new file mode 100644
index 000000000000..7a5171e46034
--- /dev/null
+++ b/mail-filter/spampd/files/init
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: spampd configuration file is /etc/conf.d/spampd
+
+depend() {
+ use net
+}
+
+start() {
+ ebegin "Starting spampd"
+ start-stop-daemon --start --quiet \
+ --exec /usr/sbin/spampd -- --pid=/var/run/spampd.pid \
+ ${SPAMPD_OPTS}
+ eend $? "Failed to start spampd"
+}
+
+stop() {
+ ebegin "Stopping spampd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/spampd.pid
+ eend $? "Failed to stop spampd"
+}
diff --git a/mail-filter/spampd/files/init-r1 b/mail-filter/spampd/files/init-r1
new file mode 100644
index 000000000000..b6402e4b5b55
--- /dev/null
+++ b/mail-filter/spampd/files/init-r1
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: spampd configuration file is /etc/conf.d/spampd
+
+depend() {
+ use net
+}
+
+start() {
+ ebegin "Starting spampd"
+ start-stop-daemon --start --quiet \
+ --exec /usr/sbin/spampd.pl -- --pid=/run/spampd.pid \
+ ${SPAMPD_OPTS}
+ eend $? "Failed to start spampd"
+}
+
+stop() {
+ ebegin "Stopping spampd"
+ start-stop-daemon --stop --quiet --pidfile /run/spampd.pid
+ eend $? "Failed to stop spampd"
+}
diff --git a/mail-filter/spampd/metadata.xml b/mail-filter/spampd/metadata.xml
new file mode 100644
index 000000000000..d3033f57f726
--- /dev/null
+++ b/mail-filter/spampd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mpaperno/spampd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/spampd/spampd-2.30.ebuild b/mail-filter/spampd/spampd-2.30.ebuild
new file mode 100644
index 000000000000..63b30d6a9061
--- /dev/null
+++ b/mail-filter/spampd/spampd-2.30.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="spampd is a program to scan messages for possible Unsolicited Commercial E-mail content"
+HOMEPAGE="http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm"
+SRC_URI="http://www.worlddesign.com/Content/rd/mta/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-Server
+ mail-filter/spamassassin"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ dosbin spampd
+ dodoc changelog.txt spampd-rh-rc-script
+ dohtml spampd.html
+ newinitd "${FILESDIR}"/init spampd
+ newconfd "${FILESDIR}"/conf spampd
+}
diff --git a/mail-filter/spampd/spampd-2.42.ebuild b/mail-filter/spampd/spampd-2.42.ebuild
new file mode 100644
index 000000000000..cc46ce177c5e
--- /dev/null
+++ b/mail-filter/spampd/spampd-2.42.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="spampd is a program to scan messages for possible Unsolicited Commercial E-mail content"
+HOMEPAGE="http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm"
+SRC_URI="https://github.com/mpaperno/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="dev-lang/perl
+ dev-perl/Net-Server
+ mail-filter/spamassassin"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ dosbin spampd.pl
+ dodoc changelog.txt misc/spampd-rh-rc-script.sh misc/spampd.service
+ dohtml spampd.html
+ newinitd "${FILESDIR}"/init-r1 spampd
+ newconfd "${FILESDIR}"/conf spampd
+}
diff --git a/mail-filter/spamprobe/Manifest b/mail-filter/spamprobe/Manifest
new file mode 100644
index 000000000000..675da52fa32b
--- /dev/null
+++ b/mail-filter/spamprobe/Manifest
@@ -0,0 +1,10 @@
+AUX spamprobe-1.4b-gcc43.patch 4002 SHA256 61e1ba0b7c0046f77fe7c2e41c802ecb3873bd548ceb52e9ef0f4aa94a6e1993 SHA512 4ae363124ced22ee9c1b6fba934cb320e491230e5b553bbcb13d20b2ff07e5c554be78088017f1e3f88ed0c5189a5055c136d0d5cfdb467cce3318b65ef8f775 WHIRLPOOL 4e5a0e6b98347027cd86ab9f5e6f6d7453ad5da69964f180edca941878d4eb9c298024528994fb2403e4d14fa575f09ac906bfad8a37e1b28841502840a9782b
+AUX spamprobe-1.4d+db-5.0.patch 768 SHA256 787e0a16d712718ba97c9e7f23a62b966bda630c5ba8e8368876a92c959f2ac4 SHA512 da18dd185dfdf31f91b82de0d6d9ac4230db90cebb4decf880b3c931968653afc1879ddf30893ae9d74f3962539d33c8dcdcfec10fe0117e717a29346633706a WHIRLPOOL b4e71e71e6fc0f8be627a6a41e5eafdf0f44dcf4e7b7fa68865437e4b1d1802ad90d727e4771ee8feb2d4e1ad9561a103b9f2f113e32bebd5cac216963bc134f
+AUX spamprobe-1.4d-gcc47.patch 636 SHA256 bbb7414c399a63e48d0eea318009fd1423ddcc18e0243d836e6f728bbb882c7c SHA512 4148ff29d0d610dd5a7a4550c4424f49723f53f0954873a799180aff12dbe517846930f5e976edf39f6eb48122b7ccb1cb90a741ecb7dfe76b9af9c1b7194e52 WHIRLPOOL 5e77582148bedae17e311fe4e6a11e0da2536d9aad2ab57885cbe57faf05abf567cefde4f47dca5840e355b3dcea3eaf7d1624d3b746f1eb67a4b55b30d102aa
+AUX spamprobe-1.4d-giflib5.patch 650 SHA256 d279ef77ba2beaef1ee56989fdb5b052be5cc614942f7a4eb3de017c41a48098 SHA512 982730b1f442f8ce30b0e82f75bb21a6b2e3294441ea972d575c21612b5445acaf8528fbf57f1a2ac93049e93ae8a857e85bf3a5108a2d2702ed01ff76c862aa WHIRLPOOL 51c27c935e41629d8712477330686f145f4e7c1d65b6c40bec4f7fff1f622c96949e02a2051db368f5c458382345943f553b2edd8550c5642280ed18bd70481b
+AUX spamprobe-1.4d-libpng14.patch 790 SHA256 6a82ec4ad5b5e31667bd531b3abc19e97ece5fae8f41da19cd1aac9584bcf819 SHA512 19e471ed2920a88fd6e4df7cac1aaf2f86d275f3d2f74ce467e1ce1ce88365bde241bb9350d18d5dcf8c165cce5b509ed694227e2ee82e7198470303d14dc50a WHIRLPOOL 4d6208d873e5f8f7748f4654775a533e07f079d6ec80ba30b39d9011d288fe0511fb746725a33b251db1029f490adec82fc17aed3a1fed9cc50b3a49a934faa3
+DIST spamprobe-1.4d.tar.gz 262761 SHA256 217ce47dcc6f58d8201fbb0a5e2dc38b5b06349fadb1378fb3647ad8a3f44d68 SHA512 176097b7e9de04a26a0a6a2c6b331ff375108ef7eb20cdfbda9abeec7ceb24a52c0edc932d8fcd8a5731f06b891469b4ee328562f4e88fbe6c737b719f45a8d8 WHIRLPOOL 854a8a4b711bcd4d8dccc1f7cfc5ee935eeba1af1b46e9c427da57c4f5a9742b1c49ee0bd6f9a471e42ca5ec7385656f118f8373e220ad45c3dd8031e2f5bd03
+EBUILD spamprobe-1.4d-r1.ebuild 874 SHA256 c70a0804b2b71d18af6b9f17c984bb6984d5c2a48b5b0ffc1c0f49d532b99c6d SHA512 c76def3ce8d202dfd73ccbfe12d6403db9ab9b21c23eeabffe2616c84037eb1dc443ca82f234249389ba7a43bf523b3869202b151ee0c0be41e99fcdcdad3759 WHIRLPOOL 8a74361754162c2428ccb3fb642f6896a4dc675345910f7f89dd9bf587c26d755d8be8c6eeefa887a6ee15acf1ccefc4dbca9679d55e3e24ab8a6490b5e1950f
+MISC ChangeLog 3041 SHA256 3c118ab9bc3fa3e52865be09fd4550ca4e0dfd4c8a58b64482e31d9d39bef254 SHA512 c989b2fee32b62bc12447625ebd7eff701306054aa3e876a4c55f50bf6489a5bae6c27633286af7f62aac3dc4c1554860f43b1fbe75c2bec2354fe3973aaea38 WHIRLPOOL bacb829305d69958fca2cf6ef6d2ebe6076132b0584d018eb37191e85b21b12c76b32d7661943a732c1df58bba2c28958e7848742afed44df640a64bbafe34a9
+MISC ChangeLog-2015 4398 SHA256 fea856b224ba93c14690c80b7807acb274d4248bce2ca106f378c20ee9f1d7ee SHA512 b00c7c8f8fab205e2ad333e592fb7ff67ebb22b1843a20dff83552086f18927ad7520b29edd0d0ef82250fbe5ded93749f69ce8e92936d8ade12be8a95273943 WHIRLPOOL 4e8a54d1367dba2297df06cc395dacb50a425d00caba6fabbebbdfddb5df94ae151e24c7e3901f5bc3a14992c765e761e8dca731f4c6ba85124014d99731cdd6
+MISC metadata.xml 323 SHA256 587049ffd05b714fe72f03a8c1c45e7b0b35a0e91c7cef7ba226a2f8069fea79 SHA512 46fc8a68669a072d827bdeb96279aa9d725bfaf81d327f5f1f6d445ccc4a320e1e88e645652f77def3a4d2c2dd886e0e8f0fe34f697deb3a7e8b3fc860280cc3 WHIRLPOOL 0c00602ecfaf67fbb23f00b01e58e46316a6634cf7d1427fd41e49015767bf6acfad749edc716ebd9b259c5f524eef4fbcbdb4a94a194cda21360300f7439707
diff --git a/mail-filter/spamprobe/files/spamprobe-1.4b-gcc43.patch b/mail-filter/spamprobe/files/spamprobe-1.4b-gcc43.patch
new file mode 100644
index 000000000000..097c5584a816
--- /dev/null
+++ b/mail-filter/spamprobe/files/spamprobe-1.4b-gcc43.patch
@@ -0,0 +1,150 @@
+--- spamprobe-1.4d.orig/src/spamprobe/Command_exec.cc
++++ spamprobe-1.4d/src/spamprobe/Command_exec.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "SpamFilter.h"
+ #include "CommandConfig.h"
+ #include "ConfigManager.h"
+--- spamprobe-1.4d.orig/src/spamprobe/Command_edit_term.cc
++++ spamprobe-1.4d/src/spamprobe/Command_edit_term.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "SpamFilter.h"
+ #include "FrequencyDB.h"
+ #include "CommandConfig.h"
+--- spamprobe-1.4d.orig/src/spamprobe/Command_cleanup.cc
++++ spamprobe-1.4d/src/spamprobe/Command_cleanup.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "CleanupManager.h"
+ #include "SpamFilter.h"
+ #include "FrequencyDB.h"
+--- spamprobe-1.4d.orig/src/spamprobe/spamprobe.cc
++++ spamprobe-1.4d/src/spamprobe/spamprobe.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include <unistd.h>
+ #include <locale.h>
+ #include <signal.h>
+--- spamprobe-1.4d.orig/src/spamprobe/Command_purge.cc
++++ spamprobe-1.4d/src/spamprobe/Command_purge.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "CleanupManager.h"
+ #include "SpamFilter.h"
+ #include "FrequencyDB.h"
+--- spamprobe-1.4d.orig/src/spamprobe/Command_import.cc
++++ spamprobe-1.4d/src/spamprobe/Command_import.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include <fstream>
+ #include "LineReader.h"
+ #include "IstreamCharReader.h"
+--- spamprobe-1.4d.orig/src/database/DatabaseConfig.cc
++++ spamprobe-1.4d/src/database/DatabaseConfig.cc
+@@ -29,6 +29,7 @@
+ //
+
+ #include <stdexcept>
++#include <cstdlib>
+ #include "File.h"
+ #include "WordData.h"
+ #include "FrequencyDBImpl.h"
+--- spamprobe-1.4d.orig/src/parser/MailMessageReader.cc
++++ spamprobe-1.4d/src/parser/MailMessageReader.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "RegularExpression.h"
+ #include "MailMessage.h"
+ #include "MailMessageList.h"
+--- spamprobe-1.4d.orig/src/parser/MbxMailMessageReader.cc
++++ spamprobe-1.4d/src/parser/MbxMailMessageReader.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include <stdexcept>
+ #include "MailMessage.h"
+ #include "MailMessageList.h"
+--- spamprobe-1.4d.orig/src/parser/AutoTrainMailMessageReader.cc
++++ spamprobe-1.4d/src/parser/AutoTrainMailMessageReader.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "MailMessage.h"
+ #include "AutoTrainMailMessageReader.h"
+
+--- spamprobe-1.4d.orig/src/parser/HtmlTokenizer.cc
++++ spamprobe-1.4d/src/parser/HtmlTokenizer.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "AbstractTokenReceiver.h"
+ #include "StringReader.h"
+ #include "RegularExpression.h"
+--- spamprobe-1.4d.orig/src/hdl/HdlTokenizer.cc
++++ spamprobe-1.4d/src/hdl/HdlTokenizer.cc
+@@ -28,6 +28,7 @@
+ // http://www.cooldevtools.com/qpl.html
+ //
+
++#include <cstdlib>
+ #include "AbstractCharReader.h"
+ #include "HdlError.h"
+ #include "HdlToken.h"
+--- spamprobe-1.4d.orig/src/includes/util.h
++++ spamprobe-1.4d/src/includes/util.h
+@@ -42,6 +42,7 @@
+ #include <cassert>
+ #include <iostream>
+ #include <cstdio>
++#include <cstring>
+ #include "Ptr.h"
+ #include "Ref.h"
+
+--- spamprobe-1.4d.orig/src/includes/MultiLineSubString.h
++++ spamprobe-1.4d/src/includes/MultiLineSubString.h
+@@ -31,6 +31,7 @@
+ #ifndef _MultiLineSubString_h
+ #define _MultiLineSubString_h
+
++#include <climits>
+ #include "AbstractMultiLineString.h"
+
+ class MultiLineSubString : public AbstractMultiLineString
+--- spamprobe-1.4d.orig/src/includes/Buffer.h
++++ spamprobe-1.4d/src/includes/Buffer.h
+@@ -32,6 +32,7 @@
+ #define _Buffer_h
+
+ #include "Array.h"
++#include <cassert>
+
+ //
+ // Similar to Array but handles variable length.
diff --git a/mail-filter/spamprobe/files/spamprobe-1.4d+db-5.0.patch b/mail-filter/spamprobe/files/spamprobe-1.4d+db-5.0.patch
new file mode 100644
index 000000000000..5ea5db04fff1
--- /dev/null
+++ b/mail-filter/spamprobe/files/spamprobe-1.4d+db-5.0.patch
@@ -0,0 +1,13 @@
+Index: spamprobe-1.4d/src/database/FrequencyDBImpl_bdb.cc
+===================================================================
+--- spamprobe-1.4d.orig/src/database/FrequencyDBImpl_bdb.cc
++++ spamprobe-1.4d/src/database/FrequencyDBImpl_bdb.cc
+@@ -155,7 +155,7 @@ bool FrequencyDBImpl_bdb::openDatabase(c
+ // hideous ifdefs into my code.
+ string filename(m_env ? db_file.getName() : db_file.getPath());
+ int flags = read_only ? DB_RDONLY : DB_CREATE;
+-#if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1
++#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5
+ ret = m_file->open(m_file, NULL, filename.c_str(), NULL, DB_BTREE, flags, create_mode);
+ #else
+ ret = m_file->open(m_file, filename.c_str(), NULL, DB_BTREE, flags, create_mode);
diff --git a/mail-filter/spamprobe/files/spamprobe-1.4d-gcc47.patch b/mail-filter/spamprobe/files/spamprobe-1.4d-gcc47.patch
new file mode 100644
index 000000000000..d281f57a3616
--- /dev/null
+++ b/mail-filter/spamprobe/files/spamprobe-1.4d-gcc47.patch
@@ -0,0 +1,28 @@
+ https://bugs.gentoo.org/421769
+
+ ../../src/includes/Ref.h:248:5: error: 'assign' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
+
+
+ src/includes/Ref.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/includes/Ref.h
++++ b/src/includes/Ref.h
+@@ -189,7 +189,7 @@ public:
+
+ CRef<T> &operator=(const CRef<T> &other)
+ {
+- assign(other);
++ this->assign(other);
+ return *this;
+ }
+
+@@ -245,7 +245,7 @@ public:
+
+ Ref<T> &operator=(const Ref<T> &other)
+ {
+- assign(other);
++ this->assign(other);
+ return *this;
+ }
+
diff --git a/mail-filter/spamprobe/files/spamprobe-1.4d-giflib5.patch b/mail-filter/spamprobe/files/spamprobe-1.4d-giflib5.patch
new file mode 100644
index 000000000000..761f58ddc5ee
--- /dev/null
+++ b/mail-filter/spamprobe/files/spamprobe-1.4d-giflib5.patch
@@ -0,0 +1,27 @@
+diff -Nur spamprobe~/src/parser/GifParser.cc spamprobe/src/parser/GifParser.cc
+--- spamprobe~/src/parser/GifParser.cc
++++ spamprobe/src/parser/GifParser.cc
+@@ -81,7 +81,11 @@
+ GifParser::~GifParser()
+ {
+ if (m_gif) {
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
++ DGifCloseFile(m_gif, NULL);
++#else
+ DGifCloseFile(m_gif);
++#endif
+ }
+ }
+
+@@ -99,7 +103,11 @@
+ void GifParser::openImage()
+ {
+ m_nextByteIndex = 0;
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
++ m_gif = DGifOpen(this, readFromBuffer, NULL);
++#else
+ m_gif = DGifOpen(this, readFromBuffer);
++#endif
+ if (!m_gif) {
+ throw runtime_error("open gif failed");
+ }
diff --git a/mail-filter/spamprobe/files/spamprobe-1.4d-libpng14.patch b/mail-filter/spamprobe/files/spamprobe-1.4d-libpng14.patch
new file mode 100644
index 000000000000..2be1b493f06b
--- /dev/null
+++ b/mail-filter/spamprobe/files/spamprobe-1.4d-libpng14.patch
@@ -0,0 +1,23 @@
+--- a/src/parser/PngParser.cc
++++ b/src/parser/PngParser.cc
+@@ -53,9 +53,9 @@
+ {
+ if (m_initialized) {
+ if (m_infoPtr) {
+- png_destroy_read_struct(&m_pngPtr, &m_infoPtr, png_infopp_NULL);
++ png_destroy_read_struct(&m_pngPtr, &m_infoPtr, NULL);
+ } else {
+- png_destroy_read_struct(&m_pngPtr, png_infopp_NULL, png_infopp_NULL);
++ png_destroy_read_struct(&m_pngPtr, NULL, NULL);
+ }
+ }
+ }
+@@ -104,7 +104,7 @@
+ int bit_depth, color_type, interlace_type;
+
+ png_get_IHDR(m_pngPtr, m_infoPtr, &width, &height, &bit_depth, &color_type,
+- &interlace_type, int_p_NULL, int_p_NULL);
++ &interlace_type, (int *) NULL, (int *) NULL);
+
+ string base_token("image_0");
+ sendToken(base_token + "_height_" + num_to_string((int)width));
diff --git a/mail-filter/spamprobe/metadata.xml b/mail-filter/spamprobe/metadata.xml
new file mode 100644
index 000000000000..2e0b7c5da783
--- /dev/null
+++ b/mail-filter/spamprobe/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">spamprobe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/spamprobe/spamprobe-1.4d-r1.ebuild b/mail-filter/spamprobe/spamprobe-1.4d-r1.ebuild
new file mode 100644
index 000000000000..6ea964ca31e1
--- /dev/null
+++ b/mail-filter/spamprobe/spamprobe-1.4d-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Fast, intelligent, automatic spam detector using Bayesian analysis"
+HOMEPAGE="http://spamprobe.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="QPL"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="berkdb gif jpeg png"
+
+RDEPEND="
+ berkdb? ( >=sys-libs/db-3.2:* )
+ gif? ( media-libs/giflib:= )
+ jpeg? ( virtual/jpeg:0 )
+ png? ( media-libs/libpng:0= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4b-gcc43.patch
+ "${FILESDIR}"/${P}-libpng14.patch
+ "${FILESDIR}"/${P}+db-5.0.patch
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-giflib5.patch
+)
+
+src_configure() {
+ econf \
+ $(use_with gif) \
+ $(use_with jpeg) \
+ $(use_with png)
+}
+
+src_install() {
+ default
+ insinto /usr/share/${PN}/contrib
+ doins contrib/*
+}
diff --git a/mail-filter/sqlgrey/Manifest b/mail-filter/sqlgrey/Manifest
new file mode 100644
index 000000000000..ee0d73c13774
--- /dev/null
+++ b/mail-filter/sqlgrey/Manifest
@@ -0,0 +1,7 @@
+AUX sqlgrey-1.7.6-init.patch 412 SHA256 4b486f895628b128b3d9a853861f009097beb42cd1d3f059bca052bb2f8ceac6 SHA512 5c6e7f7eb4770cf123cdfb73717d9a50ec0e64e6129dd4c92e3abeb688f9d0b1b1958e298786d852f7341be1448c885c916e7c9086aa8fdf84af154301d0d2a9 WHIRLPOOL 622882594deddf48b0cac4580b1a94bed32e6ee3ed1078a337ea870e091f67f78d7b71255cb220a2c9eca8d82d5a2ed63b30ebbe9ea59e4d3aa30f810b0e9e3c
+AUX sqlgrey.service 429 SHA256 eb9589cdca27ace47a3eeda3f8da62cefcb253ba8053f0d0d09b5ead6b2853fc SHA512 7e41344e3820537d73a413d728d455de58c5358922a354904cba5a870f61fecbf96f84f91dadad283d406cad05010bc3fd57644f18ba319083af92a1810d9a27 WHIRLPOOL f3c879436dfa36bd863311de240d9377e66a313f3e3f3f2d33696e121df9819f1d723a5d4fcce62b173f0c9a8b2f9c839787ab52da7689fcf154d58dcd46e47d
+DIST sqlgrey-1.7.6.tar.bz2 63738 SHA256 48f6c855e18d3ac3d19a0c2ecd250394a355d0116acd631187b880cb813646d1 SHA512 62822d808aa5991a8d29f455be933cf782c9d5232b63bd1f357093a06982474018fb7a02dedf29274d8b7e9f12525063e6af744efceecf420cd01e74f561aa81 WHIRLPOOL 0cecf88739bdab1c9d5cf85e4ea2625627f934fc88b4ab37e1f5f6452238a2383349eb1ed0206a039bbaab5c6e218280c6d6431582fd17219f7aebe77f529335
+EBUILD sqlgrey-1.7.6-r2.ebuild 8516 SHA256 d5aad8883e1078529093e62c828cf33c16154f73e723597ce5e02084edc95147 SHA512 5a7b5d57b8ef239e6028175a652fcf39550f4ca16eebf88d7d0bb2b7fcc98595bfc4c34eb58ff38fa586aa235f0466862de1eff4fd333847387c94dfb8431f94 WHIRLPOOL e449e2e2a393b66e6ba003bf0bbfe009a021325d90441944b5e03b463423a62b6d317d2a208bca58aaa94c80ccebbb25fc36270ca05e300f66f4a4b13536de9a
+MISC ChangeLog 3112 SHA256 4a902647c7d701e2e5630762483365d6f7994160d4955f20d23c8beb0d75628f SHA512 12f3c8b9c2cafbbe9958d59e766508612d16970fde0ad642cf04f53b329c6009aacc1751c0c4f8a8649bdcd6f7a3d2cd9feca600d186e8652099817d12157591 WHIRLPOOL 29a666a1c193f54fc05a8aaea8b6cc5da62e72edbbadb19c5693a998267ae84d898c4c799604ab2bfc4d66c2e4abfa385f270814491aa84c32a4e4ef80cff18e
+MISC ChangeLog-2015 2854 SHA256 1aa1c6207f684072145dcaa1a0f9740c0ed8e8a92085f98fb51ea181ca1d5d14 SHA512 b5ac02bff87f8a75c9668e93d000d6a2823e1bddea2fc5e8f2797ac9b6c24d92399c0bc40760bad4a824995e7b55cdb6f6d8db4034e50d8c4ce8162714907301 WHIRLPOOL b9bac1a0be3f55e318d83ea73c0122acb84d9c7c3fcf776a5c68d3d49078acd2383e269dff182e010e342f1127ce9d27e136570697afbfa09fb71d52787f8a1c
+MISC metadata.xml 429 SHA256 30d486a5f42ea9100f17814fac659e2e49412be5ed431ce0c4fae63242fdf20e SHA512 2525b0d1914b24bdfe65ec2ff31e8f9fb8b8799569b6533a704ea454e1d053ada46f0138e393de8c9832035b9213b8afb9f3045878fe1b041df25ee12a3a2e7f WHIRLPOOL f8d89c483cbfbf3081655f44e4746c998d72f5f85da17ee35eddb4463239eec1a20d25c655b45cd9bf3d0ad594dd2113dee6a9fcafb7defbd63595c06aa6c2e6
diff --git a/mail-filter/sqlgrey/files/sqlgrey-1.7.6-init.patch b/mail-filter/sqlgrey/files/sqlgrey-1.7.6-init.patch
new file mode 100644
index 000000000000..48d3a581c5d4
--- /dev/null
+++ b/mail-filter/sqlgrey/files/sqlgrey-1.7.6-init.patch
@@ -0,0 +1,18 @@
+--- ./sqlgrey-1.7.6/init/sqlgrey.gentoo.orig 2007-05-12 11:12:12.000000000 +0200
++++ ./sqlgrey-1.7.6/init/sqlgrey.gentoo 2007-05-12 12:05:52.491468250 +0200
+@@ -14,13 +14,13 @@
+ # SQLite puts files in the working directory
+ cd ~sqlgrey
+ sqlgrey -d
+- eend
++ eend $?
+ }
+
+ stop() {
+ ebegin "Shutting down SQLgrey"
+ sqlgrey -k
+- eend
++ eend $?
+ }
+
+ # hack: seems Net::Server doesn't set REUSEADDR on socket?
diff --git a/mail-filter/sqlgrey/files/sqlgrey.service b/mail-filter/sqlgrey/files/sqlgrey.service
new file mode 100644
index 000000000000..a3171863e22a
--- /dev/null
+++ b/mail-filter/sqlgrey/files/sqlgrey.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=SQLgrey Postfix Grey-listing Policy service
+After=network.target
+
+[Service]
+User=sqlgrey
+Group=sqlgrey
+ExecStart=/usr/sbin/sqlgrey
+CapabilityBoundingSet=
+PrivateTmp=yes
+PrivateDevices=yes
+ProtectSystem=full
+ProtectHome=yes
+NoNewPrivileges=yes
+MemoryDenyWriteExecute=true
+ProtectKernelModules=true
+ProtectKernelTunables=true
+ProtectControlGroups=true
+RestrictRealtime=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mail-filter/sqlgrey/metadata.xml b/mail-filter/sqlgrey/metadata.xml
new file mode 100644
index 000000000000..b0f8105082f5
--- /dev/null
+++ b/mail-filter/sqlgrey/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <longdescription>SQLgrey is a postfix policy service implementing a grey-listing
+policy.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">sqlgrey</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/sqlgrey/sqlgrey-1.7.6-r2.ebuild b/mail-filter/sqlgrey/sqlgrey-1.7.6-r2.ebuild
new file mode 100644
index 000000000000..cbb5a858b401
--- /dev/null
+++ b/mail-filter/sqlgrey/sqlgrey-1.7.6-r2.ebuild
@@ -0,0 +1,254 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils systemd user
+
+DESCRIPTION="SQLgrey is a postfix policy service implementing a grey-listing policy"
+SRC_URI="mirror://sourceforge/sqlgrey/${P}.tar.bz2"
+HOMEPAGE="http://sqlgrey.sourceforge.net/"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="mysql postgres sqlite"
+RDEPEND="dev-lang/perl
+ dev-perl/DBI
+ dev-perl/Net-Server
+ dev-perl/Date-Calc
+ virtual/mailx
+ postgres? ( dev-perl/DBD-Pg )
+ sqlite? ( dev-perl/DBD-SQLite )
+ mysql? ( dev-perl/DBD-mysql )
+ !postgres? ( !mysql? ( !sqlite? ( dev-perl/DBD-Pg ) ) )"
+DEPEND="$RDEPEND
+ sys-apps/sed"
+KEYWORDS="amd64 ~arm ~sparc x86"
+
+pkg_setup() {
+ enewgroup sqlgrey
+ enewuser sqlgrey -1 -1 /var/spool/sqlgrey sqlgrey
+}
+
+src_unpack() {
+ unpack ${A}
+ epatch "${FILESDIR}/${P}-init.patch"
+}
+
+src_install () {
+ make gentoo-install ROOTDIR="${D}"
+ dodoc HOWTO FAQ README README.OPTINOUT README.PERF TODO Changelog
+
+ # keeps SQLgrey data in /var/spool/sqlgrey
+ diropts -m0775 -o sqlgrey -g sqlgrey
+ keepdir /var/spool/sqlgrey
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_postinst() {
+ echo
+ einfo "To make use of greylisting, please update your postfix config."
+ einfo
+ einfo "Put something like this in /etc/postfix/main.cf:"
+ einfo " smtpd_recipient_restrictions ="
+ einfo " ..."
+ einfo " check_policy_service inet:127.0.0.1:2501"
+ einfo
+ einfo "Remember to restart Postfix after that change. Also remember"
+ einfo "to make the daemon start durig boot:"
+ einfo " rc-update add sqlgrey default"
+ einfo
+ echo
+ einfo "To setup SQLgrey to run out-of-the-box on your system, run:"
+ einfo "emerge --config ${PN}"
+ echo
+ ewarn "Read the documentation for more info (perldoc sqlgrey) or the"
+ ewarn "included howto /usr/share/doc/${PF}/HOWTO.gz"
+ echo
+ ewarn "If you are using MySQL >= 4.1 use \"latin1\" as charset for"
+ ewarn "the SQLgrey db"
+ echo
+ ebeep 2
+ epause 5
+}
+
+pkg_config () {
+
+ # SQLgrey configuration file
+ local SQLgrey_CONFIG="/etc/sqlgrey/sqlgrey.conf"
+ local SQLgrey_DB_USER_NAME="sqlgrey"
+ local SQLgrey_DB_NAME="sqlgrey"
+
+ # Check if a password is set in sqlgrey.conf
+ local SQLgrey_CONF_PWD=""
+ if [ -f "${SQLgrey_CONFIG}" ]; then
+ if (grep -iq "^[\t ]*db_pass[\t ]*=[\t ]*.*$" ${SQLgrey_CONFIG}); then
+ # User already has a db_pass entry
+ SQLgrey_CONF_PWD="$(sed -n 's:^[\t ]*db_pass[\t ]*=[\t ]*\(.*\)[\t ]*:\1:gIp' ${SQLgrey_CONFIG})"
+ else
+ SQLgrey_CONF_PWD=""
+ fi
+ else
+ ewarn "SQLgrey configuration missing. Exiting now."
+ echo
+ exit 0
+ fi
+
+ # Check if we need SQLgrey to configure for this system or not
+ local SQLgrey_DB_HOST="localhost"
+ local SQLgrey_KEY_INPUT="l,r,x"
+ einfo "SQLgrey database backend configuration"
+ einfo " Please select where SQLgrey database will run:"
+ einfo " [l] Database backend runs on localhost"
+ einfo " [r] Database backend runs on remote host"
+ einfo " [x] Exit"
+ echo
+ einfo " Press one of the keys [${SQLgrey_KEY_INPUT}]: "
+ while true; do
+ read -n 1 -s SQLgrey_ACCESS_TYPE
+ case "${SQLgrey_ACCESS_TYPE}" in
+ "r" | "R" )
+ SQLgrey_ACCESS_TYPE="r"
+ einfo " remote setup"
+ read -p " Please enter the remote hostname: " SQLgrey_DB_HOST
+ echo
+ break
+ ;;
+ "l" | "L" )
+ SQLgrey_ACCESS_TYPE="l"
+ einfo " local setup"
+ echo
+ break
+ ;;
+ "x" | "X" )
+ exit 0
+ ;;
+ esac
+ done
+
+ # Generate random password
+ if [[ "${SQLgrey_CONF_PWD}" == "" ]]; then
+ einfo "Generating random database user password..."
+ local SQLgrey_PWD_MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
+ local SQLgrey_DB_USER_PWD=""
+ while [ "${n:=1}" -le "16" ]; do
+ SQLgrey_DB_USER_PWD="${SQLgrey_DB_USER_PWD}${SQLgrey_PWD_MATRIX:$(($RANDOM%${#SQLgrey_PWD_MATRIX})):1}"
+ let n+=1
+ done
+ else
+ einfo "Reusing current database user password..."
+ local SQLgrey_DB_USER_PWD="${SQLgrey_CONF_PWD}"
+ fi
+ echo
+
+ # Configure the various database backends
+ local SQLgrey_KEY_INPUT=""
+ einfo "Creating SQLgrey database backend data and configuration"
+ einfo " Please select what kind of database you like to use:"
+ if use postgres || has_version dev-perl/DBD-Pg ; then
+ einfo " [p] PostgreSQL"
+ SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},p"
+ fi
+ if use mysql || has_version dev-perl/DBD-mysql ; then
+ einfo " [m] MySQL"
+ SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},m"
+ fi
+ if use sqlite || has_version dev-perl/DBD-SQLite ; then
+ einfo " [s] SQLite"
+ SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},s"
+ fi
+ einfo " [x] Exit"
+ SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},x"
+ echo
+ einfo " Press one of the keys [${SQLgrey_KEY_INPUT:1}]: "
+ while true; do
+ read -n 1 -s SQLgrey_DB_TYPE
+ case "${SQLgrey_DB_TYPE}" in
+ "p" | "P" )
+ SQLgrey_DB_TYPE="p"
+ einfo " PostgreSQL database backend"
+ echo
+ break
+ ;;
+ "m" | "M" )
+ SQLgrey_DB_TYPE="m"
+ einfo " MySQL database backend"
+ echo
+ break
+ ;;
+ "s" | "S" )
+ SQLgrey_DB_TYPE="s"
+ einfo " SQLite database backend"
+ echo
+ break
+ ;;
+ "x" | "X" )
+ exit 0
+ ;;
+ esac
+ done
+
+ # If we don't use SQLite, the password must not be set
+ if [[ ( "${SQLgrey_DB_TYPE}" != "s" ) && ( "${SQLgrey_CONF_PWD}" != "" ) ]]; then
+ ewarn "This configuration is only for new installations. You seem to"
+ ewarn "have already a modified sqlgrey.conf"
+ ewarn "Do you want to continue?"
+ SQLgrey_KEY_INPUT="y,n"
+ einfo " Press one of the keys [$SQLgrey_KEY_INPUT]: "
+ while true; do
+ read -n 1 -s SQLgrey_Ignore
+ case "$SQLgrey_Ignore" in
+ "y"|"Y" )
+ break
+ ;;
+ "n"|"N" )
+ exit 0
+ ;;
+ esac
+ done
+ fi
+
+ ## Per-RDBMS configuration ##
+ # POSTGRESQL
+ if [[ "${SQLgrey_DB_TYPE}" == "p" ]] ; then
+
+ ewarn "If prompted for a password, please enter your PgSQL postgres password"
+ ewarn ""
+
+ einfo "Creating SQLgrey PostgreSQL database \"${SQLgrey_DB_NAME}\" and user \"${SQLgrey_DB_USER_NAME}\""
+ /usr/bin/psql -h ${SQLgrey_DB_HOST} -d template1 -U postgres -c "CREATE USER ${SQLgrey_DB_USER_NAME} WITH PASSWORD '${SQLgrey_DB_USER_PWD}' NOCREATEDB NOCREATEUSER; CREATE DATABASE ${SQLgrey_DB_NAME}; GRANT ALL PRIVILEGES ON DATABASE ${SQLgrey_DB_NAME} TO ${SQLgrey_DB_USER_NAME}; GRANT ALL PRIVILEGES ON SCHEMA public TO ${SQLgrey_DB_USER_NAME}; UPDATE pg_database SET datdba=(SELECT usesysid FROM pg_shadow WHERE usename='${SQLgrey_DB_USER_NAME}') WHERE datname='${SQLgrey_DB_NAME}';"
+
+ einfo "Changing SQLgrey configuration in sqlgrey.conf"
+ sed -i "s:^[# ]*\(db_type[ \t]*= \).*:\1Pg:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_user[ \t]*= \).*:\1${SQLgrey_DB_USER_NAME}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_pass[ \t]*= \).*:\1${SQLgrey_DB_USER_PWD}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_host[ \t]*= \).*:\1${SQLgrey_DB_HOST}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_name[ \t]*= \).*:\1${SQLgrey_DB_NAME}:gI" ${SQLgrey_CONFIG}
+ elif [[ "${SQLgrey_DB_TYPE}" == "m" ]] ; then
+ # MYSQL
+ ewarn "If prompted for a password, please enter your MySQL root password"
+ ewarn ""
+
+ einfo "Creating SQLgrey MySQL database \"${SQLgrey_DB_NAME}\" and user \"${SQLgrey_DB_USER_NAME}\""
+ echo -ne " "
+ /usr/bin/mysql -u root -h ${SQLgrey_DB_HOST} -p -e "CREATE DATABASE IF NOT EXISTS ${SQLgrey_DB_NAME} CHARACTER SET latin1; GRANT ALL ON ${SQLgrey_DB_NAME}.* TO ${SQLgrey_DB_USER_NAME}@${SQLgrey_DB_HOST} IDENTIFIED BY '${SQLgrey_DB_USER_PWD}';FLUSH PRIVILEGES;" -D mysql
+ echo
+
+ einfo "Changing SQLgrey configuration in sqlgrey.conf"
+ sed -i "s:^[# ]*\(db_type[ \t]*= \).*:\1mysql:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_user[ \t]*= \).*:\1${SQLgrey_DB_USER_NAME}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_pass[ \t]*= \).*:\1${SQLgrey_DB_USER_PWD}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_host[ \t]*= \).*:\1${SQLgrey_DB_HOST}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_name[ \t]*= \).*:\1${SQLgrey_DB_NAME}:gI" ${SQLgrey_CONFIG}
+ elif [[ "${SQLgrey_DB_TYPE}" == "s" ]] ; then
+ einfo "Changing SQLgrey configuration in sqlgrey.conf"
+ sed -i "s:^[# ]*\(db_type[ \t]*= \).*:\1SQLite:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_name[ \t]*= \).*:\1${SQLgrey_DB_NAME}:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_user[ \t]*=.*\)$:# \1:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_pass[ \t]*= .*\)$:# \1:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_host[ \t]*= .*\)$:# \1:gI" ${SQLgrey_CONFIG}
+ sed -i "s:^[# ]*\(db_cleandelay[ \t]*= .*\)$:# \1:gI" ${SQLgrey_CONFIG}
+ fi
+ echo
+ if [[ "${SQLgrey_DB_TYPE}" != "s" ]]; then
+ einfo "Note: the database password is stored in $SQLgrey_CONFIG"
+ fi
+}
diff --git a/mail-filter/tmda/Manifest b/mail-filter/tmda/Manifest
new file mode 100644
index 000000000000..952713765d41
--- /dev/null
+++ b/mail-filter/tmda/Manifest
@@ -0,0 +1,6 @@
+AUX tmda-1.0-non-interactive-tty.patch 967 SHA256 afc9697dca48be74e66b0cf8efb8d7e693cc461b81b22d0063984f716ee4cb49 SHA512 88edd148649541ebbca5cf20664a2c7a535ba3cb470c6a8c923ecca7cd7825e4c90df1192bbae49778942a62451e67a462e0a3302acbbbbbcb87d7a9f0a7a352 WHIRLPOOL 99e9e27d0cd067caeed3e7c5c55f96eedbb164d800128d913cde8b72eb631169d725d5447b83ef9b7b1cda7525a18e7a6359edc730ba0b3d5846637fbcf8f251
+DIST tmda-1.1.12.tgz 1427638 SHA256 93c3d7a5baa7af366f82089b2f99c58d3fb4b5c259f78a0c7fe90d4b39c4a6c3 SHA512 71ca7d0fed69f5a3dd30fa0f1f58d88bdf515249fc709e84c45d1929be9b2d36db1018c1bb58482b757b7006f2681d2b7abf71ab4332d6baf92239c04e7a6585 WHIRLPOOL d548080d7ad5b388d2b9c524ab21ef43b362853a856b73ca7b50cafd7d70a1b58914bf0131c4801f98a72c0d1262e30f3aff86c543151c514f8d31eeb30d172b
+EBUILD tmda-1.1.12-r2.ebuild 1274 SHA256 c99eaa0d06512f5034d44f141f46509852bd4348b15a7b72a2dacffe4bc47376 SHA512 f22cac8c40424c3a30932b0b9aa639a53efade86f578ad2f32a9f3b8ceec1e60febe437fcb446f6a99ef318eabc65b96986a3ff2afc8d8e15d55483f5f187a3a WHIRLPOOL c43f5a51c05f0a2f6024141578af215d93f879cbab8343e87dc9a2a3909f87126cb7d5888a747452eed04e77ff671d76103b71a5ce57350da89f80e57a3575b2
+MISC ChangeLog 2468 SHA256 30bf2766a74f5fea9dfa998675163aa7b6d6533c347a7ae81723cd5d35f0d182 SHA512 3a57a800d78d809ba97c40b816a8464c6149d81bfbf6c7a356d34a703879c5d678f45b7eabf5b215033a4755b3369b5b4c549fd2faf38d1611cd0e7b69449924 WHIRLPOOL 0e81b6157fc754ab49df22193be5123c2a8672202c1aac17dcfe3f25f8340ac4cecfc25334522916bc141c6c2b42ef9ef365d7ecacb6b23943dfc460219b532a
+MISC ChangeLog-2015 9462 SHA256 8bddd76d6d393258cb5c4b00706ff2f90511f0afb6548cb88ea1e9fe5c63e54f SHA512 98eb807627311207fca7020291de13fbef8cbefed2c94978ed8828e5df5c9e762c6f24fcb00624ed252767d3c33c64e55ba37645091f9e0aa420c430c5d49575 WHIRLPOOL 8cfa6541f8202782ebfc85d1ffb0e541c2640c0c80e109ad58147fbd1ebffa6243a870302e71e10c57dd59e82ce188c68f51a6ec986c804bc19dd8e214e624eb
+MISC metadata.xml 318 SHA256 e8f354acdf772c6e0a2d5ef6a0a06170a703757a0818cfd3d48cddab7a1417a5 SHA512 e1b6237bacaf8f7d931a63d7b95c2c9abcad0aa8e512cf4d04b620ddb5cd40aecee52d26f82e3b465cc7408d8071ef0608d87cef8ed2a5d63092aefc3939beee WHIRLPOOL 854e4e30b8a06fd5a723f1bb4b69d7b60d985e47fafe348ff1c7127dd1d10c6beae3b7f1ef5a0a2321d0c8457bf77329d43fc50e03e04d2b6d0aafa76036a390
diff --git a/mail-filter/tmda/files/tmda-1.0-non-interactive-tty.patch b/mail-filter/tmda/files/tmda-1.0-non-interactive-tty.patch
new file mode 100644
index 000000000000..75440493811b
--- /dev/null
+++ b/mail-filter/tmda/files/tmda-1.0-non-interactive-tty.patch
@@ -0,0 +1,31 @@
+--- a/TMDA/Pending.py 2004-10-11 15:50:13.014474866 -0400
++++ b/TMDA/Pending.py 2004-10-11 16:06:02.640603837 -0400
+@@ -64,6 +64,7 @@
+ self.verbose = verbose
+ self.younger = younger
+ self.pretend = pretend
++ self.interactive = 0
+
+ self.stdout = sys.stdout
+
+@@ -86,8 +87,9 @@
+ self.msgs.extend(line.strip().split())
+ self.msgs.remove('-')
+ # re-open stdin on the tty
+- sys.stdin.close()
+- sys.stdin = open('/dev/tty', 'r')
++ if self.interactive:
++ sys.stdin.close()
++ sys.stdin = open('/dev/tty', 'r')
+
+ if not self.msgs and not wantedstdin:
+ cwd = os.getcwd()
+@@ -341,6 +343,8 @@
+ younger,
+ pretend)
+
++ self.interactive = 1
++
+
+ def initQueue(self):
+ """Additionally initialize the interactive queue."""
diff --git a/mail-filter/tmda/metadata.xml b/mail-filter/tmda/metadata.xml
new file mode 100644
index 000000000000..a6bec53be513
--- /dev/null
+++ b/mail-filter/tmda/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">tmda</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/mail-filter/tmda/tmda-1.1.12-r2.ebuild b/mail-filter/tmda/tmda-1.1.12-r2.ebuild
new file mode 100644
index 000000000000..9b6f78943571
--- /dev/null
+++ b/mail-filter/tmda/tmda-1.1.12-r2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+DESCRIPTION="Python-based SPAM reduction system"
+HOMEPAGE="http://www.tmda.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ppc ~sparc x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ virtual/mta
+ ${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Do not open /dev/tty when in batch mode. (bug #67150) -ticho
+ "${FILESDIR}/tmda-1.0-non-interactive-tty.patch"
+)
+
+src_install() {
+ # Executables
+ python_doscript bin/tmda-*
+
+ # The Python TMDA module
+ python_domodule TMDA
+
+ # The templates
+ insinto /etc/tmda
+ doins templates/*.txt
+
+ # Documentation
+ dodoc ChangeLog CODENAMES CRYPTO NEWS README THANKS UPGRADE
+ dodoc -r doc/html
+
+ # Contributed binaries and stuff
+ cd contrib || die
+
+ exeinto /usr/$(get_libdir)/tmda/contrib
+ doexe collectaddys def2html printcdb printdbm \
+ sendit.sh smtp-check-sender update-internaldomains vadduser-tmda \
+ vmailmgr-vdir.sh vpopmail-vdir.sh wrapfd3.sh
+
+ insinto /usr/$(get_libdir)/tmda/contrib
+ doins ChangeLog tmda.el tmda.spec \
+ tofmipd.init tofmipd.sysconfig vtmdarc
+ doins -r dot-tmda
+}
diff --git a/mail-filter/zdkimfilter/Manifest b/mail-filter/zdkimfilter/Manifest
new file mode 100644
index 000000000000..bba931cd3fa7
--- /dev/null
+++ b/mail-filter/zdkimfilter/Manifest
@@ -0,0 +1,5 @@
+DIST zdkimfilter-1.1.tar.gz 473348 SHA256 be55fae98c3e7826a00f74896b91b625fe436aaf94bc2dc7d4770f64f98f2100 SHA512 6f1c54fe22f0c3cb3aaa347df89c0541b7f06dc68c80820820dd80d3ee46e6c2a369efb70d2eab217564728adc17086c76c878c58be13735c1db14d069832cfb WHIRLPOOL 6490a76dc17ee976b36ae3e0a9412e9fdc6b8236be56998e3a322fb35d2cfd84aca33e77c256fa01a54b9ca8e5b9cab75695ff695ad3b90bfade5e118faa8de8
+EBUILD zdkimfilter-1.1.ebuild 1161 SHA256 833dbd3ae8f4e001e8116acbe8b7bc9561d6cb874448213a04f815ad295cdf4b SHA512 551f24da7a22f12bbce49a2dcb8b1a8bbe0521c951353198517424f41e0186096970f6691320ce97cce79824ce8ccb693bfed52c8a58e77f2b7dba8107100857 WHIRLPOOL 1a88e25f35bdb0cf0e65cfb7d5492b77a023af7dcf82ecac58147512ea66abcc5a4540df69f3dd7139099c85eaa9701fe9e66b7dd50dea23349301cacb3035bc
+MISC ChangeLog 2946 SHA256 dbe3fd2bca506f5119ded83e6ac52c8e8e5d3a7b82ad45232ac8a7763282279e SHA512 bc9ded305bde8b5c2026ed119ae588a98340e163f3a3cf5ed5c9296f39588367b5a59f7e39c71319241ee84a0a14b7f12a5d123358e5a4ccf588baa52c7966ed WHIRLPOOL ba1ef56ea815ac8e94f798d26f46759267c760c7b73482edf01090c1391ad23ad175e8b71deab691645e905de694045b5fee6fc4534928516b9e48411d28ae15
+MISC ChangeLog-2015 1165 SHA256 f3384bd8538e50ffcd1e660111a1337ff40f95ef57d7124e9f72034a12656705 SHA512 3100874c0d539d1a217e9d0b1bf264f6a8193fca1f37c0629ff3cd4e7048198c112b50e04c61567e4d1303b2a8337b4af55b1fe89dc32b4b985c305b54a6e966 WHIRLPOOL 977a00b15bcc50cd5931b8c49dfa072b83e8c67786561d34284eefe0e16c6e1dd0643c7db3932c5244bba07c8b379344855f1870b0c3574f74c8d79e45418492
+MISC metadata.xml 561 SHA256 7d36b68c3fb28c4e171fb086c8d7b4845f73712e3f8c2f76e3cc117a96627f64 SHA512 2a00ea62e00514f49ad23029fe23ae103897bb477ccabcec27ad1726feec9f061bfc225eb83a9c549262f4330930ea88679974efac261cc3c2a409a1420e5f5f WHIRLPOOL 3e53fffad811657a5c9f4ffddf30ea242b911c99c60b7cea819fd39cc6055f72ba6f77840b3b99428dd065340035c56f689c5e6d255bae4547d603ff18a6a96a
diff --git a/mail-filter/zdkimfilter/metadata.xml b/mail-filter/zdkimfilter/metadata.xml
new file mode 100644
index 000000000000..fc0f4ef10ab0
--- /dev/null
+++ b/mail-filter/zdkimfilter/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>net-mail@gentoo.org</email>
+ <name>Net-Mail</name>
+</maintainer>
+<longdescription>A program implementing the DKIM signing/verification for Courier
+</longdescription>
+<use>
+ <flag name="debug">
+ Log process and signal information. Also leave the child process running for
+ gdb examination.
+ </flag>
+ <flag name="opendbx">
+ An alternate statistics based storage engine.
+ </flag>
+</use>
+
+
+</pkgmetadata>
diff --git a/mail-filter/zdkimfilter/zdkimfilter-1.1.ebuild b/mail-filter/zdkimfilter/zdkimfilter-1.1.ebuild
new file mode 100644
index 000000000000..560e13d531c9
--- /dev/null
+++ b/mail-filter/zdkimfilter/zdkimfilter-1.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+DESCRIPTION="DKIM filter for Courier-MTA"
+HOMEPAGE="http://www.tana.it/sw/zdkimfilter"
+SRC_URI="http://www.tana.it/sw/zdkimfilter/${P}.tar.gz"
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug opendbx"
+
+DEPEND=">=mail-filter/opendkim-2.2.0
+ mail-mta/courier
+ opendbx? ( >=dev-db/opendbx-1.4.0 )
+ dev-libs/nettle"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ if ! use opendbx; then
+ # remove opendbx stuff
+ sed -i -e '12342,12450d' configure || die
+ fi
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ rm "${D}"/etc/courier/filters/zdkimfilter.conf || die
+ diropts -o mail -g mail
+ dodir /etc/courier/filters/keys
+ dodoc release-notes-*.txt
+ dodoc odbx_example.{conf,sql}
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} == 0.5 ]]; then
+ ewarn "Database access is now through opendbx. Please see the"
+ ewarn "zfilter_db man page and example config files in"
+ ewarn "\t/usr/share/doc/${P}"
+ ewarn "Some config file options have changed. Please see the"
+ ewarn "release-notes."
+ fi
+}