Yeah, saw that --- but I observed the same behaviour in 2, and can't figure out why (from a quick look, at least).

Cheers,


On 18/06/2009, at 2:19 PM, Amos Jeffries wrote:

On Thu, 18 Jun 2009 10:20:09 +1000, Mark Nottingham <m...@yahoo-inc.com >
wrote:
Weird. The code that I'm assuming generates the 411 is (squid2-HEAD):

Reporter is using 3.0. The header parse and validation code is similar only
regarding flow and design.
Particular lines and if-else are very different in spots between each of
the 3 current release of Squid.



        if (!clientCheckContentLength(request) || httpHeaderHas(&request-
header, HDR_TRANSFER_ENCODING)) {
            err = errorCon(ERR_INVALID_REQ, HTTP_LENGTH_REQUIRED, request);
            http->al.http.code = err->http_status;
            http->log_type = LOG_TCP_DENIED;
            http->entry = clientCreateStoreEntry(http, request->method,
null_request_flags);
            errorAppendEntry(http->entry, err);
            return -1;
        }

but clientCheckContentLength doesn't look like it's triggering it:

static int
clientCheckContentLength(request_t * r)
{
    switch (r->method->code) {
    case METHOD_GET:
    case METHOD_HEAD:
        /* We do not want to see a request entity on GET/HEAD requests */
        return (r->content_length <= 0 || Config.onoff.request_entities);
    default:
        /* For other types of requests we don't care */
        return 1;
    }
    /* NOT REACHED */
}

because the request method is POST. However, the request headers don't
have Transfer-Encoding...

What am I missing? I know Bijayant is using Squid-3, but I'm observing
the same behaviour in my build of 2...



On 17/06/2009, at 4:00 PM, Mark Nottingham wrote:

[ moving to squid-dev ]

From what I can see, the site is using JavaScript to do autocomplete
on a search field. The autocomplete requests use POST, but without a
body.

With Firefox, this results in a POST request without a body; i.e.,
it doesn't have transfer-encoding *or* content-length.

Such a POST request is legal (although atypical; Safari and I think
others will include a Content-Length: 0 to signal no body
explicitly). See

<http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-06#section-4.3

.

I think the right thing to do here is for Squid to only 411 when
there's a transfer-encoding present; if there's no content-length,
it's safe to assume 0 length.

Cheers,


On 17/06/2009, at 2:07 PM, Bijayant Kumar wrote:


Bijayant Kumar


--- On Mon, 15/6/09, Bijayant Kumar <bijayan...@yahoo.com> wrote:

From: Bijayant Kumar <bijayan...@yahoo.com>
Subject: Re: [squid-users] NONE/411 Length Required
To: "squid users" <squid-us...@squid-cache.org>
Date: Monday, 15 June, 2009, 6:48 PM


--- On Mon, 15/6/09, Amos Jeffries <squ...@treenet.co.nz>
wrote:

From: Amos Jeffries <squ...@treenet.co.nz>
Subject: Re: [squid-users] NONE/411 Length Required
To: "Bijayant Kumar" <bijayan...@yahoo.com>
Cc: "squid users" <squid-us...@squid-cache.org>
Date: Monday, 15 June, 2009, 6:06 PM
Bijayant Kumar wrote:
Hello list,

I have Squid version 3.0.STABLE 10 installed on
Gentoo
linux box. All things are working fine, means caching
proxying etc. There is a problem with some sites. When
I am
accessing one of those sites, in access.log I am
getting

NONE/411 3692 POST
http://wwww.justdial.com/autosuggest_category_query_main.php?
- NONE/- text/html

And on the webpage I am getting whole error page
of
squid. Actually its a search related page. In the
search
criteria field as soon as I am typing after two words
I am
getting this error. The website in a question is "http://justdial.com

". But it works without the Squid.


I tried to capture the http headers also which
are as
below


http://wwww.justdial.com/autosuggest_category_query_main.php?city=Bangalore&search=Ka



POST

/autosuggest_category_query_main.php?city=Bangalore&search=Ka
HTTP/1.1

Host: wwww.justdial.com

User-Agent: Mozilla/5.0 (X11; U; Linux i686;
en-US;
rv:1.8.1.16) Gecko/20080807 Firefox/2.0.0.16

Accept:

text/xml,application/xml,application/xhtml+xml,text/
html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Accept-Language: en-us,en;q=0.7,hi;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://wwww.justdial.com/

Cookie:
PHPSESSID=d1d12004187d4bf1f084a1252ec46cef;

__utma=79653650.2087995718.1245064656.1245064656.1245064656.1;
__utmb=79653650; __utmc=79653650;

__utmz=79653650.1245064656.1.1.utmccn=(direct)|utmcsr=(direct)|
utmcmd=(none);
CITY=Bangalore

Pragma: no-cache

Cache-Control: no-cache



HTTP/1.x 411 Length Required

Server: squid/3.0.STABLE10

Mime-Version: 1.0

Date: Mon, 15 Jun 2009 11:18:10 GMT

Content-Type: text/html

Content-Length: 3287

Expires: Mon, 15 Jun 2009 11:18:10 GMT

X-Squid-Error: ERR_INVALID_REQ 0

X-Cache: MISS from bijayant.kavach.blr

X-Cache-Lookup: NONE from
bijayant.kavach.blr:3128

Via: 1.0 bijayant.kavach.blr
(squid/3.0.STABLE10)

Proxy-Connection: close

Please suggest me what could be the reason and
how to
resolve this. Any help/pointer can be a very helpful
for me.


Bijayant Kumar


   Get your new
Email
address!
Grab the Email name you've always wanted before
someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/


NONE - no upstream source.
411  - "Content-Length missing"

HTTP requires a Content-Length: header on POST
requests.


How to resolve this issue. Because the website is on internet and
its working fine without the squid. When I am bypassing the proxy,
I am not getting any type of error.

Can't this website be accessed through the Squid?

Amos
-- Please be using
Current Stable Squid 2.7.STABLE6 or
3.0.STABLE15
Current Beta Squid 3.1.0.8 or
3.0.STABLE16-RC1



   New Email addresses available on
Yahoo!
Get the Email name you've always wanted on the new
@ymail and @rocketmail.
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/



   Get your new Email address!
Grab the Email name you've always wanted before someone else
does!
http://mail.promotions.yahoo.com/newdomains/aa/

--
Mark Nottingham       m...@yahoo-inc.com



--
Mark Nottingham       m...@yahoo-inc.com

--
Mark Nottingham       m...@yahoo-inc.com


Reply via email to