[squid-users] Squid 3.5: internal-static icons on ftp:// requests
Andre Albsmeier
Andre.Albsmeier at siemens.com
Tue May 19 06:29:17 UTC 2015
When browsing e.g.
ftp://ftp.mozilla.org/pub/thunderbird/releases/31.5.0/win32/en-GB/
I miss the internally generated icons and receive an error message
in the logs:
2015/05/17 20:03:44 kid1| internalStart: unknown request:
GET /squid-internal-static/icons/silk/arrow_up.png HTTP/1.1
Host: ftp.mozilla.org
User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:31.0) Gecko/20100101 Firefox/31.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-gb;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
The corresponding request for getting the icon is
ftp://ftp.mozilla.org/squid-internal-static/icons/silk/application.png
and this fails. If I (manually) convert the request into a http request
http://ftp.mozilla.org/squid-internal-static/icons/silk/application.png
the icon gets loaded (this works as global_internal_static is set to on).
Shouldn't all internal-static request be http instead of ftp? I have now
patched my squid so it enforces http for internal stuff with this patch:
--- src/client_side.cc.ORI 2015-03-28 11:58:05.000000000 +0100
+++ src/client_side.cc 2015-05-18 19:38:20.982160000 +0200
@@ -2683,16 +2683,18 @@
':' << request->port);
http->flags.internal = true;
} else if (Config.onoff.global_internal_static && internalStaticCheck(request->urlpath.termedBuf())) {
debugs(33, 2, "internal URL found: " << request->url.getScheme() << "://" << request->GetHost() <<
':' << request->port << " (global_internal_static on)");
request->SetHost(internalHostname());
request->port = getMyPort();
http->flags.internal = true;
+request->url.setScheme( AnyP::PROTO_HTTP );
+debugs(33, 2, "NEW internal URL: " << request->url.getScheme() << "://" << request->GetHost() << ':' << request->port << " (global_internal_static on)");
} else
debugs(33, 2, "internal URL found: " << request->url.getScheme() << "://" << request->GetHost() <<
':' << request->port << " (not this proxy)");
}
if (http->flags.internal)
request->login[0] = '\0';
and now the icons on ftp://ftp.mozilla.org/ appear but I wonder if it
is really needed to patch squid for that... ;-).
Thanks,
-Andre
More information about the squid-users
mailing list