summaryrefslogtreecommitdiff
path: root/src/grammar.y (follow)
AgeCommit message (Collapse)AuthorFilesLines
2004-04-27Added the "BindSame" configure directive from Oswald Buddenhagen.Robert James Kaes1-2/+7
This allows tinyproxy to respond to a request bound to the same interface that the request came in on. As Oswald explains: "attached is a patch that adds the BindSame option. it causes binding an outgoing connection to the ip address of the respective incoming connection. that way one can simulate an entire proxy farm with a single instance of tinyproxy on a multi-homed machine." Cool.
2004-01-26Added reverse proxy support from Kim Holviala. His comments regardingRobert James Kaes1-1/+42
this addition follow: The patch implements a simple reverse proxy (with one funky extra feature). It has all the regular features: mapping remote servers to local namespace (ReversePath), disabling forward proxying (ReverseOnly) and HTTP redirect rewriting (ReverseBaseURL). The funky feature is this: You map Google to /google/ and the Google front page opens up fine. Type in stuff and click "Google Search" and you'll get an error from tinyproxy. Reason for this is that Google's form submits to "/search" which unfortunately bypasses our /google/ mapping (if they'd submit to "search" without the slash it would have worked ok). Turn on ReverseMagic and it starts working.... ReverseMagic "hijacks" one cookie which it sends to the client browser. This cookie contains the current reverse proxy path mapping (in the above case /google/) so that even if the site uses absolute links the reverse proxy still knows where to map the request. And yes, it works. No, I've never seen this done before - I couldn't find _any_ working OSS reverse proxies, and the commercial ones I've seen try to parse the page and fix all links (in the above case changing "/search" to "/google/search"). The problem with modifying the html is that it might not be parsable (very common) or it might be encoded so that the proxy can't read it (mod_gzip or likes). Hope you like that patch. One caveat - I haven't coded with C in like three years so my code might be a bit messy.... There shouldn't be any security problems thou, but you never know. I did all the stuff out of my memory without reading any RFC's, but I tested everything with Moz, Konq, IE6, Links and Lynx and they all worked fine.
2003-06-26# Removed the STRING_ADDRESS token since it was conflicting with theRobert James Kaes1-6/+4
IDENTIFIER directive and also the keyword directives.
2003-06-20Removed the "ViaHeader" directive and replaced it with theRobert James Kaes1-11/+9
"ViaProxyName" directive. The "Via" HTTP header is _required_ by the HTTP spec, so the code has been changed to always send the header. However, including the proxy's host name could be considered a security threat, so the "ViaProxyName" directive is used to set the token sent in the "Via" header. If the directive is not enabled the proxy's host name will be used.
2003-05-29Improved the upstream proxy support by making the upstream proxyRobert James Kaes1-3/+18
server configurable based on the destination host. [Code written by Peter da Silva]
2003-03-13Allow the URL for the statistic page to be controlled from theRobert James Kaes1-1/+7
configuration file, rather than being hard-coded in the program. [John M Wright]
2003-03-13# Added parser support for the error file configuration keywordsRobert James Kaes1-2/+15
(ErrorFile, DefaultErrorFile, StatFile) [Steven Young]
2003-01-27Added support for conditionally using case sensitive filtering files.Robert James Kaes1-1/+10
Code changes from James E. Flemer.
2002-11-26Included code to disable the sending of the Via header. This is nowRobert James Kaes1-2/+11
controlled by the ViaHeader configure directive.
2002-11-03Removed all the code supporting the TCP tunnelling feature ofRobert James Kaes1-11/+2
tinyproxy. There is really no need for this code, since there are perfectly good programs out there (like rinetd) which are designed for TCP tunnelling. tinyproxy should be a good HTTP proxy, nothing more, and nothing less; therefore, the tunnelling code is gone.
2002-06-07Added the "FilterDefaultDeny" directive to allow the user to select whether ↵Robert James Kaes1-2/+12
the default policy of the filter is to allow everything which isn't denied, or to deny everything which isn't allowed.
2002-06-06Added a warning message to the Bind directive stating that it will be ↵Robert James Kaes1-1/+5
ignored if "transparent proxy" has been compiled into tinyproxy.
2002-05-27Added support for the "FilterURLs" and "FilterExtended" directives.Robert James Kaes1-2/+19
These directives were submitted by James Flemer for use with the new filtering code.
2002-05-26Removed the directives for the old DNSserver process.Robert James Kaes1-10/+7
2002-05-23Added the "DNSserverLocation" and "DNSserverSocket" directives for useRobert James Kaes1-1/+4
with the "dnsserver" resolver.
2002-04-24Moved bind_address inside the config structure.Robert James Kaes1-2/+2
2002-04-22Added the "Bind" directive.Robert James Kaes1-3/+12
2002-04-12Added the support code to process a ConnectPort configuration directive.Robert James Kaes1-1/+4
2002-04-02Added define check for XTINYPROXY_ENABLE. Although, I'm not sure if thisRobert James Kaes1-2/+9
is the correct way to do this, since grammar.c probably doesn't get recomplied even if config.h is changed. Must look into this more.
2001-11-25Change the C code to match the new style.Robert James Kaes1-2/+3
2001-09-16Added the token for Upstream and the code the handle the upstreamRobert James Kaes1-2/+12
directive in the configuration file.
2001-08-26Added the Connect log level.Robert James Kaes1-3/+4
2001-06-02Include LogLevel and it's settings into the grammar of the config file.Robert James Kaes1-1/+15
2001-05-27Changed all the references to log() to log_message().Robert James Kaes1-4/+4
2000-09-12These all handle reading the tinyproxy configuration file.Robert James Kaes1-0/+155