]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years ago Merged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 17:35:37 +0000 (11:35 -0600)] 
  Merged from trunk.
  These were eCAP,p2-inspired changes that were committed separately.

16 years agoCatch most exceptions in main() to report exceptions uncaught by Squid. This
Alex Rousskov [Tue, 30 Sep 2008 17:28:53 +0000 (11:28 -0600)] 
Catch most exceptions in main() to report exceptions uncaught by Squid.  This
is for last resort reporting only -- the program would exit anyway (usually
with less information) if we did not catch these.

The code re-throws caught exceptions to reduce side effects of catching it,
just in case. May need more work depending on how compilers handle rethrowing.

These changes were inspired by eCAP.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 17:19:29 +0000 (11:19 -0600)] 
Merged from trunk.
These were eCAP,p2-inspired changes that were committed separately.

16 years agoSynced after adding HttpMsg::clone().
Alex Rousskov [Tue, 30 Sep 2008 17:15:28 +0000 (11:15 -0600)] 
Synced after adding HttpMsg::clone().

16 years agoAdded HttpRequest::clone, completing HttpMsg::clone API. When ICAP is
Alex Rousskov [Tue, 30 Sep 2008 16:59:13 +0000 (10:59 -0600)] 
Added HttpRequest::clone, completing HttpMsg::clone API. When ICAP is
converted to use this, it should work faster for a common "no modifications"
case because it would not have to print and parse the headers.

TODO: Consider renaming the method since it does not produce an exact,
true replica. Some connection-related flags and peer settings are not
cloned because the clone is not always "attached" or "coming from"
the same connection (e.g., it is cloned for eCAP to modify). We may also
#ifdef the method if it is not needed outside of adaptation code.

The HttpMsg::body_pipe field is now copied when a message is cloned.
I was not sure what the right thing to do there is. The field itself
may be misplaced (it is not about the message structure or properties,
but about the current body transfer state, but we lack a good place to
store that...).  To reduce the number of cloning exceptions, and since
eCAP and probably ICAP code benefit from pipe copying, it is copied
for now. It would not be too hard to change.

16 years agoPolished ServerStateData cleanup code: Moved more cleanup code from the
Alex Rousskov [Tue, 30 Sep 2008 16:32:18 +0000 (10:32 -0600)] 
Polished ServerStateData cleanup code: Moved more cleanup code from the
destructor with its dangers of half-destroyed context to safe swanSong.

16 years agoMade TextException a child of std::exception so that it is easier to catch
Alex Rousskov [Tue, 30 Sep 2008 16:21:43 +0000 (10:21 -0600)] 
Made TextException a child of std::exception so that it is easier to catch
more exceptions (standard and custom) with one catch(). The catching code
usually does not care what the exception is anyway.

TextException needs more work to report more information in what() method.

Catch std::exception to catch more printable exceptions. TextException is an
std::exception [child].

These changes were inspired by and required for eCAP.

16 years agoPolished BodyPipe API. No runtime changes expected.
Alex Rousskov [Tue, 30 Sep 2008 16:16:23 +0000 (10:16 -0600)] 
Polished BodyPipe API. No runtime changes expected.

16 years agoMerged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 15:50:26 +0000 (09:50 -0600)] 
Merged from trunk.

16 years agoconfig cleanup: make log defaults optional.
Amos Jeffries [Tue, 30 Sep 2008 13:20:24 +0000 (01:20 +1200)] 
config cleanup: make log defaults optional.

access.log at least can have multiple logs defined. Declaring an
unconditional default is not a good idea.

Same goes for cache.log default despite its different design.

Now only define their default if none given by the user.

16 years agoRevert active part of error page stylesheets.
Amos Jeffries [Tue, 30 Sep 2008 06:36:50 +0000 (18:36 +1200)] 
Revert active part of error page stylesheets.

Strange Install blocker bug found. No solution yet.

(19:04:54) rousskov: 2008/09/30 00:05:20| errorpage.cc(290) errorTryLoadText:
 '/usr/local/squid3-ecap/share/errors/templates//usr/local/squid3-ecap/etc/errorpage.css':
 (2) No such file or directory
