See <http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/167/changes>
Changes: [Amos Jeffries <squ...@treenet.co.nz>] Author: Marko <mr_...@yahoo.com> Bug 2496: Downloading some variants in full before relaying AKA, assertion failed: comm.cc:115: "ccb->active == false" if the client disconnected before download finished arriving. [Amos Jeffries <squ...@treenet.co.nz>] Author: Graham Keeling <gra...@equiinet.com> WCCPv1 not connecting to router correctly I am coming across a problem with WCCPv1... squid-2.5 connects to UDP port 2048, I get replies, and everything else then works. squid-3.1 looks like it is trying to connect to UDP port 0 on the cisco. [and fails to work] I have looked at the src/wccp.c for squid-2.5, and it is clear that the port is being set to 2048 for the connection to the router. I have also looked at the source for 2.6, 2.7 and 3.0 (src/wccp.cc for this version). In all those, it appears to be setting the port on the outgoing connection. However, in the 3.1 source, it doesn't. [Alex Rousskov <rouss...@measurement-factory.com>] Polished %>ha description. [Amos Jeffries <squ...@treenet.co.nz>] Releas notes for %ha option [Amos Jeffries <squ...@treenet.co.nz>] Author: Frank Schmirler <sq...@schmirler.de> Bug 2851: Connection pinning fails when using a peer [Christos Tsantilas <chtsa...@users.sourceforge.net>] Change the "virgin" term to "original". virgin has a sexual connotation in some cultures, and can be confusing in a way that is avoidable. [Automatic source maintenance <squid...@squid-cache.org>] SourceFormat Enforcement [Christos Tsantilas <chtsa...@users.sourceforge.net>] Add the http::>ha format code and make http::>h log virgin request headers This patch: - Modify the existin "http::>h format code to log HTTP request headers before any adaptation and redirection - Add the new format code "http::>ha" which allow the user to log HTTP request header or header fields after adaptation and redirection. This is a Measurement Factory project. [Amos Jeffries <squ...@treenet.co.nz>] Display cache_peer name option in CacheMgr config [Automatic source maintenance <squid...@squid-cache.org>] SourceFormat Enforcement [Amos Jeffries <squ...@treenet.co.nz>] Author: Michael van Elst Use POSIX tests for IPv6 address detections. [Automatic source maintenance <squid...@squid-cache.org>] SourceFormat Enforcement [Amos Jeffries <squ...@treenet.co.nz>] Bug 2553: X-Forwarded-For with IPv6 address not handled correctly Also, remove the port from consideration. It is meaningless on indirect client address. [Amos Jeffries <squ...@treenet.co.nz>] Fix build errors when XFF compounds with other features Some squid.conf options require XFF and other component wrappers to build properly. This fixes ICAP and Delay Pools clash which appeared in testing. Other multiple-component wrapping can be done in identical fashion [Amos Jeffries <squ...@treenet.co.nz>] Author: Wolfgang Nothdurft <wolfg...@linogate.de> Bug 2731: Add follow_x_forwarded_for support to ICAP Pass the indirect client address to the ICAP server using X-Client-IP. [Amos Jeffries <squ...@treenet.co.nz>] Author: Wolfgang Nothdurft <wolfg...@linogate.de> Bug 2730: Regressions in follow_x_forwarded_for since Squid-2 Two Major Regressions: * Omitted testing for trust of the directly connecting client. this is critical is trusting the header content itself. The absence permitted remote clients to forge X-Forwarded-For and gain access to resources through Squid. (mitigated by the following) * Bad logic in implementing the trust model resulted in any XFF headers containing untrusted IPs to be dropped in their entirety. This resulted in clients transiting more than one proxy heirarchy to be incorrectly logged and reported in the second. Some polish alterations to the existing logics: * Testing the direct client address for trust means the testing must be fully async 'slow'. Thus avoiding the memory leaks found on occasion. * acl_uses_indirect_client is not strictly needed to test multiple levels of X-Forwarded-For properly. The entire list of IPs are now always tested until on untrusted is found or an ACL failure occurs. [Amos Jeffries <squ...@treenet.co.nz>] More portable rfc1035 unit test [Amos Jeffries <squ...@treenet.co.nz>] Add warnings explaining Invalid Response errors generated by Squid [Amos Jeffries <squ...@treenet.co.nz>] Bump AIO debug sync message down a level [Amos Jeffries <squ...@treenet.co.nz>] Typo in configure EUI description [Amos Jeffries <squ...@treenet.co.nz>] Author: Various Translators ErrPage Updates: Romanian and some Turkish [Amos Jeffries <squ...@treenet.co.nz>] Limit language negotiation to bundled error pages [Amos Jeffries <squ...@treenet.co.nz>] Handle DNS header-only packets as invalid. [Amos Jeffries <squ...@treenet.co.nz>] Bug 2811: SNMP client table renumbering Bump the client table to version 2 for new IP address formatting. * Also polishes the OID debug display a little bit. [Automatic source maintenance <squid...@squid-cache.org>] SourceFormat Enforcement [Amos Jeffries <squ...@treenet.co.nz>] Fix build errors in PAM auth on Linux [Automatic source maintenance <squid...@squid-cache.org>] SourceFormat Enforcement [Amos Jeffries <squ...@treenet.co.nz>] Language Updates: manuals - more polish. * Fix some typos and omitted polish from earlier. Uncovered by Rosetta translators. [Amos Jeffries <squ...@treenet.co.nz>] Fix typo moving squid.8.in [Amos Jeffries <squ...@treenet.co.nz>] Full re-working of the way AcceptFD are handled in Squid Previously: a pre-defined fdc_table was initialized and left waiting just in case any of the available FD were needed as a listening port. At which point a handler was assigned and select was setup. Much action was wasted initializing the array on startup and shutdown, and various unnecessary maintenance references in comms every FD closure. Now: one merely opens a socket, defines the AsyncCall handler for the listening FD and creates a ListenStateData object from the two. When a listener socket is done with, delete the ListenStateData and the FD gets closed. Callers are responsible for maintaining a pointer to the ListenStateData. ListenStateData silently does all the comm processing for setting up and watching for new connections. Including whether accept() on a port is delayed until more FD are available. Then when any accept() is completed it sends the resulting FD and ConnectionDetails objects to the assigned callback. COMM_ERR_CLOSING and re-scheduling themselves is now not generally relevant to layers higher than comm on listening sockets. The callbacks never get called at all unless a real new connection has been accepted. The old code is still used internally by the comm layer, but details of error handling and re-scheduling of accept() never leak out into higher level code now. ListenStateData can be created in use-once or accept-many form. * use-once are intended for short temporary listening sockets such as FTP passive data links. A single inbound connection is allowed after which the handler self-destructs. * accept-many are for long term FD such as the http_port listeners which continuously accept new connections and pass them all to the same handler until something causes the ListenStateData to die (deletion, or self destruct under fatal socket IO errors). The previous existing AcceptLimiter is slightly remodeled to work with ListenStateData* instead of an intermediary callback reference type. And also altered from LIFO to FIFO behavior for better client response times under load. All the code relevant to comm layer processing of accept() is bundled into libcomm-listener.la. TODO: * wrap the SSL handshake into ListenStateData. That way SSL on some sockets can be treated as a real transport layer and for example httpsAccept and httpAccept merged into one function. * there is one bug uncovered, that when the accept() handler is deleted and the port closed while it has been deferred. The deferred queue needs to be cleared of all (multiple) deferral events, or they will be scheduled uselessly and may segfault with FD errors. This only gets hit if Squid is shutdown during active load limiting. [Amos Jeffries <squ...@treenet.co.nz>] Language Updates: More manuals polished [Amos Jeffries <squ...@treenet.co.nz>] Language Updates: Polish for manuals translation * Mark up *.8 and *.1 for po4a garbage strings elimination * Polishes existing *.8 and *.1 to standard texts * Moves squid.8.in to src/ next to its binary * Updated manuals.pot and current .po * Adds en_AU.po from Rosetta Project [Amos Jeffries <squ...@treenet.co.nz>] Reduce non-IP debugs message priority [Amos Jeffries <squ...@treenet.co.nz>] Language Updates: manual pages * Update manuals.pot after helper shuffling * Add po4a infrastructure to build .pot and .po * Modify some manual sources to cleanup the transation strings TODO: * more cleanup modification of existing man(8) sources * addition of new man(8) pages for other helpers and tools [Amos Jeffries <squ...@treenet.co.nz>] Update errpages.pot [Amos Jeffries <squ...@treenet.co.nz>] Revert Typo in cachemgr.cc update [Amos Jeffries <squ...@treenet.co.nz>] Author: Various Translators Language Updates: error pages [Amos Jeffries <squ...@treenet.co.nz>] Various pointer and syntax errors. Uncovered by Pawel Worach using clang static analysis tool. Fixes: * several NULL pointer dereferences * several unused variable return saves * a parentheses typo [Henrik Nordstrom <hen...@henriknordstrom.net>] Remove optional kerberos/spnegohelp/ library due to licensing issues [Automatic source maintenance <squid...@squid-cache.org>] SourceFormat Enforcement ------------------------------------------ [...truncated 906 lines...] checking for ld used by gcc... (cached) /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... (cached) yes checking for BSD- or MS-compatible name lister (nm)... (cached) /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... (cached) BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... (cached) 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking for /usr/bin/ld option to reload object files... (cached) -r checking for objdump... (cached) objdump checking how to recognize dependent libraries... (cached) pass_all checking for ar... (cached) ar checking for strip... (cached) strip checking for ranlib... (cached) ranlib checking command to parse /usr/bin/nm -B output from gcc object... (cached) ok checking how to run the C preprocessor... (cached) gcc -E checking for ANSI C header files... (cached) yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... (cached) yes checking for strings.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for dlfcn.h... (cached) yes checking for objdir... (cached) .libs checking if gcc supports -fno-rtti -fno-exceptions... (cached) no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... (cached) yes checking if gcc static flag -static works... (cached) yes checking if gcc supports -c -o file.o... (cached) yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for shl_load... (cached) no checking for shl_load in -ldld... (cached) no checking for dlopen... (cached) no checking for dlopen in -ldl... (cached) yes checking whether a program can dlopen itself... (cached) yes checking whether a statically linked program can dlopen itself... (cached) no checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking which extension is used for runtime loadable modules... (cached) .so checking which variable specifies run-time module search path... (cached) LD_LIBRARY_PATH checking for the default library search path... (cached) /lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib checking for library containing dlopen... (cached) -ldl checking for dlerror... (cached) yes checking for shl_load... (cached) no checking for shl_load in -ldld... (cached) no checking for dld_link in -ldld... (cached) no checking for _ prefix in compiled symbols... (cached) no checking whether deplibs are loaded by dlopen... (cached) yes checking for argz.h... (cached) yes checking for error_t... (cached) yes checking for argz_add... (cached) yes checking for argz_append... (cached) yes checking for argz_count... (cached) yes checking for argz_create_sep... (cached) yes checking for argz_insert... (cached) yes checking for argz_next... (cached) yes checking for argz_stringify... (cached) yes checking if argz actually works... (cached) yes checking whether libtool supports -dlopen/-dlpreopen... (cached) yes checking for unistd.h... (cached) yes checking for dl.h... (cached) no checking for sys/dl.h... (cached) no checking for dld.h... (cached) no checking for mach-o/dyld.h... (cached) no checking for dirent.h... (cached) yes checking for closedir... (cached) yes checking for opendir... (cached) yes checking for readdir... (cached) yes checking for strlcat... (cached) no checking for strlcpy... (cached) no configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands { test ! -d "squid-3.HEAD-BZR" || { find "squid-3.HEAD-BZR" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "squid-3.HEAD-BZR"; }; } test -d "squid-3.HEAD-BZR" || mkdir "squid-3.HEAD-BZR" (cd compat && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/compat \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/compat'> make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/compat'> (cd lib && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/lib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib'> (cd libTrie && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/lib/libTrie \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie'> : test -d "../../squid-3.HEAD-BZR/lib/libTrie" || mkdir "../../squid-3.HEAD-BZR/lib/libTrie" (cd include && make top_distdir=../../../squid-3.HEAD-BZR distdir=../../../squid-3.HEAD-BZR/lib/libTrie/include \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie/include'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie/include'> (cd src && make top_distdir=../../../squid-3.HEAD-BZR distdir=../../../squid-3.HEAD-BZR/lib/libTrie/src \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie/src'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie/src'> (cd test && make top_distdir=../../../squid-3.HEAD-BZR distdir=../../../squid-3.HEAD-BZR/lib/libTrie/test \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie/test'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie/test'> test -n ":" \ || find "../../squid-3.HEAD-BZR/lib/libTrie" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh <http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/lib/libTrie/cfgaux/install-sh> -c -m a+r {} {} \; \ || chmod -R a+r "../../squid-3.HEAD-BZR/lib/libTrie" make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib/libTrie'> make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/lib'> (cd libltdl && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/libltdl \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/libltdl'> : test -d "../squid-3.HEAD-BZR/libltdl" || mkdir "../squid-3.HEAD-BZR/libltdl" test -n ":" \ || find "../squid-3.HEAD-BZR/libltdl" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh <http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/libltdl/config/install-sh> -c -m a+r {} {} \; \ || chmod -R a+r "../squid-3.HEAD-BZR/libltdl" make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/libltdl'> (cd snmplib && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/snmplib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/snmplib'> make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/snmplib'> (cd scripts && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/scripts \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/scripts'> make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/scripts'> (cd src && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/src \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src'> cp ../.././test-suite/../test-suite/test_tools.cc . (cd base && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/base \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/base'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/base'> (cd comm && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/comm \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/comm'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/comm'> (cd eui && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/eui \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/eui'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/eui'> (cd acl && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/acl \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/acl'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/acl'> (cd fs && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/fs \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/fs'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/fs'> (cd repl && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/repl \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/repl'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/repl'> (cd auth && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/auth \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/auth'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/auth'> (cd ip && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/ip \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/ip'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/ip'> (cd icmp && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/icmp \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/icmp'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/icmp'> (cd ident && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/ident \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/ident'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/ident'> (cd log && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/log \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/log'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/log'> (cd adaptation && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/adaptation \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/adaptation'> (cd icap && make top_distdir=../../../squid-3.HEAD-BZR distdir=../../../squid-3.HEAD-BZR/src/adaptation/icap \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/adaptation/icap'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/adaptation/icap'> (cd ecap && make top_distdir=../../../squid-3.HEAD-BZR distdir=../../../squid-3.HEAD-BZR/src/adaptation/ecap \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/adaptation/ecap'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/adaptation/ecap'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/adaptation'> (cd esi && make top_distdir=../../squid-3.HEAD-BZR distdir=../../squid-3.HEAD-BZR/src/esi \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/esi'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src/esi'> make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/src'> (cd icons && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/icons \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/icons'> make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/icons'> (cd errors && make top_distdir=../squid-3.HEAD-BZR distdir=../squid-3.HEAD-BZR/errors \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[1]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/errors'> make \ top_distdir="../squid-3.HEAD-BZR" distdir="../squid-3.HEAD-BZR/errors" \ dist-hook make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/errors'> case "/usr/bin/po2html" in \ off) \ echo "WARNING: Translation is disabled."; \ ;; \ ""|no) \ echo "WARNING: Translation toolkit was not detected."; \ ;; \ esac; \ touch translate-warn if test "/usr/bin/po2html" != "" && test "/usr/bin/po2html" != "no" && test "/usr/bin/po2html" != "off" && test -f ../.././test-suite/../errors/en.po; then \ lang=`basename ar.lang .lang`; \ mkdir -p ../errors/$lang; \ echo -n "Translate '$lang' ..."; \ for f in templates/ERR_FTP_PUT_MODIFIED templates/ERR_ESI templates/ERR_SECURE_CONNECT_FAIL templates/ERR_ZERO_SIZE_OBJECT templates/ERR_SHUTTING_DOWN templates/ERR_URN_RESOLVE templates/ERR_CONNECT_FAIL templates/ERR_SOCKET_FAILURE templates/ERR_FTP_NOT_FOUND templates/ERR_FTP_UNAVAILABLE templates/ERR_LIFETIME_EXP templates/ERR_READ_ERROR templates/ERR_ONLY_IF_CACHED_MISS templates/ERR_UNSUP_HTTPVERSION templates/ERR_READ_TIMEOUT templates/ERR_ICAP_FAILURE templates/ERR_DIR_LISTING templates/ERR_FTP_FORBIDDEN templates/ERR_ACCESS_DENIED templates/ERR_FORWARDING_DENIED templates/ERR_CANNOT_FORWARD templates/ERR_CACHE_MGR_ACCESS_DENIED templates/ERR_INVALID_REQ templates/ERR_CACHE_ACCESS_DENIED templates/ERR_FTP_PUT_ERROR templates/ERR_FTP_PUT_CREATED templates/ERR_TOO_BIG templates/ERR_UNSUP_REQ templates/ERR_FTP_FAILURE templates/ERR_DNS_FAIL templates/ERR_FTP_DISABLED templates/ERR_NO_RELAY templates/ERR_INVALID_URL templates/ERR_INVALID_RESP templates/ERR_WRITE_ERROR ; do \ page=`basename $f`; \ /usr/bin/po2html --progress=none -i ../.././test-suite/../errors/$lang.po -t ../.././test-suite/../errors/$f >../errors/$lang/$page || exit 1; \ done; \ echo "done."; \ fi; \ touch ar.lang Translate 'ar' .../bin/sh: line 6: /usr/bin/po2html: No such file or directory make[2]: *** [ar.lang] Error 1 make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/errors'> make[1]: *** [distdir] Error 2 make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-i386-Debian-sid/ws/btlayer-00-default/errors'> make: *** [distdir] Error 1 buildtest.sh result is 2 BUILD: .././test-suite/buildtests/layer-00-default.opts Translate 'ar' .../bin/sh: line 6: /usr/bin/po2html: No such file or directory make[2]: *** [ar.lang] Error 1 make[1]: *** [distdir] Error 2 make: *** [distdir] Error 1 Build FAILED.