Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Apr 2021 14:17:32 GMT
From:      Hajimu UMEMOTO <ume@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: c47de3b6e637 - main - Copy cyrus-imapd32 to cyrus-imapd34 for preparation of Cyrus IMAPd 3.4.
Message-ID:  <202104191417.13JEHWBU097451@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by ume:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c47de3b6e63711ee764be5d9ffea5507bfcfe25b

commit c47de3b6e63711ee764be5d9ffea5507bfcfe25b
Author:     Hajimu UMEMOTO <ume@FreeBSD.org>
AuthorDate: 2021-04-19 14:11:45 +0000
Commit:     Hajimu UMEMOTO <ume@FreeBSD.org>
CommitDate: 2021-04-19 14:11:45 +0000

    Copy cyrus-imapd32 to cyrus-imapd34 for preparation of Cyrus IMAPd 3.4.
---
 mail/cyrus-imapd34/Makefile                        | 231 +++++++++++++
 mail/cyrus-imapd34/distinfo                        |   3 +
 mail/cyrus-imapd34/files/cyrus-imapd-man.conf.in   |   1 +
 mail/cyrus-imapd34/files/imapd.conf                | 372 +++++++++++++++++++++
 mail/cyrus-imapd34/files/imapd.in                  |  36 ++
 mail/cyrus-imapd34/files/patch-Makefile.in         |  11 +
 mail/cyrus-imapd34/files/patch-configure           |  22 ++
 mail/cyrus-imapd34/files/patch-imap__http_client.h |  11 +
 mail/cyrus-imapd34/files/patch-imap__httpd.h       |  11 +
 mail/cyrus-imapd34/files/patch-imap__tls.c         |  22 ++
 mail/cyrus-imapd34/files/patch-imtest__imtest.c    |  12 +
 mail/cyrus-imapd34/files/patch-lib__cyr_qsort_r.c  |  19 ++
 mail/cyrus-imapd34/files/patch-lib__imapoptions    |  20 ++
 mail/cyrus-imapd34/files/patch-lib__libcyr_cfg.c   |  13 +
 mail/cyrus-imapd34/files/patch-lib_assert.h        |  22 ++
 mail/cyrus-imapd34/files/patch-tools__mkimap       |  38 +++
 mail/cyrus-imapd34/files/pkg-deinstall.in          |  40 +++
 mail/cyrus-imapd34/files/pkg-install.in            |  41 +++
 mail/cyrus-imapd34/files/pkg-message.in            |  10 +
 mail/cyrus-imapd34/pkg-descr                       |  21 ++
 mail/cyrus-imapd34/pkg-plist                       | 157 +++++++++
 21 files changed, 1113 insertions(+)

