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