squid/s27_adri changes

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

Browse repository

2008/01/30 16:18:48adri+20 -8Correct off-by-one when assembling request header.
2008/01/28 13:52:25adri+13 -27Restore the swapout code; use a temporary copy again.
2008/01/27 07:46:09adri+8 -2Don't go through the userhash/sourcehash logic if we don't need to.
2008/01/26 12:03:29adri+64 -470Shuffle out the rest of the core memory stuff into libmem/ rather than src/ .
2008/01/25 09:47:11adri+17 -17Convert the authentication code to the new string code.
2008/01/25 09:40:47adri+29 -18Use a temporary C string to make the digest code work (for now).
2008/01/25 08:34:11adri+26 -2Add in a c string version of the http header deletion function, used
2008/01/25 04:15:39adri+3 -2Begin fixing the digest authentication code.
2008/01/23 14:47:49adri+25 -16Make NTLM proxy authentication succeed.
2008/01/21 12:53:40adri+4 -83Trim out unused code.
2008/01/21 03:50:23adri+66 -15Implement a static String dictionary to overcome my (current) lack of static String buffers.
2008/01/21 03:36:43adri+8 -0Add in more todo items.
2008/01/21 03:36:14adri+41 -27Re-implement httpHeaderHasConnDir() to not use a temporary string list.
2008/01/20 11:22:02adri+6 -4Default to 16k for the client socket for now; this saves on a reallocation.
2008/01/20 10:26:03adri+23 -15Use the buf_t buffer in the client-side code to parse headers into reference-counted string buffers.
2008/01/20 01:22:28adri+15 -11Include a starting offset in the http message parsing code.
2008/01/20 00:39:49adri+20 -15call httpMsgBufDone() when the request message has been used.
2008/01/19 16:35:28adri+55 -51Convert the client-side connection buffer stuff to use buf_t's.
2008/01/15 14:36:44adri+19 -11Add in the whitespace trim for now; shuffle the sslStart() to take an optional client data buffer.
2008/01/15 13:50:05adri+4 -7The last commit was wrong; it didn't take into account the skipped bytes when returning hdr_sz.
2008/01/15 13:04:32adri+16 -14Prepare clientTryParseRequest() to not touch the conn->in buffer directly.
2008/01/15 11:40:22adri+9 -9Upgrade valgrind code.
2008/01/14 15:08:36adri+0 -5Get rid of the buf_consume() prototype, I don't really like it atm.
2008/01/14 15:02:50adri+14 -1Make the string buffer regions immutable. Getting this stuff right is
2008/01/14 08:38:09adri+11 -5Refactor out the whitespace trimming code.
2008/01/14 08:30:22adri+20 -20Remove direct access to conn.in variables; use methods instead.
2008/01/14 06:20:02adri+38 -10Remove more direct references to conn->in members.
2008/01/14 05:47:29adri+24 -14Break out the conn buffer filling into a seperate function.
2008/01/14 04:51:33adri+72 -25Break out a large part of the conn->in buffer management.
2008/01/13 15:44:05adri+19 -12Shuffle the buffer manipulation out of clientTryParseRequest() and into clientReadRequest().
2008/01/13 15:42:20adri+2 -2Only grow by 8k for now; this stops the realloc calls from src/http.c
2008/01/13 14:47:00adri+12 -5Move the clientCheckFollowXForwardedFor() call outside of clientTryParseRequest().
2008/01/13 14:15:20adri+12 -9Shuffle whitespace trimming out of TryParseRequest().
2008/01/13 12:24:37adri+29 -28Shuffle the parser code in TryParseRequest() around.
2008/01/13 12:15:43adri+19 -30Revert changeset 10386 - this breaks SSL tunneling as the data needs to be
2008/01/09 13:53:32adri+30 -19Move the buffer content relocation code out into clientReadRequest().
2008/01/09 09:52:43adri+6 -4isspace() includes '\r' and '\n', which isn't good when we're intending
2008/01/09 08:44:49adri+2 -5Remove the NUL-termination of the incoming client-side buffer.
2008/01/06 11:38:29adri+7 -1Enable the string-references-buffer stuff.
2008/01/06 10:25:07adri+3 -1.. and thats where my parser code was busted. Thanks!
2008/01/06 10:13:39adri+7 -5Fix the code to (almost) do what the existing reply parser does.
2008/01/06 09:56:00adri+94 -64... and flesh out the bare minimum for the new parser to function.
2008/01/06 09:53:27adri+1 -0Make cossdump compile (again!).
2008/01/06 09:38:47adri+2 -2Add checking.
2008/01/06 09:38:07adri+13 -1Add a function to create a string from a given buf_t + offset + len.
2008/01/06 09:19:51adri+629 -356Begin the long road to a replacement buf_t based header parser.
2008/01/05 11:46:56adri+167 -120Start breaking out the stuff httpHeaderParse() out into libhttp/.
2008/01/05 11:45:17adri+9 -5Start fleshing out the "offset" for strings in a buffer.
2008/01/05 10:24:22adri+11 -109Fix merging issues. disk clients are still busted.
2008/01/03 16:38:01adri+11 -13Convert the rest of the (applicable) storeAppend() calls to storeAppendRef().
2008/01/03 16:38:01adri+11 -13Convert the rest of the (applicable) storeAppend() calls to storeAppendRef().
2008/01/03 15:50:17adri+14 -4Fix buf_t statistics; generating the cachemgr pages now uses buf_t's; so displayign the active ones requires
2008/01/03 13:26:45adri+15 -24Remove buf/size and reference the buf directly; this is the last step before moving to buffer referencing.
2008/01/03 09:32:20adri+21 -19Move around the buffer creation and memnode creation code so stmemAppendRef() is called during stmemAppend().
2008/01/02 17:31:25adri+6 -0More TODO stuff.
2008/01/02 17:29:31adri+58 -54The first, very naive, implementation of the bufregion stuff in stmem.
2008/01/02 17:13:59adri+18 -4Fix off-by-one size comparisons; add some #define's to help check stuff.
2007/12/29 14:22:53adri+18 -5Add more items to my TODO list.
2007/12/29 13:39:42adri+12 -7convert httpProcessReplyHeaderBlock() to take a buf_t now intead of a (const char *, len).
2007/12/29 13:36:05adri+13 -6Convert httpAppendBody() to take a buf_t rather than (const char *, len).
2007/12/29 10:57:49adri+33 -25Convert http.c to use a buf_t for its incoming buffer rather than the MemBuf.
2007/12/29 09:08:23adri+19 -5change httpAppendBody() to take (buf, len), offset
2007/12/29 07:21:43adri+45 -4Begin reference buffer magic. Nothing useful to see here.
2007/12/29 05:36:13adri+28 -0More things to do ..
2007/12/28 08:03:34adri+32 -71Modify stmem to actually use buf_t's as the underlying buffer mechanism.
2007/12/28 07:52:30adri+17 -17A couple of tidyups. peer_digest.c: fix; store_client.c: don't allow storeClientCopy() calls.
2007/12/28 07:50:51adri+17 -1Add in cachemgr page to just dump the location of all buffers and (for now) who created it.
2007/12/28 07:50:21adri+54 -17Include a whole swath of string/buffer debugging magic so I can figure out where all the string/buffer allocations are c
2007/12/28 06:50:38adri+3 -3Fix random out-of-bounds accesses. Thanks valgrind.
2007/12/28 06:46:54adri+3 -1Lock the httpState so its not freed from underneath us.
2007/12/28 06:22:18adri+2 -2httpState could be invalid here..
2007/12/28 04:05:37adri+54 -37Flesh out a couple of macros to access the memnode references.
2007/12/28 02:23:59adri+10 -5Change the header parsing code to take (buf, len) , parse_start.
2007/12/27 14:25:57adri+4 -2Fix EOF condition handling.
2007/12/27 13:47:06adri+7 -14remove stmemNodeGet(); that was a horrible abuse of FREE *.
2007/12/27 13:39:08adri+13 -5Restore the buffer / memnode separation; preparation for the buf_t use.
2007/12/27 13:23:57adri+3 -2Don't use stmemNodeGet() here; its the wrong thing.
2007/12/27 12:59:08adri+17 -0A couple new buffer functions, useful later on.
2007/12/27 10:04:47adri+15 -7Add a "beginning" pointer so we can do things like skip the whitespace
2007/12/27 05:12:20adri+8 -4Fix memBufGrow() to be more accepting; and don't deallocate the membuf if we're going to reuse it straight away (in http
2007/12/27 05:01:45adri+52 -43Use memBufFill() to read into the MemBuf; use httpState.reply_hdr now as an incoming socket buffer.
2007/12/26 16:02:50adri+18 -2Add a simple function to populate a membuf from a filedescriptor
2007/12/24 14:11:52adri+78 -1Implement some basic buffer region referencing. This stuff is (currently)
2007/12/23 17:17:00adri+4 -1Makefile.
2007/12/23 16:58:56adri+47 -4Reimplement xitoa() to not use sprintf(). This implementation handles negative numbers.
2007/12/22 15:11:32adri+1 -2Erk; reverse merging issue.
2007/12/22 14:55:17adri+10 -3.. And commit the strStrOffset() call.
2007/12/22 14:45:21adri+4 -5Finalise this routine.
2007/12/22 14:38:58adri+7 -6Fix merging issues.
2007/12/20 10:43:11adri+9 -9Check for pointer being != NULL before calling strIs(Not)Null()
2007/12/20 10:41:33adri+2 -2Put this debug back.
2007/12/20 10:37:04adri+6 -0note my acl hack
2007/12/20 10:35:23adri+134 -88An enormous patch to remove httpHeaderGetStr(); 2/2.
2007/12/20 10:32:38adri+4 -5Fix a bug in the buffer size calculation, simplify the code somewhat.
2007/12/20 10:32:04adri+2 -0A simple way to check a single character against a map.
2007/12/20 03:22:35adri+117 -97httpHeaderGetStr() purges - replace it with httpHeaderGetString() calls.
2007/12/19 16:14:31adri+3 -2use valgrind to find and identify some messed up array checks.
2007/12/19 11:51:36adri+49 -0Flesh out some more basic string module checkin.
2007/12/19 07:56:22adri+198 -111Rewrite a number of String operators to not require NUL-terminted strings; stop NUL-terminting
2007/12/19 05:51:49adri+77 -31log_quote() now takes a length parameter; convert the rest of the strBuf() calls in access_log
2007/12/19 05:47:04adri+6 -17Stop using string pools for now. This simplifies the code a little and the pools won't
2007/12/19 04:00:52adri+32 -17Use temporary C strings in non-critical code to get around having to convert the hash library
2007/12/19 03:58:29adri+15 -17Add a flag to buf_append() to NUL-terminate buffers if required.
2007/12/18 14:28:09adri+4 -0Document stuff to do.
2007/12/18 14:27:03adri+22 -11Use a temporary buffer when parsing the ranges; all this code needs to be reworked to
2007/12/18 12:10:29adri+142 -89String-ify parts of the mime.c code; eliminate some strBuf()'s in ftp.code with the new mime.c changes and strSubStr().
2007/12/18 11:59:54adri+29 -6Add a sub-string string generator. Useful for replacing strBuf() calls in ftp.c.
2007/12/17 16:40:05adri+17 -5Fix the busted stringAppend() code, argh!
2007/12/17 16:37:13adri+55 -2Add in a test case for strCat(). This exposed a bug!
2007/12/17 08:17:46adri+330 -155Begin "libhttp" with the String List stuff (which doesn't strictly belong in here!)
2007/12/17 08:14:03adri+36 -19Un-inline a couple of functions for now - easier to debug.
2007/12/16 16:14:22adri+97 -36more groundwork to ditch String-based NUL terminated strings.
2007/12/16 15:26:36adri+5 -5Eliminate strBuf() acll. Replace with iterator-type
2007/12/16 14:52:31adri+10 -9Phase 1 of removing this strBuf() - push it as close to the routine doing the work
2007/12/16 14:25:57adri+43 -7Remove strBuf() calls in parsing some header values.
2007/12/16 13:33:27adri+2 -2strBuf() -> strBuf2()
2007/12/16 13:17:44adri+13 -6strBuf() -> strBuf2() in the http start routine; comment on converting storeUrl() to return a String and therefore simpl
2007/12/16 02:28:29adri+20 -17strBuf() -> strBuf2()
2007/12/15 12:07:43adri+24 -19strBuf() -> strBuf2() conversions.
2007/12/15 11:17:04adri+6 -4strBuf() -> strBuf2().
2007/12/15 11:09:20adri+34 -32* More packing tape to propagate string lengths to library functions.
2007/12/15 10:43:26adri+19 -11Extend another library function to take a length and not expect a NUL-terminated
2007/12/15 06:08:25adri+5 -3strBuf() -> strBuf2()
2007/12/15 05:17:57adri+32 -31html_quote() now takes a len parameter and doesn't expect a NUL terminated string;
2007/12/14 13:07:10adri+74 -70strBuf() -> strBuf2() - pass a length to urlParse() and to rfc1738_escape_str().
2007/12/14 07:36:15adri+3 -1Allow null strings to be stringDup()'ed to other null strings.
2007/12/14 07:09:37adri+27 -14convert the accessLog.http.content_type to be a String; saving a couple of strBuf()'s
2007/12/14 06:46:33adri+3 -2Add strCStr(const char *, String) to do strstr-type things.
2007/12/14 06:30:49adri+10 -3use a temporary NUL-termed buffer in header matching regex ACL code - the underlying buffer isn't NUL terminated anymore
2007/12/14 06:11:26adri+146 -123Rework the Vary code to use String's to store the vary information rather than const char *'s
2007/12/14 02:49:42adri+26 -13Add httpHeaderGetString() to return a String *; use this in httpHeaderGetStr(); use this to fetch String references in t
2007/12/14 02:48:36adri+4 -3strBuf() -> strBuf2()
2007/12/13 14:17:52adri+4 -3strBuf() -> strBuf2() in errorpage cod.e
2007/12/13 14:01:46adri+7 -7strBuf() -> strBuf2() in the gopher code. Untested.
2007/12/13 13:38:37adri+21 -20strBuf() -> strBuf2() changes.
2007/12/13 13:10:33adri+14 -9strBuf() -> strBuf2() when looking up entries in a string list.
2007/12/13 12:19:22adri+3 -0Another TODO entry (for StringMap changes.)
2007/12/13 12:18:22adri+133 -10Implement a "Map" which gives an O(1) lookup for character type matches; use this for a "whitespace" check for String.
2007/12/13 11:23:06adri+2 -2Definition typo.
2007/12/13 10:56:38adri+4 -3Fix bad EOF checking in my storeClientRef() migration (this belongs in store_work branch though!)
2007/12/13 00:42:51adri+28 -14strBuf() -> strBuf2(); reorganise dump_acl_access() to support explicit string lengths.
2007/12/12 16:18:52adri+36 -26implement strIs(Not)Null(String) macros; use these in place of if (strBuf(String)) checks.
2007/12/12 15:29:17adri+9 -7add strCatStr(); convert the strCat(String, strBuf(String)) uses to use it.
2007/12/12 15:08:51adri+5 -4add strCmpStr() to compare two Strings; use it in the right places.
2007/12/12 14:51:57adri+27 -22strListAdd() - convert to take a buf + len, rather than just a buf.
2007/12/12 11:48:55adri+7 -7internalStaticCheck(const char *) -> (String); remove strBuf() call.
2007/12/12 11:43:49adri+7 -3strBuf() -> strBuf2(); put a note about this code.
2007/12/12 10:30:37adri+8 -9strBuf() -> strBuf2() (97 to go now!)
2007/12/12 10:18:27adri+3 -3strBuf() -> strLen2() + strBuf2() in the request packer. (101 to go!)
2007/12/12 10:15:34adri+2 -2strBuf() -> no strBuf()! (use strNCaseCmp() direct.)
2007/12/12 10:14:22adri+42 -44strBuf() -> strBuf2() where its easily done (103 to go!)
2007/12/12 10:02:26adri+3 -3strBuf() -> strBuf2() (116!)
2007/12/12 10:00:21adri+5 -6strBuf() -> strBuf2(); use strCmp() on Strings. (118 to go!)
2007/12/12 09:52:09adri+32 -5strBuf() -> strBuf2(); comment in ADRIAN_TODO the hack performed so it can be tidied up later.
2007/12/12 09:37:53adri+2 -2strBuf() -> strBuf2(); 121 of these things to go!
2007/12/12 09:34:28adri+3 -3strBuf() -> strBuf2() use.
2007/12/12 09:07:52adri+9 -7Remove a strBuf() in the header code, add strCaseCmpStr() to compare two strings
2007/12/12 08:59:27adri+6 -6Modify the packer calls to take a length and (maybe) avoid an internal strlen().
2007/12/12 08:04:09adri+17 -8Add httpHeaderPutString() - takes a String rather than const char *; migrate all
2007/12/11 16:39:32adri+10 -5Slighty tidy up a strBuf() use; convert to strBuf2(); make a note to revisit this later.
2007/12/10 19:13:05adri+16 -15More conversions from strBuf() to a combination of %.*s, strLen2() and strBuf2().
2007/12/10 18:59:38adri+25 -25Convert over debug() calls involving strBuf() to use the magic
2007/12/10 18:48:45adri+1 -1inline.
2007/12/10 08:56:50adri+43 -24Part of the "make Strings not require terminating-NULs" work.
2007/12/09 10:02:02adri+79 -3This is a (hopefully!) temporary thing to use to test out alternatives to
2007/12/09 04:55:21adri+50 -5add in some basic statistics so I can gauge how effective this
2007/12/06 08:10:26adri+179 -101* Move the string-related stuff out of src/mem.c and into libmem/memstr.[ch]
2007/12/06 07:37:30adri+27 -5* Shuffle around the initialisation order so that mempool'ed things
2007/12/06 06:34:37adri+1003 -438Bring Alex's MemPools code out of src/ and into libmem/.
2007/12/06 06:28:33adri+74 -2* Bring over the valgrind debugging stuff, untested. A later commit will
2007/12/06 06:25:37adri+4 -2strSet() shoudl take an offset and not a pointer.
2007/12/05 05:35:29adri+70 -33Convert the String type to use a referenced buffer (buf_t) rather than
2007/12/04 21:56:04adri+87 -20A few changes in preparation for ref-counted copy-on-modification Strings.
2007/12/03 08:54:28adri+15 -5A precursor to playing with ref-counted underlying string buffers
2007/12/03 07:59:25adri+177 -117Shuffle the String code out of the src tree and into the libbuf tree.
2007/12/03 07:56:06adri+106 -201Move the syslog name -> number mapping into a single routine, removing
2007/12/02 09:35:49adri+17 -464.. I committed the wrong Makefile.
2007/12/02 09:34:13adri+1149 -5Bring in my buffer library code.
2007/12/02 06:46:41adri+329 -238Shift out more of the debugging code into the standalone library.
2007/12/02 02:01:33adri+446 -248Begin shuffling code which may want to be:

Release statistics

adri180+8784 -5406
total180+8784 -5406