(19:07:52) rousskov: $ make install > /tmp/tm
(19:07:52) rousskov: /bin/bash: -c: line 17: syntax error near unexpected token `then'
(19:07:52) rousskov: /bin/bash: -c: line 17: `@if test -f /usr/local/squid3-ecap/etc/errorpage.css ; then \'

16 years agoTo keep swanSong() checks simple, we need to NULL-ify vb body_pipe even if
Alex Rousskov [Tue, 30 Sep 2008 06:33:34 +0000 (00:33 -0600)] 
To keep swanSong() checks simple, we need to NULL-ify vb body_pipe even if
we never were a consumer (because of useVirgin short circuiting).

For useVirgin() cloning to work when we were a consumer, we need to clone
before we clear the consumer (and body_pipe with it).

The whole thing is icky. This should be improved when Adaptation::Message does
not have to store a copy of body_pipe (there is already a TODO for that,
IIRC).

16 years agoMerged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 06:30:52 +0000 (00:30 -0600)] 
Merged from trunk.

16 years agoFix: stylesheet has proper path. does not need new prefix
Amos Jeffries [Tue, 30 Sep 2008 05:59:26 +0000 (17:59 +1200)] 
Fix: stylesheet has proper path. does not need new prefix

16 years agoMerged from trunk.
Alex Rousskov [Tue, 30 Sep 2008 04:52:40 +0000 (22:52 -0600)] 
Merged from trunk.

16 years agoSynced with libecap::Body simplifications.
Alex Rousskov [Tue, 30 Sep 2008 04:43:46 +0000 (22:43 -0600)] 
Synced with libecap::Body simplifications.

16 years agoSourceFormat: include/
Amos Jeffries [Mon, 29 Sep 2008 10:06:57 +0000 (22:06 +1200)] 
SourceFormat: include/

16 years agoSourceFormat: include/
Amos Jeffries [Mon, 29 Sep 2008 09:56:06 +0000 (22:56 +1300)] 
SourceFormat: include/

16 years agoLog to cache.log what languages users are attempting to auto-negotiate for translations.
Amos Jeffries [Mon, 29 Sep 2008 08:36:52 +0000 (21:36 +1300)] 
Log to cache.log what languages users are attempting to auto-negotiate for translations.

Successful negotiations are not logged. Only failures
have meaning to indicate that Squid may need an upgrade
of its error page translations.

16 years agoMade "make check" happy.
Alex Rousskov [Mon, 29 Sep 2008 08:25:20 +0000 (02:25 -0600)] 
Made "make check" happy.

16 years agoCatch std::exception (instead of a more specific TextException) to catch
Alex Rousskov [Mon, 29 Sep 2008 07:46:55 +0000 (01:46 -0600)] 
Catch std::exception (instead of a more specific TextException) to catch
more exceptions. We do not care what exception we actually caught anyway.

16 years agoRemoved unused ICAP-only static declarations and definitions.
Alex Rousskov [Mon, 29 Sep 2008 07:45:11 +0000 (01:45 -0600)] 
Removed unused ICAP-only static declarations and definitions.

16 years agoCatch std::exception to catch more printable exceptions. TextException is
Alex Rousskov [Mon, 29 Sep 2008 07:28:13 +0000 (01:28 -0600)] 
Catch std::exception to catch more printable exceptions. TextException is
not an std::exception [child].

Rethrow exceptions caught in main() to minimize catching side-effects. May
need more work.

16 years agoMerged from trunk.
Alex Rousskov [Mon, 29 Sep 2008 06:42:09 +0000 (00:42 -0600)] 
Merged from trunk.

16 years agoFixed indentation.
Alex Rousskov [Mon, 29 Sep 2008 06:03:57 +0000 (00:03 -0600)] 
Fixed indentation.

16 years agoSynced with minor libecap API changes
Alex Rousskov [Mon, 29 Sep 2008 05:46:28 +0000 (23:46 -0600)] 
Synced with minor libecap API changes

16 years agoCSS control over translated error pages
Amos Jeffries [Mon, 29 Sep 2008 04:53:52 +0000 (16:53 +1200)] 
CSS control over translated error pages

