squid3/squid3-icap changes

These changesets represents the changes on the squid3/squid3-icap development branch of Squid. If there is any questions please contact squid-dev@squid-cache.org.

Browse repository

2007/06/19 06:00:24rousskov+7 -2Before deleting a stale update event, check whether the event is there
2007/06/19 05:31:18rousskov+1 -0Count I/O timeout as a service failure. This helps suspend broken services
2007/06/19 05:18:21rousskov+4 -0Partial bug #1973 fix: Try to revive a suspended service after the
2007/06/19 05:09:03rousskov+50 -37Moved OPTIONS fetch time calculation from scheduleUpdate() to
2007/06/19 03:19:33rousskov+64 -13Added icap_connect_timeout and icap_io_timeout squid.conf options to control
2007/06/19 03:05:07rousskov+2 -1Do not retry server transactions aborted due to request body supply
2007/06/19 01:17:31rousskov+12 -1When handling request body abort, create an error before terminating the
2007/06/18 23:14:30rousskov+2 -2HttpStateData may get stuck if request body producer aborts while the request
2007/06/18 20:58:46rousskov+1 -1When connect() times out, throw an exception instead of calling mustStop()
2007/06/18 23:14:30rousskov+2 -2HttpStateData may get stuck if request body producer aborts while the request
2007/06/18 20:58:46rousskov+1 -1When connect() times out, throw an exception instead of calling mustStop()
2007/06/18 20:49:08rousskov+1 -2Do not stop writing before throwing an exception. If the exception kills the
2007/06/18 20:39:01rousskov+2 -1- Rearranged code to make the order of debugging messages more intuitive.
2007/06/01 21:23:59rousskov+135 -15Bug #1974 fix: Bypass failures of optional ICAP services.
2007/06/01 20:55:59rousskov+14 -12Ignore comm_write notifications if the newly added
2007/06/01 20:50:16rousskov+2 -2Made AsyncJob::callException() virtual so that kids can customize exception
2007/06/01 20:47:07rousskov+38 -9Bug #1981 fix: Tell FwdState that an unregistered and failed Server is
2007/05/02 16:53:25rousskov+48 -13- Preserve virgin body backup if we decided to retry the transaction on pconn
2007/05/02 16:43:55rousskov+1 -1Added a comment.
2007/04/28 00:16:06rousskov+2 -0Disable transaction retries if we are not using a persistent connection. ICAP
2007/04/25 22:01:09rousskov+2 -2Assign cbdataReference result to avoid compiler warnings.
2007/04/25 21:28:10rousskov+37 -34Bug #1819 fix, part 2: retry the ICAP transaction when its pconn fails.
2007/04/25 21:23:47rousskov+754 -231Bug #1819 fix, part 2: retry the ICAP transaction when its pconn fails.
2007/04/25 20:21:53rousskov+1 -1If a consumer leaves without consuming anything, do not tell the producer
2007/04/25 20:12:39rousskov+4 -4Added cbdataProtected parameter to control the last eventAdd parameter.
2007/04/23 20:06:32rousskov+2 -6A failed ICAP RESPMOD transaction could leave the HTTP transaction stuck.
2007/04/23 16:23:43rousskov+423 -205Bug #1819 fix, part 1: simplify ICAPInitiator-ICAPXaction link.
2007/04/21 03:50:28rousskov+9 -10Make sure the entire response body gets to ICAP, even when the end of it
2007/04/23 16:23:43rousskov+423 -205Bug #1819 fix, part 1: simplify ICAPInitiator-ICAPXaction link.
2007/04/21 03:50:28rousskov+9 -10Make sure the entire response body gets to ICAP, even when the end of it
2007/04/21 03:50:28rousskov+9 -10Make sure the entire response body gets to ICAP, even when the end of it
2007/04/03 16:54:38rousskov+7 -1FtpStateData::parseListing() could not handle an empty content buffer. The
2007/04/03 15:10:32rousskov+4 -3- Call storeEntry()->complete() when ending request satisfaction.
2007/03/21 20:05:14rousskov+31 -38- Removed unreachable code after the doIcap() call. The latter never
2007/03/21 16:21:51rousskov+52 -5Copy client-specific request meta-information such as request flags and
2007/03/08 22:10:35rousskov+1 -1- Make GCC3 happy with printf arguments.
2007/03/08 22:09:35rousskov+32 -18- setConsumer is now setConsumerIfNotLate and may fail if the body pipe has
2007/03/08 22:05:31rousskov+4 -4- Use auto-consumption feature to consume data from closing connections for
2007/03/08 22:03:28rousskov+36 -4- BodyPipe is used to read request bodies, including requests for which
2007/03/08 05:24:22rousskov+3 -1- BodyPipe::status() is using a static buffer and, hence, can only be called
2007/03/08 05:23:09rousskov+4 -0- When appending body data, do not append more than the known body size.
2007/02/20 16:22:30rousskov+87 -122- Fixed ieof condition detection. Squid was sending last-chunk without ieof
2007/02/20 16:04:28rousskov+9 -2- Added an expectMoreAfter() method to allow consumers to detect EOF
2007/02/14 22:52:30rousskov+8 -5- When sending last-chunk in Preview, send ieof extension if we wrote
2007/02/14 07:26:54rousskov+18 -22- Synced after deleting BodyReader, ClientBody, MsgPipe*, ICAPClient*,
2007/02/20 16:22:30rousskov+87 -122- Fixed ieof condition detection. Squid was sending last-chunk without ieof
2007/02/20 16:04:28rousskov+9 -2- Added an expectMoreAfter() method to allow consumers to detect EOF
2007/02/14 22:52:30rousskov+8 -5- When sending last-chunk in Preview, send ieof extension if we wrote
2007/02/14 07:26:54rousskov+18 -22- Synced after deleting BodyReader, ClientBody, MsgPipe*, ICAPClient*,
2007/02/14 07:20:53rousskov+2 -2- body_reader is now body_pipe.
2007/02/14 07:19:43rousskov+283 -391- WARNING: The changes below are significant and probably introduce new
2007/02/14 07:00:44rousskov+103 -45- Support asynchronous transaction start. This allows for a better
2007/02/14 06:49:37rousskov+23 -21- The minimum options update gap (currently hard-coded) must be smaller than
2007/02/14 06:44:28rousskov+10 -8- Polished TTL handling to make sure we use the default TTL when the ICAP
2007/02/14 06:40:45rousskov+61 -59- Use asynchronous start and swan song methods that are now supported by
2007/02/14 06:35:56rousskov+1 -4- Buffer size constants are now maintained by BodyPipe.
2007/02/14 06:35:06rousskov+4 -4- Do not use .getRaw() if possible.
2007/02/14 06:33:45rousskov+771 -624- WARNING: The changes below are significant and probably introduce new
2007/02/14 06:10:21rousskov+444 -313- Use BodyPipe instead of MsgPipe for receiving virgin and sending
2007/02/14 05:43:12rousskov+60 -0- Added ICAPInitiator interface that classes initiating ICAP
2007/02/14 05:26:43rousskov+0 -1145- Deleted MsgPipe and related classes. Message pipes had two purposes:
2007/02/14 04:48:10rousskov+17 -11- Moved HttpRequest::body_reader to HttpMsg::body_pipe so that all HTTP
2007/02/14 04:46:06rousskov+0 -141- Removed ClientBody as unused, replaced by BodyReader, then BodyPipe.
2007/02/14 04:44:10rousskov+470 -218- Replaced BodyReader with BodyPipe. BodyReader was a collection of
2007/02/14 04:40:01rousskov+139 -0- Added basic support for asynchronous calls. The calls are implemented
2007/02/14 02:30:55rousskov+14 -1- Support printing refcounted pointers to ostreams. When printing,
2007/01/29 17:53:00rousskov+14 -6- When informing ClientHttpRequest that we are done, do not stop() because
2007/01/29 17:34:22rousskov+18 -5- When destroying ClientHttpRequest, if ICAPClientReqmodPrecache expects
2007/01/29 16:45:54rousskov+3 -0- Added debugging.
2007/01/27 05:59:40rousskov+13 -16- Fixed HttpStateData memory leak visible when no RESPMOD services are
2006/12/14 05:17:52rousskov+85 -16- Added icap_service_failure_limit squid.conf option. The limit
2006/12/14 00:21:54rousskov+4 -3- Do not reset Preview size to zero when expecting a virgin body of unknown
2006/11/03 15:54:55rousskov+26 -13- Polished debugging to help track reasons why Squid marks a service "down".
2006/10/30 18:18:48rousskov+14 -15- Fixed and simplified up/down status reporting by remembering the last
2006/10/26 06:07:18rousskov+27 -20- Polished service selection code to avoid two findFirstService calls in
2006/10/26 05:40:53rousskov+4 -1- Added a comment on how the doIcap-related code should be reorganized
2006/10/26 05:38:52rousskov+32 -24- Renamed doIcap to startIcap and moved more common code there. Changed its
2006/10/26 05:25:15rousskov+12 -7- Do not skip essential services that want the URL, even if they are broken,
2006/10/26 05:20:12rousskov+2 -2- Polished waiting-for-service-probe preconditions.
2006/10/25 23:06:46rousskov+14 -3- Notify ICAP service of connection failures using the newly added
2006/10/25 23:06:15rousskov+70 -22- When ICAP transactions fail to connect to the service many times, the
2006/10/25 22:22:44rousskov+2 -2- Use validated_cbdata when calling back after validating callback_data.
2006/10/25 17:45:00rousskov+7 -2- Ignore broken services. There is no point in contacting them until they
2006/10/25 17:43:52rousskov+70 -14- Distinguish ICAP services that are down because they have not been contacted
2006/10/25 04:58:05rousskov+54 -35- When selecting a matching ICAP class before performing asynchronous
2006/10/25 04:57:03rousskov+23 -16- Supply HTTP request URL path to the ICAP service when figuring out
2006/10/25 04:56:34rousskov+13 -14- Whether a service wants a preview now depends on the HTTP request URL
2006/10/25 04:55:33rousskov+141 -123- Rewrote parsing, storage, and querying of "transfer lists". Each list
2006/10/25 04:21:33rousskov+4 -0- Dump raw OPTIONS response when debugging.
2006/10/24 14:16:41rousskov+2 -4- Replaced assertion with Must() and polished parseHead() comment.
2006/10/19 06:12:56rousskov+27 -2- Make sure there is an accept callback when we are accepting.
2006/10/18 23:35:41rousskov+4 -4- Raised debugging level after discovering that the "cannot send body data to
2006/10/18 23:31:36rousskov+3 -12- Removed temporary "debugs(0,0,HERE)" debugging.
2006/10/18 21:44:59rousskov+6 -7- Do not assert that "size" does not become zero in clientReadBody. The size
2006/10/09 17:32:00rousskov+21 -2- Close or recycle the ICAP connection when it is no longer needed, even if
2006/10/07 05:19:40rousskov+15 -6- When canceling pending comm_read does not seem to work out (how can one
2006/10/07 05:14:53rousskov+23 -9- Do not tell the owner to finish adaptation until we are done sending virgin
2006/10/07 05:08:58rousskov+6 -3- Polished debugging.
2006/10/07 05:07:18rousskov+1 -0- Added a comment to explain how ICAPClientReqmodPrecache vector is deleted.
2006/10/07 05:05:55rousskov+43 -18- When a server wants to abort ICAP adaptation while being called by the ICAP
2006/10/07 04:53:11rousskov+5 -2- Call ownerAbort() before deleting icap helper so that it can inform/abort
2006/10/06 20:03:37rousskov+10 -9- When cloning a request during an ICAP 204 "No Content" REQMOD response,
2006/10/06 17:53:48rousskov+28 -28- Removed tabs. Argh!
2006/10/06 17:05:03rousskov+11 -7- Accept NULL cause as valid (for REQMOD).
2006/10/06 17:03:25rousskov+69 -66- Rewrote the code updating ICAP service options. We no longer mark the
2006/10/06 16:51:36rousskov+11 -1- Catch exceptions that the OPTIONS transaction may throw when it starts. This
2006/10/06 16:48:08rousskov+4 -3- Check that the ICAP service is "up" when we receive notification, not when
2006/10/06 16:43:03rousskov+343 -372- Merged common code from the ICAPClientReqmodPrecache and
2006/10/06 16:26:15rousskov+73 -74- Rewrote communication between a server-side ICAPClient*mod* vector
2006/10/04 19:34:04rousskov+16 -16- Polished debug sections, level, and content of ICAP debug messages.
2006/10/04 18:09:35rousskov+18 -18- Replaced tabs with spaces.
2006/10/04 18:07:11rousskov+1 -1- We have echoed all virgin data when there is no more coming and we have no
2006/10/04 18:00:33rousskov+5 -0- When adapted data is consumed via takeAdaptedBody(), the
2006/10/04 05:00:23rousskov+25 -5- Comm maintains a single timeout per file descriptor so we cannot maintain
2006/10/03 22:38:52rousskov+1 -0- Forgot to return from a switch case.
2006/10/03 22:21:30rousskov+2 -6- Removed misplaced level-1 debugging.
2006/10/03 22:14:53rousskov+8 -7- Allow for multiple calls to mustStop() because we might signal a stop and
2006/10/03 22:05:00rousskov+11 -2- Do not schedule a time-based update of ICAP options if such an update
2006/10/03 19:53:07rousskov+9 -5- When an exception is caught, mark the ICAP connection as non-reusable so
2006/10/03 19:46:01rousskov+34 -17- Stop writing ICAP primary body not when we received everything but when we
2006/10/03 18:17:52rousskov+1 -1- Fixed comment.
2006/10/03 16:18:03rousskov+3 -3- Spellchecked writable.
2006/10/03 05:24:00rousskov+1 -0- Added Tsantilas Christos <chtsanti@users.sourceforge.net> for fixing
2006/10/03 04:51:32rousskov+2 -1- After ICAP 100 Continue, expect new ICAP headers instead of HTTP headers.
2006/10/03 04:43:52rousskov+11 -13- The ieof HTTP chunk-extension was written after chunk-data instead of being
2006/10/03 04:24:34rousskov+11 -7- When detecting the end of the virgin data while maintaining Preview-related
2006/10/03 03:50:29rousskov+4 -2- Initialize pstate to psReadyToParseStartLine when initializing a message.
2006/10/03 00:18:58rousskov+6 -8- We were deleting the "icap" data member and then calling
2006/10/02 23:02:18rousskov+4 -1- Call parent fill*Status() methods to get complete status lines.
2006/09/30 05:08:06rousskov+2 -2- Fixed ICAPXaction_noteCommWrote() profile to match that of IOCB
2006/09/29 23:15:14dwsquid+25447 -3299syncing with HEAD
2005/11/21 21:23:38dwsquid+3 -2late commit for ICAP code reorg
2005/11/21 21:05:50dwsquid+5415 -5269Reorganized ICAP code -- moved to src/ICAP subdirectory and renamed
2005/11/08 19:52:16dwsquid+0 -3Remove some level-0 debugging
2005/11/07 21:22:52dwsquid+2 -2Don't use a local variable for HttpReply that conflicts with
2005/11/07 20:26:11dwsquid+48 -59fixes and cleanup after merging HttpReply objectification changes from HEAD.
2005/11/04 20:29:06dwsquid+2 -59Remove old, unused references to the ICAPAccess class.
2005/11/04 20:10:20dwsquid+3 -3bug:
2005/11/04 00:21:34dwsquid+53 -35Move methodStr() and vectPointStr() to ICAPElements so we can use them
2005/11/04 00:20:31dwsquid+38 -8Fix up ACL checking stuff. It works better to break deep call chains
2005/11/03 21:38:33dwsquid+20 -1Added "shift" method (as from Perl) for Array class
2005/11/03 21:36:45dwsquid+180 -100These changes make ICAP actually call ACL functions as given by
2005/11/03 00:28:58dwsquid+17 -14In ICAPOptXact::parseResponse(), the HttpReply must be allocted from
2005/10/21 23:36:33dwsquid+12 -2Make icapAclCheckDone() handle the case when there is no ICAP service
2005/10/17 23:38:14rousskov+3 -1- Added boolean negation operator to be able to write "if (!pointer)".
2005/10/17 23:35:39rousskov+3 -3- If a dirty non-stolen buffer is deleted, clean it instead of asserting that
2005/10/17 23:30:37rousskov+320 -50- Obtain ICAP options using ICAPOptXact. This is done when no options
2005/10/17 23:19:48rousskov+129 -268- Rewrote most of the code: Reused existing Squid parsing code. Merged
2005/10/17 23:15:49rousskov+19 -16- Use ICAP::* types and constants from ICAPElements instead of
2005/10/17 23:11:42rousskov+9 -12- Use ICAP::* types and constants from ICAPElements instead of
2005/10/17 22:58:29rousskov+1771 -2065- Big change: Split ICAPXaction into ICAPXaction, ICAPModXact, and ICAPOptXact
2005/10/17 22:39:13rousskov+11 -10- Use ICAP::* types and constants from ICAPElements instead of
2005/10/17 22:34:13rousskov+61 -1- Added ICAPElements to encapsulated common trivial types and constants used
2005/10/11 22:28:12rousskov+7 -1- echoMore() was not called in noteSourceFinish(), causing
2005/10/11 22:00:20rousskov+220 -216- Simplified virgin content handling by splitting the overly complex
2005/10/10 16:59:25rousskov+12 -28- Do not send last-chunk when no body was expected (and, hence, when
2005/10/07 23:11:38rousskov+424 -164- Fixed support for ICAP 200 responses and for 204s outside of Preview.
2005/10/07 22:40:54rousskov+6 -1- Added debugging.
2005/10/06 05:31:26rousskov+94 -22- Revised ICAP parsing code to accomodate 100 and 204 responses.
2005/10/06 05:25:21rousskov+3 -0- Assume that ICAP server does not want Preview by default, that is until
2005/10/05 22:34:56rousskov+432 -42- Wrote initial support for ICAP Preview and 204s. Squid will try to
2005/10/05 22:30:03rousskov+4 -2- Added const version of the content() method.
2005/10/05 22:24:28rousskov+20 -1- Added wantsPreview() method to report whether the service supports Preview
2005/10/05 18:02:08rousskov+2 -1- added TODO notes.
2005/10/05 17:46:57rousskov+5 -5- Added a note that icap_access_check is not leaking here and will delete self.
2005/10/04 04:25:09rousskov+1 -1- Added space after "Encapsulated:", to better match the "usual" header format.
2005/10/03 23:28:43dwsquid+4 -2astyle
2005/10/03 23:27:57dwsquid+1 -3Add a comment to ::parseHead()
2005/10/03 23:26:16dwsquid+8 -1Try to clean up state if we encounter an ICAP header parsing error
2005/10/03 17:52:01dwsquid+18 -2Fix the service-not-found case in ClientRequestContext::icapAclCheckDone()
2005/10/03 17:48:29dwsquid+10 -7ICAPAccessCheck needs to always make the callback, even when there is
2005/10/03 16:31:12dwsquid+10 -1ICAPXaction::expectVirginBody() needs to work with REQMOD where
2005/10/03 16:24:41dwsquid+2 -2sigh, out-of-order code on last commit
2005/10/03 16:23:06dwsquid+3 -1icapAclCheckDoneWrapper() needs a cbdata check
2005/10/03 16:10:01dwsquid+67 -20Added icap access check to REQMOD processing
2005/10/03 15:49:56dwsquid+3 -3Dont see why icap_access_check needs to be a member of HttpStateData
2005/10/01 05:53:51dwsquid+4 -1Fix leak of HttpReply from HttpStateData. This is a little bit tricky
2005/10/01 05:48:37dwsquid+40 -32Make a proper destructor (and constructor) for HttpStateData
2005/10/01 05:09:11dwsquid+55 -55rename 'leaky' to 'MsgPipeLeaker'
2005/10/01 04:57:08dwsquid+2 -23We no longer need icapMethod()
2005/10/01 04:54:09dwsquid+5 -3protect HttpStateData::icapAccessCheckPending inside ICAP_CLIENT #ifdefs
2005/10/01 04:30:59dwsquid+8 -2Added 'state.wroteHeaders' to ICAPXaction. After eventAdd() fix,
2005/10/01 03:39:15dwsquid+1 -1MsgPipe events should have weight=0. Looks like a bug enabled by
2005/09/30 22:57:21dwsquid+7 -12Move clientInterpretRequestHeaders call to doCallouts(). Call it when
2005/09/30 22:11:13dwsquid+2 -1Forgot to delete ICAPAccessCheck after callback
2005/09/30 21:58:14dwsquid+4 -0handle NULL virgin->data->header in expectVirginBody()
2005/09/30 21:57:15dwsquid+3 -5change some debug(0,0)'s
2005/09/30 20:58:11dwsquid+44 -30Mostly just debugging changes and comments.
2005/09/30 16:26:08dwsquid+1 -9takeAdapatedHeaders() should no longer destroy the virgin reply
2005/09/29 22:56:59dwsquid+77 -5Added an expectingBody() method. Return type is boolean. theSize
2005/09/29 22:23:09dwsquid+2 -2bug: 'len' undefined here, use contentSize() instead.
2005/09/29 21:41:29dwsquid+3 -3Bug: body_bytes_read was only updated for non-ICAP case. It needs to
2005/09/29 21:39:42dwsquid+9 -7astyle
2005/09/29 18:00:44dwsquid+231 -85Starting to make ICAP service selection work with icap_access configuration
2005/09/29 05:17:21rousskov+42 -36- Initialized commBuf and bodyParser.
2005/09/28 21:47:55dwsquid+1 -4http_state_flags::headers_pushed is no longer needed
2005/09/28 21:47:23dwsquid+88 -110somewhat significant changes to http reply reading. Removed char
2005/09/28 20:36:31dwsquid+1 -3reply_hdr will already be terminated by the call to reply->parse()
2005/09/28 20:29:50dwsquid+9 -20Fix some bugs in processReplyHeader()
2005/09/28 20:27:44dwsquid+10 -10cosmetic: renaming HttpStateData's body_buf to request_body_buf to
2005/09/28 19:53:20dwsquid+6 -6cosmetic: in debugging messages change httpProcessReplyHeader to
2005/09/27 23:10:53dwsquid+9 -4Fix code logic around doIcap() call. Need to call ctx_exit before return
2005/09/27 20:40:57dwsquid+336 -285Use the (external) ICAPServiceRep class in ICAPConfig
2005/09/27 15:38:51dwsquid+4 -4Allow us to use leakfinder macros and still compile when leakfinder is
2005/09/27 15:32:07dwsquid+91 -53ran astyle
2005/09/27 15:22:39dwsquid+462 -0These are for ICAP config and directive parsing
2005/09/27 15:18:03dwsquid+251 -18Add ICAP directives to squid.conf
2005/09/26 04:31:42rousskov+2 -2- Renamed WHEN_SQUID_IS_NOT_HTTP1_1 to WHEN_SQUID_IS_HTTP1_1 to better
2005/09/24 18:19:23dwsquid+41 -0Moved this class definition out of client_side_request.cc into its
2005/09/24 05:42:34rousskov+4 -0- Applied astyle.
2005/09/24 05:39:30rousskov+8 -7- Made icapMethod() constant and polished it.
2005/09/24 05:30:34rousskov+6 -6- Renamed sendingABody() to expectVirginBody() to avoid a mismatch with
2005/09/24 05:14:52rousskov+3 -1- Added comments.
2005/09/24 04:51:59rousskov+1 -1- ICAPXaction tries to throw exceptions (explicitly or via Must())
2005/09/23 23:11:58dwsquid+33 -3We need two read buffers. We would prefer to read directly
2005/09/23 23:08:49dwsquid+2 -1clear valid flag in destructor
2005/09/21 20:36:07dwsquid+15 -15We are now hooked into ClientHttpRequest instead of ClientRequestContext
2005/09/21 20:34:30dwsquid+49 -38astyle
2005/09/21 20:33:37dwsquid+236 -147A semi-significant rearrangement of the way that client_side does
2005/09/21 18:49:53dwsquid+2 -1Need to include MemBuf.h
2005/09/21 14:38:14audrus+26 -7*** empty log message ***
2005/09/20 15:16:01audrus+770 -0*** empty log message ***
2005/09/19 20:51:42dwsquid+13 -6astyle
2005/09/19 20:48:33dwsquid+16 -6Fixed a memory leak
2005/09/19 18:00:09dwsquid+316 -101A bunch of fixes for client-side REQMOD
2005/09/19 17:32:34dwsquid+1 -3There is (will be) no virtual bool() implementation in this class
2005/09/19 16:16:29dwsquid+39 -39Make this server-side work when ICAP_CLIENT is defined, but when
2005/09/18 04:12:42dwsquid+43 -39membuf merge fixes
2005/09/12 23:06:29dwsquid+96 -58/usr/local/bin/astyle -cs4 -O --break-blocks -l
2005/09/12 15:40:19audrus+384 -0*** empty log message ***
2005/09/10 03:59:09dwsquid+82 -61Ran astyle ...
2005/09/08 20:14:44dwsquid+318 -3Beginning to add reqmod support
2005/09/08 07:40:15rousskov+4 -4- Use the newly added HttpMsg instead of a more specific HttpReply to
2005/09/08 07:35:37rousskov+39 -41- Synced after moving parts common to HttpReply and HttpRequest to HttpMsg.
2005/09/08 07:32:01rousskov+5 -1- Synced after moving parts common to HttpReply and HttpRequest to HttpMsg.
2005/09/08 07:29:41rousskov+171 -60- Moved parts common to HttpReply and HttpRequest to HttpMsg. HttpMsg is
2005/09/02 15:48:12rousskov+3 -1- Continue the "When is it safe to cancel a read callback?" guessing game with
2005/09/02 15:27:07rousskov+8 -14- Made requestBuf a local variable so that we do not have to figure out
2005/09/02 15:23:56dwsquid+7 -4don't really need to include MsgPipe*.h in MsgPipe.h
2005/09/01 23:26:54dwsquid+4 -4fix the mem_node leak
2005/09/01 22:56:02dwsquid+7 -6When USE_LEAKFINDER is not defined, define an empty LeakFinder
2005/09/01 22:55:04dwsquid+36 -13Rearrange leakfinder calls. Move add/delete to MsgPipe constructors
2005/09/01 21:00:46rousskov+21 -8- Do not assume that parsing can suspend only due to lack of input data.
2005/09/01 20:58:10rousskov+20 -7- Handle a full output buffer by suspending parsing. The caller should
2005/09/01 18:36:03dwsquid+26 -11Two bugfixes:
2005/09/01 17:32:00rousskov+6 -10- Resurrected setting state.isReading to NULL if we cleared the callback
2005/09/01 16:44:45dwsquid+2 -2Since merging with HEAD, comm_old_write_mbuf now takes MemBuf *
2005/09/01 16:12:59dwsquid+13 -3Fix an assertion triggered by a client abort. We don't really need
2005/08/31 20:03:39dwsquid+128 -85fixed ICAP-related memory leaks and other bugs. Note that MsgPipe
2005/08/31 20:02:22dwsquid+3 -1need to cbdataReferenceDone() the ident access list
2005/08/31 20:01:34dwsquid+6 -1don't report anything when there are no pointers being tracked
2005/08/31 19:39:10dwsquid+26 -17applied astyle
2005/08/26 23:33:25dwsquid+30 -4Tracking down some memory leaks...
2005/08/26 23:32:41dwsquid+189 -21convert leakfinder to class LeakFinder. The old leakfinder.h should
2005/08/26 23:27:05dwsquid+3 -3Two call-ordering bugs;
2005/08/26 23:25:59dwsquid+2 -2Define a null destructor;
2005/08/26 20:28:41dwsquid+1463 -1230apply /usr/local/bin/astyle -cs4 -O --break-blocks -l
2005/08/26 20:25:06dwsquid+1 -2Remove assertion for offset in ::write
2005/08/26 20:24:13dwsquid+2 -2increase debugging levels
2005/08/26 20:18:55dwsquid+5 -6bug fixes from recent merge with HEAD
2005/08/26 16:16:12dwsquid+7 -5note storeEntry offset madness in storeAppend
2005/08/25 22:09:00rousskov+14 -5- Do not parse encapsulated HTTP response header if Encapsulated ICAP header
2005/08/25 21:52:28rousskov+21 -8- Do not parse response body if there is not one according to the Encapsulated
2005/08/25 21:16:24rousskov+5 -1- Buffer and then flush store when packing into store entry to avoid
2005/08/25 21:13:11rousskov+8 -6- Do not try to unregister a close handler if that handler caused the
2005/08/25 21:11:33rousskov+7 -3- Added assertions to catch negative memory offsets earlier.
2005/08/25 21:09:55rousskov+10 -7- Went back to 'int' type for hdr_sz while we are trying to find the source
2005/08/25 20:51:26dwsquid+89 -31Added methods and code so that HTTP-side can stop reading from the
2005/08/25 19:35:54dwsquid+9 -9cosmetic: use FD %d instead of fd %d
2005/08/25 17:55:18rousskov+7 -5- Calculate select loop timeout after all callbacks have been called because
2005/08/25 16:39:02dwsquid+1 -17remove #if MSG_PIPE_USES_MEM_HDR
2005/08/24 23:34:23rousskov+3 -2- Added a comment regarding possible reply leak at the top of
2005/08/24 22:50:29dwsquid+37 -3- add StoreEntry::isAccepting() method to know if its okay to
2005/08/24 21:28:23dwsquid+1 -5remove some assertions
2005/08/24 21:27:22dwsquid+18 -14Convert HttpStateData->reply_hdr to a pointer so we can use new and
2005/08/24 21:26:17dwsquid+15 -4Added a 'valid' flag to MemBuf for debugging memory corruption bugs
2005/08/24 21:10:49rousskov+4 -9- Made sure writeBuf is initialized before we access hasContent().
2005/08/24 21:07:29rousskov+7 -2- Do not append more than virgin->data->body buffer can handle.
2005/08/24 20:36:36dwsquid+5 -4move abortAdapting() call to the correct location
2005/08/24 19:13:07rousskov+12 -3- Added potentialSpaceSize() to report how much space can be available
2005/08/24 19:08:44rousskov+6 -2- Use min and max buffer sizes for ICAP message pipes as recommended by
2005/08/24 19:04:46rousskov+1 -1- Use min and max buffer sizes for ICAP message pipes as recommended by
2005/08/24 18:59:05rousskov+2 -2- Instead of recommending a fixed size (4KB) buffer, provide min (4KB) and max
2005/08/24 17:37:08dwsquid+7 -7- Need to call adapted->sendSourceStart() in ICAPXaction::parseHeaders
2005/08/24 17:33:33dwsquid+6 -7- Don't update or use currentOffset when sending data to the ICAP client.
2005/08/24 17:18:07rousskov+2 -0- Forgot to call noteSourceStart.
2005/08/24 15:42:29dwsquid+1 -1fix initialization ordering in constructor
2005/08/24 15:27:58rousskov+5 -3- Consume adapted content after it was written to the store entry.
2005/08/24 15:15:20rousskov+43 -12- Stop reading when we read everything we wanted so that the transaction
2005/08/24 15:13:16rousskov+2 -2- Polished debugging.
2005/08/24 14:21:17rousskov+1 -1- Encapsulated offsets use decimal integers, not hex (Ralf Horstmann)
2005/08/24 06:19:14rousskov+198 -44- Initial implementation of HTTP encapsulation and ICAP parsing code.
2005/08/24 06:09:57rousskov+9 -7- Accept protocol prefix when parsing status lines.
2005/08/24 06:06:08rousskov+89 -10- Moved parsing state-detection logic common to any MIME-like protocol from
2005/08/24 05:58:28rousskov+23 -55- Moved parsing state-detection logic common to any MIME-like protocol from
2005/08/24 05:47:12rousskov+19 -2- Added StringToInt() wrapper around strtol. Returns the end of the parsed
2005/08/24 05:45:25rousskov+2 -2- Polished comments.
2005/08/24 05:44:41rousskov+2 -3- Made terminate() public because some HTTP parsing routines need it,
2005/08/24 05:43:31rousskov+1 -1- fixed method name typo in debug().
2005/08/24 05:39:22rousskov+293 -1- Added ChunkedCodingParser, an incremental parser for chunked transfer coding
2005/08/23 23:17:53dwsquid+49 -16- Added HttpStateData::abortAdapting()
2005/08/23 15:42:29rousskov+60 -7- Added MsgPipeEnd to encapsulate common parts of the MsgPipeSource and
2005/08/23 15:36:54rousskov+31 -18- When abort or finish messages are sent, set the source to NULL under
2005/08/20 06:18:37rousskov+7 -7- Polished debugging messages.
2005/08/20 06:17:25rousskov+27 -25- All messages were being rewritten as "SourceStart". Fixed.
2005/08/20 06:15:05rousskov+89 -39- Guarded async note*() calls to catch exceptions, provide a single point
2005/08/20 06:09:03rousskov+2 -2- Named MsgPipes to ease debugging.
2005/08/19 23:33:52rousskov+6 -6- polished LOOPBACK/pipe->send() code separation
2005/08/19 23:16:24dwsquid+61 -37ran astyle
2005/08/19 23:14:32dwsquid+23 -23change debugging levels
2005/08/19 22:57:41dwsquid+40 -22created a transactionComplete() method because there were too many
2005/08/19 22:56:36dwsquid+7 -0put loopback testing calls inside #ifdefs
2005/08/19 22:35:12rousskov+44 -7- Implemented send*() methods. The other end of the pipe is now notified,
2005/08/19 21:58:38dwsquid+134 -111A reasonably stable state for ICAP progress. This works for simple
2005/08/19 20:18:50rousskov+4 -1- Added ICAPXaction, ICAPServiceRep, and TextException
2005/08/19 20:18:07rousskov+68 -0- Added initial implementation of an exception that carries origin
2005/08/19 20:13:42rousskov+72 -0- Added an ICAP service "representative" that maintains information about a
2005/08/19 20:11:55rousskov+533 -0- Added ICAPXaction which receives virgin HTTP messages, communicates with the
2005/08/19 20:08:41rousskov+3 -2- added hasContent() method
2005/08/19 20:07:41rousskov+11 -6- made sure that cleaning a buffer that has not been initialized yet does
2005/08/19 20:05:43rousskov+62 -150- renamed ICAPModule to ICAPClient because it sounded more appropriate
2005/08/18 22:41:00dwsquid+141 -48update to HTTP <-> ICAP interaction
2005/08/18 05:14:33rousskov+81 -21- Added consume() and append*() methods to allow the buffer to be used in a
2005/08/18 04:57:59rousskov+4 -1- Added recommended initial size and max capacity for ICAP MsgPipe buffer,
2005/08/17 23:49:25dwsquid+36 -14misc ICAP related changes/progress
2005/08/17 22:05:53dwsquid+924 -0adding ERR_ICAP_FAILURE
2005/08/17 22:01:26dwsquid+221 -70Rough outline of ICAP and related code changes. This compiles and
2005/08/17 21:57:55rousskov+2 -1- added destructor so that we do not forget to implement it if needed
2005/08/17 20:02:33rousskov+178 -0- The ICAP Anchor implements message pipe sink and source interfaces. It
2005/08/17 19:55:55rousskov+49 -0- ICAPModule collects public ICAP interfaces for use by Squid code that is
2005/08/17 19:52:46rousskov+256 -0- Added a mostly protocol-agnostic unidirectional "message pipe" to allow
2005/08/16 17:19:48dwsquid+14 -2Add --enable-icap-client option
2005/08/16 17:19:12dwsquid+14 -1Adding ICAP hooks to reply processing
2005/08/16 17:18:54dwsquid+12 -1Adding ICAP source files
2005/08/16 17:18:20dwsquid+61 -0adding

Release statistics

audrus3+1180 -7
dwsquid115+38320 -12081
rousskov217+12698 -8901
total335+52198 -20989