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