From: Joris Dedieu Date: Fri, 12 Jun 2015 23:05:11 +0000 (+0200) Subject: BUG/MEDIUM: compat: fix segfault on FreeBSD X-Git-Tag: v1.6-dev2~26 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=9dd44ba5d672883a45f2dd9f715d3910b52fe941;p=haproxy-2.1.git BUG/MEDIUM: compat: fix segfault on FreeBSD Since commit 65d805fd witch removes standard.h from compat.h some values were not properly set on FreeBSD. This caused a segfault at startup when smp_resolve_args is called. As FreeBSD have IP_BINDANY, CONFIG_HAP_TRANSPARENT is define. This cause struct conn_src to be extended with some fields. The size of this structure was incorrect. Including netinet/in.h fix this issue. While diving in code preprocessing, I found that limits.h was require to properly set MAX_HOSTNAME_LEN, ULONG_MAX, USHRT_MAX and others system limits on FreeBSD. --- diff --git a/include/common/compat.h b/include/common/compat.h index ecbc3b1..07dd01d 100644 --- a/include/common/compat.h +++ b/include/common/compat.h @@ -22,11 +22,13 @@ #ifndef _COMMON_COMPAT_H #define _COMMON_COMPAT_H +#include /* This is needed on Linux for Netfilter includes */ #include #include #include #include +#include #ifndef BITS_PER_INT #define BITS_PER_INT (8*sizeof(int))