Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2004-01-26 | Added reverse proxy support from Kim Holviala. His comments regarding | Robert James Kaes | 10 | -31/+330 | |
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-10-17 | Merged in changes from the 1.6.2 release. (Fixes for the filtering code | Robert James Kaes | 4 | -25/+47 | |
and the HTML installation script.) | |||||
2003-08-14 | Merged in missing $(DESTDIR) in tinyproxy-html-files rules bug fix | Robert James Kaes | 1 | -1/+1 | |
from the stable branch. | |||||
2003-08-07 | Incorporated patches from Marc Silver to improve the readability and | Robert James Kaes | 1 | -61/+86 | |
understandability of the documentation. | |||||
2003-08-07 | tinyproxy no longer includes a fall-back regular expression library, | Robert James Kaes | 5 | -21/+11 | |
so these files needed to be modified to only use the system's installed regular expression library. | |||||
2003-08-07 | Removed the included regular expression library, since it should come | Robert James Kaes | 3 | -6457/+0 | |
standard on any reasonably modern system. | |||||
2003-08-07 | # Merged in changes from the stable 1.6 branch. | Robert James Kaes | 3 | -6/+17 | |
2003-08-05 | Patch from Marc Silver to improve the readability and accuracy of the | Robert James Kaes | 1 | -10/+10 | |
tinyproxy man page. | |||||
2003-08-05 | # Fixed a comment to actually reflect what the function does. | Robert James Kaes | 1 | -2/+2 | |
2003-08-05 | Added the cookie header to the documented list of headers to allow | Robert James Kaes | 1 | -0/+4 | |
through. | |||||
2003-08-01 | Included patches from Steven Young to use the hashmap functionality to | Robert James Kaes | 4 | -82/+64 | |
manage the HTML error pages. It simplifies the source, and also make the object file smaller. Nice. Also added any casting from (void*) to ensure that the code compiles using a C++ compiler. | |||||
2003-07-31 | Added appropriate casts (void*) casts to allow the code to compile | Robert James Kaes | 1 | -9/+12 | |
cleanly using a C++ compiler. Changed the servers_waiting variable to an unsigned int, since the number of servers waiting can never be negative, and added an assert() to ensure this invariant. | |||||
2003-07-31 | (debugging_realloc): Removed the assert for the NULL pointer, since | Robert James Kaes | 1 | -3/+2 | |
realloc() can take a NULL pointer, as defined by the realloc() man page. Fixed the cast in both safefree() macros to compile cleaning using a C++ compiler. | |||||
2003-07-31 | Fixed the cast in both safefree() macros to compile cleaning using a | Robert James Kaes | 1 | -3/+3 | |
C++ compiler. | |||||
2003-07-31 | # Fixed a preprocessor test (misspelled __cplusplus) | Robert James Kaes | 1 | -2/+2 | |
2003-07-31 | Added appropriate casts from (void*) so that the code will compile | Robert James Kaes | 11 | -58/+67 | |
cleanly with a C++ compiler. (Tested using GCC 3.3) | |||||
2003-07-24 | # Bumped up the version number because of a maintenance release (to fix | Robert James Kaes | 1 | -2/+2 | |
a problem with the scanner.c file. | |||||
2003-07-14 | # Updated ChangeLog | Robert James Kaes | 1 | -1/+8 | |
2003-07-14 | # Bumped up version number. | Robert James Kaes | 1 | -2/+2 | |
2003-07-14 | (indicate_http_error): Added calls to va_end() before leaving the | Robert James Kaes | 1 | -2/+6 | |
function. | |||||
2003-06-26 | # Updated the ChangeLog | Robert James Kaes | 1 | -0/+19 | |
2003-06-26 | # Bumped up the version number and made sure to only add the debugging | Robert James Kaes | 1 | -3/+6 | |
flags to flex if it really is flex. | |||||
2003-06-26 | # Removed the debugging information. | Robert James Kaes | 1 | -8/+2 | |
2003-06-26 | # Added debugging flags for the flex scanner. | Robert James Kaes | 2 | -3/+5 | |
2003-06-26 | (upstream_add): Rewrote the function to actually handle the various | Robert James Kaes | 1 | -33/+37 | |
types of upstream configurations correctly. Hopefully, the code is also a little clearer in it's implementation. | |||||
2003-06-26 | # Removed the STRING_ADDRESS token since it was conflicting with the | Robert James Kaes | 1 | -6/+4 | |
IDENTIFIER directive and also the keyword directives. | |||||
2003-06-26 | Modified the patterns to allow the new upstream directives to work as | Robert James Kaes | 1 | -9/+14 | |
defined in the tinyproxy.conf documentation. | |||||
2003-06-26 | (debugging_free): Rather than assert on a NULL pointer, log the NULL | Robert James Kaes | 1 | -4/+4 | |
pointer and return. | |||||
2003-06-25 | # Bumped up the version number. | Robert James Kaes | 1 | -2/+2 | |
2003-06-25 | # Updated the changelog | Robert James Kaes | 1 | -0/+7 | |
2003-06-25 | Added a test to define INADDR_NONE if it's not present. For example, | Robert James Kaes | 1 | -1/+8 | |
SunOS (solaris 2.8) does not include this define. [Thank to Ben Hartshorne for pointing this out.] | |||||
2003-06-25 | Changed the calls to "ps" and "grep" to use a more portable syntax. | Robert James Kaes | 1 | -1/+1 | |
2003-06-23 | # Bumped up the version number. | Robert James Kaes | 1 | -2/+2 | |
2003-06-23 | # Added a bit more description to describe where to look for the error | Robert James Kaes | 1 | -1/+5 | |
HTML files. In the future the installation script should modify the tinyproxy.conf file. | |||||
2003-06-20 | # Updated ChangeLog | Robert James Kaes | 1 | -0/+39 | |
2003-06-20 | Removed the "ViaHeader" directive and replaced it with the | Robert James Kaes | 5 | -44/+47 | |
"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-06-19 | # Removed the HTML error suggestion since it's been implemented with | Robert James Kaes | 1 | -4/+5 | |
Steven Young's patches. Added a suggestion for user authentication. | |||||
2003-06-06 | (connect_to_upstream): Fixed an off-by-one error in the snprintf() | Robert James Kaes | 1 | -5/+6 | |
call used to build the URL for the upstream proxy. [Patch suggested by David T. Pierso] | |||||
2003-06-02 | Remove the -O2 optimization if debugging is enabled. Also, remove the | Robert James Kaes | 1 | -5/+9 | |
-g option if the code does _not_ have debugging enabled. | |||||
2003-06-02 | Included additional examples of how to configure the upstream proxy | Robert James Kaes | 1 | -10/+15 | |
support for more selective proxying. | |||||
2003-06-02 | (upstream_get): | Robert James Kaes | 2 | -38/+67 | |
(upstream_add): Added support to allow ip addresses and networks to be used when matching an upstream proxy directive. [Code by Peter da Silva] | |||||
2003-05-31 | Changed the safefree() macro to make it safe to use a conditional | Robert James Kaes | 1 | -3/+11 | |
statement, and also safe to use with a rvalue that has a side effect. [Bug fix recommended by Peter da Silva] | |||||
2003-05-31 | # Changed all the for calls to use the != test rather than < test. | Robert James Kaes | 7 | -31/+31 | |
The change was recommended in the C/C++ User Journal magazine. | |||||
2003-05-30 | # Updated ChangeLog | Robert James Kaes | 1 | -0/+40 | |
2003-05-30 | # Bumped up the version number | Robert James Kaes | 1 | -2/+2 | |
2003-05-30 | # Changed the calls to vector_getentry() to use the new calling | Robert James Kaes | 2 | -4/+5 | |
convention. | |||||
2003-05-30 | (vector_getentry): Changed the API to return the data pointer and have | Robert James Kaes | 2 | -18/+19 | |
the length returned in a argument variable pointer. This should be a more natural way of using the function. | |||||
2003-05-29 | # Added a vector_prepend() function and recoded the old vector_insert() | Robert James Kaes | 2 | -15/+41 | |
to be a general "insert" for both vector_append() and vector_prepend() | |||||
2003-05-29 | # Renamed the vector_insert() calls to vector_append() | Robert James Kaes | 2 | -4/+4 | |
2003-05-29 | (vector_append): Renamed the vector_insert() function to more | Robert James Kaes | 2 | -9/+9 | |
accurately indicate that entries are appended to the end of the vector. |