See <http://build.squid-cache.org/job/3.2-matrix/./label=obsd-49-x86/220/changes>
Changes: [Amos Jeffries] Translations: Sync with 3.HEAD [Amos Jeffries] Bug 3503: DNS PTR queries timeout due to wrong QIDs. Supply query ID (rather than zero) to rfc3596BuildPTRQuery*() calls. This code was broken since trunk r11015 "Fixed DNS query leaks and increased defense against DNS cache poisoning" dated 2010-11-03. [Amos Jeffries] Regression: snmp/udp address directives not resolving hostname [Amos Jeffries] Better helper-to-Squid buffer size management. The minimum buffer size is reduced from 8KB to 4KB after a squid-dev discussion to prevent wasting of "several hundred KB of unused permanent memory on some installations". We now increase the buffer if we cannot parse the helper response message. The maximum buffer size is now 32KB. This should be enough for all known helper responses. We now warn if the read buffer reaches its capacity and kill the offending helper explicitly. An increase in maximum buffer capacity to 32KB should make such events rare. Motivation: ssl_crtd helper may produce responses exceeding 9907 bytes in size (and possibly much larger if multiple chained certificates need to be returned to Squid). The old helper.cc code would fill the read buffer completely, schedule a read for zero bytes, receive zero bytes, declare an EOF condition, and close the stream (which kills ssl_crtd). Due to insufficient information logged, the observable symptoms were pretty much the same as if ssl_crtd closed the stream first, indicating a ssl_crtd bug. [Amos Jeffries] Bug 3502: client timeout uses server-side read_timeout, not request_timeout Also adjusts request_timeout description in squid.conf to clarify that request_timeout applies to receiving complete HTTP request headers and not just the first header byte or body. We reset the connection timeout to clientLifetimeTimeout after parsing request headers. https_port was correctly using Config.Timeout.request already. [Amos Jeffries] Bug 3497: Bad ssl_crtd db size file causes infinite loop The db size file may become empty when Squid runs out of disk space. Ignoring db size reading errors led to bogus db sizes used as looping condition. This fix honors reading errors and also terminates the loop when no more certificates can be removed. Both errors and removal failure are fatal to ssl_crtd. A positive side-effect of this fix is one less call to the relatively expensive file-reading size()/readSize() methods under normal conditions. I also removed "minimum db size" check because it did not seem to be in sync with other ssl_crtd parameters such as fs block size and because its overall purpose was unclear. The check was also removed by the original bug reporter. TODO: Remaining problems include: ssl_crtd should not exit just because it cannot write something to disk. A proper reporting/debugging API is missing. [Amos Jeffries] Log '-' on requests with no Referer or User-Agent headers This data is actually meaningful for the analysis of client behaviour. squid-dev have agreed that it is worth removing the old log behaviour of omitting these entries. [Amos Jeffries] Fix IPv6 site-local IP detection RFC 4193 the site-local allocated range is fc00::/7. Squid has been using IN6_IS_ADDR_SITELOCAL() but it turns out Linux and OpenBSD at least still define that to test for the long obsolete fec0::/10. [Amos Jeffries] Bug 3490: Crash writing Apache Common and Referer/Username logs [Amos Jeffries] Bug 3381: 32-bit overflow assertion in StatHist - StatHist refactoring - StatCounters untangling from global symbol table - Added StatHist unit tests, and moved algorithm consistency checks there. - Expanded storage for histograms to 64-bit unsigned. (bug 3381) - Inlined StatHist constructor, destructor and assignment operator. - added protection against self-assignment - Implemented stubs for StatHist.cc and mem.cc ------------------------------------------ [...truncated 15035 lines...] checking for OpenLDAP... no checking for Sun LDAP SDK... no checking for Mozilla LDAP SDK... no checking for LDAP_REBINDPROC_CALLBACK... no checking for LDAP_REBIND_PROC... no checking for LDAP_REBIND_FUNCTION... no checking for LDAP_SCOPE_DEFAULT... no checking for struct ldap_url_desc.lud_scheme... no checking for ldapssl_client_init in -lldap... no checking for ldap_url_desc2str in -lldap... no checking for ldap_url_parse in -lldap... no checking for ldap_start_tls_s in -lldap... no checking whether dbopen is declared... yes checking if dbopen needs -ldb... ../configure: dbopen_libdb_krb5-config=krb5-config: not found no checking for backtrace_symbols_fd... no checking for bcopy... yes checking for bswap_16... no checking for bswap_32... no checking for bswap16... no checking for bswap32... no checking for fchmod... yes checking for getdtablesize... yes checking for getpagesize... yes checking for getpass... yes checking for getrlimit... yes checking for getrusage... yes checking for getspnam... no checking for gettimeofday... yes checking for glob... yes checking for htobe16... no checking for htole16... no checking for kqueue... yes checking for lrand48... yes checking for mallinfo... no checking for mallocblksize... no checking for mallopt... no checking for memcpy... yes checking for memmove... yes checking for memset... yes checking for mkstemp... yes checking for mktime... yes checking for mstats... no checking for poll... yes checking for prctl... no checking for pthread_attr_setschedparam... no checking for pthread_attr_setscope... no checking for pthread_setschedparam... no checking for pthread_sigmask... no checking for putenv... yes checking for random... yes checking for regcomp... yes checking for regexec... yes checking for regfree... yes checking for res_init... yes checking for __res_init... no checking for rint... yes checking for sbrk... yes checking for sched_getaffinity... no checking for sched_setaffinity... no checking for select... yes checking for seteuid... yes checking for setgroups... yes checking for setpgrp... yes checking for setrlimit... yes checking for setsid... yes checking for sigaction... yes checking for snprintf... yes checking for socketpair... yes checking for srand48... yes checking for srandom... yes checking for statfs... yes checking for sysconf... yes checking for syslog... yes checking for timegm... yes checking for vsnprintf... yes checking for drand48... yes checking for eui64_aton... no checking for inet_ntop... yes checking for inet_pton... yes checking for initgroups... yes checking for getaddrinfo... yes checking for getnameinfo... yes checking for psignal... yes checking for strerror... yes checking for strsep... yes checking for strtoll... yes checking for tempnam... yes configure: choosing user-specified net I/O API poll configure: Using poll for the IO loop. checking if setresuid is actually implemented... no checking if strnstr is well implemented... no checking if va_copy is implemented... yes checking if __va_copy is implemented... yes configure: IPF-based transparent proxying enabled: no configure: Support for Netfilter-based interception proxy requested: no configure: Linux Netfilter Conntrack support enabled: no configure: ZPH QOS enabled: yes configure: QOS netfilter mark preservation enabled: no checking for regexec in -lregex... no checking if GNUregex needs to be compiled... yes checking Default UDP send buffer size... 9216 checking Default UDP receive buffer size... 41600 checking Default TCP send buffer size... 16384 checking Default TCP receive buffer size... 16384 checking if sys_errlist is already defined... yes checking for system-provided MAXPATHLEN... yes checking for working statvfs() interface... yes checking whether po2html executable path has been provided... no checking for po2html... no checking whether po2txt executable path has been provided... no checking for po2txt... no configure: Multi-Language support enabled: yes configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: -D_FILE_OFFSET_BITS=64 -Wall configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -D_FILE_OFFSET_BITS=64 configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT configure: creating ./config.status config.status: creating Makefile config.status: creating compat/Makefile config.status: creating lib/Makefile config.status: creating lib/ntlmauth/Makefile config.status: creating lib/profiler/Makefile config.status: creating lib/rfcnb/Makefile config.status: creating lib/smblib/Makefile config.status: creating scripts/Makefile config.status: creating src/Makefile config.status: creating src/anyp/Makefile config.status: creating src/base/Makefile config.status: creating src/acl/Makefile config.status: creating src/fs/Makefile config.status: creating src/repl/Makefile config.status: creating src/auth/Makefile config.status: creating src/auth/basic/Makefile config.status: creating src/auth/digest/Makefile config.status: creating src/auth/negotiate/Makefile config.status: creating src/auth/ntlm/Makefile config.status: creating src/adaptation/Makefile config.status: creating src/adaptation/icap/Makefile config.status: creating src/adaptation/ecap/Makefile config.status: creating src/comm/Makefile config.status: creating src/esi/Makefile config.status: creating src/eui/Makefile config.status: creating src/format/Makefile config.status: creating src/icmp/Makefile config.status: creating src/ident/Makefile config.status: creating src/ip/Makefile config.status: creating src/log/Makefile config.status: creating src/ipc/Makefile config.status: creating src/ssl/Makefile config.status: creating src/mgr/Makefile config.status: creating src/snmp/Makefile config.status: creating contrib/Makefile config.status: creating snmplib/Makefile config.status: creating icons/Makefile config.status: creating errors/Makefile config.status: creating test-suite/Makefile config.status: creating doc/Makefile config.status: creating doc/manuals/Makefile config.status: creating helpers/Makefile config.status: creating helpers/basic_auth/Makefile config.status: creating helpers/basic_auth/DB/Makefile config.status: creating helpers/basic_auth/fake/Makefile config.status: creating helpers/basic_auth/getpwnam/Makefile config.status: creating helpers/basic_auth/LDAP/Makefile config.status: creating helpers/basic_auth/MSNT/Makefile config.status: creating helpers/basic_auth/MSNT-multi-domain/Makefile config.status: creating helpers/basic_auth/NCSA/Makefile config.status: creating helpers/basic_auth/NIS/Makefile config.status: creating helpers/basic_auth/PAM/Makefile config.status: creating helpers/basic_auth/POP3/Makefile config.status: creating helpers/basic_auth/RADIUS/Makefile config.status: creating helpers/basic_auth/SASL/Makefile config.status: creating helpers/basic_auth/SMB/Makefile config.status: creating helpers/basic_auth/SSPI/Makefile config.status: creating helpers/digest_auth/Makefile config.status: creating helpers/digest_auth/eDirectory/Makefile config.status: creating helpers/digest_auth/file/Makefile config.status: creating helpers/digest_auth/LDAP/Makefile config.status: creating helpers/ntlm_auth/Makefile config.status: creating helpers/ntlm_auth/fake/Makefile config.status: creating helpers/ntlm_auth/smb_lm/Makefile config.status: creating helpers/ntlm_auth/SSPI/Makefile config.status: creating helpers/negotiate_auth/Makefile config.status: creating helpers/negotiate_auth/kerberos/Makefile config.status: creating helpers/negotiate_auth/SSPI/Makefile config.status: creating helpers/negotiate_auth/wrapper/Makefile config.status: creating helpers/external_acl/Makefile config.status: creating helpers/external_acl/AD_group/Makefile config.status: creating helpers/external_acl/eDirectory_userip/Makefile config.status: creating helpers/external_acl/file_userip/Makefile config.status: creating helpers/external_acl/kerberos_ldap_group/Makefile config.status: creating helpers/external_acl/LDAP_group/Makefile config.status: creating helpers/external_acl/LM_group/Makefile config.status: creating helpers/external_acl/session/Makefile config.status: creating helpers/external_acl/unix_group/Makefile config.status: creating helpers/external_acl/wbinfo_group/Makefile config.status: creating helpers/log_daemon/Makefile config.status: creating helpers/log_daemon/file/Makefile config.status: creating helpers/url_rewrite/Makefile config.status: creating helpers/url_rewrite/fake/Makefile config.status: creating tools/Makefile config.status: creating tools/purge/Makefile config.status: creating include/autoconf.h config.status: executing depfiles commands config.status: executing libtool commands ../configure[33802]: pwd: can't get current directory - Permission denied ../configure[33802]: pwd: can't get current directory - Permission denied === configuring in libltdl (/libltdl) ../configure[33802]: cd: <http://build.squid-cache.org/job/3.2-matrix/./label=obsd-49-x86/ws/btlayer-02-maximus/squid-3.2.0.15-BZR/_build/libltdl> - Permission denied configure: WARNING: no configuration information is in libltdl ../configure[33802]: cd: <http://build.squid-cache.org/job/3.2-matrix/./label=obsd-49-x86/ws/btlayer-02-maximus/squid-3.2.0.15-BZR/_build> - Permission denied ../configure[33802]: pwd: can't get current directory - Permission denied === configuring in lib/libTrie (/lib/libTrie) ../configure[33802]: cd: <http://build.squid-cache.org/job/3.2-matrix/./label=obsd-49-x86/ws/btlayer-02-maximus/squid-3.2.0.15-BZR/_build/lib/libTrie> - Permission denied configure: running /bin/sh ../../../lib/libTrie/configure --disable-option-checking '--prefix=<http://build.squid-cache.org/job/3.2-matrix/./label=obsd-49-x86/ws/btlayer-02-maximus/squid-3.2.0.15-BZR/_inst'> '--enable-loadable-modules' '--enable-gnuregex' '--enable-optimizations' '--enable-inline' '--enable-debug-cbdata' '--enable-xmalloc-statistics' '--enable-async-io' '--enable-storeio' '--enable-disk-io' '--enable-removal-policies' '--enable-icmp' '--enable-delay-pools' '--enable-icap-client' '--enable-useragent-log' '--enable-referer-log' '--enable-wccp' '--enable-wccpv2' '--enable-kill-parent-hack' '--enable-snmp' '--enable-cachemgr-hostname' '--enable-eui' '--enable-htcp' '--enable-ssl' '--enable-forw-via-db' '--enable-cache-digests' '--enable-poll' '--enable-select' '--enable-http-violations' '--enable-ipfw-transparent' '--enable-leakfinder' '--enable-follow-x-forwarded-for' '--enable-ident-lookups' '--enable-internal-dns' '--enable-default-hostsfile' '--enable-auth' '--enable-basic-auth-helpers' '--enable-ntlm-auth-helpers' '--enable-negotiate-auth-helpers' '--enable-digest-auth-helpers' '--enable-ntlm-fail-open' '--enable-external-acl-helpers' '--enable-url-rewrite-helpers' '--enable-mempools' '--enable-unlinkd' '--enable-stacktraces' '--enable-vary' '--enable-x-accelerator-vary' '--enable-ipv6' '--enable-auto-locale' '--enable-translation' '--enable-zph-qos' '--enable-esi' '--with-aio' '--with-build-environment=default' '--with-dl' '--with-dns-cname' '--with-gnu-ld' '--with-ipv6-split-stack' '--with-large-files' '--with-pic' '--with-pthreads' '--enable-build-info=squid test build' 'CC=ccache gcc' 'CFLAGS=' 'CXX=ccache g++' 'CXXFLAGS=' '--enable-ltdl-convenience' --cache-file=/dev/null --srcdir=../../../lib/libTrie ../../../lib/libTrie/configure[1250]: pwd: can't get current directory - Permission denied configure: error: working directory cannot be determined configure: error: ../../../lib/libTrie/configure failed for lib/libTrie *** Error code 1 Stop in <http://build.squid-cache.org/job/3.2-matrix/./label=obsd-49-x86/ws/btlayer-02-maximus> (line 667 of Makefile). buildtest.sh result is 1 BUILD: .././test-suite/buildtests/layer-02-maximus.opts configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: -D_FILE_OFFSET_BITS=64 -Wall configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -D_FILE_OFFSET_BITS=64 configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: -D_FILE_OFFSET_BITS=64 -Wall configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -D_FILE_OFFSET_BITS=64 configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT configure: error: working directory cannot be determined configure: error: ../../../lib/libTrie/configure failed for lib/libTrie *** Error code 1 Build FAILED. Build step 'Execute shell' marked build as failure