Adds %l replacement tag to include CSS file data into an error page.

Adds error_stylesheet option to name a file as the CSS content to insert
into each error pages displayed. (default /etc/squid/errorpage.css)

Adds CSS hooks into the templates.

Adds errorpage.css to squid config directory with current CSS settings
pulled from old templates and demo entries for new hooks.

The combined effect of these is allows company sites to stylize the pages
produced to some extent limited only by the CSS capabilities. Without
worrying about translation texts themselves.

Only works for dynamically translated pages based on updated templates.
Default CSS file may need some cleaning.

16 years agoCompile errors
Amos Jeffries [Mon, 29 Sep 2008 04:52:22 +0000 (16:52 +1200)] 
Compile errors

16 years agoPolished code by introducing two explicit and mostly independent states
Alex Rousskov [Mon, 29 Sep 2008 03:50:32 +0000 (21:50 -0600)] 
Polished code by introducing two explicit and mostly independent states
(proxying virgin body and proxying adapted body) as well as a flag to
check for virgin body content access after the pipe was invalidated.

16 years agoPOT update
Amos Jeffries [Mon, 29 Sep 2008 03:09:18 +0000 (15:09 +1200)] 
POT update

16 years agoMerge from trunk
Amos Jeffries [Mon, 29 Sep 2008 03:03:47 +0000 (15:03 +1200)] 
Merge from trunk

16 years agoLanguages: various additions.
Amos Jeffries [Mon, 29 Sep 2008 02:57:07 +0000 (14:57 +1200)] 
Languages: various additions.

16 years agoFixed memory leak: MessageRep was not destroying theFirstLine.
Alex Rousskov [Sun, 28 Sep 2008 18:54:31 +0000 (12:54 -0600)] 
Fixed memory leak: MessageRep was not destroying theFirstLine.

16 years agoUpdates auto-save
Amos Jeffries [Sun, 28 Sep 2008 18:01:24 +0000 (06:01 +1200)] 
Updates auto-save

16 years agoSynced with the new libecap pull-pull interface where the host pulls
Alex Rousskov [Sun, 28 Sep 2008 17:53:44 +0000 (11:53 -0600)] 
Synced with the new libecap pull-pull interface where the host pulls
adapted body and the adapter pulls virgin body.

16 years agoWhen adding a body_pipe to adaptation message, do not forget to update
Alex Rousskov [Sun, 28 Sep 2008 17:34:36 +0000 (11:34 -0600)] 
When adding a body_pipe to adaptation message, do not forget to update
the raw header as well.

16 years agoPolished comments: duplication of body_pipe leads to coding bugs when adding
Alex Rousskov [Sun, 28 Sep 2008 17:27:56 +0000 (11:27 -0600)] 
Polished comments: duplication of body_pipe leads to coding bugs when adding
a pipe to a message.
No functional changes.

16 years agoFixed comm_close handling in deferred reads. The code was expecting old-style
Alex Rousskov [Sun, 28 Sep 2008 14:48:27 +0000 (08:48 -0600)] 
Fixed comm_close handling in deferred reads. The code was expecting old-style
comm_remove_close_handler call to work if the close handler has not been
dialed yet. We now store a new-style callback so that we can reliably cancel
the close hander call.

Removed all methods from CommRead except for constructors. Apparently,
they were all unused and most were not even defined.

16 years agoLanguage: Czech Translation
Amos Jeffries [Sun, 28 Sep 2008 12:44:01 +0000 (00:44 +1200)] 
Language: Czech Translation

16 years agoLanguage: Chinese Translation
Amos Jeffries [Sun, 28 Sep 2008 12:43:07 +0000 (00:43 +1200)] 
Language: Chinese Translation

16 years agoLanguage: Japanese Translation
Amos Jeffries [Sun, 28 Sep 2008 12:42:17 +0000 (00:42 +1200)] 
Language: Japanese Translation

16 years agoNew suggestions. Unverified.
Amos Jeffries [Sun, 28 Sep 2008 12:41:46 +0000 (00:41 +1200)] 
New suggestions. Unverified.

