w3c on HTTP
Current version: 3.18
updated: Mar 29 2009
version 3.18 (2009-03-29) Fixed a problem where tunnels (https) could
crash. Fixed a problem where repacking could cause NPE
version 3.17 (2009-01-20) Added registration time to selector status
page. Added timeout to close down channels that are somehow
lost (to not leak sockets until the real bug is fixed). Made
sure that some map sites are not filtered by default. Blocked
some more ad sites by default. Fixed a timeout issue in the
tunnel handler (Russ).
version 3.16 (2008-08-11) Moved RequestHandler into it's own file and
added synchronization to ensure threads see the correct
things, may hopefully fix a few rare NPE:s, (reported, but
not reproduced). Created new packages and moved classes from
rabbit.proxy into the new general packages. Added a client
package with client example code for HEAD and GET requests.
Fixed a lot of pmd- and findbugs-warnings. Added a simple
web server. ImageHandler did sometimes ignore the min_size
settings. Updated dnsjava to version 2.0.6. Updated and added
javadoc in a some classes.
version 3.15 (2008-07-24) Minor changes in cache status page (Rick).
Updated the FileSender to know about some more mime types.
Tried to avoid heavy recursion in BaseHandler and GZipHandler
that could cause stack overflow on a few sites. More ecj
warnings fixed (@Override, non-needed else blocks, ...).
Avoid a few cache checks when the cache size is zero.
Added an allowURLmatching filter to BlockFilter to really
restrict web access through the proxy (Ilde). Increased the
selector loops before spin evasion was triggered, it could
happen on heavily loaded instances.
version 3.14.1 (2008-01-06) The html parser could sometimes throw
exceptions due to reuse of variables the previous parse.
version 3.14 (2007-12-15) Fixed a problem with parsing HTTP/0.9 responses.
Fixed a problem when sending requests for url:s without any
file information (problem reported by Jon).
version 3.13 (2007-11-21) Made rabbit sleep longer when it is idle. Fixed
a problem with zero length resources (apple store style
sheets). Added some more javadoc and comments (Rick).
Improved the handling of localhost accesses for status pages
(robo). Some code cleanup (Rick and robo). Added some more
comments to the code (Rick). Added some technical
documentation describing the thread usage of rabbit. Added
some code to avoid NPE in SelectorRunner during shutdown of
proxy (bug from Vladimir). Code cleanup: remove unneeded
imports and unused variables.
version 3.12 (2007-10-15) Removed some unused code from the zip handling.
Tried to add a workaround for the broken linux/epoll
selector (in java 6u1, 6u2 and 6u3).
version 3.11 (2007-09-17) Made it possible to configure the minimum image
size to convert. Fixed a problem with html parsing and
lingering rest blocks. Made the AdFilter handle a few more
cases of bad html (fixes http://linuxtoday.com/). Made sure
that the selector de-registers unhandled sockets nicely. Some
code cleanup in cache validation (Rick). Moved socket handler
deregistration to SelectorRunner to make sure that no handler
misses to deregister (and thus causing cpu spin on the
selector). Fixed the problem with proxy chaining and ssl
handling. Rick added deflate support. Added more debug
logging. Fixed a problem with gzip unpacking hangin if the
first resource block was very short.
version 3.10 (2007-07-09) Fixed a few problems found by findbugs/1.2.1.
Fixed a typo in the config for SQLProxyAuth (Luis). Tried to
sent as mime type text/html. Fixed a problem with selection
key being cancelled when handlers run in the thread pool
(robo, found by Vladimir).
version 3.9 (2007-06-11) Java/6 is now needed. Added the possibility for
html filters to turn caching off for the current resource,
rick+robo. Updated the cache to also count size of header
files. Added Ricks patches to supress favicon error logs,
getRequestURI in Connection and updated the HttpSnoop filter
with a parameter to only print status lines. Added an example
filter that can be used to set request or response
headers. Updated FilterHandler/HtmlParser to handle different
character sets. Made it possible to set the default charset
for FilterHandler (rfc2616 say ISO-8859-1, but some people
want otherwise). Fixed a NPE that could occur if
DontFilterFilter was badly configured. Added ".js" to the list
can sometimes be sent as "text/html".
version 3.8 (2007-03-07) Added a RevalidateFilter that can be used to make
sure that rabbit always revalidates some (or all) resources.
Added deny lists handling to conf/access and AccessFilter.
Added Ricks patch to give a nicer host not found page. Made
the Selector information more readable. Added some more
information to the status page. Fixed a problem with web
connections resources reading too much data (when pipelining
requests). Added Ricks patches for easier handling of mime
type handlers: remove whitespace after ';' and allow '?' to
indicate one optional character.
version 3.7 (2007-01-08) Fixed a NPE that could happen when caching http
headers. Fixed a problem where rabbit got a SIOBE for requests
for "". Fixed a problem with zero sized Content-Length in
uploads. Fixed a rare NPE in BaseHandler.finish.
version 3.6 (2006-11-17) Added a filter to remove "Accept-Encoding: gzip",
useful if you want rabbit to filter more sites. Fixed a
problem with restart when select fails. Updated dnsjava to
version 2.0.2. Rewrote gzip packing and unpacking. Added the
possibility to unpack gzipped resources. Changed the config
for handlers to be id based, which means that it is possible
to configure the handler differently based on image type or
content encoding. Fixed a memory leak in the
ConnectionHandler. Fixed a problem where file transfers would
loop trying to write instead of shutting down.
version 3.5 (2006-09-17) Fixed a problem where GZipHandler failed to keep
track of how much data it had read and thus causing rabbit to
refetch resources. Rework how cache handling works, it is much
faster now. Removed most locks on the returned tasks list.
Some small performance fixes all over, both for memory and cpu.
version 3.4 (2006-08-28) Added a buffer cache, direct buffers will now be
reused and rabbit will cause less GC. Web connections that are
flagged for keep alive, but have outstanding data to read will
now be closed.
version 3.3 (2006-07-30) Lots of work with the selector registration to be
able to handle client side pipelining. Fixed a lot of findbugs
flagged problems. Fixed problems with some partial downloads.
version 3.2 (2006-05-27) Fixed a NPE in BaseHandler.finish:208. Fixed a
workaround for a CCE in HttpProxy.handleSelects:432. Fixed a
problem with GZipHandler and already compressed streams.
version 3.1 (2006-04-06) Upstream proxy should work again. AdFilter has a
better default for adlinks. Fixed config of ImageHandler that
was ignored. Infinite loop bug in RandomCacheResourceSource fixed.
version 3.0 (2006-03-28) BaseHandler will no longer chunk resources if the
content length is known. Set sockets to use TcpNoDelay
(Nagle's algorithm). Started to redo the pipeline handling.
Implemented block listener handling to file reousrces. Cache
will now use buffered streams. Added LogRotator again.
version 3.0 pre-release (2006-02-13) first pre release of rabbit
3.0. RabbIT now uses java.nio for all network talk and most of
the internal systems uses threads for long time operations.