[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ A ] [ B ] [ next ]
0.89 1.9.2003
Smart Cache has been moved to sourceforge.net. Stats: 31 (+2) freshmeat announces
subscribers, 46 (+2) Yahoo!
mailing list
subscribers.
cacheobject.genTMP() method made synchronized. This MAY fix some troubles in Windoze.
Do not convert string to lowercase when doing case-insensitive redirection or rewrite.
Remove all up levels of empty directories during GC.
Enhanced Smart Cache repair utility, Chapter 11. NEW: default type can be now set, mime table can be reset to empty, fixed argument processing for -i, can translate & to &
Smart Cache now accept SPACES in URL. There are not (yet?) converted to %20 before sending out.
Changed compressed message, log analyzers needs to be updated.
UI: new command ui_searchcache_minage == minimum age of search cache
ui_searchcachefactor changed to ui_searchcache_factor
0.88 18.6.2003
reset chunked encoding and ims status when sending object from cache if refresh failed after receiving headers from server.
build system: when generating scache-latest.zip, remove not changed .class files - allows faster beta releases
Thanks to Karl-Heinz work, Smart Cache does clean shutdown on CTRL-C/kill process. You need jdk >= 1.3 for this. Still jdk1.1 backward compatible.
uses line.separator when generating logfiles. Logfiles on windows machines should have correct line terminators now.
build system: generate scache-latest.diff.gz file by hand, not via broken CVS diff
Documentation: added example large cache configuration
stats.py: added ignore offline mode switch
stats.py: increased max. time difference to 3m+10s
mgr.save() is now synchronized
reinit dircache hashtable when idle (frees memory)
ignore empty request line (like Apache); needed for fixing bad POSTing clients on keepalive connection.
UI: send expires header in the past in reply
0.87 24.5.2003
Some configuration file directives were renamed to be Squid compatible. Stats:
29 (+2) freshmeat
announces
subscribers, 44 (+11) Yahoo!
mailing list
subscribers.
Important bug fix: cacheable has priority over cache-private
UI: escape #, change word wrap in BG quote.
-fakegc reports how many bad files was deleted from cache
Report network error when headers read failed.
Quick abort config changed to: quick_abort_min, quick_abort_max, quick_abort_pct
Timestrings, Section 7.12 supports unit 'f' - fortnight
Timestrings, Section 7.12 supports long titles like minute, hour, week, day, year, second
reference_age is timestring now
min/max_ob_size, blocksize, avg_dir_size, cachesize are Sizestrings, Section 7.13
corrected printDelta values for months and years.
flag_check_interval is timestring
port renamed to http_port, nocaching renamed to no_cache, force_ims_on_reloads renamed to reload_into_ims, cache_swap_low/high, cache_size to cache_swap_size. (like Squid cfg)
report transfer errors on direct request to client
reuse keepalive connection when direct request has no data from client
min_download_size for dm online hook
disable keepalive correctly after trace and options reply
handle io errors when loading body of non GET requests correctly
New options for limiting request/reply size: reply_body_max_size, request_body_max_size, max_cacheable_size.
fixed error in webconnection.close()
stop on SC generated errors during refresh object
disable client keepalive on failed POST
do not Exit if main directory can not be created, switch to read-only mode instead.
do not Exit if UI port can not be bind, turn UI off.
stat.log file has now also DIRS counts
Included Python
script for
calculating cache hit stats.
cacheroot renamed to cache_dir
GC: do not crash on cachesize 0
UI: escape backslash (Karl-Heinz); needed for Opera browser
Source code: Removed throws IOException from scache.main and mgr.go (it was not needed)
possible touch object when generating 403 too large reply
Selective caching based on existence of Vary: HTTP/1.1 header. cache_vary
handling of Expires: header changed to method described in RFC2616 section 14.21
0.86 30.4.2003
27 freshmeat
announces
subscribers, 33 Yahoo!
mailing list
subscribers. When you are changing timeout configuration, be sure to add 's'
to it, because Timestrings, Section
7.12 defaults to minutes.
removed keyword redirect.
new keyword redirect_file, reads redirects from file.
new keyword rewrite_file, reads rewrites from file.
UI: new trace options: redirect, rewrite.
UI: visible_link is shown in UI welcome screen.
UI: prev/next in quotes
UI: handle all numberformatexceptions
UI: Some strings in HTML gets quoted
Generate Etag on auto-decompressed data.
Fixed VSB which prevents from sending Etag to client in most cases. SC used Etag only internally.
Zero sized reply from server is now handled as error.
Allow client side persistent connections after generated errors.
Allow client side persistent connections after 304 reply.
Send expire header on 304 reply.
If-none-match from client works again. (forgot to re-enable)
Server full reply code shown when tracing.
Retry once every failed request or connection. Helps with servers which are all the time overloaded.
Exit if store directory can not be created.
-gc switch has timestring argument
timestrings now supports seconds 20s
improved check for using root as cachedir
No lie in -fakegc intro text. Bad files Will be deleted from cache.
generate_lastmod changed into boolean value. Value 2 brakes all browsers on the Earth.
Close file after sending it to browser (new bug from 0.82)
Close file after serving HEAD request (historic bug)
New section Request remap/redirecting, Section 7.11
Updated sections Web forwarding with Smart Cache, Section 9.7, Administration of large cache, Section 9.3.
Fixed crash when access logfile can not be created. (new bug from 0.83)
Removed forgotten debug prints.
Updated sections Smart Cache Performance, Section 9.1, Proxy cache Benchmarks, Section 9.2.
Contributed documentation: How to run it on Netware 6.
Adding of Proxy-Connection: headers when gatewaying server response to client; we are turning all responses to HTTP/1.0.
Private documents may not be cached. cache_private
Send expires info on 304 reply.
Do not send stale cache entry if hide errors is false.
Supports Cache-Control: header with options: private, no-store, no-cache.
check for HTTP/1.1 and enable KA instead of checking for HTTP/1.0 and disabling.
Support for 100-Continue.
Improved support for 204-No content.
Fixed Debian packaging: delete logfiles on purge, purge only if not /usr/bin/smartcache exists, new logfile for weekly gc, corrected bad filename cookies.cnf.
added first historical SC announce from Netmag 13/1998 to /czech/.
inputtimeout renamed to client_timeout. Changed from integer to timestring.
proxyreadtimeout renamed to read_timeout. Changed from integer to timestring.
keepalivetimeout renamed to pconn_timeout. Changed from integer to timestring.
New configuration variable request_timeout. Also timestring.
Close server keepalive connection when ignoring body of reply.
default_forward_for is now unset by default.
max_aborted_transfer_time made timestring.
remove Cache-Control: from response as well Pragma: no-cache.
0.85 22.3.2003 There are 19 people subscribed to mailing list. This release fixes remaining keepalive connections POST bugs.
Fixed NPE in webconnection.toString().
disable input keepalive after blocked POST request.
Use standard keep-alive factory for direct requests.
0.84 3.3.2003 There are 11 people subscribed to mailing list. This release fixes many 304 reply handling bugs, some very old.
News
Update ETag info on 304 reply if possible.
Allow client side persistent connection alive after 304 reply.
Do not update Expires: info on 304 reply, if not sent by server.
Generate our headers on 304 reply instead of using headers from server.
Fix bad headers on 304 reply from Microsoft IIS servers.
-fastrefresh sets Max-Age: to 3 day.
UI: added some missing titles.
UI: Smart Cache Loader screen has bgcolor.
Show URL on generated errors.
GC: do not apply multiple modifiers to object when checking for penalty.
More intelligent check for write able filesystem.
New manual section Administration of large cache, Section 9.3.
0.83 16.2.2003 Turbo version. I have created mailing list for
scache, you can read more information here
. Come and joins
us!
News
Support for keep-alive connections on input side. This makes sending cached data to browser 100% faster. Offline browsing goes turbo.
trace_input_keepalive switch
TCP nagle alg. is disabled as says wise men on w3c.
improved log synchronization on log files.
max_aborted_transfer_time is now floating point number.
reference_age is now floating point number.
send reset on full cache.
File/directory clash is now handled correctly when exporting data.
Manual updates. New sections: for admins, for hackers.
New manual section Choosing a good cachesize, Section 7.1
0.82.1 Bugfix for customers only
News
Fixed NPE crash on unknown hostname.
GC: no infinite loops on lopsizeinc=0 or sopsizedec=0
GC: null modificators (i.e. +0 *1 -0) are detected and ignored.
UI: offline support buttons are now switchable
0.82 9.2.2003
News
Support for HTTP/1.1 persistent connections on output side. Browsing performance increased! Some code taken from BSD copyrighted Rabbit2 proxy server. Many thanks to Robert Olofsson. )
values liked 1d can be used in refresh patterns and export times with decimal fraction part.
print notice when refresh pattern gets ignored.
trace_keepalive config keyword + UI options for tracing keep alive connections.
new option keepalivetimeout for enabling them.
https now works even if http_proxy is defined but https_proxy is not.
Console loglevel can be changed in UI.
remove end file separator from target directory when exporting.
fixed old bug from 0.54 version, which causes that incorrect directory structure was created by export function.
gcloglevel configuration option for making reports from garbage collection less verbose.
Example scache.cnf has a nice table inside - choosing directory swaplevels for cachesize.
Minor improvement in GC stats reporting.
Test for using root directory as cacheroot somewhat improved. Protect Windows users from doing something stupid.
download_machine_ctype_ignore Turns off ctype dmachine hook for specific URLs.
Manual updated
somewhat reduced memory requirements during GC.
-fakegc do not deletes files on = gc rule.
GC: objects with Etag: header ARE checkable
GC: new redirect_penalty option in gc.cnf
UI: loglevel can be changed.
0.81 2.2.2003
News
UI: added flush logs command.
combined log file has missing " after user agent. (Klaus Schirmanns)
0.80.1 23.1.2003
News
UI: fixed crash when search depth is not a number.
combined log file do not have doubles \n (Klaus Schirmanns)
0.80 6.1.2003
News
UI: directory depth after search is set to last depth used.
fixed NPE crash on BAD method.
fixed cleandir to work correctly in Linux and Windows. Worked ok only on OS/2
Try to rename files when there is directory/filename conflict.
search cache feature, config keyword ui_searchcachefactor. This makes searches on large caches more useable.
New manual section Configuring refresh patterns, Section 7.2
410 is also httprc for page deletion.
Cache also 414, like Squid.
Debian packages are also distributed.
GC summary report contains also median time mark.
0.79 28.11.2002
News
building native GCJ version do not require jdk
first rule in fail/pass was matched insensitive
fail/pass not working (bug from .78)
Smart Cache now sends Content-length: 0, where needed
new config keyword listenbacklog, defaults to 511
default number of clients increased from 25 to 30
0.78 25.11.2002
News
GC: do not allow average dirsize < blocksize
report correct count of unlinked directories (updirs included)
GC: deleted directories during GC delete pass are now correctly counted
Delta display supports Months, Years.
Trace on/off configurable in UI
New configuration keyword loglevel
Speed ups by reverse regsearch on fail/pass
on conflicting filenames, use random numbers, not loop over long list of possible list of existing filenames. Really big performance improvement for directory with about 1000 files with conflicting filename (i.e. Google).
look for ETag and return 304 if exists and connection failed.
force_ims_on_reloads when doing forced refresh do not add IMS header.
Fixed some syntax errors for making GCJ happy.
Debian: smartcache as GCJ-native can be build from sources. Works great and fast.
New manual section: Proxy cache Benchmarks, Section 9.2
trace_url shows also request protocol
trace_refresh shows expire date when not reached
0.77 14.11.2002
You need to change maximum_object_size in gc.cnf to bytes.
News
GC: average_directory_size do not includes size of .cacheinfo now. .cacheinfo files are sized using blocksize alg. as all other files.
GC: minimum_object_size (idea from Squid)
GC: maximum_object_size is now in bytes, not KB as before
GC: small_object_penalty syntax extended and changed to be like LOP
GC: cache size is now computed more correctly nearly 100% exact. Only one case is not handled and can not be: some filesystem /ext2/ preallocate blocks for files.
GC: use long integer instead of int
GC: improved after scan cache statistics
agent_log, referer_log feature removed
new common/combined log file format (features correct httprc and bytes count)
-nolog command line switch
auto_decompress can unpack 'deflate' encoding (used in IIS)
Manual: new section How garbage collection works, Section 7.3
Manual: new section Smart Cache vs Squid, Section 9.5
Manual updated: section Choosing Java version, Section 3.2
new defaults in DM content-type hook
short refresh patterns are no longer allowed
do not print to console that dirs are GC's - confuses users. There are freed.
some hardcoded defaults was retuned
Major update of Debian packaging. Features: debconf support, correct file and dirs perms., do not allow root to run system-wide smartcache, support for rotated log files, configuration generation.
New command line switch -notrace
-local switch now sets a maximum possible expire time (benchmarks results increased by 5%)
note: increasing internal buffers from 4096 to 8192 lowers performance.
note: slower when compiled with javac -O
log file format chooser log_common true/false
dmachine_offline_url_mask command gives content-type hooks priority over URL hooks
UI: port of main server is shown
log file buffer increased to 8K.
0.76 3.11.2002
News
UI: Interface for Download machine
Download machine can be hooked to content type download_machine_ctype_mask
-ui_port runs UI on alternate port
download_machine_mask renamed to download_machine_url_mask
Win: VBS startup script
Bug fixes
UI: loader also accept empty string as default loader.cnf depth
UI: end of queue messages displayed
UI: shows which URLs are removed from queue
No more duplicated entries in DM queue file
Trace messages are now printed correctly with full URL
0.75 1.09.2002
News
Download machine hook can now ignore some URLs. Try download_machine_ignore *sourceforge*
UI: File date is shown instead of mime type
Bug fixes
UI: bindaddress is shown
UI: show loader queue is disabled when there is no loader support
GC: protocol URL matching works, see example gc.cnf
GC: fixed typo in gc output
0.74 1.08.2002
News
new structure of .cacheinfo files (version 4). Now it supports ETag: header. Existing one will be converted when used.
support for Etag and If-None-Match
added some new methods for webdav/deltaV. Not yet working due to lack of documentation.
Bug fixes
Do not use IMS when loading Missing objects from cache
HEAD request no longer fails on object which is not in cache
repair handles files with .gz extension better.
when generating fake user agent add space after : in header
Fix for refresh and no if-modified-since header. Browser should get object and not 304.
0.73 17.06.2002
appending to existing via: header instead creating a new one.
several new Smart Cache command line switches, Chapter 8
0.72 16.05.2002
Bug fixes
cache searches are less CPU intensive
fixed problems when auto deleting of patterns was too active on refresh_patterns
added support for seconds in delta reporting engine
Google searches have .gz when gzipped
0.71 22.04.2002
Bug fixes
max_clients renamed to max_connections
UI: escaping " char.
Fixed trace output from refresh engine when forced refresh is being ignored
UI: do not display choices for loader if loader is not configured
Fixed typo in regex matching
Fixed problem with netmasks/n when n mod 8 != 0
Fixed problem with cfgdir and regex_fail
0.70 11.04.2002
Bug fixes
-direct switch works again (broken in .69)
UI: Added cache-control: no-cache
UI: removed no-cache from redirects to good UI hostname
Changed error message: too more clients -> too more connections
send_from_cache now handles IMS requests in the correct way (Needed for Opera5)
Redirects to UI generates now last-modified-date in the past
summary: Opera5 now works with redirects generated by SC.
UI: announces URL when adding it to loader queue, saves 1 go back.
adding proxy-connection: close to all documents flying through.
changed startup messages: host OS -> filesystem
updated troubleshooting section
New features
Auto - removing not needed rules from fail.cnf.
0.69 8.04.2002
Bug fixes
Removed anti windows sections from manual
Fixed typo in GC
Redebianized again, runs from JAR file now.
Do not use block list whew accessing UI.
append_via feature removed
updated faq, buglist, limitation list.
Tracing sign in UI reversed.
Removed Unix path in alive flag in ZIP archive
added support for command line arguments in scache.bat
New features
Periodic running of GC is possible -gc [minutes].
IP access rules can now use submasks. See Proxy access control, Section 9.11.
You can get CVS snapshot, see Addresses, Section 6.5
Bindaddress is announced on startup.
proxyvia feature, like in Apache. Feature sponsored by Deflora CE. RFC 2616 14.45.
https_proxy allows security proxy chaining.
0.68 31.03.2002
Bug fixes
When getting gzipped HTML, add .gz to local filename
ansi_init patch in os2 .cmd file for eCS (Dag Bjerkeli)
loader_add_reloads renamed to loader_add_refresh
full_referer_log set to yes/no in default sample cfg
garb. collection section in manual improved
Removed HTML doc from tar
cache_sensitive_matching in gc.cnf accept yes/no values
New features
Builtin GIF can have non transparent color. Thanks to JMS. builtin_gif_color r g b
Number of empty removed dirs is now reported during cleanup.
0.67 21.02.2002
Bug fixes
fix for URL with no * in fail.cnf
added some missing <title> to GUI responses
removed debug output from regexp engine
do not use download machine for downloading from ui_hostname
check if we are using UI with right hostname, SC needs this for special UI request handling.
0.66 3.02.2002
Bug fixes
add_missing/reload feature disabled if ui_port is not defined
quotes added to GUI
errordocument 0 sends empty HTML page if URL ends with .js, otherwise it sends 1x1 transparent GIF
Errordocument feature ! removed
Expire header added to UI redirects
Fixed problem in UI with browsers which sends a overkill of HTTP headers (LYNX!)
Fixed problem with directory browser when directory name contain special characters, such as %
0.65 30.01.2002
Bug fixes
Removed crash when port number is out of range.
Removed .sources from zip archive.
Removed .classes from tar archive.
Turning on/off offline support in GUI fixed.
Updated copyright file, added more contributors to it. If you are not in this file and want to be there, send email.
Directory browser is nicer.
Fixed rfail.cnf example
New features
Added .tar archive to distribution (you can build Debian package from it).
Added partial support for Cache-control: header, fixes reloads in Mozilla and newer MSIE. (Achain achain@netlaputa.ne.jp)
0.64 12.1.2002
Bug fixes
URL parser work when protocol is null
Directory was not saved after object deletion
Regexp substrings are now implemented correctly
fixed rfail.cnf
New features
UI: File deletion.
UI: Directory deletion.
0.63 11.1.2002
Bug fixes
UI: Queue display do not show URLs.
UI: Search form do not works in Netscape and Opera
New features
UI: Search dialog for Cache content browser and search results.
0.62 7.1.2002
Bug fixes
Setting auto add to 0 disables also confirmation for refresh-watch.
Changed message 202 for DM add to queue.
When using UI do not go through http_proxy. (avoids infinite loops)
UI uses 127.0.0.1 instead of `localhost`
New features
User interface has a simple welcome screen when browser is pointed to it.
Port numbers are printed on start for both normal and ui ports.
Configurable depths for fetching: loader_add_depth and loader_refresh_depth
Unix scripts added from Debian package
UI: Cache content browsing
UI: Directory searching
UI: Loader queue browsing
UI: Loader queue deleting
Sample cnf files has UI enabled by default
0.61 30.12.2001
Bug fixes
URL without port number http://www.here.com:/index.html works
New features
Support for offline marking pages for batch refresh/download. See @20 in scache.cnf and ui_* also. I am interested in some feedback on this feature.
0.60 10.12.2001
Bug fixes
removed Zbynek Pospichal's CGI POST workaround
better messages from trace_refresh (still bad when parent proxy is not used)
New features
Download machine integration. See download_machine_queue_file and download_machine_mask.
0.59 21.11.2001
Bug fixes
better messages from tracing refresh engine
fixed reloading configuration problem if -cfgdir is used
stack dump removed from can not bind error message
New features
Most wanted feature .... REGEXP SUPPORT .... It looks like this is matches some regex (like .*\.gif). If some regex expert can look at this.
regex_fail_file
Czech documentation about Smart Cache & MSIE install
scache.bat gc.bat repair.bat
0.58 16.11.2001
Bug fixes
in trace dumps < and > was reversed
fail trace message changed
true/false is allowed in on/off options
Removed very old debug message: Cleaned empty dir
Infinite looping when doing GC with multiple passes
Messages from garbage collector improved and fixed
New features
Added refresh engine tracing
Added quick abort engine tracing
Added cookies tracing
Cookie filter can be switched to incoming mode in which allows all session cookies. If server attempts to send a permanent cookie; it will be converted to session cookie. This mode is less safe than outgoing filter if you have JavaScript enabled. See also Cookies filtering, Section 7.4
0.57 13.11.2001
Bug fixes
minor codebase cleanup
increased default cache size from 50 to 100 MB
blocking https://site/* works
-cfgdir fixed (Bastian Maerkisch)
New features
Adbusters support removed
conversion code from old SC 0.20 and 0.30 removed
fail_trace renamed to trace_fail
removed keywords: fail, pass, allow_cookies_to, wafer
new keywords: trace_url, trace_request, trace_reply
in on off options words on/off yes/no can be also used
when auto_compress is activated. Smart Cache will ask server to send compressed data.
Added 4 missing mantras from Sri Isopanishad
0.56 3.11.2001
Bug fixes
Smart Cache do not works when compiled with jikes on some JVMs
javac made .class files are now included in archive again
Cleaned -cfgdir handling in sources
cacheroot can now have spaces inside (needed for Mac)
alive flag is now deleted on normal cache shutdown (Hartmut Krafft)
Fixed typo in info message (Hartmut Krafft)
Added info for Java 1.3 setup for avoiding Java DNS caching bug/feature, Section 12.1 (Monika Schilling)
0.55 13.10.2001
Bug fixes
Fixed problem with JavaScript end Errordocument ! (me)
Fixed Modified After Load errors on FAT file system (Monika Schilling)
0.54 11.06.2001
Bug fixes
Fixed linger option (Roman Trunov)
Fixed export bug (Polgar Istvan)
0.53 01.05.2001
Bug fixes
Stack dump is no longer printed when server port is in use
Fixed repair FAT rounding bug, thanks MS for nice bug report.
Minor source cleanup
Prepared for future regexp integration
0.52 24.04.2001
Bug fixes
NONE
New features
alive_flag This file is periodically touched when server is running.
nocompress Allows add some extension which will not be compressed (.rm .ram .jar .tgz) this is necessary because many www servers sends bad content-type for these files.
0.51 21.03.2001
Bug fixes
auto_compress 0 should not compress any file(s)
fixed access log * (new bug from 0.50)
increased default gc array size in sample gc.cnf to 3000.
synchronized gc.java and mgr.java filename generator
0.50 25.02.2001
New features
Included fixes from Karl-Heinz
auto_decompress 2 - ALWAYS decompress. Useful when showing html source within Browser (Some Browsers are showing source compressed).
auto_compress x, values for x >512 useful if some files should not be compressed.
0.49.1 26.01.2001
Bug fixes
OS/2 or Windows do not like character '|' in filename. Changed to '!'.
0.49 27.10.2000
Bug fixes
Makes generation of localnames for compressed files smarter. Compression code should works OK.
Flush logs when doing immediate shutdown.
Log file format access.log has been changed to be more "standard".
Fix for scache.main(null);
New features
Redirects and Expire headers have now their separate settings in *refresh_pattern. You can set special refresh rate for redirects. TODO: cacheobject.needRefresh may be slightly smarter, ideas?
Added nice quotes from Sri
Isopanisad
. Just about 3K.
0.48.1 11.10.2000
Bug fixes
FIXED (??) generating local filenames when auto_compression is enabled.
New features
0.48 10.10.2000
Bug fixes
Fixed generating local filenames when auto_compression is enabled. No more .gz.gz.gz :)
When killing old Expire header, generate Pragma: no-cache. PNC header can be killed with pragma_no_cache later.
New features
Smart Cache will refuse work if data directory is set to root directory. (for example c:\ )
All numbers in (default) refresh_pattern are floating point now. Allows better fine tuning.
When checking Expire:, Date: from remote server is used. Fixes problems with difference between local and remote clocks.
pragma_no_cache 4 Do not cache 'uncacheable' redirects. This may fix some troubles with it. More investigation or redirects caching is still needed.
0.47 27.9.2000
SC users OS statistics (taken from bug reports). 1- OS/2, 2- OS/2+Win, 3- (big space), 4-Windows, 5- (space), 6- Linux. I do not know what cache Linux users uses? Maybe Squid or wwwoffle.
If someone wants to add optional regexp support, library from http://www.cacas.org/java/gnu/regexp/ may be useful.
I am out of diskspace (see bugfixes in 0.47, 0.46, 0.45 :) ). Problem is solved for some time -- I have added compression support. It compresses only mime types text/* (This should be enough for preventing SC from compressing JPEG, GIFs, MP3 and so on). When I compressed entire SC directory about 50% diskspace was saved. It depends on number of images in cache.
Bug fixes
Repair do not crash on directories without read access.
Out of diskspace detecting problem is solved. Added flush() before close().
New features
Auto-Compression support. See Data compression support, Section 7.10
Repair has -w (force write) switch. Smart Cache repair utility, Chapter 11
Repair has -c (compress) switch. Smart Cache repair utility, Chapter 11
New structure of .cacheinfo files. Smart Cache will convert them when used. Smart Cache loader 0.18 will NOT WORK with them, use 0.19.
Support for Content-Encoding header. This removes problems with www.finanztreff.de. Garbage on the screen was gziped data :)
negative_cached_penalty in gc.cnf
0.46 8.8.2000
Bug fixes
Turns off access.log when out of diskspace.
When caching URLs like http://www.metalonline.com/../../../../../../../../azovstal/index.htm, cached files gets written in directories upper that CacheRoot. Reported by Dmitry Ban. This closes a possible security hole.
Added some questions to FAQ.
Cleaned parent proxy cache select code (side effect from L.B. patch).
I have no idea why 'www.finanztreff.de' do not works (screws up when reloaded, maybe JavaScript problem?).
New features
Applied patches made by Lesha
Bogdanow
. These patches added two new features. Proxy access control, Section 9.11 and Parent proxy authentication, Section
7.9.
For people who do not remember syntax of -export command like me, its two arguments can be used in any order now.
0.45 20.5.2000
I have received a new keyboard! (all keys works!). Also I have got a cool ZyXEL U-1496 (V32bis) modem with display!
Bug fixes
Works better when out-of-diskspace.
Reduced number of syscalls.
Clean directory do not crashes when cache directory is empty.
Corrected regexp.toString(), fail_trace works better.
LRU is touched when importing data.
RC 408 is temporary server error.
no_caching works with Client/Server Pragma: no-cache headers.
New features
Negative caching of some 4XX server replies. Unlike Squid, this will never overwrite good cached page, (if does, report it as bug).
Data from Smart Cache can be exported see Smart Cache command line switches, Chapter 8.
refage < 0 - disables refage check.
maxobjsize < 0 - disables maxobjectsize check.
If fail/pass do not contain any '*', it is added to end.
-version command line switch (Helps Smart Cache Run).
0.44 8.4.2000
This another very quick bug-fix release. It looks like 'Smoke test' on Internet is required before releasing, but I do not have even modemoid. Also my keyboard looks like it will be dead soon.
You can now start to use referer_log without problems. It is a good thing. Nobody want to contribute an icon for Smart Cache?
Bug fixes
Fixed crashes (from 0.43) or corrupting Referer: header bug (from 0.37) when fake_referer is not used and referer_log is used.
Removed NullPointerException ignoring in main loop. It there is an error, request will still fails, but you see the exception. If you see a NPE it is a SC bug and report it.
0.43 6.4.2000
As expected, 0.42 have some serious screw-up in Referer: header handling. This is a bug fix release. Thanks for all bug reports. It is a simple: If I do not know about a bug, I can not fix it. It looks like Smart Cache is most popular OS/2 software in Germany :)
I have received a working 486 board donated by Monika Schilling. Java compiler runs much (2-3x) faster, Thanks a lot!
If you never read Bhagavad-Gita or even thinking about purpose of (your) life. Bhagavad-Gita is a very good starting point.
Bug fixes
TODO list revised to version 2.0.1 and added priority to it. Nobody wants to donate a working KEYBOARD? :)
Fixed bug (new in 0.42), which prevents referer_hack from working, it corrupted every Referer: header instead.
-import should work under non-Unix OS also (Windows, OS/2).
corrected some bugs in import, import sometimes fails if object is already in cache.
import checks if already loaded object in cache is valid.
File system check must be performed before import.
Errors are displayed even in load-headers HTTP transaction phase (was only in connect phase).
When announcing invalid OBJ reference, SC will print why reference is invalid.
Removed setDirty() call, used direct variable access -> faster execution of non-JIT JVMs.
Remote server errors on refresh (RC) are also printed.
Better error handling when multiple times loading the same URL and some of loads fails. I hope, that now there are all multiple-load errors handled correctly.
Blocked requests are counted as `good` when computing Smart Cache hit ratio, because they are also handled by Smart Cache.
New features
New keyword flag_check_interval. How often will Smart Cache check for presence of immediate_shutdown_flag. Using this type of shutdown is better than killing the task. See Stopping Smart Cache/Shutdown flag, Section 5.3. This is most requested feature from Czech users. (Non-Czech users most often requests JunkBusters.)
New command line switch `-direct`, if used SC will not use http_proxy.
New command line switch `-http_proxy`, overrides http_proxy in scache.cnf.
referer_hack do not longer accept fake URL.
New keyword 'fake_referer' for setting fake Referer: HTTP header.
Import will refuse to import directory with names without '.'
Data from another Smart Cache can be imported, see Smart Cache command line switches, Chapter 8. Import makes checks if it is really SC data directory (subdirectories must be numbers).
New keyword 'fake_cookie', used instead wafer.
0.42 2.4.2000
This version was not tested as much as 0.40. If you find some fatal bugs, send a report and use old 0.40 (see README for list of URLs). 0.40 has no known fatal bugs.
Bug fixes
Host names are no longer case-sensitive, when checking in cookies filter or no_proxy.
Better detection of deleted directories (by hand), when SC is running. Now it works under Linux better.
.cacheinfo files are checked for write access.
Import can works also on read-only filesystems.
Timestamp is changed after import (by copy), but not after move.
Import: clashing file name generation corrected.
Import tries to rename file first (preserving last write date), if it do not work, it will try to copy it.
Better error handling when importing.
Repair now also deletes empty directories.
Generating of error messages is now faster - green variant. (Creates less Java objects on heap)
Linger option is more friendly to OS resources.
Reordered generated headers for avoiding browsers bugs.
Access.log should have correct timezone now (DST is supported).
filesystem check is now always performed.
Non parseable Expire headers are not ignored.
Distribution classes are no longer hashed by HashJava.
External mime file can contains # comments.
No crash on startup with newer beta versions of Kaffe JVM, but GC DO NOT WORK in Kaffe.
Request will be processed even if client send bad data format in headers.
Check if we get negative Content-Length.
Removed trailing / or \ from cacheroot directory, if user uses it. (Fixed problems with OS which do no like two // or \\).
Backslash test is performed in cache data directory, not from global OS setup (File.separatorChar).
Do not allow swap_dir1/2 to be < 1.
CRC32 directory hashing function is simplified (read: faster) and works ok when swap_level1_dirs > swap_level2_dirs (read: brain-dead algorithm was replaced with dumb algorithm).
-rebalance switch also kills empty directories.
New features
Much improved this documentation. There will be a lot of English grammar mistakes. Included in main archive because Homepage may be unavailable/outdated.
Support for special HTTP/1.1 methods: PUT, OPTIONS, DELETE, TRACE. WWW publishing via HTTP1.1 should work. (I can not test it, I have no such program.)
Support for SSL/CONNECT gatewaying. These requests are handled directly and not send to parent proxy server (http_proxy). If someone needs this, send me mail and I will add security_proxy in next version.
New keyword allowconnect for allowed SSL/CONNECT ports.
New keyword fail_trace for tracing which mask blocked requested URL.
New keyword visible_link for setting Smart Cache's homepage link in generated error messages. (You can direct it to Hobbes for new version checking via Search).
New keyword mime_types for using external mime table, when Importing files to Smart Cache, Section 7.6.
New keyword stat_log logs statistics to file.
New keyword append_via can disable appending "via Smart Cache 0.XX" to your User-Agent: header. If you are not using fake_user_agent this will (somewhat) protect your privacy, because nobody will know, that you are using Smart Cache. I hope that this also disables problem with slightly modified pages without having to use fake_user_agent. See Troubleshooting, Chapter 13.
Smart Cache repair utility, Chapter 11 significantly enhanced.
More checks when testing cache integrity (checking filesize and date).
When running GC/repair we will not touch any file, which are less than 6 minutes old (they may be in use).
-p command line switch. See Smart Cache command line switches, Chapter 8.
Return code 307 is now cacheable.
Check if cacheroot directory exists and exit if it can not be created.
You can use hardcoded 1x1 GIF when using ErrorDocument 403 0. Use it if you can, it is much faster than sending redirect.
Added bunch of startup quotes from Bhagavad-Gita.
Load failed error code is 500 instead of 400. I do not know why many caches uses 400, it can confuse some non-interactive clients.
Every Pragma header is now considered as no cache request.
SC will not crash when gets incorrect port number (not a number) in request.
New keyword clear_flags_on_start. Should be any flags files deleted when starting?
Striping Pragma and Expire headers. Discovered by Sergey Levin, when looking on packets. This helps people, who use this cache only as front-end cache to browser cache. Smart Cache removes bad headers and pages will end in browser cache. This kind of use was discovered and reported by Martin Konicek. He also writes utility for running Smart Cache in Windows/systray.
When checking for already matched rule, Smart Cache displays already matching rule.
SC always display delta time, when URL is refreshed. If page do not have Last-Modified date, time of URL receive will be used.
Partial object downloads are now included in bytes stats.
Failed object loads are announced with exception info.
New command line switch '-repair' it calls recursive repair on data directory.
0.41 8.9.1999 (Limited release)
Bug fixes
Some typos
Changed from FREE software to Open
Source Software
, which is better, because many crippled demo
versions claims there are also FREE software. License is still GPL.
English version of this documentation was checked with ispell -d british.
New features
GNU Debian/Linux binary distribution. (.deb package) can be built from Unix sources. Not tested too much and is very primitive.
Configuration files can be read from alternate directory -cfgdir command line switch. Needed for better UNIX support.
Smart cache can now also operate on read-only file systems, such as CD-ROMS or HPFS drives under Linux.
Smart cache will test filesystem if is read only.
Cacheroot can be changed by command line argument -cacheroot <Directory> [ swap_dirs_1 ] [ swap_dirs_2 ]
Smart cache can reorder cached files after changing swap_dirs. -rebalance command line option.
repair
has now better built-in MIME table.
repair
has now -q command line switch. Prints less messages.
repair
can read external (Unix style /etc/mime.types
format) MIME table.
rewrite command line handling. It is possible to use more than one command line option.
directive reload_block_files is now obsolete. Changed files (except
scache.cnf
) are now always reloaded.
-import <Directory> command line option for importing data into smart cache directory structure from external sources. Place downloaded data from web servers (for example with some web grabber) into some directory for example /tmp/www, where servers will be stored in subdirectories such as /tmp/www/www.linux.org and import them with java scache -import /tmp/www
0.40 11.3.1999
Bug fixes
Distribution archive for 0.39 contains classes from 0.38 not 0.39.
Reloading of block files now works without any side-effect.
New features
experimental GUI removed. Slow, resource hungry and prevents Smart Cache from running when no X-server is available. Never again.
cookies block list can be also loaded from file allows_cookies_to_file
Warning when config file is not found
0.39 10.3.1999
This document has been revised by Luc Le Blanc, thanks for it.
Bug fixes
In BUGS file is documented internal Java error. Smart Cache will report it, send these reports to SUN (not me!).
Corrected web forwarder, which doesn't works since changes in 0.37. Why Nobody reports it?
Socket Linger option (maybe) doesn't works. It's hard to test it without LAN or WAN.
Support for Expires: headers generated by IIS 3/4 servers, which violates HTTP protocol.
New features
Repair.java program for broken .cacheinfo files (no docs, src only) has been improved. Use this program for importing files into Smart Cache file system.
Implemented OUTGOING cookie filter as requested by Klaus Nitsche. See cookies.txt and Have fun.
Wafer option (fake cookies)
Experimental GUI option -gui (unfinished)
Simple requests and bytes Statistics.
Refresh time can be also printed in hours
new keywords pass_file, fail_file. Smart Cache can now load these directives from external files and when this file is changed, Smart Cache will detect it and reload it - no need to restart it as before.
0.38 10.2.1999
Bug fixes
Fixed case-sensitive bug in the regexp engine.
Another bug gets (at least) documented. Read BUGS.
Bad content-type header don't crash whole request.
Default mime type is text/html (like in NutScrape).
Lord Vishnu is no longer default in fake_agent.
New features
Repair program for broken .cacheinfo files (no docs, src only)
password protected documents can be cached
Smart Cache now displays error (instead of crashing) when talking to HTTP 0.9 server. (untested)
fake garbage collector (run via -fakegc). No files gets deleted.
You may turn on case_sensitive URL mask checking - this considerably speeds up garbage collection. Profiling GC on my 386/40 was a PAIN! For your information -- It takes about 7 hours.
Delta time is displayed in days for better readability if greater than 2d.
Added socket linger option for better support http clients (like my web-grabber). I didn't test it since I'm more than year unemployed and don't have LAN at home.
0.37 20.12.1998
License has been changed to GPL! Share and Enjoy!
Bug fixes
Corrected HEAD requests handling. Message body is not sent anymore. Some stupid web grabbers were too confused. Yes, WGET again. Because I'm tired with WGET, I started coding my own web grabber. It's in a very early stage of development (not yet working), but will probably be the most configurable web grabber ever seen.
No_proxy now case-insensitive.
no_proxy localhost will no longer match localhost.xxxx.com
Log writers are synchronized, so logs are now consistent.
Some internal optimization tricks based on the Java-Library source.
Registration keys are no longer needed.
Last version check and Ad Busters removed. The server side needed for this stuff is not online.
Smart Cache crashes less often on bad config file. Sometimes even prints the number the offending line!
New features
Support for agent_log and referer_log. Happy logging and forwarding.
Directive full_referer_log (0/1). 0 produces a more compact log, referer is logged only when servers are different. So you can record your path in cyberspace :)
no_proxy, fail, cacheonly, nocache can have more than one argument. Arguments are separated by SPACES.
Authentification in url ( http://looser:kewl@i.hate.ssh/ ) now works properly.
Unknown or unsupported protocols (FTP, gopher) are now forwarded to your http_proxy (if you have one) and received reply is, of course, cached. So happy off line FTP sites browsing!
Default filename (.welcome) can be now redefined. UNIX users may like this.
When generating filenames, numbers are inserted at beginning, not end - programs may now still recognize file based on file extension .
-local command line switch. Forces Smart Cache to run in local mode. Smart Cache will not try to connect anywhere.
New garbage collection action '='. File will ALWAYS be removed if older than X days.
urlmask ftp://* =7
Removes all files received by FTP when not used in 7 days.
0.36 20.11.1998
Bug fixes
Due to bug in stupid Wget, I added correct handling of requests with #. No more multiple downloads with Wget.
Message cleaned empty dir is now sent to stderr. Less garbage in stdout.
Some less important internal changes (i already forgot them).
New features
referer_hack has been extended and can now send USER-specified URL instead.
Error_document also supports return code 400 (proxy load failed).
New feature Fake_user_agent used for making WWW logs more interesting. Note: via line is not added to string specified.
0.35 20.9.1998
Bug fixes
Some internal optimizations for speed in cache engine. GC engine is still not yet optimized for speed (because I run GC only about twice a month).
Support for bunch of new protocols such as hTTP, hTtp, HttP, ...
Handling errors in multiple downloads of the same object is now smarter than before. (I wonder if anyone will even notice it).
New features
New special feature - referer_hack. With this feature you can (somewhat) protect your privacy and fool servers that check the Referer header in requests. Nice side effect of this new feature is that if you use something like this:
Redirect http://my.homepage/* http://members.xoom.com/myname/*
your images will be displayed. Default value of referer_hack is disabled (zero).
Small read.me file added to distribution archive.
Improved descriptions of commands in both configuration files
Smart Cache got another stupid AWARD from some BFU magazine. I don't know why some people generate so much hype for this product... It's strange that this BFUs gets Smart Cache running...
Value of default_refresh_pattern changed in default config file to honor all forced reloads...
swap_dirs_levels changed from 5 to 4 in default config file. WARNING: If you are upgrading Smart Cache and change this value (from 5 to 4) your cached objects will not be found!
"Full" version has default BindAddress set to * instead of 127.0.0.1.
Also, I somewhat improved the well-known directive for customized 403 error messages. An empty html file can now be sent. This may fix some JavaScript troubles. I didn't test it, because i hate stupid technologies such as JavaScript, Active X, ...
0.34 12.9.1998
Bug fixes
Faster in-memory garbage collection.
Added header Proxy-Connection: Close to generated error messages. This fixes troubles with old browsers, which don't have proper handling of Keep-Alive connections.
Security bug: Password-protected documents were still cached!
New features
Choice of removing Pragma: no-cache header from clients requests.
See scache.cnf
for more info (look for remove_pragma_no_cache)
Customized Error Reply by redirecting to specified URL. Only 403 Error reply (Forbidden, generated by Fail directive) is now supported.
Nicer HTML in generated error messages.
Ad Busters moved to another server, so -faststart switch is no longer needed for workaround to JVM DNS caching bug.
Less important init messages are now sent to stderr.
0.33 5.9.1998
Bug fixes
Workaround for bug in Squid Cache 1.2.X (if Squid is used as http_proxy).
Improved some messages generated by garbage collector engine.
Default value of maximal object size increased from 4 to 10 Mb.
Improved error detection - Smart Cache can now detect when user of garbage collector removes directory with active file transfers.
New features
HTTP RC 403 added to group 'temporary remote server errors'.
By popular demand, size of transferred objects now displayed in Smart Cache window.
Refreshed object without last_modified date (delta=0 m) no longer mentioned in Smart Cache window.
0.32 19.8.1998
Bug fixes
Fixed bug in garbage collector. GC crashed when there were fewer objects in cache than gcarraysize.
Cacheroot directory is now always created on cache startup.
0.31 18.8.1998
Bug fixes
Fixed some rare cases which created "unreferenced" objects when object loading failed.
Fixed bug in GC. Due to changes in 0.30, only 50% "unreferenced" files were removed.
New features
Extended directive generate_lastmod. If set to 1, generates Last-modified header only if object is sent from cache. This removes problem with both stupid browsers (MSIE, Netscape) and aborted transfers. If you want to restore the previous operation mode, set it to 2.
Local filename generating is now significantly faster. This makes Smart Cache about 10% faster when operating with "normal" URL length and much faster with very long URLs.
URL Search string can now be delimited with more chars: :? = ;
Smart Cache got TOP 25% Rating from J.A.R.S.
0.30 3.8.1998
Bug fixes
Last-Modified dates in future no longer confuse the refresh engine.
In some rare cases, when object load failed, object was deleted from cache, but not from .cacheinfo files.
When directory creation fails, Smart Cache no longer creates file nullnull, when attempting to transfer cacheable object.
New features
Garbage collection! It's configurable through gc.cnf file. Run it via java scache -gc and enjoy!
New directory structure - character ~ is no longer replaced by -. If you want to convert directories to new format (recommended), use the -convert030 switch.
0.29 5.7.1998
Bug fixes
Corrected new error from 0.28 - documents without expire line don't get cached if pragma_nocache were set to zero.
New features
Command-line option -faststart. Suppresses latest available version check and Ad Busters rule set refresh.
Better last-modified. headers generation, now works even on transient objects.
Possibility to send pages from cache if remote server returns internal error. Good for overloaded servers, such as Geocities. If you want this, set hide_errors to one.
English version of docs.
0.28 2.7.1998
Bug fixes
Handling errors when reading corrupted .cacheinfo
files.
Faster saving .cacheinfo
files.
Directory memory cache optimized.
Internal optimizations for better speed.
Corrected sended HTTP reply 304 when load failed.
Ignoring Expires: header in the past.
Removed filesystem's case sensitivity check.
Check if is possible to use character '\' in filenames.
New features
Sending pages which are already deleted on WWW servers (rc=404), but still existing in cache. Directive keep_deleted [0/1]. Good for off line browsing of removed sites.
Smart Cache can now generate last-modified headers if document is cacheable and original do not have one. generate_lastmod [0/1] - it is very good for web forwarding.
0.27 23.6.1998
Product license changed from FREEWARE to shareware. Some features exists only in registered version. Introduced built in web forwarder.
Changed syntax for default_refresh_pattern to reload_age min_age lastmod_factor max_age. Lastmod_factor is a floating point number and other numbers are times in minutes. These numbers are used when testing if document needs to be refreshed. Setting reload_age value > 0 disables reloads for specified time. Setting min_age value > 0 allows caching pages without Last-Modified header, which makes web browsing much faster.
Smart Cache has been optimized and now is five times faster than before. Now is only about 25% slower than Apache 1.0 for OS/2.
Changed POST method handling - added workaround for some badly programmed CGI scripts.
Password protected documents are not cacheable now.
Smart Cache now beeps, when new version exists.
Smart Cache will exit (not hangs) when can not bind to specified port.
Changed handling of redirect - proxycache now do not sends redirected back to the browser, but remaps the request and continue working on it - it is necessary for web forwarding.
Classes are before distributing protected by hashjava utility. This also make them 10kB smaller.
Registered version
Directive SerialNumber for entering the secret registration number. [12]
Access logging by access_log with URL masks. Good for logs on web forwarders.
access_log http://netmag.cz/* netmag.access.log
Directive default_forward_for, which is default hostname for forwarder.
Directive BindAddress for entering local IP address for port binding.
Directive max_clients for setting maximal number of http clients.
Directive Refresh_pattern for fine tuning expiration setup by URL mask.
0.26 6.6.1998
Fixed VSB [13] when processing HEAD requests. Smart Cache caches results of this requests and this overwrites normal pages with zero-sized pages.
Adding Host: headers to outgoing requests with port number.
Corrected file system check - works even if CacheRoot directory does not exists.
Better resolving of the filename/directory clashes.
Cache now works better in some rare situations, when is not possible to create working directory for requested pages. These pages are still not cached, but are now sended to clients.
Directive inputtimeout - socket read timeout for client's request.
Directive proxyreadtimeout - timeout for reading reply from remote web server.
Both time are in seconds.
0.25
Changed error message Target not set to Host Unknown
Hostnames are now no longer case-sensitive.
Protocol names are no longer case-sensitive.
0.24
Added support for my AdBusters! web service.
AdBustersId and AdBustersAuth for AdBusters login.
Cache can check if newer version of itself is available.
Check for unnecessary Fail or Pass mask (already matched by others).
0.23
Wildcard '*' support in all directives but Redirect and No_Proxy
URL are no longer case sensitive. (Fixes problem with IBM Alpha Works site)
Directive NoCaching for defining what URL you do not want to cache.
Directive CacheOnly for defining only what are allowed to gets cached.
You must use only one of them
New keyword Pass for marking allowed URLs, which Fail disables (by mistake).
Some generic traps for adv. banners installed in default configuration file.
0.22
Because many users use this program in corporate environments for caching entire networks even if this is not allowed by license, Smart Cache has now hard coded bindaddress to 127.0.0.1.
Better error messages, displays also thrown Java exception.
0.21
Corrected URL parser for working with URL containing strange characters such as '=;%^&'.
do not create filenames with '|' inside
If-Modified-Since header is sended as first line in request.
If cache assumes that object is in the cache, but can not be accessed (for example is deleted), request headers will not be send to server twice.
Smart Cache do not works with Java 1.0 (only missing class is CRC32).
Shutdown flag is deleted on the start.
0.20
New structure of .cacheinfo
files. Now last access date is
included (needed for future garbage collector).
Faster exit on shutdown_flag
Header Server: added to error messages.
Error messages has no expiration time 5 minutes (like Squid).
All dates are now in the 'correct' Internet format including day of the week (some servers tested DOTW on IMS requests!!!)
Dates with day < 10 now has two digits size as required in RFC. Java claims to support 'Internet date format standard', but zero on the beginning was missing.
0.19
Removed nearly all headers from generated 304 replies as required by HTTP/1.1 protocol.
Changed case in generated headers. Some stupid servers has case sensitive matching on headers.
More important dates has now correct day of the week.
Corrected crashing when URL has more than one '?' - (Microsoft's servers).
Kill unreferenced files tests if does not exist directory with name of the cached file.
0.18
When network error is detected when sending (after successful connect) request to server, old cached object will be sent.
Also if network error is detected when reading reply from server, send old object.
0.17
If-Modified-Since requests from clients are now correctly handled in all cases. Sending bad responses crashed IBM WebExplorer browser (Netscape was fine) and entire Presentation Manager (OS/2 GUI Interface).
Cache do not crash if gets date from remote server in unknown format (Expires: headers send by developer.javasoft.com).
0.16
Check if filesystems allows to create filenames with dot at end only. (seen on the Hare Krishna World Online).
Thread synchronization is now much better. If Smart Cache gets many requests
per second for loading the same object into cache, object will be loaded and
lost. (Discovered by my webbench
program.
Removing headers Proxy-Connection and Connection from client's requests. Some wants to use persistent connection, which Smart Cache do not support.
Smart Cache is now smarter when tests for removed files or directories by user.
0.15
Cache appends its name to User-Agent header.
Corrected error (buffering problem) when processing POST requests.
0.14 23.3.1998
Cache displays information about objects which are successfully checked via IMS.
Better handling of aborted requests. It is not necessary to wait for remote server reply to be request considered as aborted.
Shutdown_flag for clean cache shutdown.
Better support for multiple downloads of the same object.
0.13 - 22.3.1998 First public release on the Net
When got 404, delete object in the cache
Cache only `good` error codes from server, not bad, which overwrites `good` cached object (Squid does this overwriting).
Temporary files are deleted, when transfer is aborted by network error.
Support for case sensitive filesystems with auto detection.
pragma_no_cache introduced
0.12(Private) - 21.3.1998
Clients got 304 if they send IMS request and connect fails.
-killunref introduced.
Error messages has now last-modified and Expire: headers like Squid.
added header Date: to server responses. Some browsers use this for last-mod check.
quick_abort introduced
0.11(Private)
new directives no_proxy, fail, redir
Better dir cleanup - directories are now deleted up to the dir hierarchy as much as possible.
Directories are now cleaned when garbage collected from memory, not on saving.
0.10(Private) - 20.3.1998
More intelligent IMS refresh
Better memory directory garbage collector
I/O buffer set to 2048 bytes instead 512
background directory saver set to 10 minutes
better multi-thread synchronization
19.3.1998
Core coding is fully completed.
Let's debug in the real world!
First 'Smoke test' on the Internet.
something from www.javaworld.com really gets cached, but due to bugs in the thread-synchronization many objects gets lost.
17.3.1998
very basic skeleton of cache appeared
coded handling of POST requests, but untested.
12.3.1998
Smart Cache project started
Thinking about Smart Cache design goals, Section 1.5
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ A ] [ B ] [ next ]
Smart Cache Manual
0.94hsn_nospam_at.sendmail.dot.cz