]> git.ipfire.org Git - thirdparty/squid.git/blob - ChangeLog
Fixed reporting of validation errors for downloaded intermediate certs. (#72)
[thirdparty/squid.git] / ChangeLog
1 Changes to squid-4.0.21 (02 Jul 2017):
2
3 - Bug 4730: segfault while processing internal HTTP requests
4 - Bug 4492: Chunk extension parser is too pedantic
5 - Bug 1961: Redesign urlParse() API
6 - TLS: recognise tls:: namespace on logformat tokens
7 - SSL-Bump: tproxy does not spoof spliced connections
8 - security_file_certgen: collapse queued requests
9 - Add a basic apparmour profile
10 - Add transaction_initiator ACL for detecting various unusual transactions
11 - Add ssl::server_name options to control matching logic
12 - Support for --long-acl-options
13 - Do not die silently when dying via std::terminate()
14 - Fix option --foreground to implement expected behavior
15 - Translations: update .po and .pot to latest texts
16 - ... and some documentation updates
17 - ... and many code cleanup and stability fixes
18 - ... and all fixes from 3.5.27
19
20 Changes to squid-4.0.20 (01 Jun 2017):
21
22 - Bug #4692: SslBump breaks intercepted IPv6 connections
23 - Bug #4682: ignoring http_access deny when client-first bumping mode is used
24 - Bug #4662: build errors with LibreSSL 2.4.4
25 - Bug #4659: sslproxy_foreign_intermediate_certs does not work
26 - Bug #4321: ssl_bump terminate does not terminate at step1
27 - Add 'has' ACL
28 - Do not forward HTTP requests to dead idle peers
29 - Do not unconditionally revive dead peers after a DNS refresh
30 - Make PID file check/creation atomic to avoid associated race conditions
31 - Count failures and use peer-specific connect timeouts when tunneling
32 - SSL-Bump: Fix crashes when server-first bumping mode is used with openSSL-1.1.0
33 - eCAP: Fix empty header handling in Ecap::HeaderRep::hasAny()
34 - SSL-Bump: Second adaptation missing for CONNECTs
35 - ext_session_acl: cope with new logformat inputs
36 - ... and some documentation updates
37 - ... and some code stability fixes
38 - ... and all fixes from 3.5.26
39
40 Changes to squid-4.0.19 (02 Apr 2017):
41
42 - Bug 4674: delay_parameters for class 3 and 4 assertion failed
43 - Bug 4671: GCC 7 compile errors
44 - Bug 4663: GCC 5+ compile errors with optimization level -O3
45 - Bug 4657: delay IDENT until after PROXY protocol handling
46 - Bug 4610: cleanup of BerkleyDB related checks
47 - squidclient: Fix missing error handling on PUT
48 - digest_ldap_auth: Add -r option to clamp the realm to a fixed value
49 - TLS: initial GnuTLS support for encrypted server connections
50 - Fix appending Http::HdrType::VIA code
51 - Fix URI scheme case-sensitivity treatment
52 - Fix two read-ahead problems related to delay pools (or lack thereof)
53 - Detail swapfile header inconsistencies
54 - ... and several build fixes
55 - ... and many code polishing updates
56 - ... and all fixes from 3.5.25
57
58 Changes to squid-4.0.18 (06 Feb 2017):
59
60 - Bug 4661: compile error 'warning: _XPG4_2 redefined' with GCC on Solaris 10
61 - Bug 4636: assertion 'byteCount > 0 && byteCount <= inBuf.length()'
62 - Bug 4610 partial: compile errors on Solaris 11.3 with Oracle Studio 12.5
63 - Bug 4599: support OpenSSL 1.1
64 - squidclient: link GnuTLS library debugs to -v level display
65 - Fix GCC6: unused local variable 'weInitiatedThisClosure'
66 - ... and some code polishing
67 - ... and some copyright updates
68 - ... and all fixes from 3.5.24
69
70 Changes to squid-4.0.17 (16 Dec 2016):
71
72 - Bug 4630: user credentials cache cleanup not re-scheduled
73 - Bug 4610 partial: compile errors on Solaris 11.3 with Oracle Studio 12.5
74 - Bug 4599 partial: initial support for OpenSSL v1.1
75 - TLS: Support tunneling of bumped non-HTTP traffic
76 - ... and many code polishing and performance updates
77 - ... and some documentation updates
78 - ... and some fixes from 3.5.23
79
80 Changes to squid-4.0.16 (30 Oct 2016):
81
82 - Avoid segfaults when lacking the server name for certificate validator
83 - HTTP: initial support for Cache-Control:immutable
84 - Fix ssl::server_name ACL
85 - ... and many code polishing updates
86 - ... and some fixes from 3.5.23
87
88 Changes to squid-4.0.15 (09 Oct 2016):
89
90 - Regression fix crash on reconfigure with TOS/DiffServ/MARK configured
91 - Bug 4610: compile errors on Solaris 11.3 with Oracle Studio 12.5
92 - Bug 4581: Secure ICAP segfault in checkForMissingCertificates
93 - Bug 4578: changes required to install squid.service
94 - Fix crash on shutdown while cleaning up idle ICAP connections
95 - Fix memory leak of Downloader-related objects
96 - HTTP/1.1: handle syntactically valid requests with unsupported HTTP versions
97 - Log TCP client port for error:transaction-end-before-headers and such
98 - ... and many portability and build fixes
99 - ... and some documentation updates
100 - ... and all fixes from 3.5.22
101
102 Changes to squid-4.0.14 (08 Sep 2016):
103
104 - Regression Bug 4570: crash after rev.14755
105 - Regression Bug 4561: Replace use of default move operators with explicit implementation
106 - Bug 4503: Do not access-log SslBump-faked CONNECTs with _ABORTED suffixes
107 - Bug 4404: Do not access-log chunked non-persistent responses with _ABORTED suffix
108 - Fix crashes on shutdown while cleaning up idle ICAP connections
109 - Fix logformat unable to configure codes with /-escape
110 - HTTP: MUST respond with 414 (URI Too Long) when request-target exceeds limits
111 - HTTP: validate Content-Length header values
112 - Make Squid death due to overloaded helpers optional
113 - Better support for unknown URL schemes
114 - Do not log error:transaction-end-before-headers after invalid requests
115 - ... and many portability and build fixes
116 - ... and some documentation updates
117 - ... and all fixes from 3.5.21
118
119 Changes to squid-4.0.13 (05 Aug 2016):
120
121 - Regression Bug 4540: revert r14720 buffer update
122 - Bug 4555: Minor improvements to error pages CSS
123 - Bug 4551: fix exceptions in new chunked decoder
124 - Bug 4311: support collapse for internal revalidation requests (SMP-unaware caches)
125 - Fix Certificate Validator buffer-overflow crashes Squid
126 - Fix some failed transactions not being logged
127 - Fix segfault via Ftp::Client::readControlReply().
128 - basic_db_auth: add support for unsalted SHA1 passwords
129 - kerberos_ldap_group: add support for SSL/TLS connection to an LDAP server
130 - TLS: Add missing 'tls' option for cache_peer
131 - TLS: Do not hang when 'connector' fails
132 - TLS: Add support for fetching missing certificates
133 - Remove XSTD_USE_LIBLTDL, which has not been needed in a long while
134 - ... and many code polishing updates
135 - ... and some documentation updates
136
137 Changes to squid-4.0.12 (01 Jul 2016):
138
139 - Regression Fix: shell issues with require_smblib definition
140 - Regression Bug 4532: pid_filename not working as documented
141 - Regression Bug 4504: Too many WARNING: Ignoring error setting CA certificate locations
142 - Bug 4516: security_file_certgen man page update
143 - Bug 4446: undefined reference to 'libecap::Name::Name'
144 - Bug 4376: clang cannot build Squid eCAP code
145 - HTTP/1.1: Update all stored headers on 304 revalidation
146 - TLS: Authority Key Identifier certificate extension
147 - Add a script to find kid-specific cache.log lines
148 - Cleanup cppunit detection and use
149 - ... and several performance improvements
150 - ... and some unit test updates
151 - ... and all fixes from 3.5.20
152
153 Changes to squid-4.0.11 (09 Jun 2016):
154
155 - Bug 4517: error: comparison between signed and unsigned integer
156 - Bug 4492: chunked parser needs to accept BWS after chunk size
157 - HTTP/1.1: allow chunking the last HTTP response on a connection
158 - HTTP/1.1: unfold mime header blocks
159 - TLS: fast SNI peek
160 - TLS: check for SSL_CIPHER_get_id() support required in adjustSSL()
161 - TLS: never enable OPENSSL_HELLO_OVERWRITE_HACK automatically
162 - squidclient: improve shell-escape support in -H option
163 - Do not allow low-level debugging to hide important/critical messages
164 - Replace new/delete operators using modern C++ rules
165 - Remove ie_refresh configuration option
166 - Deprecating SMB LanMan helpers
167 - Mark refresh-waiting transactions with REFRESH
168 - ... and some code cleanup and polishing
169
170 Changes to squid-4.0.10 (06 May 2016):
171
172 - Accumulate fewer unknown-size responses to avoid overwhelming disks.
173 - Fix shared memory corruption when storing multi-slot (>32KB) shm misses.
174 - ... and some documentation and code cleanup
175 - ... and all fixes from 3.5.18
176
177 Changes to squid-4.0.9 (20 Apr 2016):
178
179 - Bug 4405: assertion failed: comm.cc:554: "Comm::IsConnOpen(conn)"
180 - Add a new error page token for unquoted external ACL messages.
181 - Stop parsing response prefix after discovering an "HTTP/0.9" response.
182 - ... and some documentation updates
183 - ... and some code polishing
184 - ... and all fixes from 3.5.17
185
186 Changes to squid-4.0.8 (02 Apr 2016):
187
188 - Bug 4459: FHS compliance: move netdb.state and ssl_db to /var/cache/squid
189 - Bug 4458: Behaviour change with external ACL arguments
190 - Bug 4450: wait() related cleanup
191 - Bug 4438: SIGSEGV in memFreeString() destructing SBuf globals on shutdown/restart
192 - Bug 4312: Support disabling collapsed forwarding SMP cooperation
193 - Bug 3826: SMP compatibility with systemd and --foreground option
194 - Bug 1979: Add ACL-driven server_pconn_for_nonretriable squid.conf directive
195 - Bug 7 (partial): Update cached entries on 304 responses
196 - Add reply_header_add directive
197 - HTTP/1.1: Do not prohibit updating Last-Modified on 304 responses
198 - Fix memory leaks of lastAclData and AccessLogentry::url
199 - Fix clang -Winconsistent-missing-override warning
200 - Tests: update test suite for GnuTLS
201 - ... and some documentation updates
202 - ... and some code cleanup and polishing
203 - ... and all fixes from squid 3.5.16
204
205 Changes to squid-4.0.7 (23 Feb 2016):
206
207 - Regression Fix: external_acl parameters separated by %20 instead of space
208 - Bug 4432: assertion failed: store.cc:1919: "isEmpty()"
209 - Bug 4111: leave_suid() does not properly handle error codes returned by setuid
210 - Fix propagation of response status line parsing error details
211 - Fix memory leak when the cache of sslcrtvalidator_program is disabled via ttl=0
212 - ... and some code SourceLayout project cleaning
213 - ... and all fixes from squid 3.5.15
214
215 Changes to squid-4.0.6 (16 Feb 2016):
216
217 - Regression Bug 4436: Fix DEFAULT_SSL_CRTD
218 - Fix "dial: Ssl::PeerConnector::sslCrtvdHandleReply threw exception: callback != NULL"
219 - ... and some documentation updates
220 - ... and all fixes from squid 3.5.14
221
222 Changes to squid-4.0.5 (09 Feb 2016):
223
224 - Regression Bug 4429: http(s)_port options= error message missing characters
225 - Regression Bug 4410: 4.0.4 compile error in basic_ncsa_auth
226 - Regression Bug 4403: helper compile errors after 4.0.4 rev.14454
227 - Regression Bug 4401: compile error on Solaris
228 - Regression Fix: TLS/SSL flags parsing
229 - Regression Fix: cert validadator always disabled in 4.x
230 - Regression Fix: Name-only note ACL stopped matching after 4.0.4 rev.14465 (note -m)
231 - Regression Fix: external_acl problems after 4.0.1 rev.14351
232 - Bug 4409 (partial): compile error when two Heimdal libraries are installed
233 - Bug 4005: Dynamic certificate cache exceeds dynamic_cert_mem_cache_size
234 - SMP: Fix cleanup of a shared memory segment in an unusual configuration
235 - SSL-Bump: Fix step3 splicing.
236 - Add connections_encrypted ACL
237 - Make %<a and %<p details available to [eCAP] RESPMOD services
238 - Rename cert_valid.pl to security_fake_certverify
239 - Rename ssl_crtd helper to security_file_certgen
240 - ... and a lot of code SourceLayout project cleaning
241 - ... and some documentation updates
242 - ... and all fixes from squid 3.5.13 up to rev.13979
243
244 Changes to squid-4.0.4 (06 Jan 2016):
245
246 - Regression Bug 4393: compile fails on OS X
247 - Bug 4392: assertion CbcPointer.h:159: 'c' via tunnelServerClosed or tunnelClientClosed
248 - Support use of Kerberos credentials cache instead of keytab
249 - Support logging of TLS Cryptography Parameters
250 - Support substring matching in Note ACL
251 - ... and some code cleanup and polishing
252 - ... and all fixes from squid 3.5.13
253
254 Changes to squid-4.0.3 (28 Nov 2015):
255
256 - Bug 4372: missing template files
257 - Bug 4371: compile errors: no such file or directory: DiskIO/*/*DiskIOModule.o
258 - Bug 4368: A simpler and more robust HTTP request line parser
259 - Fix compile erorr on clang undefined reference to '__atomic_load_8'
260 - ext_kerberos_ldap_group_acl: Add missing workarounds for Heimdal Kerberos
261 - ext_ldap_group_acl: Allow unlimited LDAP search filter
262 - ext_unix_group_acl: Support -r parameter to strip @REALM from usernames
263 - ... and much code cleanup and polishing
264 - ... and all fixes from squid 3.5.12
265
266 Changes to squid-4.0.2 (01 Nov 2015):
267
268 - Regression Bug 4351: compile errors when authentication modules disabled
269 - Regression fix: HTTP/1.1 Transfer-Encoding:chunked parsing
270 - Bug 4359: assertion failure 'Comm::IsConnOpen(conn)' within ConnStateData::requestTimeout
271 - Bug 4356: segmentation fault using proxy_auth ACL
272 - Bug 4352: compile errors in OS X 10.11
273 - Bug 4021: ext_user_regex does exact match
274 - Bug 3574: avoid crashes, prohibit reconfiguration during shutdown
275 - Support re-assigning delay pools based on HTTP reply details
276 - ... and all fixes from squid 3.5.11
277
278 Changes to squid-4.0.1 (14 Oct 2015):
279
280 - Bug 4329: GCC 5.2 no known conversion for argument
281 - Bug 4292: negotiate_wrapper: Unreleased Resources
282 - Bug 4269: ignore-must-revalidate broken
283 - Bug 4190: assertion 'hash_remove_link' from Auth::User::cacheCleanup
284 - Bug 3920: Splay::remove() reference counting inconsistent
285 - Bug 3069: CONNECT method bytes sent logging
286 - Bug 2741 partial: libsecurity API for GnuTLS support
287 - Bug 1961 partial: redesign of URL handling
288 - Fix crash when parsing invalid squid.conf
289 - Fix eCAP: Return 'unknown body size' for bodies with unknown body sizes
290 - Remove unused OS detection: Sun, SysV, Ultrix, BSDi
291 - Remove cache_peer_domain directive
292 - RFC 6176 compliance: Remove SSLv2 support
293 - HTTP/1.1: Remove refresh_pattern ignore-auth and ignore-must-revalidate
294 - Remove GCC 2.x and 3.x detection and support
295 - C++11 compiler support is now mandatory
296 - Enable flexible transport protocol
297 - Enable long (--foo) command line parameters on squid binary
298 - Add per-rule refresh_pattern matching statistics
299 - Replace sslversion=N with tls-min-version=1.N
300 - Replace sslproxy_* directives with tls_outgoing_options
301 - Replace GNU atomics and related hacks with C++11 std::atomic
302 - Replace external_acl_type format %macros with logformat codes
303 - Support Secure ICAP services
304 - Support rotate=N option on access_log
305 - Support bypass for non-HTTP intercepted traffic (on_unsupported_protocol)
306 - Support lifetime timeout for persistent connections (pconn_lifetime)
307 - Support timeout for URL-rewrite helper lookups (url_rewrite_timeout)
308 - Support logging fast things (nanosecond log resolution)
309 - Support ICAP/eCAP adaptation for 100-continue responses
310 - Support configurable helper queue size, with consistent defaults
311 and better overflow handling.
312 - Support named service PID file by default (pid_filename)
313 - url_lfs_rewrite: Add URL-rewriter based on local file existence
314 - negotiate_kerberos_auth: output group= kv-pair
315 - helper-mux: add man(8) page
316 - purge: convert README to man(1) page
317 - basic_msnt_multi_domain_auth: Superceeded by basic_smb_lm_auth
318 - basic_sspi_auth: fix MinGW compile errors
319 - negotiate_sspi_auth: fix various build errors
320 - Crypto-NG: libnettle Base64 algorithm support
321 - Parser-NG: HTTP Parser structural redesign
322 - libltdl: copyright updated to LGPL version 2.1
323 - ... and several performance optimizations
324 - ... and many documentation changes
325 - ... and much code cleanup and polishing
326
327 Changes to squid-3.5.27 (20 Aug 2017):
328
329 - Regression Bug #4112: ssl_engine does not accept cryptodev
330 - Bug 4687: Wrong names of components in man page, section SEE ALSO
331 - Bug 4671: various GCC 7 compile errors
332 - Bug 4464: Reduce "!Comm::MonitorsRead(serverConnection->fd)" assertions
333 - Bug 2833: Collapse internal revalidation requests (SMP-unaware caches)
334 - Bug 2833: Do not respond with HTTP/304 to unconditional requests
335 - Fix message packing error handling in mgr and snmp SMP Forwarders
336 - Fix mgr query handoff from the original recipient to Coordinator.
337 - ... and some documentation updates
338
339 Changes to squid-3.5.26 (01 Jun 2017):
340
341 - Bug 4711: SubjectAlternativeNames is missing in some generated certificates
342 - Bug 4695: squidpurge: GCC 7 build errors
343 - Bug 4682: ignoring http_access deny when client-first bumping mode is used
344 - Bug 4682: Fix ssl_bump "bump" action documentation
345 - Bug 4653: %st lies about tunneled traffic volumes
346 - Bug 4589: ssl_crtd: returning zero on failure
347 - Bug 3772: message from FTP server gets mangled
348 - Bug 3102: FTP directory listing drops fist character of file names
349 - Add OpenSSL library details to -v output
350 - ... and some documentation updates
351
352 Changes to squid-3.5.25 (02 Apr 2017):
353
354 - Bug 4688: various typo error(s) in man page(s)
355 - Bug 4508: Host forgery stalls intercepted being-spliced connections
356 - Native FTP relay: NAT and TPROXY interception fixes
357 - Fix missing CRLF on FTP timeout ABORT commands
358 - TLS: Bump client on errors encountered before ssl_bump evaluation
359 - ext_kerberos_ldap_group_acl: fix unused value warnings
360 - Fix crash when configuring with invalid delay_parameters restore value.
361 - Check that -k argument is provided before trying to use it.
362 - ... and some build fixes
363
364 Changes to squid-3.5.24 (28 Jan 2017):
365
366 - Regression Bug 3940: Make 'cache deny' do what is documented
367 - TLS: Fix SSLv2 records bumping despite a matching step2 peek rule
368 - TLS: Mitigate DoS attacks that use client-initiated SSL/TLS renegotiation
369 - Fix "Source and destination overlap in memcpy" Valgrind errors
370 - Reduce crashes due to unexpected ClientHttpRequest termination
371 - Update External ACL helpers error handling and caching
372 - Detect HTTP header ACL issues
373 - ... and some documentation fixes
374
375 Changes to squid-3.5.23 (16 Dec 2016):
376
377 - Bug 4627: fix generate-host-certificates and dynamic_cert_mem_cache_size docs
378 - Bug 4620: NetBSD build error with --enable-ipf-transparent
379 - Bug 4567: Strange IPv6 shown in access.log
380 - Bug 4406: SIGSEV in TunnelStateData::handleConnectResponse() during reconfigure and restart
381 - Bug 4174 partial: fix Write.cc:41 "!ccb->active()" assertion.
382 - Bug 4169: HIT marked as MISS when If-None-Match does not match
383 - Bug 4007: Hang on DNS query with dead-end CNAME
384 - Bug 4004 partial: Fix segfault via Ftp::Client::readControlReply
385 - Bug 3940 partial: hostHeaderVerify failures MISS when they should be HIT
386 - Bug 3533: Cache still valid after HTTP/1.1 303 See Other
387 - Bug 3379: Combination of If-Match and a Cache Hit result in TCP Connection Failure
388 - Bug 3290: authenticate_ttl not working for digest authentication
389 - Bug 2258: bypassing cache but not destroying cache entry
390 - HTTP/1.1: make Vary:* objects cacheable
391 - HTTP/1.1: Add registered codes entry for new 103 (Early Hints) status code
392 - Support IPv6 NAT with PF for NetBSD and FreeBSD
393 - TLS: Make key= before cert= an error instead of quietly hiding the issue
394 - ... and some debug updates
395 - ... and some build fixes
396 - ... and several documentation updates
397
398 Changes to squid-3.5.22 (09 Oct 2016):
399
400 - Bug 4594: build failure with clang 3.9
401 - Bug 4471: revalidation does not work when expired cached object lacks Last-Modified
402 - Bug 4302 pt2: IPv6 support for IPFilter v5 transparent interception
403 - Bug 4228: ./configure bug/typo in r14394
404 - Bug 3819: "fd >= 0" assertion in file_write() during reconfiguration
405 - Bug 2833: Collapse internal revalidation requests (SMP-unaware caches)
406 - Fix logged request size (%http::>st) and other size-related %codes
407 - Fix some memory leaks from putenv()
408 - Fix memory leaks from url_rewrite_extras and store_id_extras on reconfigure/shutdown
409 - Fix segfault crash when debugging section 4 at level 9
410 - HTTP: MUST ignore a [revalidation] response with an older Date header
411
412 Changes to squid-3.5.21 (08 Sep 2016):
413
414 - Bug 4563: duplicate code in httpMakeVaryMark
415 - Bug 4542: authentication credentials IP TTL updated incorrectly
416 - Bug 4534: assertion failure in xcalloc when using many cache_dir
417 - Bug 4428: mal-formed Cache-Control:stale-if-error header
418 - Bug 3025: Proxy-Authenticate problem using ICAP server
419 - Fix segfault via Ftp::Client::readControlReply()
420 - Fix SSL-Bump failure results in SEGFAULT
421 - HTTP/1.1: MUST always revalidate Cache-Control:no-cache responses
422 - HTTP/1.1: do not allow Proxy-Connection to override Connection header
423 - SSL: CN wildcard must only match a single domain component [fragment]
424
425 Changes to squid-3.5.20 (01 Jul 2016):
426
427 - Bug 4523: smblib compile fails on NetBSD
428 - Bug 4485: off-by-one out-of-bounds Parser::Tokenizer::int64() read errors
429 - Bug 3579: assertion failed 'MemPools[type]' from dst_as ACL
430 - Fix icons loading speed
431 - Fix OpenSSL detection on FreeBSD
432 - Fix assertion failed: Write.cc:38: 'fd_table[conn->fd].flags.open'
433 - Fix SEGFAULT parsing malformed adaptation service configuration
434 - Fix ConnStateData::In::maybeMakeSpaceAvailable() logic
435 - Do not override user defined -std option
436 - Do not allow low-level debugging to hide important/critical messages
437 - Do not make bogus recvmsg(2) calls when closing UDS sockets
438 - Support unified EUI format code in external_acl_type
439
440 Changes to squid-3.5.19 (09 May 2016):
441
442 - Regression Bug 4515: interception proxy hangs
443
444 Changes to squid-3.5.18 (06 May 2016):
445
446 - Bug 4510: stale comment about 32KB limit on shared memory cache entries
447 - Bug 4509: EUI compile error on NetBSD
448 - Bug 4501: HTTP/1.1: normalize Host header
449 - Bug 4498: URL-unescape the login-info after extraction from URI
450 - Bug 4455: SegFault from ESIInclude::Start
451 - Prevent Squid forcing -b 2048 into the arguments for sslcrtd_program
452 - Fix TLS/SSL server handshake alert handling
453
454 Changes to squid-3.5.17 (20 Apr 2016):
455
456 - Regression Bug 4480: logformat [.width_max]
457 - Regression Bug 4481: varyEvaluateMatch: Oops. Not a Vary match on second attempt
458 - Bug 4495: Unknown SSL option SSL_OP_NO_TICKET
459 - Bug 4493: theObject->sharedMemorySize() == theSegment.size() exception
460 - Bug 4483: ./configure garbles -Og option in CFLAGS
461 - Bug 4482: Solaris GCC 5.2 warning in src/ip/Intercept.cc
462 - Bug 4468: NotNode (!acl) naming: Terminate the name before strncat(name).
463 - Bug 4465: Header forgery detection leads to crash
464 - Bug 2460 partial: workaround deferred reads on shutdown and restart
465 - cachemgr.cgi: use dynamic MemBuf for internal content generation
466 - ESI: Fix several element construction issues
467 - TLS: Fix Handshake Error: ccs received early
468 - TLS: Add chained and signing cert to peek-then-bumped connections
469 - Fix some startup/shutdown crashes
470
471 Changes to squid-3.5.16 (02 Apr 2016):
472
473 - Bug 4476: Removed duplicated #include lines
474 - Bug 4452: squid -z segfaults with ufs
475 - Bug 4447:FwdState.cc:447 "serverConnection() == conn" assertion
476 - Bug 4423: adding stdio: prefix to cache_log directive produces FATAL error
477 - Bug 4409: compile error when two Heimdal libraries are installed
478 - Bug 2831: Cache-control: max-age not sent on TCP_IMS_HIT/304
479 - pinger: Fix buffer overflow in Icmp6::Recv
480 - pinger: Fix select(2) to actually use max_fd
481 - pinger: drop capabilities on Linux
482 - Fix memory leak of HttpRequest objects
483 - Fix memory leak when the cache of sslcrtvalidator_program is disabled via ttl=0
484 - Fix assertion failed: Write.cc:41: "!ccb->active()"
485 - Fix crash on shutdown while cleaning up idle ICAP connections
486 - RFC 7725: Add registry entry for 451 status text
487 - ... and some build issues
488
489 Changes to squid-3.5.15 (23 Feb 2016):
490
491 - Bug 3870: assertion failed: String.cc: 'len_ + len <65536' in ESI::CustomParser
492 - Fix multiple assertion on String overflows
493 - Fix unit test errors on MacOS
494 - Better handling of huge response headers. Fewer incorrect "Bug #3279" messages.
495 - Log noise reduction for eCAP
496
497 Changes to squid-3.5.14 (16 Feb 2016):
498
499 - Bug 4437: Fix Segfault on Certain SSL Handshake Errors
500 - Bug 4431: C code is not compiled with CFLAGS
501 - Bug 4418: FlexibleArray compile error with GCC 6
502 - Bug 4378: assertion failed: DestinationIp.cc:60:
503 'checklist->conn() && checklist->conn()->clientConnection != NULL'
504 - Fix invalid FTP connection handling on blocked content
505 - Fix handling of shared memory left over by Squid crashes or bugs
506 - Fix mgr:config report 'qos_flows mark' output
507 - Fix compile error in CPU affinity
508 - Fix %un logging external ACL username
509 - Avoid more certificate validation memory leaks
510 - ... and some documentation updates
511
512 Changes to squid-3.5.13 (06 Jan 2016):
513
514 - Bug 4397: DragonFly BSD, POSIX shared memory is implemented as filepath
515 - Bug 4387: Kerberos build errors on Solaris
516 - TLS: Support Ephemeral Elliptic Curve Diffie-Hellman (EECDH) key exchange
517 - TLS: Complete certificate chains using external intermediate certificates
518 - Avoid memory leaks when an X.509 certificate validator is used with SslBump
519 - Fix connection retry and fallback after failed server TLS connections
520 - Fix GnuTLS detection via pkg-config
521 - Fix startup crash with a misconfigured (too-small) shared memory cache
522 - ... and some documentation updates
523
524 Changes to squid-3.5.12 (28 Nov 2015):
525
526 - Bug 4374: refresh_pattern config parser (%)
527 - Bug 4373: assertion 'calloutContext->redirect_state == REDIRECT_NONE'
528 - Bug 4228: links with krb5 libs despite --without options
529 - Fix SSL_get_certificate() problem detection
530 - Fix TLS handshake problem during Renegotiation
531 - Fix cache_peer forceddomain= in CONNECT
532 - Fix status code-based HTTP reason phrase for eCAP-generated messages
533 - Fix build errors in cpuafinity.cc
534 - ... and several documentation updates
535
536 Changes to squid-3.5.11 (01 Nov 2015):
537
538 - Bug 3574: crashes on reconfigure and startup
539 - Bug 4347: compile errors with LibreSSL 2.3
540 - Bug 4281: copy-paste typos in src/tools.cc
541 - Bug 4279: No response from proxy for FTP-download of non-existing file
542 - Bug 4188: Bumping intercepted SSL connections does not work on Solaris
543 - Fix incorrect authentication headers on cache digest requests
544 - Fix connection stats, including %<lp, missing for persistent connections
545 - Fix invalid memory access issues in SBuf
546 - Avoid errors when parsing manager ACL in old squid.conf
547
548 Changes to squid-3.5.10 (01 Oct 2015):
549
550 - Regression Fix cache_peer login=PASS(THRU) after CVE-2015-5400
551 - Regression Bug 4326: base64 binary encoder rejects data beginning with nil byte
552 - Bug 4323: Netfilter broken cross-includes with Linux 4.2
553 - Bug 4328: %un format code does not work for external ACLs in credentials-fetching rules
554 - Bug 4208: more than one port in wccp2_service_info line causes error
555 - Bug 4303: PeerConnector.cc:743 "!callback" assertion.
556 - Bug 4330: Do not use SSL_METHOD::put_cipher_by_char to determine size of SSL hello ciphers
557 - Relicense ntlm_fake_auth.pl to GPLv2+
558 - Relicense smb_lm auth helper to GPLv2+
559 - Relicense SSPI helper to GPLv2+
560 - ... and several minor performance optimizations
561
562 Changes to squid-3.5.9 (17 Sep 2015):
563
564 - Regression Bug 3618: ntlm_smb_lm_auth rejects correct passwords
565 - Bug 4309: incorrect extensions detection in SSL Hello messages
566 - Bug 4309: crash during Skype login
567 - Bug 4284: missing sanity checks for malloc
568 - Regression Fix: CONNECT request debugging 11,2 traces
569 - Regression Fix: Quieten UFS cache maintenance skipped warnings
570 - TLS: Support SNI on generated CONNECT after peek
571 - ... and some documentation updates
572
573 Changes to squid-3.5.8 (02 Sep 2015):
574
575 - Regression Bug 4306: build portability fix in Kerberos helpers
576 - Bug 4302: IPFilter v5 transparent interception
577 - Bug 4301: compile errors with IPFilter interception
578 - Bug 4285 partial: %us is not supported in access.log
579 - Bug 4278: Docs: typo in the refresh_pattern freshness algorithm
580 - Bug 4242: compile errors with eCAP using clang-3.6
581 - Bug 3696: crash when client delay pools are activated
582 - Bug 3553: cache_swap_high ignored and maxCapacity used instead
583 - Regression Fix: FtpServer.cc:1024: "reply != NULL" assertion
584 - Fix ignore of impossible SSL bumping actions, as intended and documented
585 - Fix memory leak in Surrogate-Capability header detection
586 - Fix truncated body length when RESPMOD service aborts
587 - Reject non-chunked HTTP messages with conflicting Content-Length values
588 - Support splice for SSLv3 and TLSv1 sessions that start with an SSLv2 Hello
589 - ... and several portability and compile fixes
590 - ... and several documentation updates
591
592 Changes to squid-3.5.7 (01 Aug 2015):
593
594 - Bug 4293: wrong SNI sent to server after URL-rewrite
595 - Bug 4251: incorrect instance name for memory segments in /dev/shm
596 - Bug 4227: invalid key in AuthUserHashPointer causing assertation failure
597 - Bug 3345: support %un (any available user name) format code for external ACLs.
598 - basic_smb_auth: Fix several old issues identified by Debian users
599 - Support ssl-bump splicing to origin cache_peer
600 - Fix SSL errors relayed using invalid certificates
601 - Fix crash in TcpAccepter with profiler enabled
602 - Fix some cases of ssl_crtd SSL certificate DB corruption
603 - Fix performance regression in SBuf::chop operations
604 - Improve handling of client connections on shutdown
605 - Handle exceptions during squid.conf parse
606 - Make pod2man an optional dependency
607 - ... and polishing for several cache.log notification messages
608 - ... and all fixes from squid 3.4.14
609
610 Changes to squid-3.5.6 (03 Jul 2015):
611
612 - Bug 4274: ssl_crtd.8 not being installed
613 - Bug 4193: memory leak on FTP listings
614 - Bug 4183: segfault when freeing https_port clientca on reconfigure or exit
615 - Bug 3875: bad mimeLoadIconFile error handling
616 - Bug 3483: assertion failed store.cc:1866: 'isEmpty()'
617 - Bug 3329: pinned server connection is not closed properly
618 - TLS: Disable client-initiated renegotiation
619 - ext_edirectory_userip_acl: fix uninitialized variable
620 - Support custom OIDs in *_cert ACLs
621 - Fix CONNECT failover to IPv4 after trying broken IPv6 servers
622 - Use relative-URL in errorpage.css for SN.png
623 - Do not blindly forward cache peer CONNECT responses
624 - Fix assertion String.cc:221: "str"
625 - Fix assertion comm.cc:759: "Comm::IsConnOpen(conn)" in ConnStateData::getSslContextDone
626 - Translations: add Spanish US dialect alias
627
628 Changes to squid-3.5.5 (28 May 2015):
629
630 - Regression Bug 4132: short_icon_urls with global_internal_static on
631 - Bug 4238: assertion Read.cc:205: "params.data == data"
632 - Bug 4236: SSL negotiation error of 'success'
633 - Bug 3930: assertion 'connIsUsable(http->getConn())'
634 - Fix assertion MemBuf.cc:380: "new_cap > (size_t) capacity" in SSL I/O buffer
635 - Fix assertion errorpage.cc:600: "entry->isEmpty()"
636 - Fix comm_connect_addr on failures returns Comm:OK
637 - Fix missing external ACL helper notes
638 - Fix "Not enough space to hold server hello message" error message
639 - Fix segmentation fault inside Adaptation::Icap::Xaction::swanSong
640 - Prevent unused ssl_crtd helpers being run
641 - ... and some code cleanup and portability updates
642 - ... and several documentation updates
643
644 Changes to squid-3.5.4 (01 May 2015):
645
646 - Bug 4234: comm_connect_addr uses errno incorrectly
647 - Bug 4231: fd_open() not correctly handling UDS socket descriptions
648 - Bug 4226: digest_edirectory_auth: found but cannot be built
649 - Bug 4198: assertion failed: client_side.h:364: "sslServerBump == srvBump"
650 - Bug 3775: Disable HTTP/1.1 pipeline feature for pinned connections
651 - Fix require-proxy-header preventing HTTPS proxying and ssl-bump
652 - Fix Negotiate/Kerberos authentication request size exceeds output buffer size
653 - Fix SQUID_X509_V_ERR_DOMAIN_MISMATCH errors while accessing sites with valid certificates
654 - Add server_name ACL matching server name(s) obtained from various sources
655 - Add Kerberos support for MAC OS X 10.x
656 - Support for resuming TLS sessions
657 - ... and some portability and compile fixes
658 - ... and several documentation updates
659 - ... and all fixes from squid 3.4.13
660
661 Changes to squid-3.5.3 (28 Mar 2015):
662
663 - Regression Bug 4213: negotiate_kerberos_auth: freeing non-dynamic memory
664 - Regression Bug 4206: Incorrect connection close on expect:100-continue
665 - Bug 4204: ./configure does not abort when required helpers cannot be built
666 - Bug 3805: support shared memory on MacOS X in Mem::IPC::Segment
667 - Bug 2907: high CPU usage on CONNECT when using delay pools
668 - basic_getpwnam_auth: fail authentication on crypt() failures
669 - basic_nis_auth: fail authentication on crypt() failures
670 - ext_kerberos_ldap_group_acl: Heimdal support improvements
671 - ext_wbinfo_group_acl: Perl 5.20 support
672 - ... and several compile issues
673
674 Changes to squid-3.5.2 (18 Feb 2015):
675
676 - Regression Bug 4176: Digest auth too many helper lookups
677 - Regression Bug 4180: not-fully-initialized data member in ACLUserData
678 - Bug 4172: Solaris broken krb5-config
679 - Bug 4073: Cygwin compile errors
680 - Bug 3919: remove several never-true / never-false comparisons
681 - HTTPS: Add missing root CAs when validating chains that passed internal checks
682 - Fix some cbdataFree related memory leaks
683 - Quieten CBDATA 'leak' messages
684 - Set SNI information in transparent bumping mode
685 - negotiate_kerberos_auth: fix krb5.conf backward compatibility
686 - Fix memory leaks in cachemgr.cgi URL parser
687 - Fix sslproxy_options in peek-and-splice mode
688 - ... and fix several portability and build issues
689 - ... and some documentation updates
690 - ... and all fixes from squid 3.4.11
691
692 Changes to squid-3.5.1 (13 Jan 2015):
693
694 - Fix handling of invalid SSL server certificates when splicing connections
695 - basic_smb_lm_auth: Simplified MSNT basic auth helper
696 - squidclient: Fix -A and -P options
697 - ... and several portability fixes
698 - ... and all fixes from squid 3.4.11
699 - ... and a lot of documentation updates
700
701 Changes to squid-3.5.0.4 (21 Dec 2014):
702
703 - Bug 3826: pt 2: Provide a systemd .service file for Squid
704 - Support http_access denials of SslBump "peeked" connections.
705 - Fix DONT_VERIFY_DOMAIN ssl flag
706 - Fix peek-and-splice mode: certificate validation for domain mismatched errors
707 - negotiate_kerberos_auth: MEMORY keytab and replay cache support
708 - ... and some documentation updates
709 - ... and a large amount of code polishing (non-logic changes)
710
711 Changes to squid-3.5.0.3 (09 Dec 2014):
712
713 - Bug 4146: workaround SSL Bump crash on Linux
714 - Bug 4135: Support \-escaped characters in regex patterns
715 - Bug 4131: SIGSEGV at store.cc:962 content_length > store_maxobjsize
716 - Fix delay_parameters parsing
717 - HTTP/2: handle 'PRI' method found in HTTP/1.x traffic
718 - ... and all changes from squid 3.4.10
719 - ... and a lot of documentation updates
720
721 Changes to squid-3.5.0.2 (31 Oct 2014):
722
723 - Fix FTP socket opening during reconfigure
724 - ... and all changes from 3.4.9
725 - ... and some build errors in rarely used code
726 - ... and several documentation updates
727
728 Changes to squid-3.5.0.1 (17 Oct 2014):
729
730 - Port from 2.7: redirector and logging urlgroup feature
731 - Bug 4093: source-maintenance.sh bad perl -i option
732 - Bug 3608: per-service name for workers UDS sockets
733 - Bug 2554: 32-bit wrap in AUFS counters
734 - Bug 1961 pt1: URL handling redesign
735 - Bug 1202 pt1: documentation for refresh_pattern algorithms
736 - Update Squid boilerplate copyright/license
737 - Update the http(s)_port directives protocol= parameter
738 - Update forward_max_tries to permit 25 server paths
739 - Update Kerberos library detection and build options
740 - Support ACLs on ftp_epsv directive
741 - Support >32KB objects in cache_dir rock storage
742 - Support client connection annotation by helpers via clt_conn_tag=TAG
743 - Support native FTP Relay
744 - Support libgnugss Kerberos library
745 - Support libecap v1.0
746 - Support SSL Peek and Splice feature
747 - Support receiving PROXY protocol version 1 and 2
748 - Replace --enable-ssl build option with --with-openssl
749 - Enable -n service name command line option for all Squid builds
750 - Enable ICAP client by default
751 - Fix configuration file parsing bugs, related to quoted strings
752 - Fix Windows MinGW build errors
753 - Fix multiple TCP outgoing TOS/DiffServ bugs
754 - Fix Cygwin /etc/resolv.conf parsing
755 - Fix crash when sending %ssl::cert_subject to external ACL w/o certificate
756 - Fix crash reading malformed config files
757 - Send selected SSL version and cipher to the certificate validation helper
758 - Validate server certificates without bumping
759 - Add zero-copy string buffer support
760 - Add automated squid.conf parser testing with squid -k parse
761 - Add adaptation_service ACL
762 - Add logformat code %tS to log transaction start time
763 - Add logformat code %>rd to log client URL domain name
764 - Add key_extras to proxy authentication
765 - Add url_rewrite_extras and store_id_extras directives
766 - Add send_hit and store_miss directives
767 - Add collapsed_forwarding directive
768 - Add sslproxy_cert_sign_hash directive
769 - Add SMP SSL session cache
770 - Add cache_peer standby connections
771 - Add helper ext_delayer_acl
772 - Add TCP_TUNNEL log code for CONNECT tunnels which are not SSL-bumped
773 - Add BUILDCXX and BUILDCXXFLAGS configure options for cross-compile
774 - Remove COSS storage in favour of Rock storage
775 - Remove dnsserver and external DNS helper API in favour of mDNS
776 - Remove broken mallinfo() accounting and memory tracing
777 - Remove hierarchy_stoplist in favour of always_direct
778 - Deprecate tag ACL type in favour of note ACL type
779 - Deprecate urlgroup feature in favour of note ACL type
780 - HTTP/1.1: method names are case-sensitive
781 - HTTP/1.1: register new headers from RFC 723x
782 - squidclient: polish and update help display
783 - squidclient: support TLS with GnuTLS 3.1.5+
784 - squidclient: support verbosity levels
785 - squidclient: --ping mode module support
786 - url_fake_rewrite: support concurrency
787 - storeid_file_rewrite: support concurrency
788 - digest_file_auth: support concurrency
789 - digest_edirectory_auth: support concurrency
790 - digest_ldap_auth: support concurrency
791 - ... and many error page translation updates
792 - ... and much code cleanup and polishing
793
794 Changes to squid-3.4.14 (01 Aug 2015):
795
796 - Do not blindly forward cache peer CONNECT responses (CVE-2015-5400)
797
798 Changes to squid-3.4.13 (01 May 2015):
799
800 - Bug 4212: ssl_crtd crashes with corrupt database
801 - ... and some documentation updates
802 - ... and all fixes from squid 3.3.14
803
804 Changes to squid-3.4.12 (18 Feb 2015):
805
806 - Bug 4066: Digest auth nonce indefinite rollover
807 - Bug 3997: Excessive NTLM or Negotiate auth helper annotations
808 - Fix several crashes when debugging enabled
809 - Fix silent SSL/TLS failure on split-stack operating systems
810 - HTTP/1.1: Stop emitting (Proxy-)Authentication-Info for Negotiate
811 - HTTPS: Add TLS/SSL option NO_TICKET to http[s]_port
812 - Remove dst ACL dependency on HTTP request message existence
813 - Set cap_net_admin when Squid sets TOS/Diffserv packet values
814 - ... and some documentation updates
815
816 Changes to squid-3.4.11 (13 Jan 2015):
817
818 - Bug 4164: SEGFAULT when %W formating code used in errorpages
819 - Bug 4057: Avoid on-exit crashes when adaptation is enabled.
820 - Bug 3760: squidclient ignores --disable-ipv6
821 - Bug 3754: configure doesnt detect IPFilter 5.1.2 system headers
822 - Bug 3664: ssl_crtd fails to build on OpenSolaris/OpenIndiana/Solaris 11
823 - cachemgr.cgi: memory leak in request parser
824 - Deleting first fs left psstate->servers pointing to uninitialized memory
825 - ... and some build issues
826
827 Changes to squid-3.4.10 (09 Dec 2014):
828
829 - Bug 4148: external_acl_type header format does not accept the new libformat syntax
830 - Bug 4145: squid_endian.h compile errors with OpenBSD 5.6
831 - Bug 4033: Rebuild corrupted ssl_db/size file
832 - Bug 3902: Docs: external_acl_type cache hash key
833 - Fix segmentation fault in ACL urlpath_regex
834 - Fix bootstrap.sh dependency on SPONSORS.list
835 - Alternate-Protocol is a hop-by-hop header
836 - HTTP/2: Support 421 (Misdirected Request) status code
837
838 Changes to squid-3.4.9 (31 Oct 2014):
839
840 - Regression fix: ext_kerberos_ldap_group_acl typo in 3.4.7 update
841 - Bug 4102: sslbump cert contains only a dot character in key usage extension
842 - Bug 4093: source-maintenance.sh errors and warnings due to wrong tools/options
843 - Bug 4088: memory leak in external_acl_type helper with cache=0 or ttl=0
844 - Bug 4024: Bad host/IP ::1 when using IPv4-only environment
845 - Bug 3803: ident leaks memory on failure
846 - kerberos_ldap_group/cert_tool: Remove ksh dependency
847 - ... and some automated code style updates
848 - ... and some documentation updates
849
850 Changes to squid-3.4.8 (15 Sep 2014):
851
852 - Fix off by one in SNMP subsystem
853 - pinger: Fix various ICMP handling issues
854
855 Changes to squid-3.4.7 (28 Aug 2014):
856
857 - Regression Fix: Kerberos LDAP authorizing groups with principle subdomain
858 - Bug 4080: worker hangs when client identd is not responding
859 - Bug 3966: Add KeyEncipherment when ssl-bump substitues RSA for EC
860 - HTTP/1.1: Ignore Range headers with unidentifiable byte-range values
861 - SSL-bump: Use v3 for fake certificate if we add _any_ certificate extension
862 - Enable compile-time override for MAXTCPLISTENPORTS
863 - ntlm_sspi_auth: Fix various build errors
864 - negotiate_wrapper: Fix build issues with non-portable vfork()
865 - negotiate_sspi_auth: Portability fixes for MinGW
866 - ext_lm_group_acl: Portability fixes for MinGW
867 - ... and several minor memory leaks
868
869 Changes to squid-3.4.6 (25 Jun 2014):
870
871 - Regression: segmentation fault logging with %tg format specifier
872 - Bug 4065: round-robin neighbor selection with unequal weights
873 - Bug 4056: assertion MemPools[type] from netdbExchangeStart()
874 - Bug 4050: segmentation fault in CommSelectEngine::checkEvents on helper response
875 - Fix segmentation fault setting up server SSL connnection
876 - Fix hanging Non-HTTPS connections on SSL-bump enabled port
877 - Fix Cache Manager actions listed more than once
878 - ... and many minor memory leaks
879 - ... and several portability build issues
880 - ... and some documentation updates
881
882 Changes to squid-3.4.5 (02 May 2014):
883
884 - Regression Bug 4051: inverted test on CONNECT payload existence
885 - Regression Fix: order dependency between cache_dir and maximum_object_size
886 - Fix logformat %note display
887 - Resolve 'dying from an unhandled exception: c'
888
889 Changes to squid-3.4.4.2 (23 Apr 2014):
890
891 - version bump for packaging re-build with altered toolchain
892
893 Changes to squid-3.4.4.1 (23 Apr 2014):
894
895 - Regression Bug 4019: Cache digest exchange segmentation fault
896 - Regression Bug 3982: EUI logging and helpers show blank MAC address
897 - Bug 4047: Support Android builds
898 - Bug 4043: Remove XMALLOC_TRACE and references to sbrk(2)
899 - Bug 4041: Missing files in compat/Makefile.am
900 - Bug 4014: Build failure with --disable-optimizations --disable-auth
901 - Bug 3986: (partial) assertion due to incorrect error page buffer size
902 - Bug 3955: Solaris EUI-48 lookup leaks FDs
903 - Bug 3371: CONNECT with data sent at once loses data
904 - C++11: Upgrade auto-detection to use the formal -std=c++11
905 - Crypto-NG: libnettle MD5 algorithm support
906 - SSL-Bump: Fix Basic auth caching on bumped connections
907 - Store-ID: Fix request URI when forwarding requests to peers
908 - ... and fix several other build errors
909 - ... and some documentation updates
910
911 Changes to squid-3.4.4 (09 Mar 2014):
912
913 - Bug 4029: intercepted HTTPS requests bypass caching checks
914 - Bug 4001: remove use of strsep()
915 - Bug 3186 and 3628: Digest authentication always sending stale=false for nonce
916 - Fix stalled concurrent rock store reads
917 - Fix helper ID number assignment
918 - Fix build failures from CMSG related definitions
919 - Fix build failures from libcompat unsafe.h protections
920 - Copyright: Relicense helpers by Treehouse Networks Ltd.
921 - ... and all bug fixes from 3.3.12
922
923 Changes to squid-3.4.3 (02 Feb 2014):
924
925 - Bug 4008: HttpHeader warnOnError should be an int not a bool
926 - Bug 4002: clang 3.4 unable to compile
927 - Bug 3996: Malformed DNS reply leads to crash
928 - Bug 3995: compile error on CentOS 5 with GCC 4.1.2
929 - Bug 3975: atomic detection cross-compilation failure
930 - Bug 3971: "cannot aggregate mgr:client_list: cmd->profile != NULL" in SMP mode
931 - Bug 3954: compile failure in CpuAffinity.cc
932 - Bug 3927: tests/testRock fatal.cc required
933 - Fix memory leak in peer Cache Digest exchange
934 - Fix external_acl_type async loop failures
935 - Fix destination IP address cycling
936 - ... and a few polishing changes
937
938 Changes to squid-3.4.2 (30 Dec 2013):
939
940 - Regression Bug 3980: FATAL ERROR due to max_user_ip -s option
941 - Regression Fix: \-unescaping in quoted strings from helpers
942 - Regression Fix: URL helper API bypassing on URL containing '=' character
943 - Bug 3985: 60s limit introduced by balance_on_multiple_ip breaks bad IP recovery
944 - Bug 3806: Caching responses with Vary header
945 - Bug 3498: FTP PUT assertion
946 - WCCPv2: Fix assertion 'Cannot convert non-IPv4 to IPv4' on FreeBSD
947 - Enable concurrency by default for SSL certificate validator
948 - ... and fix several build errors
949
950 Changes to squid-3.4.1 (09 Dec 2013):
951
952 - Bug 3935: Invalid pointer dereference when peeking at origin server certificate
953 - Bug 3589: intercepted and ICAP modified request using a cache_peer
954 - ... and several portability fixes
955 - ... and some documentation updates
956
957 Changes to squid-3.4.0.3 (01 Dec 2013):
958
959 - Bug 3941: Release notes error
960 - Receive annotations from authentication and external ACL helpers
961 - basic_nis_auth: Improved portability
962 - ... and several documentation updates
963 - ... and all bug fixes from 3.3.9, 3.3.10, 3.3.11
964
965 Changes to squid-3.4.0.2 (03 Oct 2013):
966
967 - Regression Bug 3891: squid.conf parser errors in 3.4.0.1
968 - Regression Fix: re-disable MinGW C++11 support
969 - Bug 3914: partial: make squidclient tool build cleanly with -Wconversion
970 - Fix memory leak in refresh_pattern parsing
971 - negotiate_kerberos_auth: upgrade to present group= keys
972 - Handle NTLM helper returning OK without user= value
973 - Add dns_multicast_local to control mDNS operation
974 - Add --disable-arch-native build option
975 - Display Build-Info in cache manager info report
976 - ... and all changes from squid 3.3.9
977 - ... and some code and debug output polishing
978
979 Changes to squid-3.4.0.1 (29 Jul 2013):
980
981 - Port from 2.7: StoreURL (renamed Store-ID) support
982 - Bug 3795: fix several mistakes in the MIB file
983 - Bug 3793: configure: improved helper detection
984 - Bug 3722: Invalid markup in Armenian hy ERR_ONLY_IF_CACHED_MISS
985 - Bug 3676: Support GCC 4.7 with -Wshadow option
986 - Bug 3643: NTLM helpers stuck in reserved state by Safari
987 - Bug 3389: Auto-reconnect for tcp access_log
988 - Bug 2066: squid does not do chdir() after chroot()
989 - Fix uninitialized fields in IcapLogEntry
990 - Fix a number of minor issues detected by Coverity Scan
991 - Fix some potential memory leaks detected by Coverity Scan
992 - Fix 64-bit support for Intel compiler suite (ICC) and other similar compilers
993 - Fix ACL matching algorithm to avoid repeating tests
994 - basic_pam_auth: Add -r option to strip NTLM/Negotiate domain from username
995 - squidpurge: fix META TLV parsing issues
996 - squid.conf: enforce all the directive and option names are lower-case
997 - Support EUI on HTTPS and FTP data connections
998 - Support OK/ERR/BH response codes from any helper
999 - Support No-lookup flag (-n) on DNS ACLs
1000 - Support -march=native compiler optimization by default
1001 - Support forwarding intercepted but not bumped connections to cache_peers
1002 - Support IPv6 NAT interception on Linux and some BSD
1003 - Deprecate log_icap and log_access configuration directives
1004 - HTTP/1.1: improved method invalidation and cacheability detection
1005 - HTTP/1.1: support length configuration for pipeline_prefetch queue
1006 - Improved TPROXY support for OpenBSD and FreeBSD
1007 - Add storeid_file_rewrite helper to perform Store-ID rewrites from a rules file
1008 - Add all-of and any-of ACL types for grouping sets of ACL tests
1009 - Add note directive for transaction annotations
1010 - Add %note log format for transaction annotation logging
1011 - Add note ACL type for matching annotated transactions with by annotation name or value
1012 - Add kv-pair support to URL-rewrite/redirector interface
1013 - Add SSL server certificate validator interface, helper and result cache
1014 - Add SSL server certificate fingerprint ACL type
1015 - Add spoof_client_ip access control
1016 - Add pt-bz (Belize Portuguese) dialect to translations
1017 - ... and many Windows portability changes (still incomplete)
1018 - ... and many documentation changes
1019 - ... and much code cleanup and polishing
1020
1021 Changes to squid-3.3.14 (01 May 2015):
1022
1023 - Bug 4093: source-maintenance.sh errors and warnings due to wrong tools/options
1024 - ... and some documentation updates
1025 - ... and all fixes from squid 3.2.14
1026
1027 Changes to squid-3.3.13 (28 Aug 2014):
1028
1029 - Fix segmentation fault setting up server SSL connnection
1030 - HTTP/1.1: Ignore Range headers with unidentifiable byte-range values
1031
1032 Changes to squid-3.3.12 (09 Mar 2014):
1033
1034 - Regression Bug 3769: client_netmask not evaluated since Comm redesign
1035 - Bug 4026: Fix SSL and adaptation_access handling of aborted connections
1036 - Bug 3969: Fix credentials caching for Digest authentication
1037 - Bug 3806: Caching responses with Vary header
1038 - Fix umask default on crash report generated email
1039 - Fix pthread library detection on FreeBSD 10
1040 - Avoid assertions on Range requests that trigger Squid-generated errors.
1041
1042 Changes to squid-3.3.11 (01 Dec 2013):
1043
1044 - Regression Bug 3936: error-details.txt parse error with OpenSSL since 3.3.9
1045 - Bug 3972: Segfault when getting the deny_info page ID after a reconfigure
1046 - Bug 3970: max_filedescriptors disabled due to missing setrlimit
1047 - Bug 3967: ipc/Kid.cc compilation failure: 'time' was not declared in this scope
1048 - Bug 3960: DEAD cache_peer are not revived
1049 - Bug 3956: xstrndup: tried to dup a NULL pointer
1050 - Bug 3906: Filedescriptor leaks in SNMP
1051 - Bug 3782: Digest authentication not obeying nonce_max_count
1052 - HTTP/1.1: Make header parser obey relaxed_header_parser
1053 - HTTP/1.1: Re-compute Range response content offset after an FTP response was adapted
1054 - SMP: Replace blocking sleep(3) and close UDS socket on failures
1055 - Windows: fix several compile errors
1056
1057 Changes to squid-3.3.10 (03 Nov 2013):
1058
1059 - Bug 3929: request_header_add not working for tunnel requests
1060 - Bug 3923: cbdata and undefined behavior due to dynamic runtime enumeration
1061 - Bug 3918: Self Test Failures on Mac OS X 10.8
1062 - Bug 3887: tcp_outgoing_tos not working for IPv6
1063 - Bug 3836: Fix issues with automake 1.13+ and make check
1064 - Bug 3480: StoreEntry::kickProducer() segfaults in store_client::copy()
1065 - Fix pinning hierarchy log information
1066 - Fix close idle client connections associated with closed idle pinned connections.
1067 - Fix cbdata 'error: expression result unused' errors
1068 - Avoid "hot idle": A series of rapid select() calls with zero timeout.
1069 - Append Connection:close to OPTIONS requests when icap_persistent_connections is off
1070 - ntlm_fake_auth: pass DOMAIN data to Squid in original case
1071 - kerberos_ldap_group: fix LDAP string duplication
1072 - Use IPv6 localhost nameserver on DNS configuration errors
1073 - Add cache_miss_revalidate
1074 - ... and several portability improvements
1075
1076 Changes to squid-3.3.9 (11 Sep 2013):
1077
1078 - Regression Bug 3077: off-by-one error in Digest header decoding
1079 - Bug 3895: fix acl_uses_indirect_client and cache_peer_access
1080 - Bug 3879: assertion failed ConnStateData::validatePinnedConnection
1081 - Bug 3863: myportname acl causes segmentation fault
1082 - Bug 3849: Duplicate certificate sent when using https_port
1083 - Bug 2287: Better fix for unsupported HTTP version handling
1084 - Bug 2112: Reload into If-None-Match
1085 - Fix several assert with side effects in ICAP/eCAP response handling
1086 - Fix myportname ACL on ICAP/eCAP transactions
1087 - Fix external ACL user:pass detail logging after adaptation
1088 - Fix SMP mgr:info report 'Largest file desc currently in use'
1089 - Handle infinite certificate validation loops caused by OpenSSL Bug 3090.
1090 - Improved compatibility with gcc 4.8, clang and icc
1091 - Show number of available filedescriptors when reserved FD changes
1092 - Sync with newest OpenSSL error codes
1093 - Register Http2-Settings header
1094 - ... and many Windows portability fixes
1095
1096 Changes to squid-3.3.8 (13 Jul 2013):
1097
1098 - Bug 3869: assertion failed: MemBuf.cc:272: size < capacity
1099 - Improved handling of port values in Host: header validation
1100
1101 Changes to squid-3.3.7 (11 Jul 2013):
1102
1103 - Bug 3297: Fix openSSL related build failures
1104 - Fix build on FreeBSD 9.x platform with clang
1105 - Protect against buffer overrun in DNS query generation
1106
1107 Changes to squid-3.3.6 (01 Jul 2013):
1108
1109 - Bug 3854: pt1: compile errors on AIX
1110 - Bug 3802: Fix wrong check inside Format::Format::assemble
1111 - Bug 3762: remove bogus WARNING in cache.log
1112 - Bug 3717: assertion failed with dstdom_regex with IP based URL
1113 - Bug 1991: kqueue causes SSL to hang
1114 - Ask for SSL key password when started with -N but without sslpassword_program
1115 - Make sure %<tt includes all [failed] connection attempts
1116 - Support HTTP reply ACLs in icap_log and log_icap
1117 - Fix incorrect external_acl_type codes
1118 - Fix ICAP logging request headers and segmentation faults
1119 - ... and some documentation polish
1120
1121 Changes to squid-3.3.5 (20 May 2013):
1122
1123 - Bug 3851: Delay Pool class 5 tag:levels displayed incorrectly in cache manager
1124 - Bug 3845: http_port tcpkeepalive= option fails parsing
1125 - Bug 3840: assertion failed 'sde' in UFS cache loading
1126 - Bug 3836: make check failures with automake-1.13
1127 - Bug 3827: Remove AccessLogEntry::cache.authuser
1128 - Bug 3816 pt2: SSL_get_certificate call inside Ssl::verifySslCertificate crashes
1129 - Bug 3780: cachemgr.cgi: output problem in HTTP Header Statistics
1130 - Bug 3759: OpenSSL compilation error on stock Fedora17, RHEL, CentOS 6 systems
1131 - Bug 3744: squid terminated: FATAL: Bungled (null) line 3: sslproxy_cert_sign signTrusted all
1132 - Port from 2.6: external acl %ACL and %DATA tags
1133 - Update copyright on SN.png
1134 - ... and several minor memory leaks
1135 - ... and some documentation polish
1136
1137 Changes to squid-3.3.4 (27 Apr 2013):
1138
1139 - Bug 3831: basic_ncsa_auth Blowfish and SHA support
1140 - Bug 3816: SSL_get_certificate call inside Ssl::verifySslCertificate crashes
1141 - Bug 3794: MacOS: workaround compiler errors and case-insensitivity
1142 - Bug 3781: Proxy Authentication not sent to cache_peer
1143 - Bug 3720 pt1: SourceLayout: shuffle fd_table definition into fde.h
1144 - Bug 3720 pt2: Add missing include in /dev/poll I/O module
1145 - Bug 3674: Improve compiler detection, better support warnings-as-errors on clang
1146 - Add support for TPROXY on BSD
1147 - Fix SSL Bump bypass for intercepted traffic
1148 - Fix memory leaks in ConnStateData pinning
1149 - Fix external_acl.cc "inBackground" assertion on queue overloads
1150 - CacheMgr: fix missing column separator in helper stats
1151 - OpenBSD: libpthreads requires OpenBSD 5.2 or later
1152 - ... and lots of documentation updates
1153 - ... and all changes from squid 3.2.10
1154
1155 Changes to squid-3.3.3 (12 Mar 2013):
1156
1157 - Bug 3720: Add missing include in /dev/poll I/O module (pt2)
1158 - ... and all changes from squid 3.2.9
1159
1160 Changes to squid-3.3.2 (02 Mar 2013):
1161
1162 - Bug 3781: Proxy Authentication not sent to cache_peer
1163 - Bug 3794: MacOS: workaround compiler errors
1164 - Bug 3720: Compile error in Solaris /OpenIndiana
1165 - ... and all changes from squid 3.2.8
1166
1167 Changes to squid-3.3.1 (09 Feb 2013):
1168
1169 - Bug 3726: build errors with --disable-ssl
1170 - Propigate pinned connection persistency and closures to the client.
1171 - Mimic SSL certificate Key Usage and Basic Constraints
1172 - Fix segmentation fault on missing squid.conf values
1173 - ext_sql_session_acl: Fix hex decoding on UID
1174 - ... and some code polish
1175 - ... and a lot of documentation polish
1176 - ... and all changes from squid 3.2.7
1177
1178 Changes to squid-3.3.0.3 (09 Jan 2013):
1179
1180 - Bug 3729: 32-bit overflow in parsing 64-bit configuration values
1181 - Bug 3728: Improve debug for cache_dir
1182 - Additional fixes for CVE-2012-5643 / SQUID:2012-1
1183 - kerberos_ldap_group: support multiple groups in squid.conf ACL definition
1184 - kqueue: update status from experimental to fully available net I/O method
1185 - ... and many memory leaks and potential bugs detected by Coverity Scan
1186
1187 Changes to squid-3.3.0.2 (03 Dec 2012):
1188
1189 - Support matching empty header field values using req_header and rep_header
1190 - ... and some minor code polish and input vaidations
1191 - ... and all changes from squid 3.2.4
1192
1193 Changes to squid-3.3.0.1 (21 Oct 2012):
1194
1195 - Bug 3610: Add peername_regex ACL
1196 - Bug 3239: rename myip/myport as localip/localport
1197 - Bug 3130: helpers are crashing too rapidly
1198 - Add log_db_daemon SQL Database Logging Daemon
1199 - Add ext_time_quota_acl helper managing sessions by bandwidth usage
1200 - Add request_header_add option
1201 - Support C++11 features where possible
1202 - Support bump-ssl-server-first
1203 - Support mimic SSL server certificates
1204 - Remove --enable-ntlm-fail-open
1205 - Fix TLS/SSL Options does not apply to the dynamically generated certificates
1206 - Fix SslBump stuck after error
1207 - Polish: display ACL enumeration text in debugs
1208 - ... and many portability fixes for MacOS X, Windows and others
1209 - ... and many compile error fixes
1210 - ... and a very large amount of code polish for faster compilation
1211
1212 Changes to squid-3.2.14 (01 May 2015):
1213
1214 - Fix 'access_log none' to prevent following logs being used
1215 - Fix X509 server certificate domain matching
1216 - ... some documentation updates
1217
1218 Changes to squid-3.2.13 (13 Jul 2013):
1219
1220 - Bug 3869: assertion failed: MemBuf.cc:272: size < capacity
1221 - Improved handling of port values in Host: header validation
1222
1223 Changes to squid-3.2.12 (11 Jul 2013):
1224
1225 - Protect against buffer overrun in DNS query generation
1226 - Avoid !closing assertions when helpers call comm_read during reconfigure.
1227 - Fix several minor memory leaks during reconfigure
1228 - Remove origin_tries limiter on forwarding and permit large max_forward_tries values
1229
1230 Changes to squid-3.2.11 (30 Apr 2013):
1231
1232 - Regression Bug 3839: build error: src/tools.h: No such file or directory
1233 - Update copyright on SN.png
1234
1235 Changes to squid-3.2.10 (27 Apr 2013):
1236
1237 - Bug 3833: squidclient: Option '-k' is not present in man(1) page
1238 - Bug 3825: basic_ncsa_auth: segfaulting with glibc-2.17
1239 - Bug 3822: Locate LDAP and SASL headers for BSD support
1240 - Bug 3817: Memory leak in SSL cert validate for alt_name peer certs
1241 - Bug 3774: 'squid -k reconfigure' drops rock cache
1242 - Bug 3565: Resuming postponed accept kills Squid
1243 - HTTP/1.1: partial support for no-cache and private controls with parameters
1244 - ssl_crtd: fix helpers dying during startup on ARM
1245 - GNU Hurd: define MAP_NORESERVE as no-op when missing
1246 - BSD: fix enter_suid/leave_suid build errors in ip/Intercept.cc
1247
1248 Changes to squid-3.2.9 (12 Mar 2013):
1249
1250 - Regression fix: Accept-Language header parse
1251 - Bug 3673: Silence 'Failed to select source' messages
1252 - Fix authentication headers sent on peer digest requests
1253 - Fix build error on Solaris, OpenIndiana, Omnios
1254
1255 Changes to squid-3.2.8 (02 Mar 2013):
1256
1257 - Bug 3767: tcp_outgoing_tos/mark ACLs do not obey acl_uses_indirect_client
1258 - Bug 3763: diskd Error: no filename in shm buffer
1259 - Bug 3752: objects that cannot be cached in memory are not cached on disk
1260 - Bug 3753: Removes the domain from the cache_peer server pconn key
1261 - Bug 3749: IDENT lookup using wrong ports to identify the user
1262 - Bug 3723: tcp_outgoing_tos/mark broken for CONNECT requests
1263 - Bug 3686: cache_dir max-size default fails
1264 - Bug 3515: crash in FtpStateData::ftpTimeout
1265 - Bug 3329: Quieten orphan Comm::Connection messages
1266 - Make squid -z for cache_dir rock preserve the rock DB
1267 - Fixed several server connect problems
1268 - ... and some build issues on Solaris, OpenIndiana, MacOS X
1269 - ... and some documentation and debugs polishing
1270
1271 Changes to squid-3.2.7 (01 Feb 2013):
1272
1273 - Bug 3736: Floating point exception due to divide by zero
1274 - Bug 3735: raw-IPv6 domain URLs crash if IPv6-disabled
1275 - Bug 3732: Fix ConnOpener IPv6 awareness
1276 - Bug 3729: 32-bit overflow in parsing 64-bit configuration values
1277 - Bug 3728: Improve debug for cache_dir
1278 - Bug 3687: unhandled exception: c when using interception and peers
1279 - Bug 3678: external acl grace period causes acl lookup failures
1280 - Bug 3567: Memory leak handling malformed requests
1281 - Bug 3111: Mid-term fix for the forward.cc "err" assertion
1282 - Support OpenSSL NO_Compression optio
1283 - Fix IPv6 enabled pinger on split-stack or IPv6-disabled systems
1284 - Fix "address.GetPort() != 0" assertion for helpers
1285 - ... and several minor memory leaks
1286 - ... and some cache.log message polishing
1287
1288 Changes to squid-3.2.6 (09 Jan 2013):
1289
1290 - Regression Bug 3731: TOS setsockopt() requires int value
1291 - Regression Bug 3712: Rotating logs overwrites the previous log
1292 - Bug 3727: LLVM compile errors in kerberos_ldap_group
1293 - Bug 3650: Negotiate auth missing challenge token
1294 - Additional fixes for CVE-2012-5643 / SQUID:2012-1
1295
1296 Changes to squid-3.2.5 (10 Dec 2012):
1297
1298 - Bug 3698: Add missing include of errno.h
1299
1300 Changes to squid-3.2.4 (03 Dec 2012):
1301
1302 - Ported: urllogin ACL from squid 2.7
1303 - Bug 3688: Lots of Orphan Comm:Connections to ICAP server
1304 - Bug 3677: Port un-pinning logic changes from squid 3.3
1305 - Bug 3405: ssl_crtd crashes failing to remove certificate
1306 - ... and major bugs fixed in squid 3.1.22
1307 - Fix accept_filter on Linux
1308 - Remove 'Bungled' warning on missing component directives
1309 - ... and many buffer and memory leak issues in the bundled helpers
1310 - ... and a small amount of code polishing
1311
1312 Changes to squid-3.2.3 (21 Oct 2012):
1313
1314 - Regression: SMP crashes on startup with workers > 1
1315 - Bug 3655: pinning failure breaks NTLM and Negotiate authentication
1316 - SMP: Allow a UFS cache_dir entry to coexist with a shared memory cache entry
1317 - HTTP/1.1: honour Cache-Control before Pragma:no-cache
1318 - HTTP/1.1: Cache-Control compliance upgrade
1319 - Remove obsoleted refresh_pattern ignore-no-cache option
1320 - Fix IPv6 enabled squidclient
1321 - ... and several compile fixes
1322
1323 Changes to squid-3.2.2 (06 Oct 2012):
1324
1325 - Regression: Make login=PASS send no credentials when none available
1326 - Regression: Handle dstdomain duplicates and overlapping names better
1327 - Bug 3661: Segmentation fault when using more than 1 worker
1328 - Bug 3660: ACLFilledChecklist::fd set with wrong fd for sslproxy_cert_error
1329 - Bug 3658: ERR_ZERO_SIZE_OBJECT propagates out even after successful retry
1330 - Bug 3648: polish String class files
1331 - Bug 3647: parsing hier_code acl fails
1332 - Bug 3626: forwarding loops on intercepted traffic
1333 - Bug 3616: retrieve client connection for ACL checks from the related HttpRequest object
1334 - Bug 3609: several RADIUS helper improvements
1335 - Bug 3605: memory leak in Negotiate authentication
1336 - Fix small memory leak in src ACL parse
1337 - Fix maximum_single_addr_tries upgrade
1338 - Fix chunked encoding on responses carrying a Content-Range header.
1339 - Do not reuse persistent connections for PUTs to avoid ERR_ZERO_SIZE_OBJECT
1340 - ... and several compile errors
1341
1342 Changes to squid-3.2.1 (15 Aug 2012):
1343
1344 - Bug 3605: memory leak in peer selection
1345 - Bug 3478: better default handling without -DSTRICT_ORIGINAL_DST
1346 - ... and some documentation updates
1347
1348 Changes to squid-3.2.0.19 (02 Aug 2012):
1349
1350 - Regression Bug 3580: IDENT request makes squid crash
1351 - Regression Bug 3577: File Descriptors not properly closed
1352 - Regression Bug 3478: Allow peer selection and connection auth on intercepted traffic
1353 - Regression Fix: Restore memory caching ability
1354 - Bug 3556 Workaround: epoll assertion failed: comm.cc:1093: isOpen(fd)
1355 - Bug 3551: store_rebuild.cc:116: "store_errors == 0" assertion
1356 - Bug 3525: Do not resend nibbled PUTs and avoid "mustAutoConsume" assertion.
1357 - Avoid bogus "Disk space over limit" warnings when rebuidling dirty ufs index
1358 - Support custom headers in [request|reply]_header_* manglers
1359 - ... and much code polishing
1360
1361 Changes to squid-3.2.0.18 (29 Jun 2012):
1362
1363 - Bug 3576: ICY streams being Transfer-Encoding:chunked
1364 - Bug 3537: statistics histogram leaks memory
1365 - Bug 3526: digest authentication crash
1366 - Bug 3484: Docs: sslproxy_cert_error example flawed
1367 - Bug 3462: Delay Pools and ICAP
1368 - Bug 3405: ssl_crtd crashes failing to remove certificate
1369 - Bug 3380: Mac OSX compile errors with CMSG_SPACE
1370 - Bug 3258: Requests hang when Host forgery verify fails
1371 - Bug 3186: Digest auth caches failed state without revalidating
1372 - Bug 2976: ERR_INVALID_URL for transparently captured requests when reconfiguring
1373 - Bug 2885: AIX: check and set required compiler flags
1374 - Fix ssl_crtd compile issues with libsslutil
1375 - Fix build with GCC 4.7 (and probably other C++11 compilers).
1376 - Fix double-escape of %R on deny_info redirect responses
1377 - Support status 308 Permanent Redirect
1378 - Support for TLSv1.1 and TLSv1.2 options and methods
1379 - Support passing external_acl_type credentials on ICAP
1380 - Language Updates: fr, hy, pt_BR
1381 - ... and many compile issues on Windows
1382 - ... and some minor code polish
1383
1384 Changes to squid-3.2.0.17 (12 Apr 2012):
1385
1386 - Bug 3527: EUI compile errors on Mac OS X 10.5.8 PPC
1387 - Bug 3509: kQueue compile error
1388 - Bug 3505: crash in CbcPointer<Comm::ConnOpener> constructor
1389 - Bug 3441: Part 3: Replace corrupted v1 swap.state with new v2 format.
1390 - Bug 3397: do not mark connection as opened until after SYN-ACK
1391 - Bug 3193: NTLM decoder truncating strings
1392 - Windows FD handling polish and some fixes
1393 - Solaris 9/10 various build fixes
1394 - ... and some more code polish
1395
1396 Changes to squid-3.2.0.16 (07 Mar 2012):
1397
1398 - Bug 3508: Correct DNS timeout handling.
1399 - Bug 3503: DNS PTR queries timeout due to wrong QIDs.
1400 - Bug 3497: Bad ssl_crtd db size file causes infinite loop
1401 - Bug 3490: part 1: SegFault opening FTP active data connections
1402 - Bug 3490: Crash writing Apache Common and Referer/Useragent logs
1403 - Bug 3458: Icon Serving (squid-internal-static) Broken
1404 - Bug 3457: Display TLS error details in ERR_SECURE_CONNECT_FAIL
1405 - Bug 3381: 32-bit overflow assertion in StatHist
1406 - Bug 3324: loadFromFile: parse error while reading template file
1407 - Support sslpassword_program for ssl-bump HTTP ports
1408 - Support CoAP protocol coap:// and coaps:// URL schemes in HTTP requests
1409 - Retry requests that failed due to a persistent connection race
1410 - Log '-' on requests with no Referer or User-Agent headers
1411 - ... and several fixes related to in-transit object performance
1412 - ... and some structural design changes for portability
1413
1414 Changes to squid-3.2.0.15 (06 Feb 2012):
1415
1416 - Bug 3472: segfault with the message 'urlParse: URL too large'
1417 - Bug 3471: segfault when %la formating code used
1418 - Bug 3449: part 3: shm_open can fail with a mangled path
1419 - Bug 3449: part 4: shm_open failed (fixing memory_cache_shared defaults)
1420 - Bug 3448: 204 response problem in adaptation chains
1421 - Bug 3447: assertion failed: CommCalls.h:150: "dp"
1422 - Bug 3461: build regression in IPFilter NAT
1423 - Bug 3413: raise cbdata lock limits
1424 - Bug 3391: forwarded_for log functionality broken
1425 - Bug 3268: Squid cannot do anything else during ufs/diskd rebuild
1426 - Bug 3268: remove wrong 'Ready to serve requests.' message
1427 - Bug 2519: ssl_bump + Authentication (LDAP Digest) issues
1428 - Disable OpenSSL SSL/TLS bug workarounds by default
1429 - Send DNS A and AAAA queries in parallel
1430 - Cache Manager migration support
1431 - Allow service of internal requests over reverse-proxy ports
1432 - Fix trimMemory for unswappable objects
1433 - ... and several build and polish fixes
1434
1435 Changes to squid-3.2.0.14 (12 Dec 2011):
1436
1437 - Bug 3433: Segfault closing SNMP
1438 - Bug 3420: Request body consumption races and !theConsumer exception.
1439 - Bug 3406: SSL Log Error in debug
1440 - Bug 3383: store.cc:1631: "new_status != IN_MEMORY" assertion
1441 - Bug 3383: unhandled exception: theGroupBSize > 0
1442 - Bug 3377: assertion failed: store.cc:885: "store_status == STORE_PENDING"
1443 - Bug 3367: fix inverted check on host_strict_verify
1444 - Bug 3366: assertion comm.cc:1276: isOpen(fd) via CompositePoolNode::kickReads
1445 - Bug 3364: SNMP Orphans
1446 - Bug 3301: ERR_DNS_FAIL never shown
1447 - Bug 3150: do not start useless unlinkd
1448 - ext_session_acl: version 1.2
1449 - Add adaptation_meta option
1450 - Add a mask on the qos_flows miss configuration value
1451 - Support intermediate CA in ssl-bump traffic certificates
1452 - Support SSL certificate failure details on error page
1453 - Fix flags for NAT intercept and TPROXY not set correctly
1454 - Fix fastCheck() default result on multi-line actions
1455 - Fix missing SMP shared memory statistics
1456 - Fix Comm::Write closing() assertion when retrying a failed UDP DNS query
1457 - ... and several other TCP and SMP support behaviour fixes
1458 - ... and many code polishing cleanups and fixed build errors
1459 - ... and several documentation polishings
1460
1461 Changes to squid-3.2.0.13 (14 Oct 2011):
1462
1463 - Regression Bug 3363: never_direct always 'unable to forward this request at this time'
1464 - Regression Bug 3351: FTP timeout causing "store_status == STORE_PENDING" assertion
1465 - Regression Bug 3336: reconfigure assertion 'hlp->childs.n_running > 0'
1466 - Regression fix: always_direct/never_direct failures
1467 - Regression fix: stop an SSL header file being included after --disable-ssl
1468 - Regression fix: parse HTTP list headers with embedded 8-bit characters
1469 - Bug 3355: configure setting --with-swapdir ignored
1470 - Bug 3325: option to selectively enable strict host verify checks
1471 - Bug 3337: HTTP status 200 is not accepted for deny_info
1472 - Bug 3077: '\' in url query strings cause Digest authentication to fail
1473 - Support SMP worker shared memory cache
1474 - Support SMP worker shared disk cache (rock)
1475 - ext_session_acl: version 1.1
1476 - Fix Host verify: do not pinn destination IP if URL re-write has been done
1477 - Fix IPF interception
1478 - Fix ssl_crtd "Cannot add certificate to db" when updating expired cert
1479 - Fix ssl_crtd CertificateDB locking scheme
1480 - ... and all changes from 3.1.16
1481 - ... and many compile and polishing fixes
1482
1483 Changes to squid-3.2.0.12 (17 Sep 2011):
1484
1485 - Regression Bug 3335: ICAP service is down
1486 - Regression Bug 3322: adapt:: and icap:: format codes do not parse
1487 - Regression Bug 3303: Support for non-English usernames in log files
1488 - Regression Bug 3259: assertion failed: Connection.cc:29: 'fd<0' after REVIVED PARENT
1489 - Regression: %I shows hostname on SSL error page
1490 - Regression: FTP outgoing port always 'in use' on PASV connections
1491 - Bug 3337: (partial) status 200 is not accepted for deny_info
1492 - Bug 3319: Inconsistencies in error messages
1493 - Bug 3281: pconn in-use while closing assertion
1494 - Bug 3243: Fix cases: raw-IPv6, case variant FQDN, internal request
1495 - Fixed max-stale check. Entities not exceeding max-stale were marked as stale
1496 - Adjust format code %la for intercepted connections
1497 - Log ICAP_ERR_GONE ICAP transaction outcome when ICAP initiator disappears early
1498 - Send RST packet when closing an ICAP connection after a transaction error
1499 - Support maximum field width for string access.log fields
1500
1501 Changes to squid-3.2.0.11 (28 Aug 2011):
1502
1503 - Bug 3243: CVE-2009-0801 Bypass of browser same-origin access control
1504 - Host: authority validation of intercepted destination IP
1505 - Host: authority validation of request URL
1506 - Host: authority validation of CONNECT tunnel destination
1507 - Preserve client destination IP in intercepted communication
1508 - Regression Bug 3316: Failed to connect to nameserver using TCP
1509 - Regression Bug 3311: segmentation fault in getMyPort() with only intercept port set
1510 - Regression Bug 3310: %<pt translates as %<p
1511 - Regression Bug 3301: ERR_DNS_FAIL never shown (partial)
1512 - Regression Bug 3288: %<la and %<lp not displaying
1513 - Bug 3289: cache manager parameters not parsed without password
1514 - Bug 2279: Log Format options to log server source IP and port
1515 - Bug 3211: ssl_crtd start even if no ssl-bump port is configured
1516 - Bug 3138: squidclient mgr:objects/mgr:vm_objects never ends
1517 - Bug 3118: ecap_enable on forces icap_enable on
1518 - Bug 3107: ncsa_auth DES silently truncates passwords to 8 bytes
1519 - Default to vhost for accelerator mode (reverse proxy)
1520 - Display HTTP protocol syntax at section 11 level 2
1521 - Support for using custom keys in CARP parents
1522 - Optimize regular expression ACLs
1523 - ... and a lot of code portability fixes
1524 - ... and all bugs and polish changes from 3.1.15
1525
1526 Changes to squid-3.2.0.10 (24 Jul 2011):
1527
1528 - Port from 2.7: act-as-origin for reverse proxy ports
1529 - Regression fix: broken --disable-ipv6
1530 - Regression fix: negative cacheing on unknown or -1 expiry timestamp
1531 - Regression fix: vhost and defaultsite causing vport to be ignored
1532 - Regression fix: several errors in persistent connection handling
1533 - Regression Bug 3280: allow max-size unset and min-size=N for large objects
1534 - Regression Bug 3245: reconfigure assertion in MemPools[type]
1535 - Regression Bug 3274: assertion failed: CommCalls.h:144: "dp"
1536 - Regression Bug 3273: assertion comm.cc:775: Comm::IsConnOpen(conn)
1537 - Regression Bug 3269: cache.log applyQueryParams messages
1538 - Regression Bug 3264: Segmentation Fault in src/ipc/Strand.cc(54) receive: 3
1539 - Regression Bug 3246: assertion client_side.cc:1407 connIsUsable(http->getConn())
1540 - Bug 3267: workers IPC mount points disobey --localstatedir
1541 - Bug 3248: login=NEGOTIATE sends wrong auth header to origin peers
1542 - Bug 3247: Domain from URL Stripped when going through peers
1543 - Bug 3244: wrong port for peer relayed requests
1544 - Bug 3195: kerberos_ldap_group will not build without kerberos
1545 - Bug 2862: add http(s):// support to cache manager
1546 - kerberos_ldap_group: several fixes to -S option
1547 - ssl_crtd: Add man(8) file
1548 - ... and several pieces of code cleanup and polishing.
1549 - ... and most bug fixes and updates from 3.1.14 and 3.1.15
1550
1551 Changes to squid-3.2.0.9 (18 Jun 2011):
1552
1553 - Bug 3159: delay pools --disable-auth compile problems
1554 - HTTP/1.1: Support multiline quoted-string header fields
1555 - HTTP/1.1: Send 505 Unsupported Version on mangled version codes
1556 - Support configurable and translated SSL error details messages
1557 - Add log format codes for split client/server views of HTTP request line
1558 - Major upgrade of TCP connection handling
1559 - Support split-stack IPv6 to servers
1560 - Support persistent connections with tcp_outgoing_address/tcp_outgoing_tos
1561 - Optimized persistent connection handling
1562 - Optimized FTP data connection handling
1563 - Optimized TCP failure recovery
1564 - ... and all bug fixes and updates from 3.1.12.3
1565 - ... and many code polish, documentation and translation cleanups
1566
1567 Changes to squid-3.2.0.8 (30 May 2011):
1568
1569 - Bug 3214: "helperHandleRead: unexpected read from ssl_crtd" errors.
1570 - Bug 3043: Properly detect Iphlpapi.h on windows
1571 - Bug 2055: Honor ICAP Max-Connections
1572 - Fix NTLM/Negotiate reply auth PASSTHRU to peers
1573 - Support SSL SNI to origin servers
1574 - Add %EXT_LOG and %EXT_TAG external_acl_type format options
1575 - Add %b tag for proxy listening port display in error pages
1576 - Optimize base64 encoding/decoding
1577 - Require libcap before enabling netfilter MARK support
1578 - Require libtool 2.2
1579 - Bundle pkg.m4 from pkg-config 0.25 for OS without pkg-config
1580 - ... and all bug fixes and updates from 3.1.12.2
1581 - ... and some documentation and code polishing
1582
1583 Changes to squid-3.2.0.7 (19 Apr 2011):
1584
1585 - Regression fix: NTLM and Negotiate auth assertion "RefCountCount() == 2"
1586 - Regression fix: icons/ FHS compliance
1587 - Regression fix: Startup aborts with URL error when --disable-htcp
1588 - Bug 3192: comm.cc:216: "fd_table[fd].halfClosedReader != NULL"
1589 - Add negotiate_wrapper_auth version 1.0.1
1590 - Fixed %dt logging in the presence of REQMOD
1591 - Fixed chunked request forwarding in ICAP REQMOD presence
1592 - ... all bug fixes and updates from 3.1.12.1
1593 - ... many code polishings and display cleanups
1594
1595 Changes to squid-3.2.0.6 (04 Apr 2011):
1596
1597 - Regression fix: upgrade existing icons
1598 - Regression fix: dont crash when accessing an SSL certificate with errors
1599 - Regression fix: prevent stdio log module segfaults on rotate
1600 - Regression fix: shutdown properly even if a worker process crashes on exit
1601 - Regression Bug 3159: (partial fix) ICAP and --disable-auth compile problems
1602 - Bug 3170: "Unsupported or unconfigured/inactive proxy-auth scheme" on shutdown
1603 - Bug 3105: malformed Proxy-Authorization leaks memory
1604 - Bug 3007: CONNECT to cache_peer returns 000 status code
1605 - Bug 2885: Compile errors on AIX
1606 - Support parameterized Cache Manager queries
1607 - Support libecap v0.2.0; fixed eCAP body handling and logging
1608 - Support dynamic adaptation plans that cover multiple vectoring points
1609 - Support %D details for documented OpenSSL errors
1610 - Support logging of all transactions including those with uncertain status or no sent response
1611 - Updrate negotiate_kerberos_auth to version 3.0.4sq
1612 - Update ext_kerberos_ldap_group_acl to version 1.3.0sq
1613 - Update ext_edirectory_userip_acl to version 2.1
1614 - Convert dns_timeout and dns_retransmit_interval directives to use millisecond resolution
1615 - Change the default dns_timeout value from 2 minutes to 30 seconds
1616 - Fix TCP log stream flushing on every line
1617 - ... all bug fixes and updates from 3.1.12
1618 - ... a great many compiler portability fixes
1619 - ... many code polishings and display cleanups
1620
1621 Changes to squid-3.2.0.5 (12 Feb 2011):
1622
1623 - Regression Fix: profiler should not be built by default
1624 - Regression Bug 3081: assertion failed: AsyncCallQueue
1625 - Regression Bug 2948: Requests for FTP active downloads cause failed assertion
1626 - Bug 3089: FTP command output overrides directory listing
1627 - Bug 2870: --disable-auth does not work
1628 - Bug 2586: multiple memory leaks during reconfigure
1629 - Bug 2581: FTP directory listing sometimes fails
1630 - Port from 2.7: maximum staleness limits
1631 - HTTP/1.1: Support RFC 5861 Cache-Control: stale-if-error option
1632 - HTTP/1.1: Support configurable status codes for deny_info
1633 - Support upcoming "fresh message creation" eCAP API
1634 - Aggregate SNMP responses when using SMP with multiple workers
1635 - Several more Solaris, Windows and ICC support fixes
1636 - ... all bug fixes and updates from 3.1.11
1637 - ... and more code cleanup shufflings
1638 - ... and several documentation updates
1639
1640 Changes to squid-3.2.0.4 (22 Dec 2010):
1641
1642 - Port 2.x: cache_dir min-size setting
1643 - Bug 3059: Crash on digest auth headers with unknown nonce
1644 - Fix cachemgr reported HTTP/ICP requests/messages per minute when multiple workers used
1645 - Fix cachemgr mem-pools reporting
1646 - Add Dynamic SSL certificate generation
1647 - Add useragent, referer, combined built-in log formats
1648 - Obsolete log_fqdn directive
1649 - Obsolete useragent/referer/forward_log directives
1650 - HTTP/1.1: Send 1.1 on CONNECT responses
1651 - Updated Kerberos support for newer GSSAPI releases
1652 - Improve handling of adapted body delivery failures in REQMOD request satisfaction mode
1653 - Improve handling of early eCAP transaction failures
1654 - Various ext_edirectory_acl fixes
1655 - ... all bug and feature fixes included in 3.1.10 release
1656 - ... and a lot of code and documentation polishing
1657
1658 Changes to squid-3.2.0.3 (07 Nov 2010):
1659
1660 - Regression fix: SMP broke ICP outgoing IP lookup if no udp_outgoing_addr set
1661 - Regression fix: ESI processing of Surrogate filter
1662 - Bug 3091: bypassed ICAP errors are not counted as service failures
1663 - Bug 3048: "commio_has_callback(fd, IOCB_READ, ccb)" assertion.
1664 - Bug 3038: Detatch libmisc from libcompat
1665 - Bug 3028: Permit wbinfo_group.pl to authenticate Kerberos users with NT domain
1666 - Bug 3002: store initialization (-z) does not work with SMP configs
1667 - Bug 2999: v2.0 of ext_edirectory_userip_acl
1668 - Bug 2785: DNS needs to set EDNS options advertising Squid capabilities
1669 - Bug 595: Add %err_code and %err_detail logformat codes for transaction failures
1670 - HTTP/1.1: support If-Match and If-None-Match requests
1671 - HTTP/1.1: forward 1xx control messages to clients that support them
1672 - HTTP/1.1: send Age:0 header even if it may break IE5
1673 - HTTP/1.1: dechunk incoming requests and chunk outgoing requests
1674 - HTTP/1.1: entry is stale if request has max-age=0
1675 - HTTP/1.1: harden quoted-string parser
1676 - Add --enable-build-info for extra "squid -v" display
1677 - Add --with-swapdir=PATH to override default /var/cache/squid
1678 - Add cpu_affinity_map directive to bind workers to CPU cores
1679 - Add Netfilter MARK support for QoS
1680 - Add upgrade process for obsolete options
1681 - Add support for RFC 2965 Set-Cookie2 / Cookie2 headers
1682 - Add support for client send bandwidth limits (a.k.a., quota or delay pool)
1683 - Fixes Eui48 support on OpenBSD
1684 - Fixes cache manager support with SMP configs
1685 - ... several documentation updates
1686 - ... all bug and feature fixes included in 3.1.9 release.
1687 - ... many more code polishes and leak removals
1688
1689 Changes to squid-3.2.0.2 (04 Sep 2010):
1690
1691 - Bug 3015: assertion failed: comm.cc:143: "ccb->active()"
1692 - Support rotating logs from cachemgr and squidclient
1693 - Support Kerberos authentication in squidclient
1694 - Add manual page for negotiate_kerberos_auth
1695 - Add helper ext_kerberos_ldap_group_acl to lookup Kerberos/NTLM group via LDAP
1696 - Add tool 'purge' for management of UFS/AUFS/DiskD caches (experimental)
1697 - Added log options %http::<bs and %icap::<bs
1698 - Collapse HTCP cache_peer options into one setting
1699 - Improved request smuggling attack detection. Tolerating valid benign HTTP
1700 - ... and several HTTP/1.1 compliance improvements
1701 - ... and all improvements in 3.1.7 and 3.1.8
1702
1703 Changes to squid-3.2.0.1 (03 Aug 2010):
1704
1705 - Port from 2.7: Logging infrastructure updates
1706 - Port from 2.7: Unique sequence number per log line
1707 - Port from 2.6: STORE_META_OBJSIZE swapout storage type
1708 - Bug 2792: tcp_outgoing_addr does not work with TPROXY
1709 - Bug 2631: refresh_pattern store-stale option
1710 - Bug 2305: Multiple leaks and assertion crashes in authentication
1711 - Bug 1239: Much needed ACL type random
1712 - Bug 7: (partial): Migrate on-disk objects to cache_mem on hit/refresh and update
1713 - Support full Surrogate/1.0 protocol extensions to HTTP for reverse-proxies
1714 - Support SMP for essential non-caching functionality
1715 - Support logging over TCP
1716 - Support Solaris 10 pthreads (experimental)
1717 - Support Kerberos login to peers
1718 - Support EUI / MAC in more environments
1719 - Support format tags in deny_info URLs
1720 - Support running helpers on-demand instead of all at startup
1721 - Support fully transparent login=PASSTHRU of authentication headers to peers
1722 - Support multi-lingual localised FTP directory listings
1723 - Support TPROXYv4 spoofing of X-Forwarded-For client address
1724 - Support ICAP 206 Partial Content extension
1725 - Append the _ABORTED or _TIMEDOUT suffixes to the action access.log field
1726 - Add ACL support to range_offset_limit
1727 - Add helpers for url_rewrite
1728 - Add helper multiplexer for concurrency emulation with legacy helpers
1729 - Add Perl library which facilitates parsing access logfile entries.
1730 - Add a simple script to summarise traffic use per user
1731 - Add templates for captive portal proxy configuration instructions
1732 - Add logging of the local TCP port used by transactions with HTTP servers
1733 - Update mswin_check_ad_group to version 2.0
1734 - Update squid_kerb_auth helper to version 3.0.2
1735 - Remove double-language error page hack (replaced by locale auto-negotiation)
1736 - Remove TPROXYv2 support (replaced by TPROXYv4)
1737 - Remove no_check.pl NTLM helper (replaced by ntlm_fake_auth)
1738 - Re-work ./configure script for smarter auto-detect and early error checks
1739 - Auto-enable all features by default
1740 - Workaround com_err.h C++ brokenness triggered by OpenSSL includes
1741 - Helpers naming scheme
1742 - Add support for write timeouts
1743 - Modify icap_service_failure_limit option to forget old ICAP errors
1744 - Updated man(8) manuals including several additions and translations
1745 - ... and a great many code cleanups
1746 - ... and a great many testing improvements
1747 - ... and many documentation updates
1748
1749 Changes to squid-3.1.23 (09 Jan 2013):
1750
1751 - Additional fixes for CVE-2012-5643 / SQUID:2012-1
1752
1753 Changes to squid-3.1.22 (03 Dec 2012):
1754
1755 - Bug 3685: Squid hangs in Delay Pools ClassCBucket::update
1756 - Bug 3659: read_timeout problem with HTTPS
1757 - Bug 3654: Fix IPv6 enabled squidclient
1758 - Bug 3189: AIO thread race on pipe() initialization
1759 - cachemgr.cgi: Memory Leaks and DoS Vulnerability
1760
1761 Changes to squid-3.1.21 (23 Sep 2012):
1762
1763 - Bug 3622: peerClearRRStart scheduling multiple events
1764 - Bug 3615: configure check for default max number of FDs is broken
1765 - Bug 3607: --enable-auth documented default action incorrect
1766 - Bug 3593: socket failure: Address family not supported by protocol
1767 - Bug 3584: Detection of setresuid() is broken
1768 - Bug 3568: Consolidate external_acl_type config dumping and add missing %%
1769 - Bug 3564: eCAP not supporting CoAP URI schemes
1770 - Bug 3484: Docs: sslproxy_cert_error example flawed
1771 - Bug 3462: Delay Pools and ICAP
1772 - Bug 3133: better fix: Memory leak handling requests for sites that don't exist
1773 - Bug 2976: ERR_INVALID_URL for transparently captured requests when reconfiguring
1774 - Silence IOS 15.1 unknown capabilities messages.
1775 - Account for Store disk client quota when bandwidth-limiting the server.
1776 - ... and several documentation fixes
1777 - ... and several compile fixes
1778
1779 Changes to squid-3.1.20 (08 Jun 2012):
1780
1781 - Regression Bug 3545: FreeBSD dnsserver segfaults
1782 - Regression Bug 3504: clientside_tos fails to mark traffic
1783 - Bug 3539: CONNECT server connection not closed correctly on errors
1784 - Bug 3502: client timeout uses server-side read_timeout, not request_timeout
1785 - Bug 3466: Adaptation stuck on last single-byte body piece
1786 - Bug 3463: dnsserver fails to compile
1787 - Bug 3439: correct external_acl_type documented default for ipv4/ipv6 option
1788 - Bug 3390: Proxy auth data visible to scripts
1789 - Bug 3263: ssl_crtd: undefined references to squid_curtime
1790 - Bug 3233: Invalid URL accepted with url host is white spaces
1791 - Bug 3133: Memory leak handling requests for sites that don't exist
1792 - Bug 3074: Improper URL handling with empty path (RFC 3986)
1793 - Bug 3013: segmentation fault on shutdown commSetCloseOnExec at comm.cc:1889
1794 - Regression: snmp/udp address directives not resolving hostname
1795 - Better helper-to-Squid buffer size management.
1796 - Support CoAP over HTTP (coap:// and coaps:// URLs)
1797 - Support for 3.2 error template codes
1798
1799 Changes to squid-3.1.19 (06 Feb 2012):
1800
1801 - Regression Bug 3441: part 2: Prevent further cache size corruption of swap.state
1802 - Bug 3473: erase last uses of obsolete auth_user_hash_pointer
1803 - Bug 3470: GCC 4.7
1804 - Bug 3442: assertion failed: external_acl.cc:908: ch->auth_user_request != NULL
1805 - Bug 3441: part 1: Minimize cache size corruption by malformed swap.state
1806 - Bug 3440: compile error in Adaptation
1807 - Bug 3420: Request body consumption races and !theConsumer exception
1808 - Bug 3370: external ACL sometimes skipping
1809 - Bug 3085: Crash when parsing esi:include
1810 - HTTP/1.1: do not add 110 and 111 Warnings to revalidated responses
1811 - Fix SSL library dependency fixes
1812
1813 Changes to squid-3.1.18 (03 Dec 2011):
1814
1815 - Regression: compile error in FTP
1816
1817 Changes to squid-3.1.17 (03 Dec 2011):
1818
1819 - Bug 3432: Crash logging FTP errors
1820 - Bug 3428: Active FTP data channel accepted twice
1821 - Bug 3423: access violation in URL parser
1822 - Bug 3422: Buffer overflow in recv-announce
1823 - Bug 3412: External ACL Uses Invalid Cache Entry
1824 - Bug 3408: Wrong header length leads to EFAULTs when creating UFS swap.log.new
1825 - Bug 3398: persistent server connection closed after PUT/DELETE
1826 - Bug 3299: dnsserver: various undefined references
1827 - Bug 3077: '\' in url query strings cause Digest authentication to fail
1828 - Bug 2910: MemBuf may grow beyond max_capacity
1829 - Bug 2619: Excessive RAM growth due to unlimited adapted body data consumption
1830 - Bug 1243: Build overrides configured AR setting
1831 - Avoid crashes when processing bad X509 common names (CN).
1832 - Support %% in external ACL format
1833 - ... and several other compile error fixes
1834 - ... and several documentation fixes
1835
1836 Changes to squid-3.1.16 (14 Oct 2011):
1837
1838 - Bug 3373: invalid URL in ERR_CACHE_ACCESS_DENIED
1839 - Bug 3368: Unhandled exceptions are not logged (workaround)
1840 - Bug 3326: miss_access incorrect default
1841 - Bug 3320: miss_access description confusing
1842 - Bug 3241: squid_kerb_auth cross compilation fix
1843 - Bug 3237: seq fault in free() from rfc1035RRDestroy
1844 - Bug 3190: Large HTTP POST stuck after early ICAP 400 error response
1845 - db_auth: display available DSN drivers on connect error
1846 - Updated OpenSSL 1.0.0 version checks
1847 - ... and several documentation fixes
1848
1849 Changes to squid-3.1.15 (28 Aug 2011):
1850
1851 - Regression fix: vhost and defaultsite causing vport to be ignored
1852 - Regression Bug 3295: broken escaping in rfc1738_do_escape
1853 - Bug #3232: fails to compile with OpenSSL v1.0.0
1854 - Bug #3222: cache_peer name is not logging on CONNECT
1855 - Bug #3131: fd_table[fd].closing() assert from ConnStateData::noteMoreBodySpaceAvailable()
1856 - Bug #3217: "!fd_table[fd].closing()" from ServerStateData::noteMoreBodySpaceAvailable
1857 - Bug #3213: https sites (CONNECT) not open when using NTLM
1858 - Bug #3114: Memory leak in SSL certificate verify code
1859 - Bug #3107: ncsa_auth DES silently truncates passwords to 8 bytes
1860 - Bug #2662: cf_gen failure when cross compiling
1861 - Bug #2655: passing wrong the username to the url_rewrite_program
1862 - Bug #2495: ignore whitespace prefix on config lines
1863 - Bug #2051: 'default' cache_peer option does not match documentation
1864 - Bug #1842: Optimize order of tests in peerWouldBePinged() and peerHTTPOkay()
1865 - Bug #1791: timestampsSet does not validate Date: if server sends very old date
1866 - Correct parsing of large Gopher indexes
1867 - Enable negative cacheing on unknown or -1 expiry timestamp
1868 - Remove hierarchy_stoplist default value
1869 - Migrate cf_gen tool from C-style to C++
1870 - ... and several documentation and compiler warning fixes
1871
1872 Changes to squid-3.1.14 (04 Jul 2011):
1873
1874 - Regression Bug 3261: Could not create a DNS socket and exit
1875
1876 Changes to squid-3.1.13 (01 Jul 2011):
1877
1878 - Regression Bug 3239: problems with myip/myport upgrade
1879 - Bug 3153: hung ICAP RESPMOD transactions
1880 - Update ssl_crtd to use 'OK' status inline with other helpers
1881
1882 Changes to squid-3.1.12.3 (18 Jun 2011):
1883
1884 - Bug 3236: Port of %oa, %<lp and %<lp and %<la log format options
1885 - Bug 3214: unexpected read from ssl_crtd
1886 - Bug 3153: Prevent ICAP RESPMOD transactions getting stuck with the adapted body
1887 - Fix RADIUS helper resource leak
1888 - Fix segfault parsing digest auth realm
1889 - Fix segfault in parse_eol()
1890 - Fixed bypass of SSL certificate validation errors
1891 - Warn about myip/myport problems on interception proxies
1892 - Polish: display easily grepped config lines on -k parse
1893 - Fix squidclient -V option and allow non-HTTP protocols to be tested
1894
1895 Changes to squid-3.1.12.2 (30 May 2011):
1896
1897 - Bug 3226: Tags from external ACLs do not correctly expire
1898 - Bug 3215: Malformed IPv6 DNS reverse lookup
1899 - Bug 3209: ssl-bumped requests forwarded unencrypted to the parent proxies/caches
1900 - Bug 3205: SSL-bump starts then hangs
1901 - Bug 3178: gcc-4.6 complains unused variables
1902 - Bug 3122: Unknown record type in WCCPv2 Packet (6)
1903 - Bug 2965 (partial): Compile errors on MinGW
1904 - Fix to only ssl-bump CONNECT requests if they are about to be tunneled
1905 - Fix cache manager display of -i/+i in regex ACL config display
1906 - Fix cache manager display of cache_peer options userhash and sourcehash
1907 - Fix URL re-writer loosing many transaction details
1908 - Fix always-true comparison in ICAP for some 32-bit platforms
1909 - Support for 'slow' group ACLs in ssl_bump access control
1910 - Support OpenSSL 1.0.0 built without SSLv2
1911 - Support GCC 4.6 and binutils-gold
1912 - Add CSS id attribute to BODY tag of generated error pages.
1913 - Display WARNING and ERROR when max_filedescriptors has failed
1914
1915 Changes to squid-3.1.12.1 (19 Apr 2011):
1916
1917 - Port from 3.2: Dynamic SSL Certificate generation
1918 - Bug 3194: selinux may prevent ntlm_smb_lm_auth from using /tmp
1919 - Bug 3185: 3.1.11 fails to compile on OpenBSD 4.8 and 4.9
1920 - Bug 3183: Invalid URL accepted with url host part of only '@'
1921 - Display ERROR in cache.log for invalid configured paths
1922 - Cache Manager: send User-Agent header from cachemgr.cgi
1923 - ... and many portability compile fixes for non-GCC systems.
1924
1925 Changes to squid-3.1.12 (04 Apr 2011):
1926
1927 - Regression fix: Use bigger buffer for server reads.
1928 - Regression fix: Add reply_header_replace directive for ability lost since 2.7
1929 - Bug 3181: /dev/poll fails to build on Solaris with GCC 4.5.0
1930 - Bug 3177: assertion failed: comm.cc:1583: "fd >= 0"
1931 - Bug 3175: IPv6 PTR lookup crashes on raw-IP URLs when IPv6 disabled
1932 - Bug 3173: Assertion bodyPipe!=NULL on SslBump CONNECT response writing failure
1933 - Bug 3164: Total memory info display 32-bit overflows
1934 - Bug 3155: Werror is hard-coded in libTrie build
1935 - Bug 3151: squid_kerb_auth: use autoconf LIBS instead of FLAGS for library linkage
1936 - Bug 2976: invalid URL on intercepted requests during reconfigure (workaround)
1937 - Bug 2720: comment in same line as cache/mem_replacement_policy causes error
1938 - Bug 2621: Provide request headers to RESPMOD when using cache_peer.
1939 - Bug 2330: AuthUser objects are never unlocked
1940 - Prevent CONNECT request relaying to origin servers
1941 - squidclient HTTP/1.1 compliance updates (Pragma and User-Agent headers)
1942 - squidclient: send Cache Manager password using -w
1943 - eCAP: give full Request-URI to adapters
1944 - ... and several debug and error display cleanups
1945
1946 Changes to squid-3.1.11 (08 Feb 2011):
1947
1948 - Bug 3149: not caching eCAP adapted body
1949 - Bug 3144: redirector program blocks while reading STDIN
1950 - Bug 3140: memory leak in error page generation
1951 - Bug 3137: RADIUS auth helper does not send identifier to RADIUS server
1952 - Bug 3115: logging segfaults if access_log is set to a directory
1953 - Bug 2968: Show the Vary: headers information in cachemgr objects report
1954 - Bug 2959: remove SAMBAPREFIX dependency
1955 - Bug 2868: icc doesn't like string literal in assert checks
1956 - HTTP/1.1: Send 307 status on deny_info redirection
1957 - HTTP/1.1: Support POST/PUT with no body
1958 - HTTP/1.1: Allow persistent connections for Mozilla/3.0 User-Agents
1959 - Support RFC 5861 Cache-Control: stale-if-error option
1960 - Add ftp_eprt directive to disable EPRT extensions in FTP
1961 - Fix external_acl_type grace=0 to obey TTL
1962 - Fix IP/FQDN cache accounting to avoid idle caches on busy servers
1963 - Prevent pipeline_prefetch misconfigurations breaking NTLM/Negotiate auth
1964 - ... and some documentation updates and corrections
1965 - ... and some portability and stability fixes
1966
1967 Changes to squid-3.1.10 (22 Dec 2010):
1968
1969 - Bug 3121: memory leak in DigestAuth: AuthUser object is locked twice
1970 - Bug 3113: Consuming too much memory when uploading files
1971 - Bug 3110: 'reply_body_max_size none' does not work with x-forwarded-for
1972 - Bug 3096: Consuming too much memory when delaying traffic
1973 - Bug 3091: Bypassed ICAP errors are not counted as service failures
1974 - Bug 3090: Polish FTP login error handing
1975 - Bug 3068: cache_dir capacity and usage overflows
1976 - Bug 3028: Permit wbinfo_group.pl to authenticate Kerberos users with NT domain
1977 - Bug 427: HTTP Compliance: Support If-Match and If-None-Match requests
1978 - Fix memory leak in adaptation_access
1979 - Fix /dev/poll and poll() selection priority
1980 - Fix PREFIX/var/run creation during install
1981 - Fix cachemgr http_port config report display
1982 - Add upgrade help process for obsolete options
1983 - Accept RFC 2965 Set-Cookie2 / Cookie2 headers as 'known'
1984 - HTTP/1.1: entry is stale if request has max-age=0
1985 - HTTP/1.1: do not forward TRACE with Max-Forwards: 0 after REQMOD
1986 - Toolchain update to support newer auto-tools
1987 - ... and updated error page translations
1988 - ... and updated documentation
1989 - ... and some code optimization/simplification polish
1990
1991 Changes to squid-3.1.9 (25 Oct 2010):
1992
1993 - Bug 3088: dnsserver is segfaulting
1994 - Bug 3084: IPv6 without Host: header in request causes connection to hang
1995 - Bug 3082: Typo in error message
1996 - Bug 3073: tunnelStateFree memory leak of host member
1997 - Bug 3058: errorSend and ICY leak MemBuf object
1998 - Bug 3057: 64-bit Solaris 9 Squid unable to determine peer IP and port
1999 - Bug 3056: comm.cc "!fd_table[fd].closing()" assertion crash when a helper dies
2000 - Bug 3053: cache version 1 LFS support detection broken
2001 - Bug 3051: integer display overflow
2002 - Bug 3040: Lower-case domain entries from hosts and resolv.conf files
2003 - Bug 3036: adaptation_access acls cannot see myportname
2004 - Bug 3023: url_rewrite_program silently fails to rewrite on broken URLs
2005 - Bug 2964: Prevent memory leaks when ICAP transactions fail
2006 - Bug 2808: getRoundRobinParent not handling weights correctly
2007 - Bug 2793: memory statistics sometimes display wrong
2008 - Bug 2356: Port from 2.7: Solaris /dev/poll event ports support
2009 - Bug 2311: crashes with ICAP RESPMOD for HTTP body size greater than 100kb
2010 - Ensure /var/cache or jail equivalent exists on install
2011 - HTTP/1.1: delete Warnings that have warning-date different from Date
2012 - HTTP/1.1: do not remove ETag header from partial responses
2013 - HTTP/1.1: make date parser stricter to better handle malformed Expires
2014 - HTTP/1.1: improve age calculation
2015 - HTTP/1.1: reply with a 504 error if required validation fails
2016 - HTTP/1.1: add appropriate Warnings if serving a stale hit
2017 - HTTP/1.1: support requests with Cache-Control: min-fresh
2018 - HTTP/1.1: do not cache replies to requests with Cache-Control: no-store
2019 - squidclient: Display IP(s) connected to in verbose (-v) display
2020 - Fixes several issues with ICAP persistent connections
2021 - Fixes small leaks in Netdb, DNS, ICAP, ICY, HTTPS
2022 - ... and some cosmetic polishing
2023
2024 Changes to squid-3.1.8 (04 Sep 2010):
2025
2026 - Bug 3033: incorrect information regarding TOS
2027 - Bug 3020: Segmentation fault: nameservers[vc->ns].vc = NULL
2028 - Bug 3005,2972: Locate LTDL headers correctly (again)
2029 - Bug 2872: leaking file descriptors
2030 - Bug 2583: pure virtual method called
2031 - Hardened DNS client against packet queue attacks
2032 - Hardened HTTP request-line parser
2033 - Several HTTP/1.1 support improvements
2034 - Improved cross-compile support
2035 - .. and several internal pointer safety fixes
2036
2037 Changes to squid-3.1.7 (23 Aug 2010):
2038
2039 - Regression Bug 3021: Large DNS reply causes crash
2040 - Regression Bug 3011: ICAP, HTTPS, cache_peer probe IPv4-only port fixes
2041 - Regression Bug 2997: visible_hostname directive no longer matches docs
2042 - Bug 3012: deprecate sslBump and support ssl-bump spelling in http_port
2043 - Bug 3006: handle IPV6_V6ONLY definition missing
2044 - Bug 3004: Solaris 9 SunStudio 12 build failure
2045 - Bug 3003: inconsistent concepts in documentation of cache_dir
2046 - Bug 3001: dnsserver link issues
2047 - HTTP/1.1: default keep-alive for 1.1 clients (bug 3016)
2048 - HTTP/1.1: Improved Range header field validation
2049 - HTTP/1.1: Forward multiple unknown Cache-Control directives
2050 - HTTP/1.1: Stop sending Proxy-Connection header
2051 - Fix 32-bit wrap in refresh_pattern min/max values
2052 - ... and several documentation corrections.
2053
2054 Changes to squid-3.1.6 (02 Aug 2010):
2055
2056 - Bug 2994, 2995: IPv4-only regressions
2057 - Bug 2991: Wrong parameters to fcntl() in commSetCloseOnExec()
2058 - Bug 2975: chunked requests not supported after regular ones
2059 - Fix: 32-bit overflow in reported bytes received from next hop
2060 - Fix Libtool build regressions
2061 - Limited split-stack IPv6 support.
2062 - squid_db_auth support MD5 encrypted passwords
2063
2064 Changes to squid-3.1.5.1 (28 Jul 2010):
2065
2066 - Update Libtool to 2.2.
2067 - Bug 2985: search scope for digest_ldap_auth didn't work
2068 - Bug 2972: LTDL 2.2.6b compile errors
2069 - Bug 2963: Stop ignoring --with-valgrind-debug failures
2070 - Bug 2885: AIX support: several fixes
2071 - Bug 2651: crash handling NULL write callback
2072 - Fixed several memory leaks related to Range requests
2073 - Fixed Joomla DB auth handling
2074 - Fixed SASL helper build checks
2075 - Fixed several IPv6 portability problems
2076 - Updated error page translations
2077
2078 Changes to squid-3.1.5 (02 Jul 2010):
2079
2080 - Bug 2967: raw-IPv6 address URL with append_domain broken
2081 - Bug 2950: HTTP responses with no Date, L-M or Expires can now be cached
2082 - Bug 2943: ICAP tokens not logged when using multiple access
2083 - Bug 2937: Fails to detect chunked encoding if not given in all lower case
2084 - Bug 2903: does not send indirect X-Client-Ip in ICAP respmod
2085 - Fix free memory corruption and off-by-one error when comparing SNMP OIDs
2086 - Port from 2.7: max_filedescriptor config option
2087 - Fix persistent_connection_after_error is meant to be on by default
2088 - ... and several build errors.
2089
2090 Changes to squid-3.1.4 (30 May 2010):
2091
2092 - Bug 2933: Verification of the max. port number for WCCP2 dynamic service
2093 - Bug 2924: RADIUS helper compile issues
2094 - Bug 2922: Fix assertion failed: HttpHeader.cc: "Headers[id].stat.aliveCount"
2095 - Bug 2919: tcp_outgoing_address ACLs not obeying acl_uses_indirect_client
2096 - Bug 2896: Fix assertion failed: comm.cc:2063: "!fd_table[fd].closing()"
2097 - Bug 2879: pt2: 3.0 regression in headers end finding
2098 - Bug 2877: pt2: only output zero-size warning on reverse-proxy requests
2099 - Bug 2876: FD_SETSIZE override not working on all linux distributions
2100 - Bug 2810: common log format generates 2 lines of syslog
2101 - Bug 2789: Optimize unlimited memory pools, and correctly handle limits over 2GB
2102 - Bug 2753: Fall back on IPv4 if IPv6 is not present
2103 - Bug 2697: Adaptation leaks and extra requests after reconfiguration
2104 - Bug 2633: Fix Ecap::HeaderRep::value(name) fails when there is no named header field
2105 - Change LDAP helpers to default to LDAP version 3 if available
2106 - Add Joomla and Salted Hash support to squid_db_auth helper
2107 - Fixed IpAddress port printing for ports higher than 9999
2108 - Disable chunked memory pooling by default.
2109 - ... and several build errors.
2110
2111 Changes to squid-3.1.3 (02 May 2010):
2112
2113 - Remove: Advertise 1.1 on replies to clients (broken chunked handling)
2114 - Fix tag ACL type not working
2115
2116 Changes to squid-3.1.2 (01 May 2010):
2117
2118 - Bug 2913: Fix DB auth warning in new perl version
2119 - Bug 2904: Prevent automake creating incomplete files
2120 - Bug 2899: Regression: Restore lost rfc1738_unescape() data type
2121 - Bug 2895: Regression: TPROXY2 compile errors
2122 - Bug 2879: Regression: headers end-finding
2123 - Bug 2874: Accept literal IPv6 address in icap_service URL
2124 - Bug 2860: Regression: WCCPv1 handshake
2125 - Bug 2848: Pass TCP_RST to client on early disconnect
2126 - Debian Bug 578047: Correct behaviour of --enable-ipv6
2127 - HTTP/1.1: Advertise 1.1 on requests to servers
2128 - HTTP/1.1: Advertise 1.1 on replies to clients
2129 - AIX / UNIX build fixes
2130 - Cygwin build fixes
2131 - squidclient: -k option to test connection keep-alive or close
2132 - Improved helper build for wider compatibility
2133 - Ensure the PID file directory exists on install
2134
2135 Changes to squid-3.1.1 (29 Mar 2010):
2136
2137 - Bug 2873: undefined symbol
2138 - Bug 2827: assertion in authentication
2139 - Remove ufsdump binary from default builds
2140 - Remove pinger from default startups
2141 - ... and several documentation updates.
2142
2143 Changes to squid-3.1.0.18 (14 Mar 2010):
2144
2145 - Regression Fix: IPv4-mapped prefix, broken in 3.1.0.16
2146 - Bug 2869: Remove unused external reference
2147 - Bug 2866: Support OpenSSL 1.0
2148 - Bug 2813: Random unix_group crash at startup
2149 - Send HTTP1.1 compliant 417 responses
2150 - Associate external acl message with the request
2151 - Various Digest parser fixes
2152 - ... and all bug fixes from 3.0 up to 3.0.STABLE25
2153
2154 Changes to squid-3.1.0.17 (24 Feb 2010):
2155
2156 - Regression Fix: Non-English error page UTF encoding
2157 - Bug 2616: reduce IdleConnList::removeFD messages
2158 - Bug 1843: multicast-siblings cache_peer option
2159 - Port from 2.7: X509 certificate alias-domain handling
2160 - Add adapted_http_access option
2161 - NTLMv2 support for fake NTLM helper
2162
2163 Changes to squid-3.1.0.16 (01 Feb 2010):
2164
2165 - Regression Fix: Make Squid abort on all config parse failures.
2166 - Regression Bug 2811: SNMP client/peer table OID numbering
2167 - Bug 2851: Connection pinning fails when using a peer
2168 - Bug 2850: Mismatch in hier_code enum / hier_strings array
2169 - Bug 2731: Add follow_x_forwarded_for support to ICAP
2170 - Bug 2730: Regressions in follow_x_forwarded_for since Squid-2
2171 - Bug 2706: Set timestamps during ICAP request satisfaction.
2172 - Bug 2553: X-Forwarded-For with IPv6 address not handled correctly
2173 - Fix: WCCPv1 not connecting to router correctly
2174 - Remove obsolete RunCache/RunAccel scripts.
2175 - Add client_ip_max_connections
2176 - Add the http::>ha format code and make http::>h log original request headers
2177 - ... and all bug fixes from 3.0 up to 3.0.STABLE22
2178 - ... and many more minor build and display annoyances.
2179
2180 Changes to squid-3.1.0.15 (23 Nov 2009):
2181
2182 - Regression Fix: myip ACL not accepted in config
2183 - Bug 2795: acl arp lookups including port
2184 - Bug 2794: ESI parsing fails on FreeBSD
2185 - Bug 2778: fix linking issues using SunCC
2186 - Bug 2724: eCAP build failure unless ICAP enabled
2187 - Bug 2628: Correct default PID location to PREFIX/var/run/squid.pid
2188 - Bug 2617: Performance degradation during processing list of dstdomain ACL's
2189 - Bug 2374: Support ICY / ICEcast / SHOUTcast streaming protocol.
2190 - Fix: 64-bit filesize issue in squidclient POST of large files
2191 - Fix: send correct Connection: header on intercepted replies
2192 - Support libtool 2.x
2193 - ESI libraries libexpat and libxml2 now optional
2194 - ESI support default enabled
2195 - Bump libcap minimum requirement to libcap 2.09+
2196 - ARP / MAC support fixes for IPv6-mode
2197 - Add outstanding IPv6 settings to squid.conf (localnet, localhost)
2198 - ... and many additions to the background testing structure
2199 - ... and very many minor build and code cleanups for non-GCC compilers.
2200
2201 Changes to squid-3.1.0.14 (27 Sep 2009):
2202
2203 - Bug 2777: Various build issues on OpenSolaris
2204 - Bug 2773: Segfault in RFC2069 Digest authentication
2205 - Bug 2747: Compile errors on Solaris 10
2206 - Bug 2735: Incomplete -fhuge-objects detection
2207 - Bug 2722: Fix http_port accel combined with CONNECT
2208 - Bug 2718: FTP sends EPSV2 on IPv4 connection
2209 - Bug 2648: stateful helpers stuck in reserved
2210 - Bug 2570: wccp2 "Here I Am" announcements not sent in memory-ony mode
2211 - Bug 2510: digest_ldap_auth uses incorrect logic with TLS
2212 - Bug 2483: bind() called before connect()
2213 - Bug 2215: config file line length limit (extended to 2 KB)
2214 - Support Accept-Language: * wildcard
2215 - Support autoconf 2.64
2216 - Support TPROXY for IPv6 traffic (requires kernel support)
2217 - Support TPROXY cache cluster behind WCCPv2
2218 - Correct ESI support to work in multi-mode Squid
2219 - Add 0.0.0.0 as an to_localhost address
2220 - DiskIO detection fixes and use optimal IO in default build.
2221 - Correct peer connect-fail-limit default of 10
2222 - Prevent squidclient sending two Accept: headers
2223 - ... all bug fixes from 3.0.STABLE19
2224 - ... and many more documentation fixes
2225
2226 Changes to squid-3.1.0.13 (04 Aug 2009):
2227
2228 - Bug 2723 regression: enable PURGE requests if PURGE method ACL is present.
2229 - Fix one more internal profiler error
2230 - Language Updates: Italian, Russian
2231 - Language Updates: Add many more aliases
2232 - Add Copyright document for errors/ content
2233 - ... all bug fixes from 3.0.STABLE18
2234 - ... and several code polishing cleanups
2235
2236 Changes to squid-3.1.0.12 (27 Jul 2009):
2237
2238 - Bug 2716: Chunked request Signed/Unsigned build error
2239 - Bug 2674: Remove limit on HTTP headers read.
2240 - Bug 2620: Invalid HTTP response codes causes segfault
2241 - Fix FTP EPSV negotiation parser.
2242 - Fix Via string when leak checking is enabled (valgrind etc)
2243 - ... and several documentation and testing additions
2244
2245 Changes to squid-3.1.0.11 (19 Jul 2009):
2246
2247 - Bug 2087: Support adaptation sets and chains
2248 - Bug 2459: dns error message broken when error handling delayed
2249 - Support ICAP Retry
2250 - Support ICAP retries based on the ICAP responses status code
2251 - Support logging ICAP
2252 - Support logging total DNS wait time
2253 - Support logging response times of adaptation transactions
2254 - General logging enhancements
2255 - Dynamically form chains based on ICAP X-Next-Services header
2256 - Support cross-transactional ICAP header exchange
2257 - ... and much adaptation polish and improvements
2258
2259 Changes to squid-3.1.0.10 (18 Jul 2009):
2260
2261 - Bug 2680: Regression Crash after rotate with no helpers running
2262 - Bug 2695: Regression in WCCPv2 L2 mask assignment
2263 - Bug 2707: Regression in FTP anonymous auth
2264 - Bug 422, 2706: RFC 2616 Date header requirements
2265 - Bug 1087: ESI processor not quoting attributes correctly.
2266 - Bug 1338: File prefetches aborted despite range_offset
2267 - Bug 2080: wbinfo_group.pl - false positive under certain conditions
2268 - Bug 2092: select loop 32-bit call counter overflows
2269 - Bug 2127: delay pools class 4 crashes with ntlm auth
2270 - Bug 2611: document fast/slow acl types
2271 - Bug 2614: Potential loss of adapted body data from eCAP adapters
2272 - Bug 2658: Missing TextException copy constructor
2273 - Bug 2659: String length overflows on append, leading to segfaults
2274 - Bug 2699: Build failure NTLM smb_lm helper
2275 - Bug 2709: TRANSLATIONS not installed
2276 - Bug 2710: squid_kerb_auth non-terminated string
2277 - Delay pools 64-bit buckets and IPv6-polish
2278 - Break forwarding loops for "transparent" or "intercept" http_ports.
2279 - Add --disable-translation option to detatch .po from error negotiation
2280 - Add squidclient man(1) page
2281 - Add localhost to default permitted networks
2282 - http_port allow-direct option to allow direct forwarding in accelerator mode
2283 - ... and many testing infrastructure updates
2284
2285 Changes to squid-3.1.0.9 (26 Jun 2009):
2286
2287 - Bug 2682: Add ftp_epsv control to disable EPSV support.
2288 - Bug 2665: Detach automake system from using -I.
2289 - Bug 2395: FTP auth errors not displayed
2290 - ... also several changes and bugs closed in 3.0.STABLE16
2291 - Port from 2.7: Show local address on listening sockets
2292 - Add "tag" type acl matching tags set by external acl helpers.
2293 - Adds Language alias linker/installer/upgrade scripts
2294 - Support for GCC 4.4
2295 - Fix false NAT lookup errors on Linux
2296 - Fix many Windows port issues
2297 - Fix squid_kerb_auth helepr install location
2298 - Better detection of IPv6 stack types
2299 - Updates Licensing information for Squid 3.1
2300 - ... and many packaging portability build and install issues
2301
2302 Changes to squid-3.1.0.8 (24 May 2009):
2303
2304 - Bug 2656: Pinger dies with general protection fault
2305 - Bug 2650: configure requires epoll_ctl in libepoll when --enable-epoll used
2306 - Bug 2648: Authentificator processes deferring and don't shutdown.
2307 - Bug 2645: allow squid to ignore must-revalidate
2308 - Bug 2644: auth scheme initialization is broken
2309 - Bug 2632: Make number of reforwarding tries configurable
2310 - Bug 2628: --with-pidfile=PATH option to override DEFAULT_PID_FILE
2311 - Bug 2627: HTCP Logging
2312 - Bug 2615: Call libecap::adapter::Service::start() when finalizing config.
2313 - Bug 2589: SNMP returning no data - wrong oid decoded
2314 - Bug 2571: Squid with IPv6 fails to start on kernel without IPv6
2315 - Bug 2559: Problem parsing /0 and /0.0.0.0
2316 - Bug 2404: WCCP in mask mode is broken
2317 - ... also all bugs closed by 3.0.STABLE14, 3.0.STABLE15, 3.0.STABLE16-RC1
2318 - Complete Interception multiple NAT support
2319 - Add Content-Disposition to the known headers list.
2320 - Make PEER_TCP_MAGIC_COUNT configurable
2321 - Fix pinger install location
2322 - Enable TPROXY v4 spoofing of CONNECT requests
2323 - ... and much documentation and code polishing
2324
2325 Changes to squid-3.1.0.7 (08 Apr 2009):
2326
2327 - Fix: several issues with ident
2328 - Add several language translations
2329 - Upgrade code testing infrastructure
2330 - Migrate much code to build as internal libraries
2331 - Support gcc 4.4
2332 - Support doxygen 1.5.8
2333 - ... and much code polish to make things read easier
2334
2335 Changes to squid-3.1.0.6 (01 Mar 2009):
2336
2337 - Regression Fix: Support HTTP/0.9 in accelerator mode
2338 - Bug 2601: Hack. Convert IPv4 netmasks to CIDR in IPv6-enabled mode
2339 - Bug 2593: Compile errors on Solaris 10
2340 - Bug 2591: adaptation_access does not work
2341 - Bug 2588: coredump in rDNS lookup
2342 - Bug 2526: default ALLOW when no list specified.
2343 - Bug 2287: Send a 505 on requests with unsupported HTTP versions
2344 - Bug 419: Hop by Hop headers MUST NOT be forwarded
2345 - Fix external_acl_type handling of SSL certificate details
2346 - Obsolete: dependency on nss_common.h and nss.h
2347 - Support libtool2
2348 - ... and various documentation and code polish
2349
2350 Changes to squid-3.1.0.5 (03 Feb 2009):
2351
2352 - Bug 2583: Fixed issue in content adaptation
2353 - Bug 2576: Make translate target obey --disable-auto-locale
2354 - Bug 2571: Add DNS failover to use IPv4-only listen when IPv6 fails.
2355 - Bug 2563: 99+% CPU Usage on FTP URL
2356 - Bug 2505, 2524, 2558: fixed several issues on connection handling
2357 - Fix several issues in request parsing
2358 - Fix memory leak from logformat parsing
2359 - Fix various ESI build errors
2360 - Make configure tests use C++ instead of C
2361 - Drop special localhost conversion RFC violation.
2362 - Add Language: Arabic
2363 - ... and various documentation and code polish
2364
2365 Changes to squid-3.1.0.4 (23 Jan 2009):
2366
2367 - Regression Fix: Bug 2558: rollback bug 2395 fix.
2368 - Bug 2555: Fixes to SNMP-MIB
2369 - Bug 2550: assertion comm.cc:350 !fd_table[fd].closing()
2370 - Bug 2547,2548: OSX compile errors (duplicate symbols and IPv6)
2371 - Bug 2508: comm.cc:2035 assertion fd_table[fd].closing()
2372 - Bug 2330: allow keep-alive+chunked; don't add max-age for no-cache
2373 - Polish ZPH configuration interface
2374 - Several Language Conversions to new auto-negotiate
2375 - Port from 2.7: squidclient -V and -j options for HTTP/1.1 and 0.9 testing
2376 - Fix: Pconn not being used when they should.
2377 - Fix: Fix pinger immediate shutdowns
2378 - Fix: Untangle CacheManager reports from log_fqdn
2379 - ... and all bugs fixed for 3.0.STABLE12
2380 - ... and many code polish and optimization fixes.
2381
2382 Changes to squid-3.1.0.3 (5 Dec 2008):
2383
2384 - Regression Fix: StoreIOBuffer patch removed.
2385 - Regression Fix: build issues with 3.1.0.2 bundle
2386 - Security Bug 2526: default ALLOW when no list specified
2387 - Bug 2525: encoding error on error pages
2388 - Bug 2424: slow file descriptor leak
2389 - Bug 2527: ICAP compile error on g++ 4.3.2
2390 - Bug 2523: bad assertion left in from debug
2391 - Bug 2395: FTP Auth errors and others not displayed
2392 - Update squid_kerb_auth to 1.0.5
2393 with better Squid integration.
2394 - Fix cache_peer forcedomainname= option
2395 - ... and many other minor fixes
2396
2397 Changes to squid-3.1.0.2 (9 Nov 2008):
2398
2399 - Bug 2516: error page templates not properly installed
2400 - Bug 2500: Solaris build issues
2401 - Fixes FreeBSD build issues
2402 - Release Notes completed
2403 - Languages: new Russian, Japanese, Chinese, and general updates
2404 - ... and other minor fixes
2405
2406 Changes to squid-3.1.0.1 (27 Oct 2008):
2407
2408 - Bundled ntlm_auth helper renamed (see Release Notes before changing anything)
2409 - peername ACL added for matching against a named peer destination
2410 - configure option --with-logdir= added to select log files location
2411 - squid_kerb_auth helper updated to 1.0.3 release
2412 - Bug #740: allow external acl's to use reply headers in format
2413 - Bug #2379: obsolete dns_testnames option
2414 - Code test infrastructure expanded to configuration testing
2415 - Policy changes to negative_ttl, cache deny QUERY, refresh_pattern
2416 to bring their defaults up to RFC 2616 requirements.
2417 - Large increase in RFC 2616 standard compliance (ongoing)
2418 - squid.conf cleanups for minimal config
2419 - Connection Pinning ported from 2.6 for NTLM passthru authentication
2420 - eCAP internal adaptation module support
2421 - Localization and CSS display control of error pages
2422 - Added semi-automatic documentation of source code
2423 - Added TE chunked encoding decoder to workaround broken HTTP/1.1 servers
2424 - HTCP improvements ported from 2.7 adding HTCP CLR requests
2425 - IPv6 (Internet Protocol version 6) support
2426 - ICMPv6 (Internet Control Message Protocol version 6) support
2427 - FTP agent now supports EPSV/EPRT commands
2428 - DNS internal resolver now supports AAAA and CNAME records
2429 - SNMP peer and client tables now support IPv6
2430 - SNMP peer table supports named peers with multiple entries per IP
2431 - SslBump: Squid-in-the-middle decryption and encryption of straight
2432 CONNECT and transparently redirected SSL traffic, using configurable
2433 client- and server-side certificates. While decrypted, the traffic
2434 can be inspected using ICAP.
2435 - TPROXY version 4.1 support
2436 - IPFW and Netfilter interception methods may now both be built in one binary.
2437 - ZPH Quality of Service patch now integrated
2438 - Null store now fully obsoleted and removed
2439 - Unknown request methods all supported
2440 - Follow_x_forwarder_for ported from 2.6
2441 - Bug #2223: Follow XFF extensions added
2442 - ... and many code and documentation cleanups
2443
2444 Changes to squid-3.0.STABLE26 (28 Aug 2011):
2445
2446 - Regression: header_replace for reply headers
2447 - Bug 3183: Invalid URL accepted with url host part of only '@'.
2448 - Bug 3107: ncsa_auth DES silently truncates passwords to 8 bytes
2449 - Bug 3056: comm.cc "!fd_table[fd].closing()" assertion from helperServerFree
2450 - Bug 2991: Wrong parameters to fcntl() in commSetCloseOnExec()
2451 - Bug 2933: Verification of the max. port number for WCCP2 dynamic service
2452 - Bug 2922: Fix assertion failed: HttpHeader.cc: "Headers[id].stat.aliveCount"
2453 - Regression Bug 2899: Restore lost rfc1738_unescape() data type
2454 - Regression Bug 2879: headers end finding
2455 - Bug 2876: FD_SETSIZE override not working on all linux distributions
2456 - Check for NULL and empty strings before calling str*cmp().
2457 - Correct parsing of large Gopher indexes
2458
2459 Changes to squid-3.0.STABLE25 (14 Mar 2010):
2460
2461 - Bug 2845: Rework the http digest auth parser
2462 - Bug 2787: unknown/unexpected status code messages
2463 - Bug 2507: squid_ldap_group: Strip Domain name separated by +
2464 - Bug 2367: stale=true on digest requests with unknown nonce
2465 - ... and several other minor corrections
2466
2467 Changes to squid-3.0.STABLE24 (13 Feb 2010):
2468
2469 - Bug 2858: Segment violation in HTCP
2470 - Updated refresh pattern for dynamic pages
2471
2472 Changes to squid-3.0.STABLE23 (02 Feb 2010):
2473
2474 - Bug 2856: removing assert() required for 3.0 patch for SQUID-2010:1
2475 - Regression Fix: Build error in Kerberos helper after library removal.
2476
2477 Changes to squid-3.0.STABLE22 (01 Feb 2010):
2478
2479 - Regression Fix: Make Squid abort on all config parse failures.
2480 - Bug 2787: Reduce unexpected http status to non-critical warnings.
2481 - Bug 2496: Downloading some variants in full before relaying
2482 - Bug 2452: Add upper limit to external_acl_type entries.
2483 - Removed optional kerberos/spnegohelp/ library due to licensing issues
2484 - Add client_ip_max_connections
2485 - Handle DNS header-only packets as invalid.
2486
2487 Changes to squid-3.0.STABLE21 (22 Dec 2009):
2488
2489 - Bug 2830: Clarify where NULL byte is in headers.
2490 - Bug 2778: Linking issues using SunCC
2491 - Bug 2395: FTP errors not displayed
2492 - Bug 2155: Assertion failures on malformed Content-Range response headers
2493 - Fix parsing and a few bugs in ACL time type
2494 - Fix RFC keep-alive compliance on intercepted replies
2495 - Improved security hardening on %nn parser
2496 - Replace several GCC-specific code snippets.
2497
2498 Changes to squid-3.0.STABLE20 (29 Oct 2009):
2499
2500 - Bug 2794: ESI parsing on FreeBSD
2501 - Bug 2791: assertion failed: MemBuf.cc:400: new_cap > (size_t) capacity
2502 - Bug 2779: Support GNU/kFreeBSD
2503 - Bug 2773: Segfault in RFC2069 Digest authantication
2504 - Bug 2768: squid_ldap_group argument parsing error
2505 - Bug 2761: Gopher and double HTTP response header
2506 - Bug 2735: Incomplete -fhuge-objects detection
2507 - Bug 2722: prevent CONNECT via http_port with accel
2508 - Bug 2624: Invalid response for IMS request
2509 - Bug 2510: digest_ldap_auth TLS support
2510 - Correct LINUX_CAPABILITY actions on non-Linux
2511
2512 Changes to squid-3.0.STABLE19 (06 Sep 2009):
2513
2514 - Bug 2745: Invalid Response error on small reads
2515 - Bug 2739: DNS resolver option ndots can't be parsed from resolv.conf
2516 - Bug 2734: some compile errors on Solaris
2517 - Bug 2648: stateful helpers stuck in reserved if client disconnects while helper busy
2518 - Bug 2541: Hang in 100% CPU loop while extacting header details using a delimiter other than comma
2519 - Bug 2362: Remove support for deferred state in stateful helpers
2520 - Add 0.0.0.0 as a to_localhost address
2521 - Docs: Improve chroot directive documentation slightly
2522 - Fixup libxml2 include magics, was failing when a configure cache was used
2523 - ... and some minor testing improvements.
2524
2525 Changes to squid-3.0.STABLE18 (04 Aug 2009):
2526
2527 - Bug 2728: regression: assertion failed: !eof
2528 - Bug 2732: reply_body_max_size smaller than error page loops
2529 infinitely until out of memory
2530 - Bug 2725: pconn failure if domain or client_address are unset
2531 - Bug 2648: reserved helpers not shut down after reconfigure/rotate
2532 - Bug 2462: make check should tell when cppunit is missing
2533 - Remove excess messages about headers < minimum size
2534 - Support Libtool 2.2.6
2535
2536 Changes to squid-3.0.STABLE17 (27 Jul 2009):
2537
2538 - Bug 2680 regression: Crash after rotate with no helpers running
2539 - Bug 2710: squid_kerb_auth non-terminated string
2540 - Bug 2679: strsep and strtoll detection failure
2541 - Bug 2674: Remove limit on HTTP headers read.
2542 - Bug 2659: String length overflows on append, leading to segfaults
2543 - Bug 2620: Invalid HTTP response codes causes segfault
2544 - Bug 2080: wbinfo_group.pl - false positive under certain conditions
2545 - Bug 1087: ESI processor not quoting attributes correctly.
2546 - Fix: issue with AUFS/UFS/DiskD writing objects to disk cache
2547 - Several small build issues with previous release.
2548
2549 Changes to squid-3.0.STABLE16 (15 Jun 2009):
2550
2551 - Bug 2672: cacheMemMaxSize 32-bit overflow during snmpwalk
2552 - Bug 2481: Don't set expires: now in generated error responses
2553 - Bug 2387: The calculation of the number of hash buckets correctly
2554 - Fix infinite loop in MSNT auth helper
2555 - Fix FD_SETSIZE on FreeBSD
2556 - Fix stripping NT domain in squid_ldap_group
2557 - Fix RADIUS auth helper build
2558 - Add Translate: and Unless-Modified-Since: headers to known list
2559 - Make fakeauth handle NTLMv2 better
2560 - Better Kerberos support detection
2561 - Several Widows port fixes
2562
2563 Changes to squid-3.0.STABLE16-RC1 (16 May 2009):
2564
2565 - Bug 1148: Ported from 3.1: Chunked Transfer Encoding
2566 - Bug 2648: NTLM helpers not shutting down when deferred
2567
2568 Changes to squid-3.0.STABLE15 (06 May 2009):
2569
2570 - Regression Bug 2635: Incorrect Max-Forwards header type
2571 - Bug 2652: 'Success' error on CONNECT requests
2572 - Bug 2625: IDENT receiving errors
2573 - Bug 2610: ipfilter support detection
2574 - Bug 2578: FTP download resume failure
2575 - Bug 2536: %H on HTTPS error pages
2576 - Bug 2491: assertion "age >= 0"
2577 - Bug 2276: too many NTLM helpers running
2578 - Endian system and compiler fixes provided by the NetBSD project
2579 - documentation fixes provided by the Debian project
2580
2581 Changes to squid-3.0.STABLE14 (11 Apr 2009):
2582
2583 - Regression Fix: HTTP/0.9 in accelerator mode
2584 - Bug 1232: cache_dir parameter limited to only 63 entries
2585 - Bug 1868: support HTTP 207 status
2586 - Bug 2518: assertion failure on restart/reconfigure
2587 - Bug 2588: coredump in rDNS lookup
2588 - Bug 2595: Out of bounds memory write in squid_kerb_auth
2589 - Bug 2599: Idempotent start
2590 - Bug 2605: Prevent setsid() on helpers in daemon mode
2591 - Fix external_acl_type option parsing
2592 - Fix delay pools counters on FTP
2593 - Fix several issues with ident (some remain)
2594 - Fix performance issues with persistent connections
2595 - Fix performance issues with delay pools
2596 - Fix forwarding of OPTIONS requests
2597 - Add support for HTTP 1.1 Content-Disposition header
2598 - Add support for Windows 7, Windows Server 2008 R2 and later
2599 - ... and many small documentation updates
2600
2601 Changes to squid-3.0.STABLE13 (03 Feb 2009):
2602
2603 - Fix several issues in request parsing
2604 - Fix memory leak from logformat parsing
2605 - Fix various ESI build errors
2606 - ... and some documentation updates
2607
2608 Changes to squid-3.0.STABLE12 (21 Jan 2009):
2609
2610 - Bug 2533: Solaris (sparc) 64-bit build breaks with gcc/g++
2611 - Bug 2542: ICAP filters break download resume
2612 - Bug 2556: HTCP fails without icp_port
2613 - Bug 2564: logformat '%tl' field not working as advertised
2614 - Port from 3.1: TestBed basic build consistency checks
2615 - Policy: Change half_closed_clients default to off
2616 - Policy: Removed -V command line option, deprecated by 2.6
2617 - ... and several other minor code cleanups
2618
2619 Changes to squid-3.0.STABLE11 (24 Dec 2008):
2620
2621 - Bug 2424: filedescriptors being left unnecessary opened
2622 - Bug 2545: fault passing ICAP filtered traffic to peers
2623 - Bug 2227: Sefgaults in MemBuf::reset during idnsSendQuery
2624 - ... and some minor admin and debug cleanups.
2625
2626 Changes to squid-3.0.STABLE11-RC1 (3 Dec 2008):
2627
2628 - Removes patch causing cache of bad objects
2629 - Bug 2526: bad security default in ACLChecklist
2630 - Fixes regression: access.log request size tag
2631 - Fixes cache_peer forceddomainname=X option
2632 - ... and many minor documentation cleanups
2633
2634 Changes to squid-3.0.STABLE10 (14 Oct 2008):
2635
2636 - Bug 2391: Regression: bad assert in forwarding
2637 - Bug 2447: Segfault on failed TCP DNS query
2638 - Bug 2393: DNS requests getting stuck in idns queue
2639 - Bug 2433: FTP PUT gives bad gateway
2640 - Bug 2465: Limited DragonflyBSD support
2641 - ... and other minor bugs and documentation
2642
2643 Changes to squid-3.0.STABLE9 (9 Sep 2008):
2644
2645 - Policy Enforcement: COSS is unusable in 3.0
2646 - Port from 3.1: Language Pack compatibility
2647 - Port from 2.6: Windows Support Notes
2648 - Fix several minor regressions:
2649 HTCP stats reporting
2650 cachemgr delay pool config
2651 CARP build error
2652 - Bug 2340: uudecode dependency for icons removed
2653 - Bug 2352: no_check.pl ntlm challenge fix
2654 - Bug 2426: buffer increase for kerberos auth fields
2655 - Bug 2427: squid_ldap_group codes fix
2656 - Bug 2437: peer name now shown in access.log
2657 - Add sane display of unsupported method errors
2658 - ... and various other code cleanups
2659
2660 Changes to squid-3.0.STABLE8 (18 Jul 2008):
2661
2662 - Port from 2.6: Support for cachemgr sub-actions
2663 - Port from 2.6: userhash peer selection method
2664 - Port from 2.6: sourcehash peer selection method
2665 - Bug 2376: round-robin balancing fixes
2666 - Bug 2388: acl documentation cleanup
2667 - Bug 2365: cachemgr.cgi HTML output encoding
2668 - Bug 2301: Regression: Log format size options
2669 - Bug 2396: Correct the opening of PF device file.
2670 - Bug 2400: ICAP accept mechanism
2671 - Bug 2411: Regression: fakeauth_auth crashes
2672 - Many fixes to the Windows support (not complete yet).
2673 - Boost error pages HTML standards.
2674 - Fixes several issues on 64-bit systems
2675 - Fixes several issues on older or stricter compilers
2676 - Linux-2.6.24/2.6.25 netfilter_ipv4.h __u32 workaround
2677 - Update Release Notes: 'all' ACL is built-in since 3.0.STABLE1
2678
2679 Changes to squid-3.0.STABLE7 (22 Jun 2008):
2680
2681 - Fix several ASN issues
2682 - Fix SNMP reporting of counters
2683 - Fix round-robin algorithms
2684 - GCC 4.3 support
2685 - Netfilter v1.4.0 bug workaround
2686 - Bugs 2350 and 2323: memory issues
2687 - Bugs 2384, 951, 1566: ESI assertions
2688 - Various minor debug and documentation cleanups
2689
2690 Changes to squid-3.0.STABLE6 (20 May 2008):
2691
2692 - Bug 2254: umask Feature from 2.6 added
2693 - cachemgr.cgi default config file added
2694 - Several authentication bug fixes
2695 - Improved Windows Support
2696 - better DNS lookup methods for unqualified hostames
2697 - better support for 64-bit environments
2698 - Bug 2332: Crash when tunnelling
2699 - Removed the advertisement clause from BSD licenses
2700 according to the GPLv2+ changes in BSD
2701 - ... and other bugs and minor cleanups
2702
2703 Changes to squid-3.0.STABLE5 (28 Apr 2008):
2704
2705 - Support for resolv.conf 'domain' option
2706 - Improved URI support, including
2707 longer URI up to 8192 bytes accepted
2708 better handling of intercepted URI
2709 better port for non-FQDN URI lookups
2710 - Improved logging, including
2711 Bug 3210 fixed: incorrect timestamp format in earlier 3.0 releases.
2712 Fixed 'log_ip_on_direct' option behaviour
2713 - Support for profiling on x86 64-bit systems
2714 - .. and other bugs and minor code cleanups.
2715
2716 Changes to squid-3.0.STABLE4 (2 Apr 2008):
2717
2718 - Bug 2288: compile error slipped into STABLE3.
2719
2720 Changes to squid-3.0.STABLE3 (31 Mar 2008):
2721
2722 - Improved HTTP 1.1 support.
2723 - Improved MacOSX (Leopard) support
2724 - Bug 2206: Proxy-Authentication regression in STABLE2.
2725 - Strip Domain from NTLM usernames for use in class 4 Delay Pools
2726 - ... and other bugs and minor code cleanup
2727
2728 Changes to squid-3.0.STABLE2 (1 Mar 2008):
2729
2730 - Add myportname ACL for matching the accepting port name (see release notes)
2731 - Add include directive for squid.conf (see release notes)
2732 - Add ability to strip kerberos realm from usernames during Auth
2733 - License cleanup to comply with GPLv2 or later
2734 - Updated Error Pages and Translations
2735 - Updated configuration examples
2736 - Updated valgrind support for valgrind-3.3.0
2737 - Improved support for Windows and MacOS X Leopard
2738 - Improved support for files larger than 2GB
2739 - Improved support for CARP arrays and WCCPv2
2740 - Improved cachmgr, SNMP, and log reporting
2741 - ... and as usual Many bug fixes since STABLE 1
2742
2743 Changes to squid-3.0.STABLE1 (13 Dec 2007):
2744
2745 - Major rewrite translating the code to C++, originally based on
2746 Squid-2.5.STABLE1
2747 - Internal client streams concept for content adaptation
2748 - ICAP (Internet Content Adaptation Protocol) client support
2749 - ESI (Edge Side Includes) support added
2750 - Improved support for files larger than 2GB.
2751 - And a lot more. Most features from Squid-2.6 is supported, but not
2752 all. See the release notes for details.
2753
2754
2755 Squid-2 ChangeLog of versions fully ported to Squid-3 follows.
2756
2757 Changes to squid-2.6.STABLE22 (19 October 2008)
2758
2759 - Bug #2396: Correct the opening of the PF device file.
2760 - Make --with-large-files and --with-build-envirnment=default play
2761 nice together
2762 - Workaround for Linux-2.6.24 & 2.6.25 netfiler_ipv4.h include header
2763 __u32 problem
2764 - Make dns_nameserver work when using --disable-internal-dns on glibc
2765 based systems
2766 - Bug #2426: Increase negotiate auth token buffer size
2767 - Bug #2427: squid_ldap_group -h reports the old % codes for -f
2768 - Bug #2477: swap.state permission issues if crashing during "squid -k
2769 reconfigure"
2770 - Windows port: Fix build error using latest MinGW runtime.
2771
2772
2773
2774 Older ChangeLog follows. The sections relating to Squid-2.6 is not entirely
2775 authorative for this release and mirrored here for reference only.
2776
2777 - CARP now plays well with the other peering algorithms,
2778 and support for CARP peerings is compiled by default. Can be
2779 disabled by --disable-carp
2780 - Configuration file can be read from an external program
2781 or preprocessor. See squid.8 man page.
2782 - http_port is now optional, allowing for SSL only operation
2783 - Satellite and other high latency peering relations enhancements
2784 (Robert Cohren)
2785 - Nuked num32 types, and made type detection more robust by the
2786 use of typedefs rather than #defines.
2787 - the mailto links on Squid's ERR pages now contain data about the
2788 occurred error by default, so that the email will contain this data in
2789 its body. This feature can be disabled via the email_err_data directive.
2790 (Clemens L?ser)
2791 - COSS now uses a file called stripe and the path in squid.conf is the
2792 directory this is placed in. Additionally squid -z will create the
2793 COSS swapfile.
2794 - WCCPv2 support, including mask assignment support
2795 - HTCP support for access control and the CRL operation for
2796 purgeing of cache content
2797 - ICAP related fixes
2798 - Windows-related fixes, including Vista and Longhorn identification
2799 - Client-side parsing and some string use optimisations
2800 - Lots of off-by-one and memory leaks in corner cases have been fixed
2801 thanks to valgrind
2802 - Improved high-resolution profiling
2803 - Windows overlapped-IO and thread support added to the Async IO disk code
2804 - Improvements for handling large DNS replies
2805
2806 Changes to squid-2.6.STABLE15 (31 Aug 2007)
2807
2808 - The select() I/O loop got broken by the /dev/poll addition
2809 (2.6.STABLE14)
2810 - Bug #2017: Fails to work around broken servers sending just the HTTP
2811 headers
2812 - Bug #2023: Compile error with old GCC 2.x or other ANSI-C compilers
2813 before C99
2814 - squid.conf.default updated and reorganised in more sensible groups
2815 - correct and document the syslog access_log format
2816 - Armenian error pages translation
2817 - digest_ldap_helper usage help updated
2818 - Bug #1560: ftpSendPasv: getsockname(-1,..): (9) Bad file descriptor
2819 - Improve delay pools in low traffic environment by checking timeouts
2820 at a steady 1 second interval even when there is not much activity
2821 - Don't request authentication on transparently intercepted
2822 connections
2823 - Cleanup linux capabilities for tproxy
2824 - Bug #2003: 'via' config directive doesn't affect response headers
2825 - Bug #1902: Adds Numeric Hit and invalid request counters to IP Cache
2826 - Add missing $|=1 to squid_db_auth
2827 - Bug #2050: Persistent connection dropped if cache has no
2828 Content-Length
2829 - Verify the URL on memory cache hits
2830 - Bug #2057: NTLM stop work in messengers after upgrade to 2.6.STABLE14
2831 - Bug #1972: Squid sets peers to down state when they are in fact
2832 working.
2833 - potential segmentation fault in storeLocateVary()
2834 - Bug #2066: chdir after chroot
2835 - Windows port: Fix compiler warnings when building Squid as
2836 application (not Windows service mode)
2837 - Spelling correction of received
2838
2839 Changes to squid-2.6.STABLE14 (15 Jul 2007)
2840
2841 - squid.conf.default cleanup to have options in their proper sections.
2842 - documentation correction in the refresh_pattern ignore-auth option
2843 - URI-escaping not uses the recommended upper-case hex codes
2844 - refresh_pattern min-age 0 correted to really mean 0, and not 1 second
2845 - Always use xisxxxx() Squid defined macros instead of ctype
2846 functions.
2847 - Kerberos SPNEGO/Negotiate helper for the negotiate scheme
2848 - Database basic auth helper using Perl DBI to connect to most SQL DBs
2849 - Solaris /dev/poll network I/O support
2850 - configure fixes to make cross compilation somewhat easier
2851 - Removed incorrect -a reference from http_port documentation
2852 - Bug #1900: Double "squid -k shutdown" makes Squid restart again
2853 - Bug #1968: Squid hangs occasionally when using DNS search paths
2854 - Novell eDirectory digest auth helper (digest_edir_auth)
2855 - Bug #1130: min-size option for cache_dir
2856 - POP3 basic auth helper querying a POP3 server
2857 - Cosmetic squid_ldap_auth fixes from Squid-3
2858 - Bug #1085: Add no-wrap to cache manager HTML tables
2859 - Automatically restart if number of available filedescriptors becomes
2860 alarmingly low, preventing a situation where Squid would otherwise
2861 permanently stop processing requests.
2862 - Bug #2010: snmp_core.cc:828: warning: array subscript is above
2863 array bounds
2864 - Deal better with forwarding loops
2865
2866 Changes to squid-2.6.STABLE13 (11 May 2007)
2867
2868 - Make sure reply headers gets sent even if there is no body available
2869 yet, fixing RealMedia streaming over HTTP issues.
2870 - Undo an accidental name change of storeUnregisterAbort.
2871 - Kill an ancient malplaced storeUnregisterAbort call from ftp.c
2872 - Bug #1814: SSL memory leak on persistent SSL connections
2873 - Don't log ECONNREFUSED/ECONNABORTED accept failures in cache.log
2874 - Cosmetic fix: added missing newline in WCCPv2 configuration dump.
2875 - Ukrainan error messages
2876 - Convert various error pages from DOS to UNIX text format
2877 - Bug #1820: COSS assertion failure t->length == MD5_DIGEST_CHARS
2878 - Clarify the max-conn=n cache_peer option syntax slightly
2879 - Bug #1892: COSS segfault on shutdown
2880 - Windows port: fix undefined ECONNABORTED
2881 - Make refreshIsCachable handle ETag as a cache validator, not
2882 only last-modified
2883 - in_port_t is not portable, use unsigned short instead
2884 - Fix fs / auth / snmp dependencies
2885 - Portability: statfs() may reqire #include <sys/statfs.h>
2886
2887 Changes to squid-2.6.STABLE12 (20 Mar 2007)
2888
2889 - Assertion error on TRACE
2890
2891 Changes to squid-2.6.STABLE11 (17 Mar 2007)
2892
2893 - Bug #1915: assertion failed: client_side.c:4055: "buf != NULL ||
2894 !conn->body.request"
2895 - Handle garbage helper responses better in concurrent protocol format
2896 - Fix kqueue when overflowing the changes queue
2897 - Make sure the child worker process commits suicide if it could
2898 not start up
2899 - Don't log short responses at debug level 1
2900 - Fix bswap16 & bwsap32 error on NetBSD
2901 - Fix collapsed_forwarding for non-GET requests
2902
2903 Changes to squid-2.6.STABLE10 (4 Mar 2007)
2904
2905 - Upgrade HTTP/0.9 responses to our HTTP version (HTTP/1.0)
2906 - various diskd bugfixes
2907 - In the access.log hierarchy field log the unique peer name
2908 instead of the host name
2909 - unlinkdClose() should be called after (not before) storeDirSync()
2910 - CLEAN_BUF_SZ was defined, but never used anywhere
2911 - logging HTTP-request size
2912 - Fix icmp pinger communication on FreeBSD and other not supporing
2913 large dgram AF_UNIX sockets
2914 - Release objects on swapin failure
2915 - Bug #1787: Objects stuck in cache if origin server clock in future
2916 - Bug #1420: 302 responses with an Expires header is always cached
2917 - Primitive support for HTTP/1.1 chunked encoding, working around
2918 broken servers
2919 - Clean up relations between TCP probing and DNS checks of peers with
2920 no known addresses.
2921 - Fix a minor HTML coding error in ftp directory listings with // in
2922 the path
2923 - Bug #1875, #1420. Cleanup of refresh logics when dealing with
2924 non-refreshable content
2925 - Gopher cleanups and bugfixes
2926 - Negotiate authentication fixed again. Broken since STABLE7 by the
2927 patch for Bug #1792.
2928 - Bug #1892: COSS tries to shut down the same directory twice on exit
2929 - Bug #1908: store*DirRebuildFromSwapLog() ignores some SWAP_LOG_DEL
2930 entries
2931 - Added support for Subversion HTTP request methods MKACTIVITY,
2932 CHECKOUT and MERGE.
2933
2934 Changes to squid-2.6.STABLE9 (24 Jan 2007)
2935
2936 - Bug #1878: If-Modified-Since broken in 2.6.STABLE8
2937 - Bug #1877 diskd bug in storeDiskdIOCallback()
2938
2939 Changes to squid-2.6.STABLE8 (21 Jan 2007)
2940
2941 - Bug #1873: authenticateNTLMFixErrorHeader: state 4.
2942 - Document the https_port vhost option, useful in combination with
2943 a wildcard certificate
2944 - Document the existence of connection pinning / forwarding of NTLM
2945 auth and a few other features overlooked in the release notes.
2946 - Spelling correction of the ssl cache_peer option
2947 - Add back the optional "accel" http_port option. Makes accelerator
2948 mode configurations easier to read.
2949 - Bug #1872: Date parsing error causing objects to get unexpectedly
2950 cached.
2951 - Cleanup to have the access.log tags autogenerated from enums.h
2952 - Bug #1783: STALE: Entry's timestamp greater than check time. Clock
2953 going backwards?
2954 - Don't update object timestamps on a failed revalidation.
2955 - Fix how ftp://user@host URLs is rendered when Squid is built with
2956 leak checking enabled
2957
2958 Changes to squid-2.6.STABLE7 (13 Jan 2007)
2959
2960 - Windows port: Fix intermittent build error using Visual Studio
2961 - Add missing tproxy info from the dump of http port configuration
2962 - Bug #1853: Support for ARP ACL on NetBSD
2963 - clientNatLookup(): fix wrong function name in debug messages
2964 - Convert ncsa_auth man page from DOS to Unix text format.
2965 - Bug #1858: digest_ldap_auth had some remains of old hash format
2966 - Correct the select_loops counter when using select(). Was counted twice
2967 - Clarify the http_port vhost option a bit
2968 - Fix cache-control: max-stale without value or bad value
2969 - Bug #1857: Segmentation fault on certain types of ftp:// requests
2970 - Bug #1848: external_acl crashes with an infinite loop under high load
2971 - Bug #1792: max_user_ip not working with NTLM authentication
2972 - Bug #1865: deny_info redirection with authentication related acls
2973 - Small example on how to use the squid_session helper
2974 - Bug #1863: cache_peer monitorurl, monitorsize and monitorinterval not working properly
2975 - Clarify the transparent http_port option a bit more
2976 - Bug #1828: squid.conf docutemtation error for proxy_auth digest
2977 - Bug #1867: squid.pid isn't removed on shutdown
2978
2979 Changes to squid-2.6.STABLE6 (12 Dec 2006)
2980
2981 - Bug #1817: Assertion failure assert(buflen >= copy_sz) in htcp.c htcpBuildAuth()
2982 - Add client source port logformat tag >p
2983 - Cleanup of transparent & accelerator mode request parsing to untangle the firewall dependencies a bit
2984 - Bug #1799: Harmless 1 byte buffer overflow on long host names in /etc/hosts
2985 - automake no longer recommends mkinstalldirs. Removed.
2986 - Only use crypt() if it's available, allowing ncsa_auth to be built
2987 on platofms without crypt() support.
2988 - Windows port documentation updates
2989 - Bug #1818: Assertion failure assert(e->swap_dirn >= 0) in fs/coss/store_dir_coss.c storeCoss_DeleteStoreEntry
2990 - Bug #1117: assertion failed: aufs/store_dir_aufs.c:642: "rb->flags.need_to_validate"
2991 - Remove extra newline in redirect message sent by deny_info http://... aclname
2992 - Bug #1805: assertion failed: StatHist.c:195: "D[i] >= 0"
2993 - Clarify the external_acl_type helper format specification and some defaults
2994 - Add support for the weight= parameter to round-robin peers
2995 - Bug #1832: Error building squid-2.6.STABLE5 using --enable-truncate
2996 - Convert snmpDebugOid to use a temporary String object instead of strcat
2997 - Document that proxy_auth also accepts -i for case-insensitive operation
2998 - Remove malloc/free of temporary buffer in time parsing routines.
2999 - Reduce memory allocator pressure by not continually allocating client-side read buffers
3000 - Accept large dates >2^31 on 64-bit platformst. Seen for example in the Google logo.
3001 - Convert the connStateData->chr single link list to a normal dlink_list for clarity.
3002 - Bug #1584: Unable to register with multiple WCCP2 routers
3003 - Fix the WCCPv2 mask assignment code to not crash as the value assignments are built.
3004 - Bug #439: Multicast ICP peering is unstable and considers most peers dead
3005 - Bug #1801: NTLM authentication ends up in a loop if the server responds with a retriable error
3006 - Bug #1839: Cosmetic debug message cleanup in peerHandleHtcpReply.
3007 - Bug #1840: Disable digest and netdb queries to multicast peers
3008 - Bug #1641: assertion failed: stmem.c:149: "size > 0" while processing certain Vary objects
3009 - Fix build errors when using latest MinGW Windows environment
3010
3011 Changes to squid-2.6.STABLE5 (3 Now 2006)
3012
3013 - Bug #1776: 2.6.STABLE4 aufs fails to compile if coss isn't enabled
3014 - COSS improvements and cleanups
3015 - SNMP linking issue resolved, enabling SNMP support to be build in all platforms
3016 - Bug #1784: access_log syslog results in blanks syslog lines between every entry
3017 - Bug #1719: Incorrect error message on invalid cache_peer specifications
3018 - Bug #1785: Memory leak in handling of negatively cached objects
3019 - Bug #1780: Incorrect Vary processing in combination with collapsed_forwarding
3020 - Bug #1782: Memory leak in ncsa_auth on password changes
3021 - Suppress some annoying coss startup messages raising the debug level to 2.
3022 - Clarify the external_acl_helper concurrency= change.
3023 - aioDone() could be called twice from aufs and from coss (when using AIOPS) during shutdown.
3024 - Bug #1794: Accept 00:00-24:00 as a valid time specification even if redundand and the same as 00:00-23:59
3025 - Bug #1795: Theoretical memory leak in storeSetPublicKey
3026 - Removing port 563 from the default SSL_ports and Safe_ports ACLs
3027 - Bug #1724: Automatically enable Linux Netfilter support with --enable-linux-tproxy.
3028 - Bug #1800: squid -k reconfigure crash when using req/rep_header acls
3029 - Clarify the select/poll/kqueue/epoll configure --enable/disable options
3030 - Bug #1779: Delay pools fairness when multiple connections compete for bandwidth
3031 - Bug #1802: Crash on exit in certain conditions where cache.log is not writeable
3032 - Bug #1796: Assertion error HttpHeader.c:914: "str"
3033 - Bug #1790: Crash on wccp2 + mask assignement + standard wccp service
3034 - Silence harmless gcc compile warning.
3035 - Clean up poll memory on shutdown
3036 - Ported select, poll and win32 to new comm event framework
3037 - Windows port: Correctly identify Windows Vista and Windows Server Longhorn
3038 - Added a basic comm_select_simple comm loop only requiring minimal POSIX compliance.
3039 - Safeguard from kb_t counter overflows on 32-bit platforms
3040
3041 Changes to squid-2.6.STABLE4 (23 Sep 2006)
3042
3043 - Bug #1736: Missing Italian translation of ERR_TOO_BIG error page
3044 - Windows port enhancement: added native exception handler with signal emulation
3045 - Fix the %un log_format tag again. Got broken in 2.6.STABLE2
3046 - Fix Squid crash when using %a in ERR_INVALID_REQ and ERR_INVALID_URL error messages.
3047 - Bug #212: variable %i always 0.0.0.0 in many error pages
3048 - Bug #1708: Ports in ACL accepts characters and out of range
3049 - Bug #1706: Squid time acl accepts invalid time range.
3050 - Fix another harmless fake_auth compiler warning on gcc 4.1.1 x86
3051 - Fix an harmless snmp_core.c compiler warning on gcc 4.1.1 x86
3052 - Bug #1744: squid-2.6.STABLE3 - fakeauth_auth crashing on certain requests
3053 - Bug #1746: Harmless off by one overrun in ncsa_auth md5 password validation
3054 - Bug #1598: start_announce cannot be disabled
3055 - Periodically flush cache.log to disk when "buffered_logs on" is set
3056 - Numerous COSS improvements and fixes
3057 - Windows port: merge of MinGW support
3058 - Windows port: Merged Windows threads support into aufs
3059 - Bug #1759: Windows port cachemgr.cgi attempts to write to file system root directory
3060 - Numerous portability fixes
3061 - Various minor statistics cleanup on 64-bit hosts with more than 4GB of memory
3062 - Bug #1758: HEAD on ftp:// URLs always returned 200 OK.
3063 - Bug #1760: FTP related memory leak
3064 - Bug #1770: WCCP2 weighted assignment
3065 - Bug #1768: Redundant DNS PTR lookups
3066 - Bug #1696: Add support for wccpv2 mask assignment
3067 - Bug #1774: ncsa_auth support for cramfs timestamps
3068 - Bug #1769: near-hit and filedescriptor usage missing in SNMP MIB
3069 - Bug #1725: cache_peer login=PASS documentation somewhat confusing
3070 - Bug #1590: Silence those ETag loop warnings
3071 - Bug #1740: Squid crashes on certain malformed HTTP responses
3072 - Bug #1699: assertion failed: authenticate.c:836: "auth_user_request != NULL"
3073 - Improve error reporting on unexpected CONNECT requests in accelerator mode
3074 - Cosmetic change to increase cache.log detail level on invalid requests
3075 - Bug #1229: http_port and other directives accept invalid ports
3076 - Reject http_port specifications using both transparent and accelerator options
3077 - Cosmetic cleanup to not dump stacktraces on configuration errors
3078
3079
3080 Changes to squid-2.6.STABLE3 (18 Aug 2006)
3081
3082 - Bug #1577: assertion failed "fm->max_n_files <= (1 << 24)" on
3083 very large cache_dir. Limit number of objects stored to slightly
3084 less to avoid this.
3085 - Bug #1705: Correct error message on invalid time weekday specification
3086 - Don't attempt to guess netmask in src/dst acl specifications
3087 if none was provided. Assume it's an IP even if it ends in 0
3088 - Bug #1665: log_format %ue, %us tags for external or ssl user id
3089 - Bug #1707: delay pools often ignored the set limit
3090 - Bug #1716: Support for recent OpenSSL 0.9.7 versions
3091 (0.9.8 always worked)
3092 - COSS fixes and performance improvements
3093 - Memory leak when reading configuration files with overlapping
3094 ACL data where squid -k parse complains.
3095 - Memory leak related to pinned connections
3096 - Show include acls unexpanded in cachemgr configuration dumps
3097 - Fixed WARNING defer handler for HTTP Socket does not call commDeferFD
3098 - Bug #1304: Downloads may hang when using the cache_dir max-size option
3099 - Optimization of network I/O
3100 - Bug #1730: make problem with --enable-follow-x-forwarded-for on Solaris
3101 - Fixed a memory leak on certain invalid requests
3102 - Bug #1733: ERR_CANNOT_FORWARD Portuguese translation update
3103 - Bug #582: ntlm fake_auth not handles non-ascii login names
3104 - New startup message indicating the type of event loop used
3105 - Bug #1602: TCP fallback on truncated DNS responses
3106 - Bug #1667: assertion failed: store.c:1081: "e->store_status == STORE_PENDING"
3107 - Bug #1723: cachemgr now works in accelerator mode
3108
3109 Changes to squid-2.6.STABLE2 (31 Jul 2006)
3110
3111 - WCCP2 doesn't update statCounter.syscalls.sock.sendtos counter.
3112 - Releasenotes Table of contents should use relative links without
3113 filename.
3114 - Reject HTTP/0.9 formatted CONNECT requests.
3115 - Cosmetic cleanup to use safe_free instead of xfree + manual
3116 assign to NULL
3117 - Bug #1650: transparent interception "Unable to forward this
3118 request at this time"
3119 - Bug #1658: Memory corruption when using client-side SSL certificates
3120 - Add storeRecycle; a storeIO method to delete a StoreEntry w/out
3121 deleting the underlying object.
3122 - Many COSS fixes and new coss data dumper utility for diagnostics
3123 - Bug #1669: SEGV in storeAddVaryReadOld
3124 - Many fixes in debug sections and spelling of debug messages
3125 - Don't keep client connection persistent if there was a mismatch in
3126 the response size.
3127 - Move eventCleanup debug messages to debug level 2 (was 0)
3128 - Add the missing concurrency parameters to basic and digest auth
3129 schemes
3130 - Bug #1670: assertion failure: i->prefix_size > 0 in client_side.c:2509
3131 - Log SSL user id in the custom log User name format (%un)
3132 - Bug #1653: Username info not logged into Cachemgr active_requests
3133 statistics
3134 - Added to the redirectors interface the support for SSL client
3135 certificate
3136 - squid.conf.default cleanup to remove references to old options
3137 - Fix many filedescriptors in combination with TPROXY
3138 - Fix connection pinning in transparently intercepted connections
3139 - Bug #1679: LDFLAGS not honored in some programs.
3140 - Minor cleanup of port numbers in transparent interception or
3141 vhost + vport
3142 - Bug #1671: transparent interception fails with FreeBSD ipfw or
3143 Linux-2.2 ipchains
3144 - Bug #1660: Accept-Encoding related memory corruption
3145 - Bug #1651: Odd results if url_rewriter defined multiple times
3146 - Bug #1655: Squid does not produce coredumps under linux when
3147 started as root
3148 - Bug #1673: cache digests not served to other caches
3149 - Cleanup of Linux capability code used by tproxy
3150 - Bug #1684: xstrdup: tried to dup a NULL pointer!
3151 - Bug #1668: unchecked vsnprintf() return code could lead to log
3152 corruption
3153 - Bug #1688: Assertion failure in HttpHeader.c in some header_access
3154 configurations
3155 - Cygwin support fir --disable-internal-dns
3156 - Silence those annoying sslReadServer: Connection reset by peer
3157 errors.
3158 - Bug #1693: persistent connections broken in transparent
3159 interception mode
3160 - Bug #1691: multicast peering issues
3161 - Bug #1696: Correct WCCP2 processing of router capability info
3162 segments
3163 - Bug #1694: Assertion failure in mgr:config if using
3164 access_log_format %<h
3165 - Bug #1677: Duplicate etags in the If-None-Match header
3166 - Bug #1665: access_log_format codes for login names from external
3167 acl or ssl
3168 - Bug #1681: All ntlmauthenticator processes are busy
3169 - Added ARP acl support for OpenBSD and ARP fixes for Windows
3170 - Bug #1700: WCCP fails on FreeBSD (Unable to disconnect WCCP out
3171 socket)
3172 - WCCP2 correct dampening of assign buckets when there it lots of
3173 changes
3174 - minimum_expiry_time to tune the magic 60 seconds limit of what
3175 is considered cachable when the object doesn't have any cache
3176 validators.
3177 - Bug #1703: wrong path to diskd helper corrected, and config
3178 parser extended to trap incorrect paths early
3179 - Bug #1703: COSS failed to initialize async-io threads
3180 - Bug #1703: should abort if diskd helper exits unexpectedly
3181 - Bug #1702: Warn if acl name is too long
3182 - Bug #1685: Crashes or other odd results after storeSwapMetaUnpack: errors
3183 - wccp2_rebuild_wait directive to delay registering with WCCP until the
3184 - Bug #1662: Infinite loop in external acl with grace period if the
3185 same http_access line had multiple external acls
3186
3187 Changes to squid-2.6.STABLE1 (1 Jul 2006)
3188
3189 - New --enable-default-hostsfile configure option
3190 - Added username info to active_requests cachemgr stats
3191 - Modified squid MIB to incorporate squid.conf visible_hostname
3192 - Added multi-line capability in squid.conf
3193 - Added new httpd_suppress_version_string configuration directive
3194 - WCCPv2 support
3195 - Negotiate authentication scheme support
3196 - NTLM authentication scheme rewritten
3197 - Customizable access log formats
3198 - Selective access logging
3199 - Access logging via syslog
3200 - Reverse proxy enhancements, with new cache_peer based forwarding
3201 model.
3202 - LDAP based Digest helper (Note: not true LDAP integration, just using
3203 LDAP for storage of the Digest hashes)
3204 - Improved helper communication protocol
3205 - External ACL improvements. %PATH, log=, grace=, and more..
3206 - Improved SSL support with hardware offload, client certificate
3207 support (primitive), chained certificates and numerous bug fixes
3208 - DNS lookups now use the search path from /etc/resolv.conf or
3209 the Windows registry
3210 - Linux epoll support
3211 - collapsed forwarding to optimize reverse proxies or other
3212 setups having very many clients going to the same URL
3213 - New improved COSS implementation
3214 - Optional support for blank passwords
3215 - The old and obsolete Samba-2.2.X winbind helpers have been removed
3216 - external acls now uses the simplified URL-escaped protol "3.0" by
3217 default.
3218 - Linux TPROXY support
3219 - Support for proxying of Microsoft Integrated Login by adding
3220 support for the deviations from the HTTP protocol required
3221 to support these authentication mechanisms
3222 - Added the capability to run as a Windows service under Cygwin
3223 - CARP now plays well with the other peering algorithms
3224 - read_ahead_gap option to read ahead more than 16KB of the reply
3225 - check_hostnames and allow_underscore squid.conf options
3226 - http_port is now optional, allowing for SSL only operation
3227 - Full ETag/Vary support, caching responses which varies with
3228 request details (browser, language etc).
3229 - umask now defaults to 027 to protect the content of cache and
3230 log files from local users
3231 - HTCP support for access control and the CRL operation for
3232 purgeing of cache content
3233 - Optionally follow X-Forwarded-For headers to determine the original
3234 client IP behind sedond level proxies
3235 - FreeBSD kqueue support
3236
3237 Changes to squid-2.5.STABLE14 (20 May 2006)
3238 - [Minor] icons not displayed when visible_hostname is a
3239 short hostname (without domain). (Bug #1532)
3240 - [Medium] Memleak in HTCP client code (default disabled)
3241 (Bug #1553)
3242 - [Major] memory leak in ident processing (Bug #1557)
3243 - [Medium] Memory leak in header processing related to external_acl
3244 header detail format tag (Bug #1564)
3245
3246 Changes to squid-2.5.STABLE13 (12 Mar 2006)
3247 - [Minor] Fails to compile on Solaris and some other platforms
3248 with undefined reference to setenv (Bug #1435)
3249 - [Cosmetic] Added WebDAV REPORT method to know HTTP methods list
3250 - [Minor] Squid ntlm_auth (not the Samba provided one) giving
3251 odd results if --enable-ntlm-fail-open is used (Bug #1022)
3252 - [Minor] wbinfo_group.pl doesn't work with Samba 3.0.21 and later
3253 (Bug #1472)
3254 - [Minor] Squid crash when asyncio function counters url accessed
3255 from Cachemgr CGI (Bug #1464)
3256 - [Cosmetic] Linux compile warning about prctl called with too few
3257 arguments (Bug #1483)
3258 - [Minor] Wrong timezone declaration for 64 bit Irix (Bug #1479)
3259 - [Minor] Some 206 responses logged incorrectly (Bug #1511)
3260 - [Minor] Issues in processing ranges on objects >2GB (Bug #437)
3261 - [Cosmetic] Segmentation fault on empty proxy_auth ACLs (Bug #1414)
3262 - [Minor] Ident access lists don't work in delay_access statements
3263 (Bug #1428)
3264 - [Minor] Some clients support NTLM even if not initially negotiating
3265 persistent connections (Bug #1447)
3266 - [Medium] 504 Gateway Time-out on FTP uploads (Bug #1459)
3267 - [Medium] delay pools given too much bandwidht after "-k reconfigure"
3268 (Bug #1481)
3269 - [Cosmetic] New persistent_connection_after_error configuration
3270 directive (Bug #1482)
3271 - [Cosmetic] Hangs at 100% CPU if /dev/null is not accessible (Bug
3272 #1484)
3273 - [Minor] Fails to compile on Fedora Core 5 test 2 x86_64 (Bug #1492)
3274 - [Cosmetic] Typo in ftp.c (Bug #1507)
3275 - [Cosmetic] Error in FTP listings of files with -> in their name
3276 (Bug #1508)
3277 - [Cosmetic] With Squid-2.5 there is no more the DUPLICATE IP logging
3278 in cache.log (Bug #779)
3279 - [Minor] Fails to process long host names (Bug #1434)
3280 - [Cosmetic] Azerbaijani errors translation (Bug #1454)
3281 - [Cosmetic] misleading error message message for bad/unresolveable
3282 cache_peer name (Bug #1504)
3283 - [Cosmetic] confusing statistics on stateful helpers (NTLM auth)
3284 (Bug #1506)
3285 - [Major] connstate memory leak (Bug #1522)
3286
3287 Changes to squid-2.5.STABLE12 (22 Oct 2005)
3288
3289 - [Major] Error introduced in 2.5.STABLE11 causing truncated responses
3290 when using delay pools (Bug #1405)
3291 - [Cosmetic] Document that tcp_outgoing_* works badly in combination
3292 with server_persistent_connections (Bug #454)
3293 - [Cosmetic] Add additinal tracing to squid_ldap_auth making
3294 diagnostics easier on squid_ldap_auth configuration errors
3295 (Bug #1395)
3296 - [Minor] $HOME not set when started as root (Bug #1401)
3297 - [Minor] httpd_accel_single_host breaks in combination with
3298 server_persistent_connections (Bug #1402)
3299 - [Cosmetic] Setting CACHE_HTTP_PORT to configure was only partially
3300 implemented, effectively ignored. (Bug #1403)
3301 - [Minor] CNAME based DNS addresses could get cached for longer
3302 than intended (Bug #1404)
3303 - [Minor] Incorrect handling of squid-internal-dynamic/netdb exchanges
3304 in transparently intercepting proxies (Bug #1410).
3305 - [Minor] Cache revalidations on HEAD requests causing poor cache
3306 hit ratio (Bug #1411).
3307 - [Minor] Not possible to send 302 redirects via a redirector in
3308 response to CONNECT requests (bug #1412)
3309 - [Minor] Incorrect handling of Set-Cookie on cache refreshes (Bug
3310 #1419)
3311 - [Major] Segmentation fault crash in rfc1738_do_escape (Bug #1426)
3312 - [Minor] Delay pools class 3 fails on clients in network 255
3313 (Bug #1431)
3314
3315 Changes to squid-2.5.STABLE11 (22 Sep 2005)
3316
3317 - [Minor] Workaround for servers sending double content-length headers
3318 (Bug #1305)
3319 - [Cosmetic] Updated Spanish error messages by Nicolas Ruiz
3320 - [Cosmetic] Date header corrected on internal objects (icons etc)
3321 (Bug #1275)
3322 - [Minor] squid -k fails in combination with chroot after patch for
3323 bug 1157 (Bug #1307)
3324 - [Cosmetic] Segmentation fault if compiled with
3325 --enable-ipf-transparent but denied access to the NAT device.
3326 (Bug #1313)
3327 - [Minor] httpd_accel_signle_host incompatible with redireection
3328 (Bug #1314)
3329 - [Minor] squid -k reconfigure internal corruption if the type of
3330 a cache_dir is changed (Bug #1308)
3331 - [Minor] SNMP GETNEXT fails if the given OID is outside the Squid MIB
3332 (Bug #1317)
3333 - [Minor] Title in FTP listings somewhat messed up after previous
3334 patch for bug 1220 (Bug #1220)
3335 - [Minor] FTP listings uses "BASE HREF" much more than it needs to,
3336 confusing authentication. (Bug #1204)
3337 - [Minor] winfo_group.pl only looked for the first group if multiple
3338 groups were defined in the same acl. (Bug #1333)
3339 - [Cosmetic] Compiler warnings on some 64-bit platforms (Bug #1316)
3340 - [Cosmetic] Removed some debug output from wb_ntlm_atuh (Bug #518)
3341 - [Cosmetic] The new --with-build-environment=... option doesn't work
3342 - [Cosmetic] New 'mail_program' configuration option in squid.conf
3343 - [Minor] Fails to compile with ip-filter and ARP support on Solaris
3344 x86 (Bug #199)
3345 - [Major] Segmentation fault in sslConnectTimeout (Bug #1355)
3346 - [Medium] assertion failed in StatHist.c:93 (Bug #1325)
3347 - [Minor] More chroot_dir and squid -k reconfigure issues (Bug #1331)
3348 - [Cosmetic] Invalid URLs in error messages when failing to connect
3349 to peer, and a few other inconsistent error messages (Bug #1342)
3350 - [Cosmetic] Fails to compile with glibc -D_FORTIFY_SOURCE=2
3351 (Bug #1344)
3352 - [Minor] Some odd FTP servers respond with 250 where 226 is expected
3353 (Bug #1348)
3354 - [Cosmetic] Greek translation of error messages (Bug #1351)
3355 - [Major] Assertion failed store_status == STORE_PENDING (Bug #1368)
3356 - [Minor] squid_ldap_auth -U does not work (Bug #1370)
3357 - [Minor] SNMP cacheClientTable fails on "long" IP addresses
3358 (Bug #1375)
3359 - [Minor] Solaris Sparc + IP-Filter compile error (Bug #1374)
3360 - [Minor] E-mail sent when cache dies is blocked from many antispam
3361 rules (Bug #1380)
3362 - [Minor] LDAP helpers does not work with TLS (-Z option) (Bug #1389)
3363 - [Cosmetic] Incorrect store dir selection debug message on objects
3364 larger than 2Gigabyte (Bug #1343)
3365 - [Cosmetic] header_id enum misused as an signed integer (Bug #1343)
3366 - [Cosmetic] Allow leaving core dumps when started as root (Bug #1335)
3367 - [Medium] Clients could bypass delay_pool settings by faking a cache
3368 hit request (Bug #500)
3369 - [Minor] IP-Filter 4.X support (Bug #1378)
3370 - [Medium] Odd results on pipelined CONNECT requests
3371 - [Major] Squid crashing with "FATAL: Incorrect scheme in auth header"
3372 when using NTLM authentication.
3373 - [Cosmetic] Odd results when pipeline_prefetch is combined with NTLM
3374 authentication (bug #1396)
3375 - [Minor] invalid host was processed as IP 255.255.255.255 in dst acl
3376 (Bug #1394)
3377 - [Cosmetic] New --with-maxfd=N configure option to override build
3378 time filedescriptor limit test
3379 - [Minor] Added support for Windows code name "Longhorn" on Cygwin.
3380
3381 Changes to squid-2.5.STABLE10 (17 May 2005)
3382
3383 - [Minor Security] Fix race condition in relation to old Netscape
3384 Set-Cookie specifications
3385 - [Minor] Fails to parse D.J. Bernstein's FTP EPLF ftp listing
3386 format and PASV resposes (Bug #1252)
3387 - [Medium] BASE HREF missing on ftp directory URLs without /
3388 (Bug #1253)
3389 - [Minor security] confusing http_access results on configuration
3390 error (Bug #1255)
3391 - [Cosmetic] More robust Date parser (Bug #321)
3392 - [Minor] reload_with_ims fails to refresh negatively cached objects
3393 (Bug #1159)
3394 - [Cosmetic] delay_access description clarification (Bug #1245)
3395 - [Cosmetic] Check for integer overflow in size specifications in
3396 squid.conf (Bug #1247)
3397 - [Cosmetic] bzero is a non-standard function not available on all
3398 platforms (Bug #1256)
3399 - [Cosmetic] Compiler warnings if pid_t is not an int (Bug #1257)
3400 - [Cosmetic] Incorrect use of ctype functions (Bug #1259)
3401 - [Cosmetic] Defer digest fetch if the peer is not allowed to be used
3402 (Bug #1261)
3403 - [Minor] Duplicate content-length headers logged incorrectly or
3404 not cleaned up properly (Bug #1262)
3405 - [Cosmetic] Extend relaxed_header_parser to work around "excess
3406 data from" errors from many major web servers. (Bug #1265)
3407 - [Minor] Add HTTP headers to a netdb error messages
3408 - [Minor] Multiple minor aufs issues (Bug #671)
3409 - [Minor] Basic authentication fails with very long logins or
3410 password (Bug #1171)
3411 - [Minor] CONNECT requests truncated if client side disconnects first
3412 (Bug #1269)
3413 - [Minor] --disable-hostname-checks configure option did not work
3414 - [Cosmetic] LDAP helpers adjusted to compile with SUN LDAP SDK
3415 - [Cosmetic] aufs warning about open event filedescriptors on shutdown
3416 - [Medium] Failed to process requests for files larger than 2GB in size
3417 - [Cosmetic] rename() related cleanup
3418 - [Cosmetic] New cachemgr pending_objects and client_objects actions
3419 - [Cosmetic] external acls requiring authentication did not request
3420 new credentials on access denials like proxy_auth does.
3421 - [Cosmetic] Syslog facility now configurable via command line options.
3422 - [Cosmetic] New %a error page template code expanding into the
3423 authenticated user name. (Bug #798)
3424 - [Minor] IP-Filter 4.0 support in --enable-ipf-transparent
3425 - [Minor] Support interception of multiple ports
3426 - [Cosmetic] Allow "squid -k ..." to run even if the local hostname
3427 can not be determined (Bug #1196)
3428 - [Cosmetic] Configuration file parser now handles DOS/Windows formatted
3429 configuration files with CRLF lineendings proper.
3430 - [Minor] Unrecognized Cache-Control directives now forwarded properly
3431 (Bug #414)
3432 - [Minor] Authentication helpers now returns useable information
3433 in the %m error page macro on failed authentication (Bug #1223)
3434 - [Minor] pid file management corrected in chroot use (Bug #1157)
3435 - [Minor Security] Fix for CVE-1999-0710: cachemgr malicouse use.
3436 cachemgr.cgi now reads a config file telling which proxy servers
3437 it can administer.
3438 - [Minor] aufs statistics improvements
3439 - [Minor] SNMP bugfixes and support for SNMPv2(c) (Bug #1288, #1299)
3440 - [Minor] ARP acl documentation and cachemgr config dump corrections
3441 - [Minor] dstdomain/dstdom_regex acls now allow matching of numeric
3442 hostnames in addition to the reverse lookup of the domain name.
3443 - [Security] Internal DNS client hardened against spoofing
3444
3445 Changes to squid-2.5.STABLE9 (24 Feb 2005)
3446
3447 - [Medium] Don't retry requests on 403 errors (Bug #1210)
3448 - [Minor] Ignore invalid FQDN DNS responses (Bug #1222)
3449 - [Minor] cache_peer related memory leaks on reconfigure (Bug #1246)
3450 - [Cosmetic] Adjusted to build cleanly with GCC-4 (Bug #1211)
3451 - [Minor] relaxed_header_parser extended to work around even more
3452 broken web servers (Bug #1242)
3453 - [Minor] FTP gatewaying URLs cleaned up slightly, mainly to work
3454 better with Mozilla but also to improve security slightly on
3455 non-anonymous FTP.
3456 - [Minor] High characters allowed un-encoded in FTP and Gopher
3457 listings to allow the user-agent to display data in non-iso8859-1
3458 charsets. (Bug #1220)
3459 - [Cosmetic] format fixes to silence compiler warnings on many
3460 platforms.
3461 - [Major] Assertion failures on certain odd DNS responses (Bug #1234)
3462
3463 Changes to squid-2.5.STABLE8 (11 Feb 2005)
3464
3465 - [Minor] 100% CPU usage on half-closed PUT/POST requests (Bug #354,
3466 #1096)
3467 - [Cosmetic] Document -v (protocol version) option to LDAP helpers
3468 - [Minor] The new req_header and resp_header acls segfaults
3469 immediately on parse of squid.conf (Bug #961)
3470 - [Minor] Failure to shut down busy helpers on -k rotate/reconfigure
3471 (Bug #1118)
3472 - [Minor] Don't use O_NONBLOCK on disk files. (Bug #1102)
3473 - [Minor] Squid fails to close TCP connection after blank HTTP
3474 response (Bug #1116)
3475 - [Minor security] Random error messages in response to malformed
3476 host name (Bug #1143)
3477 - [Minor] PURGE should not be able to delete internal objects
3478 (Bug #1112)
3479 - [Minor] httpd_accel_port 0 (virtual) not working correctly (Bug
3480 #1121)
3481 - [Minor] cachemgr vm_objects segfault (Bug #1149)
3482 - [Minor security] Confusing results on empty acl declarations (Bug
3483 #1166)
3484 - [Minor] Don't close all "other" filedescriptors on startup (Bug
3485 #1177)
3486 - [Minor] fakeauth_auth memory leak and NULL pointer access (Bug
3487 #1183)
3488 - [Security] buffer overflow bug in gopherToHTML() (Bug #1189)
3489 - [Medium security] Denial of service with forged WCCP messages
3490 (Bug #1190)
3491 - [Minor] DNS related memory leak on certain malformed DNS responses
3492 (Bug #1197)
3493 - [Minor] Internal DNS sometimes truncates host names in reverse
3494 (PTR) lookups (Bug #1136)
3495 - [Minor Security] Add sanity checks on LDAP user names (Bug #1187)
3496 - [Security] Harden Squid against HTTP request smuggling attacks
3497 - [Minor] Icon URLs fails in non-anonymous FTP directory listings is
3498 short_icon_urls is on (Bug #1203)
3499 - [Security] Harden Squid against HTTP response splitting attacks
3500 (Bug #1200)
3501 - [Medium security] Buffer overflow in WCCP recvfrom() call
3502 (Bug #1217)
3503 - [Security] Properly handle oversized reply headers (Bug #1216)
3504 - [Minor] LDAP helpers search fixed to properly ask for no attributes
3505 - [Minor] A sporadic segmentation fault when using ntlm authentication
3506 fixed (Bug #1127)
3507 - [Major] Segmentation fault on failed PUT/POST requests (Bug #1224)
3508 - [Medium] Persistent connection mismatch on failed PUT/POST request
3509 (Bug #1122)
3510 - [Minor] WCCP easily disturbed by forged packets (Bug #1225)
3511 - [Minor] Password management in ftp:// gatewaying improved (Bug #1226)
3512 - [Major] HTTP reply data corruption in certain situations involving
3513 reply headers split over multiple packets (Bug #1233)
3514
3515 Changes to squid-2.5.STABLE7 (11 Oct 2004)
3516
3517 - [Medium] No objects cached in ufs cache_dir type in some
3518 configurations. Issue introduced in 2.5.STABLE6 by the patch for
3519 Bug #676. (Bug #1011)
3520 - [Minor] LDAP helpers update to correct LDAP connection management
3521 and add support for literal password compare instead of binding
3522 - [Minor] A large number of queued DNS lookups for the same domain
3523 (Bug #852)
3524 - [Cosmetic] request_header_max_size configuration partly ignored
3525 (Bug #899)
3526 - [Minor] Partial hit results in TCP_HIT, not TCP_MISS. (Bug #1001)
3527 - [Cosmetic] HEAD requests may return stale information
3528 (Bug #1012)
3529 - [Cosmetic] Warn if cache_dir ufs can not create files. (Bug #918)
3530 - [Minor] case insensitive authentication (Bug #431)
3531 - [Cosmetic] Add delay pools information to active_requests. (Bug
3532 #882)
3533 - [Minor] Apparent memory leak in client_db (Bug #833)
3534 - [Minor] NTLM authentication truncated causing failures. (Bug
3535 #1016)
3536 - [Cosmetic] Grammatical corrections in squid.conf.default
3537 - [Cosmetic] Unknown %X errorpage codes incorrectly quoted. (Bug
3538 #1030)
3539 - [Medium] Segfaults and other strange crashes when using heap
3540 policies. (Bug #1009)
3541 - [Minor] Supplementary group memberships not set (Bug #1021)
3542 - [Cosmetic] ERR_TOO_BIG Portuguese translation
3543 - [Minor] external_acl does not handle newlines (Bug #1038)
3544 - [Major] NTLM authentication denial of service when using msnt_auth
3545 or fake_auth (Bug #1045)
3546 - [Medium] Memory leaks when using NTLM authentication without
3547 challenge reuse. (Bug #994)
3548 - [Minor] Temporary NTLM memory leak with challenge reuse enabled
3549 (Bug #910)
3550 - [Minor] assertion failed: "n_ufs_dirs <=
3551 Config.cacheSwap.n_configured". (Bug #1053)
3552 - [Minor] Segfault in authenticateDigestHandleReply. (Bug #1031)
3553 - [Minor] acl time fails to parse multiple time specifications
3554 (Bug #1060)
3555 - [Minor] cachemgr config dumps mixed up Range and Request-Range
3556 headers in http_header_access & replace directives. (Bug #1056)
3557 - [Minor] Content-Disposition added as a well known header (Bug #961)
3558 - [Cosmetic] Don't warn about arp acls not being supported on FreeBSD
3559 (Bug #1074)
3560 - [Cosmetic] Limit internal send/receive buffer sizes (Bug #1075)
3561 - [Medium] New acl types to match arbitrary HTTP headers. In addition
3562 the http_header_access & replace directives now support arbitrary
3563 headers and not only the well known ones. (Bug #961)
3564 - [Cosmetic] ncsa_auth now accepts Window formatted password files
3565 (Bug #1078)
3566 - [Cosmetic] Support the --program-prefix/suffix options or other
3567 configure program name transforms (Bug #1019)
3568 - [Minor] Fix race condition in CONNECT and also handle aborts of
3569 CONNECT requests in a more graceful manner. (Bug #859)
3570 - [Minor] New balance_on_multiple_ip directive to work around certain
3571 broken load balancers and optimized ipcache on reload requests
3572 (Bug #1058)
3573 - [Medium] New reply_header_max_size directive
3574 (Bug #874)
3575 - [Minor] Suspected instability on aborted PUT/POST requests
3576 (Bug #1089)
3577 - [Security] SNMP Denial of Service fix (CAN-2004-0918)
3578
3579 Changes to squid-2.5.STABLE6 (9 Jul 2004)
3580
3581 - Bug #937: NTLM assertion error "srv->flags.reserved"
3582 - Bug #935: squid_ldap_auth can be confused by the use of reserved
3583 characters
3584 - Helper queue warnings imprecise on the number of helpers required
3585 - squid_ldap_auth TLS mode works correctly again
3586 - Bug #940, #305: pkg-config support for finding correct OpenSSL
3587 compile flags
3588 - Bug #426: "Vary: *" is ignored
3589 - 100% CPU usage on Linux-2.2
3590 - Version number should not include -CVS if autoconf is run
3591 - Bug #947: deny_info redirection with requested URL escaped wrongly
3592 - Bug #495: CONNECT timeout should produce a 504 or 503
3593 - Bug #956: cache_swap_log documentation referred to swap.state by
3594 it's old swap.log name
3595 - ntlm/auth_ntlm.c(683): warning #187: use of "=" where "==" may
3596 have been intended
3597 - Bug #962: rfc1035NameUnpack: Assertion (*off) < sz failed
3598 - Bug #954: Segment violation when using a blank user name in digest
3599 authentication
3600 - Bug #943: assertion failed: errorpage.c:292: "mem->inmem_hi == 0"
3601 - Spelling corrections in configure and squid.conf.default
3602 - The meaning of ERR in digest helper protocol clarified in the
3603 squid.conf documentation
3604 - Bug #950: Spelling error in Turkish ERR_DNS_FAIL
3605 - Bug #616: Negative cached 404 replies with VARY header never matched
3606 - Bug #968: range_offset_limit -1 KB rejected as invalid syntax
3607 due to a shortcoming in the fix to bug #817
3608 - Bug #570: Very large cache_mem values reported wrongly in cache.log
3609 - Bug #676: store_dir_select_algorithm least-load doesn't work for
3610 ufs cache_dir type
3611 - Bug #946: cacheCurrentUnlinkRequests should be a counter, not gauge
3612 - Bug #948: Show client ip in cache.log debug output
3613 - Bug #960: compilation issue on OpenBSD/m88k
3614 - Bug #969: FTP directory listing HTML DOCTYPE misread by some tools
3615 - Bug #991: dns_servers should default to localhost if no resolv.conf
3616 - Bug #717: msnt_auth documentation update
3617 - Bug #753: Segfault in memBufVPrintf on certain architectures
3618 requiring va_copy
3619 - Bug #941: Negative size in access.log on long running CONNECT
3620 requests
3621 - Bug #972: Segmentation fault after "Likely proxy abuse detected"
3622 - Bug #981: sasl_auth updated to work with SALS2
3623 - Overflow bug in Squid's ntlm_auth helper used for transparent NTLM
3624 authentication to a NT domain without using Samba.
3625
3626 Changes to squid-2.5.STABLE5 (1 Mar 2004):
3627
3628 - cache.log message on "squid -k reconfigure" was slightly confusing,
3629 claiming Squid restarted when it just reread the configuration.
3630 - Bug #787: digest auth never detects password changes
3631 - Bug #789: login with space confuses redirector helpers
3632 - Bug #791: FQDNcache discards negative responses when using
3633 internal DNS
3634 - pam_auth fails on Solaris when using pam_authtok_get. Persistent
3635 PAM connections are unsafe and now disabled by default.
3636 - auth_param documentation clarifications and added default realm
3637 values making only the helper program a required attribute
3638 - Bug #795: German ERR_DNS_FAIL correction
3639 - Bug #803: Lithuanian error messages update
3640 - Bug #806: Segfault if failing to load error page
3641 - Bug #812: Mozilla/Netscape plugins mime type defined (.xpi)
3642 - Bug #817: maximum_object_size too large causes squid not to cache
3643 - Bug #824: 100% CPU loop if external_acl combined with separate
3644 authentication acl in the same http_access line
3645 - squid_ldap_group updated to version 2.12 with support for ldaps://
3646 (LDAPv2 over SSL) and a numer of other improvements.
3647 - Bug #799: positive_dns_ttl ignored when using internal DNS.
3648 - Bug #690: Incorrect html on empty Gopher responses
3649 - Bug #729: --enable-arp-acl may give warning about net/route.h
3650 - Bug #14: attempts to establish connection may look like syn flood
3651 attack if the contacted server is refusing connections
3652 - errorpage README files included in the distribution again showing
3653 who contributed which translation
3654 - Bug #848: connect_timeout connect_timeout ends up twice the length.
3655 forward_timeout option added to address this.
3656 - Bug #849: DNS log error messages should report the failed query
3657 - Bug #851: DNS retransmits too often
3658 - Bug #862: Very frequently repeated POST requests may cause a
3659 filedescriptor shortage due to persitent connections building up
3660 - Bug #853: Sporatic segmentation faults on aborted FTP PUT requests
3661 - Bug #571: Need to limit use of persistent connections when
3662 filedescriptor usage is high
3663 - Bug #856: FTP/Gopher Icon URLs are unneededly complex and often
3664 does not work properly
3665 - Bug #860: redirector_access does not handle "slow" acls such as
3666 "dst" or "external" requiring a external lookup.
3667 - Bug #865: Persistent connection usage too high after sudden burst
3668 of traffic.
3669 - Bug #867: cache_peer max-conn=.. option does not work
3670 - Bug #868: refuses to start if pid_filename none is specified
3671 - Bug #887: LDAP helper -Z (TLS) option does not work
3672 - Bug #877: Squid doesn't follow telnet protocol on FTP control
3673 connections
3674 - Bug #908: Random auth popups and account lockouts when using ntlm
3675 - Support for NTLM_NEGOTIATE exchanges with ntlm helpers
3676 - Bug #585: cache_peer_access fails with NTLM authentication
3677 - Bug #592: always/never_direct fails with NTLM authentication
3678 - wbinfo_group update for Samba-3
3679 - Bug #892: helpers/ntlm_auth/SMB/ fails to compile on FreeBSD 5.0
3680 - Bug #924: miss_access restricts internal and cachemgr requests
3681 even if these are local
3682 - Bug #925: auth headers send by squidclient are mildly malformed
3683 - Bug #922: miss_access and delay_access and several other
3684 authentication related bug fixes.
3685 - Bug #909: Added ARP acl support for FreeBSD
3686 - Bug #926: deny_info with http_reply_access or miss_access
3687 - Bug #872: reply_body_max_size problems when using NTLM auth
3688 - Bug #825: random segmentation faults when using digest auth
3689 - Bug #910: Partial fix for temporary memory leaks when using NTLM
3690 auth. There is still problems if challenge reuse is enabled.
3691 - ftp://anonymous@host/ now accepted without requiring a password
3692 - Bug #594: several mime type updates (ftp:// related)
3693 - url_regex enhanced to allow matching of %00
3694
3695 Changes to squid-2.5.STABLE4 (15 Sep 2003):
3696
3697 - Lithuanian error messages added to the distribution
3698 - Bug #660: segfauld if more than one custom deny_info line
3699 - cache_dir disd documentation cleanup
3700 - check open of /dev/null to avoid 100% CPU loop in badly
3701 configured chroot environments
3702 - documentation update on uri_whitespace to refer to the correct RFC
3703 - Bug #655: icmpRecv: recv: (11) Resource temporarily unavailable
3704 - Bug #683: external_acl does not wait for ident lookups to complete
3705 - aufs: Fix a minor use-after-free problem which could cause the
3706 count of opening filedescriptors to grow larger than it should
3707 - Syntax changes to make GCC-3.3 accept Squid without complaints
3708 - Warning if CARP server defined in incorrect load factor order
3709 - neighbor_type_domain documentation update
3710 - http_header_access now works when using cache peers
3711 - high_memory_warning now uses sbrk as fallback mechanism on
3712 platforms where neither mallinfo or mstats are available.
3713 - hosts_file now handles comments at the end of lines correcly
3714 - storeCheckCachable() Stats corrected for release_request and
3715 wrong_content_length.
3716 - cachePeerPingsSent MIB type corrected
3717 - unused minimum_retry_timeout directive removed
3718 - Bug #702: ERR_TO_BIG spanish translation
3719 - Bug #705: Memory leak on deny_info TCP_RESET
3720 - Code cleanup to fix compile error in httpHeaderDelById
3721 - Bug #699: Host header now forwarded exactly where it was in the
3722 original request to work around certain broken firewalls or
3723 load balancers which fail if this header is too far into the
3724 request headers.
3725 - Bug #704: Memory leak on reply_body_max_size
3726 - Bug #686: requests denied due to http_reply_access are now
3727 logged with TCP_DENIED (instead of TCP_MISS, etc).
3728 - Bug #708: ie_refresh now sends no-cache to have the reload
3729 request propagate properly in cache meshes
3730 - Bug #700: Crashes related to ftpTimeout: timeout in SENT_PASV state
3731 - Bug #709: cbdata.c:186: "c->valid" assertion due to peer
3732 digest not found
3733 - Bug #710: round-robin cache_dir selection incorrectly
3734 compares max-size.
3735 - Statistics corrections in HTTP header statitics
3736 - QUICKSTART cleanups
3737 - Bug #715: statCounter.syscalls.disk counters treated
3738 inconsistently. Now increment the counters in AUFS
3739 functions and for unlinkd.
3740 - Improvements to the (experimental) COSS storage scheme.
3741 - Bug #721: User name field in access.log sometimes blank
3742 - Bug #94: assertion failed: http.c: "-1 == cfd ||
3743 FD_SOCKET == fd_table[cfd].type"
3744 - Bug #716: assertion failed: client_side.c:1478: "size > 0"
3745 - Bug #732: aufs calculates number of threads and limits wrongly
3746 - Bug #663: Username not logged into access.log in case of /407
3747 - Bug #267: Form POSTing troubles with NTLM authentication
3748 and occationally in differen other error conditions.
3749 - Bug #736: ICP dynamic timeout algorithm ignores multicast.
3750 - Bug #733: No explicit error message when ncsa_auth can't access
3751 passwd file
3752 - Bug #267, #757: POST with NTLM stops after persistent connection
3753 timeout
3754 - Bug #742: Wrong status code on access denials if delay_access
3755 is used. Most notably 407 instead of 403 could be returned.
3756 - Bug #763: segfault if using ntlm in http_reply_access
3757 - Bug #638: assertion error if using proxy_auth in delay_access
3758 - Bug #756: segmentation fault if using ntlm proxy_auth in delay_access
3759 - The issue of reply_body_max_size limiting the size of error
3760 messages no longer applies.
3761 - external_acl_type concurrency= option renamed to children= to
3762 prepare for Squid-3 upgrades. Old syntax still accepted for the
3763 duration of the Squid-2.5 release.
3764 - number of filedescriptors rounded down to an even multiple of 64
3765 to work around issues in certain libc implementations.
3766 - winbind helpers less noisy in cache.log on restarts/shutdown.
3767 - Squid now automatically restarts helpers if too many of them
3768 have crashed.
3769
3770 Changes to squid-2.5.STABLE3 (25 May 2003):
3771
3772 - Bug #573: Occational false negatives in external acl lookups
3773 - Bug #577: assertion failed: cbdata.c:224: "c->y == c" when
3774 external_acl helpers crashes
3775 - Bug #590: Squid may hang or behave oddly on shutdown while
3776 requests is being processed.
3777 - Bug #590: external acl lookups does not deal well with queue
3778 overload
3779 - cache_effective_user documentation update
3780 - cache_peer documentation update for htcp and carp
3781 - Bug #600: The example header_access paranoid setting is
3782 missing WWW-Authenticate
3783 - Bug #605: Segmentation fault in idnsGrokReply() on certain
3784 platforms
3785 - Fixes to build properly on AIX 5
3786 - Bug #574: wb_group updated to version 1.1 to make group names
3787 case insensitive and correct a segfault issue in the helper
3788 - SNMP mib updates to make cacheNumObjCount,
3789 cacheCurrentUnlinkRequests, cacheCurrentSwapSize and cacheClients
3790 correctly report as gauges (was reporting as counters).
3791 - Woraround for --enable-ssl Kerberos issue on RedHat 9
3792 - Bug #579: Close and repopen log files on "squid -k reconfigure"
3793 - Bug #598: squid_ldap_auth could segfault if LDAP server is
3794 unavailable
3795 - Bug #609,#612: msntauth helper fixes in dealing with large
3796 or non-existing allow/deny user files.
3797 - Bug #620: acl ident REQUIRED matches even if the ident lookup fails
3798 - Bug #432: reply_body_max_size fails with ident or proxy_auth acls
3799 and also fails to block large objects where the content-length
3800 is not known
3801 - Bug #606: Basic auth looping and gets stuck at high CPU usage when
3802 multiple proxy_auth ACLs combined in one line and login fails.
3803 - squid_ldap_auth updated with support for TLS and SSL
3804 - Bug #623: segfault if using negated external acls in certain
3805 configurations involving other acls later on the same http_access
3806 line.
3807 - Bug #622: wb_group helper update to version 1.2 to ass support for
3808 Domain-Qualified groups refering to groups in a specific domain
3809 - Bug #596: logic error in poll() error management
3810 - Bug #597: logic errors in error management
3811 - Bug #591: segmentation fault in authentication on "squid -k debug"
3812 - Bug #587: smb_auth fails on complex logins involving domain names
3813 or other odd characters
3814 - Bug #558, #587: smb_auth.pl fails on complex logins involving
3815 domain names or other odd characters
3816 - Bug #643: external_acl fails with ttl=0 due to a change introduced
3817 by the patch for Bug #553 in 2.5.STABLE2.
3818 - Bug #630: minor issues in digest authantication causing random
3819 authentication failures and incompability with many mainstream
3820 browser digest implementations due to browser qop bugs. To deal
3821 with those broken browser nonce_stricness now defaults to off,
3822 and two new digest options have been added (check_nonce_count
3823 and post_workaround) to allow workarounds to other quite bad
3824 browser bugs if needed.
3825 - Bug #644: digest authentication fails on requests with one
3826 or more comma in the requested URL
3827 - Bug #648: deny_info TCP_RESET not working. The fix for this also
3828 adds the ability to send redirects.
3829
3830 Changes to squid-2.5.STABLE2 (Mars 17, 2003):
3831
3832 - Contrib files added back to the distribution
3833 - Several compiler warnings fixed when using --disable-ident or
3834 --disable-http-violations
3835 - authentication can now be used in most access controls, but
3836 must in most cases first be enforced in http_access to force
3837 the user to authenticate.
3838 - cleanups in the developer bootstrap.sh process when preparing
3839 the sources.
3840 - several squid.conf.default documentation updated to correctly
3841 refer to the current names when refering to other directives
3842 - authenticate_ip_ttl documentation updates
3843 - several assertion faults and segmentation violations corrected
3844 - the RunCache/RunAccel and squid.rc scripts updated to refer to
3845 the squid binary in sbin rather than the old bin location.
3846 - squid_ldap_auth command line processing fixes when specifying
3847 the LDAP server last on the line instead of -h option
3848 - aufs data corruption bugfix
3849 - aufs performance improvement for low traffic systems
3850 - aufs stability improvements
3851 - external_acl corrected to properly deal with quoted strings
3852 - WCCPv1 bugfix to make sure the router accepts the hash assignments
3853 - "Total accounted memory" now correctly reported in cachemgr
3854 - several small memory leaks (mostly reconfigure related)
3855 - new squid.conf option to allow GET/HEAD requests with a request
3856 entity
3857 - "make uninstall" no longer removes squid.conf
3858 - cachemgr.cgi now uses POST to avoid having the cachemgr password
3859 logged in the web server logs
3860 - authentication schemes which are known to not be proxyable are now
3861 filtered out from forwarded server replies to avoid that the clients
3862 tries to use such schemes when we know for a fact it won't work
3863 - spelling corrections in various error messages
3864 - now possible to define acl values with spaces in them
3865 by using the "include file" feature
3866 - squid_ldap_group updated to 2.10 to fix compilation issues with
3867 recent (and older) OpenLDAP libraries and to make the helper deal
3868 correctly with true LDAP groups by first looking up the user DN.
3869 - Some internal code cleanups
3870 - now verifies that programs etc exists iside the chroot directory
3871 when using chroot_dir. No longer neccesary to set up a split view
3872 environment where the same paths works both inside the chroot and
3873 outside just to convince Squid that the files is actually there..
3874 - improved memory usage reporting
3875 - --disable-hostname-checks configure option
3876 - no longer ignores double dots in host names. Any hostname with
3877 double dots is now rejected as invalid.
3878 - log_mime_hdrs no longer logs garbage if very long headers
3879 are seen.
3880 - 'select_fds_hist' object added to cachemgr 'histogram' output
3881 - pid file now unlinked when squid has really shut down, not
3882 immediately when the shutdown request is received. This allows
3883 the pid file to be monitored to determine when Squid has shut down
3884 properly
3885 - correct authentication scheme setups on some platforms or compilers
3886 - several squid.conf.default documentation updates to remove references
3887 to renamed or replaced directives by changing them to their current
3888 names.
3889 - the SSL reverse proxy support updated to allow building with
3890 OpenSSL 0.9.7 and and later.
3891 - Corrected a minor performance problem while processing HEAD replies
3892 from various broken web servers not sending a correct HTTP reply
3893 - time acls can now specify multiple times in the same acl name, like
3894 most other acl types.
3895 - winbind helpers updated to match Samba-2.2.7a and should
3896 work with Samba-2.2.6 or later (required). For compability with
3897 older Samba versions A new configure option --with-samba-sources=...
3898 has been added to allow you to specify which Samba version the
3899 helpers should be built for if different than the above versions.
3900 - Squid MIB definition syntax correction to work better with newer
3901 (and older) SNMP tools.
3902 - Fixed access.log format when logging "error:invalid-HTTP-ident" on
3903 requests where parsing the HTTP identifier (HTTP/1.0) failed.
3904 - "make distclean" no longer removes the icons, this avoids the
3905 dependency on "uudecode" to rebuild Squid after "make distclean"
3906 - User name returned by external acl lookups (external_acl_type)
3907 is now available as "ident" in later acl checks in addition to
3908 the logging in access.log.
3909 - Incorrect behaviour of Digest authentication partly corrected - it
3910 will not handle sessions, but will always enforce password
3911 correctness.. (patch submitted by Sean Burford).
3912 - Issue with persistent connections and PUT/POST request corrected
3913
3914 Changes to squid-2.5.STABLE1 (September 25, 2002):
3915
3916 - Major rewrite of proxy authentication to support other schemes
3917 than basic. First in the line is NTLM support but others can
3918 easily be added (minimal digest is present). See Programmers Guide.
3919 (Robert Collins & Francesco Chemolli)
3920 - Reworked how request bodies are passed down to the protocols.
3921 Now all client side processing is inside client_side.c, and
3922 the pass and pump modules is no longer used.
3923 used by Squid.
3924 - Optimized searching in proxy_auth and ident ACL types. Squid should
3925 now handle large access lists a lot more efficiently.
3926 (Francesco Chemolli)
3927 - Fixed forwarding/peer loop detection code (Brian Degenhardt) -
3928 now a peer is ignored if it turns out to be us, rather than
3929 committing suicide
3930 - Changed the internal URL code to obey appendDomain for internal
3931 objects if it needs appending. This fixes weirdnesses where
3932 a machine can think it is "foo.bar.com", and "foo" is requested.
3933 (Brian Degenhardt)
3934 - Added the use of Automake to create the Makefile.in's in the squid
3935 source tree. This will allow libtool in the future, and immediately
3936 allows better dependency tracking - with or without gcc - as well
3937 as the dist-all and distcheck targets for developers which respectively
3938 build a tar.gz and a tar.bz2 distribution, and check that what will be
3939 distributed builds.
3940 - Added TOS and source address selection based on ACLs,
3941 written by Roger Venning. This allows administrators to set
3942 the TOS precedence bits and/or the source IP from a set of
3943 available IPs based upon some ACLs, generally to map different
3944 users to different outgoing links and traffic profiles.
3945 - Added 'max-conn' option to 'cache_peer'
3946 - Added SSL gatewaying support, allowing Squid to act as a SSL server
3947 in accelerator setups.
3948 - SASL authentication helper by Ian Castle
3949 - msntauth updated to v2.0.3
3950 - no_cache now applies to cache hits as well as cache misses
3951 - the Gopher client in Squid has been significantly improved
3952 - Squid now sanity checks FTP data connections to ensure the
3953 connection is from the requested server. Can be disabled if
3954 needed by turning off the ftp_sanitycheck option.
3955 - external acl support. A mechanism where flexible ACL checks
3956 can be driven by external helpers. See the external_acl_type
3957 and acl external directives.
3958 - Countless other small things and fixes
3959 - HTML pages generated by Squid or CacheMgr as well as the
3960 ERR documents now contain a doctype declaration so that
3961 browsers know which HTML specification the document uses.
3962 In addition to that they have a new look (background-color, font)
3963 and are valid according to the HTML standards at www.w3.org.
3964 (Clemens L ser)
3965 - Login and password send to Basic auth helpers is now URL escaped
3966 to allow for spaces and other "odd" characters in logins and
3967 passwords
3968 - Proxy Authentication is no longer blindly forwarded to peer
3969 caches if not used locally. If forwarding of proxy authentication
3970 is desired then it must now be configured with the login=PASS
3971 cache_peer option.
3972 - Responses with Vary: in the header are now cached by squid.
3973 (Henrik Nordstrom).
3974 - Removed unused 'siteselect_timeout' directive.
3975
3976 Changes to Squid-2.4.STABLE7 (July 2, 2002):
3977
3978 - Squid now drops any requests using transfer-encoding.
3979 Squid is a HTTP/1.0 proxy and as such do not support
3980 the use of transfer-encoding.
3981 - The MSNT auth helper has been updated to v2.0.3+fixes for
3982 buffer overflow security issues found in this helper.
3983 - A security issue in how Squid forwards proxy authentication
3984 credentials has been fixed
3985 - Minor changes to support Apple MAC OS X and some other platforms
3986 more easily.
3987 - The client -T option has been implemented
3988 - HTCP related bugfixes in "squid -k reconfigure"
3989 - Several bugfixes and cleanup of the Gopher client, both
3990 to correct some security issues and to make Squid properly
3991 render certain Gopher menus.
3992 - FTP data channels are now sanity checked to match the address of
3993 the requested FTP server. This to prevent theft or injection of
3994 data. See the new ftp_sanitycheck directive if this is not desired.
3995 - Security fixes in how Squid parses FTP directory listings into HTML
3996
3997 Changes to Squid-2.4.STABLE6 (March 19, 2002):
3998
3999 - The patch for 2.4.STABLE5 was insufficiently tested and
4000 introduced a bug that causes frequent assertions when
4001 handling DNS PTR answers.
4002
4003 Changes to Squid-2.4.STABLE5 (March 15, 2002):
4004
4005 - Fixed an array bounds bug in lib/rfc1035.c. This bug
4006 could allow a malicious DNS server to send bogus replies
4007 and corrupt the heap memory.
4008
4009 Changes to Squid-2.4.STABLE4 (Feb 19, 2002)
4010
4011 - htcp_port 0 now properly disables htcp
4012 - Fixed problem with certain non-anonymous ftp:// style URL's
4013 - SNMP bugfixes including several memory leaks
4014
4015 Changes to Squid-2.4.STABLE3 (Nov 28, 2001):
4016
4017 - Fixed bug #255: core dump on SSL/CONNECT if access denied by
4018 miss_access
4019 - Fixed bug #246: corrupt on-disk meta information preventing
4020 rebuilds of lost swap.state files
4021 - Fixed bug #243: squid_ldap_auth now supports spaces in passwords
4022 - Fixed a coredump when creating FTP directories
4023 - Fixed a compile time problem with statHistDump prototype mistmatch,
4024 reported by some compilers
4025 - Fixed a potential coredump situation on snmpwalk in certain
4026 configurations
4027 - Fixed bug #229: filedescriptor leakage in the "aufs" cache_dir
4028 store implementation
4029 - Serbian error message translations
4030
4031 Changes to Squid-2.4.STABLE2 (Aug 24, 2001):
4032
4033 - Expanded configure's GCC optimization disabling check to
4034 include GCC 2.95.3
4035 - avoid negative served_date in storeTimestampsSet().
4036 - Made 'diskd' pathnames more configurable
4037 - Make sure squid parent dies if child is killed with
4038 KILL signal
4039 - Changed diskd offset args to off_t instead of int
4040 - Fixed bugs #102, #101, #205: various problems with useragent
4041 log files
4042 - Fixed bug #116: Large Age: values still cause problems
4043 - Fixed bug #119: Floating point exception in
4044 storeDirUpdateSwapSize()
4045 - Fixed bug #114: usernames not logged with
4046 authenticate_ip_ttl_is_strict
4047 - Fixed bug #115: squid eating up resources (eventAdd args)
4048 - Fixed bug #125: garbage HTCP requests cause assertion
4049 - Fixed bug #134: 'virtual port' support ignores
4050 httpd_accel_port, causes a loop in httpd_accel mode
4051 - Fixed bug #135: assertion failed: logfile.c:135: "lf->offset
4052 <= lf->bufsz"
4053 - Fixed bug #137: Ranges on misses are over-done
4054 - Fixed bug #160: referer_log doesn't seem to work
4055 - Fixed bug #162: some memory leaks (SNMP, delay_pools,
4056 comm_dns_incoming histogram)
4057 - Fixed bug #165: "Store Mem Buffer" leaks badly
4058 - Fixed bug #172: Ident Based ACLs fail when applied to
4059 cache_peer_access
4060 - Fixed bug #177: LinuxPPC 2000 segfault bug due to varargs abuse
4061 - Fixed bug #182: 'config' cachemgr option dumps core with
4062 null storage
4063 - Fixed bug #185: storeDiskdDirParseQ[12]() use wrong number
4064 of args in debug/printf
4065 - Fixed bug #187: bugs in lib/base64.c
4066 - Fixed bug #184: storeDiskdShmGet() assertion; changed
4067 diskd to use bitmap instead of linked list
4068 - Fixed bug #194: Compilation fails on index() on some
4069 non-BSD platforms
4070 - Fixed bug #197: refreshIsCachable() incorrectly checks
4071 entry->mem_obj->reply
4072 - Fixed bug #215: NULL pointer access for proxy requests
4073 in accel-only mode
4074
4075 Changes to Squid-2.4.STABLE1 (Mar 20, 2001):
4076
4077 - Fixed a bug in and cleaned up class 2/3 delay pools
4078 incrementing.
4079 - Fixed a coredump bug when using external dnsservers that
4080 become overloaded.
4081 - Fixed some NULL pointer bugs for NULL storage system
4082 when reconfiguring.
4083 - Fixed a bug with useragent logging that caused Squid to
4084 think the logfile never got opened.
4085 - Fixed a compiling bug with --disable-unlinkd.
4086 - Changed src/squid.h to always use O_NONBLOCK on Solaris
4087 if it is defined.
4088 - Fixed a bug with signed/unsigned bitfield flag variables
4089 that caused problems on Solaris.
4090 - Fixed a bug in clientBuildReplyHeader() that could add
4091 an Age: header with a negative value, causing an assertion
4092 later.
4093 - Fixed an SNMP reporting bug. cacheCurrentResFileDescrCnt
4094 was returning the number of FDs in use, rather than
4095 the number of reserved FDs.
4096 - Added the 'pipeline_prefetch' configuration option.
4097 - cache_dir syntax changed to use options instead of many
4098 arguments. This means that the max_objsize argument now
4099 is an optional option, and that the syntax for how to
4100 specify the diskd magics is slightly different.
4101 - Various fixes for CYGWIN
4102 - Upgraded MSNT auth module to version 2.0.
4103 - Fixed potential problems with HTML by making sure all
4104 HTML output is properly encoded.
4105 - Fixed a memory initialization problem with resource records in
4106 lib/rfc1035.c.
4107 - Rewrote date parsing in lib/rfc1123.c and made it a little
4108 more lenient.
4109 - Added Cache-control: max-stale support.
4110 - Fixed 'range_offset_limit' again. The problem this time
4111 is that client_side.c wouldn't set the we_dont_do_ranges
4112 flag for normal cache misses. It was only being set for
4113 requests that might have been hits, but we decided to
4114 change to a miss.
4115 - Added the Authenticate-Info and Proxy-Authenticate-Info
4116 headers from RFC 2617.
4117 - HTTP header lines longer than 64K could cause an assertion.
4118 Now they get ignored.
4119 - Fixed an IP address scanning bug that caused "123.foo.com"
4120 to be interpreted as an IP address.
4121 - Converted many structure allocations to use mem pools.
4122 - Changed proxy authentication to strip leading whitespace
4123 from usernames after decoding.
4124 - Prevented NULL pointer access in aclMatchAcl(). Some
4125 ACL types require checklist->request_t, but it won't be
4126 available in some cases (like snmp_access). Warn the
4127 admin that the ACL can't be checked and that we're denying
4128 it.
4129 - Allow zero-size disk caches.
4130 - The actual filesystem blocksize is now used to account
4131 for space overheads when calculating on-disk cache size.
4132 - Made the maximum memory cache object size configurable.
4133 - Added 'minimum_direct_rtt' configuration option.
4134 - Added 'ie_refresh' configuration option, which is a hack
4135 to turn IMS requests into no-cache requests.
4136 - Added support for netfilter in linux-2.4. This allows transparent
4137 proxy connections to function correctly in the absence of a Host:
4138 header. This requires --enable-linux-netfilter to be passed through
4139 to configure. (Evan Jones)
4140 - Fixed a bug with clientAccessCheck() that allowed proxy
4141 requests in accel mode.
4142 - Fixed a bug with 301/302 replies from redirectors. Now
4143 we force them to be cache misses.
4144 - Accommodated changes to the IP-Filter ioctl() interface
4145 for intercepted connections.
4146 - Fixed handling of client lifetime timeouts.
4147 - Fixed a buffer overflow bug with internal DNS replies
4148 by truncating received packets to 512 bytes, as per
4149 RFC 1035.
4150 - Added "forward.log" support, but its work in progress.
4151 - Rewrote much of the IP and FQDN cache implementation.
4152 This change gets rid of pending hits.
4153 - Changed peerWouldBePinged() to return false if our
4154 ICP/HTCP port is zero (i.e. disabled).
4155 - Changed src/net_db.c to use src/logfile.c routines,
4156 rather than stdio, because of solaris stdio filedescriptor
4157 limits.
4158 - Made netdbReloadState() more robust in case of corrupted
4159 data.
4160 - Rewrote some freshness/staleness functions in src/refresh.c,
4161 partially inspired to support cache-control max-stale.
4162 - Fixed status code logging for SSL/CONNECT requests.
4163 - Added a hack to subtract cache digest network traffic
4164 from statistics so that byte hit ratio stays positive
4165 and more closely reflects what people expect it to be.
4166 - Fixed a bug with storeCheckTooSmall() that caused
4167 internal icons and cache digests to always be released.
4168 - Added statfs(2) support for displaying actual filesystem
4169 usage in the cache manager 'storedir' output.
4170 - Changed status reporting for storage rebuilding. Now it
4171 prints percentage complete instead of number of entries
4172 parsed.
4173 - Use mkstemp() rather than problem-prone tempnam().
4174 - Changed urlParse() to condense multiple dots in hostnames.
4175 - Major rewrite of async-io (src/fs/aufs) to make it behave
4176 a bit more sane with substantially less overhead. Some
4177 tuning work still remains to make it perform optimal.
4178 See the start of store_asyncufs.h for all the knobs.
4179 - Fixed storage FS modules to use individual swap space
4180 high/low values rather than the global ones.
4181 - Fixed storage FS bugs with calling file_map_bit_reset()
4182 before checking the bit value. Calling with an invalid
4183 value caused memory corruption in random places.
4184 - Prevent NULL pointer access in store_repl_lru.c for
4185 entries that exist in the hash but not the LRU list.
4186
4187 Changes to Squid-2.4.DEVEL4 ():
4188
4189 - Added --enable-auth-modules=... configure option
4190 - Improved ICP dead peer detection to also work when the workload
4191 is low
4192 - Improved TCP dead peer detection and recovery
4193 - Squid is now a bit more persistent in trying to find a alive
4194 parent when never_direct is used.
4195 - nonhierarchical_direct squid.conf directive to make non-ICP
4196 peer selection behave a bit more like ICP selection with respect
4197 to hierarchy.
4198 - Bugfix where netdb selection could override never_direct
4199 - ICP timeout selection now prefers to use parents only when
4200 calculating the dynamic timeout to compensate for common RTT
4201 differences between parents and siblings.
4202 - No longer starts to swap out objects which are known to be above
4203 the maximum allowed size.
4204 - allow-miss cache_peer option disabling the use of "only-if-cached".
4205 Meant to be used in conjunction with icp_hit_stale.
4206 - Delay pools tuned to allow large initial pool values
4207 - cachemgr filesystem space information changed to show useable space
4208 rather than raw space, and platform support somewhat extended.
4209 - Logs destination IP in the hierarchy log tag when going direct.
4210 (can be disabled by turning log_ip_on_direct off)
4211 - Async-IO on linux now makes proper use of mutexes. This fixes some
4212 odd pthread segfaults on SMP Linux machines, at a slight performance
4213 penalty.
4214 - %s can now be used in cache_swap_log and will be substituted with
4215 the last path component of cache_dir.
4216 - no_cache is now a full ACL check without, allowing most ACL types
4217 to be used.
4218 - The CONNECT method now obeys miss_access requirements
4219 - proxy_auth_regex and ident_regex ACL types
4220 - Fixed a StoreEntry memory leak during "dirty" rebuild
4221 - Helper processes no longer hold unrelated filedescriptors open
4222 - Helpers are now restarted when the logs are rotated
4223 - Negatively cached DNS entries are now purged on "reload".
4224 - PURGE now also purges the DNS cache
4225 - HEAD on FTP objects no longer retrieves the whole object
4226 - More cleanups of the dstdomain ACL type
4227 - Squid no longer tries to do Range internally if it is not supported
4228 by the origin server. Doing so could cause bandwidth spikes and/or
4229 negative hit ratio.
4230 - httpd_accel_single_host squid.conf directive
4231 - "round-robin" cache_peer counters are reset every 5 minutes to
4232 compensate previously dead peers
4233 - DNS retransmit parameters
4234 - Show all FTP server messages
4235 - squid.conf.default now indicates if a directive isn't enabled in
4236 the installed binary, and what configure option to use for enabling it
4237 - Fixed a temporary memory leak on persistent POSTs
4238 - Fixed a temporary memory leak when the server response headers
4239 includes NULL characters
4240 - authenticate_ip_ttl_is_strict squid.conf option
4241 - req_mime_type ACL type
4242 - A reworked storage system that supports storage directories in
4243 a more modular fashion. The object replacement and IO is now
4244 responsibility of the storage directory, and not of the storage
4245 manager.
4246 - Fixed a bogus MD5 mismatch warning sometimes seen when using
4247 aufs or diskd stores
4248 - Added --enable-stacktraces configure option to set PRINT_STACK_TRACE,
4249 and extended support for this to Linux/GNU libc.
4250 - Disabled the "request timeout" error message sent if the user agent
4251 did not provide a request in a timely manner after opening the
4252 connection. Now the connection is silently closed. The error message
4253 was confusing user agents utilizing persistent connections.
4254 - Fixed configure --enable descriptions to match the arg names.
4255 - Eliminated compile warnings from auth_modules/MSNT code.
4256 - Require first character of hostnames to be alphanumeric.
4257 - Made ARP ACL work for Solaris.
4258 - Removed storeClientListSearch().
4259 - Added counters to track diskd operation success and
4260 failures.
4261 - Fixed range_offset_limit.
4262 - Added code to retry ServFail replies for internal DNS
4263 lookups.
4264 - Added referer header logging (Jens-S. Voeckler).
4265 - Added "multi-domain-NTLM" authentication module, a Perl
4266 script from Thomas Jarosch.
4267 - Added configurable warning messages for high memory usage,
4268 high response time, and high page faults.
4269 - Made store dir selection algorithm configurable.
4270 - Added support for admin-definable extension methods,
4271 up to 20.
4272 - Added 'maximum_object_size_in_memory' as a configuration option -
4273 this defines the watermark where objects transit from being true
4274 hot objects to being in-transit objects in memory. It currently
4275 defaults to 8 KB.
4276 - Change to the fqdn code which changes how pending DNS requests
4277 are treated as private and only become public once they are
4278 completed. This can add extra load on DNS servers but prevents
4279 all the pending clients blocking if one of the queries got
4280 stuck. (Duane Wessels)
4281 - Converted more code to use MemPools, from Andres Kroonmaa.
4282 - Added more CYGWIN patches from Robert Collins.
4283
4284 Changes to Squid-2.4.DEVEL3 ():
4285
4286 - Added Logfile module.
4287 - Added DISKD stats via cachemgr.
4288 - Added squid.conf options for DISKD magic constants.
4289
4290 Changes to Squid-2.4.DEVEL2 (Feb 29, 2000):
4291
4292 Changes to Squid-2.4.DEVEL1 ():
4293
4294 Changes to Squid-2.3.STABLE4 (July 18, 2000):
4295
4296 - Fixed --localstatedir configure option (IKEDA Shigeru).
4297 - Fixed IPFilter headers on OpenBSD (Nic Bellamy, Brad
4298 Smith).
4299 - Added pthread_sigmask() check to configure (Daniel
4300 Ehrlich).
4301 - Added CYGWIN patches from Robert Collins.
4302 - Changed internal DNS lookups to retry queries that are
4303 returned with RCODE 2 (ServFail).
4304 - Added 'virtual port' support (Gregg Kellogg). If
4305 'httpd_accel_uses_host_header' is enabled, then we use
4306 the port number from the Host header. Otherwise, when
4307 'httpd_accel_port' is set to "0" we use the port number
4308 of the local end of the client socket.
4309 - Fixed a typo in carp.c (Nikolaj Yourgandjiev).
4310 - Made Squid accept GET requests that have a "content-length:
4311 0" header.
4312 - Added a sanity check on the NHttpSockets[] array index
4313 (Gregg Kellogg).
4314 - Added a friendlier message when Squid can't find any DNS
4315 nameserver addresses to use (Daniel Kiracofe).
4316 - Added nonstandard WEBDAV methods: BMOVE, BDELETE, BPROPFIND
4317 (Craig Whitmore).
4318 - Added missing '%c' token replacement in error page
4319 generation.
4320 - Fixed a bug with 'minimum_object_size' that prevented
4321 internal icons from being loaded.
4322 - Fixed "extra semicolon" bug in storeExpiredReferenceAge()
4323 that could prevent any objects from being replaced.
4324 - Make sure that storeDirDiskFull() doesn't actually
4325 *increase* the cache size.
4326 - Changed a storeSwapMetaUnpack() assertion to a recoverable
4327 error condition.
4328 - Removed "wccpHereIam" event check that could cause Squid
4329 to stop sending HERE_I_AM messages.
4330
4331 Changes to Squid-2.3.STABLE3 (May 15, 2000):
4332
4333 - Fixed malloc linking problems on Solaris. The configure
4334 script incorrectly set options for dlmalloc.
4335 - Added a configure check to remove compiler optimization
4336 for GCC 2.95.x.
4337 - Updated MSNT authenticator module.
4338 - Updated Estonian error pages.
4339 - Updated Japanese error pages.
4340 - Fixed expires bug in httpReplyHdrCacheInit. It was
4341 incorrectly setting expires based on max-age. It was using
4342 the current time as a basis, instead of the response date.
4343 - Fixed "USE_DNSSERVER" typos.
4344 - Added a workaround for getpwnam() problems on Solaris.
4345 getpwnam() could fail if there are fewer than 256 FDs
4346 available. This causes root to own some disk files.
4347 - Added an 'offline_toggle' option via the cache manager.
4348 - Added a 'minimum_object_size' option. Files smaller than
4349 this size are not stored.
4350 - Added 'passive_ftp' option to disable passive FTP transfers.
4351 - Added 'wccp_version' option because some Cisco IOS versions
4352 require WCCP version 3.
4353 - The 'client' program in ping mode (-g) now prints transfer
4354 throughput.
4355 - Fixed logging of proxy auth username for redirected
4356 requests.
4357 - Fixed bogus Age values for IMS requests.
4358 - Fixed persistent connection timeout for client-side
4359 connections. It was hard-coded to 15 seconds, now uses
4360 the 'pconn_timeout' value.
4361 - Fixed up httpAcceptDefer. It wasn't being used properly
4362 and caused high CPU usage when Squid gets close to the FD
4363 limit.
4364 - Numerous delay_pools fixes and checks.
4365 - Fixed SNMP coredumps from running snmpwalk.
4366 - Added a check for errno == EPIPE in icmp.c when pinger uses
4367 a Unix socket instead of a UDP socket.
4368 - Fixed ACL checklist memory initialization bugs.
4369 - Cleaned up the MIB file. Replaced contact information and
4370 checked description fields.
4371 - Removed LRU reference_age hard-coded upper limit.
4372 - Fixed async I/O FD leak.
4373 - Made getMyHostname() more robust.
4374 - Fixed domain list matching bug. "x-foo.com" wasn't properly
4375 compared to ".foo.com" and confused splay tree ordering.
4376 - Added a check for whitespace in hostnames and optionally
4377 strip whitespace if 'uri_whitespace' setting allows.
4378 - Added status code and checking to ASN/whois queries.
4379
4380 Changes to Squid-2.3.STABLE2 (Mar 2, 2000):
4381
4382 - Changed Copyright text.
4383 - Changed configure so that some IRIX-6.4 hacks apply to
4384 all IRIX-6.* versions.
4385 - Cleaned up HTML bugs in error pages.
4386 - Told configure to check for netinet/if_ether.h, which
4387 is used in ARP ACL code, but might not be required.
4388 - Added "Cookie" to known HTTP headers so it can be
4389 used in anonymizer configuration.
4390 - Added optional TCP_REDIRECT log code for logging
4391 of 301/302 responses returned by Squid.
4392 - Added a check for a currently running Squid process.
4393 If the pid file exists, and the pid is running,
4394 Squid complains and refuses to start another instance.
4395 - Changed async I/O scope to PTHREAD_SCOPE_PROCESS for
4396 IRIX.
4397 - Fixed a bug with the PURGE method. The purge enable
4398 flag was not getting cleared during reconfigure.
4399 Also required PURGE method to be used in http_access
4400 list before enabling.
4401 - Fixed async I/O assertions for file open errors.
4402 - Fixed internal DNS assertion when unpacking truncated
4403 messages.
4404 - Fixed anonymize_headers bug that caused all headers
4405 to be allowed after a reconfigure.
4406 - Fixed an access denied bug for accelerator-only installations.
4407 - Fixed internal DNS initialization so that it uses
4408 'dns_nameservers' settings in squid.conf if set.
4409 - Fixed 'maxconn' ACL bug that caused it to work backwards
4410 (Pedro Ribeiro).
4411 - Fixed syslog bug for daemon mode on Linux.
4412 - Fixed 'http_port' parsing bugs.
4413 - Fixed internal DNS byte ordering bugs for PTR queries.
4414 - Fixed internal DNS queue getting stuck during periods
4415 of low activity (Henrik).
4416 - Fixed byte ordering bugs for parsing EPLF FTP listings
4417 on 64-bit systems.
4418 - Fixed 'request_body_max_size' bug that caused all
4419 POST, PUT requests to be denied if max size is set
4420 to zero.
4421 - Fixed 'redirector_access' bug when using 'myport' ACLs.
4422 - Fixed CARP neighbor selection bugs for down peers.
4423 - Added 'client_persistent_connections' and
4424 'server_persistent_connections' flags to disable persistent
4425 connections for clients and servers.
4426 - Fixed access logging bug that caused many requests to be
4427 logged as TCP_MISS.
4428 - Added some bounds checking to delay pools code.
4429
4430 Changes to Squid-2.3.STABLE1 (Jan 9, 2000):
4431
4432 - Updated PAM authentication module from Henrik Nordstrom.
4433 - Updated Bulgarian error messages from Svetlin Simeonov.
4434 - Changed ACL routines so that User-Agent (browser) string
4435 is always taken from compiled HTTP request headers
4436 instead of passed as an argument to aclCreateChecklist.
4437 - Added a 'strip' option to the 'uri_whitesace' configuration
4438 directive and made it the default behavior. Whitespace
4439 found in URI's is now stripped out by default.
4440 - Added chroot feature. The 'chroot_dir' config option enables
4441 it and specifies the directory.
4442 - Changed clientBuildReplyHeader so that the Age header is
4443 added only for cache hits, and only when we can calculate
4444 a valid, positive age value.
4445 - Changed clientWriteComplete and clientGotNotEnough so
4446 that they keep persistent connections open for more types
4447 of replies that don't have bodies.
4448 - Changed filemap.c routines to dynamically grow filemap
4449 space as needed.
4450 - Added a hack to ftp.c to deal with ftp.netscape.com, which
4451 sometimes doesn't acknowledge PASV commands.
4452 - Fixed FTP bug with ftpScheduleReadControlReply; there
4453 was not always a timeout handler on the control socket
4454 after the transfer completed.
4455 - Fixed FTP filedescriptor leak from invalid PASV replies.
4456 - Changed httpBuildRequestHeader so that it doesn't
4457 copy the Host header from the client request. Instead
4458 we should generate our own Host header which is known
4459 to be correct.
4460 - Changed storeTimestampsSet to adjust entry->timestamp
4461 if the response includes an Age header.
4462 - Removed size limit from storeKeyHashBuckets.
4463 - Changed fwdConnectStart from a "heavy" to a "light" event.
4464 - Fixed an 'anonymize_headers' bug that affects unknown
4465 HTTP headers. With the bug, if you list a header that
4466 Squid doesn't know about (such as "Charset"), it would
4467 add HDR_OTHER to the allow/deny mask. This caused all
4468 unknown headers to be allowed or denied (depending on
4469 the scheme you use). Now, with the bug fixed, an unknown
4470 header in the 'anonymize_headers' list is simply ignored.
4471
4472 Changes to Squid-2.3.DEVEL3 ():
4473
4474 - Added MSNT auth module from Antonino Iannella.
4475 - Added --enable-underscores configure option. This allows
4476 Squid to accept hostnames with underscores in them. Your
4477 DNS resolver may still complain about them, however.
4478 - Added --heap-replacement configure option. This enables
4479 the alternative cache replacement policies, such as
4480 GDSF, and LFUDA.
4481 - WCCP establishes and registers with the router faster.
4482 - Added 'maxconn' acl type to limit the number of established
4483 connections from a single client IP address. Submitted
4484 by Vadim Kolontsov.
4485 - Close FTP data socket as soon as transfer completes
4486 (Alexander V. Lukyanov).
4487 - Fixed ftpReadPass() to not clobber ctrl.message when
4488 the PASS command fails.
4489 - Added a redirect.c patch so squidGuard is able to do
4490 per-user access control (Antony T Curtis).
4491 - discard the pumpMethod() function, and instead use the
4492 fact that the request has a request entity (content-length
4493 present) (Henrik).
4494 - Reload the MIME icons at reconfigure time (Radu Greab).
4495 - Updated Richard Huveneers' SMB authentication module to
4496 his version 0.05 package.
4497 - Fixed lib/heap.c::heap_delete() bug when deleting the
4498 last node.
4499 - Fixed an integer conversion bug in
4500 lib/rfc1035.c::rfc1035AnswersUnpack().
4501 - Fixed lib/rfc1738 routines to encode reserved characters,
4502 in addition to encoding the unsafe characters (Henrik).
4503 - Changed the interface for splay compare and "walk"
4504 functions to take a void pointer, instead of a splayNode
4505 pointer (Henrik).
4506 - Changed numerous HTTP parsing routines to use ssize_t
4507 instead of size_t. This was done because size_t may be
4508 signed or unsigned. When it is unsigned, gcc emits
4509 numerous "comparison is always true" warnings. At least
4510 we know ssize_t is always signed.
4511 - Fixed src/HttpHeaderTools::httpHeaderHasConnDir() and
4512 friends so that it properly handles multi-value lists.
4513 - Added an "end" (ssize_t) parameter to
4514 src/HttpReply::httpReplyParse() so that we know exactly
4515 where to terminate the header buffer.
4516 - Changed src/access_log.c::log_quote() so that it only
4517 encodes whitespace characters, and not all URL-special
4518 characters (Henrik).
4519 - Added local port ACL type ("myport") (Henrik).
4520 - Added maximum number of connections per client ("maxconn")
4521 as an ACL type.
4522 - Fixed proxy authentication username/password parsing to
4523 be more robust (Henrik).
4524 - Fixed ACL domain/host and domain/domain comparison
4525 functions yet again. Eliminated duplicate code so that
4526 only src/url.c::matchDomainName() contains this mysterious
4527 code.
4528 - Changed the 'http_port' option to accept an IP address
4529 or hostname as well (Henrik).
4530 - Removed 'tcp_incoming_addr' option.
4531 - Added an access control list for the redirector
4532 ('redirector_access'). Requests which match are sent to
4533 the redirector. All requests. are redirected by default.
4534 - Added the 'authenticate_ip_ttl' option. It specifies
4535 how long a valid proxy authentication credential is
4536 bound to a specific address.
4537 - Added 280, 488, 591, and 777 to "Safe_ports" ACL.
4538 - Removed the unused and highly questionable 'forward_snmpd_port'
4539 option.
4540 - Added an option to accept DNS messages from unknown nameservers.
4541 This may be necessary if replies come from a different address
4542 than queries are sent to.
4543 - Added #includes for IP Filter files in netinet directory.
4544 - Fixed a bug with retrying forwarded IMS requests (Henrik).
4545 - Fixed a bug in src/client_side.c::clientInterpretRequestHeaders()
4546 where we were checking a cache-control bit before getting the
4547 mask from the HTTP headers (pallo@initio.no).
4548 - Fixed a bug with "no_cache" access list. If not defined,
4549 everything was uncachable by default.
4550 - Fixed a bug with timed-out client-side HTTP connections.
4551 We didn't cancel the read handler, which could lead to
4552 "rwstate != NULL" warnings.
4553 - Changed comm_open() to only call fdAdjustReserved() for
4554 specific errors (ENFILE, EMFILE);
4555 - Fixed NULL pointer bug in idnsParseResolvConf().
4556 - Split CACHE_DIGEST_HIT into CD_PARENT_HIT and CD_SIBLING_HIT.
4557 - Added DELETE request method.
4558 - Added RFC 2518 HTTP status codes.
4559 - Fixed handling of URL passwords when we need to rewrite a
4560 BASE HREF URL (Henrik).
4561 - Fixed a bug with FTP requests where a request gets aborted,
4562 but we try to complete it anyway. It would result in a
4563 "store_status != STORE_PENDING" assertion. The solution
4564 is to check for ENTRY_ABORTED before reading from
4565 the control channel too.
4566 - Changed FTP to retry a request if Squid fails to establish
4567 a PASV data connection (Henrik).
4568 - Fixed numerous HTCP memory leaks and an uninitialized memory
4569 bug.
4570 - Changed httpMaybeRemovePublic() with RFC 2518 and 2616 in
4571 mind (Henrik).
4572 - Minor fixes for Rhapsody systems.
4573 - Define _XOPEN_SOURCE_EXTENDED in squid.h so that AIX systems
4574 don't include varargs.h.
4575 - Changed src/store_client.c::storeClientType() so that
4576 an entry can have more than one STORE_MEM_CLIENT.
4577 - Changed src/store_client.c::storeClientReadHeader()
4578 to check swapfile metadata (Henrik).
4579 - Changed src/url.c::urlCheckRequest() to return FALSE for
4580 any "https://" URL. These should always be CONNECT
4581 instead. If Squid gets an "https://" URL, it is a browser
4582 bug.
4583 - Added numerous squid.conf options for controlling cache
4584 digests. Previously these were hard-coded in
4585 src/store_digest.c. (Martin Hamilton)
4586 - Added 'cache_peer' option called 'digest-url' that
4587 lets you specify the URL for a peer's digest.
4588 (Martin Hamilton)
4589 - Added DELAY_POOLS hacks to scan "slow" connections in
4590 a random order (David Luyer).
4591 - ARP_ACL fixes from Damien Miller. Linux 2.2.x uses a
4592 per-interface arp/neighbour cache, whereas 2.0.x uses a
4593 unified cache. Under 2.2.x you are required to specify
4594 a interface name when looking up ARP table entries with
4595 SIOCGARP.
4596 - If the process umask is not set (i.e. 0), then Squid
4597 changes it to 007.
4598
4599 Changes to Squid-2.3.DEVEL2 ():
4600
4601 - Added --enable-truncate configure option.
4602 - Updated Czech error messages ()
4603 - Updated French error messages ()
4604 - Updated Spanish error messages ()
4605 - Added xrename() function for better debugging.
4606 - Disallow empty ("") password in aclDecodeProxyAuth()
4607 (BoB Miorelli).
4608 - Fixed ACL SPLAY subdomain detection (again).
4609 - Increased default 'request_body_max_size' from 100KB
4610 to 1MB in cf.data.pre.
4611 - Added 'content_length' member to request_t structure
4612 so we don't have to use httpHdrGetInt() so often.
4613 - Fixed repeatedly calling memDataInit() for every reconfigure.
4614 - Cleaned up the case when fwdDispatch() cannot forward a
4615 request. Error messages used to report "[no URL]".
4616 - Added a check to return specific error messages for a
4617 "store_digest" request when the digest entry doesn't exist
4618 and we reach internalStart().
4619 - Changed the interface of storeSwapInStart() to avoid a bug
4620 where we closed "sc->swapin_sio" but couldn't set the
4621 pointer to NULL.
4622 - Changed storeDirClean() so that the rate it gets called
4623 depends on the number of objects deleted.
4624 - Some WCCP fixes.
4625 - Added 'hostname_aliases' option to detect internal requests
4626 (cache digests) when a cache has more than one hostname
4627 in use.
4628 - Async I/O NUMTHREADS now configurable with --enable-async-io=N
4629 (Henrik Nordstrom).
4630 - Added queue length to async I/O cachemgr stats (Henrik Nordstrom).
4631 - Added OPTIONS request method.
4632
4633 Changes to Squid-2.3.DEVEL1 ():
4634
4635 - Added WCCP support. This adds the 'wccp_router' squid.conf
4636 option.
4637 - Added internal DNS queries; Most installations can run
4638 without the external dnsserver processes.
4639 - Rewrote much of the code that stores cache objects on
4640 disk. Developed a programming interface that should
4641 allow new storage systems to be added easily. This still
4642 is pretty ugly and needs a lot of work, however.
4643 - Replaced async_io.c "tags" with callback data locks.
4644 This probably breaks async IO in a bad way.
4645 - Tried to write an Async IO disk storage module.
4646 - Added code to replace the StoreEntry linked list with a
4647 heap structure. This allows for different replacement
4648 algorithms, instead of being stuck with LRU. This adds
4649 the 'replacement_policy' squid.conf option. (John Dilley
4650 et al).
4651 - Fixed HTCP queries by actually checking for freshness
4652 based on the HTCP header fields.
4653 - Fixed passing of redirector command line arguments.
4654 - Added 'request_header_max_size' squid.conf option.
4655 - Added 'request_body_max_size' squid.conf option.
4656 - Added 'reply_body_max_size' squid.conf option.
4657 - Added 'peer_connect_timeout' squid.conf option.
4658 - Added 'redirector_bypass' squid.conf option.
4659 - Added RFC 2518 (WEBDAV) request methods.
4660
4661 Changes to Squid-2.2 (April 19, 1999):
4662
4663 - Removed all SNMP specific ACL code
4664 SNMP now uses generic squid ACL's
4665 - Removed view-based access crontrol
4666 - Cleaned up and simplified SNMP section of squid.conf
4667 - Changed the SNMP code to use a tree stucture.
4668 - Added objects to MIB:
4669 Request Hit Ratio's
4670 Byte Hit Ratio's
4671 Number of Clients
4672 - Changed SNMP Agent to return object instances correctly.
4673 - Added our own assert() macro so we can use debug() instead of
4674 printing to stderr.
4675 - Added eventFreeMemory().
4676 - Fixed ipcCreate() bug when debug_log has FD <= 2.
4677 - Changed watchChild() and related code in main.c so that
4678 Squid can behave more like a proper daemon process.
4679 - Added 'prefer_direct' option (enabled by default) so that
4680 people can give parents higher preference than direct.
4681 - Fixed ipc.c close() bug for async IO. On FreeBSD,
4682 comm_close() doesn't work for child processes when async IO is
4683 used.
4684 - Fixed setting the public key for large ``icons'' (Henrik
4685 Nordstrom).
4686 - Rewrote peer digest module to fix memory leaks on reconfigure
4687 and clean the code. Increased "current" digest version to 5
4688 ("required" version is still 3). Revised "Peer Select" cache
4689 manager stats.
4690 - Added "-k parse" command line option: parses the config file
4691 but does not send a signal unlike other -k options.
4692 - Revamped storeAbort() calling. Only store_client.c has all
4693 the right information to determine if the request should
4694 be aborted. Now client and server modules just storeUnregister
4695 without ever needing to call storeAbort.
4696 - Small change of Squid output for FTP (Andrew Filonov,
4697 Henrik Nordstrom).
4698 - clientGetsOldEntry() sends old entry if new request status
4699 is in the 500-range (Henrik Nordstrom).
4700 - Changed configure so it works with IRIX6.4 C compiler (broken?)
4701 option -OPT:fast_io=ON.
4702 - Fixed comm_connect_addr() non-blocking connections for
4703 SONY NEWSOS (Makoto MATSUSHITA).
4704 - Changed "#ifdef __STDC__" to "#if STDC_HEADERS" as recommended
4705 by autoconf documentation.
4706 - Fixed client-side cache-control max-age (Henrik Nordstrom).
4707 - Added a new error page: ERR_SHUTTING_DOWN. fwdStart() returns
4708 this error if it is called while squid is in the process of
4709 shutting down.
4710 - Added support for linuxthreads package under FreeBSD (Tony Finch).
4711 - Fixed HP-UX StatHist.c assertions by making the "hbase_f"
4712 functions non-static (Michael Pelletier).
4713 - Fixed logging of authenticated usernames even if the
4714 authorization is not cached (Dancer).
4715 - Fixed pconnPush() bug that prevented holding on to
4716 persistent connections (Manfred Bathelt).
4717 - Pid file now rewritten on SIGHUP.
4718 - Numerous Ident changes:
4719 - Ident lookups will now be done on demand if you use the
4720 'ident' ACL type.
4721 - The 'ident_lookup on|off' option has been replaced with
4722 an access list, so you can do lookups only for some
4723 client addresses.
4724 - Added an 'ident_timeout' option to specifiy the amount
4725 of time to wait for an ident lookup.
4726 - Added a (local) hit rate to mempool metering.
4727 - FTP Restarts (REST command) is now supported.
4728 - Check for libintl.a on SCO3.2.
4729 - Disable poll() on SCO3.2.
4730 - Numerous Async IO enhancements from Henrik.
4731 - Removed cache_mem_low and cache_mem_high options (Henrik
4732 Nordstrom).
4733 - Replaced 'persistent_client_posts' with 'broken_posts' access
4734 list.
4735 - Rewrote the anonymizer.
4736 - Removed the http_anonymizer option.
4737 - Added the anonymize_headers option to allow individual
4738 referencing of headers for addition or removal. See
4739 'anonymize_headers' in squid.conf for additional
4740 configuration.
4741 - Fixed config file parser's handing of optional directives.
4742 Some people might get new warnings about unknown config
4743 directives.
4744 - Added 'myip' ACL type. This is the local IP address for
4745 connected sockets (Luyer).
4746 - Fixed parsing of FTP DOS directory listings with spaces
4747 (Nordstrom).
4748 - Numerous DELAY_POOL changes/fixes from David Luyer:
4749 - Makes no-delay neighbors for DELAY_POOLS work by
4750 using a fd_set with the connections to no-delay
4751 peers marked in it.
4752 - Makes IP addresses ending in 0 and 255, and
4753 network number 255, work with individual and
4754 network delay pools (they were previously not
4755 permitted, and documented as such).
4756 - Massive overhaul of delay pools code - dynamically
4757 allocated delay pools, as many as required.
4758 - delayPoolsUpdate stops running if DELAY_POOLS is
4759 configured but no delay pools are configured.
4760 - Initial delay pool levels are now configurable
4761 as a percentage of the maximum for the pool in
4762 question (used to be all set to 1 second worth
4763 of traffic). Pools are restored to this level
4764 on reconfiguratoin.
4765 - Changed storeClientCopy to give a swap-in failure if
4766 the number of open disk FD's is above the 'max_open_disk_fds'
4767 limit. Otherwise, a very loaded cache will end up with
4768 all disk files open for reading, and none for writing.
4769 - Added lib/inet_ntoa.c from BSD Unix for systems that have
4770 broken inet_ntoa(). (Erik Hofman).
4771 - Added more specific FTP error messages for "permission
4772 denied, "file not found," and "service unavailable."
4773 (Tony Finch)
4774 - Added xisspace(), xisdigit(), etc, macros to cast function
4775 args and eliminate compiler warnings.
4776 - Fixed case-sensitive comparisons of domain names (Henrik
4777 Nordstrom).
4778 - Added proxy-authentication to cachemgr.cgi's requests
4779 (Henrik Nordstrom).
4780 - Changed Squid to *truncate* rather than *unlink* purged
4781 swap files. Can be reversed by undefining
4782 USE_TRUNCATE_NOT_UNLINK in src/defines.h.
4783 - Changed internal icon headers to use Cache-control
4784 Max-age instead of Expires.
4785 - Changed storeMaintainSwapSpace behavior to be adjusted
4786 smoothly, instead of discretely, between store_swap_low
4787 and store_swap_high. This includes the number of
4788 objects to scan, number to remove, and time until the
4789 next storeMaintainSwapSpace event.
4790 - Fixed a quick_abort bug that incorrectly calculated
4791 content lengths.
4792 - Added getpwnam() auth module from Erik Hofman.
4793 - Added 'coredump_dir' option.
4794 - Fixed a peerDestroy() assertion that required peer->digest
4795 to be NULL at the end of peerDestroy().
4796 - configure script now automatically enables dlmalloc for
4797 Solaris/x86.
4798 - configure enables poll() on linux 2.2 and later (Henrik).
4799 - Icon files are now distributed in binary format, install
4800 will not need to run 'sh' and 'uudecode'.
4801 - Fixed some bugs with large responses (>READ_AHEAD_GAP) and
4802 re-forwarding requests and ENTRY_FWD_HDR_WAIT.
4803 fwdCheckDeferRead() will NOT defer reading if the
4804 ENTRY_FWD_HDR_WAIT bit is set.
4805 - Fixed a "F->flags.open" assertion for aborted FTP PUT's.
4806 - Fixed a (double) cast problem that caused statAvgTick()
4807 events to be added as fast as possible.
4808 - Changed httpPacked304Reply() to not include the Content-Length
4809 header for 304 replies that Squid generates. We used to
4810 include the length of the cached object, and this broke
4811 persistent connections.
4812
4813 2.2.STABLE2:
4814
4815 - Fixed configure bug for statvfs() checks. Configure reports
4816 "test: =: unary operator expected" or similar because an
4817 unquoted variable is not defined.
4818 - Fixed aclDestroyAcls() assertion because some ACL types
4819 are not listed in the switch statement. Occurs for
4820 srcdom_regex and dstdom_regex ACL types during reconfigure.
4821 - Typo "applicatoin" in src/mime.conf
4822 - The unlinkd daemon never saw the USE_TRUNCATE_NOT_UNLINK
4823 #define because it didn't include squid.h.
4824 - Fixed commRetryFD() when bind() fails. commRetryFD was
4825 closing the filedescriptor, but it is the upper layer's
4826 job to close it.
4827 - Changed configure's "maximum number of filedescriptors"
4828 detection to only use getrlimit() for Linux. On AIX,
4829 getrlimit returns RLIM_INFINITY.
4830 - Fixed snmpInit() nesting bug.
4831 - Fixed a bug with peerGetSomeParent(). It was adding
4832 a parent to the FwdServers list, regardless of the
4833 ps->direct value. This could cause every request to
4834 go to a parent even when always_direct is used.
4835 - Changed fwdServerClosed() to rotate the "forward servers"
4836 list when a connection establishment fails. Otherwise
4837 it always kept trying to connect to the first server
4838 int the list.
4839
4840 2.2.STABLE3:
4841
4842 - Fixed preprocessor problems for HP-UX in lib/safe_inet_addr.c.
4843 - Avoid coredump in aclMatchAcl() if someone tries to use
4844 proxy authentication with a non-HTTP request (e.g. icp_access).
4845 - Moved 'ident_lookup_access' in squid.conf so it appears
4846 after the ACL section.
4847 - Fixed typo in squid.conf on "Config.Addrs.snmp_outgoing"
4848 - Fixed a case in clientCacheHit() where we thought it
4849 was a hit, but the reply status was not 200, so we
4850 had to perform a cache miss. We forgot to change the
4851 log_type and these were being recorded as TCP_HIT's.
4852 - Fixed a void pointer subtraction bug in delayIdPtrHashCmp().
4853 - Fixed delay_pools coredump and memory leak bugs from
4854 NULL delay_id values.
4855 - Fixed a SEGV bug with delay_pools when requesting
4856 'objects' or 'vm_objects' from the cachemgr.
4857 - Added a workaround for buggy FTP servers that return
4858 a size of zero for non-zero-sized objects.
4859 - Removed umask(0) call from main().
4860 - Fixed a peer selection bug that caused us to never select
4861 a neighbor based on ICP replies if the ICP timeout occurs.
4862 In conjunction with this, removed the PING_TIMEOUT state.
4863 - Fixed a store_rebuild bug that caused us to get stuck trying
4864 if a cache_dir subdirectory didn't exist.
4865 - Fixed a buffer overrun bug in gb_to_str().
4866
4867 2.2.STABLE4:
4868
4869 - Fixed a dread_ctrl leak caused in store_client.c
4870 - Fixed a memory leak in eventRun().
4871 - Fixed a memory leak of ErrorState structures due to
4872 a bug in forward.c.
4873 - Fixed detection of subdomain collisions for SPLAY trees.
4874 - Fixed logging of hierarchy codes for SSL requests (Henrik
4875 Nordstrom).
4876 - Added some descriptions to mib.txt.
4877 - Fixed a bug with non-hierarchical requests (e.g. POST)
4878 and cache digests. We used to look up non-hierarchical
4879 requests in peer digests. A false hit may cause Squid
4880 to forward a request to a sibling. In combination with
4881 'Cache-control: only-if-cached, this generates 504 Gateway
4882 Timeout responses and the request may not be re-forwardable.
4883 - Fixed a filedescriptor leak for some aborted requests.
4884
4885
4886 Changes to Squid-2.1 (November 16, 1998):
4887
4888 - Changed delayPoolsUpdate() to be called as an event.
4889 - Replaced comm_select FD scanning loops with global fd_set
4890 structures. Inspired by Jeff Mogul's patch for squid 1.1.
4891 - Moved functions common to dns.c, redirect.c, authenticate.c,
4892 ipcache.c, and fqdncache.c into helper.c.
4893 - Changed storeClientCopy2() so that it keeps sending the remainder
4894 of a STORE_ABORTED request, instead of cutting off the client as
4895 soon as the object becomes aborted.
4896 - Fixed combined ipf-transparent proxy and a local http-accelerator
4897 operation (Quinton Dolan).
4898 - Rewrote base64_decode.c because of potential buffer overrun
4899 bugs.
4900 - Configurable handling of whitespace in request URI's.
4901 See 'uri_whitespace' in squid.conf.
4902 - Added ability to generate HTTP redirect messages from
4903 the redirector output by prepending "301:" or "302:" to the
4904 new url. See FAQ 4.16 for more details.
4905 - Eliminated refreshWhen() which was out-of-sync with refreshCheck()
4906 potentially causing under-utilized cache digests
4907 - Maintain refreshCheck statistics on per-protocol basis so we
4908 can tell why ICP or Digests return too many misses, etc.
4909 - Fixed delay_pools.c class2/class3 typo (Simon Woods).
4910 - Changed squid.conf's default access controls to deny all
4911 HTTP requests. Admins must write ACL rules to specifically
4912 allow their local clients.
4913 - Patched French error messages (Mathias HERBERTS).
4914 - NextStep porting fixes by Mike Laster:
4915 - use xstrdup() in cf_gen.c
4916 - check for putenv() in configure
4917 - #define S_ISDIR macro
4918 - Added --disable-poll configure option (Henrik Nordstrom).
4919 - Fixed internal URL hostname case bugs (Henrik Nordstrom).
4920 - Patched ftp.c so we never cache autenticated FTP requests
4921 (Henrik Nordstrom).
4922 - Fixed FTP authentication. We tried to unescape authentication
4923 given by basic authentication which is not URL escaped
4924 (Henrik Nordstrom).
4925 - Fixed HTTP version for common logfile format (Henrik Nordstrom).
4926 - Added 'redirect_rewrites_host_header' option to disable rewriting
4927 of Host header for redirector responses (Henrik Nordstrom).
4928 - Allow semi-customized error message signatures (Henrik Nordstrom).
4929 - Fixed bug with errors for unsupported requests (Henrik Nordstrom).
4930 - Fixed handling of blank lines in ACL input files (Henrik
4931 Nordstrom).
4932 - Changed proxy_auth ACL type to consist of a list of valid
4933 users. REQUIRED == any (same as ident ACL). ACL type user
4934 changed to ident since this is what it really is.
4935 (Henrik Nordstrom).
4936 - Fixed long URL bugs; make sure 'log_uri' never exceeds
4937 MAX_URL bytes.
4938 - Allow comments in external ACL files (Gerhard Wiesinger).
4939 - Added 'range_offset_limit' configuration option. Requests
4940 with ranges that start after this value will be passed
4941 on unmodified, and Squid will not cache the response
4942 (Henrik Nordstrom).
4943 - Added Client HTTP Hit byte counters to 'counters' output
4944 (Douglas Swarin).
4945 - Got Squid to compile with --enable-async-io on FreeBSD.
4946 - Fixed infinite loop bug for cachemgr 'config' option.
4947 - Fixed cachability bugs for replies with Pragma: no-cache.
4948 - Made content-type multipart/x-mixed-replace uncachable.
4949 - Y2K fix for parsing dates in "Wed Jun 9 01:29:59 1993 GMT"
4950 format (Richard Kettlewell).
4951 - Fixed passing -s option to dnsserver processes (Alvaro Jose
4952 Fernandez Lago).
4953 - Changed proxy_auth to work on internal objects and when in
4954 accelerator mode. (Henrik Nordstrom)
4955 - Added login=user:password option to cache_peer directive to
4956 be used from a dial-up cache where the parent requires proxy
4957 authentication. (Henrik Nordstrom)
4958 - If you want to "auto-login", then use a URL on the form
4959 http://username:password@server/.... Squid now picks this up
4960 when going direct, and turns it into basic WWW
4961 authentication. It is also possible to do automatic login to
4962 certain servers by using a redirector to add the needed
4963 authentication information. (Henrik Nordstrom)
4964 - Changed refreshCheck() so that objects with negative age
4965 are always stale.
4966 - Fixed "plain" FTP listings (Henrik Nordstrom).
4967 - Fixed showing banner/logon message for top-level FTP
4968 directories (Henrik Nordstrom).
4969 * Changes below have been made to SQUID_2_1_PATCH1
4970 - Fixed pinger packet size assertion.
4971 - Fixed WAIS forwarding.
4972 - Fixed dnsserver coredump bug caused by using both -D and
4973 -s options.
4974 * Changes below have been made to SQUID_2_1_PATCH2
4975 - Fixed EBIT macro bugs when the bitmask is a 64-bit long.
4976 - Fixed proxy auth NULL password bug.
4977 - Fixed queueing of multiple peerRefreshDNS events.
4978 - Added a stack of StoreEntry objects to be released after
4979 store rebuild completes.
4980 - Fixed NULL pointer bugs with too-large requests (found by
4981 Martin Lathoud).
4982 - Fixed reading replies from buggy ident servers. Replies
4983 might not have terminating CR or LF (Henrik Nordstrom).
4984 - Changed internal StoreEntry key so that the request method
4985 is encoded as a single octet. Encoding an enumerated type
4986 has size and byte-order incompatibilities, especially for
4987 cache digests.
4988 - Fixed storeEntryLocked so that SPECIAL, but PRIVATE entries
4989 are not always locked. This fixes having multiple
4990 store_digest's stuck in memory.
4991 - Fixed clientProcessOnlyIfCachedMiss so it unlocks and
4992 unregisters from "cache hit" entries.
4993 * Changes below have been made to SQUID_2_1_PATCH3
4994 - Fixed memory leak in clientHandleIMSReply for
4995 storeClientCopy failures.
4996
4997 Changes to Squid-2.0 (October 2, 1998):
4998
4999 - Added NAT/Transparent hijacking code from Quinton Dolan.
5000 - Added actual filesystem usage to cachemgr 'storedir' page.
5001 Only works for operating systems which support statvfs().
5002 - Fixed HTCP compile-time bugs.
5003 - Fixed quick_abort bugs. Configured values are stored as
5004 Kbytes, not bytes.
5005 - Removed fwdAbortFetch(). It breaks quick_abort and seems
5006 mostly useless.
5007 - Changed storeDirSelectSwapDir() to skip swap directories
5008 when their utilization is over the high water mark ratio.
5009 - Fixed off-by-one bug for dead neighbor detection (Joe Ramey).
5010 - fixed bugs in Content-Range header generation
5011 - changed the way Range requests are handled:
5012 - do not "advertise" our ability to process ranges at
5013 all
5014 - on hits, handle simple ranges and forward complex
5015 ones
5016 - on misses, fetch the whole document for simple ranges
5017 and forward range request for complex ranges
5018 The change is supposed to decrease the number of cases when
5019 clients such as Adobe acrobat reader get confused when we
5020 send a "200" response instead of "206" (because we cannot
5021 handle complex ranges, even for hits) Note: Support for
5022 complex ranges requires storage of partial objects.
5023 - Removed SNMP mib-2.system group from squid.
5024 - Removed SNMP ability to iterate through ipcache and friends.
5025 - Added SNMP ipcache/fqdncache basic statistics.
5026 - Converted SQUID-MIB to SMIv2 (RFC 1902).
5027 - Moved SQUID-MIB to enterprises section of the tree in preparation
5028 of the split into PROXY-MIB & SQUID-MIB.
5029 - Corrected minor errors in SQUID-MIB.
5030 - Moved uptime into cacheSystem from cacheConfig.
5031 - Corrected a number of get-next-request bugs, snmpwalk should now
5032 return all objects and not skip some.
5033 - Fixed netdbClosestParent() so it won't return sibling
5034 peers.
5035 - Fixed a bug with secondary clients on entries with
5036 ENTRY_BAD_LENGTH set. We should release the
5037 bad entry to prevent secondary clients jumping on.
5038 - Changed MIB to prevent parse warnings at startup.
5039 * Changes below have been made to SQUID_2_0_PATCH1
5040 - Fixed a forwarding loop bug. Even though we were detecting
5041 a loop, it was not being broken.
5042 - Try to prevent sibling forwarding loops by NOT forwarding a
5043 request to a sibling if we have a stale copy of the object.
5044 Validation requests should only be sent to parents (or
5045 direct).
5046 - Fixed ncsa_auth hash bugs when re-reading password file.
5047 - Changed clientHierarchical() so that by default SSL/CONNECT
5048 requests do NOT go to neighbor caches.
5049 - Changed clientHandleIMSReply() to not call storeAbort()
5050 because there can be more than one client hanging on the
5051 StoreEntry. This hopefully fixes "store_status !=
5052 STORE_ABORTED" assertions.
5053 - Added temporary fix to httpMakePublic() to prevent assertions
5054 (!EBIT_TEST(e->flags, RELEASE_REQUEST)) in storeSetPublicKey().
5055 * Changes below have been made to SQUID_2_0_PATCH2
5056 - PATCH1 introduced a seriously stupid bug which prevented ICP
5057 queries for all requests. Fixed by checking
5058 request->hierarchical in peerSelectFoo().
5059
5060 Changes to squid-1.2.beta25 (September 21, 1998):
5061
5062 - Fixed async IO bugs from adding filedescriptor arg to AIOCB
5063 callbacks (Henrik Nordstrom).
5064 - Fixed store_swapout.c assertion. We were freeing object data
5065 past the swapout_done offset. This probably happens (only?)
5066 when an object changes from cachable to uncachable while
5067 it is being swapped out.
5068 - Added MEM_CLIENT_SOCK_BUF type so we can change the size
5069 of the buffers used for writing data to the client sockets.
5070 - Added configure check for libbind.a. If found, it will be
5071 used instead of libresolv.a.
5072 - Changed fwdStart() to always allow internally generated
5073 requests, such as for peer digests. These requests are
5074 known to fwdStart() because the address arg is set to
5075 'no_addr'.
5076 - Completed initial HTCP implementation. It works, but is not
5077 tested much.
5078 - Added counters for I/O syscalls.
5079 - Fixed httpMaybeRemovePublic. With broken ICP neighbors
5080 (netapp) Squid doesn't use private keys. This caused us
5081 to remove almost every object from the cache.
5082 - Added 'asndb' cachemgr stats to show AS Number tree.
5083 - Fixed AS Number byte-order bug for netmasks.
5084 - Fixed comm_incoming calling rate for high loads (Stewart
5085 Forster).
5086 - Give always_direct higher precedence than never_direct
5087 (Henrik Nordstrom).
5088 - Changed PORT ACL type to accept ranges. Now you can easily
5089 deny, for example, all priveleged ports except 80, 70, 21,
5090 etc.
5091 - ARP ACL fixes for Linux (David Luyer).
5092 - Replaced various "EBIT" flags bitfileds with structures of
5093 "int:1" members.
5094 - Changed storeKeyPrivate and storeKeyPublic to be a bit more
5095 efficient by removing snprintf(). This causes an
5096 incompatibility with old cache keys, however. To transition,
5097 we will look up both the new and old style keys for about the
5098 next 30 days. After that, if you haven't run this (or a
5099 future) version, your cache contents will be lost.
5100 - Made the client-side write buffer size configurable with
5101 a #define in defines.h. By default it is still 4096 bytes.
5102 - Removed redirectUnregister(). It should be unnecessary
5103 because of cbdata locks.
5104 - Fixed multiple HEAD request brokennesses (Henrik Nordstrom).
5105 - Changed non-blocking connect(2) code to call getsockopt()
5106 instead of connect() again. This is the approach recommended
5107 by Stevens, and fixes bugs on BSD-ish systems when subsequent
5108 connect() calls loop with EAGAIN status.
5109 - Added MD5 cache keys to memory pool accounting.
5110 - Added code to track number of open DISK descriptors and stop
5111 swapping out objects if the number of disk descriptors becomes
5112 too large. For now the limit must be manually configured with
5113 the 'max_open_disk_fds'. By default, there is no limit.
5114 - Stopped encoding a request method in the high byte of the ICP
5115 reqnum field. Instead queried cache keys are copied to a
5116 static array, indexed by the reqnum, modulo the array size.
5117 Now we just use the request number to lookup a cache key,
5118 instead of rebuilding it from the ICP reply URL and method,
5119 unless we have netapp neighbors--they don't do reqnum
5120 properly.
5121 - Fixed reconfigure memory access bugs in redirect.c.
5122 - Ignore unreasonably large ICP RTT values which cause overflow
5123 bugs in calculating the average RTT (thanks Niall!)
5124
5125 Changes to squid-1.2.beta24 (August 21, 1998):
5126
5127 - Added Bulgarian error pages by Evgeny Gechev.
5128 - Changed StoreEntry->lock_count to a u_short.
5129 - Replaced urlcmp with strcmp
5130 - Fixed pragma no-cache ejecting ENTRY_SPECIAL objects
5131 (Henrik Nordstrom).
5132 - Eliminated unneeded BASE HREF on "root" directories (Henrik
5133 Nordstrom).
5134 - Fixed peerDigestFetchFinish() assertion caused by forwarding
5135 failures (e.g. miss_access rules).
5136 - Changed signal handlers with ASYNC_IO and Linux so that
5137 -k command line options work (Miquel van Smoorenburg).
5138 - Rewrote shutdown code to use events instead of setting
5139 FD timeouts.
5140 - Fixed cachemgr 'objects' (statObjects()) by adding a check
5141 for READ_AHEAD_GAP, and calling storeCheckSwapout() in
5142 storeBufferFlush(). Otherwise, the read-past pages would
5143 never be freed.
5144 - Fixed DNSSERVER shutdown bugs. The re-opened dnsserver processes
5145 were being closed by the dnsServerShutdown event.
5146 - Modified storeHashInsert() to insert PRIVATE objects at
5147 the tail of the LRU list, and PUBLIC objects at the head.
5148 Thus, PRIVATE objects get kicked out quicker.
5149 - Added David Luyer's DELAY_POOLS code.
5150 - Fixed a bug due to HEAD replies which lack the end-of-headers
5151 line.
5152 - Made proxy-auth realm string configurable (Bob Franklin)
5153 - Changed default mime time to a viewable one (Henrik Nordstrom).
5154 - configure fixes for Sony's NEWS-OS 6.x (Makoto MATSUSHITA).
5155 - Fixed 'you are running out of filedescriptors' bug which
5156 could cause the HTTP incoming connection handler to not
5157 be reset.
5158 - Changed syslog logging. Now squid debug levels 0 and 1 go
5159 to syslog. Level 0 gets LOG_WARNING and level 1 gets LOG_NOTICE
5160 (this needs more work!)
5161 - Fixed memory access errors in statAvgTick().
5162 - Fixed duplicate requestUnlink() bug in forward.c
5163 - Fixed possible memory access bugs from not setting e->mem_obj
5164 = NULL in destroy_MemObject().
5165 - Deleted TCP_IMS_MISS tag. Always use TCP_IMS_HIT instead.
5166 - Modified headersEnd and httpMsgIsolateHeaders to account
5167 for funky line terminations such as CRCRNL.
5168 (``but Netscape and IE _tolerate_ this'')
5169 - Fixed carp functions (Eric Stern).
5170 - Replaced internal proxy_auth code with extern authentication
5171 module (Arjan de Vet).
5172 - moved hash.c to libmiscutil.a.
5173 - Fixed handling of ICP queries with whitespace in URLs.
5174 Now we return ICP error and escape the URL before logging.
5175 - Added configure check for socklen_t (David Luyer).
5176 - Removed USE_SPLAY #defines; it is now standard.
5177 - Added FD arg to async IO callbacks (AIOCB) so we can eliminate
5178 temporary disk_ctrl_t structures.
5179 - Changed ENOSPC disk write errors to reduce specific cache_dir
5180 sizes, and not just the size of the cache as a whole.
5181 - Added httpMaybeRemovePublic() to purge public objects for
5182 certain responses even though they are uncachable. This is
5183 needed, for example, when an initially cachable object
5184 later becomes uncachable.
5185 - Added refresh_pattern options to ignore client reloads
5186 (Henrik Nordstrom)
5187 - Relocated disk.c code which combines blocks for writing
5188 (Stewart Forster).
5189
5190 Changes to squid-1.2.beta23 (June 22, 1998):
5191
5192 - Added Turkish error pages by Tural KAPTAN.
5193 - Added basic support for Range requests. For most cachable
5194 requests, Squid replies with an "Accept-Ranges" header. Upon
5195 receiving a potentially cachable Range request for a not
5196 cached object, Squid requests the whole object from origin
5197 server and then replies with specified range(s) to the
5198 client. Multi-range requests are supported. Adjacent
5199 overlapping ranges are merged. If-Range requests are
5200 supported. Limitations: Multi-range requests with out of
5201 order ranges are not supported.
5202 - Made md5.c use standard memcpy and memset if they are
5203 avaliable.
5204 - Memory pools will now shrink if Squid is run-time
5205 reconfigured with smaller value of memory_pools_limit tag.
5206 - Added counter for number of clients (Tomi Hakala).
5207 - Changed neighbor UP/DOWN algorithm to require 10 failed TCP
5208 connections for UP->DOWN transition.
5209 - Added 'unique_hostname' configuration option when its
5210 necessary to have multiple machines with the same visible
5211 hostname.
5212 - Fixed pumpReadFromClient() to not read too many bytes on
5213 persistent connections.
5214 - We can now cache HTTP replies with Set-Cookie. These evil
5215 headers are now filtered out for cache hits on the client
5216 side.
5217 - Fixed SNMP bugs caused by using snmpwalk.
5218 - Fixed snmp system Group; all objects are now returned.
5219 - Fixed snmp system Group sysDescr and sysContact.
5220 - Fixed snmp system Group sysObjectID it now returns a OBJECT
5221 IDENTIFIER.
5222 - Allocate FwdState from mem pools.
5223 - Minor HTCP progress.
5224 - Moved 'miss_access' ACL check from client_side.c to forward.c
5225 - Fixed logging of usernames for requests which require
5226 proxy-authentication.
5227 - Fixed HTTP request parser to accept lowercase HTTP identifier
5228 (Oskar Pearson).
5229 - Fixed FTP listings to always include links to the parent
5230 directory (Henrik Nordstrom).
5231 - Fixed FTP to show an "empty" listing instead of showing
5232 a "document contains no data" error (Henrik Nordstrom).
5233 - Fixed refreshCheck() bug. Often it was checking the
5234 refresh patterns against the string "[null_mem_obj]"
5235 because we moved URLs to MemObject.
5236 - Added CARP support by Eric Stern.
5237 - Fixed select-spin bug when an ICP reply actually gets queued
5238 and we failed to execute the write callback.
5239 - Fixed a storeCheckSwapOut bug. We were freeing up to
5240 the queued offset instead of the done offset. This
5241 resulted in a small chunk of object data not being in
5242 memory and not yet written to disk. A client could
5243 recieve a partial object because file_read() unexpectedly
5244 returns EOF.
5245 - Fixed proxy-authentication hangs (Henrik Nordstrom).
5246 - Fixed request_t->flags bug causing authenticated, proxied
5247 responses to be cached (Arjan de Vet).
5248 - Fixed MIME types for .tgz extension (Henrik Nordstrom).
5249 - Added view and download options to FTP listings (Henrik
5250 Nordstrom).
5251 - Modified configure to allow using pre-installed libdlmalloc.a
5252 (Masashi Fujita).
5253 - Fixed cachemgr 'objects' implementation.
5254 - Changed refreshCheck() algorithm. For cached objects, we
5255 now check, in the following order:
5256 * request max-age
5257 * response Expires (if present)
5258 * refresh_pattern max-age
5259 * response Last-Modified compared to refresh_pattern
5260 LM-factor (only if Last-Modified is present)
5261 * refresh_pattern min-age
5262 - Changed Copyrights.
5263
5264 Changes to squid-1.2.beta22 (June 1, 1998):
5265
5266 - do not cut off "; parameter" from "digitized" Content-Type
5267 http fields
5268 - Added X-Request-URI for persistent connection debugging
5269 (Henrik Nordstrom)
5270 - Added Polish error pages from Maciej Kozinski.
5271 - Fixed hash_first/hash_next bugs with **Current pointer.
5272 Replaced with *next pointer.
5273 - Fixed PUT/POST bugs in client (Henrik Nordstrom).
5274 - Deny forwarding loops in httpd accel mode (Henrik Nordstrom).
5275 - Fixed eventRun "spin" bug when event delta time == 0.
5276 - Fixed setting Last Modified time on cached entries when
5277 receiving a 304 reply.
5278 - Added while loop in httpAccept().
5279 - Added while loop in icpHandleUdp().
5280 - Fixed some small memory leaks.
5281 - Fixed single-bit-int flag checks (Henrik Nordstrom).
5282 - Replaced "complex" (offset accounting) calls to snprintf with MemBuf
5283 - Do not send only-if-cached cc directive with requests
5284 for peer's digests.
5285 - Added "automatic tuning" for incoming request rate, i.e.
5286 how often to check HTTP and ICP sockets. See comm.c
5287 comments for details.
5288
5289 Changes to squid-1.2.beta21 (May 22, 1998):
5290
5291 - Added Italian error pages by Alessio Bragadini.
5292 - Added Estonian error pages by Toomas Soome.
5293 - Added Russian (koi-r) error pages by Andrew L. Davydov.
5294 - Added Czech error pages by Jakub Nantl.
5295 - Fixed asnAclInitialize calling to prevent coredump.
5296 - Fixed FTP directory parsing again.
5297 - Made FTP directory listing "Generated" tagline like
5298 the one for error pages.
5299 - Fixed an assertion coredump in statHistCopy from
5300 reconfiguring with different #peers in squid.conf
5301 - Ignore leading whitespace on requests (and replies). RFC
5302 2068 section 4.1, robustness (Henrik Nordstrom)
5303 - Fixed keep_alive bug. We did not always honour reply
5304 headers, but rather assumed connections could be persistent.
5305 - Fixed reading whois output for AS numbers, especially when
5306 they are longer than 4 KB.
5307 - Removed 'cache_stoplist_pattern' configuration option. This
5308 feature is now handled by 'no_cache'.
5309 - If a URN resolves to only one URL, just return it immediately
5310 instead of giving the user a "choice" (Andy Powell).
5311 - Fixed year-2000 bug in lib/iso3307.c (Henrik Nordstrom).
5312 - Changed squid-internal object names.
5313 - Added netdb exchange protocol.
5314 - Fixed wordlistDestroy() uninitialized pointer bug in
5315 ftpParseControlReply.
5316 - Fixed redirector subprocess to show real program name.
5317 - Changed URN menu output to be sorted.
5318 - Added fast select(2) timeouts when using ASYNC_IO.
5319 - Added ARP ACL support for Linux (David Luyer).
5320 - Added binary http headers to requests
5321 - request_t objects are now created and destroyed in a consistent way
5322 - Fixed cache control printf bug
5323 - Added a lot of new http header ids
5324 - Improved Connection: header handling; now both Connection and
5325 Proxy-Connection headers are checked for connection directives
5326 - Connection request header is now handled correctly regardless
5327 of its position and the number of entries
5328 - Only replies with valid Content-Length can be sent with keep-alive
5329 connection directive (Henrik Nordstrom)
5330 - Better handling of persistent connection "clues" in HTTP headers;
5331 the decision now depends on HTTP version (and User-Agent exceptions)
5332 - Removed handling of "length=" directive in IMS headers;
5333 the directive is not in the HTTP/1.1 standard;
5334 standing by for objections
5335 - allowed/denied headers are now checked using bit masks instead of
5336 strcmp loops
5337 - removed Uri: from allowed headers; Uri is deprecated in RFC 2068
5338 - removed processing of Request-Range header (not in specs?)
5339 - Fixed byte-order bugs in cacheDigestHashKey.
5340 - Changed hash_remove_link() to return void.
5341 - Changed ipcache_gethostbyname() to return NULL if
5342 i->addrs.count == 0.
5343 - Added millisecond-timing to select/poll loops and event
5344 queue.
5345 - Changed 'peerPingTimeout' value to be twice the average
5346 of all the peer ICP RTT's.
5347 - Added 'half_closed_clients' option to force closing of
5348 client connections which might only be half-closed.
5349 - Fixed matchDomainName coredump bug.
5350 - Don't cache HTTP replies with Vary: headers until we
5351 get content negotiation working.
5352 - Fixed SSL proxying to forward full HTTP request headers.
5353 - Changed storeGetMemSpace(). Only purge down to the HIGH
5354 water mark; move locked entries to the head of the inmem
5355 list.
5356 - Changed clientReadRequest() to locally handle any
5357 "squid-internal-static" URL for any host.
5358 - Disable persistent connections for client connections
5359 from broken Netscape User-Agent, version 3.* (Stewart Forster)
5360
5361 Changes to squid-1.2.beta20 (April 24, 1998):
5362
5363 - Improved support for only-if-cached cache control directive.
5364 - Enabled 304 replies for ENTRY_SPECIAL objects (e.g., icons).
5365 - Fixed 'quick_abort' percent calculation bug.
5366 - Fixed quick_abort FPE bug.
5367 - Changed more errno-checking functions to use ignoreErrno().
5368 - Added ERESTART to ignoreErrno() because of report from
5369 a Solaris system.
5370 - Fixed '#elsif' typo.
5371 - Fixed MemPool assertion by moving memInit() to before
5372 configuration parsing functions.
5373 - Fixed default 'announce_period' value (was 1 day, should
5374 be 0) (Joe Ramey).
5375 - Added configure warning for low filedescriptors and pointer
5376 to FAQ.
5377 - Fixed httpBodySet() bug causing URN related coredumps.
5378 - Changed ipcacheCycleAddr() to always cycle through all all
5379 available addresses, and not just advance when one of
5380 them goes BAD.
5381 - Fixed squid-internal bug for mixed-case hostnames (Henrik
5382 Nordstrom).
5383 - Fixed ICP counting probelm. icpUdpSend() arg should be
5384 LOG_ICP_QUERY instead of LOG_TAG_NONE.
5385 - Added some additional fault toleranse on FTP data channels
5386 (Henrik Nordstrom).
5387 - Corrected error reporting on FTP "hacks" (Henrik Nordstrom).
5388 - Added lock/unlock for StoreEntry during storeAbort().
5389 - Added filemap bit usage stats to cachemgr 'storedir' and
5390 'info'.
5391 - Replaced 'cache_stoplist' with 'no_cache' Access list.
5392 - Fixed (hopefully) remaining swapfile-open-at-exit bugs.
5393 - Fixed default hierarchy_stoplist to be ``default if none.''
5394 - Fixed 'fake a recent reply' hack for detecting DEAD
5395 and ALIVE neighbors (Joe Ramey).
5396 - Fixed FTP directory parsing bugs (Joe Ramey).
5397 - Fixed ftpTraverseDirectory coredump for NULL ftpState->filepath
5398 (Joe Ramey).
5399 - Fixed daylight savings time bug (again).
5400 - A lot of Cache Digests additions, fixes, and tuning.
5401 Cache Digests are still "very experimental".
5402 - Fixed snprintf() bug. When len == 1, snprintf() would treat
5403 the buffer as unknown size, emulating sprintf() behaviour.
5404 - Made Error page language configurable with configure script
5405 (Henrik Nordstrom).
5406 - Fixed squid-internal URLs when http_port == 80.
5407 - Remember the client address on redirected requests (Henrik
5408 Nordstrom).
5409 - Don't rebuild the request if the redirector returned the same
5410 URL (Henrik Nordstrom).
5411 - Rewrite Host: header on redirected requests (Henrik
5412 Nordstrom).
5413 - Include port (if non-standard) in generated Host: headers
5414 (Henrik Nordstrom).
5415 - Fixed rfc1123 timezone hacks for Windows NT
5416 (Henrik Nordstrom).
5417 - Added Russian Error pages by Ilia Zadorozhko.
5418 - Added totals for ICP and HTTP hits to cachemgr client_list
5419 output.
5420 - Changed error message to 'Generated TIME by HOST (SQUID/VER)'
5421 because any string with an '@' must be an email address.
5422 - Fixed POST for content-length == 0.
5423 - Fixed "huge 304 reply" loop bug.
5424 - Fixed --enable-splaytree compile bugs.
5425 - Removed ASN lookup code in peer_select.c.
5426 - Added warnings if ACL code detects subdomains in SPLAY
5427 trees.
5428 - Rewrote some bits of httpRequestFree() to eliminate
5429 possible bugs that could cause an "e->lock_count" asseertion.
5430 - Added value/bounds checking to _db_init() when setting
5431 the debugLevels[] array.
5432
5433 Changes to squid-1.2.beta19 (Apr 8, 1998):
5434
5435 - Squid-1.2.beta19 compiles and runs on Windows/NT with
5436 Cygnus Gnu-WIN32 b19 (Henrik Nordstrom).
5437 - Added French Error pages by Frank DENIS.
5438 - Added Dutch Error pages by Mark Visser
5439 - Added German Error pages by Bernd P. Ziller, Jens Frank,
5440 and Anke S.
5441 - Added support for only-if-cached cache-control directive.
5442 - Added RELAXED_HTTP_PARSER #define to allow requests which are
5443 missing the HTTP identifier on the request line (e.g. buggy
5444 SpyGame queries). RELAXED_HTTP_PARSER is undefined by default.
5445 - Fixed disk.c FD leak for delayed closes in
5446 diskHandleWriteComplete().
5447 - Fixed cache announcement feature.
5448 - Fixed httpReadReply() to retry failed HTTP requests on
5449 persistent connections when read() returns -1, not only
5450 when it returns 0.
5451 - Fixed cbdata memory counting leak. cbdataUnlock() always
5452 called free(), never memFree().
5453 - Fixed storeDirWriteCleanLogs() malloc bug on Alphas.
5454 - Fixed `++loopdetect < 10' assertion due to
5455 clientHandleIMSReply bug for invalid/partial HTTP
5456 replies.
5457 - Added preliminary code for HTCP.
5458 - Renamed 'aux' dir to 'cfgaux' for legacy DOS machines.
5459 - Added "snmp_community" as an ACL type.
5460 - Cleaned up proxy-auth acl implementation and removed
5461 memory leaks.
5462 - Added generic 'hashFreeItems()' function for efficiently
5463 freeing hash table pointers.
5464 - Added whoisTimeout() for ASN code.
5465 - Removed BINARY TREE code.
5466 - Fixed forgetting to reset Config.Swap.maxSize in
5467 configDoConfigure.
5468 - Fixed httpReplyUpdateOnNotModified() arguments-in-wrong-order
5469 bug which caused not modified replies to not get updated.
5470 - Fixed client_side.c bugs which could cause data to be written
5471 to the client in the wrong order for persistent connections.
5472 clientPurgeRequest() and clientHandleIMSComplete() must not
5473 call comm_write(). Instead they must create and write to
5474 StoreEntry's.
5475 - Fixed ICP query service time counting bug(s).
5476 - replaced 'char *mime_headers_end()' with 'size_t headersEnd()'
5477 to fix buffer overruns. This also requires adding 'buf_sz'
5478 args to some functions like clientBuildReplyHeader().
5479 But we can eliminate the need to NULL-terminate the
5480 buffer beforehand.
5481 - Changed commConnectCallback() to reset the FD timeout to
5482 zero before notifying about the connection. This requires
5483 commSetTimeout() calls in numerous places to reinstall
5484 timeouts.
5485 - Changed comm_poll_incoming() to be called less frequently
5486 (every 15 I/O's instead of every 7 FD's) (Michael O'Reilly).
5487 - Removed HAVE_SYSLOG case for debug() macro. Almost all
5488 systems do have syslog(), but more importatnly the
5489 _db_level value is needed for debugging to stderr.
5490 - Rewrote squid/dnsserver interface to use smaller, single-line
5491 messages.
5492 - Rewrote 'dns' cachemgr output to use a table format.
5493 - Rewrote a lot of dnsserver.c.
5494 - Added eventAddIsh() for semi-random event scheduling.
5495 - Fixed an ftpTimeout bug for sessions which use PORT
5496 commands.
5497 - Fixed ftp.c to recognized invalid PASV replies (e.g.
5498 port == 0).
5499 - Removed hash_insert(). All hasing uses hash_join() now.
5500 - Renamed hash_unlink() to hash_remove_link().
5501 - Added hashPrime() to find closes prime hash table size
5502 to a given value.
5503 - Fixed Keep-Alive ratio counting bug which prevented
5504 persistent connections from being used between cache
5505 peers.
5506 - Changed icmp.c to NOT queue messages sent from squid to
5507 the pinger program.
5508 - Changed icp_v2.c to NOT queue ICP messages by default.
5509 But they will be queued and resent once if the first
5510 send fails. Counters.icp.queued_replies counts the
5511 number of messaages queued.
5512 - Cleaned up ICP logging.
5513 - Added identTimeout().
5514 - Fixed ipcache reply counting bug. Overcounted dnsserver
5515 replies for partial replies.
5516 - Added urlInternal() for building internal Squid URLs.
5517 - Changed peerAllowedToUse() to check both 'cache_peer_domain'
5518 AND 'cache_peer_acl' configurations. This should be changed
5519 in the fugure to use ONLY cache_peer_acl.
5520 - Changed DEAD/REVIVED neighbor detection to avoid reporting
5521 so many false deaths. (Joe Ramey).
5522 - Added some preliminary code to support "cache digests."
5523 - Fixed pumpClose() coredumps (?).
5524 - Updated cachemgr 'info' output to show median service
5525 times for various categories.
5526 - Fixed ABW bug in storeDirWriteCleanLogs(). sizeof(off_t)
5527 != sizeof(int) for Alphas.
5528 - Fixed potential alignment problem in storeDirWriteCleanLogs().
5529 - Fixed store_rebuild.c to NOT replace current, but
5530 not-swapped-out StoreEntry's with on-disk entries.
5531 - Changed storeCleanup() to call storeRelease on invalid
5532 entries which don't have a swapfile (i.e. no unlink()
5533 penalty).
5534 - Fixed storeSwapInStart() to fail for unvalidated
5535 entries.
5536 - SNMP changes:
5537 . renovated mib and added descriptions and comments
5538 . added hit and byte counters to client_db , for
5539 cacheClientTable
5540 . cacheClientTable, netdbTable, cachePeerTable,
5541 cacheConnTable now indexed by ip address. hash_lookup was
5542 enhanced to allow for subsequent hash_next's similar to
5543 hash_first, to speed up getnext's in tables which refer to
5544 hash-table structures.
5545 . added generic (well, sorf of) table indexing functionality
5546 . added makefile dependencies for snmplib and cache_snmp.h
5547 . WaisHost, WaisPort, Timeouts removed
5548 . FdTable split into FdTable and ConnTable. FdTable simplified
5549 . PeerTable and PeerStat merged and put into new cacheMesh
5550 group
5551 . cacheClientTable added for client statistics and accounting
5552 (cacheMesh 2)
5553 . cacheSec and cacheAccounting groups removed
5554 . fixed acl bug when communities not defined
5555 . snmp_acl now survives bad configuration
5556
5557 Changes to squid-1.2.beta18 (Mar 23, 1998):
5558
5559 - Added v1.1 'test_reachability' option.
5560 - Fixed hash4() len == 0 bug.
5561 - Fixed Config.Swap.maxSize reconfigure bug.
5562 - Fixed ICP query bug determining request method.
5563 - Moved ICP's storeGet() cache lookup into neighborsUdpAck()
5564 so that we know neighbors are alive even when they send
5565 us replies for unknown entries.
5566 - Changed configure script to add '-std1' for Digital Unix cc.
5567 - Fixed SNMP sizeof(int) / sizeof(long) bugs for 64-bit
5568 systems.
5569 - Added support for 'Cache-Control: Only-If-Cached' request header.
5570 - Fixed CheckQuickAbort() bugs for multiple clients on one
5571 StoreEntry. Also changed storePendingNClients() to return
5572 mem->nclients instead of counting the number of store_client
5573 entries with pending callback functions.
5574
5575 Changes to squid-1.2.beta17 (Mar 17, 1998):
5576
5577 - SNMP MIB version check changed to non-rcs.
5578 - Added memory pools for variable size objects (strings).
5579 There are three pools; for small, medium, and large objects.
5580 - Extended String object to use memory pools. Most fixed size char
5581 array fields will be replaced using string pools. Same for most
5582 malloc()-ed buffers.
5583 - Changed icon handling to use the hostname and port of the squid
5584 server, instead of the special hostname "internal.squid"
5585 (Henrik Nordstrom).
5586 - All icons are now configured in mime.conf. No hardcoded icons,
5587 including gohper icons (Henrik Nordstrom).
5588 - Fixed ICP bug when we send queries, but expect zero
5589 replies.
5590 - Fixed alignment/casting bugs for ICP messages.
5591 - A generic client-to-server "pump" was added to handle HTTP
5592 PUT as well as POST methods on the client-cache side. Based on
5593 "pump" PUT requests can be made to either HTTP or FTP url's.
5594 Code is still beta and interoperability with browsers etc has
5595 not been tested.
5596 - Put #ifdefs around 'source_ping' code.
5597 - Added missing typedef for _arp_ip_data (Wesha).
5598 - Added regular-expression-based ACLs for client and server
5599 domain names (Henrik Nordstrom).
5600 - Fixed ident-related coredumps from incorrect callback data.
5601 - Fixed parse_rfc1123() "space" bug.
5602 - Fixed xrealloc() XMALLOC_DEBUG bug (not calling check_free())..
5603 - Fixed some src/asn.c end-of-reply bugs and memory leaks.
5604 - Fixed some peer->options flag-setting bugs.
5605 - Fixed single-parent feature to work again
5606 - Removed 'single_parent_bypass' configuration option; instead
5607 just use 'no-query'.
5608 - Surrounded 'source_ping' code with #ifdefs.
5609 - Changed 'deny_info URL' to use a custom Error page.
5610 - Modified src/client.c for testing POST requests.
5611 - Fixed hash4() for SCO (Vlado Potisk).
5612
5613 Changes to squid-1.2.beta16 (Mar 4, 1998):
5614
5615 - Added Spanish error messages from Javier Puche.
5616 - Added Portuguese error messages from Pedro Lineu Orso
5617 - Added a simple but very effective hack to cachemgr.cgi that tries to
5618 interpret lines with '\t' as table records and formats them
5619 accordingly. With a few exceptions (see source code), first line
5620 becomes a table heading ("<th>" html tag) and the rest is formated
5621 with "<td>" tags.
5622 - Added "mem_pools_limit" configuration option. Semantics of
5623 "mem_pools" option has also changed a bit to reflect new memory
5624 management policy.
5625 - Reorganized memory pools. Squid now supports a global pool
5626 limit instead of individual pool limits. Per-pool limits can be
5627 implemented on top of the current scheme if needed, but it is
5628 probably hard to guess their values. Squid distributes pool
5629 memory among "frequently allocated" objects. There is a
5630 configurable limit on the total amount of "idle" memory to be
5631 kept in reserve. All requests that exceed that amount are
5632 satisfied using malloc library. Support for variable size
5633 objects (mostly strings) will be enabled soon.
5634 - memAllocate() has now only one parameter. Objects are always
5635 reset with 0s. (We actually never used that parameter before;
5636 it was always set to "clear").
5637 - Added Squid "signature" to all ERR_ pages. The signature is
5638 hardcoded and is added on-the-fly. The signature may use
5639 %-escapes. Added interface to add more hard-coded responses if
5640 needed (see errorpage.c::error_hard_text).
5641 - Both default and configured directories are searched for ERR_
5642 pages now. Configured directory is, of course, searched first.
5643 This allows you to customize a subset of ERR_ pages (in a
5644 separate directory) without danger of getting other copies out
5645 of sync.
5646 - Security controls for the SNMP agent added. Besides
5647 communities (like password) and views (part of tree
5648 accessible), the snmp_acl config option can be used to do acl
5649 based access checks per community.
5650 - SNMP agent was heavily re-written, based on cmu-snmpV1.8. You
5651 can now walk through the whole mib tree. Several new variables
5652 added under cacheProtoAggregateStats
5653 - Added rudimental statistics for HTTP headers.
5654 - Adjusted StatLogHist to a more generic/flexible StatHist.
5655 Moved StatHist implementation into a separate file.
5656 - Added FTP support for PORT if PASV fails, also try the
5657 default FTP data port (Henrik Nordstrom).
5658 - Fixed NULL pointer bug in clientGetHeadersForIMS when a
5659 request is cancelled for fails on the client side.
5660 - Filled in some squid.conf comments (never_direct,
5661 always_direct).
5662 - Added RES_DNSRCH to dnsserver's _res.options when the
5663 -D command line option is given.
5664 - Fixed repeated Detected DEAD/REVIVED Sibling messages when
5665 peer->tcp_up == 0 (Michael O'Reilly).
5666 - Fixed storeGetNextFile's incorrect "directory does not exist"
5667 errors (Michael O'Reilly).
5668 - Fixed aiops.c race condition (Michael O'Reilly, Stewart
5669 Forster).
5670 - Added 'dns_nameservers' config option to specify non-default
5671 DNS nameserver addresses (Maxim Krasnyansky).
5672 - Added lib/util.c code to show memory map as a tree
5673 (Henrik Nordstrom).
5674 - Added HTTP and ICP median service times to Counters and
5675 cachemgr average stats.
5676 - Changed "-d" command line option to take debugging level
5677 as argument. Debugging equal-to or less-than the argument
5678 will be written to stderr.
5679 - Removed unused urlClean() function from url.c.
5680 - Fixed a bug that allowed '?' parts of urls to be recorded in
5681 store.log. Logged urls are now "clean".
5682 - Cache Manager got new Web interface (cachemgr.cgi). New .cgi
5683 script forwards basic authentication from browser to squid.
5684 Authentication info is encoded within all dynamically generated
5685 pages so you do not have to type your password often.
5686 Authentication records expire after 3 hours (default) since
5687 last use. Cachemgr.cgi now recognizes "action protection" types
5688 described below.
5689 - Added better recognition of available protection for actions
5690 in Cache Manager. Actions are classified as "public" (no
5691 password needed), "protected" (must specify a valid password),
5692 "disabled" (those with a "disable" password in squid.conf), and
5693 "hidden" (actions that require a password, but do not have
5694 corresponding cachemgr_passwd entry). If you manage to request
5695 a hidden, disabled, or unknown action, squid replies with
5696 "Invalid URL" message. If a password is needed, and you failed
5697 to provide one, squid replies with "Access Denied" message and
5698 asks you to authenticate yourself.
5699 - Added "basic" authentication scheme for the Cache Manager.
5700 When a password protected function is accessed, Squid sends an
5701 HTTP_UNAUTHORIZED reply allowing the client to authorize itself
5702 by specifying "name" and "password" for the specified action.
5703 The user name is currently used for logging purposes only. The
5704 password must be an appropriate "cachemgr_passwd" entry from
5705 squid.conf. The old interface (appending @password to the url)
5706 is still supported but discouraged. Note: it is not possible
5707 to pass authentication information between squid and browser
5708 *via a web server*. The server will strip all authentication
5709 headers coming from the browser. A similar problem exists for
5710 Proxy-Authentication scheme.
5711 - Added ERR_CACHE_MGR_ACCESS_DENIED page to notify of
5712 authentication failures when accessing Cache Manager.
5713 - Added "-v" (Verbose) and "-H" (extra Headers) options to client.c.
5714 - Added simple context-based debugging to debug.c. Currently,
5715 the context is defined as a constant string. Context reporting
5716 is triggered by debug() calls. Context debugging routines
5717 print minimal amount of information sufficient to describe
5718 current context. The interface will be enhanced in the future.
5719 - Replaced _http_reply with HttpReply. HttpReply is a
5720 stand-alone object that is responsible for parsing, swapping,
5721 and comm_writing of HTTP replies. Moved these functions from
5722 various modules into HttpReply module.
5723 - Added HttpStatusLine, HttpHeader, HttpBody.
5724 - All HTTP headers are now parsed and stored in a "compiled"
5725 form in the HttpHeader object. This allows for a great
5726 flexibility in header processing and builds basis for support
5727 of yet unsupported HTTP headers.
5728 - Added Packer, a memory/store redirector with a printf
5729 interface. Packer allows to comm_write() or swap() an object
5730 using a single routine.
5731 - Added MemBuf, a auto-growing memory buffer with printf
5732 capabilities. MemBuf replaces most of old local buffers for
5733 compiling text messages.
5734 - Added MemPool that maintains a pre-allocated pool of opaque
5735 objects. Used to eliminate memory thrashing when allocating
5736 small objects (e.g. field-names and field-value in http
5737 headers).
5738
5739 Changes to squid-1.2.beta15 (Feb 13, 1998):
5740
5741 NOTE: This version has changes which may cause all or part
5742 of your cache to be lost. However, you can problably
5743 save most of it by doing a slow restart. Specifically:
5744
5745 1. Kill the running squid-1.2.beta14 process; wait for it to
5746 fully exit.
5747 2. Remove all 'swap.state*' files, either in each cache_dir, or
5748 as defined in your squid.conf
5749 3. Start squid-1.2.beta15. The store will be rebuilt from the
5750 existing swap files, reading the directories and opening
5751 the files.
5752
5753 - Fixed some problems related to disk (and pipe) write error
5754 handling. file_close() doesn't always close the file
5755 immediately; i.e. when there are pending buffers to write.
5756 StoreEntry->lock_count could become zero while a write is
5757 pending, then bad things happen during the callback.
5758 - The file_write() callback data must now be in the callback
5759 database (cbdata). We now use the swapout_ctrl_t structure
5760 for the callback data; it stays around for as long as we are
5761 swapping out.
5762 - Changed the way write errors are handled by diskHandleWrite.
5763 If there is no callback function, now we exit with a fatal
5764 message under the assumption that the file in question is a
5765 log file or IPC pipe. Otherwise, we flush all the pending
5766 write buffers (so we don't see multiple repeated write errors
5767 from the same descriptor) and let the upper layer decide how
5768 to handle the failure.
5769 - Fixed storeDirWriteCleanLogs. A write failure was leaving
5770 some empty swap.state files, even though it tells us that its
5771 "not replacing the file." Don't flush/rename logs which we
5772 have prematurely closed due to write failures, indiciated by
5773 fd[dirn] == -1. Close these files LAST, not before
5774 renaming.
5775 - Fixed storeDirClean to clean directories in a more sensible
5776 order, instead of the new "MONOTONIC" order for swap files.
5777 - Merged fdstat.c functions into fd.c.
5778 - Cleaned up some debugging sections. Some unrelated source
5779 files were using the same section.
5780 - Removed curly brackets from all cachemgr output.
5781 - Removed unused filemap->last_file_number_allocated member.
5782 - Removed unused fde->lifetime_data member.
5783 - Fixed incorrectly applying htonl() on icp_common_t->shostid.
5784 - Call setsid() before exec() in ipc.c so that child processes
5785 don't receive SIGINT (etc) when running squid on a tty.
5786 - Changed StoreEntry->object_len to ->swap_file_sz so we
5787 can verify the disk file size at restart. Moved object_len
5788 to MemObject->object_sz. Note object_sz is initialized
5789 to -1. If object_sz < 0, then we need to open the swap
5790 file and read the swap metadata.
5791 - Changed store_client->mem to ->entry because we need
5792 e->swap_file_sz to set mem->object_sz at swapin.
5793 - Renamed storeSwapData structure to storeSwapLogData.
5794 - Fixed storeGetNextFile to not increment d->dirn. Added
5795 check for opendir() failure.
5796 - Fixed storeRebuildStart to properly link the directory
5797 list for storeRebuildfromDirectory mode.
5798 - Added -S command line option to double-check store
5799 consistency with disk files in storeCleanup().
5800 - Fixed a problem with transactional logging. In many
5801 cases we were adding the public cache key and then
5802 logging a delete for the private key. This is worthless
5803 because during rebuild we could not locate the previous
5804 public-keyed entry. Now we assert that only public-keyed
5805 entries can be logged to swap.state. storeSetPublicKey()
5806 and storeSetPrivateKey() have been modified to log an
5807 ADD or DEL when the key changes.
5808 - Fixed storeDirClean bug. Needed to call
5809 storeDirProperFileno() so the "dirn bits" get set.
5810 - Fixed a storeRebuildFromDirectory bug. fullpath[] and
5811 fullfilename[] were static to that function and did
5812 not change when the "rebuild_dir" arg did. Moved these
5813 buffers to the rebuild_dir structure.
5814 - In storeRebuildFromSwapLog, we were calling storeRelease()
5815 for cache key collisions. This only set the RELEASE_REQUEST
5816 bit and did not clear the swap_file_number in the filemap or
5817 in the StoreEntry, so the swap file could get unlinked later
5818 when it was really released.
5819 - Fixed FTP so that ';type=X' specifically sets the HTTP reply
5820 content-type and content-encoding (Henrik Nordstrom).
5821 - Removed 'icon_content_type' configuration option. Content
5822 types now taken from mime.conf (Henrik Nordstrom).
5823 - Added additional memory malloc tracing and memory leak
5824 detection. Use --enable-xmalloc-debug-trace configure
5825 option and -m command line option (Henrik Nordstrom).
5826
5827 Changes to squid-1.2.beta14 (Feb 6, 1998):
5828
5829 - Replaced snmplib free() calls with xfree().
5830 - Changed the 'net_db_name' hash table structure to
5831 make it easier to move names from one network to another
5832 (copied from 1.1 code).
5833 - Filled in some of the config dump routines (dump_acl,
5834 dump_acl_access).
5835 - Full memory debugging option (--enable-xmalloc-debug-trace)
5836 (Henrik Nordstrom).
5837 - Filled-in and clarified many squid.conf comments (Oskar
5838 Pearson).
5839 - Fixed up handling of SWAP_LOG_DEL swap.state entries.
5840
5841 Changes to squid-1.2.beta13 (Feb 4, 1998):
5842
5843 - NOTE: With this version the "swap.state" file format has
5844 changed. Running this version for the first time will
5845 cause your current cache contents to be lost!
5846 - NOTE: this version still has the bug where we don't rewind
5847 a swapout file and rewrite the swap meta data. Objects
5848 larger than 8KB will be lost when rebuilding from the swap
5849 files.
5850 - Combined various interprocess communication setup functions
5851 into ipcCreate().
5852 - Removed some leftover ICP_HIT_OBJ things.
5853 - Removed cacheinfo and proto_count() and friends; these are to
5854 be replaced in functionality by StatCounters and 5/60 minute
5855 average views via cachemgr.
5856 - Fixed --enable-acltree configure message (Masashi Fujita).
5857 - Fixed no reference to @LIB_MALLOC@ in src/Makefile.in
5858 (Masashi Fujita).
5859 - Fixed building outside of source tree (Masashi Fujita).
5860 - FTP: Format NLST listings, and inform the user that the NLST
5861 (plain) format is available when we find a LIST listing that we
5862 don't understand (Henrik Nordstrom)
5863 - FTP: Use SIZE on Binary transfers, and not ASCII. The
5864 condition was inversed, making squid use SIZE on ASCII
5865 transfers (Henrik Nordstrom).
5866 - Enable virtual and Host: based acceleration in order to be
5867 able to use Squid as a transparent proxy without breaking
5868 either virtual servers or clients not sending Host: header
5869 the order of the virtual and Host: based acceleration needs
5870 to be swapped, giving Host: a higher precendence than virtual
5871 host (Henrik Nordstrom).
5872 - Use memmove/bcopy as detected by configure Some systems does
5873 not have memmove, but have the older bcopy implementation
5874 (Henrik Nordstrom).
5875 - Completely rewritten aiops.c that creates and manages a pool
5876 of threads so thread creation overhead is eliminated (SLF).
5877 - Lots of mods to store.c to detect and cancel outstanding
5878 ASYNC ops. Code is not proven exhaustive and there are
5879 definately still cases to be found where outstanding disk ops
5880 aren't cancelled properly (SLF).
5881 - Changes to call interface to a few routines to support disk
5882 op `tagging', so operations can be cleanly cancelled on
5883 store_abort()s (SLF).
5884 - Implementation of swap.state files as transaction logs.
5885 Removed objects are now noted with a negative object size.
5886 This allows reliatively clean rebuilds from non-clean
5887 shutdowns (SLF).
5888 - Now that the swap.state files are transaction logs, there's
5889 now no need to validate by stat()ing. All the validation
5890 procedure does is now just set the valid bit AFTER all the
5891 swap.state files have been read, because by that time, only
5892 valid objects can be left. Object still need to be marked
5893 invalid when reading the swap.state file because there's no
5894 guarantee the file has been retaken or deleted (SLF).
5895 - An fstat() call is now added after every
5896 storeSwapInFileOpened() so object sizes can be checked. Added
5897 code to storeRelease() the object if the sizes don't match (SLF).
5898 - #defining USE_ASYNC_IO now uses the async unlink() rather than
5899 unlinkd() (SLF).
5900 - #defining MONOTONIC_STORE will support the creation of disk
5901 objects clustered into directories. This GREATLY improves disk
5902 performance (factor of 3) over old `write-over-old-object'
5903 method. If using the MONOTONIC_STORE, the
5904 {get/put}_unusedFileno stack stuff is disabled. This is
5905 actually a good thing and greatly reduces the risk of serving
5906 up bad objects (SLF).
5907 - Fixed unlink() in storeWriteCleanLogs to be real unlink()
5908 rather than ASYNC/unlinkd unlinks. swap.state.new files were
5909 being removed just after they were created due to delayed
5910 unlinks (SLF).
5911 - Disabled various assertions and made these into debug warning
5912 messages to make the code more stable until the bugs can be
5913 tracked down (SLF).
5914 - Added most of Michael O'Reilly's patches which included many
5915 bug fixes. Ask him for full details (SLF).
5916 - Moved aio_check_callbacks in comm_{poll|select}(). It was
5917 called after the fdset had been built which was wrong because
5918 the callbacks were changing the state of the read/write
5919 handlers prior to the poll/select() calls (SLF).
5920 - Fixed ARP ACL memory leaks (Dale).
5921 - Eliminated URL and SHA cache keys. Cache keys will always
5922 be MD5's now.
5923 - Fixed up store swap meta data.
5924 - Changed swap.state logs to a binary format.
5925 - The swap.state logs are written transaction-style.
5926
5927 Changes to squid-1.2.beta12 (Jan 30, 1998):
5928
5929 - Added metadata headers to cache swap files. This is an
5930 incompatible change with previous versions. Running this
5931 version for the first time will cause your current cache
5932 contents to be lost.
5933 - -D_REENTRANT when linking with -lpthreads (Henrik Nordstrom)
5934 - Show symlink destinations as a hyperlink in FTP listings
5935 (Henrik Nordstrom)
5936 - Fixed not allocating enough space for rewriting URLs with
5937 the Host: header (Eric Stern).
5938 - Year-2000 fixes (Arjan de Vet).
5939 - Fixed looping for cache hits on HEAD requests.
5940 - Fixed parseHttpRequest() coredump for
5941 "GET http://foo HTTP/1.0\r\n\r\n\r\n"
5942
5943 Changes to squid-1.2.beta11 (Jan 6, 1998):
5944
5945 - Fixed fake 'struct rusage' definition which prevented compling
5946 on Solaris 2.4.
5947 - Fixed copy-by-ref bug for request->headers in
5948 clientRedirectDone() (Michael O'Reilly).
5949 - Workaround for Solaris pthreads closing FD 0 upon fork()
5950 (Michael O'Reilly).
5951 - Fixed shutdown bug with outgoing UDP sockets; we need to
5952 disable their read handlers.
5953 - For comm_poll(), use the fast 50 msec timeout only when
5954 USE_ASYNC_IO is defined.
5955 - Fixed pointer bug when freeing AS# ACL entries.
5956 - Fixed forgetting to reset Config.npeers to zero in free_peer().
5957 - Fixed ICP bug causing excessive TIMEOUTs with sibling
5958 neighbors. We must call the ICP reply callback even for
5959 sibling misses.
5960 - Fixed some dnsserver-related reconfigure bugs. Need to
5961 use cbdataLock, etc in fqdncache.c. Also don't want to
5962 use ipcacheQueueDrain() and fqdncacheQueueDrain().
5963 - Fixed persistent connection bug. We were incorrectly
5964 deciding that non-200 replies without content-length
5965 would not have a reply body.
5966 - Fixed intAverage() precedence bug.
5967 - Fixed memmove() 'len' arg bug.
5968 - Changed algorithm for determining alive/dead state of peers.
5969 Instead of using a fixed number of unacknowledged ICP
5970 replies, it is now based on timeouts. If there are no ICP
5971 replies received from a peer within 'dead_peer_timeout'
5972 seconds, then we call it dead.
5973 - Added calls to getCurrentTime() in
5974 comm_{select,poll}_incoming() when ALARM_UPDATES_TIME is not
5975 being used.
5976 - Fixed shutdown bug when the incoming and outgoing ICP socket
5977 is the same file descriptor.
5978 - Added buffered writes for storeWriteCleanLogs() (Stewart
5979 Forster).
5980 - Patches for Qnx4 (Jean-Claude MICHOT).
5981 - Fixed returning void functions which seems to be a GCC-ism.
5982 - New configure script options (Henrik Nordstrom):
5983 --enable-new-storekey=[sha|md5(|url)] (was --enable-hashkey)
5984 --enable-acltree
5985 --enable-icmp
5986 --enable-delay-hack
5987 --enable-useragent-log
5988 --enable-kill-parent (this should be named -hack)
5989 --enable-snmp
5990 --enable-time-hack
5991 --enable-cachemgr-hostname[=hostname] (new)
5992 --enable-arp-acl (new)
5993 - Added Doug Lea malloc-2.6.4 to the distribution, so that
5994 people easily can try a decent malloc package if they syspect
5995 their malloc is broken. --enable-dlmalloc (Henrik Nordstrom).
5996 - Made XMALLOC_DEBUG_COUNT working again. Requires a small stub
5997 function (Henrik Nordstrom).
5998 - Removed top-level Makefile. People must now run 'configure'
5999 before 'make'.
6000 - Fixed checkFailureRatio() implementation.
6001 - Made 'squid -z' behave like the 1.1 version.
6002
6003
6004 Changes to squid-1.2.beta10 (Jan 1, 1998):
6005
6006 - Fixed content-length bugs for 204 replies, 304 replies,
6007 and HEAD requests (Henrik Nordstrom).
6008 - Fixed errorAppendEntry() bug in gopherReadReply().
6009 - Basic support for FTP URL typecodes (;type=X).
6010 - Support for access controls based on ethernet MAC addresses
6011 (Dale).
6012 - Initial URN support; see
6013 http://squid.nlanr.net/Squid/urn-support.html
6014 - Fixed client-side persistent connections for objects with
6015 bad content lengths (Henrik Nordstrom).
6016 - Fixed bad call to storeDirUpdateSwapSize() for objects which
6017 never reach SWAPOUT_DONE state.
6018 - Fixed up poll() #defines in squid.h (Stewart Forster).
6019 - Changed poll() timeout from 1000 msec to 50 msec for
6020 better performance under low load (Stewart Forster).
6021 - Changed storeWriteCleanLogs() to write objects in the LRU
6022 list order instead of the random hash table order.
6023 - Fixed FTP bug when data socket connections fail or timeout.
6024 - Reuse FTP data connection when possible (Henrik Nordstrom).
6025 - Added configure options (Henrik Nordstrom)
6026 --enable-store-key=sha|md5
6027 --enable-xmalloc-statistics
6028 --enable-xmalloc-debug
6029 --enable-xmalloc-debug-count
6030 --async-io
6031 - Fixed confusing with the use/meaning of ERR_CANNOT_FORWARD
6032 by creating ERR_FORWARDING_DENIED and changing the
6033 content of the ERR_CANNOT_FORWARD text.
6034 - Fixed pipeline request bug from using strdup() (Henrik
6035 Nordstrom).
6036 - Call clientReadRequest() directly instead of commSetSelect()
6037 for pipelined requests (Henrik Nordstrom).
6038 - Fixed 4k page leak in icpHandleIMSReply();
6039 - Renamed 'icp*' functions to 'client*' names in client_side.c.
6040
6041 Changes to squid-1.2.beta8 (Dec 2, 1997):
6042
6043 - Fixed accessLogLog() to log ident from Proxy-Authorization
6044 request header (BoB Miorelli).
6045 - Fixed #includes, prototypes, etc. in SNMP source files.
6046 - Moved 'POLLRDNORM' and 'POLLWRNORM' macro checks from
6047 include/config.h.in to src/squid.h
6048 - Moved 'num32' typedefs from src/typedefs.h to
6049 include/config.h.in.
6050 - Moved snmplib/md5.c to lib/md5.c.
6051 - Added MD5 cache key support.
6052 - Removed xmalloc() return check in uudeocde.c
6053 - Added 'ifdef' support to cf_gen.c for optional code (e.g. SNMP)
6054 - Changed 'client' program to provide easier cache manager access,
6055 e.g.: 'client mgr:info'
6056 - Fixed 'client' to send 'Connection' instead of 'Proxy-Connection'
6057 for simulated keep-alive requests.
6058 - Removed 'fd' arg from clientProcess* functions.
6059 - Fixed bugs from using errorSend() on persistent/pipelined
6060 client connections. A latter request should not be allowed to
6061 write to the client fd until the current request completes.
6062 Now use errorAppendEntry() for such situations.
6063 - Fixed content-length bugs. We were using content-length == 0
6064 to also indicate a lack of content-length reply header. But
6065 'content-length: 0' might appear in a reply, so now use -1 to
6066 indicate that no content length given.
6067 - Split up clientProcessRequest() into smaller chunks so it
6068 might be easier to follow.
6069 - renamed various client_side.c functions to start with 'client'
6070 instead of 'icp'.
6071 - Fixed a 'cbdata leak' from the comm.c close handlers.
6072 - Fixed a 'cbdata leak' from the comm.c connect routines.
6073 - Fixed comm_select() and comm_poll() to stop looping on the
6074 incoming HTTP/ICP sockets. If there are fewer than 7 FD's
6075 ready for I/O, the incoming sockets might not get service, so
6076 comm_select() would be called for up to 7 times until the
6077 'incoming_counter' was incremented enough to trigger a call
6078 to comm_select_incoming(). Now we make sure
6079 comm_select_incoming() gets called if select returns less
6080 than 7 ready FD's.
6081 - Added errorpage '%B' token to generate FTP URLs with a '%2f'
6082 inserted at the start of the url-path. calls ftpUrlWith2f().
6083 (Henrik Nordstrom).
6084 - Changed fqdncache.c to use LRU double-linked list instead of qsort()
6085 for replacement and cachemgr output.
6086 - Changed ipcache.c to use LRU double-linked list instead of qsort()
6087 - Changed hash_insert() and hash_join() to return void.
6088 for replacement and cachemgr output.
6089 - Moved StoreEntry->method member to MemObject->method.
6090 - Made StoreEntry->flags 16 bits.
6091 - Made StoreEntry->refcount 16 bits.
6092 - Changed URL-based public cache key to always include the request
6093 method.
6094
6095 Changes to squid-1.2.beta7 (Nov 24, 1997):
6096
6097 - Fixed poll() for Linux (David Luyer).
6098 - SHA optimizations (David Luyer).
6099 - Fixed errno clashes with macro on Linux (David Luyer).
6100 - Fixed storeDirCloseSwapLogs(); logs might not be open.
6101 - Fixed storeClientCopy2() bug. Detect when there is
6102 no more data to send for objects in STORE_OK state.
6103 - Fixed FTP truncation bug when ftpState->size == 0, e.g.
6104 especially directory listings.
6105 - Mega FTP fix from Henrik Nordstrom. A better job of
6106 implementing the '%2f' hack.
6107 - Fixed some pipelined request bugs. storeClientCopy() was
6108 being given the wrong StoreEntry, and we had a race condition
6109 which is now handled by storeClientCopyPending().
6110 - Added initial SNMP support.
6111
6112 Changes to squid-1.2.beta6 (Nov 13, 1997):
6113
6114 - Fixed Authorized responses getting swapped out when they
6115 don't have Proxy-Revalidate reply header.
6116 - Fixed Proxy Authentication support. We never sent back
6117 a 407 reply, and were incorrectly incrementing the passwd
6118 before comparing it.
6119 - Fixed stat()ing pathnames for default values before parsing
6120 config file (Ron Gomes).
6121 - Fixed logging request and response headers on separate lines
6122 (Ron Gomes).
6123 - Fixed FTP Authentication message (Henrik Nordstrom).
6124 - Changed Proxy Authentication to trigger a reread of the passwd
6125 file if a password check fails (Henrik Nordstrom).
6126 - Changed FTP to retry the first CWD with a leading slash if it
6127 fails without one.
6128
6129 Changes to squid-1.2.beta5 (Nov 6, 1997):
6130
6131 - Track the 'keep-alive ratio' for a peer as the ratio of
6132 the number of replies including 'Proxy-Connection: Keep-Alive'
6133 compared to the number of requests sent. If the peer does
6134 not support Persistent connections then this ratio will tend
6135 toward zero. If the ratio is less than 50% after 10 requests
6136 then we'll stop sending Keep-Alive.
6137 - Proper support for %nn escapes in FTP, and numerous
6138 other fixes (Henrik Nordstrom).
6139 - Support for Secure Hash Algorithm and framework for other
6140 hash functions as cache keys.
6141 - Fixed SSL snprintf() bug which broke SSL proxying.
6142 - Fixed store_dir swap log bug from reconfigure (SIGHUP).
6143 - Fixed LRU Reference Age bug. The arg to pow() must be
6144 minutes, not seconds.
6145
6146 Changes to squid-1.2.beta4 (Oct 30, 1997):
6147
6148 - Fixed DST bug in rfc1123.c
6149 - Changed default http_accel_port to 80.
6150 - added errorCon() as a ErrorState constructor function
6151 (Max Okumoto).
6152 - Added ERR_FTP_FAILURE message for ftpFail().
6153 - For FTP, the timeout callback must be moved to the 'data'
6154 descriptor when data transfer begins. Otherwise we are
6155 likely to get a timeout on the control descriptor.
6156 - Fixed double-free bug in httpRequestFree().
6157 - Fixed store_swap_size counting bug in storeSwapOutHandle().
6158
6159 Changes to squid-1.2.beta3 (Oct 29, 1997):
6160
6161 - Initialize _res.options to RES_DEFAULT in dnsserver.c.
6162 - Fix assertions which assumed 4-byte pointers.
6163 - Fix missing % in fqdncache.c snprintf().
6164
6165 Changes to squid-1.2.beta2 (Oct 28, 1997):
6166
6167 - Fixed aiops.c and async_io.c so that they actually compile
6168 with USE_ASYNC_IO (Arjan de Vet).
6169 - Fixed errState->errno causing problems with some macros
6170 (Michael O'Reilly).
6171 - Fixed memory leaks in pconn.c (Max Okumoto).
6172 - Enhanced 'client' program with 'ping' behaviour (Ron Gomes).
6173 - Fixed InvokeHandlers() from calling memCopy() for ALL
6174 store_client's with callbacks. A store_client might be reading
6175 from disk.
6176 - Rewrote storeMaintainSwapSpace(). No longer will we scan one
6177 bucket at a time. Instead we'll maintain a single LRU
6178 list. When an object is 'touched' we move it to the
6179 top of this list. When we need disk space, we delete
6180 from the bottom.
6181 - Removed storeGetSwapSpace().
6182
6183 Changes to squid-1.2.beta1 ():
6184
6185 - Reworked storage manager to not keep objects in memory during
6186 transit. In other words, no separate NOVM distribution.
6187 - Lots of cleanup and debugging for beta release.
6188 - Use snprintf() everywhere instead of sprintf().
6189 - The 'in_memory' hash table has been replaced with a
6190 doubly-linked list. New objects are added to the head of
6191 the list. When memory space is needed, old objects are
6192 purged from the tail of the list.
6193
6194 Changes to squid-1.2.alpha7 ():
6195
6196 - fixes fixes fixes.
6197 - Made Arjan's PROXY_AUTH ACL patch standard.
6198
6199 Changes to squid-1.2.alpha6 ():
6200
6201 - Simpler cacheobj implementation.
6202 - persistent connection histogram
6203 - SERVER-SIDE PERSISTENT CONNECTIONS:
6204 - Added pconn.c
6205 - Addec Cofig.Timeout.pconn; default 120 seconds
6206 - Added httpState->flags
6207 - Added flags arg to httpBuildRequestHeader()
6208 - Added HTTP_PROXYING and HTTP_KEEPALIVE flags
6209 - Added 'Connection' to allowed HTTP headers (http-anon.c)
6210 - Added 'Proxy-Connection' to allowed HTTP headers
6211 (http-anon.c)
6212 - Merged proxyhttpStart() with httpStart() and created
6213 new httpBuildState().
6214 - New httpPconnTransferDone() detects end-of-data on
6215 persistent connections.
6216
6217 Changes to squid-1.2.alpha5 ():
6218
6219 - New configuration system. Everything is generated from
6220 'cf.data.pre', including the main parser, setting defaults,
6221 outputting current values, and freeing memory.
6222 This also involved moving some of the local data structures
6223 (e.g. struct _acl *AclList in acl.c) to the Config
6224 structure. (Max Okumoto)
6225 - No more '/i' for regular expressions. Now insert a '-i'
6226 to switch to case-insensitive. Use '+i' for case-sensitive.
6227 - When you have a variable named the same as its type, sizeof()
6228 gets the wrong one (fde).
6229 - Need to flush unbuffered logs before fork().
6230 - Added two fields swap log: refcount and e->flag.
6231 - Removed all the .h files for each .c file. Now #include stuff
6232 is in either: defines.h, enums.h, typedefs.h, structs.h,
6233 or protos.h, globals.h. This greatly reduces dependencies
6234 between the various source files.
6235 - globals.c is generated from globals.h by a Perl script.
6236 - Started customizable error texts.
6237
6238 Changes to squid-1.2.alpha4 ():
6239
6240 - New MIME configuration, regular expression based
6241 - Added request_timeout config option
6242 - Multiple HTTP sockets (Lincoln Dale).
6243 - Moved 'fds_are_n_free' check to httpAccept().
6244 - s/USE_POLL/HAVE_POLL/; make poll() default if available.
6245 - Changed storeRegister to use offsets and make immediate
6246 callbacks if appropriate.
6247 - Removed icpDetectClientClose(). Some of that functionality
6248 goes into clientReadRequest() and the rest into
6249 httpRequestFree().
6250 - Moved IP lookups to commConnect stuff.
6251 - Added support for retrying connect().
6252 - New inline debug() macro (David Luyer).
6253 - Replace frequent gettimeofday() calls with alarm(3) based
6254 clock. Need to add more gettimeofday() calls to get back
6255 high-resolution timestamp logging (Andres Kroonmaa).
6256 - Added support for Cache-control: proxy-revalidate;
6257 based on squid-1.1 patch from Mike Mitchell.
6258
6259 Changes to squid-1.2.alpha3 ():
6260
6261 - Implemented persistent connections between clients and squid.
6262 - Moved various FD tables (comm.c, fdstat.c, disk.c) to a single
6263 table in fd.c.
6264 - Removed use of FD as an identifier in certain callback
6265 operations (ipcache, fqdncache).
6266 - General code cleanup.
6267 - Fixed typedefs for callback functions.
6268 - Removed FD lifetime/timeout dichotomy. Now we only have
6269 timeouts, however the lifetime concept/keyword may still
6270 linger in certain places.
6271 - Change Makefile 'realclean' target to 'distclean'
6272 - Changed config file parsing of time specifications to use
6273 parseTimeLine().
6274 - Removed storetoString.c
6275
6276 Changes to squid-1.2.alpha2 ():
6277
6278 - Merged squid-1.1.9, squid-1.1.10 changes
6279
6280 Changes to squid-1.2.alpha1 ():
6281
6282 - Unified peer selection algorithm.
6283 - aiops.c and aiops.h are a threaded implementation of
6284 asynchronous file operations (Stewart Forster).
6285 - async_io.c and async_io.h are complete rewrites of the old
6286 versions (Stewart Forster).
6287 - Rewrote all disk file operations of squid to support
6288 the idea of callbacks except where not required (Stewart
6289 Forster).
6290 - Background validation of 'tainted' swap log entries (Stewart
6291 Forster).
6292 - Modified storeWriteCleanLog to create the log file using the
6293 open/write rather than fopen/printf (Stewart Forster).
6294 - Added the EINTR error response to handle badly interrupted
6295 system calls (Stewart Forster).
6296 - UDP_HIT_OBJ not supported, removed.
6297 - Different sized 'cache_dirs' supported.
6298
6299 ==============================================================================