Move aclCheckFast to ACLChecklist::fastCheck(), and adjust callers.
Move aclChecklistCreate into the ACLChecklist source.
Move the common code leading into matchAclList into the top of matchACLList.
From 2.5: Make SQUID_MAXFD always an multiple of 64 to guarantee there is no rounding
errors in bitfield arithmetics of the fd_set macros. For example GLIBC has
bugs causing a fd_set overflow if the size is not an even multiple of a
machie word (64 bits on 64 bit platforms)
From Reuben:
configure comments updates to remove Linux-2.4 dependency for Netfilter.
Netfilter is Linux-2.4+ and also Linux-2.2 with netfilter patch..
Implement placement new and placement delete for cbdata. Prevents history leaking memory, without needing ugly manual destruction etc.
Make cbdata::type typesafe.
Summary: Class cleanup - resulting from addressing a latent segfault.
Keywords:
Move httpMsgIsPersistent delcaration to HttpHeader
Rename http_version_t to HttpVersion, and make a class.
Remove httpBuildVersion - use HttpVersion constructor.
Move HttpVersion to it's own file.
Move HttpStatusLine to it's own file and make a class.
Move AccessLogEntry to it's own file, and make a class.
Remove memset() use against AccessLogEntry.
Remove unused prototypes from store_dir_coss.cc.
Fixup a couple of bugs in the new coss option parsing.
Bugfix debug options to allow debugging of the parser.
robertc [Sun, 31 Aug 2003 07:22:05 +0000 (07:22 +0000)]
Summary: Windows Merges - dup2 and debugging.
Keywords:
These are 2 residual Windows port merge patches:
- main.cc: On Windows signal() can't be used for debugging purpose: added
support for native debug
- comm.cc: On Windows dup2() can't work correctly on Sockets, the work
around is to close the destination socket before call them.
hno [Wed, 20 Aug 2003 23:44:55 +0000 (23:44 +0000)]
Remove the link to Glenns LDAP auth page.. It is no longer of interest to
users of this helper as the helper has evolved far beyond what it once looked
like, and also his page appears to be offline..
hno [Mon, 18 Aug 2003 18:24:45 +0000 (18:24 +0000)]
Non-intrusive but significant performance improvement when Squid is running
as a https reverse proxy (ssl enabled peers), allowing Squid to reuse the
same SSL session.
robertc [Sun, 17 Aug 2003 19:42:04 +0000 (19:42 +0000)]
Summary: gethostname definition on Solaris broken.
Keywords:
The C++ compiler detection seems to allow the native declarations of gethostname to function on Solaris. Copy that logic into protos.h so that we don't conflict, but still have our declaration should it be needed.
robertc [Sat, 16 Aug 2003 06:19:55 +0000 (06:19 +0000)]
Summary: Use SQUID_C[XX]FLAGS throughout configure.
Keywords:
Where we are setting defines etc. that are required to build squid correctly, set them via SQUID_C[XX]FLAGS, not C[XX]FLAGS, so that the user can override the user-related flags (i.e. optimisation / profiling / debugging) without breaking the squid build.
robertc [Fri, 15 Aug 2003 19:06:34 +0000 (19:06 +0000)]
Summary: Prevent pushing persistent connections with outstanding writes.
Keywords:
Adrians' recent post to squid-dev looks like it's triggered by persistent connections being pushed inappropriately... this change adds an assert if a persistent connection is pushed while a write is outstanding.
robertc [Thu, 14 Aug 2003 18:15:04 +0000 (18:15 +0000)]
Summary: Swallow request bodies even when denying access.
Keywords:
* Assert when destroying requests with body connections.
* Move ClientBody class definition to client_side.h
* Encapsulate comm_close calls from ClientSocketContext.
* When closing a client socket, if there is a body, swallow it.
* When swalling a request body, if the connection needs to close, do so.
hno [Thu, 14 Aug 2003 03:49:45 +0000 (03:49 +0000)]
Bug #718: accel with nonstandard cache_peer port uses standard port
The recent fix for vhost acceleration and persistent connections
confusing certain servers did a little bit too much, accidently using
the port of the URL rather than the cache_peer in case of origin class
peers.
The algorithm that calculates the timeout for a set of ICP
queries ignores multicast neighbors. It also ignores the
expected number of replies because "*exprep" is always set
equal to parent_exprep + sibling_exprep.
This patch adds multicast group counts to the expected number
of ICP replies. It also sets the query timeout to the
multicast peer rtt (x2) if there were no parents query. If
there are parents, the expected parents timeout is used.
robertc [Wed, 13 Aug 2003 06:17:24 +0000 (06:17 +0000)]
Summary: Add %<sS and %<sH to custom log formats.
Keywords:
Bugfix to access logging - the last request in a connection was racing with releasing of the store entry.
Add new high offset and available offset counters.
robertc [Mon, 11 Aug 2003 19:07:56 +0000 (19:07 +0000)]
Summary: Cachemgr page length - Guido.
Keywords:
Hi,
On Windows native port, cachemgr parses the squid output in TEXT mode, with
a wrong resultant Content-Length in html pages, see this thread for details:
hno [Mon, 11 Aug 2003 00:57:08 +0000 (00:57 +0000)]
Bug #663: Username not logged into ACCESS.LOG in case of /407
The Basic auth module did not implement the direction call correctly,
indication authentication scheme failure on unsuccessful helper lookup
rather than "completed".
Note: This API and it's interactions with checklist->auth_user_request &
request->auth_user_request looks overly complex for the job. Should be
possible to simplify this a lot I think.
robertc [Sun, 10 Aug 2003 15:53:49 +0000 (15:53 +0000)]
Summary: Fixup remaining MSVC issues.
Keywords:
Addresses -
protos.h:
c:\work\nt-3.0\src\protos.h(443) : warning C4190: '<Unknown>' has C-linkage
specified, but returns UDT 'String' which is incompatible with C
c:\work\nt-3.0\src\squidstring.h(77) : see declaration of 'String'
c:\work\nt-3.0\src\protos.h(444) : warning C4190: '<Unknown>' has C-linkage
specified, but returns UDT 'String' which is incompatible with C
c:\work\nt-3.0\src\squidstring.h(77) : see declaration of 'String'
c:\work\nt-3.0\src\protos.h(445) : warning C4190: '<Unknown>' has C-linkage
specified, but returns UDT 'String' which is incompatible with C
c:\work\nt-3.0\src\squidstring.h(77) : see declaration of 'String'
c:\work\nt-3.0\src\protos.h(446) : warning C4190: '<Unknown>' has C-linkage
specified, but returns UDT 'String' which is incompatible with C
c:\work\nt-3.0\src\squidstring.h(77) : see declaration of 'String'
c:\work\nt-3.0\src\protos.h(447) : warning C4190: '<Unknown>' has C-linkage
specified, but returns UDT 'String' which is incompatible with C
c:\work\nt-3.0\src\squidstring.h(77) : see declaration of 'String'
protos.h:
c:\work\nt-3.0\src\protos.h(740) : error C2526: 'storeCreate' : C linkage
function cannot return C++ class 'RefCount<class storeIOState>'
c:\work\nt-3.0\src\protos.h(741) : error C2526: 'storeOpen' : C linkage
function cannot return C++ class 'RefCount<class storeIOState>'
typedefs.h:
c:\work\nt-3.0\src\httprequest.h(56) : warning C4099: 'HttpRequest' : type
name first seen using 'struct' now seen using 'class'
c:\work\nt-3.0\src\typedefs.h(202) : see declaration of 'HttpRequest'
robertc [Sun, 10 Aug 2003 09:59:19 +0000 (09:59 +0000)]
Summary: Fix range offsets when the full object is retrieved.
Keywords:
* Extend StoreIOBuffer to provide Range details.
* Extend ClientSocketContext::lengthToSend to be offset aware and adjust throughout.
* ClientSocketContext::packRange - tidy up the calling interface, make private, and skip unwanted data at the beginning as well as the end of ranges.
robertc [Wed, 6 Aug 2003 03:39:59 +0000 (03:39 +0000)]
NetBSD defines bswap16() and bswap32(). The re-definitions in [squid]/include/ntlmauth.c cause compile errors. I'll send a patch to the squid-dev list soon. - Alan Barrett (bug #724)
hno [Mon, 4 Aug 2003 04:53:47 +0000 (04:53 +0000)]
Cut out unwanted regex interfaces from GNUregex.c
- emacs related stuff
- BSD 4.2 regex interface
- old GNU regex interface
leaving only the POSIX interface which is what we use
robertc [Sun, 3 Aug 2003 16:37:30 +0000 (16:37 +0000)]
From email:
> > MemObject.cc
>
>Looks like another limitation. taking the first one: there is a for_each
>template that is explicitly for dlink_list. You might try
>for_each<StoreClientsStats>(clients, statsVisitor);
robertc [Sun, 3 Aug 2003 16:05:12 +0000 (16:05 +0000)]
Hi,
On Windows (native and Cygwin) and OS/2, when running
UFSSwapDir::closeTmpSwapLog() in store_dir_ufs.cc, Squid can be fail if the
target file for a rename operation was already deleted.
Because xrename() already try to remove the destination target on Windows,
a previous unlink() is not needed.
This patch extended the native Windows xrename() behaviour to Cygwin and
OS/2 too and remove not needed unlink().