16 years agoLanguage: Bulgarian Translation
Amos Jeffries [Sun, 28 Sep 2008 09:51:16 +0000 (21:51 +1200)] 
Language: Bulgarian Translation

16 years agoAdded pipe cleanup to swanSong, used when we terminate unexpectedly.
Alex Rousskov [Sun, 28 Sep 2008 01:20:37 +0000 (19:20 -0600)] 
Added pipe cleanup to swanSong, used when we terminate unexpectedly.

Polished debugging, added temporary detailed debugging.

16 years agoMade TextException a child of std::exception so that it is easier to catch
Alex Rousskov [Sun, 28 Sep 2008 01:16:18 +0000 (19:16 -0600)] 
Made TextException a child of std::exception so that it is easier to catch
more exceptions (standard and custom) with one catch(). The catching code
usually does not care what the exception is anyway.

TextException needs more work to report more information in what() method.

16 years agoMerged from trunk.
Alex Rousskov [Sat, 27 Sep 2008 18:33:49 +0000 (12:33 -0600)] 
Merged from trunk.

16 years agoSummary: Synced with libecap, adopted pass-all-changes-through transactions
Alex Rousskov [Sat, 27 Sep 2008 18:28:58 +0000 (12:28 -0600)] 
Summary: Synced with libecap, adopted pass-all-changes-through transactions
model.  Polished. Needs more work.

16 years agostillProducing and stillConsuming do not modify their arguments.
Alex Rousskov [Sat, 27 Sep 2008 18:19:22 +0000 (12:19 -0600)] 
stillProducing and stillConsuming do not modify their arguments.

16 years agoUse message representatives to store virgin and adapted messages.
Alex Rousskov [Sat, 27 Sep 2008 18:17:22 +0000 (12:17 -0600)] 
Use message representatives to store virgin and adapted messages.

Migrating to a model where all message changes are done via transaction,
not the message itself. A message cannot handle many changes on its own
because it is not a job, and placing some changes in MessageRep and some
in XactionRep results in messy code.

Polished body handling. Needs more work.

Added satus reporting. Needs more work.

16 years agoSynced with libecap changes related to FirstLine move to Message.
Alex Rousskov [Sat, 27 Sep 2008 18:12:43 +0000 (12:12 -0600)] 
Synced with libecap changes related to FirstLine move to Message.

Migrating to a model where all message changes are done via transaction,
not the message itself. A message cannot handle many changes on its own
because it is not a job, and placing some changes in MessageRep and some
in XactionRep results in messy code.

16 years agoCall parent's status() until we have our own.
Alex Rousskov [Sat, 27 Sep 2008 18:09:04 +0000 (12:09 -0600)] 
Call parent's status() until we have our own.

16 years agoUpdates auto-save
Amos Jeffries [Fri, 26 Sep 2008 00:00:28 +0000 (12:00 +1200)] 
Updates auto-save

16 years agoPerformance fix: Check half-closed descriptors at most once per second.
Alex Rousskov [Thu, 25 Sep 2008 17:27:58 +0000 (11:27 -0600)] 
Performance fix: Check half-closed descriptors at most once per second.

A few revisions back, comm checked half-closed descriptors once per second,
but the code was buggy. I replaced it with a simpler code that checked each
half-closed descriptor whenever the OS would mark it as ready for reading.
That was a bad idea: The checks wasted a lot of CPU cycles because half-closed
descriptors are usually ready for reading all the time.

This revision resurrects 1 check/sec limit, but hopefully with fewer bugs. In
my limited tests CPU usage seems to be back to normal.

All half-closed descriptors are now stored in TheHalfClosed set. When it is
time to check the corresponding connections, Comm schedules a read for
each descriptor that is not already reading. Conflicts with regular/user
reads are resolved as before -- we silently cancel the internal half-closed
read.

TODO: It is possible that we do not need to read at all and should call
getsockopt() instead to test the connection.

16 years agoAdded a DescriptorSet class to manage an unordered collection of unique
Alex Rousskov [Thu, 25 Sep 2008 17:22:12 +0000 (11:22 -0600)] 
Added a DescriptorSet class to manage an unordered collection of unique
descriptors.

