[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