Re: Transparent caching

From: Tomasz Bonecki <tomek@dont-contact.us>
Date: Thu, 19 Dec 1996 20:24:03 +0100 (MET)

---------- Forwarded message ----------
Date: Fri, 6 Dec 1996 19:45:57 +0100 (MET)
From: Tomasz Bonecki <tomek@cs.tg.com.pl>
To: Duane Wessels <wessels@nlanr.net>
Subject: Re: SQUID 1.1.beta28 available

On Thu, 5 Dec 1996, Duane Wessels wrote:

> Ok, lets try this again. beta28 is going to be the final beta
> release. This is your last chance to find my bugs, typos, etc.
> before the big 1.1.0.
>

Would it be possible for you to write a few lines of new code to icp.c
to add support for 'transparent proxying' ?
I don't know exactly what are the protocol differences between requests
to http server and http cache, but after 5 minutes of debugging I think
the main difference is the 'url part' after the 'GET' word:

GET /some/path/on/server [...]

instead of:

GET http://some.host.name/some/path/on/server [...]

Actually, ( as you perfectly know :) , the code inserting

http://some.host.name

before url already exists in icp.c - the same job has to be
done in 'http accelerator mode' - maybe changes to code wouldn't be big.

So the quick way to add support to transparent proxying is to add
something like this:

if(url_looks_like("/some/path"))
  {
  get_real_destination();
  insert_before_url("http://aaa.bbb.ccc.ddd");
  }

The only problem is how to get real destination - on Linux
you can get it by calling getsockname() function on accepted socket.
I don't know how is it done in other systems - you must have find it
yourself if you would like to support tranparent proxying on other
architectures. If you are interested in examples, I can send you small
code with such a function working on Linux with transparent proxying
compiled into kernel.

Of course, it's quick and dirty patch - I think it would be much better
(and efficient) to add "serious" support by opening another socket bound
to different port ( configurable in conf file ) and process only such
requests efficiently...

                                                        Tomek

PS. I'm very interested if somebody is willing to code something like this
- I need support for transparent proxies in Squid. If nobody works on it,
I'm desperate enough to start on my own, and of course I'll send you
patches if you like.

I'm network administrator working at small ISP in strange country,
where all traffic is accounted by our "top-level-provider"... Yes, it's
true - we pay for each transferred byte :-((( So, it's not only matter of
lowering network traffic on Internet but source of real savings. Actually,
your program allows us to "survive" after about 1000% price risings few
months ago...
Sounds like a horror, but it's true - can you imagine that your taxes will
be TEN TIMES HIGHER ?!?! Many thanks for writing Squid - I suppose you can
imagine how grateful we are for such a program, with our horrid taxes for
network traffic...
Received on Thu Dec 19 1996 - 11:29:54 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:33:56 MST