Fix "address.GetPort() != 0" assertion for helpers on FreeBSD (at least). The order (or set of?) #include files used by src/ssl/helper.cc (and probably by other helper source files) has changed in v3.3, exposing a defines.h dependency on sys/socket.h where that system header is required to define AF_UNIX. With AF_UNIX incorrectly undefined, IPC_STREAM was set to IPC_TCP_SOCKET instead of IPC_UNIX_STREAM, and helpers that do not have a notion of a listening port, were trying to create communication sockets using TCP streams, triggering a "must have a port" assertion in comm_connect_addr() called from ipcCreate(). TODO: Moving IPC_* defines into an IPC-specific header file may be a better solution then exposing all defines.h users to sys/socket.h. diff -ur squid-3.3.0.2-virgin/src/defines.h squid-3.3.0.2-patched/src/defines.h --- squid-3.3.0.2-virgin/src/defines.h 2012-12-02 01:30:11.000000000 -0700 +++ squid-3.3.0.2-patched/src/defines.h 2013-01-09 04:00:28.000000000 -0700 @@ -30,6 +30,11 @@ #ifndef SQUID_DEFINES_H #define SQUID_DEFINES_H +/* required for AF_UNIX to be defined [on FreeBSD] */ +#if HAVE_SYS_SOCKET_H +#include +#endif + #ifndef TRUE #define TRUE 1 #endif