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 },