summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2005-11-04Reformatted the reverse and filter configuration blocks. If eitherRobert James Kaes
section is not enabled at compile time, it should not be included in the object file.
2005-11-04Fixed up whitespace formatting of the config file directives. AlsoRobert James Kaes
added blank lines to group related directives.
2005-08-16Added the typecheck.m4 macro file to improve type checking support inRobert James Kaes
the configure.ac script. The various typedefs are checked in a larger collection of locations.
2005-08-16* [Refactor] Moved Reverse Proxy CodeRobert James Kaes
Moved the reverse proxy code from reqs.c into it's own files (reverse_proxy.c). The code in reqs.c is way too complicated, so I want to move unrelated code into their own files to simplify the main concepts in reqs.c.
2005-08-15* [Indent] Fixed typedef FormattingRobert James Kaes
Added the list of tinyproxy typedefs to the indent command to have them formatted correctly as well.
2005-08-15* [Indent] Ran Source Through indentRobert James Kaes
I re-indented the source code using indent with the following options: indent -kr -bad -bap -nut -i8 -l80 -psl -sob -ss -ncs There are now _no_ tabs in the source files, and all indentation is eight spaces. Lines are 80 characters long, and the procedure type is on it's own line. Read the indent manual for more information about what each option means.
2005-07-12* Specified Correct typedef in getsock_ip()Robert James Kaes
Changed the variable type for the namelen variable to the correct socklen_t type. The configure script already checked for it, but for some reason I never got around to actually using it in this function.
2005-07-12* Updated Copyright Email AddressesRobert James Kaes
Updated the copyright email addresses for Robert James Kaes. The users.sourceforge.net address should always exist.
2005-07-06Removed the proxy-* headers from the list of headers to skip. SinceRobert James Kaes
tinyproxy does not prompt for any proxy information from the client, it should not be eating the proxy headers. They are most likely needed by an upstream proxy.
2005-05-03* [1118363] Proxy reverse order of headersRobert James Kaes
Changed the internal implementation of the hashmap to maintain the insert order if the same key is repeated. The insertion is still constant since we keep track of the head and tail of the bucket chain.
2004-08-24Replaced all the AC_ARG_ENABLE calls with calls to our ownRobert James Kaes
TP_ARG_ENABLE macro. Except for the transparent proxy option, all the other options remain identical. To enable transparent proxy support use only --enable-transparent, rather than the old --enable-transparent-proxy.
2004-08-24Added config/argenable.m4 to the list of configuration files needed byRobert James Kaes
the autoconf system.
2004-08-24Initial checkin of the TP_ARG_ENABLE macro. This macro extends theRobert James Kaes
default AC_ARG_ENABLE macro to do better error checking of the input values.
2004-08-24Moved the autoconf/automake configuration files into the configRobert James Kaes
directory, so inform autoconf of this (the AC_CONFIG_AUX_DIR and AC_CONFIG_MACRO_DIR macros.) Also added a bunch of portability tests discovered by autoscan.
2004-08-24Moved all the autoconf/automake configuration information into theRobert James Kaes
config directory.
2004-08-24Removed the "releases.txt" file from the distribution. It didn'tRobert James Kaes
really add anything, so there's no point in having it.
2004-08-24(takesig): Fixed the return type to use the autoconf definedRobert James Kaes
RETSIGTYPE. This is portable, while simply using "void" is not.
2004-08-24Added code to handle HTTP/0.9 simple GET requests.Robert James Kaes
2004-08-24(get_bool_arg): Moved the initialization of "p" _before_ the assert()Robert James Kaes
calls. The code doesn't compile under gcc 2.95 otherwise. (I'm surprised it compiles under gcc 3.3 without a problem.)
2004-08-24Changed some of the variable types so that the code compiles cleanlyRobert James Kaes
on other operating systems. (Used cf.sourceforge.net as the test system for cross compiling.)
2004-08-24Fixed up the acl_s structure so that it compiles correctly underRobert James Kaes
gcc 2.95.
2004-08-20Bootstrap the autoconf systemRobert James Kaes
2004-08-20Moved the configuration information into it's own directory to avoidRobert James Kaes
cluttering up the root directory.
2004-08-14Changed the calls to the config_compile() and config_parse()Robert James Kaes
functions. Also, if the "logfile" directive is used, it will now override use of the syslog system. Added an error message if neither is defined.
2004-08-14(log_message): Added a fsync() call after each line outputted to theRobert James Kaes
log file.
2004-08-14Reorganized the source code. Added the missing reverse proxyRobert James Kaes
directives. Added a bunch of comments to clarify how the code works.
2004-08-14Removed the last code relating to the old configuration parsingRobert James Kaes
system. The grammar.y and scanner.l files still need to be removed.
2004-08-13Removed the grammar.y and scanner.l files from the list of filesRobert James Kaes
required by tinyproxy.
2004-08-13Added some error logging information for directives that areRobert James Kaes
conditionally compiled. Still need to add info messages for the directives.
2004-08-13Change the code to use the new config_parse() method rather than theRobert James Kaes
flex/bison based configuration system.
2004-08-13Added the new configuration parsing system (conffile.c andRobert James Kaes
conffile.h.) The new system is intended to replace the existing grammar.y and scanner.l files. I don't want to depend on flex/bison any longer.
2004-08-12(check_allowed_connect_ports): By default DENY any CONNECT requestsRobert James Kaes
unless explicitly allowed by a configuration directive.
2004-08-12(add_xtinyproxy_header): Removed the runtime error checking of theRobert James Kaes
connptr->server_fd variable and moved it into an assert since we should never be called with invalid data. Also made the function an inline function since it's only called in one place.
2004-08-11Completely rewrote the ACL functionality. The new system is intendedRobert James Kaes
to handle IPv6 style addresses along with the existing IPv4 and string addresses. In addition, the hand-rolled "list" code has been replaced with a vector (code reuse.) Also, the code should be a little easier to understand (relatively speaking.) I do need to add some kind of testing framework (in general) to check that the new code does work with all the formats that will be thrown at it.
2004-08-11(strip_username_password): Removed one of the pointer variables sinceRobert James Kaes
it's no longer needed. Reorganized the function to make it more obvious what was actually being done.
2004-08-10Merged in changes from 1.6.3Robert James Kaes
2004-04-27Added the "BindSame" configure directive from Oswald Buddenhagen.Robert James Kaes
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-04-27(init_stats): Fixed a memset bug, where the structure was not clearedRobert James Kaes
properly. (The sizeof "struct stat" was being used rather than the proper "struct stat_s". On my system, "struct stat" is 88 bytes long, while "struct stat_s" is 20 bytes long. Quite a difference!)
2004-04-27These files list all the other files that CVS should ignore. It makesRobert James Kaes
looking at the CVS status information a little cleaner.
2004-02-18Converted the various socket functions to work with both IPv4 and IPv6Robert James Kaes
addresses.
2004-02-18Added two functions:Robert James Kaes
- get_ip_string() converts a binary network address into either a dotted-decimal IPv4 address, or a IPv6 hex-string - full_inet_pton() converts a numeric character string into an IPv6 network address (binary form). It's like the system inet_pton() function, but it will work with bot IPv4 and IPv6 character strings. These functions are required for the conversion to Internet protocol independence. (Or to put it more clearly: allow tinyproxy to work in an IPv6 network.)
2004-02-17Rewrote the "early history" of the project, and added a section forRobert James Kaes
"major" addition authors.
2004-02-13Removed unnecessary casts (mostly dealing with memory allocation.) IRobert James Kaes
should never have added them in the first place. They don't really buy anything, and they can hide bugs.
2004-02-04(strip_return_port): Patch from "alex" to strip the port from the hostRobert James Kaes
string and return the port. I cleaned up and added error handling to the code, but it's basically "alex"'s fix. (extract_http_url): Rewrote this function to remove all the sscanf() calls. It's much easier to just split on the path slash (if it's present) and then strip the user name/password and port from the host string. Less code, handles more cases!
2004-01-26# Updated change logRobert James Kaes
2004-01-26Added reverse proxy support from Kim Holviala. His comments regardingRobert James Kaes
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-17Merged in changes from the 1.6.2 release. (Fixes for the filtering codeRobert James Kaes
and the HTML installation script.)
2003-08-14Merged in missing $(DESTDIR) in tinyproxy-html-files rules bug fixRobert James Kaes
from the stable branch.
2003-08-07Incorporated patches from Marc Silver to improve the readability andRobert James Kaes
understandability of the documentation.
2003-08-07tinyproxy no longer includes a fall-back regular expression library,Robert James Kaes
so these files needed to be modified to only use the system's installed regular expression library.