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