]> git.ipfire.org Git - thirdparty/squid.git/commit
author: Martin Huter <mhuter@barracuda.com>, Alex Rousskov <rousskov@measurement...
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 18 Nov 2011 16:53:45 +0000 (18:53 +0200)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 18 Nov 2011 16:53:45 +0000 (18:53 +0200)
commit0ad2b63bf4586b507e351b853424ac13f81d3404
tree97b68f15dd26cbdb4984dd829f79982690960bc5
parent2f3e52b5c8110680454503a5551fb4fbbf7b2c2a
author: Martin Huter <mhuter@barracuda.com>, Alex Rousskov <rousskov@measurement-factory.com>, Christos Tsantilas <chtsanti@users.sourceforge.net>
Bug 2619: Excessive RAM growth due to unlimited adapted body data consumption

If the client does not read from the open connection (i.e. the user does not
confirm the browsers download-message-box in microsofts IE), squid keeps on
reading data from the ICAP server into the store entry, while no more data
can be delivered to the client.
Thus the store entry in memory is growing and squid may - in worst case -
consume memory up to the size of the users download.

This patch add API to StoreEntry to call the producer back when released
memory/space from the StoreEntry and add code to the ICAP client code to not
consume body data comes from the ICAP server when there is not available space
in the store entry.
src/Server.cc
src/Server.h
src/Store.h
src/StoreIOBuffer.h
src/client_side_request.cc
src/client_side_request.h
src/store.cc
src/store_client.cc