DescriptorSet is used for half-closed descriptor monitoring. It might be
useful for deferred reads as well, but that remains to be seen.

DescriptorSet has O(1) complexity for search, insertion, and deletion. It uses
about 2*sizeof(int)*MaxFD bytes total. Splay tree that used to store
half-closed descriptors previously uses less RAM for small number of
descriptors but has O(log n) complexity. Same for std::set<int>, a potential
DescriptorSet replacement.

16 years agoUpdate translators info
Amos Jeffries [Thu, 25 Sep 2008 13:47:34 +0000 (01:47 +1200)] 
Update translators info

16 years agoUPdated POT from current templates
Amos Jeffries [Thu, 25 Sep 2008 13:27:28 +0000 (01:27 +1200)] 
UPdated POT from current templates

16 years agoMerged from trunk
Amos Jeffries [Thu, 25 Sep 2008 13:20:12 +0000 (01:20 +1200)] 
Merged from trunk

16 years agoLanguages: Ukrainian Translation
Amos Jeffries [Thu, 25 Sep 2008 12:28:17 +0000 (00:28 +1200)] 
Languages: Ukrainian Translation

16 years agoAdding initial notes on AsyncCalls and Comm APIs.
Alex Rousskov [Thu, 25 Sep 2008 04:53:22 +0000 (22:53 -0600)] 
Adding initial notes on AsyncCalls and Comm APIs.
More work is needed to integrate source code and the notes.

16 years agoBug 2433: Ftp put gives bad gateway but put is correct
Amos Jeffries [Wed, 24 Sep 2008 13:21:04 +0000 (01:21 +1200)] 
Bug 2433: Ftp put gives bad gateway but put is correct

16 years agoShow request and reply headers new config via cachemgr dump
Amos Jeffries [Wed, 24 Sep 2008 12:19:57 +0000 (00:19 +1200)] 
Show request and reply headers new config via cachemgr dump

16 years agoComment on FTP recovery from data.fd loss
Amos Jeffries [Wed, 24 Sep 2008 11:57:15 +0000 (23:57 +1200)] 
Comment on FTP recovery from data.fd loss

16 years agoMerge HTCP enhancements.
Benno Rice [Wed, 24 Sep 2008 00:35:17 +0000 (10:35 +1000)] 
Merge HTCP enhancements.

Changes include:

- Ability to send HTCP CLR requests when objects are invalidated or purged from
 the cache.
- Config logic to allow the following:
- HTCP peers who ONLY receive CLR messages from us.
- HTCP peers who NEVER receive CLR messages from us.
- HTCP peers who NEVER receive CLR messages from us for PURGE requests.
- HTCP peers who are forwarded CLR messages we receive.

16 years agoMerge build fix.
Benno Rice [Wed, 24 Sep 2008 00:32:17 +0000 (10:32 +1000)] 
Merge build fix.

16 years agoFix build breakage caused by r9216.
Benno Rice [Wed, 24 Sep 2008 00:29:50 +0000 (10:29 +1000)] 
Fix build breakage caused by r9216.

There were a number of problems in r9216:

- Unterminated blocks in if () statements.
- Use of a struct to refer to an enum declared within the struct.
- Use of incorrect enum values after the originals were renamed.
- References to enum values from within the struct without the struct name.

Note that these changes have not been tested, but they do allow the tree to
build again.

16 years agoFix build breakage caused by r9216.
Benno Rice [Wed, 24 Sep 2008 00:26:10 +0000 (10:26 +1000)] 
Fix build breakage caused by r9216.

There were a number of problems in r9216:

- Unterminated blocks in if () statements.
- Use of a struct to refer to an enum declared within the struct.
- Use of incorrect enum values after the originals were renamed.
- References to enum values from within the struct without the struct name.

Note that these changes have not been tested, but they do allow the tree to
build again.

16 years agoMerge from upstream.
Benno Rice [Tue, 23 Sep 2008 23:53:34 +0000 (09:53 +1000)] 
Merge from upstream.

