Index: head/mail/dovecot/Makefile =================================================================== --- head/mail/dovecot/Makefile (revision 506820) +++ head/mail/dovecot/Makefile (revision 506821) @@ -1,163 +1,163 @@ # Created by: Nagy, Attila # $FreeBSD$ ###################################################################### # Anytime PORTVERSION changes please bump PORTREVISION of # # mail/dovecot-pigeonhole. See ports/146029 for an explanation. # ###################################################################### PORTNAME= dovecot PORTVERSION= 2.3.7 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail ipv6 MASTER_SITES= https://dovecot.org/releases/2.3/ MAINTAINER= ler@FreeBSD.org COMMENT= Secure, fast and powerful IMAP and POP3 server LICENSE= LGPL21 MIT LICENSE_COMB= dual USES= cpe iconv libtool pkgconfig ssl USE_RC_SUBR= dovecot GNU_CONFIGURE= yes CONFIGURE_ARGS= --localstatedir=/var \ --with-statedir=/var/db/dovecot \ --without-shadow \ --with-ssl=openssl \ --with-docs USE_LDCONFIG= ${PREFIX}/lib/dovecot INSTALL_TARGET= install-strip USERS= dovecot dovenull GROUPS= ${USERS} CONFLICTS_INSTALL= dovecot22 OPTIONS_DEFINE= LIBSODIUM LIBWRAP LUA LZ4 VPOPMAIL DOCS EXAMPLES OPTIONS_DEFAULT=GSSAPI_NONE LIBWRAP OPTIONS_SUB= yes OPTIONS_GROUP= DB FTS OPTIONS_GROUP_DB= CDB LDAP MYSQL PGSQL SQLITE OPTIONS_GROUP_FTS= ICU LUCENE SOLR TEXTCAT OPTIONS_SINGLE= GSSAPI OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT LZ4_DESC= LZ4 compression support VPOPMAIL_DESC= vpopmail support DB_DESC= Database support CDB_DESC= CDB database support FTS_DESC= Full text search plugins ICU_DESC= Use libicu for FTS unicode normalization LUCENE_DESC= CLucene FTS support SOLR_DESC= Solr FTS support TEXTCAT_DESC= Libtextcat FTS support GSSAPI_NONE_DESC= Build without GSSAPI support GSSAPI_BASE_DESC= Use GSSAPI from base GSSAPI_HEIMDAL_DESC= Use Heimdal GSSAPI from security/heimdal GSSAPI_MIT_DESC= Use MIT GSSAPI from security/krb5 # General options LIBSODIUM_DESC= support libsodium based crypts (ARGON2I/ARGON2ID) LIBSODIUM_LIB_DEPENDS= libsodium.so:security/libsodium LIBSODIUM_CONFIGURE_WITH= sodium LIBWRAP_CONFIGURE_WITH= libwrap LUA_CONFIGURE_WITH= lua LUA_USES= lua LZ4_CONFIGURE_WITH= lz4 LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4 VPOPMAIL_BUILD_DEPENDS= vpopmail>=0:mail/vpopmail VPOPMAIL_CONFIGURE_WITH=vpopmail # Databases CDB_CONFIGURE_WITH= cdb CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb LDAP_USE= OPENLDAP=yes LDAP_CONFIGURE_WITH= ldap MYSQL_USES= mysql MYSQL_CONFIGURE_WITH= mysql PGSQL_USES= pgsql PGSQL_CONFIGURE_WITH= pgsql SQLITE_USES= sqlite SQLITE_CONFIGURE_WITH= sqlite # FTS ICU_CONFIGURE_WITH= icu ICU_LIB_DEPENDS= libicui18n.so:devel/icu LUCENE_CONFIGURE_WITH= lucene LUCENE_LIB_DEPENDS= libclucene-core.so:textproc/clucene SOLR_CONFIGURE_WITH= solr SOLR_LIB_DEPENDS= libcurl.so:ftp/curl \ libexpat.so:textproc/expat2 TEXTCAT_CONFIGURE_WITH= textcat TEXTCAT_LIB_DEPENDS= libtextcat.so:textproc/libtextcat # GSSAPI GSSAPI_NONE_CONFIGURE_ON= --without-gssapi GSSAPI_NONE_CONFIGURE_OFF= --with-gssapi ${GSSAPI_CONFIGURE_ARGS} GSSAPI_BASE_USES= gssapi GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_MIT_USES= gssapi:mit DOCS= AUTHORS COPYING INSTALL NEWS TODO README PORTDOCS= * PORTEXAMPLES= * # Default requirement for dovecot rc script _REQUIRE= LOGIN LDAP_VARS= _REQUIRE+=slapd MYSQL_VARS= _REQUIRE+=mysql PGSQL_VARS= _REQUIRE+=postgresql SUB_LIST+= REQUIRE="${_REQUIRE}" SUB_FILES+= pkg-message CPPFLAGS+= -I${LOCALBASE}/include -I${OPENSSLINC} LDFLAGS+= -L${LOCALBASE}/lib -L${OPENSSLLIB} post-patch: @${REINPLACE_CMD} -e 's,/etc/dovecot,${PREFIX}/etc/dovecot,g; \ s,sysconfdir=/etc,sysconfdir=${PREFIX}/etc,g' \ ${WRKSRC}/doc/example-config/*.conf ${WRKSRC}/doc/example-config/conf.d/* @${REINPLACE_CMD} -e '/^LIBS =/s/$$/ @LTLIBICONV@/' \ ${WRKSRC}/src/lib-mail/Makefile.in # Install the sample config files into ETCDIR/example-config/ @${REINPLACE_CMD} -e '/^exampledir =/s|\$$(docdir)|${ETCDIR}|' \ ${WRKSRC}/doc/example-config/Makefile.in \ ${WRKSRC}/doc/example-config/conf.d/Makefile.in @${REINPLACE_CMD} -e 's|/usr/bin|${LOCALBASE}/bin|' \ ${WRKSRC}/src/plugins/fts/decode2text.sh post-patch-LUA-on: @${REINPLACE_CMD} -e '/^libdovecot_lua_la_DEPENDENCIES =/ s|LUA_LIBS|true|' \ ${WRKSRC}/src/lib-lua/Makefile.in post-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${MV} ${STAGEDIR}${DOCSDIR}/dovecot-openssl.cnf ${STAGEDIR}${EXAMPLESDIR} ${MV} ${STAGEDIR}${DOCSDIR}/mkcert.sh ${STAGEDIR}${EXAMPLESDIR} post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}) .include Index: head/mail/dovecot/files/patch-src_lib_ostream-file.c =================================================================== --- head/mail/dovecot/files/patch-src_lib_ostream-file.c (revision 506820) +++ head/mail/dovecot/files/patch-src_lib_ostream-file.c (revision 506821) @@ -1,11 +1,29 @@ ---- src/lib/ostream-file.c.orig 2019-07-12 19:18:41 UTC +--- src/lib/ostream-file.c.orig 2019-07-12 19:19:37 UTC +++ src/lib/ostream-file.c -@@ -334,7 +334,7 @@ static void o_stream_tcp_flush_via_nodelay(struct file +@@ -333,17 +333,17 @@ static int buffer_flush(struct file_ostream *fstream) + static void o_stream_tcp_flush_via_nodelay(struct file_ostream *fstream) { if (net_set_tcp_nodelay(fstream->fd, TRUE) < 0) { - if (errno != ENOTSUP && errno != ENOTSOCK && -- errno != ENOPROTOOPT) { -+ errno != ENOPROTOOPT && errno != EINVAL) { - i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m", - o_stream_get_name(&fstream->ostream.ostream)); - } +- if (errno != ENOTSUP && errno != ENOTSOCK && +- errno != ENOPROTOOPT && errno != EINVAL) { +- i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m", +- o_stream_get_name(&fstream->ostream.ostream)); +- } ++ /* Don't bother logging errors. There are quite a lot of ++ different errors that need to be ignored, and it differs ++ between OSes. At least: ++ Linux: ENOTSUP, ENOTSOCK, ENOPROTOOPT ++ FreeBSD: EINVAL, ECONNRESET */ + fstream->no_socket_nodelay = TRUE; + } else if (net_set_tcp_nodelay(fstream->fd, FALSE) < 0) { +- /* We already successfully enabled TCP_NODELAY, so we're really +- not expecting any errors here. */ +- i_error("file_ostream.net_set_tcp_nodelay(%s, FALSE) failed: %m", +- o_stream_get_name(&fstream->ostream.ostream)); ++ /* We already successfully enabled TCP_NODELAY, so there ++ shouldn't really be errors. Except ECONNRESET can possibly ++ still happen between these two calls, so again don't log ++ errors. */ + fstream->no_socket_nodelay = TRUE; + } + }