diff --git a/mail/cyrus-imapd34/Makefile b/mail/cyrus-imapd34/Makefile
new file mode 100644
index 000000000000..af58d84c8c80
--- /dev/null
+++ b/mail/cyrus-imapd34/Makefile
@@ -0,0 +1,231 @@
+PORTNAME=	cyrus-imapd
+PORTVERSION=	3.2.6
+PORTREVISION=	2
+CATEGORIES=	mail
+MASTER_SITES=	https://github.com/cyrusimap/cyrus-imapd/releases/download/${PORTNAME}-${PORTVERSION}/
+PKGNAMESUFFIX=	32
+
+MAINTAINER=	ume@FreeBSD.org
+COMMENT=	Cyrus mail server, supporting POP3 and IMAP4 protocols
+
+LICENSE=	BSD4CLAUSE
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BROKEN_riscv64=		fails to build: lib/chartable.c: Error 1
+
+LIB_DEPENDS=	libsasl2.so:security/cyrus-sasl2 \
+		libicuuc.so:devel/icu \
+		libjansson.so:devel/jansson \
+		libpcre.so:devel/pcre \
+		libuuid.so:misc/e2fsprogs-libuuid
+
+CONFLICTS_INSTALL=	cyrus-imapd-2.* cyrus-imapd2*
+
+USES=		compiler:c11 cpe gmake libtool perl5 pkgconfig ssl
+USE_RC_SUBR=	imapd
+GNU_CONFIGURE=	yes
+CYRUS_PREFIX=	${PREFIX}/cyrus
+CONFIGURE_ARGS=	--libexecdir=${CYRUS_PREFIX}/libexec \
+		--sbindir=${CYRUS_PREFIX}/sbin \
+		--sysconfdir=${PREFIX}/etc \
+		--with-cyrus-user=${CYRUS_USER} \
+		--with-sasl=${LOCALBASE} \
+		--with-com_err \
+		--with-openssl=${OPENSSLBASE} \
+		--with-perl=${PERL}
+CONFIGURE_ENV+=	LIBS="-L${LOCALBASE}/lib"
+CPPFLAGS+=	-I${LOCALBASE}/include
+MAKE_JOBS_UNSAFE=	yes
+
+USES+=		shebangfix
+SHEBANG_FILES=	imap/promdatagen snmp/snmpgen tools/config2header \
+		tools/masssievec tools/mkimap tools/translatesieve \
+		perl/sieve/scripts/*.pl
+
+CPE_VENDOR=	cmu
+CPE_PRODUCT=	cyrus_imap_server
+
+OPTIONS_DEFINE=		AUTOCREATE BACKUP CLAMAV HTTP IDLED LDAP MURDER \
+			MYSQL NNTP PGSQL REPLICATION SNMP SQLITE SQUAT SRS \
+			XAPIAN DOCS
+OPTIONS_DEFAULT=	AUTOCREATE IDLED SQLITE SQUAT SRS
+OPTIONS_SUB=		yes
+AUTOCREATE_DESC=	Enable autocreate support
+AUTOCREATE_CONFIGURE_ENABLE=	autocreate
+BACKUP_DESC=		Enable backup support (experimental)
+BACKUP_CONFIGURE_ENABLE=backup
+CLAMAV_DESC=		Use ClamAV
+CLAMAV_CONFIGURE_WITH=	clamav
+CLAMAV_LIB_DEPENDS=	libclamav.so:security/clamav
+HTTP_DESC=		Enable HTTP support
+HTTP_CONFIGURE_ENABLE=	http
+HTTP_LIB_DEPENDS=	libical.so:devel/libical \
+			libnghttp2.so:www/libnghttp2 \
+			libshp.so:devel/shapelib \
+			libbrotlidec.so:archivers/brotli
+# Need additional patch to opendkim
+#HTTP_LIB_DEPENDS+=	libopendkim.so:mail/opendkim
+#HTTP_CPPFLAGS+=	-I${LOCALBASE}/include/opendkim
+HTTP_USES=		gnome
+HTTP_USE=		GNOME=libxml2
+IDLED_DESC=		Enable IMAP idled support
+IDLED_CONFIGURE_ENABLE=	idled
+LDAP_DESC=		Enable LDAP support (experimental)
+LDAP_USE=		OPENLDAP=yes
+LDAP_CONFIGURE_ON=	--with-ldap=${LOCALBASE}
+MURDER_DESC=		Enable IMAP Murder support
+MURDER_CONFIGURE_ENABLE=murder
+MURDER_MAKE_ENV=	PTHREAD_LIBS="-lpthread"
+MYSQL_USES=		mysql
+MYSQL_CONFIGURE_WITH=	mysql
+NNTP_DESC=		Enable NNTP support
+NNTP_CONFIGURE_ENABLE=	nntp
+PGSQL_USES=		pgsql
+PGSQL_CONFIGURE_ON=	--with-pgsql=${LOCALBASE}
+REPLICATION_DESC=	Enable replication (experimental)
+REPLICATION_CONFIGURE_ENABLE=replication
+SRS_DESC=		Enable Sender Rewriting Scheme support
+SRS_CONFIGURE_ENABLE=	srs
+SRS_LIB_DEPENDS=	libsrs2.so:mail/libsrs2
+SNMP_LIB_DEPENDS=	libnetsnmp.so:net-mgmt/net-snmp
+SNMP_CONFIGURE_ON=	--with-snmp=${LOCALBASE}
+SNMP_CONFIGURE_OFF=	--with-snmp=no
+SQLITE_CONFIGURE_ON=	--with-sqlite=${LOCALBASE}
+SQLITE_BROKEN_OFF=	SQLITE is required
+SQUAT_DESC=		Enable Squat support
+SQUAT_CONFIGURE_OFF=	--disable-squat
+XAPIAN_DESC=		Enable Xapian support
+XAPIAN_CONFIGURE_ENABLE=xapian
+XAPIAN_LIB_DEPENDS=	libxapian.so:databases/xapian-core
+XAPIAN_BUILD_DEPENDS=	rsync:net/rsync
+XAPIAN_RUN_DEPENDS=	${XAPIAN_BUILD_DEPENDS}
+
+OPTIONS_RADIO=			GSSAPI READLINE
+OPTIONS_RADIO_GSSAPI=		GSSAPI_HEIMDAL GSSAPI_MIT
+.if exists(/usr/lib/libkrb5.a)
+OPTIONS_RADIO_GSSAPI+=		GSSAPI_BASE
+OPTIONS_DEFAULT+=		GSSAPI_BASE
+.endif
+GSSAPI_BASE_USES=		gssapi
+GSSAPI_BASE_CONFIGURE_ON=	--enable-gssapi="${GSSAPIBASEDIR}" \
+				--with-gss_impl=heimdal
+GSSAPI_HEIMDAL_USES=		gssapi:heimdal,flags
+GSSAPI_HEIMDAL_CONFIGURE_ON=	--enable-gssapi="${GSSAPIBASEDIR}" \
+				--with-gss_impl=heimdal
+GSSAPI_MIT_USES=		gssapi:mit
+GSSAPI_MIT_CONFIGURE_ON=	--enable-gssapi="${GSSAPIBASEDIR}" \
+				--with-gss_impl=mit
+
+OPTIONS_RADIO_READLINE=		READLINE_GNU READLINE_PERL
+READLINE_GNU_DESC=		Use Term::Readline::GNU for cyradm
+READLINE_GNU_RUN_DEPENDS=	p5-Term-ReadLine-Gnu>=0:devel/p5-Term-ReadLine-Gnu
+READLINE_PERL_DESC=		Use Term::Readline::Perl for cyradm
+READLINE_PERL_RUN_DEPENDS=	p5-Term-ReadLine-Perl>=0:devel/p5-Term-ReadLine-Perl
+
+MANDIRS=	${CYRUS_PREFIX}/man
+
+PORTDOCS=	*
+
+SUB_FILES=	pkg-message pkg-install pkg-deinstall cyrus-imapd-man.conf
+
+SUB_LIST=	CYRUS_USER=${CYRUS_USER} CYRUS_GROUP=${CYRUS_GROUP}
+
+CYRUS_USER?=	cyrus
+CYRUS_GROUP?=	cyrus
+
+MAN_MAN1=	httptest imtest installsieve lmtptest mupdatetest nntptest \
+		pop3test sieveshell sivtest smtptest
+MAN_MAN3=	imclient
+MAN_MAN5=	cyrus.conf imapd.conf krb.equiv
+
+CYRUS_MAN8=	arbitron backupd chk_cyrus ctl_backups ctl_conversationsdb \
+		ctl_cyrusdb ctl_deliver ctl_mboxlist cvt_cyrusdb cyr_backup \
+		cyr_buildinfo cyr_dbtool cyr_deny cyr_df cyr_expire cyr_info \
+		cyr_synclog cyr_virusscan deliver fud idled imapd ipurge lmtpd \
+		master mbexamine mbpath mbtool notifyd pop3d quota reconstruct \
+		restore smmapd timsieved tls_prune unexpunge
+CYRUS_PERL_MAN1=cyradm
+CYRUS_PERL_MAN3=Cyrus::Annotator::Daemon Cyrus::Annotator::Message \
+		Cyrus::IMAP Cyrus::IMAP::Admin Cyrus::IMAP::IMSP \
+		Cyrus::IMAP::Shell Cyrus::SIEVE::managesieve
+
+INSTALL_TARGET=	install-strip
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MHTTP} || ${PORT_OPTIONS:MSQLITE}
+USES+=	sqlite
+.endif
+
+.if !${PORT_OPTIONS:MGSSAPI_BASE} && !${PORT_OPTIONS:MGSSAPI_HEIMDAL} && \
+    !${PORT_OPTIONS:MGSSAPI_MIT}
+CONFIGURE_ARGS+=--disable-gssapi
+.endif
+
+.if ${PORT_OPTIONS:MHTTP}
+CYRUS_MAN8+=	ctl_zoneinfo httpd
+.endif
+.if ${PORT_OPTIONS:MNNTP}
+CYRUS_MAN8+=	fetchnews nntpd
+.endif
+.if ${PORT_OPTIONS:MREPLICATION}
+CYRUS_MAN8+=	sync_client sync_reset sync_server
+.endif
+.if ${PORT_OPTIONS:MSQUAT} || ${PORT_OPTIONS:MXAPIAN}
+CYRUS_MAN8+=	squatter
+PLIST_SUB+=	SQUATTER=""
+.else
+PLIST_SUB+=	SQUATTER="@comment "
+.endif
+
+post-patch:
+	@${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|" \
+			  -e "s|%%CYRUS_USER%%|${CYRUS_USER}|g" \
+			  -e "s|%%CYRUS_GROUP%%|${CYRUS_GROUP}|g" \
+		${WRKSRC}/tools/mkimap
+.for f in masssievec translatesieve
+	@${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|g" \
+			  -e "s|/usr/sieve|/var/imap/sieve|g" \
+		${WRKSRC}/tools/${f}
+.endfor
+	@${REINPLACE_CMD} \
+		-e 's|$$(libdir)/\(pkgconfig\)|${PREFIX}/libdata/\1|g' \
+		-e 's|$$(mandir)/\(man[8]\)|${PREFIX}/cyrus/man/\1|g' \
+		${WRKSRC}/Makefile.in
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Cyrus/IMAP/IMAP.so
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Cyrus/SIEVE/managesieve/managesieve.so
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	${INSTALL_DATA} ${FILESDIR}/imapd.conf \
+		${STAGEDIR}${EXAMPLESDIR}
+	${SED} -e 's,/run/cyrus/socket,/var/imap/socket,' \
+		${WRKSRC}/doc/examples/cyrus_conf/normal.conf \
+		> ${STAGEDIR}${EXAMPLESDIR}/cyrus.conf
+.for f in mkimap masssievec translatesieve
+	${INSTALL_SCRIPT} ${WRKSRC}/tools/${f} \
+		${STAGEDIR}${CYRUS_PREFIX}/sbin/${f}
+.endfor
+	${INSTALL_DATA} ${WRKDIR}/cyrus-imapd-man.conf \
+		${STAGEDIR}${PREFIX}/etc/man.d/cyrus-imapd.conf
+.for s in 1 3 5
+.  for m in ${MAN_MAN${s}}
+	@${ECHO_CMD} man/man${s}/${m}.${s}.gz >> ${TMPPLIST}
+.  endfor
+.endfor
+.for s in 1 3
+.  for m in ${CYRUS_PERL_MAN${s}}
+	@${ECHO_CMD} ${SITE_MAN${s}}/${m}.${s}.gz >> ${TMPPLIST}
+.  endfor
+.endfor
+.for m in ${CYRUS_MAN8}
+	@${ECHO_CMD} ${CYRUS_PREFIX}/man/man8/${m}.8.gz >> ${TMPPLIST}
+.endfor
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+		"! ( -path */html/_sources* -o -name .buildinfo )"
+	${RM} -r ${STAGEDIR}${DOCSDIR}/rst ${STAGEDIR}${DOCSDIR}/source
+
+.include <bsd.port.mk>
diff --git a/mail/cyrus-imapd34/distinfo b/mail/cyrus-imapd34/distinfo
new file mode 100644
index 000000000000..fb2317ae24e0
--- /dev/null
+++ b/mail/cyrus-imapd34/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1615286134
+SHA256 (cyrus-imapd-3.2.6.tar.gz) = 453958dd8b639aaada9a83c8941af2b403f76b47e4f035a8f0078170e0bacedf
+SIZE (cyrus-imapd-3.2.6.tar.gz) = 12282669
diff --git a/mail/cyrus-imapd34/files/cyrus-imapd-man.conf.in b/mail/cyrus-imapd34/files/cyrus-imapd-man.conf.in
new file mode 100644
index 000000000000..b7ba70fcce77
--- /dev/null
+++ b/mail/cyrus-imapd34/files/cyrus-imapd-man.conf.in
@@ -0,0 +1 @@
+MANPATH %%PREFIX%%/cyrus/man
diff --git a/mail/cyrus-imapd34/files/imapd.conf b/mail/cyrus-imapd34/files/imapd.conf
new file mode 100644
index 000000000000..2ba85ce1d63e
--- /dev/null
+++ b/mail/cyrus-imapd34/files/imapd.conf
@@ -0,0 +1,372 @@
+# Sample configurations file for Cyrus IMAPd
+# Most lines in this file are commented; in this case the default is used. 
+# The commented lines (usually) contain the default value
+
+# The pathname of the IMAP configuration directory
+#
+configdirectory: /var/imap
+
+# The partition name used by default for new mailboxes
+#
+#defaultpartition: default
+
+# The directory for the different partitions
+#
+partition-default: /var/spool/imap
+
+# Use the UNIX separator character '/' for delimiting levels of
+# mailbox hierarchy.  The default is to use the netnews separator
+# character '.'.
+#unixhierarchysep: yes
+
+# Use the alternate IMAP namespace, where personal folders reside at
+# the same level in the hierarchy as INBOX.
+#
+#altnamespace: yes
+
+# If using the alternate IMAP namespace, the prefix for the other
+# users namespace.  The hierarchy delimiter will be automatically
+# appended.
+#
+#userprefix: Other Users
+
+# If using the alternate IMAP namespace, the prefix for the shared
+# namespace.  The hierarchy delimiter will be automatically appended.
+#
+#sharedprefix: Shared Folders
+
+# The umask value used by various Cyrus IMAP programs
+#
+#umask: 077
+
+# This is the hostname visible in the greeting messages of the POP,
+# IMAP and LMTP daemons. If it is unset, then the result returned from
+# gethostname(2) is used.
+#
+#servername: <result returned by gethostname(2)>
+
+# Whether to allow anonymous logins
+#
+#allowanonymouslogin: no
+
+# Allow the use of cleartext passwords on the wire.
+#
+#allowplaintext: yes
+
+# The percent  of  quota  utilization  over  which  the server generates
+# warnings.
+#
+#quotawarn: 90
+
+# The length of the IMAP server's inactivity autologout timer, in minutes.
+# The  minimum  value  is  30,  the default.
+#
+#timeout: 30
+
+# The interval (in seconds) for polling the mailbox for changes while
+# running the IDLE command.  This option is used when idled can not be
+# contacted or when polling is used exclusively.  The minimum value is
+# 1.  A value of 0 will disable polling (and disable IDLE if polling
+# is the only method available).
+#
+#imapidlepoll: 60
+
+# If enabled, the server responds to an ID command with a parameter
+# list containing: version, vendor, support-url, os, os-version,
+# command, arguments, environment.  Otherwise the server returns NIL.
+#
+#imapidresponse: yes
+
+# Set the length of the POP server's inactivity autologout timer, in
+# minutes.  The minimum value is 10, the default.
+#
+#poptimeout: 10
+
+# Set the minimum amount of time the server forces users to wait between 
+# successive POP logins, in  minutes.  The default is 0.
+#
+#popminpoll: 0
+
+# The number of days advertised as being the minimum a message may be
+# left on the POP server before it is deleted (via the CAPA command,
+# defined in the POP3 Extension Mechanism, which some clients may
+# support).  "NEVER", the default, may be specified with a negative
+# number.  The Cyrus POP3 server never deletes mail, no matter what
+# the value of this parameter is.  However, if a site implements a
+# less liberal policy, it needs to change this parameter accordingly.
+#
+#popexpiretime: 0
+
+# The list of userids with administrative rights.  Separate each userid
+# with a space.  We recommend that administrator userids be separate from 
+# standard userids.  Sites using Kerberos authentication may use separate
+# "admin" instances.
+#
+#admins: <none>
+
+# A list of users and groups that are allowed to proxy for other
+# users, seperated by spaces.  Any user listed in this will be allowed
+# to login for any other user: use with caution.
+#
+#proxyservers: <none>
+
+# The Access Control List (ACL) placed on a newly-created (non-user)
+# mailbox that does not have a parent mailbox.
+#
+#defaultacl: anyone lrs
+
+# The pathname of the news spool directory.  Only used if the partition-news
+# configuration option is set.
+#
+#newsspool: <no default>
+
+# Prefix to be prepended to newsgroup names to make the corresponding IMAP
+# mailbox names.
+#
+#newsprefix: <none>
+
+# If set to a value of zero or higher, users have their INBOX folders
+# created upon a successful login event or upon lmtpd(8) message
+# delivery if autocreate_post is enabled, provided their INBOX did
+# not yet already exist.
+#
+# The user's quota is set to the value if it is greater than zero,
+# otherwise the user has unlimited quota.
+#
+# Note that quota is specified in kilobytes.
+#
+#autocreate_quota: -1
+
+# Include notations in the protocol telemetry logs indicating the number
+# of seconds since the last command or response.
+#
+#logtimestamps: no
+
+# Number of seconds to pause after a successful plaintext login.  For systems
+# that support strong authentication, this permits users to perceive a cost
+# of using plaintext passwords.
+#
+#plaintextloginpause: 0
+
+# The pathname of srvtab file containing the server's private key.
+# This option is passed to the SASL library and overrides its default
+# setting.
+#
+#srvtab: /etc/srvtab
+
+# The list of remote realms whose users may log in using  cross-realm
+# authentications.   Seperate each realm name by a space.  This option is
+# only used when the server is compiled with Kerberos authentication.
+#
+#loginrealms: <none>
+
+# If enabled, any authentication identity which has a rights on a user's
+# INBOX may log in as that user.  This option is only used when the server
+# is compiled with Kerberos authentication.
+#
+#loginuseacl: no
+
+# If enabled, lmtpd attempts to only write one copy of a message per
+# partition and create hard links, resulting in a potentially large
+# disk savings.
+#
+#singleinstancestore: yes
+
+# If enabled, lmtpd will suppress delivery of a message to a mailbox
+# if a message with the same message-id (or resent-message-id) is
+# recorded as having already been delivered to the mailbox.  Records
+# the mailbox and message-id/resent-message-id of all successful
+# deliveries.
+#
+#duplicatesuppression: yes
+
+# If enabled, lmtpd rejects messages with 8-bit characters in the
+# headers.  Otherwise, 8-bit characters are changed to `X'.  (A proper
+# soultion to non-ASCII characters in headers is offered by RFC 2047
+# and its predecessors.)
+#
+#reject8bit: no
+
+# Maximum incoming LMTP message size.  If set, lmtpd will reject
+# messages larger than maxmessagesize bytes.  The default is to allow
+# messages of any size.
+#
+#maxmessagesize: <unlimited>
+
+# Userid used to deliver messages to shared folders.  For example, if
+# set to "bb", email sent to "bb+shared.blah" would be delivered to
+# the "shared.blah" folder.  By default, an email address of
+# "+shared.blah" would be used.
+#postuser: <none>
+
+# If enabled at compile time, this specifies a URL to reply when
+# Netscape asks the server where the mail administration HTTP server
+# is.  The default is a site at CMU with a hopefully informative
+# message; administrators should set this to a local resource with
+# some information of greater use.
+#
+#netscapeurl: http://andrew2.andrew.cmu.edu/cyrus/imapd/netscapeadmin.html
+
+# Notifyd(8) method to use for "MAIL" notifications.  If not set,
+# "MAIL" notifications are disabled.
+#
+#mailnotifier: <no default>
+
+# Notifyd(8) method to use for "SIEVE" notifications.  If not set,
+# "SIEVE" notifications are disabled.
+#
+# This method is only used when no method is specified in the script.
+#
+#sievenotifier: <no default>
+
+# If enabled, lmtpd will look for Sieve scripts in user's home
+# directories: ~user/.sieve.
+#
+sieveusehomedir: false
+
+# If sieveusehomedir is false, this directory is searched for Sieve scripts.
+# The active Sieve script is s called "default", placed in the users sieve
+# sieve directory (ie. /var/imap/sieve/u/user).
+#
+sievedir: /var/imap/sieve
+
+# The pathname of the sendmail executable.  Sieve uses sendmail for
+# sending rejections, redirects and vaca- tion responses.
+#
+#sendmail: /usr/sbin/sendmail
+
+# Username that is used as the 'From' address in rejection MDNs
+# produced by sieve.
+#
+#postmaster: postmaster
+
+# If enabled, the partitions will also be hashed, in addition to the hashing
+# done on configuration directories.  This is recommended if one partition has
+# a very bushy mailbox tree.
+#
+#hashimapspool: false
+
+# Maximum size (in kilobytes) any sieve script can be, enforced at
+# submission by timsieved(8).
+#
+#sieve_maxscriptsize: 32
+
+# Maximum number of sieve scripts any user may have, enforced at
+# submission by timsieved(8).
+#
+#sieve_maxscripts: 5
+
+# The cyrusdb backend to use for mailbox annotations.
+# Allowed values: skiplist, twoskip
+#
+#annotation_db: twoskip
+
+# The cyrusdb backend to use for the duplicate delivery suppression
+# and sieve.
+# Allowed values: skiplist, sql, twoskip
+#
+#duplicate_db: twoskip
+
+# The cyrusdb backend to use for the mailbox list.
+# Allowed values: skiplist, twoskip
+#
+#mboxlist_db: twoskip
+
+# The cyrusdb backend to use for the pts cache.
+# Allowed values: skiplist, twoskip
+#
+#ptscache_db: twoskip
+
+# The cyrusdb backend to use for the seen state.
+# Allowed values: flat, skiplist, twoskip
+#
+#seenstate_db: twoskip
+
+# The cyrusdb backend to use for the imap status cache.
+# Allowed values: skiplist, sql, twoskip
+#
+#statuscache_db: twoskip
+
+# The cyrusdb backend to use for the subscriptions list.
+# Allowed values: flat, skiplist, twoskip
+#
+#subscription_db: flat
+
+# Maximum SSF (security strength factor) that the server will allow a
+# client to negotiate.
+#
+#sasl_maximum_layer: 256
+
+# The minimum SSF that the server will allow a client to negotiate.  A
+# value of 1 requires integrity protection; any higher value requires
+# some amount of encryption.
+#
+#sasl_minimum_layer: 0
+
+# The mechanism used by the server to verify plaintext passwords.  Possible
+# values include "auxprop" or "saslauthd"
+#
+sasl_pwcheck_method: auxprop
+
+# If enabled,  the SASL library will automatically create authentication
+# secrets when given a plaintext password.  See the SASL documentation.
+#
+#sasl_auto_transition: no
+
+# Whitespace separated list of mechanisms to allow (e.g. 'plain otp').
+# Used to restrict the mechanisms to a subset of the installed
+# plugins. The default is all available.
+#
+#sasl_mech_list: cram-md5 digest-md5
+
+# Location of the opiekeys file
+#
+#sasl_opiekeys: /etc/opiekeys
+
+# File containing the global certificate used for ALL services (imap,
+# pop3, lmtp).
+#
+#tls_server_cert: <none>
+
+# File containing the private key belonging to the global server
+# certificate.
+#
+#tls_server_key: <none>
+
+# File containing one or more Certificate Authority (CA) certificates.
+#
+#tls_client_ca_file: <none>
+
+# Path to directory with certificates of CAs.
+#
+#tls_client_ca_dir: <none>
+
+# The cyrusdb backend to use for the TLS cache.
+# Allowed values: skiplist, sql, twoskip
+#
+#tls_sessions_db: twoskip
+
+# The length of time (in minutes) that a TLS session will be cached
+# for later reuse.  The maximum value is 1440 (24 hours), the default.
+# A value of 0 will disable session caching.
+#
+#tls_session_timeout: 1440
+
+# The right that a user needs to delete a mailbox.
+#
+#deleteright: c
+
+# Unix domain socket that lmtpd listens on, used by deliver(8).
+#
+#lmtpsocket: /var/imap/socket/lmtp
+
+# Unix domain socket that idled listens on.
+#
+#idlesocket: /var/imap/socket/idle
+
+# Unix domain socket that the new mail notification daemon listens on.
+#
+#notifysocket: /var/imap/socket/notify
+
+#
+# EOF
diff --git a/mail/cyrus-imapd34/files/imapd.in b/mail/cyrus-imapd34/files/imapd.in
new file mode 100644
index 000000000000..89e6c2ce8ea1
--- /dev/null
+++ b/mail/cyrus-imapd34/files/imapd.in
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# Start or stop cyrus-imapd
+
+# PROVIDE: cyrus_imapd imap
+# REQUIRE: DAEMON
+# BEFORE: mail
+# KEYWORD: shutdown
+
+# Define these cyrus_imapd_* variables in one of these files:
+#	/etc/rc.conf
+#	/etc/rc.conf.local
+#	/etc/rc.conf.d/cyrus_imapd
+#
+# DO NOT CHANGE THESE DEFAULT VALUES HERE
+#
+[ -z "$cyrus_imapd_enable" ] && cyrus_imapd_enable="NO"	# Enable imapd
+#cyrus_imapd_program="%%PREFIX%%/cyrus/libexec/master"	# Location of imapd
+[ -z "$cyrus_imapd_flags" ] && cyrus_imapd_flags="-d" # Flags to imapd program
+
+. /etc/rc.subr
+
+name="cyrus_imapd"
+rcvar=cyrus_imapd_enable
+command="%%PREFIX%%/cyrus/libexec/master"
+pidfile="/var/run/cyrus-master.pid"
+required_files="%%PREFIX%%/etc/cyrus.conf %%PREFIX%%/etc/imapd.conf"
+stop_postcmd="cyrus_imapd_poststop"
+extra_commands="reload"
+
+cyrus_imapd_poststop() {
+	/bin/rm -f ${pidfile}
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/mail/cyrus-imapd34/files/patch-Makefile.in b/mail/cyrus-imapd34/files/patch-Makefile.in
new file mode 100644
index 000000000000..2308f736fdf6
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-Makefile.in
@@ -0,0 +1,11 @@
+--- Makefile.in.orig	2020-06-22 03:08:46 UTC
++++ Makefile.in
+@@ -2348,7 +2348,7 @@ com_err_et_libcyrus_com_err_la_CFLAGS = $(AM_CFLAGS) $
+ # MD5 algorithms, without needing SSL.  Currently we have no way of
+ # minimally linking such code.
+ LD_BASIC_ADD = lib/libcyrus.la lib/libcyrus_min.la ${LIBS} \
+-	${LIB_SASL} $(SSL_LIBS) $(GCOV_LIBS)
++	${LIB_SASL} $(SSL_LIBS) $(GCOV_LIBS) -lm
+ 
+ 
+ # UTILITY is the libraries that utility programs which use Cyrus'
diff --git a/mail/cyrus-imapd34/files/patch-configure b/mail/cyrus-imapd34/files/patch-configure
new file mode 100644
index 000000000000..4d3deee12dcf
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-configure
@@ -0,0 +1,22 @@
+Index: configure
+diff -u configure.orig configure
+--- configure.orig	2010-10-18 21:36:00.000000000 +0900
++++ configure	2010-10-18 23:50:45.966557478 +0900
+@@ -9501,7 +9501,7 @@
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgssapi ${GSSAPIBASE_LIBS} -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET} $LIBS"
++LIBS="-lgssapi ${GSSAPIBASE_LIBS} -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET} -lhx509 $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+@@ -9803,7 +9803,7 @@
+     GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_LIBS $gssapi_dir/libgssapi_krb5.a $gssapi_dir/libkrb5.a $gssapi_dir/libk5crypto.a $gssapi_dir/libcom_err.a ${K5SUPSTATIC}"
+   elif test "$gss_impl" = "heimdal"; then
+     CPPFLAGS="$CPPFLAGS -DKRB5_HEIMDAL"
+-    GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err"
++    GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err -lhx509"
+     GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_STATIC_LIBS $gssapi_dir/libgssapi.a $gssapi_dir/libkrb5.a $gssapi_dir/libasn1.a $gssapi_dir/libroken.a $gssapi_dir/libcom_err.a ${LIB_CRYPT}"
+   elif test "$gss_impl" = "cybersafe03"; then
+ # Version of CyberSafe with two libraries
diff --git a/mail/cyrus-imapd34/files/patch-imap__http_client.h b/mail/cyrus-imapd34/files/patch-imap__http_client.h
new file mode 100644
index 000000000000..113854e9913d
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-imap__http_client.h
@@ -0,0 +1,11 @@
+--- imap/http_client.h.orig	2016-04-11 02:02:11 UTC
++++ imap/http_client.h
+@@ -57,7 +57,7 @@ struct body_t {
+     unsigned char framing;              /* Message framing   */
+     unsigned char te;                   /* Transfer-Encoding */
+     unsigned max;                       /* Max allowed len   */
+-    ulong len;                          /* Content-Length    */
++    unsigned long len;                  /* Content-Length    */
+     struct buf payload;                 /* Payload           */
+ };
+ 
diff --git a/mail/cyrus-imapd34/files/patch-imap__httpd.h b/mail/cyrus-imapd34/files/patch-imap__httpd.h
new file mode 100644
index 000000000000..f50f66fc0cdb
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-imap__httpd.h
@@ -0,0 +1,11 @@
+--- imap/httpd.h.orig	2016-04-11 02:02:11 UTC
++++ imap/httpd.h
+@@ -264,7 +264,7 @@ struct patch_doc_t {
+ 
+ /* Meta-data for response body (payload & representation headers) */
+ struct resp_body_t {
+-    ulong len;                          /* Content-Length   */
++    unsigned long len;                  /* Content-Length   */
+     struct range *range;                /* Content-Range    */
+     const char *fname;                  /* Content-Dispo    */
+     unsigned char enc;                  /* Content-Encoding */
diff --git a/mail/cyrus-imapd34/files/patch-imap__tls.c b/mail/cyrus-imapd34/files/patch-imap__tls.c
new file mode 100644
index 000000000000..cc43b5c26384
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-imap__tls.c
@@ -0,0 +1,22 @@
+--- imap/tls.c.orig	2018-04-30 02:05:44 UTC
++++ imap/tls.c
+@@ -734,7 +734,9 @@ EXPORTED int     tls_init_serverengine(c
+     off |= SSL_OP_ALL;            /* Work around all known bugs */
+     off |= SSL_OP_NO_SSLv2;       /* Disable insecure SSLv2 */
+     off |= SSL_OP_NO_SSLv3;       /* Disable insecure SSLv3 */
++#if defined(SSL_OP_NO_COMPRESSION)
+     off |= SSL_OP_NO_COMPRESSION; /* Disable TLS compression */
++#endif
+ 
+     const char *tls_versions = config_getstring(IMAPOPT_TLS_VERSIONS);
+ 
+@@ -1465,7 +1467,9 @@ HIDDEN int tls_init_clientengine(int ver
+     off |= SSL_OP_ALL;            /* Work around all known bugs */
+     off |= SSL_OP_NO_SSLv2;       /* Disable insecure SSLv2 */
+     off |= SSL_OP_NO_SSLv3;       /* Disable insecure SSLv3 */
++#if defined(SSL_OP_NO_COMPRESSION)
+     off |= SSL_OP_NO_COMPRESSION; /* Disable TLS compression */
++#endif
+ 
+     SSL_CTX_set_options(c_ctx, off);
+     SSL_CTX_set_info_callback(c_ctx, apps_ssl_info_callback);
diff --git a/mail/cyrus-imapd34/files/patch-imtest__imtest.c b/mail/cyrus-imapd34/files/patch-imtest__imtest.c
new file mode 100644
index 000000000000..0ae1041e4d5b
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-imtest__imtest.c
@@ -0,0 +1,12 @@
+--- imtest/imtest.c.orig	2015-11-30 06:30:33 UTC
++++ imtest/imtest.c
+@@ -503,7 +503,9 @@ static int tls_init_clientengine(int ver
+     off |= SSL_OP_ALL;            /* Work around all known bugs */
+     off |= SSL_OP_NO_SSLv2;       /* Disable insecure SSLv2 */
+     off |= SSL_OP_NO_SSLv3;       /* Disable insecure SSLv3 */
++#if defined(SSL_OP_NO_COMPRESSION)
+     off |= SSL_OP_NO_COMPRESSION; /* Disable TLS compression */
++#endif
+     SSL_CTX_set_options(tls_ctx, off);
+     SSL_CTX_set_info_callback(tls_ctx, apps_ssl_info_callback);
+     
diff --git a/mail/cyrus-imapd34/files/patch-lib__cyr_qsort_r.c b/mail/cyrus-imapd34/files/patch-lib__cyr_qsort_r.c
new file mode 100644
index 000000000000..536076a6a530
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-lib__cyr_qsort_r.c
@@ -0,0 +1,19 @@
+--- lib/cyr_qsort_r.c.orig	2019-12-04 02:17:01 UTC
++++ lib/cyr_qsort_r.c
+@@ -18,14 +18,14 @@ EXPORTED void cyr_qsort_r(void *base, size_t nmemb, si
+ // NOTE: this is kinda ugly, but it's OK if you're not multithreaded
+ 
+ static void *qsort_r_thunk;
+-static int (*qsort_r_compar)(const void *, const void *, void *);
++static int (*qsort_r_compar)QSORT_R_COMPAR_ARGS(const void *, const void *, void *);
+ static int qsort_r_compar_func(const void *a, const void *b)
+ {
+     return qsort_r_compar(a, b, qsort_r_thunk);
+ }
+ 
+ EXPORTED void cyr_qsort_r(void *base, size_t nmemb, size_t size,
+-                          int (*compar)(const void *, const void *, void *),
++                          int (*compar)QSORT_R_COMPAR_ARGS(const void *, const void *, void *),
+                           void *thunk)
+ {
+     qsort_r_thunk = thunk;
diff --git a/mail/cyrus-imapd34/files/patch-lib__imapoptions b/mail/cyrus-imapd34/files/patch-lib__imapoptions
new file mode 100644
index 000000000000..6fd98f52abd1
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-lib__imapoptions
@@ -0,0 +1,20 @@
+--- lib/imapoptions.orig	2020-02-06 22:38:20 UTC
++++ lib/imapoptions
+@@ -2230,7 +2230,7 @@ If all partitions are over that limit, this feature is
+ { "seenstate_db", "twoskip", STRINGLIST("flat", "skiplist", "twoskip", "zeroskip"), "3.1.6" }
+ /* The cyrusdb backend to use for the seen state. */
+ 
+-{ "sendmail", "/usr/lib/sendmail", STRING, "2.3.17" }
++{ "sendmail", "/usr/sbin/sendmail", STRING, "2.3.17" }
+ /* The pathname of the sendmail executable.  Sieve invokes sendmail
+    for sending rejections, redirects and vacation responses. */
+ 
+@@ -2363,7 +2363,7 @@ product version in the capabilities
+    For backward compatibility, if no unit is specified, seconds is
+    assumed. */
+ 
+-{ "sievedir", "/usr/sieve", STRING, "2.3.17" }
++{ "sievedir", "/var/imap/sieve", STRING, "2.3.17" }
+ /* If sieveusehomedir is false, this directory is searched for Sieve
+    scripts. */
+ 
diff --git a/mail/cyrus-imapd34/files/patch-lib__libcyr_cfg.c b/mail/cyrus-imapd34/files/patch-lib__libcyr_cfg.c
new file mode 100644
index 000000000000..5cbb64001209
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-lib__libcyr_cfg.c
@@ -0,0 +1,13 @@
+Index: lib/libcyr_cfg.c
+diff -u -p lib/libcyr_cfg.c.orig lib/libcyr_cfg.c
+--- lib/libcyr_cfg.c.orig	Wed Mar 10 00:05:58 2004
++++ lib/libcyr_cfg.c	Fri Feb 25 00:06:44 2005
+@@ -52,7 +52,7 @@
+ #include "libcyr_cfg.h"
+ #include "cyrusdb.h"
+ 
+-#if defined(__GNUC__) && __GNUC__ > 1
++#if defined(__GNUC__) && __GNUC__ > 1 && !defined(__INTEL_COMPILER)
+ /* We can use the GCC union constructor extension */
+ #define CFGVAL(t,v)	(union cyrus_config_value)((t)(v))
+ #else
diff --git a/mail/cyrus-imapd34/files/patch-lib_assert.h b/mail/cyrus-imapd34/files/patch-lib_assert.h
new file mode 100644
index 000000000000..28e06f17a2e7
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-lib_assert.h
@@ -0,0 +1,22 @@
+--- lib/assert.h.orig	2017-09-02 01:09:05 UTC
++++ lib/assert.h
+@@ -43,6 +43,10 @@
+ #ifndef INCLUDED_ASSERT_H
+ #define INCLUDED_ASSERT_H
+ 
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ #ifdef __STDC__
+ #define assert(ex)      {if (!(ex))assertionfailed(__FILE__, __LINE__, #ex);}
+ void assertionfailed(const char *file, int line, const char *expr);
+@@ -50,4 +54,8 @@ void assertionfailed(const char *file, i
+ #define assert(ex)      {if (!(ex))assertionfailed(__FILE__, __LINE__, (char*)0);}
+ #endif
+ 
++#ifdef __cplusplus
++}
++#endif
++
+ #endif /* INCLUDED_ASSERT_H */
diff --git a/mail/cyrus-imapd34/files/patch-tools__mkimap b/mail/cyrus-imapd34/files/patch-tools__mkimap
new file mode 100644
index 000000000000..9ee1539e3776
--- /dev/null
+++ b/mail/cyrus-imapd34/files/patch-tools__mkimap
@@ -0,0 +1,38 @@
+Index: tools/mkimap
+diff -u tools/mkimap.orig tools/mkimap
+--- tools/mkimap.orig	Fri Dec  2 07:30:22 2005
++++ tools/mkimap	Sat Dec 10 14:08:11 2005
+@@ -90,6 +90,9 @@
+ 
+ $imapdconf = shift || "/etc/imapd.conf";
+ 
++$cyrus_user = $ENV{CYRUS_USER} || "%%CYRUS_USER%%";
++$cyrus_group = $ENV{CYRUS_GROUP} || "%%CYRUS_GROUP%%";
++
+ push @configs, $imapdconf;
+ 
+ while ($conf = shift @configs) {
+@@ -100,6 +103,7 @@
+ 
+ print "configuring $d...\n";
+ 
++mkdir $d, 0755;
+ chdir $d or die "couldn't change to $d";
+ 
+ mkdir "proc", 0755 || warn "can't create $d/proc: $!";
+@@ -110,12 +114,15 @@
+ mkdir "ptclient", 0755 || warn "can't create $d/ptclient: $!";
+ mkdir "sync", 0755 || warn "can't create $d/sync: $!";
+ 
++system "/usr/sbin/chown -R $cyrus_user:$cyrus_group .";
++
+ while ($part = shift @parts) {
+     print "creating $part...\n";
+     mkdir $part, 0755 || warn "can't create $part: $!";
+     chdir $part or die "couldn't change to partition $part";
+     mkdir "stage.", 0755 || warn "can't create $part/stage.: $!";
+     mkdir "sync.", 0755 || warn "can't create $part/sync.: $!";
++    system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $part";
+ }
+ 
+ print "done\n";
diff --git a/mail/cyrus-imapd34/files/pkg-deinstall.in b/mail/cyrus-imapd34/files/pkg-deinstall.in
new file mode 100644
index 000000000000..e56484fd6b2b
--- /dev/null
+++ b/mail/cyrus-imapd34/files/pkg-deinstall.in
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Created by: hetzels@westbend.net
+
+#set -vx
+
*** 287 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104191417.13JEHWBU097451>