16 years agoBug #2459 workaround: When dns_error_message value is lost, use "lost DNS
Alex Rousskov [Tue, 23 Sep 2008 16:16:28 +0000 (10:16 -0600)] 
Bug #2459 workaround: When dns_error_message value is lost, use "lost DNS
error" text and log at level 1 to inform the administrator about the internal
error.

This temporary hack does not fix the incorrect DNS error value problem, only
the lost one.

16 years agoDo not call connect handler for closing descriptors because the handler
Alex Rousskov [Tue, 23 Sep 2008 15:05:36 +0000 (09:05 -0600)] 
Do not call connect handler for closing descriptors because the handler
is unlikely to do something useful and is likely to hit Comm assertions
when working with a closing descriptor.

AFAIK, after adding close handlers to FtpStateData and peerProbe code,
all code that uses  commConnectStart has a Comm close or I/O handler that
will be called when the descriptor is closing. This should prevent
connecting jobs from getting stuck waiting for the connection callback
to be called.

16 years agoAdded Comm close handler for the data channel of FtpStateData
Alex Rousskov [Tue, 23 Sep 2008 14:49:50 +0000 (08:49 -0600)] 
Added Comm close handler for the data channel of FtpStateData
transaction in preparation for officially dropping connect callbacks for
closing descriptors.

The data channel can be opened and closed a few times and the descriptor
must be kept in sync with the close handler. I factored out the
open/closing code into a simple FtpChannel class. That class is now used
for both FTP control and data channels.

The changes resolve one XXX discussion regarding FTP not having a close
handler for the data channel. On the other hand, adding a second close
handler attached to the same transaction is not a trivial change as the
side-effects of Squid cleanup code are often illusive.

For example, I suspect that FTP cleanup code does not close or even
check the control channel. I added a DBG_IMPORTANT statement to test
whether the control channel remains open. Or should that be an assert()?

I think that only one out of the two callbacks can be dialed because the
close handler executed first will invalidate the transaction object.

16 years agoSource Format: tools
Amos Jeffries [Tue, 23 Sep 2008 14:15:36 +0000 (02:15 +1200)] 
Source Format: tools

16 years agoCleanups: WCCP config
Amos Jeffries [Tue, 23 Sep 2008 14:05:39 +0000 (02:05 +1200)] 
Cleanups: WCCP config

Adds text labels for WCCPv2 methods.
Admin can now use 'gre', 'l1', 'hash', 'mask' in appropriate places
instead of magic numbers.

Magic numbers still supported for backward compatability.

16 years agoMerge from trunk
Amos Jeffries [Tue, 23 Sep 2008 13:57:01 +0000 (01:57 +1200)] 
Merge from trunk

16 years agoLanguage Updates
Amos Jeffries [Tue, 23 Sep 2008 13:35:42 +0000 (01:35 +1200)] 
Language Updates

16 years agoMerge from trunk
Amos Jeffries [Tue, 23 Sep 2008 13:29:09 +0000 (01:29 +1200)] 
Merge from trunk

16 years agoBug 740: allow external acl's to use reply headers in format
Amos Jeffries [Tue, 23 Sep 2008 13:02:32 +0000 (01:02 +1200)] 
Bug 740: allow external acl's to use reply headers in format

Adds a small bit of token syntax to external_acl_type format.

  %>{Header} HTTP request header
  %>{Hdr:member}
   HTTP request header list member
  %>{Hdr:;member}
HTTP request header list member using ; as
   list separator. ; can be any non-alphanumeric
character.

  %<{Header} HTTP reply header
  %<{Hdr:member}
   HTTP reply header list member
  %<{Hdr:;member}
   HTTP reply header list member using ; as
   list separator. ; can be any non-alphanumeric
character.

Basically the < and > are new following the existing meaning of their
direction in other tokens to match request/reply.

Old format of %{} is left as request header but with WARNING (1) level
noise at configure time indicating the new syntax.

16 years agoCorrect TPROXYv4 handling.
Amos Jeffries [Tue, 23 Sep 2008 10:04:23 +0000 (22:04 +1200)] 
Correct TPROXYv4 handling.

