hno [Fri, 15 Nov 2002 20:27:58 +0000 (20:27 +0000)]
Bugzilla #458: segmentation fault if external_acl helper exits
This patch allows Squid to deal more gracefully if a external_acl helper
exits. Instead of crashing with a segfault Squid now repeats the query
to the next available helper.
hno [Fri, 15 Nov 2002 20:12:36 +0000 (20:12 +0000)]
Bugzilla #463: GET requests with request entity fail
This patch adds a new squid.conf directive "request_entities on/off".
If set to "on" then Squid will allow GET/HEAD requests with request
entities, even if such entites are "undefined" in the HTTP specification.
Technically speaking Squid is violating the HTTP specification when
not allowing such requests. The official way to handle such requests
is that the server should ignore the request entity.
hno [Sat, 9 Nov 2002 16:34:22 +0000 (16:34 +0000)]
date: 2002/10/24 18:49:56; author: wessels; state: Exp; lines: +20 -4
Bugzilla #462: WCCP doesn't ensure WCCP_ASSIGN_BUCKETS message was received
This patch makes Squid remember the change value when it last sent a
WCCP_ASSIGN_BUCKETS message. It will resend the message until
the router updates the change value.
adrian [Mon, 28 Oct 2002 15:53:37 +0000 (15:53 +0000)]
Wrap the memset() just before the msgrcv() in #ifdef ALWAYS_ZERO_BUFFERS.
There's no real point in zeroing the buffer just before we read and then
verify the message is the right length - unless we're debugging.
adrian [Sun, 27 Oct 2002 21:01:29 +0000 (21:01 +0000)]
* whitespace
* add some debugging in comm_write() to see what we're doing
* add an fd entry to fdc_table[] which links back to the fd we are.
This lets us pass &fdc_table[fd] to things like eventAdd when we're
scheduling an event that is fd-related
* write a routine to set the accept poll delay - this will be used by
the .. intelligent poll code. :)
adrian [Sun, 27 Oct 2002 20:45:06 +0000 (20:45 +0000)]
* remove the do {} while (1); crap - we don't need it here
* fix the switch() statement and event handling - falling through is
bad in this case as a registered event will only ever be a single
type (unlike poll() where its a mask).
adrian [Wed, 23 Oct 2002 16:11:03 +0000 (16:11 +0000)]
Make comm_listen/comm_accept .. optimistic.
When we have an accept event we accept as many times as we can
(up until a #define'd limit) - if the callback doesn't re-register
we don't continue calling it :)
adrian [Mon, 21 Oct 2002 21:31:44 +0000 (21:31 +0000)]
* convert to new comm_write()
* clear double-free buglet - memory was being freed both in
gopherSendComplete() -and- comm_old_write() (via the free func)
adrian [Mon, 21 Oct 2002 20:00:01 +0000 (20:00 +0000)]
* rename comm_write() -> comm_old_write()
* rename comm_write_mbuf() -> comm_old_write_mbuf()
* implement most of a replacement comm_write() call in comm.cc
(everything except the actual comm_write() call is in there)
adrian [Mon, 21 Oct 2002 11:47:25 +0000 (11:47 +0000)]
Add in a recv() wrapper - comm_recv().
From FreeBSD's recv/recvfrom:
If from is non-nil, and the socket is not connection-oriented, the source
address of the message is filled in. Fromlen is a value-result parame-
ter, initialized to the size of the buffer associated with from, and mod-
ified on return to indicate the actual size of the address stored there.