[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: HTTP Proxy



Darrin Thompson writes:
>Igor and friends,

I expect you meant "Ingo"

>Have you considered implementing http proxy capabilities in a TUX kernel 
>module? It seems like TUX is the ideal place for a proxy. 

We have definitely talked about the idea.  I wouldn't go so far as to
say that we have plans to do it, but we have considered it.  From a
purely technical standpoint, it does seem interesting and possible;
whether we eventually do any work on it will probably depend on
available resources and other resource demands more than anything else.

As Adam's mail indicated, it wouldn't be so easy, but with a user
space implementation to fall back on, it might work rather well.

>* Special cases like HTTP->FTP can be passed on to Apache.

I expect that the hard part in the kernel would be finding the corner
cases to push out to user space to handle, and trying to balance speed
and complexity appropriately in the kernel.  Since Adam's cache is
event-driven, it might be possible to design a TUX component to work with
it as an accelerator; tux would take the connections and do anything it
knew how in the kernel and pass off the hard stuff to Adam's cache to
deal with.  Adam, I think that would mean making your main loop able to 
use tux() instead of poll() or using completion ports or whatever you
are doing now as the source of your events.  I don't know whether that
would fit into your design or not.  Does that make any sense to you?

Ingo, any opinions?

>* Could the FTP "Proxy" module used in the firewall modules be used for 
>HTTP->FTP? (I'm not a kernel hacker. Ignore that question if it's 
>stupid.):-)

I wouldn't call it stupid, but I certainly don't see that it could be
much use for that purpose...

michaelkjohnson

 "He that composes himself is wiser than he that composes a book."
 Linux Application Development                     -- Ben Franklin
 http://people.redhat.com/johnsonm/lad/





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []