summaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd23
diff options
context:
space:
mode:
Diffstat (limited to 'mail/cyrus-imapd23')
-rw-r--r--mail/cyrus-imapd23/DEINSTALL38
-rw-r--r--mail/cyrus-imapd23/DESCR7
-rw-r--r--mail/cyrus-imapd23/MESSAGE17
-rw-r--r--mail/cyrus-imapd23/Makefile148
-rw-r--r--mail/cyrus-imapd23/PLIST190
-rw-r--r--mail/cyrus-imapd23/distinfo20
-rw-r--r--mail/cyrus-imapd23/files/cyrus.sh78
-rw-r--r--mail/cyrus-imapd23/files/imapd.conf25
-rw-r--r--mail/cyrus-imapd23/options.mk89
-rw-r--r--mail/cyrus-imapd23/patches/patch-aa18
-rw-r--r--mail/cyrus-imapd23/patches/patch-ab22
-rw-r--r--mail/cyrus-imapd23/patches/patch-ac35
-rw-r--r--mail/cyrus-imapd23/patches/patch-ad14
-rw-r--r--mail/cyrus-imapd23/patches/patch-ae14
-rw-r--r--mail/cyrus-imapd23/patches/patch-af15
-rw-r--r--mail/cyrus-imapd23/patches/patch-ag25
-rw-r--r--mail/cyrus-imapd23/patches/patch-ah13
-rw-r--r--mail/cyrus-imapd23/patches/patch-ai13
-rw-r--r--mail/cyrus-imapd23/patches/patch-aj14
-rw-r--r--mail/cyrus-imapd23/patches/patch-ak15
-rw-r--r--mail/cyrus-imapd23/patches/patch-al15
-rw-r--r--mail/cyrus-imapd23/patches/patch-am19
-rw-r--r--mail/cyrus-imapd23/patches/patch-an22
-rw-r--r--mail/cyrus-imapd23/patches/patch-ao17
24 files changed, 883 insertions, 0 deletions
diff --git a/mail/cyrus-imapd23/DEINSTALL b/mail/cyrus-imapd23/DEINSTALL
new file mode 100644
index 00000000000..1cc436e409a
--- /dev/null
+++ b/mail/cyrus-imapd23/DEINSTALL
@@ -0,0 +1,38 @@
+# $NetBSD: DEINSTALL,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+IMAPDCONF=@IMAPDCONF@
+
+case ${STAGE} in
+DEINSTALL)
+ if [ -f ${IMAPDCONF} ]; then
+ IMAPDIRS=`
+ ${AWK} '/configdirectory:/ { print $2 }; \
+ /partition-.*:/ { print $2 }; \
+ /sievedir:/ { print $2 }' \
+ ${IMAPDCONF} | ${SORT} -ur`
+ _IMAPDIRS=
+ for dir in ${IMAPDIRS}; do
+ ${RMDIR} -p ${dir} 2>/dev/null || ${TRUE}
+ if [ -d ${dir} ]; then
+ _IMAPDIRS="${_IMAPDIRS} ${dir}"
+ fi
+ done
+ if [ -n "${_IMAPDIRS}" ]; then
+ ${CAT} << EOF
+===========================================================================
+If you won't be using ${PKGNAME} any longer, you may want to remove
+the following directories:
+
+EOF
+ for dir in ${_IMAPDIRS}; do
+ if [ -d "${dir}" ]; then
+ ${ECHO} " ${dir}"
+ fi
+ done
+ ${CAT} << EOF
+===========================================================================
+EOF
+ fi
+ fi
+ ;;
+esac
diff --git a/mail/cyrus-imapd23/DESCR b/mail/cyrus-imapd23/DESCR
new file mode 100644
index 00000000000..e742d558a95
--- /dev/null
+++ b/mail/cyrus-imapd23/DESCR
@@ -0,0 +1,7 @@
+IMAP (Internet Message Access Protocol) is an Internet standards-track
+protocol for accessing messages (mail, bboards, news, etc). The Cyrus
+IMAP server differs from other IMAP server implementations in that it
+is generally intended to be run on "sealed" servers, where normal users
+are not permitted to log in. The mailbox database is stored in parts of
+the filesystem that are private to the Cyrus IMAP system. All user
+access to mail is through the IMAP, POP3, or KPOP protocols.
diff --git a/mail/cyrus-imapd23/MESSAGE b/mail/cyrus-imapd23/MESSAGE
new file mode 100644
index 00000000000..aadfe6131a0
--- /dev/null
+++ b/mail/cyrus-imapd23/MESSAGE
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+Please refer to:
+
+ ${PREFIX}/share/doc/html/cyrus-imapd/install.html
+
+for more detailed instructions on setting up the environment before
+starting the Cyrus IMAP server. In particular, several services may
+need to be added to /etc/services.
+
+Anyone upgrading from an earlier version of the Cyrus IMAP server should
+read:
+
+ ${PREFIX}/share/doc/html/cyrus-imapd/install-upgrade.html
+
+===========================================================================
diff --git a/mail/cyrus-imapd23/Makefile b/mail/cyrus-imapd23/Makefile
new file mode 100644
index 00000000000..397c55f9a04
--- /dev/null
+++ b/mail/cyrus-imapd23/Makefile
@@ -0,0 +1,148 @@
+# $NetBSD: Makefile,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+DISTNAME= cyrus-imapd-2.3.16
+CATEGORIES= mail
+MASTER_SITES= ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \
+ ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/OLD-VERSIONS/imap/ \
+ http://www.t.ring.gr.jp/archives/net/mail/cyrus-mail/ \
+ ftp://ftp.t.ring.gr.jp/pub/net/mail/cyrus-mail/
+
+MAINTAINER= obache@NetBSD.org
+HOMEPAGE= http://cyrusimap.web.cmu.edu/imapd/
+COMMENT= Cyrus IMAP server
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_TOOLS+= perl
+USE_PKGLOCALEDIR= yes
+GNU_CONFIGURE= yes
+PERL5_CONFIGURE= no
+
+BUILD_DEFS+= VARBASE
+
+CHECK_PORTABILITY_SKIP= configure.lineno
+
+.include "../../mk/bsd.prefs.mk"
+
+# CYRUS_USER username of the Cyrus administrator
+# CYRUS_GROUP group of the Cyrus administrator
+#
+CYRUS_USER?= cyrus
+CYRUS_GROUP?= mail
+
+BUILD_DEFS+= CYRUS_USER CYRUS_GROUP
+FILES_SUBST+= CYRUS_USER=${CYRUS_USER}
+FILES_SUBST+= CYRUS_GROUP=${CYRUS_GROUP}
+
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --with-cyrus-user=${CYRUS_USER}
+CONFIGURE_ARGS+= --with-cyrus-group=${CYRUS_GROUP}
+CONFIGURE_ARGS+= --with-cyrus-prefix=${PREFIX}/cyrus
+CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/cyrus-master.pid
+CONFIGURE_ARGS+= --with-openssl=${SSLBASE:Q}
+CONFIGURE_ARGS+= --with-sasl=${BUILDLINK_PREFIX.cyrus-sasl}
+CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
+CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}
+CONFIGURE_ENV+= ac_cv_lib_wrap_request_init=yes
+
+CONFIGURE_ARGS+= --enable-idled
+CONFIGURE_ARGS+= --enable-listext
+CONFIGURE_ARGS+= --enable-murder
+CONFIGURE_ARGS+= --enable-nntp
+CONFIGURE_ARGS+= --enable-replication
+
+.include "options.mk"
+
+.if exists(/usr/bin/compile_et)
+COMERRBASE?= /usr
+.endif
+.if defined(COMERRBASE)
+. if exists(${COMERRBASE}/include/krb5/com_err.h)
+CPPFLAGS+= -I${COMERRBASE}/include/krb5
+. endif
+CONFIGURE_ENV+= COMPILE_ET=${COMERRBASE}/bin/compile_et
+.else
+CONFIGURE_ARGS+= --with-com-err=yes
+.endif
+
+MAKE_ENV+= PERL=${PERL5:Q}
+
+HTMLDIR= ${PREFIX}/share/doc/cyrus-imapd
+EGDIR= ${PREFIX}/share/examples/cyrus-imapd
+CONF_FILES= ${EGDIR}/imapd.conf ${PKG_SYSCONFDIR}/imapd.conf
+CONF_FILES+= ${EGDIR}/normal.conf ${PKG_SYSCONFDIR}/cyrus.conf
+RCD_SCRIPTS= cyrus
+FILES_SUBST+= IMAPDCONF=${PKG_SYSCONFDIR}/imapd.conf
+
+PERL5_PACKLIST= \
+ auto/Cyrus/IMAP/.packlist \
+ auto/Cyrus/SIEVE/managesieve/.packlist
+
+.include "../../lang/perl5/module.mk"
+BUILDLINK_API_DEPENDS.cyrus-sasl+= cyrus-sasl>=2.1.17
+.include "../../security/cyrus-sasl/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+
+# NetBSD's libssl is built without bn/bn_const.c (PR#37505)
+.if !empty(MACHINE_PLATFORM:MNetBSD-4.*-*)
+#. if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
+CFLAGS+= -DOPENSSL_LACK_BN_CONST
+#. endif
+.endif
+
+.include "../../security/tcp_wrappers/buildlink3.mk"
+.include "../../mk/bdb.buildlink3.mk"
+
+# Only imap/mupdate needs to be build with pthreads support, so selectively
+# enable it via patches for just that one program.
+#
+.include "../../mk/pthread.buildlink3.mk"
+
+# Change references of some manpages from foo.8 to cyrus-foo.8 to avoid
+# manpage conflicts with other packages. Also change references to
+# "/etc/{cyrus,imapd}.conf" into "${PKG_SYSCONFDIR}/{cyrus,imapd}.conf".
+#
+post-patch:
+ cd ${WRKSRC}/man; \
+ set -- deliver 8 fetchnews 8 idled 8 imapd 8 lmtpd 8 master 8 \
+ nntpd 8 notifyd 8 pop3d 8 quota 8; \
+ while [ $$# -gt 0 ]; do \
+ man=$$1.$$2; \
+ for file in Makefile.in *.[0-9]; do \
+ sed -e "s|\(\$$(srcdir)/\)\($$man\)|\1cyrus-\2|g" \
+ -e "s|\(\\\fB\)\($$1($$2)\\\fR\)|\1cyrus-\2|g" \
+ $$file > $$file.fixed; \
+ mv -f $$file.fixed $$file; \
+ done; \
+ if [ -f $$man ]; then \
+ mv $$man cyrus-$$man; \
+ fi; \
+ shift 2; \
+ done
+ find ${WRKSRC} -type f -print | \
+ xargs -n 1 ${GREP} -l -e /etc/imapd\.conf -e /etc/cyrus\.conf | \
+ while read file; do \
+ sed -e "s|/etc/\(cyrus\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
+ -e "s|/etc/\(imapd\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
+ $${file} > $${file}.fixed; \
+ mv -f $${file}.fixed $${file}; \
+ done
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate-metadata ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/mknewsgroups ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/translatesieve ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/rehash ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
+ ${INSTALL_DATA} ${FILESDIR}/imapd.conf ${DESTDIR}${EGDIR}
+ cd ${WRKSRC}/master/conf; for file in *.conf; do \
+ ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR}; \
+ done
+ ${INSTALL_DATA_DIR} ${DESTDIR}${HTMLDIR}
+ cd ${WRKSRC}/doc; for file in *.html cyrusv2.mc; do \
+ ${INSTALL_DATA} $${file} ${DESTDIR}${HTMLDIR}; \
+ done
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/mail/cyrus-imapd23/PLIST b/mail/cyrus-imapd23/PLIST
new file mode 100644
index 00000000000..33243c45feb
--- /dev/null
+++ b/mail/cyrus-imapd23/PLIST
@@ -0,0 +1,190 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+bin/imtest
+bin/installsieve
+bin/lmtptest
+bin/mupdatetest
+bin/nntptest
+bin/pop3test
+bin/sieveshell
+bin/sivtest
+bin/smtptest
+bin/synctest
+cyrus/bin/arbitron
+cyrus/bin/chk_cyrus
+cyrus/bin/ctl_cyrusdb
+cyrus/bin/ctl_deliver
+cyrus/bin/ctl_mboxlist
+cyrus/bin/cvt_cyrusdb
+cyrus/bin/cyr_dbtool
+cyrus/bin/cyr_df
+cyrus/bin/cyr_expire
+cyrus/bin/cyr_synclog
+cyrus/bin/cyrdump
+cyrus/bin/deliver
+cyrus/bin/fetchnews
+cyrus/bin/fud
+cyrus/bin/idled
+cyrus/bin/imapd
+cyrus/bin/ipurge
+cyrus/bin/lmtpd
+cyrus/bin/lmtpproxyd
+cyrus/bin/make_md5
+cyrus/bin/make_sha1
+cyrus/bin/masssievec
+cyrus/bin/master
+cyrus/bin/mbexamine
+cyrus/bin/mbpath
+cyrus/bin/migrate-metadata
+cyrus/bin/mkimap
+cyrus/bin/mknewsgroups
+cyrus/bin/mupdate
+cyrus/bin/nntpd
+cyrus/bin/notifyd
+cyrus/bin/pop3d
+cyrus/bin/pop3proxyd
+cyrus/bin/proxyd
+${PLIST.ldap}cyrus/bin/ptdump
+${PLIST.ldap}cyrus/bin/ptexpire
+${PLIST.ldap}cyrus/bin/ptloader
+cyrus/bin/quota
+cyrus/bin/reconstruct
+cyrus/bin/rehash
+cyrus/bin/sievec
+cyrus/bin/sieved
+cyrus/bin/smmapd
+cyrus/bin/squatter
+cyrus/bin/sync_client
+cyrus/bin/sync_reset
+cyrus/bin/sync_server
+cyrus/bin/timsieved
+cyrus/bin/tls_prune
+cyrus/bin/translatesieve
+cyrus/bin/unexpunge
+include/cyrus/acl.h
+include/cyrus/assert.h
+include/cyrus/auth.h
+include/cyrus/bsearch.h
+include/cyrus/byteorder64.h
+include/cyrus/charset.h
+include/cyrus/cyrusdb.h
+include/cyrus/glob.h
+include/cyrus/gmtoff.h
+include/cyrus/hash.h
+include/cyrus/hmac-md5.h
+include/cyrus/imapopts.h
+include/cyrus/imapurl.h
+include/cyrus/imclient.h
+include/cyrus/imparse.h
+include/cyrus/iptostring.h
+include/cyrus/libconfig.h
+include/cyrus/libcyr_cfg.h
+include/cyrus/lock.h
+include/cyrus/lsort.h
+include/cyrus/map.h
+include/cyrus/md5.h
+include/cyrus/mkgmtime.h
+include/cyrus/mpool.h
+include/cyrus/nonblock.h
+include/cyrus/parseaddr.h
+include/cyrus/prot.h
+include/cyrus/retry.h
+include/cyrus/rfc822date.h
+include/cyrus/strhash.h
+include/cyrus/stristr.h
+include/cyrus/sysexits.h
+include/cyrus/util.h
+include/cyrus/xmalloc.h
+include/cyrus/xstrlcat.h
+include/cyrus/xstrlcpy.h
+lib/libcyrus.a
+lib/libcyrus_min.a
+man/man1/imtest.1
+man/man1/installsieve.1
+man/man1/lmtptest.1
+man/man1/mupdatetest.1
+man/man1/nntptest.1
+man/man1/pop3test.1
+man/man1/sieveshell.1
+man/man1/sivtest.1
+man/man1/smtptest.1
+man/man3/imclient.3
+man/man5/cyrus.conf.5
+man/man5/imapd.conf.5
+man/man5/krb.equiv.5
+man/man8/arbitron.8
+man/man8/chk_cyrus.8
+man/man8/ctl_cyrusdb.8
+man/man8/ctl_deliver.8
+man/man8/ctl_mboxlist.8
+man/man8/cvt_cyrusdb.8
+man/man8/cyr_dbtool.8
+man/man8/cyr_df.8
+man/man8/cyr_expire.8
+man/man8/cyr_synclog.8
+man/man8/cyrus-deliver.8
+man/man8/cyrus-fetchnews.8
+man/man8/cyrus-idled.8
+man/man8/cyrus-imapd.8
+man/man8/cyrus-lmtpd.8
+man/man8/cyrus-master.8
+man/man8/cyrus-nntpd.8
+man/man8/cyrus-notifyd.8
+man/man8/cyrus-pop3d.8
+man/man8/cyrus-quota.8
+man/man8/fud.8
+man/man8/ipurge.8
+man/man8/make_md5.8
+man/man8/make_sha1.8
+man/man8/mbexamine.8
+man/man8/mbpath.8
+man/man8/reconstruct.8
+man/man8/rmnews.8
+man/man8/smmapd.8
+man/man8/squatter.8
+man/man8/sync_client.8
+man/man8/sync_reset.8
+man/man8/sync_server.8
+man/man8/syncnews.8
+man/man8/timsieved.8
+man/man8/tls_prune.8
+man/man8/unexpunge.8
+share/doc/cyrus-imapd/altnamespace.html
+share/doc/cyrus-imapd/anoncvs.html
+share/doc/cyrus-imapd/bugs.html
+share/doc/cyrus-imapd/changes.html
+share/doc/cyrus-imapd/cyrusv2.mc
+share/doc/cyrus-imapd/faq.html
+share/doc/cyrus-imapd/feedback.html
+share/doc/cyrus-imapd/index.html
+share/doc/cyrus-imapd/install-admin-mb.html
+share/doc/cyrus-imapd/install-auth.html
+share/doc/cyrus-imapd/install-compile.html
+share/doc/cyrus-imapd/install-configure.html
+share/doc/cyrus-imapd/install-murder.html
+share/doc/cyrus-imapd/install-netnews.html
+share/doc/cyrus-imapd/install-perf.html
+share/doc/cyrus-imapd/install-prereq.html
+share/doc/cyrus-imapd/install-replication.html
+share/doc/cyrus-imapd/install-sieve.html
+share/doc/cyrus-imapd/install-snmpmon.html
+share/doc/cyrus-imapd/install-testing.html
+share/doc/cyrus-imapd/install-upgrade.html
+share/doc/cyrus-imapd/install-virtdomains.html
+share/doc/cyrus-imapd/install.html
+share/doc/cyrus-imapd/mailing-list.html
+share/doc/cyrus-imapd/man.html
+share/doc/cyrus-imapd/notes.html
+share/doc/cyrus-imapd/os.html
+share/doc/cyrus-imapd/overview.html
+share/doc/cyrus-imapd/questions.html
+share/doc/cyrus-imapd/readme.html
+share/doc/cyrus-imapd/sieve-protocol.html
+share/doc/cyrus-imapd/sieve.html
+share/doc/cyrus-imapd/specs.html
+share/examples/cyrus-imapd/cmu-backend.conf
+share/examples/cyrus-imapd/cmu-frontend.conf
+share/examples/cyrus-imapd/imapd.conf
+share/examples/cyrus-imapd/normal.conf
+share/examples/cyrus-imapd/prefork.conf
+share/examples/cyrus-imapd/small.conf
+share/examples/rc.d/cyrus
diff --git a/mail/cyrus-imapd23/distinfo b/mail/cyrus-imapd23/distinfo
new file mode 100644
index 00000000000..2580752a921
--- /dev/null
+++ b/mail/cyrus-imapd23/distinfo
@@ -0,0 +1,20 @@
+$NetBSD: distinfo,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+SHA1 (cyrus-imapd-2.3.16.tar.gz) = decc87045bfedb449d0af3512aa228090e558036
+RMD160 (cyrus-imapd-2.3.16.tar.gz) = fa9d1462a7d7e839da9a11f52cddfd2ab854f2be
+Size (cyrus-imapd-2.3.16.tar.gz) = 2359349 bytes
+SHA1 (patch-aa) = 38605d33284292bc3a3a1665bce1e63203b407f4
+SHA1 (patch-ab) = 6dee8c0b449f77b576e319cf78dc430f9a4e371a
+SHA1 (patch-ac) = 28143b2306866ec8fb6357f7fa70f1c8baaa4c2d
+SHA1 (patch-ad) = b9a68c7a1ab9b36e1c9bfa6d06dbc4f13bb2c99a
+SHA1 (patch-ae) = f72486e0e3cf941eabbe6da31b107e8aabecb112
+SHA1 (patch-af) = f007c8d861e003f75260f0544a24ef71f8062494
+SHA1 (patch-ag) = dd38d0c6aa45736ef142cdb4ad95f11e4c23cb03
+SHA1 (patch-ah) = 6daa97e516a5db87579dabd11a7a6f9b83366e27
+SHA1 (patch-ai) = 6cc1c87972cb0fa4b170e76869817b1de1ff7aa6
+SHA1 (patch-aj) = a2d3aba6b2bf4383740f0b1bd48cb6d4027a6d70
+SHA1 (patch-ak) = de75847f1ace85591109096fb3a33d78763cd479
+SHA1 (patch-al) = 70b17f045298492978e3756d4a211f35e90b9bb9
+SHA1 (patch-am) = d06b62f9ea153560d84ec013861839071e4ab700
+SHA1 (patch-an) = b3ac809f2807a1766197958e807eb99cb42847f0
+SHA1 (patch-ao) = 784363a1802cbaf08e62bbbd2020fe592be0a126
diff --git a/mail/cyrus-imapd23/files/cyrus.sh b/mail/cyrus-imapd23/files/cyrus.sh
new file mode 100644
index 00000000000..e9bbb206d6e
--- /dev/null
+++ b/mail/cyrus-imapd23/files/cyrus.sh
@@ -0,0 +1,78 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: cyrus.sh,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+#
+# PROVIDE: cyrus
+# REQUIRE: DAEMON
+# BEFORE: mail
+#
+# To start cyrus-imapd at startup, copy this script to /etc/rc.d and set
+# cyrus=YES in /etc/rc.conf.
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+rcd_dir=`@DIRNAME@ $0`
+
+name="cyrus"
+rcvar=$name
+command="@PREFIX@/cyrus/bin/master"
+command_args="-d"
+pidfile="@VARBASE@/run/cyrus-master.pid"
+required_files="@PKG_SYSCONFDIR@/cyrus.conf @IMAPDCONF@"
+extra_commands="mkimap reload"
+
+mkimap_cmd="cyrus_mkimap"
+start_precmd="cyrus_prestart"
+
+cyrus_prestart()
+{
+ # Check to see if "configdirectory" is present before we start
+ # the Cyrus IMAP server. Otherwise, we run mkimap to generate
+ # the necessary directories.
+ #
+ if [ -f @IMAPDCONF@ ]; then
+ configdir=` \
+ @AWK@ '/^configdirectory:/ { print $2; exit };' \
+ @IMAPDCONF@ \
+ `
+ if [ -z "$configdir" ]; then
+ @ECHO@ "@IMAPDCONF@ missing 'configdirectory' setting"
+ exit 1
+ fi
+ if [ ! -d "$configdir" ]; then
+ $rcd_dir/cyrus mkimap
+ fi
+ fi
+}
+
+cyrus_mkimap()
+{
+ # Generate the prerequisite directory structure for Cyrus IMAP.
+ if [ -f @IMAPDCONF@ ]; then
+ @AWK@ '/^configdirectory:/ { print $2 }; \
+ /^partition-.*:/ { print $2 }; \
+ /^sievedir:/ { print $2 }' \
+ @IMAPDCONF@ | \
+ while read dir; do
+ if [ ! -d "$dir" ]; then
+ @MKDIR@ "$dir"
+ @CHMOD@ 750 "$dir"
+ @CHOWN@ @CYRUS_USER@ "$dir"
+ @CHGRP@ @CYRUS_GROUP@ "$dir"
+ fi
+ done
+ @SU@ -m @CYRUS_USER@ -c "@PREFIX@/cyrus/bin/mkimap"
+ fi
+}
+
+if [ -f /etc/rc.subr -a -f /etc/rc.conf \
+ -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ @ECHO@ -n " ${name}"
+ eval ${start_precmd}
+ ${command} ${cyrus_flags} ${command_args}
+fi
diff --git a/mail/cyrus-imapd23/files/imapd.conf b/mail/cyrus-imapd23/files/imapd.conf
new file mode 100644
index 00000000000..80d473a3be0
--- /dev/null
+++ b/mail/cyrus-imapd23/files/imapd.conf
@@ -0,0 +1,25 @@
+# $NetBSD: imapd.conf,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+#
+# Cyrus IMAP server configuration file. Refer to imapd.conf(5) for
+# more options.
+
+configdirectory: /var/imap
+partition-default: /var/spool/imap
+sieveusehomedir: false
+sievedir: /var/sieve
+hashimapspool: false
+
+admins: cyrus
+
+# If use the saslauthd daemon to verify plaintext passwords, please ensure that
+# the saslauthd daemon is running before trying to authenticate.
+#
+#sasl_pwcheck_method: saslauthd
+sasl_pwcheck_method: auxprop
+
+# The server certificate and key files must be specified for the
+# server to repond to IMAPS or POP3S requests. See imapd.conf(5) for
+# a complete listing of tls_* options.
+#
+#tls_cert_file: /var/imap/server.pem
+#tls_key_file: /var/imap/server.pem
diff --git a/mail/cyrus-imapd23/options.mk b/mail/cyrus-imapd23/options.mk
new file mode 100644
index 00000000000..e98b02e8da3
--- /dev/null
+++ b/mail/cyrus-imapd23/options.mk
@@ -0,0 +1,89 @@
+# $NetBSD: options.mk,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+#
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.cyrus-imapd
+PKG_SUPPORTED_OPTIONS= gssapi kerberos kerberos4 ldap snmp
+PKG_SUPPORTED_OPTIONS+= bdb mysql pgsql sqlite
+PKG_SUGGESTED_OPTIONS= bdb
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= ldap
+
+.if !empty(PKG_OPTIONS:Mkerberos)
+. if empty(PKG_OPTIONS:Mgssapi)
+PKG_OPTIONS+= gssapi
+. endif
+.endif
+
+.if !empty(PKG_OPTIONS:Mkerberos4)
+. if exists(/usr/include/kerberosIV/krb.h)
+PKG_USE_KERBEROS= yes
+CONFIGURE_ARGS+= --with-krb=/usr
+. endif
+.elif !empty(PKG_OPTIONS:Mgssapi)
+. include "../../mk/krb5.buildlink3.mk"
+CONFIGURE_ARGS+= --enable-gssapi=${KRB5BASE}
+CONFIGURE_ARGS+= --with-gss_impl=${GSSIMPL.${KRB5_TYPE}}
+GSSIMPL.heimdal= heimdal
+GSSIMPL.mit-krb5= mit
+CONFIGURE_ENV+= COMPILE_ET=${KRB5BASE}/bin/compile_et
+COMERRBASE= ${KRB5BASE}
+.else
+CONFIGURE_ARGS+= --without-krb
+CONFIGURE_ARGS+= --disable-gssapi
+.endif
+
+.if !empty(PKG_OPTIONS:Mldap)
+. include "../../databases/openldap-client/buildlink3.mk"
+CONFIGURE_ARGS+= --with-ldap=${BUILDLINK_PREFIX.openldap-client}
+PLIST.ldap= yes
+.else
+CONFIGURE_ARGS+= --without-ldap
+.endif
+
+.if !empty(PKG_OPTIONS:Msnmp)
+. include "../../net/net-snmp/buildlink3.mk"
+CONFIGURE_ARGS+= --with-snmp=${BUILDLINK_PREFIX.net-snmp}
+USE_TOOLS+= perl:run
+.else
+CONFIGURE_ARGS+= --without-snmp
+.endif
+
+.if !empty(PKG_OPTIONS:Mzephyr)
+. include "../../chat/zephyr/buildlink3.mk"
+CONFIGURE_ARGS+= --with-zephyr=${BUILDLINK_PREFIX.zephyr}
+.else
+CONFIGURE_ARGS+= --without-zephyr
+.endif
+
+.if !empty(PKG_OPTIONS:Mbdb)
+BDB_ACCEPTED= db4 db3
+. include "../../mk/bdb.buildlink3.mk"
+CONFIGURE_ARGS+= --with-bdb=${BDB_TYPE}
+CONFIGURE_ARGS+= --with-bdb-incdir=${BDBBASE}/include/${BDB_TYPE}
+CONFIGURE_ARGS+= --with-bdb-libdir=${BDBBASE}/lib
+.else
+CONFIGURE_ARGS+= --without-bdb
+.endif
+
+.if !empty(PKG_OPTIONS:Mmysql)
+. include "../../mk/mysql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-mysql=${BUILDLINK_PREFIX.mysql-client}
+.else
+CONFIGURE_ARGS+= --without-mysql
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+. include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-pgsql=${PGSQL_PREFIX}
+.else
+CONFIGURE_ARGS+= --without-pgsql
+.endif
+
+.if !empty(PKG_OPTIONS:Msqlite)
+. include "../../databases/sqlite3/buildlink3.mk"
+CONFIGURE_ARGS+= --with-sqlite=${BUILDLINK_PREFIX.sqlite3}
+.else
+CONFIGURE_ARGS+= --without-sqlite
+.endif
diff --git a/mail/cyrus-imapd23/patches/patch-aa b/mail/cyrus-imapd23/patches/patch-aa
new file mode 100644
index 00000000000..1a603beed0d
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-aa
@@ -0,0 +1,18 @@
+$NetBSD: patch-aa,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- configure.in.orig 2009-12-21 13:09:10.000000000 +0000
++++ configure.in
+@@ -391,11 +391,11 @@ if test "$sievedir" != "no"; then
+ AC_CHECK_LIB(fl,main)
+
+ AC_CHECK_HEADERS(pcreposix.h rxposix.h)
+- if test "$ac_cv_header_pcreposix_h" == "yes"; then
++ if test "$ac_cv_header_pcreposix_h" = "yes"; then
+ LIBS="$LIBS -lpcre -lpcreposix";
+ AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?])
+ else
+- if test "$ac_cv_header_rxposix_h" == "yes"; then
++ if test "$ac_cv_header_rxposix_h" = "yes"; then
+ LIBS="$LIBS -lrx"
+ AC_DEFINE(ENABLE_REGEX, [],
+ [Do we have a regex library?])
diff --git a/mail/cyrus-imapd23/patches/patch-ab b/mail/cyrus-imapd23/patches/patch-ab
new file mode 100644
index 00000000000..2a3ac5a85f3
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ab
@@ -0,0 +1,22 @@
+$NetBSD: patch-ab,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- configure.orig 2009-12-23 08:06:48.000000000 +0000
++++ configure
+@@ -12402,7 +12402,7 @@ fi
+
+ done
+
+- if test "$ac_cv_header_pcreposix_h" == "yes"; then
++ if test "$ac_cv_header_pcreposix_h" = "yes"; then
+ LIBS="$LIBS -lpcre -lpcreposix";
+
+ cat >>confdefs.h <<\_ACEOF
+@@ -12410,7 +12410,7 @@ cat >>confdefs.h <<\_ACEOF
+ _ACEOF
+
+ else
+- if test "$ac_cv_header_rxposix_h" == "yes"; then
++ if test "$ac_cv_header_rxposix_h" = "yes"; then
+ LIBS="$LIBS -lrx"
+
+ cat >>confdefs.h <<\_ACEOF
diff --git a/mail/cyrus-imapd23/patches/patch-ac b/mail/cyrus-imapd23/patches/patch-ac
new file mode 100644
index 00000000000..07b7eec62c6
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ac
@@ -0,0 +1,35 @@
+$NetBSD: patch-ac,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imap/Makefile.in.orig 2009-03-30 16:04:56.000000000 +0000
++++ imap/Makefile.in
+@@ -182,6 +182,9 @@ mupdate_err.c: mupdate_err.et
+
+ mupdate_err.h: mupdate_err.c
+
++mutex_pthread.o: mutex_pthread.c
++ $(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $(PTHREAD_CFLAGS) $<
++
+ ### Services
+ idled: idled.o mutex_fake.o libimap.a $(DEPLIBS)
+ $(CC) $(LDFLAGS) -o idled \
+@@ -216,16 +219,16 @@ imapd.quant: $(IMAPDOBJS) mutex_fake.o l
+
+ mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
+ libimap.a $(DEPLIBS)
+- $(CC) $(LDFLAGS) -o mupdate \
++ $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -o mupdate \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+ mutex_pthread.o tls.o libimap.a \
+- $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \
+ libimap.a $(DEPLIBS)
+- $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \
++ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -o mupdate.pure \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
+ $(DEPLIBS) $(SERVICE)
diff --git a/mail/cyrus-imapd23/patches/patch-ad b/mail/cyrus-imapd23/patches/patch-ad
new file mode 100644
index 00000000000..a371434f99f
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ad
@@ -0,0 +1,14 @@
+$NetBSD: patch-ad,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imap/cvt_cyrusdb.c.orig 2009-02-11 19:11:32.000000000 +0000
++++ imap/cvt_cyrusdb.c
+@@ -59,7 +59,9 @@
+ #include <syslog.h>
+
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+
+ #include "acl.h"
+ #include "assert.h"
diff --git a/mail/cyrus-imapd23/patches/patch-ae b/mail/cyrus-imapd23/patches/patch-ae
new file mode 100644
index 00000000000..ca3486b089a
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ae
@@ -0,0 +1,14 @@
+$NetBSD: patch-ae,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imap/mboxlist.c.orig 2009-11-17 03:34:30.000000000 +0000
++++ imap/mboxlist.c
+@@ -59,7 +59,9 @@
+ #include <syslog.h>
+
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+
+ #include "acl.h"
+ #include "annotate.h"
diff --git a/mail/cyrus-imapd23/patches/patch-af b/mail/cyrus-imapd23/patches/patch-af
new file mode 100644
index 00000000000..e33c9b7acdf
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-af
@@ -0,0 +1,15 @@
+$NetBSD: patch-af,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imap/message.c.orig 2009-11-19 21:52:55.000000000 +0000
++++ imap/message.c
+@@ -74,6 +74,10 @@
+ #include "global.h"
+ #include "retry.h"
+
++#ifdef __APPLE__
++struct et_list *_et_list = NULL;
++#endif
++
+ /* Message being parsed */
+ struct msg {
+ const char *base;
diff --git a/mail/cyrus-imapd23/patches/patch-ag b/mail/cyrus-imapd23/patches/patch-ag
new file mode 100644
index 00000000000..4a4746da625
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ag
@@ -0,0 +1,25 @@
+$NetBSD: patch-ag,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imtest/imtest.c.orig 2009-09-24 13:35:05.000000000 +0000
++++ imtest/imtest.c
+@@ -49,7 +49,9 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
+@@ -74,6 +76,10 @@
+ #include <netinet/in.h>
+ #include <netdb.h>
+
++#ifdef HAVE_SYS_PARAM_H
++#include <sys/param.h>
++#endif
++
+ #include <sasl/sasl.h>
+ #include <sasl/saslutil.h>
+
diff --git a/mail/cyrus-imapd23/patches/patch-ah b/mail/cyrus-imapd23/patches/patch-ah
new file mode 100644
index 00000000000..a3b621d06c5
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- perl/Makefile.in.orig 2009-05-06 13:48:04.000000000 +0000
++++ perl/Makefile.in
+@@ -86,7 +86,7 @@ all::
+ BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
+ OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
+ SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
+- $(PERL) Makefile.PL PREFIX=$(prefix); \
++ $(PERL) Makefile.PL INSTALLDIRS=vendor PREFIX=$(prefix); \
+ fi; \
+ $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
+ done
diff --git a/mail/cyrus-imapd23/patches/patch-ai b/mail/cyrus-imapd23/patches/patch-ai
new file mode 100644
index 00000000000..321375e72e9
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- perl/sieve/Makefile.in.orig 2009-05-06 13:48:04.000000000 +0000
++++ perl/sieve/Makefile.in
+@@ -86,7 +86,7 @@ all::
+ BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
+ OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
+ SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
+- $(PERL) Makefile.PL PREFIX=$(prefix); \
++ $(PERL) Makefile.PL INSTALLDIRS=vendor PREFIX=$(prefix); \
+ fi; \
+ $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
+ done
diff --git a/mail/cyrus-imapd23/patches/patch-aj b/mail/cyrus-imapd23/patches/patch-aj
new file mode 100644
index 00000000000..950a5dbdcf6
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-aj
@@ -0,0 +1,14 @@
+$NetBSD: patch-aj,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- perl/sieve/lib/request.c.orig 2008-04-04 12:47:21.000000000 +0000
++++ perl/sieve/lib/request.c
+@@ -52,7 +52,9 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/ipc.h>
++#if !defined(__APPLE__)
+ #include <sys/msg.h>
++#endif
+
+ #include <stdlib.h>
+ #include <stdio.h>
diff --git a/mail/cyrus-imapd23/patches/patch-ak b/mail/cyrus-imapd23/patches/patch-ak
new file mode 100644
index 00000000000..ae9f31012c7
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ak
@@ -0,0 +1,15 @@
+$NetBSD: patch-ak,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- sieve/sievec.c.orig 2009-03-25 23:58:04.000000000 +0000
++++ sieve/sievec.c
+@@ -63,6 +63,10 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
++#ifdef __APPLE__
++struct et_list *_et_list = NULL;
++#endif
++
+ /* config.c stuff */
+ const int config_need_data = 0;
+
diff --git a/mail/cyrus-imapd23/patches/patch-al b/mail/cyrus-imapd23/patches/patch-al
new file mode 100644
index 00000000000..30b6b82c12f
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-al
@@ -0,0 +1,15 @@
+$NetBSD: patch-al,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- sieve/sieved.c.orig 2009-03-25 23:58:05.000000000 +0000
++++ sieve/sieved.c
+@@ -63,6 +63,10 @@
+
+ #include "map.h"
+
++#ifdef __APPLE__
++struct et_list *_et_list = NULL;
++#endif
++
+ /* config.c stuff */
+ const int config_need_data = 0;
+
diff --git a/mail/cyrus-imapd23/patches/patch-am b/mail/cyrus-imapd23/patches/patch-am
new file mode 100644
index 00000000000..299976bb357
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-am
@@ -0,0 +1,19 @@
+$NetBSD: patch-am,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- tools/config2header.orig 2009-12-02 22:50:29.000000000 +0000
++++ tools/config2header
+@@ -79,6 +79,14 @@ while ($#ARGV >= 0) {
+
+ my $use_gcc_extension = ($CC and $CC eq 'gcc');
+
++#
++# Skip any CC options such as -pipe
++# The last two parameters are the .c and .h files
++#
++while ($#ARGV > 1) {
++ shift @ARGV;
++}
++
+ die "wrong number of arguments" if ($#ARGV != 1);
+ my ($cfile, $hfile) = @ARGV;
+
diff --git a/mail/cyrus-imapd23/patches/patch-an b/mail/cyrus-imapd23/patches/patch-an
new file mode 100644
index 00000000000..ee5d4c13a98
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-an
@@ -0,0 +1,22 @@
+$NetBSD: patch-an,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imap/tls.c.orig 2008-11-14 22:24:38.000000000 +0000
++++ imap/tls.c
+@@ -223,7 +223,7 @@ static RSA *tmp_rsa_cb(SSL * s __attribu
+ return (rsa_tmp);
+ }
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
++#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_LACK_BN_CONST)
+ /* Logic copied from OpenSSL apps/s_server.c: give the TLS context
+ * DH params to work with DHE-* cipher suites. Hardcoded fallback
+ * in case no DH params in tls_key_file or tls_cert_file.
+@@ -735,7 +735,7 @@ int tls_init_serverengine(const char
+ }
+ SSL_CTX_set_tmp_rsa_callback(s_ctx, tmp_rsa_cb);
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
++#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_LACK_BN_CONST)
+ /* Load DH params for DHE-* key exchanges */
+ SSL_CTX_set_tmp_dh(s_ctx, load_dh_param(s_key_file, s_cert_file));
+ /* FIXME: Load ECDH params for ECDHE suites when 0.9.9 is released */
diff --git a/mail/cyrus-imapd23/patches/patch-ao b/mail/cyrus-imapd23/patches/patch-ao
new file mode 100644
index 00000000000..fa2053d032f
--- /dev/null
+++ b/mail/cyrus-imapd23/patches/patch-ao
@@ -0,0 +1,17 @@
+$NetBSD: patch-ao,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $
+
+--- imap/imap_err.et.orig 2009-12-02 02:09:43.000000000 +0000
++++ imap/imap_err.et
+@@ -198,10 +198,10 @@ ec IMAP_NO_MSGGONE,
+ "Message %d no longer exists"
+
+ ec IMAP_NO_CHECKSEEN,
+- "Unable to checkpoint \\Seen state"
++ "Unable to checkpoint \\\\Seen state"
+
+ ec IMAP_NO_CHECKPRESERVE,
+- "Unable to preserve \\Seen state"
++ "Unable to preserve \\\\Seen state"
+
+ ec IMAP_NO_NOSUCHMSG,
+ "No matching messages"