Dovecot 2.3.9 fails on FreeBSD

Josef 'Jeff' Sipek jeff.sipek at open-xchange.com
Wed Dec 4 19:28:52 EET 2019


On Wed, Dec 04, 2019 at 12:19:35 -0500, Josef 'Jeff' Sipek via dovecot wrote:
> On Wed, Dec 04, 2019 at 18:06:58 +0100, Pascal Christen via dovecot wrote:
> > Hi
> > 
> > I've just tried to build the latest Dovecot 2.3.9 on FreeBSD 11.3.
> > Without success...It fails on the following commit which was introduced
> > in 2.3.9:
> > https://github.com/dovecot/core/commit/c85f1bc3ce612c736c9d2c468cc08306db1b5851
> > 
> > Following output is the build log: https://pastebin.com/3nvSeDn8
> > 
> > So I guess it has to do with some changes FreeBSD made:
> > https://reviews.freebsd.org/D18630
> 
> As far as I can tell, dovecot should be checking for the existence of
> EAI_ADDRFAMILY and EAI_NODATA.
> 
> The good news is, a quick workaround is to remove the two lines that use
> these two constants.  (A correct patch would do the proper checks.)

Ok.  That was easy.  I'm going to get the following patch reviewed and
committed.

Jeff.

diff --git a/src/lib/net.c b/src/lib/net.c
--- a/src/lib/net.c
+++ b/src/lib/net.c
@@ -1068,13 +1068,17 @@ enum net_hosterror_type net_get_hosterro
 		int error;
 		enum net_hosterror_type type;
 	} error_map[] = {
+#ifdef EAI_ADDRFAIMILY /* Obsoleted by RFC 2553bis-02 */
 		{ EAI_ADDRFAMILY, NET_HOSTERROR_TYPE_NOT_FOUND },
+#endif
 		{ EAI_AGAIN, NET_HOSTERROR_TYPE_NAMESERVER },
 		{ EAI_BADFLAGS, NET_HOSTERROR_TYPE_INTERNAL_ERROR },
 		{ EAI_FAIL, NET_HOSTERROR_TYPE_NAMESERVER },
 		{ EAI_FAMILY, NET_HOSTERROR_TYPE_INTERNAL_ERROR },
 		{ EAI_MEMORY, NET_HOSTERROR_TYPE_INTERNAL_ERROR },
+#ifdef EAI_NODATA /* Obsoleted by RFC 2553bis-02 */
 		{ EAI_NODATA, NET_HOSTERROR_TYPE_NOT_FOUND },
+#endif
 		{ EAI_NONAME, NET_HOSTERROR_TYPE_NOT_FOUND },
 		{ EAI_SERVICE, NET_HOSTERROR_TYPE_INTERNAL_ERROR },
 		{ EAI_SOCKTYPE, NET_HOSTERROR_TYPE_INTERNAL_ERROR },


More information about the dovecot mailing list