summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-mail/cyrus-imapd/Manifest27
-rw-r--r--net-mail/cyrus-imapd/cyrus-imapd-2.3.11.ebuild259
-rw-r--r--net-mail/cyrus-imapd/cyrus-imapd-2.3.12_p2.ebuild262
-rw-r--r--net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r1.ebuild256
-rw-r--r--net-mail/cyrus-imapd/files/cyrus-imapd-2.2-libwrap.patch11
-rw-r--r--net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch46
-rw-r--r--net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-drac_with_autocreate.patch46
-rw-r--r--net-mail/cyrus-imapd/files/cyrus-imapd-parallel.patch11
-rw-r--r--net-mail/cyrus-imapd/files/cyrus-imapd-strip.patch11
-rw-r--r--net-mail/cyrus-imapd/files/cyrus.conf43
-rw-r--r--net-mail/cyrus-imapd/files/cyrus.confd6
-rw-r--r--net-mail/cyrus-imapd/files/cyrus.pam-include6
-rw-r--r--net-mail/cyrus-imapd/files/cyrus.rc623
-rw-r--r--net-mail/cyrus-imapd/files/imap.pam6
-rw-r--r--net-mail/cyrus-imapd/files/imapd.conf52
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/annotations2.patch356
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/cyradm_annotations.patch83
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/folder-names.patch20
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/groups.patch220
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/logging.patch58
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/timsieved_starttls-sendcaps.patch19
-rw-r--r--net-mail/cyrus-imapd/files/kolab/2.3.12_p2/uid.patch115
-rw-r--r--net-mail/cyrus-imapd/metadata.xml8
23 files changed, 0 insertions, 1944 deletions
diff --git a/net-mail/cyrus-imapd/Manifest b/net-mail/cyrus-imapd/Manifest
deleted file mode 100644
index 5002ea3..0000000
--- a/net-mail/cyrus-imapd/Manifest
+++ /dev/null
@@ -1,27 +0,0 @@
-AUX cyrus-imapd-2.2-libwrap.patch 390 RMD160 4ed2b14f549ccfab487cff66e5f2cb8ebdd39427 SHA1 0075421585a73f2673e3daff9a4c140d9cc5046e SHA256 2bddad2045130090ea23f5ad65d797cfa1f6083446bd00411cb1540cb56d4e0e
-AUX cyrus-imapd-2.3.11-drac_with_autocreate.patch 2334 RMD160 53bb3d38e121ac22e4149de52151f3c3945f4934 SHA1 7571d40975aa61f9ac04e30bc371ab4733b3acdb SHA256 bfe1cabf1131b3ae3e67d5847d965cc4dfe2ac001064cc56176d3d2553651f3f
-AUX cyrus-imapd-2.3.8-drac_with_autocreate.patch 2378 RMD160 a545ffbf21e7d14897d177b2866bc5df9df3130f SHA1 16e29ddddd924877d9d7dd572a6bcafe25c67725 SHA256 f55235912bcec09c91270dfeb9f2846300f70c22eef945781e77473ea7013aa6
-AUX cyrus-imapd-parallel.patch 256 RMD160 fa7c53c847c4af9a7c218943be46b136b69f911c SHA1 8f4a7cbf91652354681e81e5c31f53728273a1c9 SHA256 adc6d031f2e9f547b192b36685d7873fdb5c5cb690e951b173fdcd55163cc68c
-AUX cyrus-imapd-strip.patch 527 RMD160 83dda22c91798715c7790c3964705b60edeab904 SHA1 624635c7a3dd17e0d3ed84c2c7b07fe042d54cc0 SHA256 4edf438766a291c18847efbcf0596e5c7fc848a1c04b851b20074a195c1b2f18
-AUX cyrus.conf 1354 RMD160 b2d6f470b7097036a5c64bc59f147f78fdbc16d5 SHA1 efc4d14807391be53018a81c4f4277cd8d6ce5f8 SHA256 23189674bb5c2f021f35027cfe22cfe56e022ce5e03da67f5c4913473bec1292
-AUX cyrus.confd 279 RMD160 da79ff4128869a045b432abc9cea6667b65ee69a SHA1 6d2d3417b678c77336a4b89db3507314302fe4eb SHA256 3e786c28ffc44a222214b22d8849728360edc37f4b3f7d7c1473a23ab58c28a9
-AUX cyrus.pam-include 109 RMD160 24f82d0496f0ff94f9c1ee4cef14124909d361e5 SHA1 1a13c82008b6d59bb9236a8162c75f8d24d6c4ba SHA256 d4ef9ed9c7c9add97df75f0e19a833bee872d3863a2b3cb1d0674fefba54e3d8
-AUX cyrus.rc6 568 RMD160 0494dc278b3c93f49018392694a809f1ec395459 SHA1 22e6f03d9365d0fef4af9236d9cd01ae0b94a67f SHA256 f2f796f1ab208bcd5641a1610b07673f92069e6f5b2370f453e3a24014ab2c6c
-AUX imap.pam 195 RMD160 18585b20cc2568a000ecb381f3299dedcc737d27 SHA1 0e64fbb8fb8da0cdae6fb0820ee3048f1e30bbf6 SHA256 e8068af6f4141fe2b7d7afbaf241be779ad6edb7e03d4dfdcf7ca8e991a8a5e0
-AUX imapd.conf 1587 RMD160 74e02af5daa7648ce7e366478c1b89b112750e6b SHA1 e4f189cb59fe499a42adffe3ffe382dcb9d7c546 SHA256 69eacd9fffad55f20990fcf3b117fe4e2ac55233515ed70698c65a6deb42503f
-AUX kolab/2.3.12_p2/annotations2.patch 11178 RMD160 80b327392731fa0fd06ef8fcf34985489582e334 SHA1 b7f9f1d89b5a14efb1cae6a29f2b81bbea4aa81a SHA256 befae23d2873fa8fc0f42817e12d451dee884c4431b45ef0cdd25dfe474eed87
-AUX kolab/2.3.12_p2/cyradm_annotations.patch 3107 RMD160 a0ad90fa8f779c6e671fa1bc0de1933fa0030f55 SHA1 204f83f03c39e400e65939648101195213f153a5 SHA256 00fb61b5f201193aa1d4a26cdb3d77380afdf05e975c8e171ff1643992692711
-AUX kolab/2.3.12_p2/folder-names.patch 705 RMD160 e1ae9477464e0fb7a9e22a362008771792bc659b SHA1 f30649fe5f3ed2cbc8d803b8ab76c5bde56f90c5 SHA256 9e9404695adc32c3042c490409e1494167421dbbfd726b98e90e0013ac6084cf
-AUX kolab/2.3.12_p2/groups.patch 6561 RMD160 fc3d6cc483b39f7bc3c35916f7c75c92fb7aa27d SHA1 2d09dd07bd6ee6b37f71f56c11a1a51c61778822 SHA256 ffde107a869e1cc6935fff82872dbc6997bd8bc286d369f348f561d3ebbd0c24
-AUX kolab/2.3.12_p2/logging.patch 1880 RMD160 a69ccc5fba3e200c5cf4bd91c22b5a7e9713038e SHA1 79ddbb6b9af2f0c93b8f9ee732ca2639c9567943 SHA256 76a4eb6cd59564f55bb541a35b4e7f5fbd8beabf8072580c0bc514d710c3879b
-AUX kolab/2.3.12_p2/timsieved_starttls-sendcaps.patch 824 RMD160 c07359f3c3c4b922bbddc9e717a1ec9b0de10c03 SHA1 05de31018a0ac1a7fce78d3a63b0c6c2e3adc9f1 SHA256 3249a502fe49df37f89133effd0f6a125d826ae425faa7e32e09a3279a1ad4b6
-AUX kolab/2.3.12_p2/uid.patch 4255 RMD160 94e8a37bb7631d1a7ea53d7575df3898065cfcd4 SHA1 3a3a5e190c67bf4618031ff5bff4d395cf324532 SHA256 ad33f589898d166b15292ca7adf9d6b60cf4af57f9ec33428e03616ccdf70c17
-DIST cyrus-imapd-2.3.11-uoa.tbz2 18045 RMD160 8f35b2399b47669d99fd301be1e14aaaab903234 SHA1 827b279e47dbe56ee4969a3ecd8d21a83b31fd44 SHA256 c67f97274c328c80f1cbaab7514fdd0de05c032e57b526e4e13e8f63d212aa9d
-DIST cyrus-imapd-2.3.11.tar.gz 2275173 RMD160 34727e08cc25f3cb6e0ea0195b96de942de10f48 SHA1 6218f0dc4f1792e786677362b8b3965e4593122e SHA256 87ce58b28ed1f8974118c02ac009377bb3de62adccd699a67f0100158106d842
-DIST cyrus-imapd-2.3.12p2.tar.gz 2305996 RMD160 35225526aaf67bf99855750debd03a85949de424 SHA1 d72064b426feb0d7d6ea60456c8ebbf6fe72a2a2 SHA256 c4ea8af68d2b14d93f662fc97f805450ef0cb98ddb986b2b7330cb4aba93c4c4
-DIST cyrus-imapd-2.3.9-uoa.tbz2 17935 RMD160 1e46f17972552ed94496d1dfee8671332844775b SHA1 1fc400239cf2410f531570c37d19ad964c606a14 SHA256 3ca66f3ec992416276daca9e43dd159797d2838ff9efd118139495a86e070f5d
-DIST cyrus-imapd-2.3.9.tar.gz 2272004 RMD160 c9aae3476108c0face06dfe304a136015370b166 SHA1 b95e1de87ff2c7a42d4bec87c839fe439452a79c SHA256 27e6476789788b7c72f09711103f7c4bd0136dbd33ceadd0ae2dc776a17ab437
-EBUILD cyrus-imapd-2.3.11.ebuild 8017 RMD160 d6b3b1a841e5b644560060971fec4d0ceaa21016 SHA1 de105a65d441cd6a02a497f53045748f00cc171a SHA256 c82ad3605451cc496036142e363d74023ba72364579ca6d823679f4cdc16e218
-EBUILD cyrus-imapd-2.3.12_p2.ebuild 7855 RMD160 37b4817665f64413e78c986b0867b245808dcdca SHA1 5a757669e70dd83008d933dadc738697696a8e7d SHA256 1b95668b753ee1d253e08eb26c05c9afcef170bdbf0db7e505c3c6700ece6572
-EBUILD cyrus-imapd-2.3.9-r1.ebuild 7908 RMD160 39b4b354fab0d4f304c65c290bfcac39a7f5e27b SHA1 ba4ccfe7c28b2a66bdc01ec9ad3e3a6be88c8f67 SHA256 0209fb6f7a2c3f9a6ec509b512f643c294ea8c62faff8f4d3031c011ad0846b3
-MISC metadata.xml 227 RMD160 dea45630aba3c22da6ccfe5867e88797658a9e41 SHA1 82018ee8f0b71c0e29e01aa374a89275a46dde26 SHA256 d3c03c4962fef1e25acac4875ada3102e5122e3eb7292d83d9833df8ef581d5c
diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.3.11.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.3.11.ebuild
deleted file mode 100644
index e86de7b..0000000
--- a/net-mail/cyrus-imapd/cyrus-imapd-2.3.11.ebuild
+++ /dev/null
@@ -1,259 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.3.11.ebuild,v 1.5 2008/03/15 23:14:05 halcy0n Exp $
-
-inherit autotools eutils ssl-cert fixheadtails pam
-
-DESCRIPTION="The Cyrus IMAP Server."
-HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/"
-SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz
- mirror://gentoo/${P}-uoa.tbz2"
-LIBWRAP_PATCH_VER="2.2"
-DRAC_PATCH_VER="2.3.11"
-AUTOCREATE_PATCH_VER="0.10-0"
-AUTOSIEVE_PATCH_VER="0.6.0"
-
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-IUSE="autocreate autosieve drac idled kerberos nntp pam replication snmp ssl tcpd"
-
-PROVIDE="virtual/imapd"
-RDEPEND=">=sys-libs/db-3.2
- >=dev-libs/cyrus-sasl-2.1.13
- pam? (
- virtual/pam
- >=net-mail/mailbase-1
- )
- kerberos? ( virtual/krb5 )
- snmp? ( >=net-analyzer/net-snmp-5.2.2-r1 )
- ssl? ( >=dev-libs/openssl-0.9.6 )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
- drac? ( >=mail-client/drac-1.12-r1 )
- nntp? ( !net-nntp/leafnode )"
-
-DEPEND="$RDEPEND
- sys-devel/libtool
- >=sys-devel/autoconf-2.58
- sys-devel/automake"
-
-RDEPEND="$RDEPEND
- !virtual/imapd"
-
-new_net-snmp_check() {
- # tcpd USE flag check. Bug #68254.
- if use tcpd ; then
- if has_version net-analyzer/net-snmp && ! built_with_use net-analyzer/net-snmp tcpd ; then
- eerror "You are emerging this package with USE=\"tcpd\""
- eerror "but \"net-analyzer/net-snmp\" has been emerged with USE=\"-tcpd\""
- fail_msg
- fi
- else
- if has_version net-analyzer/net-snmp && built_with_use net-analyzer/net-snmp tcpd ; then
- eerror "You are emerging this package with USE=\"-tcpd\""
- eerror "but \"net-analyzer/net-snmp\" has been emerged with USE=\"tcpd\""
- fail_msg
- fi
- fi
- # DynaLoader check. Bug #67411
-
- if [ -x "$(type -p net-snmp-config)" ]; then
- einfo "$(type -p net-snmp-config) is found and executable."
- NSC_AGENTLIBS="$(net-snmp-config --agent-libs)"
- einfo "NSC_AGENTLIBS=\""${NSC_AGENTLIBS}"\""
- if [ -z "$NSC_AGENTLIBS" ]; then
- eerror "NSC_AGENTLIBS is null"
- einfo "please report this to bugs.gentoo.org"
- fi
- for i in ${NSC_AGENTLIBS}; do
- # check for the DynaLoader path.
- if [ "$(expr "$i" : '.*\(DynaLoader\)')" == "DynaLoader" ] ; then
- DYNALOADER_PATH="$i"
- einfo "DYNALOADER_PATH=\""${DYNALOADER_PATH}"\""
- if [[ ! -f "${DYNALOADER_PATH}" ]]; then
- eerror "\""${DYNALOADER_PATH}"\" is not found."
- einfo "Have you upgraded \"perl\" after"
- einfo "you emerged \"net-snmp\". Please re-emerge"
- einfo "\"net-snmp\" then try again. Bug #67411."
- die "\""${DYNALOADER_PATH}"\" is not found."
- fi
- fi
- done
- else
- eerror "\"net-snmp-config\" not found or not executable!"
- die "You have \"net-snmp\" installed but \"net-snmp-config\" is not found or not executable. Please re-emerge \"net-snmp\" and try again!"
- fi
-}
-
-fail_msg() {
- eerror "enable "snmp" USE flag for this package requires"
- eerror "that net-analyzer/net-snmp and this package both build with"
- eerror "\"tcpd\" or \"-tcpd\". Bug #68254"
- die "sanity check failed."
-}
-
-pkg_setup() {
- use snmp && new_net-snmp_check
- enewuser cyrus -1 -1 /usr/cyrus mail
-}
-
-src_unpack() {
- unpack ${A} && cd "${S}"
-
- ht_fix_file "${S}"/imap/xversion.sh
-
- # Fix prestripped binaries
- epatch "${FILESDIR}/${PN}-strip.patch"
-
- # Unsupported UoA patch. Bug #112912 .
- # http://email.uoa.gr/projects/cyrus/autocreate/
- if use autocreate ; then
- epatch "${WORKDIR}/${P}-autocreate-${AUTOCREATE_PATCH_VER}.diff"
- use drac \
- && epatch "${FILESDIR}/${PN}-${DRAC_PATCH_VER}-drac_with_autocreate.patch" \
- && epatch "${S}/contrib/drac_auth.patch"
- else
- use drac && epatch "${S}/contrib/drac_auth.patch"
- fi
-
- # Unsupported UoA patch. Bug #133187 .
- # http://email.uoa.gr/projects/cyrus/autosievefolder/
- use autosieve && epatch "${WORKDIR}/${P}-autosieve-${AUTOSIEVE_PATCH_VER}.diff"
-
- # Add libwrap defines as we don't have a dynamicly linked library.
- use tcpd && epatch "${FILESDIR}/${PN}-${LIBWRAP_PATCH_VER}-libwrap.patch"
-
- # Fix master(8)->cyrusmaster(8) manpage.
- for i in `grep -rl -e 'master\.8' -e 'master(8)' "${S}"` ; do
- sed -i -e 's:master\.8:cyrusmaster.8:g' \
- -e 's:master(8):cyrusmaster(8):g' \
- "${i}" || die "sed failed" || die "sed failed"
- done
- mv man/master.8 man/cyrusmaster.8 || die "mv failed"
- sed -i -e "s:MASTER:CYRUSMASTER:g" \
- -e "s:Master:Cyrusmaster:g" \
- -e "s:master:cyrusmaster:g" \
- man/cyrusmaster.8 || die "sed failed"
-
- # Recreate configure.
- WANT_AUTOCONF="2.5"
- AT_M4DIR="cmulocal" eautoreconf
-
- # When linking with rpm, you need to link with more libraries.
- sed -i -e "s:lrpm:lrpm -lrpmio -lrpmdb:" configure || die "sed failed"
-}
-
-src_compile() {
- local myconf
- myconf="${myconf} $(use_with drac)"
- myconf="${myconf} $(use_with ssl openssl)"
- myconf="${myconf} $(use_with snmp ucdsnmp)"
- myconf="${myconf} $(use_with tcpd libwrap)"
- myconf="${myconf} $(use_enable kerberos gssapi) $(use_enable kerberos krb5afspts)"
- myconf="${myconf} $(use_enable idled)"
- myconf="${myconf} $(use_enable nntp nntp)"
- myconf="${myconf} $(use_enable replication)"
-
- if use kerberos; then
- myconf="${myconf} --with-auth=krb5"
- else
- myconf="${myconf} --with-auth=unix"
- fi
-
- econf \
- --enable-murder \
- --enable-listext \
- --enable-netscapehack \
- --with-extraident=Gentoo \
- --with-service-path=/usr/lib/cyrus \
- --with-cyrus-user=cyrus \
- --with-cyrus-group=mail \
- --with-com_err=yes \
- --without-perl \
- --disable-cyradm \
- ${myconf} || die "econf failed"
-
- # needed for parallel make. Bug #72352.
- cd "${S}"/imap
- emake xversion.h || die "emake xversion.h failed"
-
- cd "${S}"
- emake || die "compile problem"
-}
-
-src_install() {
- dodir /usr/bin /usr/lib
- for subdir in master imap imtest timsieved notifyd sieve; do
- make -C "${subdir}" DESTDIR="${D}" install || die "make install failed"
- done
-
- # Link master to cyrusmaster (postfix has a master too)
- dosym /usr/lib/cyrus/master /usr/lib/cyrus/cyrusmaster
-
- if ! use nntp ; then
- rm man/fetchnews.8 man/syncnews.8 man/nntpd.8 man/nntptest.1
- rm "${D}"/usr/bin/nntptest
- fi
-
- doman man/*.[0-8]
- dodoc COPYRIGHT README*
- dohtml doc/*.html doc/murder.png
- cp doc/cyrusv2.mc "${D}/usr/share/doc/${PF}/html"
- cp -r contrib tools "${D}/usr/share/doc/${PF}"
- find "${D}/usr/share/doc" -name CVS -print0 | xargs -0 rm -rf
-
- insinto /etc
- doins "${FILESDIR}/cyrus.conf" "${FILESDIR}/imapd.conf"
-
- newinitd "${FILESDIR}/cyrus.rc6" cyrus
- newconfd "${FILESDIR}/cyrus.confd" cyrus
- newpamd "${FILESDIR}/cyrus.pam-include" sieve
-
- for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.} ; do
- keepdir "/var/${subdir}"
- fowners cyrus:mail "/var/${subdir}"
- fperms 0750 "/var/${subdir}"
- done
- for subdir in imap/{user,quota,sieve} spool/imap ; do
- for i in a b c d e f g h i j k l m n o p q r s t v u w x y z ; do
- keepdir "/var/${subdir}/${i}"
- fowners cyrus:mail "/var/${subdir}/${i}"
- fperms 0750 "/var/${subdir}/${i}"
- done
- done
-}
-
-pkg_postinst() {
- # do not install server.{key,pem) if they are exist.
- use ssl && {
- if [ ! -f "${ROOT}"etc/ssl/cyrus/server.key ]; then
- install_cert /etc/ssl/cyrus/server
- chown cyrus:mail "${ROOT}"etc/ssl/cyrus/server.{key,pem}
- fi
- }
-
- if df -T /var/imap | grep -q ' ext[23] ' ; then
- ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous."
- chattr +S /var/imap/{user,quota}{,/*}
- eend $?
- fi
-
- if df -T /var/spool/imap | grep -q ' ext[23] ' ; then
- ebegin "Making /var/spool/imap/* synchronous."
- chattr +S /var/spool/imap{,/*}
- eend $?
- fi
-
- ewarn "If the queue directory of the mail daemon resides on an ext2"
- ewarn "or ext3 filesystem you need to set it manually to update"
- ewarn "synchronously. E.g. 'chattr +S /var/spool/mqueue'."
- echo
-
- elog "For correct logging add the following to /etc/syslog.conf:"
- elog " local6.* /var/log/imapd.log"
- elog " auth.debug /var/log/auth.log"
- echo
-
- elog "You have to add user cyrus to the sasldb2. Do this with:"
- elog " saslpasswd2 cyrus"
-}
diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.3.12_p2.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.3.12_p2.ebuild
deleted file mode 100644
index 7fccbce..0000000
--- a/net-mail/cyrus-imapd/cyrus-imapd-2.3.12_p2.ebuild
+++ /dev/null
@@ -1,262 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.3.11.ebuild,v 1.5 2008/03/15 23:14:05 halcy0n Exp $
-
-inherit autotools eutils ssl-cert fixheadtails pam
-
-MY_P=${P/_/}
-
-DESCRIPTION="The Cyrus IMAP Server."
-HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/"
-SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${MY_P}.tar.gz"
-LIBWRAP_PATCH_VER="2.2"
-
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-IUSE="drac idled kerberos kolab nntp pam replication snmp ssl tcpd"
-
-PROVIDE="virtual/imapd"
-RDEPEND=">=sys-libs/db-3.2
- >=dev-libs/cyrus-sasl-2.1.13
- pam? (
- virtual/pam
- >=net-mail/mailbase-1
- )
- kerberos? ( virtual/krb5 )
- snmp? ( >=net-analyzer/net-snmp-5.2.2-r1 )
- ssl? ( >=dev-libs/openssl-0.9.6 )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
- drac? ( >=mail-client/drac-1.12-r1 )
- nntp? ( !net-nntp/leafnode )
- kolab? ( net-nds/openldap )"
-
-DEPEND="$RDEPEND
- sys-devel/libtool
- >=sys-devel/autoconf-2.58
- sys-devel/automake"
-
-RDEPEND="$RDEPEND
- !virtual/imapd"
-
-new_net-snmp_check() {
- # tcpd USE flag check. Bug #68254.
- if use tcpd ; then
- if has_version net-analyzer/net-snmp && ! built_with_use net-analyzer/net-snmp tcpd ; then
- eerror "You are emerging this package with USE=\"tcpd\""
- eerror "but \"net-analyzer/net-snmp\" has been emerged with USE=\"-tcpd\""
- fail_msg
- fi
- else
- if has_version net-analyzer/net-snmp && built_with_use net-analyzer/net-snmp tcpd ; then
- eerror "You are emerging this package with USE=\"-tcpd\""
- eerror "but \"net-analyzer/net-snmp\" has been emerged with USE=\"tcpd\""
- fail_msg
- fi
- fi
- # DynaLoader check. Bug #67411
-
- if [ -x "$(type -p net-snmp-config)" ]; then
- einfo "$(type -p net-snmp-config) is found and executable."
- NSC_AGENTLIBS="$(net-snmp-config --agent-libs)"
- einfo "NSC_AGENTLIBS=\""${NSC_AGENTLIBS}"\""
- if [ -z "$NSC_AGENTLIBS" ]; then
- eerror "NSC_AGENTLIBS is null"
- einfo "please report this to bugs.gentoo.org"
- fi
- for i in ${NSC_AGENTLIBS}; do
- # check for the DynaLoader path.
- if [ "$(expr "$i" : '.*\(DynaLoader\)')" == "DynaLoader" ] ; then
- DYNALOADER_PATH="$i"
- einfo "DYNALOADER_PATH=\""${DYNALOADER_PATH}"\""
- if [[ ! -f "${DYNALOADER_PATH}" ]]; then
- eerror "\""${DYNALOADER_PATH}"\" is not found."
- einfo "Have you upgraded \"perl\" after"
- einfo "you emerged \"net-snmp\". Please re-emerge"
- einfo "\"net-snmp\" then try again. Bug #67411."
- die "\""${DYNALOADER_PATH}"\" is not found."
- fi
- fi
- done
- else
- eerror "\"net-snmp-config\" not found or not executable!"
- die "You have \"net-snmp\" installed but \"net-snmp-config\" is not found or not executable. Please re-emerge \"net-snmp\" and try again!"
- fi
-}
-
-fail_msg() {
- eerror "enable "snmp" USE flag for this package requires"
- eerror "that net-analyzer/net-snmp and this package both build with"
- eerror "\"tcpd\" or \"-tcpd\". Bug #68254"
- die "sanity check failed."
-}
-
-pkg_setup() {
- use snmp && new_net-snmp_check
- enewuser cyrus -1 -1 /usr/cyrus mail
-}
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A} && cd "${S}"
-
- ht_fix_file "${S}"/imap/xversion.sh
-
- # Fix prestripped binaries
- epatch "${FILESDIR}/${PN}-strip.patch"
-
- if use drac ; then
- epatch "${S}/contrib/drac_auth.patch"
- fi
-
- # KOLAB support
- if use kolab ; then
- EPATCH_SOURCE="${FILESDIR}/kolab/${PV}" EPATCH_SUFFIX="patch" \
- EPATCH_FORCE="yes" epatch
- # These files are being created automatically and need to be updated
- # # after the patches used above
- rm -f lib/imapopts.h lib/imapopts.c
- fi
-
- # Add libwrap defines as we don't have a dynamicly linked library.
- use tcpd && epatch "${FILESDIR}/${PN}-${LIBWRAP_PATCH_VER}-libwrap.patch"
-
- # Fix master(8)->cyrusmaster(8) manpage.
- for i in `grep -rl -e 'master\.8' -e 'master(8)' "${S}"` ; do
- sed -i -e 's:master\.8:cyrusmaster.8:g' \
- -e 's:master(8):cyrusmaster(8):g' \
- "${i}" || die "sed failed" || die "sed failed"
- done
- mv man/master.8 man/cyrusmaster.8 || die "mv failed"
- sed -i -e "s:MASTER:CYRUSMASTER:g" \
- -e "s:Master:Cyrusmaster:g" \
- -e "s:master:cyrusmaster:g" \
- man/cyrusmaster.8 || die "sed failed"
-
- # Recreate configure.
- WANT_AUTOCONF="2.5"
- AT_M4DIR="cmulocal" eautoreconf
-
- # When linking with rpm, you need to link with more libraries.
- sed -i -e "s:lrpm:lrpm -lrpmio -lrpmdb:" configure || die "sed failed"
-
- if use kolab ; then
- sed -i -e "s/{LIB_SASL}/{LIB_SASL} -lldap -llber /" configure || die "sed failed"
- fi
-}
-
-src_compile() {
- local myconf
- myconf="${myconf} $(use_with drac)"
- myconf="${myconf} $(use_with ssl openssl)"
- myconf="${myconf} $(use_with snmp ucdsnmp)"
- myconf="${myconf} $(use_with tcpd libwrap)"
- myconf="${myconf} $(use_enable kerberos gssapi) $(use_enable kerberos krb5afspts)"
- myconf="${myconf} $(use_enable idled)"
- myconf="${myconf} $(use_enable nntp nntp)"
- myconf="${myconf} $(use_enable replication)"
-
- if use kerberos; then
- myconf="${myconf} --with-auth=krb5"
- else
- myconf="${myconf} --with-auth=unix"
- fi
-
- econf \
- --enable-murder \
- --enable-listext \
- --enable-netscapehack \
- --with-extraident=Gentoo \
- --with-service-path=/usr/lib/cyrus \
- --with-cyrus-user=cyrus \
- --with-cyrus-group=mail \
- --with-com_err=yes \
- --without-perl \
- --disable-cyradm \
- ${myconf} || die "econf failed"
-
- # needed for parallel make. Bug #72352.
- cd "${S}"/imap
- emake xversion.h || die "emake xversion.h failed"
-
- cd "${S}"
- emake || die "compile problem"
-}
-
-src_install() {
- dodir /usr/bin /usr/lib
- for subdir in master imap imtest timsieved notifyd sieve; do
- make -C "${subdir}" DESTDIR="${D}" install || die "make install failed"
- done
-
- # Link master to cyrusmaster (postfix has a master too)
- dosym /usr/lib/cyrus/master /usr/lib/cyrus/cyrusmaster
-
- if ! use nntp ; then
- rm man/fetchnews.8 man/syncnews.8 man/nntpd.8 man/nntptest.1
- rm "${D}"/usr/bin/nntptest
- fi
-
- doman man/*.[0-8]
- dodoc COPYRIGHT README*
- dohtml doc/*.html doc/murder.png
- cp doc/cyrusv2.mc "${D}/usr/share/doc/${PF}/html"
- cp -r contrib tools "${D}/usr/share/doc/${PF}"
- find "${D}/usr/share/doc" -name CVS -print0 | xargs -0 rm -rf
-
- insinto /etc
- doins "${FILESDIR}/cyrus.conf" "${FILESDIR}/imapd.conf"
-
- newinitd "${FILESDIR}/cyrus.rc6" cyrus
- newconfd "${FILESDIR}/cyrus.confd" cyrus
- newpamd "${FILESDIR}/cyrus.pam-include" sieve
-
- for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.} ; do
- keepdir "/var/${subdir}"
- fowners cyrus:mail "/var/${subdir}"
- fperms 0750 "/var/${subdir}"
- done
- for subdir in imap/{user,quota,sieve} spool/imap ; do
- for i in a b c d e f g h i j k l m n o p q r s t v u w x y z ; do
- keepdir "/var/${subdir}/${i}"
- fowners cyrus:mail "/var/${subdir}/${i}"
- fperms 0750 "/var/${subdir}/${i}"
- done
- done
-}
-
-pkg_postinst() {
- # do not install server.{key,pem) if they are exist.
- use ssl && {
- if [ ! -f "${ROOT}"etc/ssl/cyrus/server.key ]; then
- install_cert /etc/ssl/cyrus/server
- chown cyrus:mail "${ROOT}"etc/ssl/cyrus/server.{key,pem}
- fi
- }
-
- if df -T /var/imap | grep -q ' ext[23] ' ; then
- ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous."
- chattr +S /var/imap/{user,quota}{,/*}
- eend $?
- fi
-
- if df -T /var/spool/imap | grep -q ' ext[23] ' ; then
- ebegin "Making /var/spool/imap/* synchronous."
- chattr +S /var/spool/imap{,/*}
- eend $?
- fi
-
- ewarn "If the queue directory of the mail daemon resides on an ext2"
- ewarn "or ext3 filesystem you need to set it manually to update"
- ewarn "synchronously. E.g. 'chattr +S /var/spool/mqueue'."
- echo
-
- elog "For correct logging add the following to /etc/syslog.conf:"
- elog " local6.* /var/log/imapd.log"
- elog " auth.debug /var/log/auth.log"
- echo
-
- elog "You have to add user cyrus to the sasldb2. Do this with:"
- elog " saslpasswd2 cyrus"
-}
diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r1.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r1.ebuild
deleted file mode 100644
index 5266492..0000000
--- a/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r1.ebuild
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.3.9-r1.ebuild,v 1.11 2008/03/15 23:14:05 halcy0n Exp $
-
-inherit autotools eutils ssl-cert fixheadtails pam
-
-DESCRIPTION="The Cyrus IMAP Server."
-HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/"
-SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz
- mirror://gentoo/${P}-uoa.tbz2"
-LIBWRAP_PATCH_VER="2.2"
-DRAC_PATCH_VER="2.3.8"
-AUTOCREATE_PATCH_VER="0.10-0"
-AUTOSIEVE_PATCH_VER="0.6.0"
-
-LICENSE="as-is"
-SLOT="0"
-KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
-IUSE="autocreate autosieve drac idled kerberos nntp pam replication snmp ssl tcpd"
-
-PROVIDE="virtual/imapd"
-RDEPEND=">=sys-libs/db-3.2
- >=dev-libs/cyrus-sasl-2.1.13
- pam? (
- virtual/pam
- >=net-mail/mailbase-1
- )
- kerberos? ( virtual/krb5 )
- snmp? ( >=net-analyzer/net-snmp-5.2.2-r1 )
- ssl? ( >=dev-libs/openssl-0.9.6 )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
- drac? ( >=mail-client/drac-1.12-r1 )"
-
-DEPEND="$RDEPEND
- sys-devel/libtool
- >=sys-devel/autoconf-2.58
- sys-devel/automake"
-
-RDEPEND="$RDEPEND
- !virtual/imap"
-
-new_net-snmp_check() {
- # tcpd USE flag check. Bug #68254.
- if use tcpd ; then
- if has_version net-analyzer/net-snmp && ! built_with_use net-analyzer/net-snmp tcpd ; then
- eerror "You are emerging this package with USE=\"tcpd\""
- eerror "but \"net-analyzer/net-snmp\" has been emerged with USE=\"-tcpd\""
- fail_msg
- fi
- else
- if has_version net-analyzer/net-snmp && built_with_use net-analyzer/net-snmp tcpd ; then
- eerror "You are emerging this package with USE=\"-tcpd\""
- eerror "but \"net-analyzer/net-snmp\" has been emerged with USE=\"tcpd\""
- fail_msg
- fi
- fi
- # DynaLoader check. Bug #67411
-
- if [ -x "$(type -p net-snmp-config)" ]; then
- einfo "$(type -p net-snmp-config) is found and executable."
- NSC_AGENTLIBS="$(net-snmp-config --agent-libs)"
- einfo "NSC_AGENTLIBS=\""${NSC_AGENTLIBS}"\""
- if [ -z "$NSC_AGENTLIBS" ]; then
- eerror "NSC_AGENTLIBS is null"
- einfo "please report this to bugs.gentoo.org"
- fi
- for i in ${NSC_AGENTLIBS}; do
- # check for the DynaLoader path.
- if [ "$(expr "$i" : '.*\(DynaLoader\)')" == "DynaLoader" ] ; then
- DYNALOADER_PATH="$i"
- einfo "DYNALOADER_PATH=\""${DYNALOADER_PATH}"\""
- if [[ ! -f "${DYNALOADER_PATH}" ]]; then
- eerror "\""${DYNALOADER_PATH}"\" is not found."
- einfo "Have you upgraded \"perl\" after"
- einfo "you emerged \"net-snmp\". Please re-emerge"
- einfo "\"net-snmp\" then try again. Bug #67411."
- die "\""${DYNALOADER_PATH}"\" is not found."
- fi
- fi
- done
- else
- eerror "\"net-snmp-config\" not found or not executable!"
- die "You have \"net-snmp\" installed but \"net-snmp-config\" is not found or not executable. Please re-emerge \"net-snmp\" and try again!"
- fi
-}
-
-fail_msg() {
- eerror "enable "snmp" USE flag for this package requires"
- eerror "that net-analyzer/net-snmp and this package both build with"
- eerror "\"tcpd\" or \"-tcpd\". Bug #68254"
- die "sanity check failed."
-}
-
-pkg_setup() {
- use snmp && new_net-snmp_check
- enewuser cyrus -1 -1 /usr/cyrus mail
-}
-
-src_unpack() {
- unpack ${A} && cd "${S}"
-
- ht_fix_file "${S}"/imap/xversion.sh
-
- # Fix prestripped binaries
- epatch "${FILESDIR}/${PN}-strip.patch"
-
- # Parallel make fix
- epatch "${FILESDIR}"/${PN}-parallel.patch
-
- # Unsupported UoA patch. Bug #112912 .
- # http://email.uoa.gr/projects/cyrus/autocreate/
- if use autocreate ; then
- epatch "${WORKDIR}/${P}-autocreate-${AUTOCREATE_PATCH_VER}.diff"
- use drac \
- && epatch "${FILESDIR}/${PN}-${DRAC_PATCH_VER}-drac_with_autocreate.patch" \
- && epatch "${S}/contrib/drac_auth.patch"
- else
- use drac && epatch "${S}/contrib/drac_auth.patch"
- fi
-
- # Unsupported UoA patch. Bug #133187 .
- # http://email.uoa.gr/projects/cyrus/autosievefolder/
- use autosieve && epatch "${WORKDIR}/${P}-autosieve-${AUTOSIEVE_PATCH_VER}.diff"
-
- # Add libwrap defines as we don't have a dynamicly linked library.
- use tcpd && epatch "${FILESDIR}/${PN}-${LIBWRAP_PATCH_VER}-libwrap.patch"
-
- # Fix master(8)->cyrusmaster(8) manpage.
- for i in `grep -rl -e 'master\.8' -e 'master(8)' "${S}"` ; do
- sed -i -e 's:master\.8:cyrusmaster.8:g' \
- -e 's:master(8):cyrusmaster(8):g' \
- "${i}" || die "sed failed" || die "sed failed"
- done
- mv man/master.8 man/cyrusmaster.8 || die "mv failed"
- sed -i -e "s:MASTER:CYRUSMASTER:g" \
- -e "s:Master:Cyrusmaster:g" \
- -e "s:master:cyrusmaster:g" \
- man/cyrusmaster.8 || die "sed failed"
-
- # Recreate configure.
- WANT_AUTOCONF="2.5"
- eautoreconf
-
- # When linking with rpm, you need to link with more libraries.
- sed -i -e "s:lrpm:lrpm -lrpmio -lrpmdb:" configure || die "sed failed"
-}
-
-src_compile() {
- local myconf
- myconf="${myconf} $(use_with drac)"
- myconf="${myconf} $(use_with ssl openssl)"
- myconf="${myconf} $(use_with snmp ucdsnmp)"
- myconf="${myconf} $(use_with tcpd libwrap)"
- myconf="${myconf} $(use_enable kerberos gssapi) $(use_enable kerberos krb5afspts)"
- myconf="${myconf} $(use_enable idled)"
- myconf="${myconf} $(use_enable nntp nntp)"
- myconf="${myconf} $(use_enable replication)"
-
- if use kerberos; then
- myconf="${myconf} --with-auth=krb5"
- else
- myconf="${myconf} --with-auth=unix"
- fi
-
- econf \
- --enable-murder \
- --enable-listext \
- --enable-netscapehack \
- --with-extraident=Gentoo \
- --with-service-path=/usr/lib/cyrus \
- --with-cyrus-user=cyrus \
- --with-cyrus-group=mail \
- --with-com_err=yes \
- --without-perl \
- --disable-cyradm \
- ${myconf} || die "econf failed"
-
- # needed for parallel make. Bug #72352.
- cd "${S}"/imap
- emake xversion.h || die "emake xversion.h failed"
-
- cd "${S}"
- emake || die "compile problem"
-}
-
-src_install() {
- dodir /usr/bin /usr/lib
- for subdir in master imap imtest timsieved notifyd sieve; do
- make -C "${subdir}" DESTDIR="${D}" install || die "make install failed"
- done
-
- # Link master to cyrusmaster (postfix has a master too)
- dosym /usr/lib/cyrus/master /usr/lib/cyrus/cyrusmaster
-
- doman man/*.[0-8]
- dodoc COPYRIGHT README*
- dohtml doc/*.html doc/murder.png
- cp doc/cyrusv2.mc "${D}/usr/share/doc/${PF}/html"
- cp -r contrib tools "${D}/usr/share/doc/${PF}"
- find "${D}/usr/share/doc" -name CVS -print0 | xargs -0 rm -rf
-
- insinto /etc
- doins "${FILESDIR}/cyrus.conf" "${FILESDIR}/imapd.conf"
-
- newinitd "${FILESDIR}/cyrus.rc6" cyrus
- newconfd "${FILESDIR}/cyrus.confd" cyrus
- newpamd "${FILESDIR}/cyrus.pam-include" sieve
-
- for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.} ; do
- keepdir "/var/${subdir}"
- fowners cyrus:mail "/var/${subdir}"
- fperms 0750 "/var/${subdir}"
- done
- for subdir in imap/{user,quota,sieve} spool/imap ; do
- for i in a b c d e f g h i j k l m n o p q r s t v u w x y z ; do
- keepdir "/var/${subdir}/${i}"
- fowners cyrus:mail "/var/${subdir}/${i}"
- fperms 0750 "/var/${subdir}/${i}"
- done
- done
-}
-
-pkg_postinst() {
- # do not install server.{key,pem) if they are exist.
- use ssl && {
- if [ ! -f "${ROOT}"etc/ssl/cyrus/server.key ]; then
- install_cert /etc/ssl/cyrus/server
- chown cyrus:mail "${ROOT}"etc/ssl/cyrus/server.{key,pem}
- fi
- }
-
- if df -T /var/imap | grep -q ' ext[23] ' ; then
- ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous."
- chattr +S /var/imap/{user,quota}{,/*}
- eend $?
- fi
-
- if df -T /var/spool/imap | grep -q ' ext[23] ' ; then
- ebegin "Making /var/spool/imap/* synchronous."
- chattr +S /var/spool/imap{,/*}
- eend $?
- fi
-
- ewarn "If the queue directory of the mail daemon resides on an ext2"
- ewarn "or ext3 filesystem you need to set it manually to update"
- ewarn "synchronously. E.g. 'chattr +S /var/spool/mqueue'."
- echo
-
- elog "For correct logging add the following to /etc/syslog.conf:"
- elog " local6.* /var/log/imapd.log"
- elog " auth.debug /var/log/auth.log"
- echo
-
- elog "You have to add user cyrus to the sasldb2. Do this with:"
- elog " saslpasswd2 cyrus"
-}
diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.2-libwrap.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.2-libwrap.patch
deleted file mode 100644
index 6157c87..0000000
--- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.2-libwrap.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- master/Makefile.in.orig 2004-10-17 19:48:01.923901016 -0700
-+++ master/Makefile.in 2004-10-17 19:48:33.639079576 -0700
-@@ -59,7 +59,7 @@
-
- CFLAGS = @CFLAGS@
- LDFLAGS = @LDFLAGS@ @COM_ERR_LDFLAGS@
--LIBS = ../lib/libcyrus_min.a @LIB_UCDSNMP@ @LIBS@ @COM_ERR_LIBS@
-+LIBS = ../lib/libcyrus_min.a @LIB_UCDSNMP@ @LIBS@ @COM_ERR_LIBS@ @LIB_WRAP@
-
- SHELL = /bin/sh
- MAKEDEPEND = @MAKEDEPEND@
diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch
deleted file mode 100644
index 5e7929d..0000000
--- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.11-drac_with_autocreate.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- contrib/drac_auth.patch.orig 2008-01-02 20:22:53.244043151 +0100
-+++ contrib/drac_auth.patch 2008-01-02 20:23:42.858474159 +0100
-@@ -107,23 +107,23 @@
- DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@
-
- @@ -201,17 +202,17 @@
-- imapd: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
-+ imapd: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o imapd \
- $(SERVICE) $(IMAPDOBJS) mutex_fake.o \
--- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
-- imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
-+ imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
- $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o imapd.pure \
- $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
--- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
-- imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
-+ imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
- $(QUANTIFY) $(QUANTOPT) $(CC) $(LDFLAGS) -o imapd.quant \
- $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
--- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
- mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
- libimap.a $(DEPLIBS)
-@@ -131,8 +131,8 @@
- pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
- $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o pop3d pop3d.o proxy.o backend.o tls.o $(SERVICE) \
--- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
- nntpd: nntpd.o proxy.o backend.o index.o smtpclient.o spool.o tls.o \
- mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-drac_with_autocreate.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-drac_with_autocreate.patch
deleted file mode 100644
index 3b57e95..0000000
--- a/net-mail/cyrus-imapd/files/cyrus-imapd-2.3.8-drac_with_autocreate.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- contrib/drac_auth.patch.orig 2007-07-28 12:10:05.253222371 +0200
-+++ contrib/drac_auth.patch 2007-07-28 12:12:51.105920502 +0200
-@@ -107,23 +107,23 @@
- DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@
-
- @@ -202,17 +203,17 @@
-- imapd: xversion $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
-+ imapd: xversion $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o imapd \
- $(SERVICE) $(IMAPDOBJS) mutex_fake.o \
--- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
-- imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
-+ imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
- $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o imapd.pure \
- $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
--- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
-- imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
-+ imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
- $(QUANTIFY) $(QUANTOPT) $(CC) $(LDFLAGS) -o imapd.quant \
- $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
--- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) $(DRAC_LIBS)
-+- $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) $(DRAC_LIBS)
-
- mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
- libimap.a $(DEPLIBS)
-@@ -131,8 +131,8 @@
- pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
- $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o pop3d pop3d.o proxy.o backend.o tls.o $(SERVICE) \
--- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
--+ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-+- mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-++ mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
-
- nntpd: nntpd.o proxy.o backend.o index.o smtpclient.o spool.o tls.o \
- mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-parallel.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-parallel.patch
deleted file mode 100644
index 5932afc..0000000
--- a/net-mail/cyrus-imapd/files/cyrus-imapd-parallel.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- imap/Makefile.in.orig 2006-08-28 09:32:33.000000000 -0700
-+++ imap/Makefile.in 2006-08-28 09:33:03.000000000 -0700
-@@ -155,6 +155,8 @@
-
- ### Built Source Files
-
-+version.o: xversion.h
-+
- xversion:
- rm -f version.o
- AWK=$(AWK) $(srcdir)/xversion.sh
diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-strip.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-strip.patch
deleted file mode 100644
index fa82a4b..0000000
--- a/net-mail/cyrus-imapd/files/cyrus-imapd-strip.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- imtest/Makefile.in.orig 2007-09-07 21:45:46.000000000 +0200
-+++ imtest/Makefile.in 2007-09-07 21:45:52.000000000 +0200
-@@ -72,7 +72,7 @@
- all: imtest
-
- install:
-- $(INSTALL) -s -m 755 imtest $(DESTDIR)$(exec_prefix)/bin
-+ $(INSTALL) -m 755 imtest $(DESTDIR)$(exec_prefix)/bin
- ln -f $(DESTDIR)$(exec_prefix)/bin/imtest $(DESTDIR)$(exec_prefix)/bin/pop3test
- ln -f $(DESTDIR)$(exec_prefix)/bin/imtest $(DESTDIR)$(exec_prefix)/bin/nntptest
- ln -f $(DESTDIR)$(exec_prefix)/bin/imtest $(DESTDIR)$(exec_prefix)/bin/lmtptest
diff --git a/net-mail/cyrus-imapd/files/cyrus.conf b/net-mail/cyrus-imapd/files/cyrus.conf
deleted file mode 100644
index fe7d368..0000000
--- a/net-mail/cyrus-imapd/files/cyrus.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.conf,v 1.4 2004/07/18 04:02:23 dragonheart Exp $
-
-# Standard standalone server configuration.
-
-START {
- # Do not delete this entry!
- recover cmd="ctl_cyrusdb -r"
-
- # This is only necessary if using idled for IMAP IDLE.
- #idled cmd="idled"
-}
-
-# UNIX sockets start with a slash and are put into /var/imap/socket.
-SERVICES {
- # Add or remove based on preferences.
- imap cmd="imapd" listen="imap2" prefork=0
- pop3 cmd="pop3d" listen="pop-3" prefork=0
-
- # Don't forget to generate the needed keys for SSL or TLS
- # (see doc/html/install-configure.html).
- #imaps cmd="imapd -s" listen="imaps" prefork=0
- #pop3s cmd="pop3d -s" listen="pop3s" prefork=0
-
- sieve cmd="timsieved" listen="sieve" prefork=0
-
- # at least one LMTP is required for delivery
- #lmtp cmd="lmtpd" listen="lmtp" prefork=0
- lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
-
- # this is only necessary if using notifications
- #notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
-}
-
-EVENTS {
- # This is required.
- checkpoint cmd="ctl_cyrusdb -c" period=30
-
- # This is only necessary if using duplicate delivery suppression.
- delprune cmd="ctl_deliver -E 3" period=1440
-
- # This is only necessary if caching TLS sessions.
- tlsprune cmd="tls_prune" period=1440
-}
diff --git a/net-mail/cyrus-imapd/files/cyrus.confd b/net-mail/cyrus-imapd/files/cyrus.confd
deleted file mode 100644
index ca24b44..0000000
--- a/net-mail/cyrus-imapd/files/cyrus.confd
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.confd,v 1.1 2004/12/29 06:44:00 swegener Exp $
-
-# Additional options for the cyrus master
-CYRUS_OPTS=""
diff --git a/net-mail/cyrus-imapd/files/cyrus.pam-include b/net-mail/cyrus-imapd/files/cyrus.pam-include
deleted file mode 100644
index 6e47645..0000000
--- a/net-mail/cyrus-imapd/files/cyrus.pam-include
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-
-auth required pam_nologin.so
-auth include system-auth
-
-account include system-auth
diff --git a/net-mail/cyrus-imapd/files/cyrus.rc6 b/net-mail/cyrus-imapd/files/cyrus.rc6
deleted file mode 100644
index 423f7a1..0000000
--- a/net-mail/cyrus-imapd/files/cyrus.rc6
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.rc6,v 1.8 2007/07/08 18:47:30 drac Exp $
-
-depend() {
- use net
- use dns logger
- after drac saslauthd
-}
-
-start() {
- ebegin "Starting cyrus imapd"
- start-stop-daemon --start --quiet --background \
- --exec /usr/lib/cyrus/master -- ${CYRUS_OPTS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping cyrus imapd"
- start-stop-daemon --stop --quiet --pidfile /var/run/cyrus-master.pid
- eend $?
-}
diff --git a/net-mail/cyrus-imapd/files/imap.pam b/net-mail/cyrus-imapd/files/imap.pam
deleted file mode 100644
index 17ddb9f..0000000
--- a/net-mail/cyrus-imapd/files/imap.pam
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-
-auth required /lib/security/pam_nologin.so
-auth required /lib/security/pam_stack.so service=system-auth
-
-account required /lib/security/pam_stack.so service=system-auth
diff --git a/net-mail/cyrus-imapd/files/imapd.conf b/net-mail/cyrus-imapd/files/imapd.conf
deleted file mode 100644
index f4db3a4..0000000
--- a/net-mail/cyrus-imapd/files/imapd.conf
+++ /dev/null
@@ -1,52 +0,0 @@
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/imapd.conf,v 1.5 2004/08/27 06:02:45 langthang Exp $
-
-# Don't forget to use chattr +S (if you are using ext[23])
-# when you change these directories (read the docs).
-configdirectory: /var/imap
-partition-default: /var/spool/imap
-sievedir: /var/imap/sieve
-
-tls_ca_path: /etc/ssl/certs
-tls_cert_file: /etc/ssl/cyrus/server.crt
-tls_key_file: /etc/ssl/cyrus/server.key
-
-# Don't use an everyday user as admin.
-admins: cyrus
-
-hashimapspool: yes
-allowanonymouslogin: no
-allowplaintext: no
-
-# Allow renaming of top-level mailboxes.
-#allowusermoves: yes
-
-# Use this if sieve-scripts could be in ~user/.sieve.
-#sieveusehomedir: yes
-
-# Use saslauthd if you want to use pam for imap.
-# But be warned: login with DIGEST-MD5 or CRAM-MD5
-# is not possible using pam.
-#sasl_pwcheck_method: saslauthd
-
-####################################################
-## This is a recommended authentication method if you
-## emerge cyrus-sasl with 'postgres' or 'mysql'
-## To use with mysql database uncomment those lines below.
-
-#sasl_pwcheck_method: auxprop
-#sasl_auxprop_plugin: sql
-
-## possible values for sasl_auxprop_plugin 'mysql', 'pgsql', 'sqlite'.
-#sasl_sql_engine: mysql
-
-## all possible values.
-#sasl_mech_list: LOGIN PLAIN CRAM-MD5 DIGEST-MD5 NTLM
-## or limit to CRAM-MD5 only
-#sasl_mech_list: CRAM-MD5
-
-## change below to suit your setup.
-sasl_sql_user: mailsqluser
-sasl_sql_passwd: password
-sasl_sql_database: mailsqldb
-sasl_sql_hostnames: localhost
-sasl_sql_select: SELECT clear FROM users WHERE email = '%u@%r'
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/annotations2.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/annotations2.patch
deleted file mode 100644
index 87fa920..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/annotations2.patch
+++ /dev/null
@@ -1,356 +0,0 @@
-Provides a new version of annotation support for the cyrus imapd server [Version: 2.3.9]
-
-diff -r 321cda1d6136 imap/annotate.c
---- a/imap/annotate.c Tue Apr 22 10:44:56 2008 +0200
-+++ b/imap/annotate.c Tue Apr 22 10:47:04 2008 +0200
-@@ -90,6 +90,8 @@ int (*proxy_fetch_func)(const char *serv
- struct strlist *attribute_pat) = NULL;
- int (*proxy_store_func)(const char *server, const char *mbox_pat,
- struct entryattlist *entryatts) = NULL;
-+
-+void init_annotation_definitions();
-
- /* String List Management */
- /*
-@@ -237,6 +239,8 @@ void annotatemore_init(int myflags,
- if (store_func) {
- proxy_store_func = store_func;
- }
-+
-+ init_annotation_definitions();
- }
-
- void annotatemore_open(char *fname)
-@@ -1832,6 +1836,224 @@ const struct annotate_st_entry mailbox_r
- { NULL, 0, ANNOTATION_PROXY_T_INVALID, 0, 0, NULL, NULL }
- };
-
-+struct annotate_st_entry_list *server_entries_list = NULL;
-+struct annotate_st_entry_list *mailbox_rw_entries_list = NULL;
-+
-+enum {
-+ ANNOTATION_SCOPE_SERVER = 1,
-+ ANNOTATION_SCOPE_MAILBOX = 2
-+};
-+
-+const struct annotate_attrib annotation_scope_names[] =
-+{
-+ { "server", ANNOTATION_SCOPE_SERVER },
-+ { "mailbox", ANNOTATION_SCOPE_MAILBOX },
-+ { NULL, 0 }
-+};
-+
-+const struct annotate_attrib annotation_proxy_type_names[] =
-+{
-+ { "proxy", PROXY_ONLY },
-+ { "backend", BACKEND_ONLY },
-+ { "proxy_and_backend", PROXY_AND_BACKEND },
-+ { NULL, 0 }
-+};
-+
-+const struct annotate_attrib attribute_type_names[] =
-+{
-+ { "content-type", ATTRIB_TYPE_CONTENTTYPE },
-+ { "string", ATTRIB_TYPE_STRING },
-+ { "boolean", ATTRIB_TYPE_BOOLEAN },
-+ { "uint", ATTRIB_TYPE_UINT },
-+ { "int", ATTRIB_TYPE_INT },
-+ { NULL, 0 }
-+};
-+
-+#define ANNOT_DEF_MAXLINELEN 1024
-+
-+int table_lookup(const struct annotate_attrib *table,
-+ char* name,
-+ size_t namelen,
-+ char* errmsg)
-+/* search in table for the value given by name and namelen (name is null-terminated,
-+ but possibly more than just the key). errmsg is used to hint the user where we failed */
-+{
-+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
-+ int entry;
-+
-+ for (entry = 0; table[entry].name &&
-+ (strncasecmp(table[entry].name, name, namelen)
-+ || table[entry].name[namelen] != '\0'); entry++);
-+
-+ if (! table[entry].name) {
-+ sprintf(errbuf, "invalid %s at '%s'", errmsg, name);
-+ fatal(errbuf, EC_CONFIG);
-+ }
-+ return table[entry].entry;
-+}
-+
-+char *consume_comma(char* p)
-+ /* advance beyond the next ',', skipping whitespace, fail if next non-space is no comma */
-+{
-+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
-+
-+ for (; *p && isspace(*p); p++);
-+ if (*p != ',') {
-+ sprintf(errbuf, "',' expected, '%s' found parsing annotation definition",
-+ p);
-+ fatal(errbuf, EC_CONFIG);
-+ }
-+ p++;
-+ for (; *p && isspace(*p); p++);
-+
-+ return p;
-+}
-+
-+int parse_table_lookup_bitmask(const struct annotate_attrib *table,
-+ char** s,
-+ char* errmsg)
-+ /* parses strings of the form value1 [ value2 [ ... ]]
-+ value1 is mapped via table to ints and the result ored
-+ whitespace is allowed between value names and punctuation
-+ the field must end in '\0' or ','
-+ s is advanced to '\0' or ','
-+ on error errmsg is used to identify item to be parsed
-+ */
-+{
-+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
-+ int result = 0;
-+ char *p, *p2;
-+
-+ p = *s;
-+ do {
-+ p2 = p;
-+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
-+ result |= table_lookup(table, p2, p-p2, errmsg);
-+ for (; *p && isspace(*p); p++);
-+ } while (*p && *p != ',');
-+
-+ *s = p;
-+ return result;
-+}
-+
-+void init_annotation_definitions()
-+{
-+ char *p, *p2, *tmp;
-+ const char *filename;
-+ char aline[ANNOT_DEF_MAXLINELEN];
-+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
-+ struct annotate_st_entry_list *se, *me;
-+ struct annotate_st_entry *ae;
-+ int i;
-+ FILE* f;
-+
-+ /* NOTE: we assume # static entries > 0 */
-+ server_entries_list = xmalloc(sizeof(struct annotate_st_entry_list));
-+ mailbox_rw_entries_list = xmalloc(sizeof(struct annotate_st_entry_list));
-+ se = server_entries_list;
-+ me = mailbox_rw_entries_list;
-+ /* copy static entries into list */
-+ for (i = 0; server_entries[i].name;i++) {
-+ se->entry = &server_entries[i];
-+ if (server_entries[i+1].name) {
-+ se->next = xmalloc(sizeof(struct annotate_st_entry_list));
-+ se = se->next;
-+ }
-+ }
-+ /* copy static entries into list */
-+ for (i = 0; mailbox_rw_entries[i].name;i++) {
-+ me->entry = &mailbox_rw_entries[i];
-+ if (mailbox_rw_entries[i+1].name) {
-+ me->next = xmalloc(sizeof(struct annotate_st_entry_list));
-+ me = me->next;
-+ }
-+ }
-+
-+ /* parse config file */
-+ filename = config_getstring(IMAPOPT_ANNOTATION_DEFINITIONS);
-+
-+ if (! filename) {
-+ se->next = NULL;
-+ me->next = NULL;
-+ return;
-+ }
-+
-+ f = fopen(filename,"r");
-+ if (! f) {
-+ sprintf(errbuf, "could not open annotation definiton %s", filename);
-+ fatal(errbuf, EC_CONFIG);
-+ }
-+
-+ while (fgets(aline, sizeof(aline), f)) {
-+ // remove leading space, skip blank lines and comments
-+ for (p = aline; *p && isspace(*p); p++);
-+ if (!*p || *p == '#') continue;
-+
-+ // note, we only do the most basic validity checking and may
-+ // be more restrictive than neccessary
-+
-+ ae = xmalloc(sizeof(struct annotate_st_entry));
-+
-+ p2 = p;
-+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
-+ // TV-TODO: should test for empty
-+ ae->name = xstrndup(p2, p-p2);
-+
-+ p = consume_comma(p);
-+
-+ p2 = p;
-+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
-+
-+ if (table_lookup(annotation_scope_names, p2, p-p2,
-+ "annotation scope")==ANNOTATION_SCOPE_SERVER) {
-+ se->next = xmalloc(sizeof(struct annotate_st_entry_list));
-+ se = se->next;
-+ se->entry = ae;
-+ }
-+ else {
-+ me->next = xmalloc(sizeof(struct annotate_st_entry_list));
-+ me = me->next;
-+ me->entry = ae;
-+ }
-+
-+ p = consume_comma(p);
-+ p2 = p;
-+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
-+ ae->type = table_lookup(attribute_type_names, p2, p-p2,
-+ "attribute type");
-+
-+ p = consume_comma(p);
-+ ae->proxytype = parse_table_lookup_bitmask(annotation_proxy_type_names,
-+ &p,
-+ "annotation proxy type");
-+
-+ p = consume_comma(p);
-+ ae->attribs = parse_table_lookup_bitmask(annotation_attributes,
-+ &p,
-+ "annotation attributes");
-+
-+ p = consume_comma(p);
-+ p2 = p;
-+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
-+ tmp = xstrndup(p2, p-p2);
-+ ae->acl = cyrus_acl_strtomask(tmp);
-+ free(tmp);
-+
-+ for (; *p && isspace(*p); p++);
-+ if (*p) {
-+ sprintf(errbuf, "junk at end of line: '%s'", p);
-+ fatal(errbuf, EC_CONFIG);
-+ }
-+
-+ ae->set = annotation_set_todb;
-+ ae->rock = NULL;
-+ }
-+
-+ fclose(f);
-+ se->next = NULL;
-+ me->next = NULL;
-+}
-+
- int annotatemore_store(char *mailbox,
- struct entryattlist *l,
- struct namespace *namespace,
-@@ -1843,7 +2065,7 @@ int annotatemore_store(char *mailbox,
- struct entryattlist *e = l;
- struct attvaluelist *av;
- struct storedata sdata;
-- const struct annotate_st_entry *entries;
-+ const struct annotate_st_entry_list *entries, *currententry;
- time_t now = time(0);
-
- memset(&sdata, 0, sizeof(struct storedata));
-@@ -1854,45 +2076,45 @@ int annotatemore_store(char *mailbox,
-
- if (!mailbox[0]) {
- /* server annotations */
-- entries = server_entries;
-+ entries = server_entries_list;
- }
- else {
- /* mailbox annotation(s) */
-- entries = mailbox_rw_entries;
-+ entries = mailbox_rw_entries_list;
- }
-
- /* Build a list of callbacks for storing the annotations */
- while (e) {
-- int entrycount, attribs;
-+ int attribs;
- struct annotate_st_entry_list *nentry = NULL;
-
- /* See if we support this entry */
-- for (entrycount = 0;
-- entries[entrycount].name;
-- entrycount++) {
-- if (!strcmp(e->entry, entries[entrycount].name)) {
-+ for (currententry = entries;
-+ currententry;
-+ currententry = currententry->next) {
-+ if (!strcmp(e->entry, currententry->entry->name)) {
- break;
- }
- }
-- if (!entries[entrycount].name) {
-+ if (!currententry) {
- /* unknown annotation */
- return IMAP_PERMISSION_DENIED;
- }
-
- /* Add this entry to our list only if it
- applies to our particular server type */
-- if ((entries[entrycount].proxytype != PROXY_ONLY)
-+ if ((currententry->entry->proxytype != PROXY_ONLY)
- || proxy_store_func) {
- nentry = xzmalloc(sizeof(struct annotate_st_entry_list));
- nentry->next = sdata.entry_list;
-- nentry->entry = &(entries[entrycount]);
-+ nentry->entry = currententry->entry;
- nentry->shared.modifiedsince = now;
- nentry->priv.modifiedsince = now;
- sdata.entry_list = nentry;
- }
-
- /* See if we are allowed to set the given attributes. */
-- attribs = entries[entrycount].attribs;
-+ attribs = currententry->entry->attribs;
- av = e->attvalues;
- while (av) {
- const char *value;
-@@ -1902,7 +2124,7 @@ int annotatemore_store(char *mailbox,
- goto cleanup;
- }
- value = annotate_canon_value(av->value,
-- entries[entrycount].type);
-+ currententry->entry->type);
- if (!value) {
- r = IMAP_ANNOTATION_BADVALUE;
- goto cleanup;
-@@ -1928,7 +2150,7 @@ int annotatemore_store(char *mailbox,
- goto cleanup;
- }
- value = annotate_canon_value(av->value,
-- entries[entrycount].type);
-+ currententry->entry->type);
- if (!value) {
- r = IMAP_ANNOTATION_BADVALUE;
- goto cleanup;
-@@ -2110,3 +2332,10 @@ int annotatemore_delete(const char *mbox
-
- return annotatemore_rename(mboxname, NULL, NULL, NULL);
- }
-+
-+/* This file contains code Copyright (c) 2006 by Thomas Viehmann.
-+ * You may distribute source code or binaries under the conditions
-+ * conditions given in the CMU license, provided this note stays intact
-+ * in the distributed source. If you want to distribute my code without
-+ * this notice, do contact me at <tv@beamnet.de>.
-+ */
-diff -r 321cda1d6136 lib/imapoptions
---- a/lib/imapoptions Tue Apr 22 10:44:56 2008 +0200
-+++ b/lib/imapoptions Tue Apr 22 10:47:04 2008 +0200
-@@ -172,6 +172,9 @@ are listed with ``<none>''.
- /* Should non-admin users be allowed to set ACLs for the 'anyone'
- user on their mailboxes? In a large organization this can cause
- support problems, but it's enabled by default. */
-+
-+{ "annotation_definitions", NULL, STRING }
-+/* File containing annotation definitions. */
-
- { "auth_mech", "unix", STRINGLIST("unix", "pts", "krb", "krb5")}
- /* The authorization mechanism to use. */
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/cyradm_annotations.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/cyradm_annotations.patch
deleted file mode 100644
index 2167f7f..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/cyradm_annotations.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Allows to use arbitrary annotations with the cyradm tool.
-
-diff -r a07884e259c3 doc/man/cyradm.1.html
---- a/doc/man/cyradm.1.html Thu Oct 25 08:24:39 2007 +0200
-+++ b/doc/man/cyradm.1.html Thu Oct 25 08:29:40 2007 +0200
-@@ -241,6 +241,13 @@ The currently supported attributes are:<
- <dd>
- <p>Sets an email address to which messages injected into the server via NNTP
- will be sent.</p>
-+</dd>
-+</li>
-+<dt><strong><a NAME="item__2fexplicit_2fannotation"><code>/explicit/annotation</code></a></strong>
-+
-+<dd>
-+<p>Sets the annotation <em>/explicit/annotation</em>
-+on <em>mailbox</em> to <em>value</em>.</p>
- </dd>
- </li>
- <dt><strong><a name="item_sharedseen"><code>sharedseen</code></a></strong>
-diff -r a07884e259c3 perl/imap/IMAP/Admin.pm
---- a/perl/imap/IMAP/Admin.pm Thu Oct 25 08:24:39 2007 +0200
-+++ b/perl/imap/IMAP/Admin.pm Thu Oct 25 08:29:40 2007 +0200
-@@ -796,11 +796,11 @@ sub mboxconfig {
- return undef;
- }
-
-- if(!exists($values{$entry})) {
-- $self->{error} = "Unknown parameter $entry";
-- }
--
-- $entry = $values{$entry};
-+ if(exists($values{$entry})) {
-+ $entry = $values{$entry};
-+ } else {
-+ $self->{error} = "Unknown parameter $entry" unless substr($entry,0,1) eq "/";
-+ }
-
- my ($rc, $msg);
-
-diff -r a07884e259c3 perl/imap/IMAP/Shell.pm
---- a/perl/imap/IMAP/Shell.pm Thu Oct 25 08:24:39 2007 +0200
-+++ b/perl/imap/IMAP/Shell.pm Thu Oct 25 08:29:40 2007 +0200
-@@ -126,7 +126,7 @@ my %builtins = (exit =>
- [\&_sc_info, '[mailbox]',
- 'display mailbox/server metadata'],
- mboxcfg =>
-- [\&_sc_mboxcfg, 'mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value',
-+ [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat|/<explicit annotation>] value',
- 'configure mailbox'],
- mboxconfig => 'mboxcfg',
- reconstruct =>
-@@ -1436,7 +1436,7 @@ sub _sc_mboxcfg {
- while (defined ($opt = shift(@argv))) {
- last if $opt eq '--';
- if ($opt =~ /^-/) {
-- die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
-+ die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value\n";
- }
- else {
- push(@nargv, $opt);
-@@ -1445,7 +1445,7 @@ sub _sc_mboxcfg {
- }
- push(@nargv, @argv);
- if (@nargv < 2) {
-- die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
-+ die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value\n";
- }
- if (!$cyrref || !$$cyrref) {
- die "mboxconfig: no connection to server\n";
-diff -r a07884e259c3 perl/imap/cyradm.sh
---- a/perl/imap/cyradm.sh Thu Oct 25 08:24:39 2007 +0200
-+++ b/perl/imap/cyradm.sh Thu Oct 25 08:29:40 2007 +0200
-@@ -241,6 +241,10 @@ mailboxes).
-
- Indicates that the mailbox should have a squat index created for it.
-
-+=item C</explicit/annotation>
-+
-+Sets the annotation I</explicit/annotation> on I<mailbox> to I<value>.
-+
- =back
-
- =item C<renamemailbox> [C<--partition> I<partition>] I<oldname> I<newname>
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/folder-names.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/folder-names.patch
deleted file mode 100644
index df55a3c..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/folder-names.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Modifies the set of accepted characters in folder names for the cyrus imapd server [Version: 2.3.9]
-
-diff -r a83b43bb79a3 imap/mboxname.c
---- a/imap/mboxname.c Tue Dec 11 11:22:14 2007 +0100
-+++ b/imap/mboxname.c Tue Dec 11 11:22:22 2007 +0100
-@@ -712,8 +712,13 @@ int mboxname_netnewscheck(char *name)
- /*
- * Apply site policy restrictions on mailbox names.
- * Restrictions are hardwired for now.
-- */
-+
-+ * original definition
- #define GOODCHARS " +,-.0123456789:=@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~"
-+ */
-+
-+#define GOODCHARS " #$%'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"
-+
- int mboxname_policycheck(char *name)
- {
- unsigned i;
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/groups.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/groups.patch
deleted file mode 100644
index 9e987f5..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/groups.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-Allows to use a file other than /etc/groups for group definitions within the cyrus imapd server [Version: 2.3.9]
-
-diff -r 5f6f7a246f32 lib/auth_unix.c
---- a/lib/auth_unix.c Tue Dec 11 11:20:37 2007 +0100
-+++ b/lib/auth_unix.c Tue Dec 11 11:22:01 2007 +0100
-@@ -48,12 +48,133 @@
- #include <stdlib.h>
- #include <pwd.h>
- #include <grp.h>
-+#include <stdio.h>
- #include <ctype.h>
- #include <string.h>
-
- #include "auth.h"
- #include "libcyr_cfg.h"
- #include "xmalloc.h"
-+
-+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+/*
-+ * __getgrent.c - This file is part of the libc-8086/grp package for ELKS,
-+ * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public
-+ * License along with this library; if not, write to the Free
-+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+#include <unistd.h>
-+#include <string.h>
-+#include <errno.h>
-+
-+static struct group *__getgrent(int grp_fd, char *line_buff, char **members)
-+{
-+ short line_index;
-+ short buff_size;
-+ static struct group group;
-+ register char *ptr;
-+ char *field_begin;
-+ short member_num;
-+ char *endptr;
-+ int line_len;
-+
-+ /* We use the restart label to handle malformatted lines */
-+ restart:
-+ line_index = 0;
-+ buff_size = 256;
-+
-+ line_buff = realloc(line_buff, buff_size);
-+ while (1) {
-+ if ((line_len = read(grp_fd, line_buff + line_index,
-+ buff_size - line_index)) <= 0) {
-+ return NULL;
-+ }
-+ field_begin = strchr(line_buff, '\n');
-+ if (field_begin != NULL) {
-+ lseek(grp_fd,
-+ (long) (1 + field_begin -
-+ (line_len + line_index + line_buff)), SEEK_CUR);
-+ *field_begin = '\0';
-+ if (*line_buff == '#' || *line_buff == ' '
-+ || *line_buff == '\n' || *line_buff == '\t')
-+ goto restart;
-+ break;
-+ } else {
-+ /* Allocate some more space */
-+ line_index = buff_size;
-+ buff_size += 256;
-+ line_buff = realloc(line_buff, buff_size);
-+ }
-+ }
-+
-+ /* Now parse the line */
-+ group.gr_name = line_buff;
-+ ptr = strchr(line_buff, ':');
-+ if (ptr == NULL)
-+ goto restart;
-+ *ptr++ = '\0';
-+
-+ group.gr_passwd = ptr;
-+ ptr = strchr(ptr, ':');
-+ if (ptr == NULL)
-+ goto restart;
-+ *ptr++ = '\0';
-+
-+ field_begin = ptr;
-+ ptr = strchr(ptr, ':');
-+ if (ptr == NULL)
-+ goto restart;
-+ *ptr++ = '\0';
-+
-+ group.gr_gid = (gid_t) strtoul(field_begin, &endptr, 10);
-+ if (*endptr != '\0')
-+ goto restart;
-+
-+ member_num = 0;
-+ field_begin = ptr;
-+
-+ if (members != NULL)
-+ free(members);
-+ members = (char **) malloc((member_num + 1) * sizeof(char *));
-+ for ( ; field_begin && *field_begin != '\0'; field_begin = ptr) {
-+ if ((ptr = strchr(field_begin, ',')) != NULL)
-+ *ptr++ = '\0';
-+ members[member_num++] = field_begin;
-+ members = (char **) realloc(members,
-+ (member_num + 1) * sizeof(char *));
-+ }
-+ members[member_num] = NULL;
-+
-+ group.gr_mem = members;
-+ return &group;
-+}
-+
-+static char *line_buff = NULL;
-+static char **members = NULL;
-+
-+struct group *fgetgrent(FILE *file)
-+{
-+ if (file == NULL) {
-+ errno = EINTR;
-+ return NULL;
-+ }
-+ return __getgrent(fileno(file), line_buff, members);
-+}
-+#endif /* __FreeBSD__ */
-
- struct auth_state {
- char userid[81];
-@@ -142,6 +263,25 @@ static char allowedchars[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
-+static struct group* fgetgrnam(const char* name)
-+{
-+ struct group *grp;
-+ FILE *groupfile;
-+
-+ groupfile = fopen("/etc/imapd.group", "r");
-+ if (!groupfile) groupfile = fopen("/etc/group", "r");
-+ if (groupfile) {
-+ while ((grp = fgetgrent(groupfile))) {
-+ if (strcasecmp(grp->gr_name, name) == 0) {
-+ fclose(groupfile);
-+ return grp;
-+ }
-+ }
-+ }
-+ if (groupfile) fclose(groupfile);
-+ return NULL;
-+}
-+
- /*
- * Convert 'identifier' into canonical form.
- * Returns a pointer to a static buffer containing the canonical form
-@@ -177,7 +317,7 @@ size_t len;
- */
-
- if (!strncmp(retbuf, "group:", 6)) {
-- grp = getgrnam(retbuf+6);
-+ grp = fgetgrnam(retbuf+6);
- if (!grp) return 0;
- strcpy(retbuf+6, grp->gr_name);
- return retbuf;
-@@ -228,6 +368,7 @@ static struct auth_state *mynewstate(con
- int ret, ngroups = 10;
- #else
- char **mem;
-+ FILE *groupfile;
- #endif
-
- identifier = mycanonifyid(identifier, 0);
-@@ -283,20 +424,23 @@ err:
- if (groupids) free(groupids);
-
- #else /* !HAVE_GETGROUPLIST */
-- setgrent();
-- while ((grp = getgrent())) {
-- for (mem = grp->gr_mem; *mem; mem++) {
-- if (!strcmp(*mem, identifier)) break;
-- }
--
-- if (*mem || (pwd && pwd->pw_gid == grp->gr_gid)) {
-- newstate->ngroups++;
-- newstate->group = (char **)xrealloc((char *)newstate->group,
-- newstate->ngroups * sizeof(char *));
-- newstate->group[newstate->ngroups-1] = xstrdup(grp->gr_name);
-- }
-- }
-- endgrent();
-+ groupfile = fopen("/etc/imapd.group", "r");
-+ if (!groupfile) groupfile = fopen("/etc/group", "r");
-+ if (groupfile) {
-+ while ((grp = fgetgrent(groupfile))) {
-+ for (mem = grp->gr_mem; *mem; mem++) {
-+ if (!strcasecmp(*mem, identifier)) break;
-+ }
-+
-+ if (*mem || (pwd && pwd->pw_gid == grp->gr_gid)) {
-+ newstate->ngroups++;
-+ newstate->group = (char **)xrealloc((char *)newstate->group,
-+ newstate->ngroups * sizeof(char *));
-+ newstate->group[newstate->ngroups-1] = xstrdup(grp->gr_name);
-+ }
-+ }
-+ fclose(groupfile);
-+ }
- #endif /* HAVE_GETGROUPLIST */
-
- return newstate;
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/logging.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/logging.patch
deleted file mode 100644
index c0bd2fa..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/logging.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Provides improved logging for the cyrus imapd server [Version: 2.3.9]
-
-diff -r 6162fc947b22 imap/append.c
---- a/imap/append.c Tue Dec 11 11:22:03 2007 +0100
-+++ b/imap/append.c Tue Dec 11 11:22:13 2007 +0100
-@@ -648,6 +648,9 @@ int append_fromstage(struct appendstate
-
- /* ok, we've successfully added a message */
- as->quota_used += message_index.size;
-+
-+ syslog(LOG_DEBUG, "append_fromstage: message %d added to %s",
-+ message_index.uid, mailbox->name );
-
- return 0;
- }
-diff -r 6162fc947b22 imap/imapd.c
---- a/imap/imapd.c Tue Dec 11 11:22:03 2007 +0100
-+++ b/imap/imapd.c Tue Dec 11 11:22:13 2007 +0100
-@@ -3509,17 +3509,19 @@ void cmd_close(char *tag)
- if (!r) sync_log_mailbox(imapd_mailbox->name);
- }
-
-+ if (r) {
-+ prot_printf(imapd_out, "%s NO %s\r\n", tag, error_message(r));
-+ }
-+ else {
-+ prot_printf(imapd_out, "%s OK %s\r\n", tag,
-+ error_message(IMAP_OK_COMPLETED));
-+ syslog(LOG_DEBUG, "cmd_expunge: user %s, mailbox %s, sequence %s",
-+ imapd_userid, imapd_mailbox->name, "''");
-+ }
-+
- index_closemailbox(imapd_mailbox);
- mailbox_close(imapd_mailbox);
- imapd_mailbox = 0;
--
-- if (r) {
-- prot_printf(imapd_out, "%s NO %s\r\n", tag, error_message(r));
-- }
-- else {
-- prot_printf(imapd_out, "%s OK %s\r\n", tag,
-- error_message(IMAP_OK_COMPLETED));
-- }
- }
-
- /*
-diff -r 6162fc947b22 imap/mailbox.c
---- a/imap/mailbox.c Tue Dec 11 11:22:03 2007 +0100
-+++ b/imap/mailbox.c Tue Dec 11 11:22:13 2007 +0100
-@@ -2520,6 +2520,8 @@ int mailbox_expunge(struct mailbox *mail
- *(fname->tail)++ = '/';
- fname->len++;
- for (msgno = 0; msgno < numdeleted; msgno++) {
-+ syslog(LOG_DEBUG, "mailbox_expunge: removing mail %s:%d",
-+ mailbox->name, deleted[msgno]);
- mailbox_message_get_fname(mailbox, deleted[msgno],
- fname->tail,
- sizeof(fname->buf) - fname->len);
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/timsieved_starttls-sendcaps.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/timsieved_starttls-sendcaps.patch
deleted file mode 100644
index 48524e9..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/timsieved_starttls-sendcaps.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-This patch was downloaded from https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/cyrus/timsieved/parser.c.diff?r1=1.44;r2=1.45
-(minus the CVS keywords)
-
-It should be reverse-applied with patch -p2 -R to work around the kontact
-behaviour described in kolab/issue2443 (kontact aborts sieve when imapd sends
-capabilities after starttls) and can be dropped as soon as kontact has a way
-to work with old and new cyrus imapd servers.
-
---- a/timsieved/parser.c 2007/11/26 20:23:06 1.44
-+++ b/timsieved/parser.c 2007/12/10 14:47:08 1.45
-@@ -861,7 +861,7 @@ static int cmd_starttls(struct protstrea
-
- starttls_done = 1;
-
-- return capabilities(sieved_out, sieved_saslconn, starttls_done, authenticated);
-+ return result;
- }
- #else
- static int cmd_starttls(struct protstream *sieved_out, struct protstream *sieved_in)
diff --git a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/uid.patch b/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/uid.patch
deleted file mode 100644
index a044463..0000000
--- a/net-mail/cyrus-imapd/files/kolab/2.3.12_p2/uid.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-Allows login by uid rather than the mail address on the cyrus imapd server [Version: 2.3.9]
-
-diff -r d62bf3b0902d configure
---- a/configure Thu Oct 25 08:30:57 2007 +0200
-+++ b/configure Thu Oct 25 08:31:06 2007 +0200
-@@ -18119,7 +18119,7 @@ done
- done
-
- IMAP_COM_ERR_LIBS="${COM_ERR_LIBS}"
--IMAP_LIBS="${LIB_SASL} ${LIBS}"
-+IMAP_LIBS="${LIB_SASL} -lldap -llber ${LIBS}"
-
-
-
-diff -r d62bf3b0902d imap/global.c
---- a/imap/global.c Thu Oct 25 08:30:57 2007 +0200
-+++ b/imap/global.c Thu Oct 25 08:31:06 2007 +0200
-@@ -52,6 +52,9 @@
- #include <netinet/in.h>
- #include <sys/stat.h>
-
-+#include <ldap.h>
-+#include <lber.h>
-+
- #if HAVE_UNISTD_H
- # include <unistd.h>
- #endif
-@@ -362,6 +365,18 @@ char *canonify_userid(char *user, char *
- char *domain = NULL;
- int len = strlen(user);
- char buf[81];
-+ const char *uri;
-+ const char *base;
-+ const char *binddn;
-+ const char *bindpw;
-+ struct timeval timeout;
-+ char filter[255];
-+ LDAP *handle;
-+ LDAPMessage *res;
-+ LDAPMessage *entry;
-+ char ** vals;
-+
-+ int rc;
-
- /* check for domain */
- if (config_virtdomains &&
-@@ -380,6 +395,47 @@ char *canonify_userid(char *user, char *
- }
-
- if (config_virtdomains) {
-+ if (config_virtdomains == IMAP_ENUM_VIRTDOMAINS_LDAP) {
-+ uri = config_getstring(IMAPOPT_LDAP_URI);
-+ base = config_getstring(IMAPOPT_LDAP_BASE);
-+ binddn = config_getstring(IMAPOPT_LDAP_BIND_DN);
-+ bindpw = config_getstring(IMAPOPT_LDAP_PASSWORD);
-+ timeout.tv_sec = config_getint(IMAPOPT_LDAP_TIME_LIMIT);
-+ timeout.tv_usec = 0;
-+ sprintf(filter, "(uid=%s)", user);
-+ rc = ldap_initialize(&handle, uri);
-+ if (rc != LDAP_SUCCESS) {
-+ syslog(LOG_ERR, "ldap_initialize failed (%s)", uri);
-+ } else {
-+ rc = ldap_simple_bind_s(handle, binddn, bindpw);
-+ if (rc != LDAP_SUCCESS) {
-+ syslog(LOG_ERR, "ldap_simple_bind() failed %d (%s)", rc, ldap_err2string(rc));
-+ } else {
-+ rc = ldap_search_st(handle, base, LDAP_SCOPE_SUBTREE, filter, NULL, 0, &timeout, &res);
-+ if (rc != LDAP_SUCCESS) {
-+ syslog(LOG_ERR, "ldap_search_st failed %d (%s)", rc, ldap_err2string(rc));
-+ } else {
-+ if ( (entry = ldap_first_entry(handle, res)) != NULL ) {
-+ // read mail attribute from entry
-+ if ( (vals = ldap_get_values(handle, entry, "mail")) ) {
-+ if (strchr(vals[0], '@')) {
-+ static char buf[81]; /* same size as in auth_canonifyid */
-+ strncpy( buf, vals[0], sizeof(buf) );
-+ buf[80] = '\0'; /* make sure it's null-terminated */
-+ ldap_value_free( vals );
-+ ldap_msgfree( res );
-+ ldap_unbind_s(handle); /* also frees handle */
-+ return auth_canonifyid( buf, 0) ;
-+ }
-+ ldap_value_free( vals );
-+ }
-+ }
-+ ldap_msgfree( res );
-+ }
-+ }
-+ ldap_unbind_s(handle); /* also frees handle */
-+ }
-+ }
- if (domain) {
- if (config_defdomain && !strcasecmp(config_defdomain, domain+1)) {
- *domain = '\0'; /* trim the default domain */
-@@ -392,7 +448,7 @@ char *canonify_userid(char *user, char *
- user = buf;
- }
- }
-- else if (config_virtdomains != IMAP_ENUM_VIRTDOMAINS_USERID) {
-+ else if (config_virtdomains != IMAP_ENUM_VIRTDOMAINS_USERID && config_virtdomains != IMAP_ENUM_VIRTDOMAINS_LDAP) {
- socklen_t salen;
- int error;
- struct sockaddr_storage localaddr;
-diff -r d62bf3b0902d lib/imapoptions
---- a/lib/imapoptions Thu Oct 25 08:30:57 2007 +0200
-+++ b/lib/imapoptions Thu Oct 25 08:31:06 2007 +0200
-@@ -1034,7 +1034,7 @@ are listed with ``<none>''.
- mailbox hierarchy. The default is to use the netnews separator
- character '.'. */
-
--{ "virtdomains", "off", ENUM("off", "userid", "on") }
-+{ "virtdomains", "off", ENUM("off", "userid", "ldap", "on") }
- /* Enable virtual domain support. If enabled, the user's domain will
- be determined by splitting a fully qualified userid at the last '@'
- or '%' symbol. If the userid is unqualified, and the virtdomains
diff --git a/net-mail/cyrus-imapd/metadata.xml b/net-mail/cyrus-imapd/metadata.xml
deleted file mode 100644
index 0feff24..0000000
--- a/net-mail/cyrus-imapd/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer>
- <email>dertobi123@gentoo.org</email>
-</maintainer>
-<herd>net-mail</herd>
-</pkgmetadata>