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