Initial design was based on the false assumption that TPROXYv4 worked
like NAT lookups and returned the IPs on IP_TRANSPARENT.
It in fact returns the correct connection IPs on accept(),

This patch makes TPROXYv4 work correctly and spoof client IP. Port needs
to be randomly assigned by the OS to prevent kernel clashes.

Regular traffic is no longer guaranteed when passed in a tproxy marked
port. It may work as expected but no guarantess yet.
Accelerated traffic and NAT intercepted traffic will certainly fail.
As such their flags are marked as mutually exclusive with the tproxy flag.

Multi-Modes will still operate, but only on seperate ports.

16 years agoMerge from trunk
Amos Jeffries [Tue, 23 Sep 2008 00:02:34 +0000 (12:02 +1200)] 
Merge from trunk

16 years agoAddress more comments from Amos.
Benno Rice [Mon, 22 Sep 2008 23:43:29 +0000 (09:43 +1000)] 
Address more comments from Amos.

- Change debug levels in existing code.
- Rename htcpHandle to htcpHandleMsg.

16 years agoMerge from upstream.
Benno Rice [Mon, 22 Sep 2008 23:33:39 +0000 (09:33 +1000)] 
Merge from upstream.

16 years agofix compile errors
Amos Jeffries [Mon, 22 Sep 2008 23:13:20 +0000 (11:13 +1200)] 
fix compile errors

16 years agoMerge from trunk
Amos Jeffries [Mon, 22 Sep 2008 21:56:44 +0000 (09:56 +1200)] 
Merge from trunk

16 years agoSetPort(0) on right address
Amos Jeffries [Mon, 22 Sep 2008 21:55:15 +0000 (09:55 +1200)] 
SetPort(0) on right address

16 years agoUpdates auto-save
Amos Jeffries [Mon, 22 Sep 2008 18:00:20 +0000 (06:00 +1200)] 
Updates auto-save

16 years agoLanguages: Swedish Translation
Amos Jeffries [Mon, 22 Sep 2008 12:13:10 +0000 (00:13 +1200)] 
Languages: Swedish Translation

16 years agoLanguages: Swedish Translation
Amos Jeffries [Mon, 22 Sep 2008 11:54:24 +0000 (23:54 +1200)] 
Languages: Swedish Translation

16 years agoCall failed(ERR_FTP_FAILURE, 0) when data channel is closed unexpectidly,
Alex Rousskov [Mon, 22 Sep 2008 05:52:37 +0000 (23:52 -0600)] 
Call failed(ERR_FTP_FAILURE, 0) when data channel is closed unexpectidly,
to force control channel closure. Apparently, FtpStateData does not close
that channel when cleaning up.

Added and polished comments.

16 years agoAdded Comm close handler for the data channel of FtpStateData transaction in
Alex Rousskov [Mon, 22 Sep 2008 05:14:39 +0000 (23:14 -0600)] 
Added Comm close handler for the data channel of FtpStateData transaction in
preparation for officially dropping connect callbacks for closing descriptors.

The data channel can be opened and closed a few times and the descriptor must
be kept in sync with the close handler. I factored out the open/closing code
into a simple FtpChannel class. That class is now used for both FTP control
and data channels.

16 years agoAddress comments from Alex and Amos.
Benno Rice [Mon, 22 Sep 2008 00:53:13 +0000 (10:53 +1000)] 
Address comments from Alex and Amos.

- Add some comments describing various function purposes.
- Remove some debugging debugs that had crept in.
- Use debugs() in preference to debug()().
- Adjust some debug levels.

16 years agoMerge from upstream.
Benno Rice [Mon, 22 Sep 2008 00:41:38 +0000 (10:41 +1000)] 
Merge from upstream.

16 years agoDon't strcmp Config.Log.store if it's NULL in storeLogOpen.
Benno Rice [Mon, 22 Sep 2008 00:39:31 +0000 (10:39 +1000)] 
Don't strcmp Config.Log.store if it's NULL in storeLogOpen.

