]> git.ipfire.org Git - thirdparty/squid.git/blame - ChangeLog
bad assertion
[thirdparty/squid.git] / ChangeLog
CommitLineData
cf7f704c 1 - Added Turkish error pages by Tural KAPTAN.
66bbb757 2 - Added basic support for Range requests. For most cachable
3 requests, Squid replies with an "Accept-Ranges" header. Upon
4 receiving a potentially cachable Range request for a not
5 cached object, Squid requests the whole object from origin
6 server and then replies with specified range(s) to the
7 client. Multi-range requests are supported. Adjacent
8 overlapping ranges are merged. If-Range requests are
9 supported. Limitations: Multi-range requests with out of
10 order ranges are not supported.
11 - Made md5.c use standard memcpy and memset if they are
12 avaliable.
13 - Memory pools will now shrink if Squid is run-time
14 reconfigured with smaller value of memory_pools_limit tag.
15 - Added counter for number of clients (Tomi Hakala).
16 - Changed neighbor UP/DOWN algorithm to require 10 failed TCP
17 connections for UP->DOWN transition.
18 - Added 'unique_hostname' configuration option when its
19 necessary to have multiple machines with the same visible
20 hostname.
222917b2 21 - Fixed pumpReadFromClient() to not read too many bytes on
22 persistent connections.
53856ebd 23 - We can now cache HTTP replies with Set-Cookie. These evil
24 headers are now filtered out for cache hits on the client
25 side.
222917b2 26 - Fixed SNMP bugs caused by using snmpwalk.
9089cc70 27 - Fixed snmpwalk crash. snmpwalks do not crash squid anymore.
28 - Fixed snmp system Group; all objects are now returned.
29 - Fixed snmp system Group sysDescr and sysContact.
7fce9c3e 30 - Allocate FwdState from mem pools.
31 - Minor HTCP progress.
222917b2 32 - Moved 'miss_access' ACL check from client_side.c to forward.c
ed169eab 33 - Fixed logging of usernames for requests which require
34 proxy-authentication.
cf7f704c 35 - Fixed HTTP request parser to accept lowercase HTTP identifier
36 (Oskar Pearson).
37 - Fixed FTP listings to always include links to the parent
38 directory (Henrik Nordstrom).
39 - Fixed FTP to show an "empty" listing instead of showing
40 a "document contains no data" error (Henrik Nordstrom).
41 - Fixed refreshCheck() bug. Often it was checking the
42 refresh patterns against the string "[null_mem_obj]"
43 because we moved URLs to MemObject.
44 - Added CARP support by Eric Stern.
48382032 45 - Fixed select-spin bug when an ICP reply actually gets queued
46 and we failed to execute the write callback.
354b5fe1 47 - Fixed a storeCheckSwapOut bug. We were freeing up to
48 the queued offset instead of the done offset. This
49 resulted in a small chunk of object data not being in
50 memory and not yet written to disk. A client could
51 recieve a partial object because file_read() unexpectedly
52 returns EOF.
0aa791f8 53 - Fixed proxy-authentication hangs (Henrik Nordstrom).
c2354a6b 54 - Fixed request_t->flags bug causing authenticated, proxied
55 responses to be cached (Arjan de Vet).
e8d8856c 56 - Fixed cachemgr 'objects' implementation.
d192d11f 57
ee3a78d4 58Changes to squid-1.2.beta22 (June 1, 1998):
59
2246b732 60 - do not cut off "; parameter" from "digitized" Content-Type
61 http fields
62 - Added X-Request-URI for persistent connection debugging
63 (Henrik Nordstrom)
f4d83f6d 64 - Added Polish error pages from Maciej Kozinski.
145f10f1 65 - Fixed hash_first/hash_next bugs with **Current pointer.
66 Replaced with *next pointer.
f4d83f6d 67 - Fixed PUT/POST bugs in client (Henrik Nordstrom).
68 - Deny forwarding loops in httpd accel mode (Henrik Nordstrom).
69 - Fixed eventRun "spin" bug when event delta time == 0.
a9cc1935 70 - Fixed setting Last Modified time on cached entries when
71 receiving a 304 reply.
06e87923 72 - Added while loop in httpAccept().
73 - Added while loop in icpHandleUdp().
74 - Fixed some small memory leaks.
75 - Fixed single-bit-int flag checks (Henrik Nordstrom).
137ee196 76 - Replaced "complex" (offset accounting) calls to snprintf with MemBuf
77 - Do not send only-if-cached cc directive with requests
78 for peer's digests.
ee3a78d4 79 - Added "automatic tuning" for incoming request rate, i.e.
80 how often to check HTTP and ICP sockets. See comm.c
81 comments for details.
145f10f1 82
6ee40ea2 83Changes to squid-1.2.beta21 (May 22, 1998):
84
434b408f 85 - Added Italian error pages by Alessio Bragadini.
a3f9588e 86 - Added Estonian error pages by Toomas Soome.
06066bbc 87 - Added Russian (koi-r) error pages by Andrew L. Davydov.
7b381d33 88 - Added Czech error pages by Jakub Nantl.
8e866bb4 89 - Fixed asnAclInitialize calling to prevent coredump.
90 - Fixed FTP directory parsing again.
91 - Made FTP directory listing "Generated" tagline like
92 the one for error pages.
52f977aa 93 - Fixed an assertion coredump in statHistCopy from
94 reconfiguring with different #peers in squid.conf
10202788 95 - Ignore leading whitespace on requests (and replies). RFC
96 2068 section 4.1, robustness (Henrik Nordstrom)
97 - Fixed keep_alive bug. We did not always honour reply
98 headers, but rather assumed connections could be persistent.
99 - Fixed reading whois output for AS numbers, especially when
100 they are longer than 4 KB.
101 - Removed 'cache_stoplist_pattern' configuration option. This
102 feature is now handled by 'no_cache'.
103 - If a URN resolves to only one URL, just return it immediately
104 instead of giving the user a "choice" (Andy Powell).
105 - Fixed year-2000 bug in lib/iso3307.c (Henrik Nordstrom).
106 - Changed squid-internal object names.
107 - Added netdb exchange protocol.
108 - Fixed wordlistDestroy() uninitialized pointer bug in
109 ftpParseControlReply.
06066bbc 110 - Fixed redirector subprocess to show real program name.
111 - Changed URN menu output to be sorted.
112 - Added fast select(2) timeouts when using ASYNC_IO.
113 - Added ARP ACL support for Linux (David Luyer).
2246b732 114 - Added binary http headers to requests
99edd1c3 115 - request_t objects are now created and destroyed in a consistent way
116 - Fixed cache control printf bug
117 - Added a lot of new http header ids
118 - Improved Connection: header handling; now both Connection and
2246b732 119 Proxy-Connection headers are checked for connection directives
99edd1c3 120 - Connection request header is now handled correctly regardless
121 of its position and the number of entries
2246b732 122 - Only replies with valid Content-Length can be sent with keep-alive
123 connection directive (Henrik Nordstrom)
124 - Better handling of persistent connection "clues" in HTTP headers;
125 the decision now depends on HTTP version (and User-Agent exceptions)
99edd1c3 126 - Removed handling of "length=" directive in IMS headers;
127 the directive is not in the HTTP/1.1 standard;
128 standing by for objections
129 - allowed/denied headers are now checked using bit masks instead of
130 strcmp loops
131 - removed Uri: from allowed headers; Uri is deprecated in RFC 2068
2246b732 132 - removed processing of Request-Range header (not in specs?)
7b381d33 133 - Fixed byte-order bugs in cacheDigestHashKey.
134 - Changed hash_remove_link() to return void.
135 - Changed ipcache_gethostbyname() to return NULL if
136 i->addrs.count == 0.
6de5fa88 137 - Added millisecond-timing to select/poll loops and event
138 queue.
139 - Changed 'peerPingTimeout' value to be twice the average
140 of all the peer ICP RTT's.
141 - Added 'half_closed_clients' option to force closing of
142 client connections which might only be half-closed.
143 - Fixed matchDomainName coredump bug.
144 - Don't cache HTTP replies with Vary: headers until we
145 get content negotiation working.
146 - Fixed SSL proxying to forward full HTTP request headers.
c09459dd 147 - Changed storeGetMemSpace(). Only purge down to the HIGH
148 water mark; move locked entries to the head of the inmem
149 list.
150 - Changed clientReadRequest() to locally handle any
151 "squid-internal-static" URL for any host.
52f977aa 152 - Disable persistent connections for client connections
153 from broken Netscape User-Agent, version 3.* (Stewart Forster)
434b408f 154
901b8eaf 155Changes to squid-1.2.beta20 (April 24, 1998):
156
fd1bc012 157 - Improved support for only-if-cached cache control directive.
158 - Enabled 304 replies for ENTRY_SPECIAL objects (e.g., icons).
a1a62b14 159 - Fixed 'quick_abort' percent calculation bug.
160 - Fixed quick_abort FPE bug.
161 - Changed more errno-checking functions to use ignoreErrno().
162 - Added ERESTART to ignoreErrno() because of report from
163 a Solaris system.
164 - Fixed '#elsif' typo.
165 - Fixed MemPool assertion by moving memInit() to before
166 configuration parsing functions.
167 - Fixed default 'announce_period' value (was 1 day, should
168 be 0) (Joe Ramey).
169 - Added configure warning for low filedescriptors and pointer
170 to FAQ.
b0497a40 171 - Fixed httpBodySet() bug causing URN related coredumps.
172 - Changed ipcacheCycleAddr() to always cycle through all all
173 available addresses, and not just advance when one of
174 them goes BAD.
175 - Fixed squid-internal bug for mixed-case hostnames (Henrik
176 Nordstrom).
4e41d49f 177 - Fixed ICP counting probelm. icpUdpSend() arg should be
178 LOG_ICP_QUERY instead of LOG_TAG_NONE.
e4b71f74 179 - Added some additional fault toleranse on FTP data channels
180 (Henrik Nordstrom).
181 - Corrected error reporting on FTP "hacks" (Henrik Nordstrom).
182 - Added lock/unlock for StoreEntry during storeAbort().
183 - Added filemap bit usage stats to cachemgr 'storedir' and
184 'info'.
185 - Replaced 'cache_stoplist' with 'no_cache' Access list.
186 - Fixed (hopefully) remaining swapfile-open-at-exit bugs.
44745828 187 - Fixed default hierarchy_stoplist to be ``default if none.''
188 - Fixed 'fake a recent reply' hack for detecting DEAD
189 and ALIVE neighbors (Joe Ramey).
e376562a 190 - Fixed FTP directory parsing bugs (Joe Ramey).
191 - Fixed ftpTraverseDirectory coredump for NULL ftpState->filepath
192 (Joe Ramey).
dea17509 193 - Fixed daylight savings time bug (again).
fd1bc012 194 - A lot of Cache Digests additions, fixes, and tuning.
195 Cache Digests are still "very experimental".
e376562a 196 - Fixed snprintf() bug. When len == 1, snprintf() would treat
197 the buffer as unknown size, emulating sprintf() behaviour.
198 - Made Error page language configurable with configure script
199 (Henrik Nordstrom).
200 - Fixed squid-internal URLs when http_port == 80.
201 - Remember the client address on redirected requests (Henrik
202 Nordstrom).
203 - Don't rebuild the request if the redirector returned the same
204 URL (Henrik Nordstrom).
205 - Rewrite Host: header on redirected requests (Henrik
206 Nordstrom).
207 - Include port (if non-standard) in generated Host: headers
208 (Henrik Nordstrom).
209 - Fixed rfc1123 timezone hacks for Windows NT
210 (Henrik Nordstrom).
211 - Added Russian Error pages by Ilia Zadorozhko.
212 - Added totals for ICP and HTTP hits to cachemgr client_list
213 output.
6cfa8966 214 - Changed error message to 'Generated TIME by HOST (SQUID/VER)'
215 because any string with an '@' must be an email address.
e376562a 216 - Fixed POST for content-length == 0.
901b8eaf 217 - Fixed "huge 304 reply" loop bug.
5e9ab945 218 - Fixed --enable-splaytree compile bugs.
c93fbf13 219 - Removed ASN lookup code in peer_select.c.
fd1bc012 220
005e5260 221Changes to squid-1.2.beta19 (Apr 8, 1998):
222
b0497a40 223 - Squid-1.2.beta19 compiles and runs on Windows/NT with
224 Cygnus Gnu-WIN32 b19 (Henrik Nordstrom).
447203a7 225 - Added French Error pages by Frank DENIS.
226 - Added Dutch Error pages by Mark Visser
901b8eaf 227 - Added German Error pages by Bernd P. Ziller, Jens Frank,
228 and Anke S.
f9f2be04 229 - Added support for only-if-cached cache-control directive.
005e5260 230 - Added RELAXED_HTTP_PARSER #define to allow requests which are
231 missing the HTTP identifier on the request line (e.g. buggy
232 SpyGame queries). RELAXED_HTTP_PARSER is undefined by default.
1f4d31f9 233 - Fixed disk.c FD leak for delayed closes in
234 diskHandleWriteComplete().
235 - Fixed cache announcement feature.
20fe7191 236 - Fixed httpReadReply() to retry failed HTTP requests on
237 persistent connections when read() returns -1, not only
238 when it returns 0.
805e5f70 239 - Fixed cbdata memory counting leak. cbdataUnlock() always
240 called free(), never memFree().
ff396fe6 241 - Fixed storeDirWriteCleanLogs() malloc bug on Alphas.
005e5260 242 - Fixed `++loopdetect < 10' assertion due to
243 clientHandleIMSReply bug for invalid/partial HTTP
244 replies.
245 - Added preliminary code for HTCP.
246 - Renamed 'aux' dir to 'cfgaux' for legacy DOS machines.
247 - Added "snmp_community" as an ACL type.
248 - Cleaned up proxy-auth acl implementation and removed
249 memory leaks.
250 - Added generic 'hashFreeItems()' function for efficiently
251 freeing hash table pointers.
252 - Added whoisTimeout() for ASN code.
447203a7 253 - Removed BINARY TREE code.
005e5260 254 - Fixed forgetting to reset Config.Swap.maxSize in
255 configDoConfigure.
256 - Fixed httpReplyUpdateOnNotModified() arguments-in-wrong-order
257 bug which caused not modified replies to not get updated.
258 - Fixed client_side.c bugs which could cause data to be written
259 to the client in the wrong order for persistent connections.
260 clientPurgeRequest() and clientHandleIMSComplete() must not
261 call comm_write(). Instead they must create and write to
262 StoreEntry's.
263 - Fixed ICP query service time counting bug(s).
264 - replaced 'char *mime_headers_end()' with 'size_t headersEnd()'
265 to fix buffer overruns. This also requires adding 'buf_sz'
266 args to some functions like clientBuildReplyHeader().
267 But we can eliminate the need to NULL-terminate the
268 buffer beforehand.
269 - Changed commConnectCallback() to reset the FD timeout to
270 zero before notifying about the connection. This requires
271 commSetTimeout() calls in numerous places to reinstall
272 timeouts.
273 - Changed comm_poll_incoming() to be called less frequently
274 (every 15 I/O's instead of every 7 FD's) (Michael O'Reilly).
275 - Removed HAVE_SYSLOG case for debug() macro. Almost all
276 systems do have syslog(), but more importatnly the
277 _db_level value is needed for debugging to stderr.
278 - Rewrote squid/dnsserver interface to use smaller, single-line
279 messages.
280 - Rewrote 'dns' cachemgr output to use a table format.
281 - Rewrote a lot of dnsserver.c.
282 - Added eventAddIsh() for semi-random event scheduling.
283 - Fixed an ftpTimeout bug for sessions which use PORT
284 commands.
285 - Fixed ftp.c to recognized invalid PASV replies (e.g.
286 port == 0).
287 - Removed hash_insert(). All hasing uses hash_join() now.
288 - Renamed hash_unlink() to hash_remove_link().
289 - Added hashPrime() to find closes prime hash table size
290 to a given value.
291 - Fixed Keep-Alive ratio counting bug which prevented
292 persistent connections from being used between cache
293 peers.
294 - Changed icmp.c to NOT queue messages sent from squid to
295 the pinger program.
296 - Changed icp_v2.c to NOT queue ICP messages by default.
297 But they will be queued and resent once if the first
298 send fails. Counters.icp.queued_replies counts the
299 number of messaages queued.
300 - Cleaned up ICP logging.
301 - Added identTimeout().
302 - Fixed ipcache reply counting bug. Overcounted dnsserver
303 replies for partial replies.
304 - Added urlInternal() for building internal Squid URLs.
305 - Changed peerAllowedToUse() to check both 'cache_peer_domain'
306 AND 'cache_peer_acl' configurations. This should be changed
307 in the fugure to use ONLY cache_peer_acl.
308 - Changed DEAD/REVIVED neighbor detection to avoid reporting
309 so many false deaths. (Joe Ramey).
310 - Added some preliminary code to support "cache digests."
311 - Fixed pumpClose() coredumps (?).
312 - Updated cachemgr 'info' output to show median service
313 times for various categories.
314 - Fixed ABW bug in storeDirWriteCleanLogs(). sizeof(off_t)
315 != sizeof(int) for Alphas.
316 - Fixed potential alignment problem in storeDirWriteCleanLogs().
317 - Fixed store_rebuild.c to NOT replace current, but
318 not-swapped-out StoreEntry's with on-disk entries.
319 - Changed storeCleanup() to call storeRelease on invalid
320 entries which don't have a swapfile (i.e. no unlink()
321 penalty).
322 - Fixed storeSwapInStart() to fail for unvalidated
323 entries.
324 - SNMP changes:
325 . renovated mib and added descriptions and comments
326 . added hit and byte counters to client_db , for
327 cacheClientTable
328 . cacheClientTable, netdbTable, cachePeerTable,
329 cacheConnTable now indexed by ip address. hash_lookup was
330 enhanced to allow for subsequent hash_next's similar to
331 hash_first, to speed up getnext's in tables which refer to
332 hash-table structures.
333 . added generic (well, sorf of) table indexing functionality
334 . added makefile dependencies for snmplib and cache_snmp.h
335 . WaisHost, WaisPort, Timeouts removed
336 . FdTable split into FdTable and ConnTable. FdTable simplified
337 . PeerTable and PeerStat merged and put into new cacheMesh
338 group
339 . cacheClientTable added for client statistics and accounting
340 (cacheMesh 2)
341 . cacheSec and cacheAccounting groups removed
342 . fixed acl bug when communities not defined
343 . snmp_acl now survives bad configuration
81d0c856 344
9a713ffb 345Changes to squid-1.2.beta18 (Mar 23, 1998):
346
275d9f2e 347 - Added v1.1 'test_reachability' option.
348 - Fixed hash4() len == 0 bug.
2c26197b 349 - Fixed Config.Swap.maxSize reconfigure bug.
350 - Fixed ICP query bug determining request method.
351 - Moved ICP's storeGet() cache lookup into neighborsUdpAck()
352 so that we know neighbors are alive even when they send
353 us replies for unknown entries.
354 - Changed configure script to add '-std1' for Digital Unix cc.
355 - Fixed SNMP sizeof(int) / sizeof(long) bugs for 64-bit
356 systems.
357 - Added support for 'Cache-Control: Only-If-Cached' request header.
34ad1721 358 - Fixed CheckQuickAbort() bugs for multiple clients on one
359 StoreEntry. Also changed storePendingNClients() to return
360 mem->nclients instead of counting the number of store_client
361 entries with pending callback functions.
275d9f2e 362
041b157e 363Changes to squid-1.2.beta17 (Mar 17, 1998):
364
df43fc93 365 - SNMP MIB version check changed to non-rcs.
02922e76 366 - Added memory pools for variable size objects (strings).
367 There are three pools; for small, medium, and large objects.
368 - Extended String object to use memory pools. Most fixed size char
369 array fields will be replaced using string pools. Same for most
370 malloc()-ed buffers.
5e14bf6d 371 - Changed icon handling to use the hostname and port of the squid
9ed90c85 372 server, instead of the special hostname "internal.squid"
373 (Henrik Nordstrom).
5e14bf6d 374 - All icons are now configured in mime.conf. No hardcoded icons,
f8360ee3 375 including gohper icons (Henrik Nordstrom).
459f2559 376 - Fixed ICP bug when we send queries, but expect zero
377 replies.
ed9c0b33 378 - Fixed alignment/casting bugs for ICP messages.
2b5b6324 379 - A generic client-to-server "pump" was added to handle HTTP
380 PUT as well as POST methods on the client-cache side. Based on
381 "pump" PUT requests can be made to either HTTP or FTP url's.
382 Code is still beta and interoperability with browsers etc has
383 not been tested.
384 - Put #ifdefs around 'source_ping' code.
5e14bf6d 385 - Added missing typedef for _arp_ip_data (Wesha).
386 - Added regular-expression-based ACLs for client and server
387 domain names (Henrik Nordstrom).
388 - Fixed ident-related coredumps from incorrect callback data.
389 - Fixed parse_rfc1123() "space" bug.
390 - Fixed xrealloc() XMALLOC_DEBUG bug (not calling check_free())..
391 - Fixed some src/asn.c end-of-reply bugs and memory leaks.
392 - Fixed some peer->options flag-setting bugs.
393 - Fixed single-parent feature to work again
394 - Removed 'single_parent_bypass' configuration option; instead
395 just use 'no-query'.
396 - Surrounded 'source_ping' code with #ifdefs.
397 - Changed 'deny_info URL' to use a custom Error page.
398 - Modified src/client.c for testing POST requests.
041b157e 399 - Fixed hash4() for SCO (Vlado Potisk).
459f2559 400
7ba777f2 401Changes to squid-1.2.beta16 (Mar 4, 1998):
402
447203a7 403 - Added Spanish error messages from Javier Puche.
02922e76 404 - Added Portuguese error messages from Pedro Lineu Orso
0965bd19 405 - Added a simple but very effective hack to cachemgr.cgi that tries to
406 interpret lines with '\t' as table records and formats them
407 accordingly. With a few exceptions (see source code), first line
408 becomes a table heading ("<th>" html tag) and the rest is formated
409 with "<td>" tags.
7021844c 410 - Added "mem_pools_limit" configuration option. Semantics of
411 "mem_pools" option has also changed a bit to reflect new memory
412 management policy.
7ba777f2 413 - Reorganized memory pools. Squid now supports a global pool
414 limit instead of individual pool limits. Per-pool limits can be
3a88d597 415 implemented on top of the current scheme if needed, but it is
7ba777f2 416 probably hard to guess their values. Squid distributes pool
417 memory among "frequently allocated" objects. There is a
418 configurable limit on the total amount of "idle" memory to be
419 kept in reserve. All requests that exceed that amount are
420 satisfied using malloc library. Support for variable size
421 objects (mostly strings) will be enabled soon.
422 - memAllocate() has now only one parameter. Objects are always
423 reset with 0s. (We actually never used that parameter before;
424 it was always set to "clear").
425 - Added Squid "signature" to all ERR_ pages. The signature is
426 hardcoded and is added on-the-fly. The signature may use
427 %-escapes. Added interface to add more hard-coded responses if
428 needed (see errorpage.c::error_hard_text).
429 - Both default and configured directories are searched for ERR_
430 pages now. Configured directory is, of course, searched first.
431 This allows you to customize a subset of ERR_ pages (in a
432 separate directory) without danger of getting other copies out
433 of sync.
434 - Security controls for the SNMP agent added. Besides
435 communities (like password) and views (part of tree
436 accessible), the snmp_acl config option can be used to do acl
437 based access checks per community.
438 - SNMP agent was heavily re-written, based on cmu-snmpV1.8. You
439 can now walk through the whole mib tree. Several new variables
440 added under cacheProtoAggregateStats
12cf1be2 441 - Added rudimental statistics for HTTP headers.
7ba777f2 442 - Adjusted StatLogHist to a more generic/flexible StatHist.
12cf1be2 443 Moved StatHist implementation into a separate file.
178dbda2 444 - Added FTP support for PORT if PASV fails, also try the
445 default FTP data port (Henrik Nordstrom).
446 - Fixed NULL pointer bug in clientGetHeadersForIMS when a
447 request is cancelled for fails on the client side.
448 - Filled in some squid.conf comments (never_direct,
449 always_direct).
450 - Added RES_DNSRCH to dnsserver's _res.options when the
451 -D command line option is given.
452 - Fixed repeated Detected DEAD/REVIVED Sibling messages when
453 peer->tcp_up == 0 (Michael O'Reilly).
454 - Fixed storeGetNextFile's incorrect "directory does not exist"
455 errors (Michael O'Reilly).
456 - Fixed aiops.c race condition (Michael O'Reilly, Stewart
457 Forster).
458 - Added 'dns_nameservers' config option to specify non-default
459 DNS nameserver addresses (Maxim Krasnyansky).
460 - Added lib/util.c code to show memory map as a tree
461 (Henrik Nordstrom).
462 - Added HTTP and ICP median service times to Counters and
463 cachemgr average stats.
464 - Changed "-d" command line option to take debugging level
465 as argument. Debugging equal-to or less-than the argument
466 will be written to stderr.
ef65d6ca 467 - Removed unused urlClean() function from url.c.
adba4a64 468 - Fixed a bug that allowed '?' parts of urls to be recorded in
ef65d6ca 469 store.log. Logged urls are now "clean".
178dbda2 470 - Cache Manager got new Web interface (cachemgr.cgi). New .cgi
471 script forwards basic authentication from browser to squid.
472 Authentication info is encoded within all dynamically generated
473 pages so you do not have to type your password often.
474 Authentication records expire after 3 hours (default) since
475 last use. Cachemgr.cgi now recognizes "action protection" types
476 described below.
477 - Added better recognition of available protection for actions
478 in Cache Manager. Actions are classified as "public" (no
479 password needed), "protected" (must specify a valid password),
480 "disabled" (those with a "disable" password in squid.conf), and
481 "hidden" (actions that require a password, but do not have
482 corresponding cachemgr_passwd entry). If you manage to request
483 a hidden, disabled, or unknown action, squid replies with
484 "Invalid URL" message. If a password is needed, and you failed
485 to provide one, squid replies with "Access Denied" message and
486 asks you to authenticate yourself.
487 - Added "basic" authentication scheme for the Cache Manager.
488 When a password protected function is accessed, Squid sends an
489 HTTP_UNAUTHORIZED reply allowing the client to authorize itself
490 by specifying "name" and "password" for the specified action.
491 The user name is currently used for logging purposes only. The
492 password must be an appropriate "cachemgr_passwd" entry from
493 squid.conf. The old interface (appending @password to the url)
494 is still supported but discouraged. Note: it is not possible
495 to pass authentication information between squid and browser
496 *via a web server*. The server will strip all authentication
497 headers coming from the browser. A similar problem exists for
498 Proxy-Authentication scheme.
499 - Added ERR_CACHE_MGR_ACCESS_DENIED page to notify of
500 authentication failures when accessing Cache Manager.
63259c34 501 - Added "-v" (Verbose) and "-H" (extra Headers) options to client.c.
178dbda2 502 - Added simple context-based debugging to debug.c. Currently,
503 the context is defined as a constant string. Context reporting
504 is triggered by debug() calls. Context debugging routines
505 print minimal amount of information sufficient to describe
506 current context. The interface will be enhanced in the future.
507 - Replaced _http_reply with HttpReply. HttpReply is a
508 stand-alone object that is responsible for parsing, swapping,
509 and comm_writing of HTTP replies. Moved these functions from
510 various modules into HttpReply module.
8bfcd557 511 - Added HttpStatusLine, HttpHeader, HttpBody.
178dbda2 512 - All HTTP headers are now parsed and stored in a "compiled"
513 form in the HttpHeader object. This allows for a great
514 flexibility in header processing and builds basis for support
515 of yet unsupported HTTP headers.
516 - Added Packer, a memory/store redirector with a printf
517 interface. Packer allows to comm_write() or swap() an object
518 using a single routine.
519 - Added MemBuf, a auto-growing memory buffer with printf
520 capabilities. MemBuf replaces most of old local buffers for
521 compiling text messages.
522 - Added MemPool that maintains a pre-allocated pool of opaque
523 objects. Used to eliminate memory thrashing when allocating
524 small objects (e.g. field-names and field-value in http
525 headers).
8bfcd557 526
3197e644 527Changes to squid-1.2.beta15 (Feb 13, 1998):
528
55647891 529 NOTE: This version has changes which may cause all or part
530 of your cache to be lost. However, you can problably
531 save most of it by doing a slow restart. Specifically:
532
533 1. Kill the running squid-1.2.beta14 process; wait for it to
534 fully exit.
535 2. Remove all 'swap.state*' files, either in each cache_dir, or
536 as defined in your squid.conf
537 3. Start squid-1.2.beta15. The store will be rebuilt from the
538 existing swap files, reading the directories and opening
539 the files.
540
bcfbdc11 541 - Fixed some problems related to disk (and pipe) write error
542 handling. file_close() doesn't always close the file
543 immediately; i.e. when there are pending buffers to write.
544 StoreEntry->lock_count could become zero while a write is
545 pending, then bad things happen during the callback.
546 - The file_write() callback data must now be in the callback
547 database (cbdata). We now use the swapout_ctrl_t structure
548 for the callback data; it stays around for as long as we are
549 swapping out.
550 - Changed the way write errors are handled by diskHandleWrite.
551 If there is no callback function, now we exit with a fatal
552 message under the assumption that the file in question is a
553 log file or IPC pipe. Otherwise, we flush all the pending
554 write buffers (so we don't see multiple repeated write errors
555 from the same descriptor) and let the upper layer decide how
556 to handle the failure.
557 - Fixed storeDirWriteCleanLogs. A write failure was leaving
558 some empty swap.state files, even though it tells us that its
559 "not replacing the file." Don't flush/rename logs which we
560 have prematurely closed due to write failures, indiciated by
561 fd[dirn] == -1. Close these files LAST, not before
562 renaming.
563 - Fixed storeDirClean to clean directories in a more sensible
564 order, instead of the new "MONOTONIC" order for swap files.
0465e406 565 - Merged fdstat.c functions into fd.c.
566 - Cleaned up some debugging sections. Some unrelated source
567 files were using the same section.
568 - Removed curly brackets from all cachemgr output.
569 - Removed unused filemap->last_file_number_allocated member.
570 - Removed unused fde->lifetime_data member.
571 - Fixed incorrectly applying htonl() on icp_common_t->shostid.
572 - Call setsid() before exec() in ipc.c so that child processes
573 don't receive SIGINT (etc) when running squid on a tty.
2f2dd5ad 574 - Changed StoreEntry->object_len to ->swap_file_sz so we
575 can verify the disk file size at restart. Moved object_len
576 to MemObject->object_sz. Note object_sz is initialized
577 to -1. If object_sz < 0, then we need to open the swap
578 file and read the swap metadata.
579 - Changed store_client->mem to ->entry because we need
580 e->swap_file_sz to set mem->object_sz at swapin.
2f2dd5ad 581 - Renamed storeSwapData structure to storeSwapLogData.
582 - Fixed storeGetNextFile to not increment d->dirn. Added
583 check for opendir() failure.
584 - Fixed storeRebuildStart to properly link the directory
585 list for storeRebuildfromDirectory mode.
e157f97f 586 - Added -S command line option to double-check store
587 consistency with disk files in storeCleanup().
588 - Fixed a problem with transactional logging. In many
589 cases we were adding the public cache key and then
590 logging a delete for the private key. This is worthless
591 because during rebuild we could not locate the previous
592 public-keyed entry. Now we assert that only public-keyed
593 entries can be logged to swap.state. storeSetPublicKey()
594 and storeSetPrivateKey() have been modified to log an
595 ADD or DEL when the key changes.
596 - Fixed storeDirClean bug. Needed to call
597 storeDirProperFileno() so the "dirn bits" get set.
598 - Fixed a storeRebuildFromDirectory bug. fullpath[] and
599 fullfilename[] were static to that function and did
600 not change when the "rebuild_dir" arg did. Moved these
601 buffers to the rebuild_dir structure.
602 - In storeRebuildFromSwapLog, we were calling storeRelease()
603 for cache key collisions. This only set the RELEASE_REQUEST
604 bit and did not clear the swap_file_number in the filemap or
605 in the StoreEntry, so the swap file could get unlinked later
606 when it was really released.
4e0f0471 607 - Fixed FTP so that ';type=X' specifically sets the HTTP reply
608 content-type and content-encoding (Henrik Nordstrom).
609 - Removed 'icon_content_type' configuration option. Content
610 types now taken from mime.conf (Henrik Nordstrom).
2a9b2b73 611 - Added additional memory malloc tracing and memory leak
612 detection. Use --enable-xmalloc-debug-trace configure
613 option and -m command line option (Henrik Nordstrom).
bcfbdc11 614
93169941 615Changes to squid-1.2.beta14 (Feb 6, 1998):
616
5471db88 617 - Replaced snmplib free() calls with xfree().
618 - Changed the 'net_db_name' hash table structure to
619 make it easier to move names from one network to another
620 (copied from 1.1 code).
93169941 621 - Filled in some of the config dump routines (dump_acl,
622 dump_acl_access).
623 - Full memory debugging option (--enable-xmalloc-debug-trace)
624 (Henrik Nordstrom).
625 - Filled-in and clarified many squid.conf comments (Oskar
626 Pearson).
627 - Fixed up handling of SWAP_LOG_DEL swap.state entries.
5471db88 628
f91834bf 629Changes to squid-1.2.beta13 (Feb 4, 1998):
f577e074 630
b4512acd 631 - NOTE: With this version the "swap.state" file format has
632 changed. Running this version for the first time will
633 cause your current cache contents to be lost!
f91834bf 634 - NOTE: this version still has the bug where we don't rewind
635 a swapout file and rewrite the swap meta data. Objects
636 larger than 8KB will be lost when rebuilding from the swap
637 files.
d04dd4bf 638 - Combined various interprocess communication setup functions
639 into ipcCreate().
640 - Removed some leftover ICP_HIT_OBJ things.
641 - Removed cacheinfo and proto_count() and friends; these are to
642 be replaced in functionality by StatCounters and 5/60 minute
643 average views via cachemgr.
644 - Fixed --enable-acltree configure message (Masashi Fujita).
645 - Fixed no reference to @LIB_MALLOC@ in src/Makefile.in
646 (Masashi Fujita).
647 - Fixed building outside of source tree (Masashi Fujita).
dbfed404 648 - FTP: Format NLST listings, and inform the user that the NLST
649 (plain) format is available when we find a LIST listing that we
650 don't understand (Henrik Nordstrom)
651 - FTP: Use SIZE on Binary transfers, and not ASCII. The
652 condition was inversed, making squid use SIZE on ASCII
653 transfers (Henrik Nordstrom).
654 - Enable virtual and Host: based acceleration in order to be
655 able to use Squid as a transparent proxy without breaking
656 either virtual servers or clients not sending Host: header
657 the order of the virtual and Host: based acceleration needs
658 to be swapped, giving Host: a higher precendence than virtual
659 host (Henrik Nordstrom).
660 - Use memmove/bcopy as detected by configure Some systems does
661 not have memmove, but have the older bcopy implementation
662 (Henrik Nordstrom).
6cf028ab 663 - Completely rewritten aiops.c that creates and manages a pool
664 of threads so thread creation overhead is eliminated (SLF).
665 - Lots of mods to store.c to detect and cancel outstanding
666 ASYNC ops. Code is not proven exhaustive and there are
667 definately still cases to be found where outstanding disk ops
668 aren't cancelled properly (SLF).
669 - Changes to call interface to a few routines to support disk
670 op `tagging', so operations can be cleanly cancelled on
671 store_abort()s (SLF).
672 - Implementation of swap.state files as transaction logs.
673 Removed objects are now noted with a negative object size.
674 This allows reliatively clean rebuilds from non-clean
675 shutdowns (SLF).
676 - Now that the swap.state files are transaction logs, there's
677 now no need to validate by stat()ing. All the validation
678 procedure does is now just set the valid bit AFTER all the
679 swap.state files have been read, because by that time, only
680 valid objects can be left. Object still need to be marked
681 invalid when reading the swap.state file because there's no
682 guarantee the file has been retaken or deleted (SLF).
683 - An fstat() call is now added after every
684 storeSwapInFileOpened() so object sizes can be checked. Added
685 code to storeRelease() the object if the sizes don't match (SLF).
686 - #defining USE_ASYNC_IO now uses the async unlink() rather than
687 unlinkd() (SLF).
688 - #defining MONOTONIC_STORE will support the creation of disk
689 objects clustered into directories. This GREATLY improves disk
690 performance (factor of 3) over old `write-over-old-object'
691 method. If using the MONOTONIC_STORE, the
692 {get/put}_unusedFileno stack stuff is disabled. This is
693 actually a good thing and greatly reduces the risk of serving
694 up bad objects (SLF).
695 - Fixed unlink() in storeWriteCleanLogs to be real unlink()
696 rather than ASYNC/unlinkd unlinks. swap.state.new files were
697 being removed just after they were created due to delayed
698 unlinks (SLF).
699 - Disabled various assertions and made these into debug warning
700 messages to make the code more stable until the bugs can be
701 tracked down (SLF).
702 - Added most of Michael O'Reilly's patches which included many
703 bug fixes. Ask him for full details (SLF).
704 - Moved aio_check_callbacks in comm_{poll|select}(). It was
705 called after the fdset had been built which was wrong because
706 the callbacks were changing the state of the read/write
707 handlers prior to the poll/select() calls (SLF).
f09f5b26 708 - Fixed ARP ACL memory leaks (Dale).
f577e074 709 - Eliminated URL and SHA cache keys. Cache keys will always
710 be MD5's now.
711 - Fixed up store swap meta data.
712 - Changed swap.state logs to a binary format.
f91834bf 713 - The swap.state logs are written transaction-style.
d04dd4bf 714
b5cfbd5b 715Changes to squid-1.2.beta12 (Jan 30, 1998):
716
b4512acd 717 - Added metadata headers to cache swap files. This is an
718 incompatible change with previous versions. Running this
719 version for the first time will cause your current cache
720 contents to be lost.
9fc0b4b8 721 - -D_REENTRANT when linking with -lpthreads (Henrik Nordstrom)
722 - Show symlink destinations as a hyperlink in FTP listings
723 (Henrik Nordstrom)
3a4eaced 724 - Fixed not allocating enough space for rewriting URLs with
725 the Host: header (Eric Stern).
726 - Year-2000 fixes (Arjan de Vet).
727 - Fixed looping for cache hits on HEAD requests.
fc6dc767 728 - Fixed parseHttpRequest() coredump for
729 "GET http://foo HTTP/1.0\r\n\r\n\r\n"
9fc0b4b8 730
9f802cb1 731Changes to squid-1.2.beta11 (Jan 6, 1998):
732
fd82d0b0 733 - Fixed fake 'struct rusage' definition which prevented compling
734 on Solaris 2.4.
735 - Fixed copy-by-ref bug for request->headers in
736 clientRedirectDone() (Michael O'Reilly).
812db943 737 - Workaround for Solaris pthreads closing FD 0 upon fork()
738 (Michael O'Reilly).
05fd71a7 739 - Fixed shutdown bug with outgoing UDP sockets; we need to
740 disable their read handlers.
741 - For comm_poll(), use the fast 50 msec timeout only when
742 USE_ASYNC_IO is defined.
1fbc6de3 743 - Fixed pointer bug when freeing AS# ACL entries.
744 - Fixed forgetting to reset Config.npeers to zero in free_peer().
0f6bdbfa 745 - Fixed ICP bug causing excessive TIMEOUTs with sibling
746 neighbors. We must call the ICP reply callback even for
747 sibling misses.
748 - Fixed some dnsserver-related reconfigure bugs. Need to
749 use cbdataLock, etc in fqdncache.c. Also don't want to
750 use ipcacheQueueDrain() and fqdncacheQueueDrain().
751 - Fixed persistent connection bug. We were incorrectly
752 deciding that non-200 replies without content-length
753 would not have a reply body.
754 - Fixed intAverage() precedence bug.
755 - Fixed memmove() 'len' arg bug.
756 - Changed algorithm for determining alive/dead state of peers.
757 Instead of using a fixed number of unacknowledged ICP
758 replies, it is now based on timeouts. If there are no ICP
759 replies received from a peer within 'dead_peer_timeout'
760 seconds, then we call it dead.
761 - Added calls to getCurrentTime() in
762 comm_{select,poll}_incoming() when ALARM_UPDATES_TIME is not
763 being used.
764 - Fixed shutdown bug when the incoming and outgoing ICP socket
765 is the same file descriptor.
e970f357 766 - Added buffered writes for storeWriteCleanLogs() (Stewart
767 Forster).
768 - Patches for Qnx4 (Jean-Claude MICHOT).
769 - Fixed returning void functions which seems to be a GCC-ism.
e5f4e1b0 770 - New configure script options (Henrik Nordstrom):
771 --enable-new-storekey=[sha|md5(|url)] (was --enable-hashkey)
772 --enable-acltree
773 --enable-icmp
774 --enable-delay-hack
775 --enable-useragent-log
776 --enable-kill-parent (this should be named -hack)
777 --enable-snmp
778 --enable-time-hack
779 --enable-cachemgr-hostname[=hostname] (new)
780 --enable-arp-acl (new)
781 - Added Doug Lea malloc-2.6.4 to the distribution, so that
782 people easily can try a decent malloc package if they syspect
783 their malloc is broken. --enable-dlmalloc (Henrik Nordstrom).
784 - Made XMALLOC_DEBUG_COUNT working again. Requires a small stub
785 function (Henrik Nordstrom).
786 - Removed top-level Makefile. People must now run 'configure'
787 before 'make'.
714ace98 788 - Fixed checkFailureRatio() implementation.
82b3c7d9 789 - Made 'squid -z' behave like the 1.1 version.
e5f4e1b0 790
fd82d0b0 791
ab9a3f7e 792Changes to squid-1.2.beta10 (Jan 1, 1998):
793
794 - Fixed content-length bugs for 204 replies, 304 replies,
795 and HEAD requests (Henrik Nordstrom).
796 - Fixed errorAppendEntry() bug in gopherReadReply().
797 - Basic support for FTP URL typecodes (;type=X).
9c965c1b 798 - Support for access controls based on ethernet MAC addresses
ab9a3f7e 799 (Dale).
800 - Initial URN support; see
801 http://squid.nlanr.net/Squid/urn-support.html
802 - Fixed client-side persistent connections for objects with
803 bad content lengths (Henrik Nordstrom).
804 - Fixed bad call to storeDirUpdateSwapSize() for objects which
805 never reach SWAPOUT_DONE state.
68e3a9df 806 - Fixed up poll() #defines in squid.h (Stewart Forster).
807 - Changed poll() timeout from 1000 msec to 50 msec for
808 better performance under low load (Stewart Forster).
e7a1fde6 809 - Changed storeWriteCleanLogs() to write objects in the LRU
810 list order instead of the random hash table order.
109ff6af 811 - Fixed FTP bug when data socket connections fail or timeout.
812 - Reuse FTP data connection when possible (Henrik Nordstrom).
813 - Added configure options (Henrik Nordstrom)
814 --enable-store-key=sha|md5
815 --enable-xmalloc-statistics
816 --enable-xmalloc-debug
78743365 817 --enable-xmalloc-debug-count
818 --async-io
109203bf 819 - Fixed confusing with the use/meaning of ERR_CANNOT_FORWARD
820 by creating ERR_FORWARDING_DENIED and changing the
821 content of the ERR_CANNOT_FORWARD text.
4e9c07c1 822 - Fixed pipeline request bug from using strdup() (Henrik
823 Nordstrom).
824 - Call clientReadRequest() directly instead of commSetSelect()
825 for pipelined requests (Henrik Nordstrom).
1b02b5be 826 - Fixed 4k page leak in icpHandleIMSReply();
827 - Renamed 'icp*' functions to 'client*' names in client_side.c.
e7a1fde6 828
b90a0f8d 829Changes to squid-1.2.beta8 (Dec 2, 1997):
830
eae03fc8 831 - Fixed accessLogLog() to log ident from Proxy-Authorization
832 request header (BoB Miorelli).
226f9ba2 833 - Fixed #includes, prototypes, etc. in SNMP source files.
834 - Moved 'POLLRDNORM' and 'POLLWRNORM' macro checks from
835 include/config.h.in to src/squid.h
836 - Moved 'num32' typedefs from src/typedefs.h to
837 include/config.h.in.
838 - Moved snmplib/md5.c to lib/md5.c.
839 - Added MD5 cache key support.
840 - Removed xmalloc() return check in uudeocde.c
841 - Added 'ifdef' support to cf_gen.c for optional code (e.g. SNMP)
842 - Changed 'client' program to provide easier cache manager access,
843 e.g.: 'client mgr:info'
844 - Fixed 'client' to send 'Connection' instead of 'Proxy-Connection'
845 for simulated keep-alive requests.
846 - Removed 'fd' arg from clientProcess* functions.
9e3468d5 847 - Fixed bugs from using errorSend() on persistent/pipelined
226f9ba2 848 client connections. A latter request should not be allowed to
849 write to the client fd until the current request completes.
850 Now use errorAppendEntry() for such situations.
851 - Fixed content-length bugs. We were using content-length == 0
852 to also indicate a lack of content-length reply header. But
853 'content-length: 0' might appear in a reply, so now use -1 to
854 indicate that no content length given.
855 - Split up clientProcessRequest() into smaller chunks so it
856 might be easier to follow.
857 - renamed various client_side.c functions to start with 'client'
858 instead of 'icp'.
859 - Fixed a 'cbdata leak' from the comm.c close handlers.
860 - Fixed a 'cbdata leak' from the comm.c connect routines.
861 - Fixed comm_select() and comm_poll() to stop looping on the
862 incoming HTTP/ICP sockets. If there are fewer than 7 FD's
863 ready for I/O, the incoming sockets might not get service, so
864 comm_select() would be called for up to 7 times until the
865 'incoming_counter' was incremented enough to trigger a call
866 to comm_select_incoming(). Now we make sure
867 comm_select_incoming() gets called if select returns less
868 than 7 ready FD's.
9e3468d5 869 - Added errorpage '%B' token to generate FTP URLs with a '%2f'
870 inserted at the start of the url-path. calls ftpUrlWith2f().
871 (Henrik Nordstrom).
226f9ba2 872 - Changed fqdncache.c to use LRU double-linked list instead of qsort()
873 for replacement and cachemgr output.
874 - Changed ipcache.c to use LRU double-linked list instead of qsort()
875 - Changed hash_insert() and hash_join() to return void.
876 for replacement and cachemgr output.
877 - Moved StoreEntry->method member to MemObject->method.
878 - Made StoreEntry->flags 16 bits.
879 - Made StoreEntry->refcount 16 bits.
880 - Changed URL-based public cache key to always include the request
881 method.
eae03fc8 882
95bc9f0b 883Changes to squid-1.2.beta7 (Nov 24, 1997):
884
6a11653c 885 - Fixed poll() for Linux (David Luyer).
886 - SHA optimizations (David Luyer).
887 - Fixed errno clashes with macro on Linux (David Luyer).
888 - Fixed storeDirCloseSwapLogs(); logs might not be open.
889 - Fixed storeClientCopy2() bug. Detect when there is
890 no more data to send for objects in STORE_OK state.
19ee64b1 891 - Fixed FTP truncation bug when ftpState->size == 0, e.g.
892 especially directory listings.
95bc9f0b 893 - Mega FTP fix from Henrik Nordstrom. A better job of
894 implementing the '%2f' hack.
895 - Fixed some pipelined request bugs. storeClientCopy() was
896 being given the wrong StoreEntry, and we had a race condition
897 which is now handled by storeClientCopyPending().
99077fe6 898 - Added initial SNMP support.
6a11653c 899
2c9b45c9 900Changes to squid-1.2.beta6 (Nov 13, 1997):
901
1b5516d3 902 - Fixed Authorized responses getting swapped out when they
903 don't have Proxy-Revalidate reply header.
904 - Fixed Proxy Authentication support. We never sent back
905 a 407 reply, and were incorrectly incrementing the passwd
906 before comparing it.
907 - Fixed stat()ing pathnames for default values before parsing
908 config file (Ron Gomes).
909 - Fixed logging request and response headers on separate lines
910 (Ron Gomes).
911 - Fixed FTP Authentication message (Henrik Nordstrom).
912 - Changed Proxy Authentication to trigger a reread of the passwd
913 file if a password check fails (Henrik Nordstrom).
914 - Changed FTP to retry the first CWD with a leading slash if it
915 fails without one.
916
8c17a569 917Changes to squid-1.2.beta5 (Nov 6, 1997):
918
90045285 919 - Track the 'keep-alive ratio' for a peer as the ratio of
920 the number of replies including 'Proxy-Connection: Keep-Alive'
921 compared to the number of requests sent. If the peer does
922 not support Persistent connections then this ratio will tend
923 toward zero. If the ratio is less than 50% after 10 requests
924 then we'll stop sending Keep-Alive.
8c3994aa 925 - Proper support for %nn escapes in FTP, and numerous
926 other fixes (Henrik Nordstrom).
927 - Support for Secure Hash Algorithm and framework for other
928 hash functions as cache keys.
929 - Fixed SSL snprintf() bug which broke SSL proxying.
930 - Fixed store_dir swap log bug from reconfigure (SIGHUP).
8c17a569 931 - Fixed LRU Reference Age bug. The arg to pow() must be
8031bd43 932 minutes, not seconds.
90045285 933
9ddfb255 934Changes to squid-1.2.beta4 (Oct 30, 1997):
935
a493f974 936 - Fixed DST bug in rfc1123.c
937 - Changed default http_accel_port to 80.
938 - added errorCon() as a ErrorState constructor function
939 (Max Okumoto).
940 - Added ERR_FTP_FAILURE message for ftpFail().
941 - For FTP, the timeout callback must be moved to the 'data'
942 descriptor when data transfer begins. Otherwise we are
943 likely to get a timeout on the control descriptor.
944 - Fixed double-free bug in httpRequestFree().
945 - Fixed store_swap_size counting bug in storeSwapOutHandle().
946
409a6aad 947Changes to squid-1.2.beta3 (Oct 29, 1997):
948
949 - Initialize _res.options to RES_DEFAULT in dnsserver.c.
950 - Fix assertions which assumed 4-byte pointers.
951 - Fix missing % in fqdncache.c snprintf().
952
5a2d610b 953Changes to squid-1.2.beta2 (Oct 28, 1997):
954
8c3994aa 955 - Fixed aiops.c and async_io.c so that they actually compile
f5b8bbc4 956 with USE_ASYNC_IO (Arjan de Vet).
957 - Fixed errState->errno causing problems with some macros
958 (Michael O'Reilly).
d287f51e 959 - Fixed memory leaks in pconn.c (Max Okumoto).
0866009b 960 - Enhanced 'client' program with 'ping' behaviour (Ron Gomes).
272547b5 961 - Fixed InvokeHandlers() from calling memCopy() for ALL
962 store_client's with callbacks. A store_client might be reading
963 from disk.
5a2d610b 964 - Rewrote storeMaintainSwapSpace(). No longer will we scan one
272547b5 965 bucket at a time. Instead we'll maintain a single LRU
966 list. When an object is 'touched' we move it to the
967 top of this list. When we need disk space, we delete
968 from the bottom.
5a2d610b 969 - Removed storeGetSwapSpace().
f5b8bbc4 970
871f0b8a 971Changes to squid-1.2.beta1 ():
972
973 - Reworked storage manager to not keep objects in memory during
974 transit. In other words, no separate NOVM distribution.
975 - Lots of cleanup and debugging for beta release.
976 - Use snprintf() everywhere instead of sprintf().
977 - The 'in_memory' hash table has been replaced with a
978 doubly-linked list. New objects are added to the head of
979 the list. When memory space is needed, old objects are
980 purged from the tail of the list.
981
0edfe7a2 982Changes to squid-1.2.alpha7 ():
983
c4958532 984 - fixes fixes fixes.
985 - Made Arjan's PROXY_AUTH ACL patch standard.
0edfe7a2 986
8905b90c 987Changes to squid-1.2.alpha6 ():
988
6684fec0 989 - Simpler cacheobj implementation.
6605655c 990 - persistent connection histogram
8872e1f8 991 - SERVER-SIDE PERSISTENT CONNECTIONS:
992 - Added pconn.c
993 - Addec Cofig.Timeout.pconn; default 120 seconds
994 - Added httpState->flags
995 - Added flags arg to httpBuildRequestHeader()
996 - Added HTTP_PROXYING and HTTP_KEEPALIVE flags
997 - Added 'Connection' to allowed HTTP headers (http-anon.c)
998 - Added 'Proxy-Connection' to allowed HTTP headers
999 (http-anon.c)
a7736231 1000 - Merged proxyhttpStart() with httpStart() and created
8872e1f8 1001 new httpBuildState().
1002 - New httpPconnTransferDone() detects end-of-data on
1003 persistent connections.
6684fec0 1004
88738790 1005Changes to squid-1.2.alpha5 ():
1006
1007 - New configuration system. Everything is generated from
1008 'cf.data.pre', including the main parser, setting defaults,
1009 outputting current values, and freeing memory.
1010 This also involved moving some of the local data structures
1011 (e.g. struct _acl *AclList in acl.c) to the Config
1012 structure. (Max Okumoto)
1013 - No more '/i' for regular expressions. Now insert a '-i'
1014 to switch to case-insensitive. Use '+i' for case-sensitive.
1015 - When you have a variable named the same as its type, sizeof()
1016 gets the wrong one (fde).
1017 - Need to flush unbuffered logs before fork().
1018 - Added two fields swap log: refcount and e->flag.
1019 - Removed all the .h files for each .c file. Now #include stuff
1020 is in either: defines.h, enums.h, typedefs.h, structs.h,
1021 or protos.h, globals.h. This greatly reduces dependencies
1022 between the various source files.
1023 - globals.c is generated from globals.h by a Perl script.
8ee3ca2c 1024 - Started customizable error texts.
88738790 1025
97f674c8 1026Changes to squid-1.2.alpha4 ():
1027
ec973719 1028 - New MIME configuration, regular expression based
1029 - Added request_timeout config option
1030 - Multiple HTTP sockets (Lincoln Dale).
1031 - Moved 'fds_are_n_free' check to httpAccept().
1032 - s/USE_POLL/HAVE_POLL/; make poll() default if available.
7e49f700 1033 - Changed storeRegister to use offsets and make immediate
1034 callbacks if appropriate.
1035 - Removed icpDetectClientClose(). Some of that functionality
1036 goes into clientReadRequest() and the rest into
1037 httpRequestFree().
b1b387d1 1038 - Moved IP lookups to commConnect stuff.
1039 - Added support for retrying connect().
858164fc 1040 - New inline debug() macro (David Luyer).
e174e0fe 1041 - Replace frequent gettimeofday() calls with alarm(3) based
1042 clock. Need to add more gettimeofday() calls to get back
a59968c7 1043 high-resolution timestamp logging (Andres Kroonmaa).
0153d498 1044 - Added support for Cache-control: proxy-revalidate;
1045 based on squid-1.1 patch from Mike Mitchell.
ec973719 1046
3b08d32d 1047Changes to squid-1.2.alpha3 ():
1048
1049 - Implemented persistent connections between clients and squid.
1050 - Moved various FD tables (comm.c, fdstat.c, disk.c) to a single
1051 table in fd.c.
1052 - Removed use of FD as an identifier in certain callback
1053 operations (ipcache, fqdncache).
1054 - General code cleanup.
1055 - Fixed typedefs for callback functions.
1056 - Removed FD lifetime/timeout dichotomy. Now we only have
1057 timeouts, however the lifetime concept/keyword may still
1058 linger in certain places.
1059 - Change Makefile 'realclean' target to 'distclean'
1060 - Changed config file parsing of time specifications to use
1061 parseTimeLine().
1062 - Removed storetoString.c
1063
1064Changes to squid-1.2.alpha2 ():
74cebec0 1065
1066 - Merged squid-1.1.9, squid-1.1.10 changes
1067
7b41ec97 1068Changes to squid-1.2.alpha1 ():
1069
1070 - Unified peer selection algorithm.
75e88d56 1071 - aiops.c and aiops.h are a threaded implementation of
1072 asynchronous file operations (Stewart Forster).
1073 - async_io.c and async_io.h are complete rewrites of the old
1074 versions (Stewart Forster).
6ad85e8a 1075 - Rewrote all disk file operations of squid to support
75e88d56 1076 the idea of callbacks except where not required (Stewart
1077 Forster).
75e88d56 1078 - Background validation of 'tainted' swap log entries (Stewart
1079 Forster).
1080 - Modified storeWriteCleanLog to create the log file using the
1081 open/write rather than fopen/printf (Stewart Forster).
1082 - Added the EINTR error response to handle badly interrupted
1083 system calls (Stewart Forster).
6ad85e8a 1084 - UDP_HIT_OBJ not supported, removed.
1085 - Different sized 'cache_dirs' supported.
75e88d56 1086
e924600d 1087==============================================================================
7b41ec97 1088
88738790 1089Changes to squid-1.1.14 (July 11, 1997):
1090
1091 - Another try at log_url crap. Added icpState->log_url
1092 member. Set mem_obj->log_url in new_MemObject() which
1093 means passing more args to storeCreateEntry(). Also added
1094 urlClean() which calls urlParse(); needed for ICP logging.
1095 - Clean URLs will be truncated at '?' if present.
1096 - Give fd_note() the clean URL.
1097
1098Changes to squid-1.1.13 (July 9, 1997):
1099
1100 - Fixed storeLog() coredump on mem->log_url.
1101 - Fixed string bounds bug if a redirector returns a short
1102 hostname which require appending 'append_domain' (David
1103 Lamkin).
1104 - Added 'fake_user_agent' to configuration because HTTP
1105 anonymizing strips the User-Agent which some servers require.
1106
1107Changes to squid-1.1.12 (July 5, 1997):
1108
1109 - Fixed dnsserver buffer overflow bug and other problems related
1110 to long, bogus domain names.
1111 - Fixed occasional incorrect ERR_DNS_FAIL errors caused when
1112 an IP cache entry gets released about the same time an
1113 ICP query timeout occurs.
1114 - Fixed setrlimit() bugs seen on DUNIX 4.0; rl.rlim_max == 0.
1115 - Only strip 'Proxy-authorization' header when USE_PROXY_AUTH
1116 is defined and proxy_auth is configured (Ron Gomes).
1117 - Added missing calls to reset socket timeouts for SSL
1118 and passthrough requests.
1119 - Fixed "Available number of file descriptors" value in
1120 cachemgr info output.
1121 - Fixed coredump in proxyAuthenticate() if password file
1122 has an entry with only a user name (Jordan Hrycaj).
1123 - Security patch for usernames and passwords in URLs.
1124 + ftpget would insert a BASE URL including the username and
1125 password for directory listings IF the original request did
1126 NOT include the the trailing slash. This could be disabled
1127 with a command line option, but is enabled by default. Now
1128 its #ifdefd out.
1129 + Usernames and passwords could be logged to access.log and
1130 store.log. Now a new element,
1131 StoreEntry->MemObject->log_url, holds a copy of the requested
1132 URL without the name and password. This isn't 100% fixed yet
1133 because log_url gets generated when the StoreEntry gets
1134 created. If the StoreEntry never gets created, then the URL
1135 with name and password will get logged. Also, the name and
1136 password are not stripped from ICP requests. Also, this
1137 changes store.log. Previously we logged StoreEntry->key
1138 which would look different than the URL for private entries,
1139 but now we'll always log the URL.
1140 + Finally, we now set REQ_AUTH for any request that includes a
1141 name or password. This prevents the request from being
1142 cached (!) and prevents it from being sent to neighbor
1143 caches. In other words, its treated just as if an
1144 Authorization request header were present.
1145 - Fixed Byte-Range handling so that valid, whole objects
1146 are not released.
1147
1148Changes to squid-1.1.11 (June 14, 1997):
1149
1150 - Clean up NeXTStep compiler warnings (Karsten Heinze, Ed Knowles).
1151 - Don't forward 'Proxy-Authorization' headers (Chris Pascoe).
1152 - Fixed up Host: header parsing (Henrik Nordstrom).
1153 - Changed DefaultObjectsPerBucket to 20 in cache_cf.c.
1154 - Fixed parsePathname() bug for magic word "none".
1155 - Fixed ipcache_release to rename entries which get stuck with locks.
1156 - Fixed "eventDelete(peerCheckConnect, e);" bug when the DNS lookup
1157 is pending.
1158 - Add sys/types.h to lib/safe_inet_addr.c for NeXTSTEP (Timo
1159 Hennerich).
1160 - Fixed cur_len decrement bug in diskHandleRead()
1161 (Michael O'Reilly).
1162 - Added contrib/rredir.pl from Peter Eisenhauer.
1163 - Always forward requests with 'Byte-Range' headers (Ron Gomes).
1164 - Fixed StoreEntry client offset bug which could trigger a
1165 fatal_dump().
1166 - Fixed noticing that dnsservers have shut down during restart.
1167 - Added contrib/nextstep installer package from Gerben Wierda.
1168 - Modified storeDirClean() to remove swap files where the
1169 number is being used, but the file is in the wrong directory.
1170 - Allow PURGE method on all protocols.
1171 - Added 'icp_hit_stale' option.
1172 - Fixed proxy auth refresh bug (Chris Pascoe).
1173 - Don't check for other filename extensions if an FTP URL
1174 ends with .txt (Ed Knowles).
1175 - Relocated ERR_NO_CLIENT_BIG_OBJ check to eliminate incorrect
1176 (but harmless) error message.
1177
6ad85e8a 1178Changes to squid-1.1.10 (April 24, 1997):
1179
1180 - Require 0 <= multicast ttl <= 128.
1181 - Changed 'unsigned int inaddr_none' to 'struct in_addr no_addr'.
1182 - Added debug_trap() if unlocking a StoreEntry which still
1183 has registered clients.
1184 - Added missing storeUnregister() calls.
1185 - Fixed storeClientListAdd() bug of adding same FD twice.
1186 - Fixed reconfigure/SIGHUP to wait 'shutdown_lifetime' seconds
1187 after receiving signal (Ron Gomes).
1188 - Added missing commSetSelect() in icpDetectClientClose()
1189 (Mark Treacy).
1190 - Fixed multicast group member counting bug with fake
1191 StoreEntry's.
1192 - Only enable ICP_FLAG_SRC_RTT if the peer is ICP_VERSION_2.
1193 - Fixed compiling unlinkd in a separate directory (Assar Westerlund).
1194 - Fixed comm_select_incoming SEGV for poll() version when using
1195 udp_{incoming,outgoing}_address (Mark Treacy).
1196 - Fixed some SIGHUP related memory problems with redirectors,
1197 ipcache, and fqdncache, and peerCountMcastPeers*().
1198 - Make the unlinkd and pinger programs configurable (Ron Gomes,
1199 Neil Murray).
1200 - Add handshake to unlinkd program (Ron Gomes).
1201 - Exit if a configured program doesn't exist (Neil Murray).
1202 - Abort if unlinkd fails to start (Ron Gomes).
1203 - Added -m option to ftpget for defining default MIME type.
1204 (Neil Murray).
1205 - Optimized comm_select() functions (Mark Treacy).
1206 - Fixed ipcache_release() to not release locked entries;
1207 instead expire them immediately.
1208 - Fixed up rebuild code to handle swapfile/URL clash
1209 cases better.
1210 - Added safe_inet_addr() to protect from bogus IP addresses
1211 (Arjan de Vet).
1212 - Fixed handling of ssl_proxy and passthrough_proxy when not
1213 behind a firewall.
1214
1215
1216Changes to squid-1.1.9 (March 30, 1997):
1217
1218 - Fixed aclIpNetworkCompare for USE_SPLAY_TREE; was applying
1219 netmask to non-local variable through pointer. (Ansgar
1220 Hockmann).
1221 - Fixed cachemgr bug incorrectly assigning connect() return
1222 value (Nigel Metheringham).
1223 - Fixed diskHandleWrite bug: not setting write_daemon = PRESENT.
1224 - Fixed situation where all requests would be handled by
1225 "single parent" and other peers would never be queried
1226 again.
1227 - Fixed ftpget bug causing program to continue after printing
1228 usage.
1229 - Changed 'reference_age' to be the maximum for the dynamcially
1230 computed value (Mark Treacy).
1231 - Added external 'unlinkd' process to unlink swap files.
1232 - Added more dnsserver status information to cachemgr output.
1233 - In httpReadReply: extend FD lifetime only after successful
1234 read, not every read.
1235 - In httpBuildRequestHeader: link size of 'ybuf' to MAX_URL.
1236 - Added routines to count number of members of each multicast
1237 peer.
1238 - Fixed multicast ICP bug causing unnecessary timeouts.
1239 - Added error messages if setuid/setgid functions fail.
1240 - Added non-POSIX tempnam.c replacement for NeXTStep (Gerben
1241 Wierda).
1242 - Removed redundant file:// --> ftp:// check (Willy TARREAU).
1243 - Removed check for reply->code == 200 in icpGetHeadersForIMS().
1244 - Fixed IP cache bug which caused 'dns_children 0' to break;
1245 - Deny access to dangerous TCP ports (7, 9, 19).
1246 - Removed single-line functions: fdstat_biggest_fd(),
1247 comm_get_fd_lifetime(), comm_get_fd_timeout().
1248 - Removed storeCheckExpired() from storeGetSwapSpace() as
1249 likely cause of slowing down cache when exceeding the high
1250 water mark.
1251 - Fixed storeCheckExpired() to not always check the
1252 LRU expiration age (Mark Treacy).
1253 - Lowered 'store_objects_per_bucket' to 20 so that
1254 storeMaintainSwapSpace() runs frequently enough to
1255 keep up with incoming objects.
1256 - Fixed FTP to use the Authorization header only when the
1257 usernames match.
1258 - Fixed another continuation-lines-not-starting-with-NNN bug
1259 in ftpget.
1260 - Added 'client_db' config option to disable keeping statistics
1261 for each client address.
1262 - Added support for using ICMP data stuffed into ICP replies
1263 for peer selection algorithm. Enable with 'query_icmp'
1264 in squid.conf.
1265 - Fixed net_db design bug where _net_db_peer structures pointed
1266 to 'peer' structures that get freed and reallocated during a
1267 reconfigure.
1268 - Moved comm.c fd_lifetime[] array into FD_ENTRY structure.
1269 - Cleaned up storeCopy(). debug_trap on requested offset <
1270 e_lowest_offset.
1271 - Cleaned up fdstat_init() and fdstat_update().
1272 - Cleaned up ftp_login_parser().
1273
e924600d 1274Changes to squid-1.1.8 (March 3, 1997):
1275
1276 - Fixed neighborsUdpAck() coredump bug for source-ping and
1277 non-peer ICP replies.
1278 - Prevent ipcache_gethostbyname from changing an IP_DISPATCHED
1279 entry to IP_CACHED; fqdncache too.
1280 - Made send_announce non-blocking.
1281 - Force release of negative-cached objects upon receipt of
1282 no-cache request.
1283 - Ignore ACLs which fail to parse.
1284 - Added 'proxy_auth_ignore' regular expression list (Andreas
1285 Lamprecht).
1286 - Changed how failed TCP connections affects peer up/down
1287 status. Now retry TCP connections at regular intervals in the
1288 background and don't mark the peer as 'up' until a connection
1289 succeeds.
1290 - Okay to increase FD_SETSIZE on FreeBSD 2.2.x (Peter Wemm).
1291 - Fixed HTTP anonymizer bug in 'standard' mode.
1292 - Fixed aclMatchDomainList() coredump for unresolvable addresses.
1293 - Changed default disk low/high water marks to 90/95%.
1294 - Prevent ftpget buffer overflow (Riku Saikkonen).
1295
1296Changes to squid-1.1.7 (February 25, 1997):
468c23d3 1297
6ad85e8a 1298 - Fixed non-default port numbers for FTP URLs (John Saunders).
468c23d3 1299 - Fixed urlParse to leave trailing slashes on FTP URLs. Although
1300 stripping the slashes offers a slight hit rate increase, it
1301 breaks some proxies which return HTTP redirects.
1302 - Initialize struct tm in parse_rfc1123() (Henrik Hempelmann).
1303 - Fixed parseHttpRequest() to use memcpy instead of strncpy;
1304 caused POST's with NULL bytes to fail (Joe Ramey).
1305 - Fixed another HTTP reply code 0 bug (Neil Murray).
1306 - Changed code structure in ipcache_nbgethostbyname() to
1307 maybe get around some trashed-stack problems.
1308 - Added WARNING if blocking gethostbyname() gets called.
1309 - Fixed calling commSetSelect() with FD < 0 bug in ssl.c and
1310 pass.c.
2ec29a62 1311 - Moved 'append_domain' operation to urlParse().
1312 - Fixed too many arguments bug in diskHandleWrite, caused
1313 coredumps when write fails (due to full disk).
77f33b26 1314 - Fixed extra unlocking on partial reads from dnsservers.
1315 - Fixes for 'Splay' trees in acl.c (Ed Knowles)
1316 - Support for balanced binary trees in acl.c (Arjan de Vet).
91de5d47 1317 - Made HTTP anonymizing a standard feature and settable in
1318 squid.conf (disabled by default).
4dcdb109 1319 - Ignore ICP_MISS replies from multicast-responding parents
1320 which would violate the domain restrictions.
1321 - Fixed another diskHandleWrite coredump bug when freeing
1322 list of pending blocks.
1323 - Added support for 'src' ACLs in cache_host_acl lines.
c7686fee 1324 - Fixed ftpget bug when PASV connect times out.
1325 - Fixed adding duplicate IP cache entry for failed BLOCKING lookups.
1326 - Changed peer IP addresses (for ICP) to be refreshed every hour.
1327 - Accomodated Solaris bug requiring suid privs for getrusage()
1328 (Arjan de Vet).
468c23d3 1329
678d8a69 1330Changes to squid-1.novm.6 (February 7, 1997):
1331
1332 - Merged squid-1.1.6 changes.
1333
870bd0f9 1334Changes to squid-1.1.6 (February 7, 1997):
1febb85b 1335
1336 - Fix redirector to make sure the redirector child process is
1337 is alive and not busy before using it (Brent Foster).
1338 - Fixed ACL joining bug.
870bd0f9 1339 - Fixed up support for multicast; see Release Notes for
1340 details.
1febb85b 1341 - Fixed ftpget to properly handle multi-line replies that
1342 don't begin with "NNN-".
1343 - Changed store maintenance to randomize bucket order
1344 each time after completion.
1345 - Set RLIMIT_VMEM to the maximum.
1346 - Syntax change: "edge" to "peer" everywhere.
1347 - Change redirector stats to also show number of rewritten
1348 requests (Andrew Humphrey).
1349 - Changed HTTP anonmyizing to remove 'denied' headers
1350 by default. Define USE_PARANOID_ANONYMIZER to only pass
625917ea 1351 'allowed' headers instead (Bernd Ernesti).
870bd0f9 1352 - Added 'Splay' trees (in #ifdefs) for fast IP access checking
1353 (Ed Knowles).
1febb85b 1354 - Fixed 'COMM_INPROGRESS' typo bug (Balint Nagy Endre).
1355 - Added support for PURGE method to remove cached objects.
1356 - Upgraded scripts/check_cache.pl for v1.1 (Bertold Kolics).
1357 - Fixed announcement file descriptor leak (Balint Nagy Endre).
1358 - Fixed [^0-9] sscanf bug for some compilers (Jim Carroll).
1359 - Upgrade to autoconf-2.12
625917ea 1360 - Added 'dns_defnames' option to allow dnsserver to interpret
1361 single-component hostnames.
625917ea 1362 - Refuse to run as root without defining 'cache_effective_user'.
1febb85b 1363
870bd0f9 1364Changes to squid-1.novm.5 (February 6, 1997):
c95a0781 1365
1366 - Fixed stuck objects (and FD leak) due to not unlocking
1367 objects in storeAbort().
cab88bee 1368 - Merged squid-1.1.5 changes.
4b7f7b84 1369
625917ea 1370Changes to squid-1.1.5 (January 22, 1997):
e3a664b4 1371
bb97dd37 1372 - Fixed ACL parsing to join ACL entries with the same name
1373 (Markus Stumpf).
1374 - Fixed BIT_SET/BIT_TEST typo in getDefaultParent() (Ed Knowles).
1375 - Removed comm_read() and commHandleRead().
1376 - Fixed rotating special files (Kolics Bertold).
1377 - Fixed sending HTTP reply code 0 in error messages.
1378 - Fixed ftpget to recognize 'NetWare' servers and skip whitespace
1379 before filenames.
1380 - Changed ftpget default Content-Type to application/octet-stream.
1381 - Added .rpm MIME type (Nigel Metheringham).
1382 - Changed storeDirClean() to create missing directories.
61ba670d 1383 - Removed icpState->buf and storeCopy() call in icpGetHeadersfForIMS().
e3a664b4 1384 - Fixed *_ip_list parsing bug (Hiroyuki Inoue).
1385 - Fixed bad comm_write() calls in passStart() and sslStart()
1386 (Martin Boening).
7fd2a4e7 1387 - Changed storeMaintainSwapSpace() to scan hash table buckets in
1388 random order.
1389 - Added dynamic LRU Age expiration feature. Expiration age is
1390 calculated as a function of store_swap_size so that object
1391 deletion rate matches the addition rate and we avoid emergency
1392 object purge mode.
bb97dd37 1393
625917ea 1394Changes to squid-1.novm.4 (January XX, 1997):
d3954477 1395
1396 - Fixed storeRegister loop in icpHandleIMSReply().
1f5ec3ed 1397 - Merged squid-1.1.4 changes.
d3954477 1398
3e65cb76 1399Changes to squid-1.1.4 (January 13, 1997):
115c7870 1400
1401 - Created USE_GNUREGEX define to fix forcing GNU regex on
1402 Solaris and NeXTStep.
1403 - Changed SQUID_MAXFD to be a C variable.
1404 - Added QUICKSTART file.
1405 - Fixed ident so the identd request comes from the same IP
1406 address as the original connection was made to (Russell
1407 Street).
1408 - Added '!' condition feature for the 'firewall_ip' list
1409 (Hiroyuki Inoue).
1410 - Added 'udp_hit_obj_size' option (Mark Treacy).
1411 - Fixed cachemgr.cgi to print 'NEVER' instead of '27Y ago'.
3e65cb76 1412 - Fixed finding FTP end-of-transfer marker in the middle
1413 of the file.
1414 - More ipcache fixes for long-pending requests which get preempted.
62a0995a 1415 - Fixed cachemgr.cgi to parse password from URL (Peter Wemm).
1416 - Fixed cachemgr.cgi to keep password in HTML form field (Peter
1417 Wemm).
1418 - Fixed reporting Maximum Resident Size (Peter Wemm).
1419 - Handle unexpected data from a redirector (Brent Foster).
115c7870 1420
1421Changes to squid-1.novm.3 (January 7, 1996):
03c91395 1422
1423 - Merged squid-1.1.3 changes.
1424
1425Changes to squid-1.novm.2 (January 7, 1996):
1426
1427 - Mega changes to make Squid not store objects in VM.
74946a0f 1428
9a325041 1429Changes to squid-1.1.3 (January 7, 1997):
c92978ac 1430
7a77c4b4 1431 - Changed inet_addr("X") to inet_addr("255.255.255.255")
1432 (Dan Riley).
1433 - Fixed matchInsideFirewall() bug when using 'firewall_ip' but
1434 not 'inside_firewall' (Tai Jin).
1435 - check for text == NULL in icpSendERROR().
1436 - Don't make inaddr_none static in ftpget.c (Davide Migliavacca).
1437 - Fixed ipcache FMR bug for long-pending requests.
1438 - Fixes for NeXTSTEP 3.3 (Tethpub Znek).
1439 - add storeWriteCleanLog() call in fatal().
1440
75a4803a 1441Changes to squid-1.1.2 (December 18, 1996):
1442
e12ec0cc 1443 - Fixed (negative) caching of HTTP objects witch consist of
1444 only some HTTP headers.
1445 - Fixed up SSL neighbor selection algorithm to be just
1446 like the one in pass.c.
1447 - Fixed incorrect squid.conf comment about setting an objcache
1448 password to 'none'. Added keyword 'disable' to disable an
1449 objcache function (Markus Gyger).
1450 - Further Cache.Announce.on fixes (Ernest Yik).
1451 - Add theOutIcpConnection to comm_select_incoming() for improved
1452 ICP performance (Stewart Forster).
1453 - Added access.log documentation to Release-Notes-1.1.txt
1454 - Added support for TRACE method.
c1827ffa 1455 - Added 'log_icp_queries on|off' to config (David Luyer).
1456 - Added hierarchy tag to common HTTP format access.log (David Luyer).
e12ec0cc 1457 - Moved second SQUID_MAXFD/FD_SETSIZE check to after #includes.
1458 - Added reverse DNS lookups for 'dstdomain' ACLs when the URL
1459 contains an IP address.
1460 - Made HTTP reply header parsing more robust to deal with
1461 bad 304 replies from squid-1.1.beta27 and earlier.
c1827ffa 1462 - Changed reqnum passed in ICP replies to encode request method
1463 in high byte.
58e7e5cc 1464 - Fixed neighbor round-robin bug (Uwe Doering).
1465 - Calculate accurage percentages for ICP and HTTP requests in
1466 cachemgr 'client list'.
1467 - Fixed refresh lm-factor calculations to allow percent = 0.
1468 - Make sure DNS lookups don't remain PENDING for a very long time.
e12ec0cc 1469
04279aad 1470Changes to squid-1.1.1 (December 15, 1996):
e119289e 1471
1472 - Fixed announcement bug. Announcements were always off unless
1473 a file was specified.
1474 - Fixed wrong number of args to examine_select() debug.
1475 - Fixed null-string content-type
1476 - Don't cache replies with 'Set-Cookie:' headers.
1477 - Fixed bug when client issues IMS, Squid has stale object and
1478 Squid's lastmod time is greater than the client IMS time.
1479 A 304 reply would be appropriate for Squid, but not the client
1480 (diagnosed by Mark Treacy).
1481 - Fixed httpBuildRequestHeader() content length bug which breaks for
1482 really large POST requests (Takahiro Yugawa).
1483 - Fixed 'passthrough_proxy' to pick up port number from list of
1484 neighbors.
6f4d3ac9 1485 - Ensure pid file is world-readable if umask is set otherwise
1486 (Doug Urner).
04279aad 1487 - Collect statistics on a few more HTTP headers (Ed Knowles).
e119289e 1488
2b17a56e 1489Changes to squid-1.1.0 (December 6, 1996):
1490
1491 - Fixed inequality bug in neighborUp().
1492 - Fixed off-by-one ack_deficit bug in neighborUp() (Joe Ramey).
1493 - Fixed pfds[] ABW bug for USE_POLL (Joe Ramey).
1494 - Added anonymizer options; compile with USE_ANONYMIZER (Lutz
1495 Donnerhacke).
1496 - Added Gauntlet proxy support to ftpget (Mukaigawa Shin'ichi).
c62bf0f1 1497 - Changed UDP_HIT_OBJ to be disabled by default.
2b17a56e 1498 - Updated doc/Release-Notes-1.1.txt
1499
1500==============================================================================
1501
74313381 1502Changes to squid-1.1.beta28 (December 5, 1996):
1503
8fa71551 1504 - Fixed missing CR on Not-Modified replies (Balint Nagy Endre)
1505 - Fixed not truncating multi-word content-types.
1506 - Fixed ABR bug due to too-small redirector buffers.
1507 - Fixed ABR in httpBuildRequestHeader().
1baa4e8a 1508 - Removed asynch_io code.
8fa71551 1509
4945cebf 1510Changes to squid-1.1.beta27 (December 4, 1996):
1511
1512 - Fixed wrong number of args to debug().
1513 - Make failure to start any dnsservers fatal.
1514 - Fixed dnsGetFirstAvailable() to skip dead dnsservers.
1515 - Fixed loop detection for two squids on the same host (Mark
1516 Treacy)
1517 - Fixed strcasecmp bug which broke some POST requests.
1518
9e393211 1519Changes to squid-1.1.beta26 (December 3, 1996):
89659cff 1520
dcfe6390 1521 - Another 'rm -rf' fix for store.c (Bernd Ernesti).
1522 - Use of the Host: header for httpd_accel requests is now
1523 disabled unless 'httpd_accel_uses_host_header' is set.
1524 - Have configure check for libgnumalloc.a.
89659cff 1525 - Added support for using poll() instead of select(); enable
1526 USE_POLL_OPT in src/Makefile (Stewart Forster, Anthony
1527 Baxter).
1528 - Fixed httpBuildRequestHeader() 'strcat' bug (Andres Kroonmaa).
1529 - Changed store.log to include date, last-modified, and
1530 expires timestamps, plus content-type.
1531 - Added content-type to access.log too.
1532 - parse HTTP timestamps directly in httpParseReplyHeaders().
1533 - moved timestampsSet() to storeTimestampsSet().
1534 - fixed ACL '/32' bug (Ansgar Hockmann).
dcfe6390 1535
3ac5bf55 1536Changes to squid-1.1.beta25 ():
1537
575e5b1a 1538 - Check if we should delete-behind large objects when above LOW
1539 water mark.
3ac5bf55 1540 - Merged request header parsing code from http.c and pass.c
1541 into httpBuildRequestHeader().
575e5b1a 1542 - Fixed 'rm -rf' command in store.c.
1543 - Changed viz_hack stuff to use multicast.
3ac5bf55 1544
c5a0c043 1545Changes to squid-1.1.beta24 ():
1546
1547 - Added 'cache_stoplist_pattern' to squid.conf
1548 - Remove trailing slashes from FTP URLs.
1549 - Added 'passthrough_proxy' support.
1bc5033b 1550 - Added "default parent" support with a 'default' option for
1551 cache_host config line.
1a10e02d 1552 - Upgraded autoconf to 2.10.
6b98c7ae 1553 - Strip Proxy-Connection request headers.
1bc5033b 1554 - Do not return UDP_HIT for objects which will soon be stale.
1555 - Parse/Filter HTTP request headers in passthrough module.
1556 - Fixed parsing hostnames with dashes in 'src' ACLs.
1557 - Added warning message when forwarding loops detected.
1558 - Split getSingleParent() into getSingleParent() and
1559 neighborsCount().
99fcf739 1560 - Dont check sibling caches for REFRESH requests.
1561 - Add X-Forwarded-For: header which is the comma-separated
1562 list of client addresses along the request path.
1563 - Fixed icpDetectClientClose() to check if Content-Length
1564 bytes have been delivered.
c5a0c043 1565
4f4905f1 1566Changes to squid-1.1.beta23 (November 25, 1996):
1567
7acb0b24 1568 - Fixed "viabuf" memory leak.
4f4905f1 1569
ef97e96c 1570Changes to squid-1.1.beta22 (November 25, 1996):
1571
6219258f 1572 - Fixed xstrncpy() bug in mime_get_header().
1573 - Fixed Via: header.
1574 - Fixed Host: header for proxy requests.
1575 - Fixed re-initializing client_db and net_db hash tables upon
1576 SIGHUP (Cord Beermann).
1577 - Mucked with regex stuff so HP users don't have to put up with
1578 GNUregex (Markus Gyger).
1579 - Changed SQUID_MAXFD back to FD_SETSIZE.
1580 - Fixed checking Max-age in httpSendRequest().
1581 - Made failure to fork ftpget fatal.
1582 - Call *FreeMemory() routines only if debugging.
1583
96e84919 1584Changes to squid-1.1.beta21 (November 22, 1996):
1585
431d84c5 1586 - Fixed setting entry->timestamp for NOT MODIFIED replies.
1587 - Changed old HTTP/1.1 Forwarded: header to new Via:.
431d84c5 1588 - Fixed needlessly calling storeSwapFullPath() in
1589 storeSwapOutHandle() (Mark Treacy).
1590 - Simplified hash linking (Mark Treacy).
1591 - Write pid_filename by default (Markus Gyger).
1592 - Changed "Invalid dnsserver output" to non-fatal debug_trap()
1593 (Joe Ramey).
1594 - Changed STORE_IN_MEM_BUCKETS to the prime 229 (Neil Murray).
59b9e1b4 1595 - Changed FD_SETSIZE to SQUID_MAXFD (Jonathan Larmour).
1596 - Strip :port from Host: header if present.
1597 - Reschedule fqdncache_dnsHandleRead() to prevent dnsservers
1598 from getting stuck (Makoto Ishisone).
1599 - Fixed handing SSL requests inside firewalls (Akira Sato).
1600 - Fixed passthrough neighbor selection bug (Akira Sato).
1601 - Removed 'post_buf' stuff from http.c.
6982963c 1602
431d84c5 1603Changes to squid-1.1.beta20 (November 17, 1996):
58336fe1 1604
1605 - Changed neighbor_domain_type to neighbor_type_domain in
1606 squid.conf.
58336fe1 1607 - Changed all 'xstrerror' debug messages to section 50.
1608 - More const fixes (Markus Gyger).
1609 - Added xstrncpy() which null-terminates (Markus Gyger).
8ea68e8d 1610 - Fixed Cache-Control counting in HTTP reply header stats.
85ec1ab9 1611 - Relocated rfc1738_unescape() calls in ftpget so that
1612 ftp://foo.org/%2fbar/ works (Jonathan Larmour).
396b6d21 1613 - Fixed forwarding loop for a pair of neighbors behind a firewall.
1614 - Cleaned up ftpget non-blocking flags (Jean-Hugues ROYER).
58336fe1 1615
3f7009a3 1616Changes to squid-1.1.beta19 (November 13, 1996):
1617
4621df3e 1618 - Fixed havoc-wreaking getsockname() bug (Noriyuki Soda
1619 <soda@sra.co.jp>).
3f7009a3 1620 - Fixed InvokeHandlers() debug_trap bug.
1621 - Lock entry while calling swapin handler in case someone tries to
1622 release it.
1623 - Changed configure to allow overriding of XTRA_LIBS in config.site.
4621df3e 1624 - Fixed comm_accept() FMR bug.
1625 - Replaced MemObject->fd_of_first_client structure member with
1626 storeFirstClientFD() function.
3f7009a3 1627
fe26d5d1 1628Changes to squid-1.1.beta18 (November 13, 1996):
1629
1630 - Fixed 'void *buf' bug icpCreateMessage() (Jean-Hugues ROYER).
1631 - Fixed more NULL 'friends' bugs.
1632 - Added debug_trap for NULL mem->clients in InvokeHandlers()
1633 (Mark Treacy).
1634
4a45acc4 1635Changes to squid-1.1.beta17 (November 12, 1996):
1636
1637 - Fixed NULL friends coredump in neighbors_open().
1638 - Added setting HAVE_TEMPNAM back to the configure script.
1639 - Fixed h_errno bug on NeXTStep (frank@langen.bull.de).
1640 - Fixed expiresMoreThan() bug causing all UDP_MISS replies.
1641 - Changed 'background.c' to 'event.c' and merged all periodic
1642 functions into an event queue.
1643 - Renamed httpParseHeaders() to httpParseReplyHeaders().
1644 - Added support for sending HTTP/1.1 'Cache-Control: max-age=X'
1645 in requests. The max-age value is taken from the
1646 'refresh_pattern' rules.
1647 - Added support for parsing max-age in client request.
1648 - Split icpUdpSend() into simpler icpUdpSend() plus
1649 icpCreateMessage().
1650 - Force storeAbort() for dispatched objects in
1651 asciiLifetimeHandle().
1652 - Fixed firewall-related bug when the DNS lookup fails.
1653 - Fixed '#define HAVE_GETRUSAGE' bug (Takahiro Yugawa).
1654 - Made storeStartDeleteBehind() quiet for 'no-proxy' neighbors.
1655 - Fixed log_quote() signed/unsigned bug (Ron Gomes).
1656
f39d06a2 1657Changes to squid-1.1.beta16 (November 8, 1996):
9d98b6ba 1658
1659 - Fixed type of Config.level{One,Two}Dirs.
1660 - Fixed calling storeRegister and storeUnregister with NULL a entry.
1661 - Fixed objcache "squid.conf" request and now require a
1662 password for it (Jan.Harkes@cwi.nl).
1663 - Added check for dotted-quads in matchInsideFirewall()
1664 (Andreas Lamprecht).
1665 - Fixed up some HTTP/1.1 Cache-Control parsing (Ed Knowles).
1666 - Fixed IP ACL memset() bug when -DPURIFY=1.
1667 - Resurrected storeEntryValidToSend().
1668 - Moved storeSetPrivateKey() calls to storeReleaseRequest().
1669 - Added separate config line (neighbor_type_domain) for modifying
1670 neighbor type (parent vs. sibling) for certain domains. Adding
1671 it to cache_host_domain doesn't provide needed flexibility.
1672 - Added User-Agent log patch (Joe Ramey).
1673 - Added httpd-accel Host: patch (Miguel A.L. Paraz).
1674 - Changed ident lookup stuff to require the lookup before
1675 checking ACL's. If you have 'ident_lookup on' then this
1676 may cause noticable delay while waiting for the ident
1677 lookup.
2a88be88 1678 - Fixed storeSwapOutHandle() FMR bug.
4a45acc4 1679 - Stopped inserting incorrect Host: header for proxy-HTTP requests.
9d98b6ba 1680
86b61a3f 1681Changes to squid-1.1.beta15 ():
1682
1683 - Fixed entry->clients[].fd initialization bug causing all
1684 large objects to get stuck.
193efd1c 1685 - Changed /www.nlanr.net/Squid/ to /squid.nlanr.net/Squid/.
86b61a3f 1686
f71d7952 1687Changes to squid-1.1.beta14 ():
1688
1689 - Added pw_encrypt() check to configure.
1690 - Added 'cache_stop_relist' for a regular expression based
1691 stoplist.
1692 - Fixed checkRefresh() to not cause IMS request for objects
1693 which have not yet expired, but are past the LM-factor.
1694 - Fixed asciiConnLifetimeHandle() to force storeAbort() for
1695 pending objects.
0ee4272b 1696 - Made lots of variables and args 'const' (Markus Gyger).
f836f80d 1697 - Added cachemgr password support in squid.conf (Yaroslav M.
1698 Levchenko). Each cachemgr operation may have a separate
1699 password. Shutdown and all "log" operations must be
1700 password-protected.
1701 - Removed debug_trap() calls in squid_error_entry().
1702 - Removed InvokeHandlers() call from StoreAbort().
0230ad3e 1703 - Added icpHandleAbort() to deliver abort messages, if at all.
ae7d848d 1704 - Added passthrough module (pass.c) for POST, et. al.
650c98da 1705 - Fixed purify bugs in storeCloseLog() and storeSwapInHandle().
0230ad3e 1706 - Merged store 'pending list' into 'client list.'
6982963c 1707 - Made number of first- and second-level swap directories
1708 configurable (Ralph Loader).
f71d7952 1709
9c1d8929 1710Changes to squid-1.1.beta13 (November 1, 1996):
1711
861f7d39 1712 - Fixed base64_code[] typo bug (Joe Ramey).
1713 - Fixed errors being returned as empty objects.
1714 - Changed order of sanity checks in neighborsUdpAck().
9c1d8929 1715 - Made swap log pathname configurable with 'store_swap_log'.
1716 - Made 'http_accel virtual 80' same as -V on command line.
1717 - Fixed string termination bug in base64_decode() (Joe Ramey).
861f7d39 1718
55b34d8e 1719Changes to squid-1.1.beta12 (October 31, 1996):
727348b4 1720
1721 - Fixed ICMP 'pinger' failure detection.
1722 - Fixed handling of no-cache for negative-cached objects.
55b34d8e 1723 - Replaced protoUnregister() call in icpDetectClientClose().
1724 - Fixed calling storeReleaseRequest() on unlocked objects.
727348b4 1725
21da08b3 1726Changes to squid-1.1.beta11 (October 29, 1996):
0d3b2381 1727
b5cc294e 1728 - Fixed rfc1123() to use actual RFC1123 time format.
1729 - Made Store Hash parameters configurable
1730 - store_objects_per_bucket
1731 - store_avg_objects_size
1732 - Fundamental changes to object TTLs; now think in terms of
1733 refresh times. Replaced 'ttl_pattern' with 'refresh_pattern'.
1734 - Dropped 'http', 'ftp', and 'gopher' config options.
1735 - Added a single 'maximum_object_size' value.
1736 - Moved storeStartDeleteBehind() calls from http/ftp/gopher to
1737 storeAppend().
1738 - Moved storeClientListAdd() call from store to client/icp
1739 because of storeClientCopy() race condition between IMS
1740 replies and objects in delete behind mode.
1741 - renamed TCP_EXPIRED* to TCP_REFRESH*.
1742 - Stopped appending error messages to partially delivered
1743 objects.
e7aa3d17 1744 - Removed protoUnregister() call in icpDetectClientClose()
1745 as probable cause of storeReleaseRequest() warnings.
b5cc294e 1746
e2971793 1747Changes to squid-1.1.beta10 (October 24, 1996):
91b74eb8 1748
1749 - Fixed neighborsUdpAck() coredump bug and made debug messages
1750 more consistent.
1751 - Removed old REQ_ACCEL test (Miguel A.L. Paraz)
1752 - Fixed process RSS value for SGI (Ed Knowles).
1753 - Fixed parseAddressLine() to use gethostbyname(3) because
1754 its called before ipcache_init(). (Miguel A.L. Paraz)
1755 - Fixed announce bug since beta7 causing caches to be announced
1756 regardless of 'announce_to' setting. (Paul Southworth)
1757 - Fixed pinger 'last_check_time' bug.
1758 - Changed storeEntry->flag and storeEntry->refcount back to
1759 32-bit ints.
1760 - Removed extra "\r\n" for abort error messages.
1761 - Numerous hash fixes from Mark Treacy.
360f7bea 1762 - Renamed rfc850 to rfc1123.
e2971793 1763 - Changed storeRelease to not make recursive call for HEAD
1764 objects.
1765 - Changed return value semantics of storeRelease().
91b74eb8 1766
1a1ca352 1767Changes to squid-1.1.beta9 (October 21, 1996):
1768
1769 - Added 'make depend' target to Makefiles.
1770 - Fixed changing the wrong instance of 'opt_catch_signals'
1baa4e8a 1771 in tools.c for beta8.
1a1ca352 1772 - Fixed xmemcpy macros in include/config.h (Ed Knowles).
1fb83a91 1773 - Fixed logging of "TCP_EXPIRED_MISS/304."
1a1ca352 1774
5ecceaa4 1775Changes to squid-1.1.beta8 ():
1776
1777 - Added client_db.c; keeps stats on clients, use cachemgr
1778 to view client list.
1779 - Stop sending ICP_OP_DENIED to clients if 95% of their
1780 queries are denied (then they'll think we're dead).
366b96f1 1781 - Fixed objects getting stuck in VM when handling aborted
1782 requests in icpHandleIMSReply().
a4be6552 1783 - If IMS verification fails, send the old object and log it
1784 as TCP_EXP_FAIL_HIT.
1785 - Added Host: header to HTTP requests.
10660f97 1786 - Disable dnsservers with 'dns_children 0' in the config file.
1787 - Disable ftpget with 'ftpget_program none' in the config
1788 file. Also ftpget is disabled for http_accel mode.
6211a7c1 1789 - Changed cachemgr stats/objects listing format.
1790 - Added some missing "entry->refcount++"
1791 - Changed StoreEntry->timestamp to be the last verification time.
1792 (was the stored-on-disk time).
1793 - Fixed stuck objects from "304 Not Modified" responses without
1794 final blank line.
1795 - Added failure detection to icmpRecv().
0b6d1622 1796 - Fixed backwards logic in debug_trap().
72827a42 1797 - Fixed neighbor caches remaining in 'DEAD' state. Reorganized
1798 handling ICP replies so neighborsUdpAck gets called for
1799 most every reply.
5ecceaa4 1800
19037ac2 1801Changes to squid-1.1.beta7 (October 14, 1996):
6ac8a46c 1802
1803 - Combined and renamed comm_set_select_handler() functions.
e2b8bf57 1804 - Fixed netdbPingSite() not checking n->next_ping_time.
1805 - Fixed acl.c to use regular gethostbyname() because IP cache
1806 isn't initialized while reading config file.
1807 - Linked ftpget with debug.o and removed lib/debug.c,
1808 lib/log.c.
19037ac2 1809 - Fixed matchDomainName() coredump for late ICP packets.
1810 - Removed date string from syslog messages.
1811 - Fixed ftpget BASE HREF.
1812 - Fixed pinger to check squid socket every 10 seconds.
6ac8a46c 1813
e90100aa 1814Changes to squid-1.1.beta6 ():
1815
1816 - Fixed lots of function prototypes, etc (Ed Knowles).
1817 - Added multicast patch (Martin Hamilton).
e2b8bf57 1818 - Replaced 'struct hostent' with 'struct ipcache_addrs' in IP
1819 cache.
cafd0944 1820 - Added ipcacheCycleAddrs() to round-robin IP addresses.
e2b8bf57 1821 - Added ipcacheRemoveBadAddr() to remove addresses from failed
1822 connect()'s.
1823 - Changed comm_connect() to comm_nbconnect() and removed other
1824 nonblocking connection handling code from other modules.
1825 - Improved cache memory usage. Now cache_mem specifies the
1826 size of the in-memory data pool. Hot objects use whatever
1827 space is not used by in-transit objects.
cafd0944 1828 - Removed 'max_hot_object_size' config option.
1829 - Fixed virtual-host coredump bug (Aaron Hopkins).
e90100aa 1830
300acab6 1831Changes to squid-1.1.beta5 (October 7, 1996):
1832
1833 - Fixed coredump in storeFreeMemory().
1834 - Fixed displaying repeated IP addresses in IP cache contents.
1835 - Added parent/sibling modifiers to cache_host_domain lines.
1836 - Added 'miss_access' to restrict fetching HTTP MISS requests.
1837 Use this to force your peer caches to use you as a sibling and
1838 not as a parent.
1839 - Added browser ACL patch (Carson Gaspar).
1840 - Added reading ACLs from file patch (Arjan de Vet).
6d2296d4 1841 - Squid-1.0 changes up to 1.0.18.
ee1d3cec 1842 - Added release/cleanup functions to net_db.c.
7efcb4b8 1843 - Added 'minimum_direct_hops' config option.
300acab6 1844
0ac25a67 1845Changes to squid-1.1.beta4 (September 26, 1996):
67508012 1846
1847 - Fixed coredump in icpStateFree() when calling
1848 checkFailureRatio().
1849 - Added more stuff to net_db.c.
1850 - Fixed memory leak in stat_ipcache_get().
1851 - Changed __P back to _PARAMS.
9d90e665 1852 - Fixed authorization parsing bug in ftp.c (Yoichi Shinoda).
1853 - Allow ICP socket on priveledged ports.
1854 - Added trap for STORE_PENDING objects when lock_count == 0.
1855 - Replaced 'cache_hot_vm_factor' with 'max_hotvm_obj_size'.
1856 - Moved ICMP socket to external 'pinger' program.
a65bb524 1857 - Moved tvSubMsec() to lib/util.c.
1858 - Moved accessLogTime() to debug.c.
4d1c96c0 1859 - Fixed handling of race condition in icpHandleIMSReply().
1860 - Fixed "\r\n\0" bug in gopherSendRequest();
1861 - Fixed cachemgr output for non-table browsers (Cord Beermann).
1862 - Moved accept() for dnsserver into Squid.
67e7a3e0 1863 - New SVR4 config stuff in contrib directory (Markus Gyger).
a88cc58a 1864 - Includes squid-1.0 changes up to 1.0.17.
73d94b9e 1865 - Fixed storeWriteCleanLog() bug which caused released objects
1866 to be kept.
0ac25a67 1867 - Added *FreeMemory() routines.
67508012 1868
1869Changes to squid-1.1.beta3 (September 16, 1996):
86ee2017 1870
1871 - s/()/(void)/
1872 - Fixed 8k page leak in icmpRecv().
473471f2 1873 - Use strerror() if available instead of sys_errlist[].
1874 - Misc ANSI-related cleanup.
d4488506 1875 - Added 'cache_stoplist' to specify things which should
1876 never get saved to disk.
1877 - Merged some parsing routines into parseWordlist().
1878 - Fixed icpHandleIMSReply() bug when HTTP reply headers
1879 received in multiple reads.
1880 - Changed all ipcache_nbgethostbyname() handler functions
1881 to be void.
1882 - Fixed bug when storeLockObject() fails for UDP_HIT_OBJ
1883 replies.
1884 - Simplified storeGet().
1885 - Removed meta_data.hash_links member.
caebbe00 1886 - Includes squid-1.0 changes up to 1.0.16.
e1d9800b 1887 - s/__STRICT_ANSI__/__STDC__/g
86ee2017 1888
67508012 1889Changes to squid-1.1.beta2 (September 12, 1996):
4c5cabe1 1890
49e75273 1891 - Switched to ANSI style coding.
b8d8561b 1892 - Fixed UDP_HIT_OBJ objects ignoring 'proxy-only' setting.
4c5cabe1 1893 - Added setting cachemgr.cgi fields from query string
1894 (Neil Murray).
1895 - Split log type TCP_IFMODSINCE into TCP_IMS_HIT and
1896 TCP_IMS_MISS
1897 - Replaced proto_hit() and proto_miss() with proto_count()
1898 which looks at log_type argument to calcultate hits
1899 and misses.
1900 - Split CacheInfo into HTTPCacheInfo and ICPCacheInfo.
1901 - Placed call to proto_count() just after log_append()
1902 so we only need it in one place.
1903 - Made a lot of proto.c functions static and added prototypes.
ce2869d0 1904 - Fixed icpProcessRequest() bug. Need to check EXPIRED
1905 before IMS.
eebe8724 1906 - Fixed aclDestroyDenyInfoList() to NULL free'd lists.
1907 - Fixed storeDirClean() to unlink files which should be
1908 directories (Cord Beerman).
be083e42 1909 - Added ICMP support. Source ping will use ICMP packets if
1910 compiled with -DUSE_ICMP=1 and started with root privleges.
4c5cabe1 1911
a09d6f9d 1912Changes to squid-1.1.beta1 (September 12, 1996):
36fd4d12 1913
1914 - Fixed stupid coredump bug in storeGetSwapSpace().
1915 - Cleaned up gopher.c; prototypes, make functions static, etc.
1916 - Added READ_DEFERRED entry flag. Only extend lifetime when
1917 first entering deferred mode.
1918 - Added debug_trap() to replace some fatal_dump()'s. Now use
1919 debug_trap for non-fatal errors. If -C option is set,
1920 then debug_trap is the same as fatal_dump.
1921
7690e8eb 1922Changes to squid-1.1.alpha18:
1923
7939435c 1924 - Fixed storeCheckPurgeMem() to both 'purge' *and* 'release'
1925 objects as needed.
7690e8eb 1926 - Fixed up RWStateCallbackAndFree() to prevent it from getting
1927 called twice.
1928 - Added 'deny_info' support for redirecting denied requests to
1929 a specific URL (maex@space.net).
1930 - Fixed protoUnregister() to not abort objects being swapped in.
d54ac2a3 1931 - Fixed parent-stays-dead-bug by removing PING_WAITING
1932 check in icpHandleIcpV?().
7690e8eb 1933 - Changed debug log timestamp format.
1934 - Fixed coredump-causing bugs in icpHandleIMSReply().
1935 - Fixed FMR bug in neighborsUdpAck() for UDP_HIT_OBJ replies.
1936 - Fixed up InvokeHandlers() to clear handler before calling.
35b9d444 1937 - Added -k signal option to signal a running Squid (Markus Gyger).
c28f8352 1938 - Removed dynamic_array code.
7939435c 1939
1ee4fb1a 1940Changes to squid-1.1.alpha17:
1941
1942 - Added more IMS support. Now Squid issues IMS requests for
1943 expired objects in the cache. Log type will be either
1944 TCP_EXPIRED_HIT if the server sends "304 Not Modified" or
1945 TCP_EXPIRED_MISS if the server send a new object.
49789bff 1946 - Added Config.expireAge and 'expire_age' to config.
1ee4fb1a 1947 - Fixed storeGetMemSpace() bug; need to check
1948 storeCheckPurgeMem() instead of storeEntryLocked().
1949 - Renamed icp_hit_or_miss() to icpProcessRequest().
1950 - Changed mkrfc850() to use normal variable instaed of a
1951 pointer.
1952 - Removed store_entry member from fd_table[] in comm.h.
1953 - Changed httpSendRequest to not tack Squid onto the 'User-Agent'
1954 line, Use HTTP/1.1 'Forwarded' instead.
1955 - Removed icpProcessHIT() which only called icpSendMoreData().
1956 - Removed icpProcessIMS() which only called icpGetHeadersForIMS().
1957 - Removed some 'Reset header fields for reply' crap.
1958 - added old_entry member to icpStateData for handling IMS
1959 requests.
1960 - Added 'locks' member to ipcache_entry; need to lock an
1961 ipcache entry during ipcache_call_pending().
1962 - Removed ipcache_call_pending_badname().
1963 - Cleaned up setting/clearing IP_LOOKUP_PENDING bit.
1964 - Removed storeEntryLocked() trap in storePurgeMem().
1965 - Added storeCheckExpired().
1966 - Removed storeWalkThrough() and removeOldEntry(), changed
1967 storePurgeOld() to do the walking through instead.
30ba5128 1968 - Added storeConfigure() so HUP signal affects store_swap size.
49789bff 1969 - Replaced some parsing functions with parseMinutesLine().
1970 - Added StoreEntry flag bit ENTRY_NEGCACHED.
1971 - Added storeNegativeCache().
1ee4fb1a 1972
1c481e00 1973Changes to squid-1.1.alpha16:
1974
e4289d4f 1975 - Fixed ipcache TTL bug from new ipcache_parsebuffer().
1976 - Copied recent ipcache.c changes to fqdncache.c
1977 - Copied icpHandleIcpV2() fix to icpHandleIcpV3().
1978 - incorporate squid-1.0.12 changes.
1979
70cbd177 1980Changes to squid-1.1.alpha15:
1981
1982 - Removed 'bad swap_status' trap in icpHandleIcpV2.
1983 Now skip ICP replies for StoreEntry's with ping_status
1984 != PING_WAITING.
1985 - Fixed numerous compiler problems.
1986
1450414d 1987Changes to squid-1.1.alpha14:
1988
1989 - Fixed ENTRY_DISPATCHED bug. ENTRY_DISPATCHED was not always
1990 getting set (e.g. for requests matching hierarchy_stoplist).
1991 This could cause multiple calls to storeAbort() for the same
1992 entry.
1993 - With ENTRY_DISPATCHED now fixed, call squid_error_entry()
1994 from protoUnregister() for StoreEntries which have not
1995 been dispatched.
1996 - Fixed 'quick_abort' parsing bug.
1997 - NULL terminate too-long URL strings in urlParse(). Still
1998 need fix to somehow handle these.
d5d836c0 1999 - Added shadow password patch from John Saunders
2000 <johns@rd.scitec.com.au>
1450414d 2001 - Added _dns_ttl_ hack from bne@CareNet.hu to get real TTL
2002 values from DNS queries. See Release-Notes-1.1.txt for more
2003 info.
d5d836c0 2004 - Added better '304 Not Modified' reply from Jaeyeon Jung
2005 <jyjung@cosmos.kaist.ac.kr>.
17d32ba1 2006 - Rewrote ipcache_parsebuffer().
1450414d 2007 - Fixed stupid clientProxyAuthCheck() bugs.
2008 - Made IP cache size configurable with 'ipcache_size'.
2009 - Fixed bug parsing 'cache_swap_low'.
2010 - Added -b option to ftpget to limit data transfer rate
2011 (bytes/sec). Specify on 'ftpget_options' in config file.
2012 - Miscellaneous filedescriptor management cleanup.
2013 - Renamed function getFromCache() to protoStart().
6bf5b6ec 2014 - Added delays when forking dnsservers, redirectors, and
2015 ftpget.
1450414d 2016 - Includes 1.0 changes up to 1.0.11.
2017
2018Changes to squid-1.1.alpha13:
2019
2020 - oops, there was no alpha13.
46aea673 2021
d744f553 2022Changes to squid-1.1.alpha12:
2023
57b7e562 2024 - Rewrote storeGetMemSpace().
2025 - Fixed hot_vm accounting; only count objects which are added
2026 to the IN_MEMORY table.
616e163d 2027 - Changed protoUndispatch() to never call squid_error_entry().
57b7e562 2028 Should fix storeSwapOutHandle() and 'HELP! Someone is
2029 swapping out a bad entry' coredumps.
2030 - Report all error pages to the debug log.
d744f553 2031 - Added -i option which forces IP cache entry to be invalidated
2032 just after an object retrieval begins.
af00901c 2033 - Includes all squid-1.0 changes up to squid-1.0.10.
2546fcb3 2034 - Added patch from srb@cuci.nl (Stephen R. van den Berg) for
2035 - ttl_force_pattern
2036 - quick_abort min pct max
1ce5b828 2037 - Added a proxy authentication patch from Jon Thackray
2038 <jrmt@uk.gdscorp.com>. Must add -DUSE_PROXY_AUTH=1 to src/Makefile.
c85e0538 2039 - Cleaned up calling maintenance functions from main().
616e163d 2040
dd263318 2041Changes to squid-1.1.alpha11:
2042
2043 - Fixed sscanf() bug in storeDirClean()
2044 - Fixed coredump in squid_error_entry() on Config.errHtmlText.
dfdb0343 2045 - Added redirector stats entry to cachemgr.cgi.
dd263318 2046 - Call ipcache_purgelru() during an idle timeout.
2047 - Changed fqdnFromAddr() to copy inet_ntoa() result into a
2048 static buffer.
1387baa5 2049 - Fixed storeDirClean() printf format.
dd263318 2050
9cc8a658 2051Changes to squid-1.1.alpha10:
2052
2e0569ed 2053 - Fixed directory increment bug in storeDirClean().
9cc8a658 2054 - Misc little changes trying to track town random coredumps.
2055 - Includes all squid-1.0 changes up to squid-1.0.8.
2e0569ed 2056
004b3381 2057Changes to squid-1.1.alpha9:
2058
2059 - Fixed parsing of redirected URLs.
2060 - Changed URL redirection to pass in client address, ident, and method.
2061 - Fixed NULL pointer coredump in log_append().
2062 - Don't swap negative-cache objects to disk (storeCheckSwappable())
2063 - Only purge MemObject if entry is swapped to disk.
2064 - Includes all squid-1.0 changes up to squid-1.0.7
cd2e6c01 2065 - Fixed purify free memory errors in clientAccessCheck().
004b3381 2066
642a7c42 2067Changes to squid-1.1.alpha8:
2068
eaa77841 2069 - Removed all references to hierarchy.log.
2070 - Changed hierarchy_log_append() to hierarchyNote() and added
2071 _hierarchyLogData structure.
642a7c42 2072 - Fixed "tty input" bug where a reverse lookup request was
2073 written to stdout.
2074 - Cleaned up pointers in protoUnregister().
0a5b9b32 2075 - Includes all squid-1.0 changes up to squid-1.0.6.
2546fcb3 2076 - cache_swap 0 is allowed (proxy only server, no swapping), mainly
2077 intended for fast maintenance startups where the system already
2078 has to be running, but the disk(s) have not been fsck'd yet.
2079 - quick_abort actually works now
2080 - quick_abort functionality made conditional
2081 - ttl_pattern storage wasn't being cleaned upon a reread of
2082 the config file (the patterns were added only, got duplicates)
2083 - ttl_force_pattern a new config option to override the settings
2084 of certain pages despite (or because) of enforced low expiry times
2546fcb3 2085
98d030e6 2086Changes to squid-1.1.alpha7:
2087
c10b625a 2088 - Added 'tcp_recv_bufsize' option to config.
2089 - Changed NEIGHBOR to SIBLING where appropriate.
2090 - Split UDP_HIT_OBJ into {PARENT,SIBLING}_UDP_HIT_OBJ
2091 - Misc casts and cleanup from running Insight.
2092 - Replaced all get*() functions with direct references to
2093 Config structure.
98d030e6 2094 - Removed 'http_stop', 'ftp_stop', and 'gopher_stop' from config.
2095 - Added 'ssl_proxy' config for forwarding all SSL requests to
2096 another proxy.
2097 - Includes all squid-1.0 changes up to squid-1.0.5.
c10b625a 2098
40878e17 2099Changes to squid-1.1.alpha6:
2100
2101 - Changed storage manager to use a two level directory
2102 structure. This makes squid-1.1 incompatible with squid-1.0!
4349cb51 2103 (Mark Treacy).
40878e17 2104 - Added last modification time to the StoreEntry structure, and
2105 the swap log.
2106 - Changed how memory passed to comm_write() gets freed. Now
2107 pass in a free handler function which gets called when the
2108 RWStateData structure is destroyed.
2109 - Other misc cleanup.
2110 - Added a reverse-address-lookup cache (``fqdncache'').
2111 - Added support for threaded ACLs for destination IP addresses
2112 and source hostnames.
2113 - Use aclMatchDomainList() instead of aclMatchWord() for domain names.
2114 - Renamed cachemgr 'stats/general' to 'stats/ipcache'.
2115 - Added 'log_fqdn' option to config file.
2116 - Added 'client_netmask' to config file.
2117
baa49bd2 2118Changes to squid-1.1.alpha5:
fb3310f1 2119
baa49bd2 2120 - Got Asynchronous I/O stuff to compile and run on IRIX 5.3
fb3310f1 2121 - Cleaned up diskHandleWrite()
2122 - Added free() handler to struct dwrite_q so diskHandleWrite()
2123 can free memory after its been written.
2124 - Changed file_open() to not allow files to be opened O_RDWR.
2125 - Changed file_open() to always set O_APPEND for O_WRONLY files.
14ea2549 2126 - Includes all squid-1.0 changes up to squid-1.0.2.
fb3310f1 2127
499109b3 2128Changes to squid-1.1.alpha4:
2129
2130 - Fixed Asynchronous Disk I/O routines to basically work.
2131 - Fixed memory write bugs when using the redirector.
2132 - Added support for non-anonymous FTP urls without needing a
2133 password in the URL.
2134
27386800 2135Changes to squid-1.1.alpha4:
2136
2137 - Changed cachemgr detailed filedescriptor info to be a separate item.
2138 - 'no-cache' reload now discards bad IP cache entries too.
2139 - Added 'echo request' URL hack: http://cachehost:3128/echo
2140 - Added URL redirector feature.
2141 - Addeed 'ident_lookup' option to config file
8929e8c7 2142 - Fixed http to never rely on blocking IP cache lookups.
2143 - Removed need for locked IP cache entries.
f13e2386 2144 - Changed free page stacks to always free pages if more than
2145 'max' are allocated.
27386800 2146
1ef4c6c1 2147Changes to squid-1.1.alpha3:
983061ed 2148
898f5d1d 2149 - Added Asynchronous Disk I/O routines from Pete Bentley.
27386800 2150 (NOTE, not yet working for IRIX 5.3).
1ef4c6c1 2151 - Made squid native access log the default format.
2152
2153Changes to squid-1.1.alpha2:
2154
2155 - Added support for RFC931/ident
2156
2157==============================================================================
9cc8a658 2158
6d2296d4 2159Changes to squid-1.0.18 (October 7, 1996):
2160
2161 - Added INADDR_NONE to cachemgr.c for Solaris.
2162 - Added checks to deal with Harvest Cached neighbors which don't
2163 handle Squid's ICP version 2.
2164
233794cd 2165Changes to squid-1.0.17 (September 24, 1996):
2166
2167 - Fixed cachemgr.cgi to handle an arbitrary IP address (Ron
2168 Gomes)
2169 - Fixed syslog() calls to use syslog(X, "%s", buf) (Yoichi
2170 Shinoda).
2171 - Copied ipcache locking stuff from v1.1.
2172 - Copied httpConnect() from v1.1 for non-blocking DNS lookups.
2173 - Fixed "\r\n\0" bug in gopherSendRequest();
2174
caebbe00 2175Changes to squid-1.0.16 (September 16, 1996):
2176
2177 - Fixed shadow passwd support (John Saunders).
2178 - Added checkFailureRatio() to detect high fail:success ratios
2179 and go into ICP "hit only" mode for 5 minutes when the ratio
2180 exceeds 1.
2181 - Added ip_acl_destroy() to reset 'local_ip' and 'firewall_ip'
2182 on HUP signal.
2183
2184Changes to squid-1.0.15 (September 13, 1996):
2185
2186 - Fixed stupid bugs from moving icpState->flags to
2187 request->flags.
2188
2189Changes to squid-1.0.14 (September 13, 1996):
2190
2191 - Added '#if DELAY_HACK' code for Mike Groeneweg
2192 <mikeg@scorpion.murdoch.edu.au>.
2193 - Fixed debug bug in ttlSet().
2194 - Moved icpState->flags to request->flags.
2195 - Fixed edgeWouldBePinged() to skip SIBLINGS and NO-CACHE
2196 requests.
2197 - Fixed bad SET/TEST in httpProcessReplyHeader() (Miguel A.L.
2198 Paraz).
2199
2200Changes to squid-1.0.13 (September 12, 1996):
2201
2202 - Fixed ftpget parsing PASV reply bug (Carson Gaspar).
2203 - Forced include of <netinet/in_systm.h> for NeXT (Holger
2204 Hoffstaette).
2205 - Promulgate tcp_outgoing_addr to ftpget with -o option (Edward
2206 Moy).
2207 - add Date: header to Squid-generated Gopher objects (Geoffrey
2208 Keating).
2209 - cachemgr.cgi HTML fixes (Cord Beermann).
2210 - Collapsed some config parsing functions to parseOnOff().
2211 - Added config option: memory_pools on|off
2212 - Added config option: udp_hit_obj on|off
2213 - Added config option: forwarded_for on|off
2214 - Copied better stmem.c and stack.c routines from v1.1 code.
2215 - Added support for HTTP/1.1 Cache-Controls 'private' and
2216 'no-cache'.
2217 - Copied dnsserver "hello/alive" test from v1.1 code.
2218
1c481e00 2219Changes to squid-1.0.12 (September 3, 1996):
2220
2221 - Fixed urlCheckRequest() to allow CONNECT/SSL requests.
2222 - Change default socket send/receive buffers to 16k (in
2223 configure) instead of 8k, mainly for Solaris.
2224 - Fixed urlParse() to remove trailing dots from hostnames.
2225 - Added 'ttl_pattern/i' config tag for case-insensitive
2226 regular expressions.
2227 - Fixed swapin_complete_handler FMW bug in storeSwapInHandle().
2228 - Removed 'Invalid object detected' trap in storeValidToSend().
2229
a8f7d3ee 2230Changes to squid-1.0.11 (August 30, 1996):
2231
2232 - Fixed ENTRY_DISPATCHED bug. Now set ENTRY_DISPATCHED
2233 only in getFromCache().
2234 - Added missing newlines to a number of debug messages.
2235 - NULL-terminate long URL's in urlParse().
2236 - Changed configure to remove libmalloc for FreeBSD
2237 - Changed ftpget to assume a single space between date and
2238 filename in Unix sytle listings.
2239 - Added urlCheck() to check for supported method/protocol
2240 combinations and return "501 Not Implemented" when
2241 appropriate.
2242 - Added ftpget check for negative port numbers in PASV
2243 reply.
2244 - Added shadow password support for cachemgr shutdown.
2245
af00901c 2246Changes to squid-1.0.10 (August 26, 1996):
2247
2248 - Fixed INADDR_NONE not being set for ftpget.c.
2249 - Remove "Connection: Keep-Alive" lines from HTTP requests
2250 since Squid doesn't support them.
2251 - Fixed IP Address/netmask bug. Now 1.2.3.4/255.255.255.0 is
2252 equivalent to 1.2.3.0/255.255.255.0.
2253
2254Changes to squid-1.0.9 (August 22, 1996):
2255
2256 - Cleaned up ipcache_purgerlu().
2257 - Fixed ipcache_gethostbyname() to release expired entries.
2258 - Added check for numeric addresses to ipcache_nbgethostbyname().
2259 - Added Date: field to ftpget's HTTP header output.
2260 - Added temporary hack to httpProcessReplyHeaders() to allow
2261 caching of non-HTTP objects fetched from neighbors when
2262 the header does not have Date, Expires, or Last-Modified.
2263 - Added a check for a valid ICP socket before sending ICP
2264 queries.
2265 - Fixed SSL code to unregister DNS lookups if client aborts.
2266 - Removed lib/host_cache.c from distribution.
2267 - Made IP cache stats output sorted by last reference.
2268 - Added ICP internet-draft to docs directory.
2269
9cc8a658 2270Changes to squid-1.0.8 (August 19, 1996):
2271
2272 - Added ftpget fixes from carson@lehman.com and moy@parc.xerox.com.
2273 - Fixed -s option to enable syslog logging.
2274 - Added 'err_html_text' for configurable error messages.
2275 - Fixed protoDispatchDNSHandle() to not try a direct fetch if
2276 host is beyond firewall_ip list.
2277 - Changed storeDirClean() to handle one directory per call and
2278 not keep the dirhandle open between calls.
2279 - Changed .zip MIME type to "application/x-zip-compressed".
2280 - Added new 'url_regex' ACL type, regular expression match over
2281 the whole URL.
2282 - Removed xrealloc() call from storeClientListAdd().
2283
004b3381 2284Changes to squid-1.0.7 (August 14, 1996):
2285
2286 - Added "store_clean" routines to periodically remove orphaned
2287 swap files.
2288 - Increased StoreEntry->method_t from 3 to 4 bits, probably fixes
2289 storeGenerate*Key() coredumps.
2290 - Added debugging to examine_select().
2291 - Added peer address to debugging for Ignored ICP packets.
2292
65159151 2293Changes to squid-1.0.6 (August 12, 1996):
2294
2295 - Fixed coredump in icpStateFree() for bad requests.
2296 - Fixed configure bug in determining FD_SETSIZE.
2297 - Fixed garbage collection to stop if SIGTERM received.
2298 - Fixed pid file to be written just before 'ready to serve requests'.
2299 - Fixed CheckQuickAbort() lock_count bug.
2300 - Fixed setting the hierarchy code for access.log when the
2301 hierarchy.log is disabled.
2302 - Fixed urlParse() to fail for URLs longer than MAX_URL bytes.
2303 - Fixed icpDetectClientClose() to detect TCP half-close and
2304 not abort the connection.
2305
2306Changes to squid-1.0.5 (July 25, 1996):
2307
2308 - Added ICP_OP_RELOADING to be used instead of ICP_OP_DENIED
2309 for -Y option.
2310 - Moved hierarchy_code for access.log from MemObject to
2311 request_t so simultaneous client readers don't get the same
2312 hierachy code.
2313
2314Changes to squid-1.0.4 (July 24, 1996):
2315
2316 - Fixed ftpget logic/precedence bug
2317 - Fixed ttlSet() to choose TTL as offset from when the object
2318 was originally served, not the current time.
2319 - Fixed configure bug with setting GETTIMEOFDAY_NO_TZP.
2320 - Removed unnecessary call to ipcache_gethostbyname() in
2321 sslConnect().
2322 - Fixed stupid memset() bug in gopher.c causing
2323 a huge block of stack memory to be zeroed.
2324
2325Changes to squid-1.0.3 (July 18, 1996):
2326
2327 - Fixed FTP to send 'Ascii' or 'Binary' based on MIME encoding,
2328 not content-type.
2329 - Changed icpHierarchical() to allow IMS requests to neighbors
2330 if they all support Squid's private keys.
2331 - Fixed icpUdpSend() to not ask for a HIT_OBJ reply if the
2332 HTTP request included 'Pragma: no-cache'.
983061ed 2333
14ea2549 2334Changes to squid-1.0.2 (July 16, 1996):
2335
2336 - Fixed HTTP code in access.log for TCP_IFMODSINCE requests.
2337 - Fixed SSL to not read again until previous write is complete.
2338 - Added CPU usage percentage in cachemgr 'info' output.
2339 - Fixed bug when removing a neighbor. Forgetting to decrement
2340 friends->n causes a duplicate ICP query to be sent in
2341 neighborsUdpPing().
2342 - Increased some MAX_URL sized character buffers to prevent
2343 overflows.
2344
30a4f2a8 2345Changes to squid-1.0.1 (July 8, 1996):
2346
2347 - Fixed ftpget server looping on socket EOF condition.
2348 - Fixed SA_RESETHAND undefined bug.
2349 - Fixed half-hour timezone offset bug.
2350 - Fixed parse_rfc850() to return -1 instead of 0 upon error.
2351 - Added patch for Motorola systems from Tony Lorimer.
2352 - Added support for HTTP PUT method.
2353 - Added check for <netinet/tcp.h> for HP-UX.
2354 - Added GNU General Public License.
2355 - Changed ttlSet() to use Date field if Last-Modified is absent.
2356 - Changed http.c to not save objects from neighbors which do
2357 not have Date, Last-Modified, or Expires values.
2358 - Changed some large local character arrays to static.
2359
2360Changes to squid-1.0.0 (July 1, 1996):
2361
2362 - Fixed beta17 "fd_lifetime" typo bug
2363 - Added 'firewall_ip_list' to configuration options
2364 - Set resolver options to disable searching default domains
2365 and parent domains.
2366 - Added blocking-rebuild -F option.
2367 - Fixed storeMaintainSwapSpace to be called every 10 seconds.
2368 - Fixed ICP_HIT_OBJ bug causing objects to get stuck in VM.
2369 - Fixed matching the ends of domain names (e.g. bar.com no
2370 longer matches foobar.com).
2371 - Fixed checking return code from fprintf() while writing the
2372 clean swap log.
2373 - Fixed fatal_dump from storeSwapoutHandle running out of disk
2374 space.
2375 - Added disabling of a neighbor cache if 95% of replies are
2376 UDP_DENIED.
2377 - Added accounting for misc memory/data structures
2378 - Added 'no-query' option for 'cache_host' config line
2379 - Added error reporting to SSL requests.
2380 - Fixed SSL bug, client abort was not closing the server
2381 side connection.
2382 - Fixed checking hierarchy_stoplist bug.
2383 - Fixed ipcache error messages by giving each entry its
2384 own string.
2385 - Use sigaction() instead of signal() if available.
2386 - Fixed ipcache bug causing some lookups to get stuck in
2387 PENDING state if all dnsservers are busy.
2388 - Fixed domain name matching bug when using '.com' instead of
2389 'com'.
2390 - Fixed close_handler coredump bug in comm.c.
2391 - Removed unnecessary DNS lookup of hostnames in WAIS URLs.
2392
2393Changes to squid-1.0.beta17 (June 12, 1996):
2394
2395 - Fixed another ipcache coredump problem where an entry could
2396 be released between writing to and reading from dnsserver.
2397 - Fixed store.c bug of purging aborted objects.
2398 - Cleaned up checkLifetimes() function to make it simpler.
2399 - Added visible_hostname support to ftpget.
2400 - Fixed null edge dereferencing bug for UDP_HIT_OBJ.
2401
2402Changes to squid-1.0.beta16 (June 10, 1996):
2403
2404 - Fixed two coredump-causing bugs in ipcache_unregister().
2405 - Changed 'close_handler' to a linked list.
2406 - Changed freeing of protodispatch_data structures to use
2407 new close_handler (attached to client FD).
2408 - Fixed URL handling to accomodate browswers which do not handle
2409 relative URL parsing.
2410
2411Changes to squid-1.0.beta15 (June 9, 1996):
2412
2413 - Fixed storeSwapoutHandle coredump bug
2414 - Fixed DNS lookup failure of neighbor hosts after a few hours
2415 of operation
2416 - Changed memcpy() to memmove() for overlapping memory copies
2417 - Changed store rebuidling to unlink the log-last-clean file
2418 in case of a crash during rebuild
2419 - Added forwarding loop detection
2420 - Changed all memcpy to use xmemcpy which is memmove, bcopy, or
2421 memcpy.
2422 - Fixed coredump bug from partial dnsserver reads, manifest on
2423 FreeBSD and NetBSD.
2424
2425Changes to squid-1.0.beta14 (June 7, 1996):
2426
2427 - Fixed coredump bug in icp.c when generating ``Not Modified''
2428 replies.
2429 - Fixed SSL bug which assumed the requested host name would
2430 already be in the IP cache.
2431 - Fixed names of generated HTTP reply headers.
2432
2433Changes to squid-1.0.beta13 (June 7, 1996):
2434
2435 - Fixed coredump bug where StoreEntry key was free'd too soon.
2436 - Fixed UDP_HIT_OBJ bug: cancel the hierarchy timeout and set
2437 the ping_status to DONE for UDP_HIT_OBJ replies.
2438
2439Changes to squid-1.0.beta12 (June 6, 1996):
2440
2441 - Fixed problem when using udp_outgoing_addr where no ICP
2442 packets would be recieved because they were getting sent
2443 to the "outgoing" instead of the "incoming" socket.
2444 - Fixed objects hanging around in cache after a keychange.
2445 - Added ability to restrict neighbor caches with ACLs.
2446 ('cache_host_acl').
2447 - Fixed ssl FD mismatch bug.
2448 - Fixed INADDR_NONE bug on 64bit systems.
2449 - Fixed store rebuilding bug; temporary log file was not being
2450 truncated.
2451 - Made all external processes communicate with TCP sockets
2452 (no more Unix domain sockets).
2453 - Semi-major rewrite of ipcache implementation.
2454 - Fixed a couple memory bugs found by purify.
2455 - Fixed sending large (>8192 bytes) HTTP requests.
2456 - Added "lazy" server IP address ACL checks (type 'dst').
2457 - Changed handling of IMS requests. Now will return "304
2458 Not Modified" if the requested object is in the cache
2459 and not expired.
2460
2461Changes to squid-1.0.beta11 (June 1, 1996):
2462
2463 - Fixed serious memory leak of MemObject->reply structures.
2464
2465
2466Changes to squid-1.0.beta10 (May 31, 1996):
2467
2468 - Fixed bug when request arrives in fragmented IP packets.
2469 - Fixed ACL bug which denied cache manager access while in
2470 httpd_accel mode.
2471 - Changed ftpget to "fail nicely" for sites which do not allow
2472 PORT requests (if compiled with PASVONLY).
2473 - Fixed Unix domain socket off-by-one bug in ftpget.
2474 - Fixed lingering sockets after shutdown by SIGTERM.
2475 - Added dnsserver use histogram to ipcache stats.
2476 - Changed domain ACL's to match only the end of the hostname, not
2477 just anywhere in the string.
2478 - Fixed setuid bugs when pid_filename was not defined
2479 - Fixed zero-sized object getting stuck in VM.
2480 - Configure checks for working UNIX domain stream sockets
2481 - Rotate cache.log before the others
2482 - SIGUSR2 now toggles between full and normal debugging
2483 - Close and restart ftpget server during logfile rotation
2484 - Added memory pools for request_t and MemObject data structures.
2485 - Added new address binding options for more control
2486
2487Changes to squid-1.0.beta9 (May 23, 1996):
2488
2489 - Fixed storeToString() coredump bug on 'swap_buf'
2490 - Added back the CIDR notation functionality to decoding IP
2491 address ACLs.
2492 - Fixed ftpget listing parsing coredump bug.
2493 - Fixed neighborsUdpAck() coredump for late-arriving ICP replies.
2494
2495Changes to squid-1.0.beta8 (May 22, 1996):
2496
2497 - More friendly CFLAGS and LDFLAGS for configure
2498 - ACL_ALLWEEK bugfix
2499 - Added missing increment of UDP connection counter.
2500 - Changed ftpget select to check for EWOULDBLOCK/EAGAIN
2501 (workaround for broken Solaris select(2)).
2502 - Fixed MALLINFO calls for Linux
2503 - Fixed strerror() problems on SunOS 4.1.x
2504 - Fixed DefaultAnnounceRate; set to zero by defult.
2505 - Changed all port variables to u_short.
2506 - Created AF_UNIX versions of comm_open(), comm_connect().
2507 - Changed ftpget server to use UNIX domain socket.
2508 - Removed RESET_SIGNAL_HANDLER check--always reset the signal
2509 handler.
2510 - Added instrumentation of basic IPCache stats.
2511 - Fixed calculation of neighbor average RTT.
2512 - Added 'outbound_addr_list' to config
2513 - Change getFirstParent() to getFirstUpParent().
2514 - Changed ftpget to use an additional pipe() for crash detection
2515 - Added ICP_OP_DENIED message type
2516 - Added patches for Nextstep port from Luke Howard
2517 <lukeh@vurt.schnet.edu.au>
2518 - Added a lifetime to HTTP server connections being deferred.
2519 - Added IP address ranges in 'src' ACLs
2520 - Added FQDN's in 'src' ACLs
2521 - Fixed request structure free-memory-read/coredump bug.
2522 - Changed icp.c to select on client socket to detect aborts.
2523 - Better compliance with HTTP/1.1 *DRAFT* regarding which reply
2524 codes can be cached.
2525 - Added 'hierarchy_stoplist' configuration option.
2526 - Changed mallopt option M_MXFAST to 512 bytes.
2527 - Added -Y option to only return UDP_HIT or UDP_DENIED during
2528 store reload.
2529 - Added UDP_HIT_OBJ type. Just like a UDP_HIT, but object data
2530 is returned in the UDP packet if it will fit; saves a TCP
2531 connection. Not compiled in by default, add -DUDP_HIT_WITH_OBJ
2532 to src/Makefile DEFINES.
2533
2534Changes to squid-1.0.beta7:
2535
2536 - Fixed comm_udp_sendto continuous loop bug
2537 - Fixed URLs-with-colon-but-no-port-number bug
2538 - Fixed sending ICP queries for HEAD requests
2539 - Changed 'server_list' output. Added RTT, Fetches, Hits, Misses,
2540 and percents.
2541 - Fixed setuid bug causing some logs to be owned by root.
2542 - Fixed virtual host mode (-V option)
2543 - Added read(2) instrumentation for HTTP and FTP.
2544 - Changed neighbor initialization to continue if DNS lookup fails.
2545 - Lint cleanup
2546
2547Changes to squid-1.0.beta6:
2548
2549 - Fixed null error message coredump in ftpget.
2550 - Added -m Method option to `client'.
2551 - Fixed ftpget server bug with missing trailing slash.
2552 - Removed 'connect_ports' from config, use general ACLs instead.
2553 - Changed requested listen queue length to 1/4 of getMaxFD().
2554 - Rewrote SSL/CONNECT handlers. Now doesn't use a StoreEntry.
2555 - Fixed some aborted objects getting stuck in VM bug.
2556 - Fixed ftpget PASV reply sscanf to work for VMS ftpd.
2557 - Changed FTP URL parsing to use urlParse().
2558 - Changed ftpget to skip RETR command if URLs ends with '/'.
2559 - Changed ftpget to display README at the bottom if there are other
2560 server messages.
2561 - Changed ftpget to not reopen a new data connection
2562 if one is already open.
2563 - Fixed handling of FTP URLs with spaces (and other unsafe characters)
2564 - Changed ftpget to only generate BASE HREF if the FTP URL does
2565 not end with '/'.
2566
2567Changes to squid-1.0.beta5:
2568
2569 - Fixed cachemgr to send 'HTTP/1.0' on request so it works
2570 with beta4 fixes to icp.c.
2571
2572Changes to squid-1.0.beta4:
2573
2574 - Added a handler to restart the ftpget server.
2575 - Fixed access checks for ICP by parsing the requested URL.
2576 - Added "magic marker" to ftpget-generated errors so they can
2577 be negative-cached.
2578 - Added a small run-time check to configure to see if signal
2579 handlers should be restarted after invocation (ala SYSV).
2580 - Determine Maximum filedescriptors in configure and change
2581 FD_SETSIZE if needed.
2582 - Changed read stall algorithm for HTTP. No don't wait until
2583 the object is in DELETE_BEHIND mode to stall the server read
2584 and wait for the client to catch up. Also changed from 4k to
2585 16k read buffer.
2586 - Fixed HTTP request parsing to check for blank line at the
2587 end of all requests. Symptoms were "connection reset"
2588 messages.
2589
2590Changes to squid-1.0.beta3:
2591
2592 - Added ftpget '-C minport:maxport' option
2593 - Fixed PROTO_MAX fencepost bug in stat_init().
2594 - Fixed Fixed CheckQuickAbort() coredump.
2595 - Fixed disabling store.log and hierarchy.log when set to "none"
2596 - Fixed numerous problems related to setuid().
2597 - Fixed 'check_cache.pl' to use new swaplog format (without "FILE").
2598 - Fixed ACL coredumps when checking NULL words.
2599 - Changed pid_filename to be written and unlinked as root.
2600 - Added "-i seconds" option to 'client' for testing IMS GET.
2601 - Fixed a bug where an IMS request caused the valid object to
2602 get ejected from the cache.
2603 - Fixed continual DEAD_PARENT/REVIVE bug
2604 - Fixed ERR_INVALID_URL bug for URLs with a password field.
2605 - Added to Release-Notes info about converting 'cache/log' and
2606 difference between stoplists and ttl_pattern.
2607
2608Changes to squid-1.0.beta2:
2609
2610 - Fixed /bin/csh "$#argv" leftover in RunCache.
2611 - Fixed ACL day-of-week bitmask bug.
2612 - Fixed missing checks for WAIS in some places.
2613 - Fixed chdir(swappath(0)) bug; do chdir() after storeInit().
2614 - Changed enumerated structure members to be defined outside
2615 of the structure itself (for AIX).
2616 - Changed ftpget to fork before reading the request and make
2617 sure the entire request is read.
983061ed 2618
234967c9 2619Changes to squid-1.0.beta1 (Apr 19, 1996) from Harvest cached-1.4.pl3:
2d15012a 2620
2d15012a 2621 - Added a "server mode" to ftpget. Now the (much smaller)
2622 ftpget process forks for each FTP request.
234967c9 2623 - Added support for If-Modified-Since GET requests.
2624 - Added support for SSL and https objects.
2625 - Added background processing for rebuilding the disk store
2626 while serving requests. Cache can now serve requests immediately.
2627 - Added a 'reconfigure' feature activated by SIGHUP. The config
2628 file is re-read and most changes will take effect.
2629 - Added an internal flag for using private keys with ICP queries
2630 to neighbors. If any neighbor returns a reqnum field of zero,
2631 then disable using private keys. But still use private
2632 keys for things with bypass the ICP query step (such as POST
2633 and IMS-GET).
2634 - Added a function to verify content-lengths. Objects with
2635 mismatched (but non-zero) content lenghts will be ejected.
2636 - Added clean shutdown mode. On SIGTERM the incoming HTTP socket
2637 is closed. Active clients are given a lifetime of 30 seconds
2638 (configurable). Process exits when all sockets are closed.
2639 - Added support for large POST objects.
2640 - Added "store.log" which logs RELEASE/SWAPIN/SWAPOUT events.
2641 - Added announce feature to squid; no longer external program.
2642 If enabled, a running cache will announce itself every 24 hrs.
2643 - Added support for FTP URLs with non-default ports.
2644 - Added new Access Control List scheme.
2645 - Added Forwarded: header to proxy HTTP requests (HTTP/1.1 feature).
2646 - Added weights neighbors.
2647 - Added urlParse() which strips off default ports and
2648 makes hostnames all lowercase.
2d15012a 2649 - Added (section,level) debugging and 'debug_options' config line.
2650 - Added 'pid_filename' to configuration file.
234967c9 2651 - Added 'visible_hostname' to configuration file.
2652 - added 'ftp_user' to configuration file.
2653 - added 'dns_positive_ttl' to configuration file.
2654 - added 'dns_negative_ttl' to configuration file.
2655 - Added 'shutdown_lifetime' to configuration file.
2656 - Fixed bug where cache process would "spin" on large objects
2657 being deferred.
2658 - Fixed byte order conversion bug on setting echo port.
2d15012a 2659 - Changed meaning of command line -b (buffered logs) option.
2660 Now the default behaviour is unbuffered logs, use -b to make
2661 them buffered.
2d15012a 2662 - Changed WAIS code to always be fully compiled in.
234967c9 2663 - Changed the storage manager to use the notion of private and
2664 public keys. Requests are now private until the reply headers
2665 have been read.
2666 - Changed access logging significantly. Entries to "access.log"
2667 are written when the client connection closes. Every connection
2668 is logged exactly once, always with a valid size.
2cf0aa81 2669 - Changed access log format (non-common) to include request
2670 method and sub-second timestamps.
234967c9 2671 - Changed handing of ECONNRESET (connection reset) errors.
2672 Now treated like any other read error.
2673 - Changed 'rotate logs' to be activated by SIGUSR1.
2674 - Changed configure script to look specifically for tm_gmtoff
2675 and set HAVE_TM_GMTOFF.
2676 - Changed configure script to look specifically extended mallinfo
2677 structure and set HAVE_EXT_MALLINFO
2678 - Changed ICP reply code to use negative TTL value as UDP_HIT
2679 threshold so we never return a HIT on neg-cached objects.
2680 - Changed ftpget to use select(2) on I/O for timeouts. ftpget
cdd8d814 2681 now exits immediately if stdin goes away.
234967c9 2682 - Changed handling of '-z' option. Now only execute 'rm -rf ...' if
2683 -U option also given.
2684 - Removed the command line -d (debug) option. Use 'debug_options'
2685 in config file.
2686 - Removed all code and references to binary port.
2687 - Removed dual logging to stderr/cache.log.
2688 - Removed old IP access controls ('proxy_allow', etc.)