16 years agoAvoid a potential compare against a NULL pointer in storeLogOpen.
Benno Rice [Mon, 22 Sep 2008 00:37:49 +0000 (10:37 +1000)] 
Avoid a potential compare against a NULL pointer in storeLogOpen.

16 years agoMerge from upstream.
Benno Rice [Mon, 22 Sep 2008 00:04:12 +0000 (10:04 +1000)] 
Merge from upstream.

16 years agoClenup various code to use debugs() insted of debug()()
Amos Jeffries [Sun, 21 Sep 2008 13:35:17 +0000 (01:35 +1200)] 
Clenup various code to use debugs() insted of debug()()

16 years agoMerge from trunk
Amos Jeffries [Sun, 21 Sep 2008 13:17:45 +0000 (01:17 +1200)] 
Merge from trunk

16 years agoContent-Language headers
Amos Jeffries [Sun, 21 Sep 2008 13:07:38 +0000 (01:07 +1200)] 
Content-Language headers

Adds "Content-Language" header properly if the error page language was
negotiated. Hard codes the default templates as 'en', and the squid.conf
value for soft default language of error_default_language was used.

Sets "Vary: Accept-Language" if negotiation is configured to take place.

16 years agoAdded Comm close handler for peer probe to handle closing of a probe
Alex Rousskov [Sun, 21 Sep 2008 05:08:44 +0000 (23:08 -0600)] 
Added Comm close handler for peer probe to handle closing of a probe
descriptor while connect is pending. This was done in preparation for
officially dropping connect callbacks for closing descriptors.

I suspect that the old-code probe would get stuck if the descriptor were
closed during connect. One the other hand, nothing but a shutdown could
close that probe descriptor, I guess.

16 years agosquid.conf cleanup: Update QUICKSTART to match new squid.conf settings
Amos Jeffries [Sat, 20 Sep 2008 10:03:27 +0000 (22:03 +1200)] 
squid.conf cleanup: Update QUICKSTART to match new squid.conf settings

Several settings are no longer necessary, some have changed to optional
and some are now possibly needing attention on first install.

Also, add several recommendations from Squid developers on best practice
for some options.

16 years agosquid.conf cleanup: Modify several squid.conf defaults
Amos Jeffries [Sat, 20 Sep 2008 09:43:40 +0000 (21:43 +1200)] 
squid.conf cleanup: Modify several squid.conf defaults

Following the cleanup of squid.conf to minimal config modifies the
remaining defaults to make their explicit configuration unnecessary.

    icp_port was made a 0 default (for safety?),
        but the port config line left uncommented. fixed that.
        (most won't need it, those who do need to configure it anyway)

    icp_access lines to allow local network now commented out,
        background default 'deny all' untouched.
        (ditto on above reason)

    miss_access default moved from explicit configured, to
        background default. Implicit absent default was documented
        to be same as explicit config default anyway.

    access_log config moved to a background default + documented.
        rather than explicit config only.

    cache_store_log moved to default none + commented out.
        We've been recommending that for a while now anyway.

    request_header_max_size    boosted to 64KB from 20KB.
        HTTP/1.1 needs big headers. I think that should be okay?

    reply_header_max_size    boosted to 64KB from 20KB.
        HTTP/1.1 needs big headers. I think that should be okay?

    cache_dir defaults to no disk cache, memory only cache.

    maximum_object_size_in_memory - boosted to 512KB.
        Update to at least 64KB was needed anyway to match modern web
        traffic. Picked 512KB to maximize HIT with new default cache.

    cache_mem boosted to 256 MB for caching at least 500 objects.

TODO Options remaining to consider for removal:
    hierarchy_stoplist
    coredump_dir

TODO all the default values probably still need to be checked.

16 years agoAllow random outgoing ports and fix reset debugs
Amos Jeffries [Sat, 20 Sep 2008 05:17:55 +0000 (17:17 +1200)] 
Allow random outgoing ports and fix reset debugs

We only need to spoof the address. Set port so OS can randomly assign
a new one for use that will not clash with existing spoofs.

Also fix teh debug message on ResetFD failure to bind so we can see which
FD and which address:port were attempted when it failed.