summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2003-06-20Removed the "ViaHeader" directive and replaced it with theRobert James Kaes
"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-06(connect_to_upstream): Fixed an off-by-one error in the snprintf()Robert James Kaes
call used to build the URL for the upstream proxy. [Patch suggested by David T. Pierso]
2003-06-02(upstream_get):Robert James Kaes
(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-31Changed the safefree() macro to make it safe to use a conditionalRobert James Kaes
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
The change was recommended in the C/C++ User Journal magazine.
2003-05-30# Changed the calls to vector_getentry() to use the new callingRobert James Kaes
convention.
2003-05-30(vector_getentry): Changed the API to return the data pointer and haveRobert James Kaes
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
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
2003-05-29(vector_append): Renamed the vector_insert() function to moreRobert James Kaes
accurately indicate that entries are appended to the end of the vector.
2003-05-29Improved the upstream proxy support by making the upstream proxyRobert James Kaes
server configurable based on the destination host. [Code written by Peter da Silva]
2003-05-05(establish_http_connection): If the port being requested is not aRobert James Kaes
standard HTTP port (80 or 443) append the port string to the host header; otherwise, leave the host string with only the host's domain name. Replaced all occurrences of constant 80 and 443 with defines HTTP_PORT and HTTP_PORT_SSL.
2003-05-04Fixed a bug that would kill a child process because of an invalidRobert James Kaes
safefree() call. Basically, destroy_conn() was trying to free memory not allocated by malloc. [Fix by David T. Pierson]
2003-04-16(build_url): Rebuild the URL from the component pieces. This functionRobert James Kaes
is used by the transparent proxy code. [Anatole Shaw] (process_request): Fixed up the transparent proxy code so that filtering can be done on the whole URL. [Anatole Shaw] (pull_client_data): Added a bug fix for Internet Explorer (IE). IE will leave an extra CR and LF after the data in an HTTP POST. The new code will eat the extra bytes if they're present. Thanks to Yannick Koehler for finding the bug and offering an explanation as to why it was happening. Changed all calls of connptr->remote_content_length to connptr->content_length.server
2003-04-16# Changed it again to this time use the TINYPROXY_DEBUG environmentRobert James Kaes
variable to determine whether to wait for a connection from GDB.
2003-04-16# The programmer is now made to _explicitly_ enable the GDB support inRobert James Kaes
the child handling function.
2003-04-16Removed the remote_content_length field in the "conn" structure andRobert James Kaes
replaced it with a smaller structure containing both the remote/server and the local/client content-length fields if they're present in the HTTP response headers.
2003-04-01(add_error_variable): Test whether connptr->error_variable is NULL,Robert James Kaes
and if so call safemalloc(). This is needed since saferealloc() will assert() if the first argument is a NULL pointer.
2003-03-26(establish_http_connection): Always include the port number for theRobert James Kaes
requested server. This fixes a problem when the server is not listening on the default port, 80. [Fix suggested by duncan@sapio.co.uk]
2003-03-17# Moved the location of the "initializing" log message to below theRobert James Kaes
processing of the command line options.
2003-03-14Made get_html_file() and lookup_variable() static functions since theyRobert James Kaes
are only used with this file.
2003-03-14# Added copyright notices for Steve. Reformatted the source code toRobert James Kaes
better match the existing tinyproxy practise. Included a few bug fixes from Steve.
2003-03-14(send_http_message): Changed the function to use the new http_messageRobert James Kaes
API.
2003-03-14# Updated all the calls to indicate_http_error() to include aRobert James Kaes
terminating NULL. The va_arg() function requires it to work properly.
2003-03-13Allow the URL for the statistic page to be controlled from theRobert James Kaes
configuration file, rather than being hard-coded in the program. [John M Wright]
2003-03-13Moved the send_http_error_message() and indicate_http_error()Robert James Kaes
functions into the htmlerror.c file, and recoded them to use the new variable substitution system. [Steven Young]
2003-03-13# Added variables to config structure to keep track of the files to beRobert James Kaes
displayed for various HTTP errors and the stats page. [Steven Young]
2003-03-13# Changed showstats() to use the HTML variable functions whenRobert James Kaes
possible. It still retains the hard-coded page for when an HTML file is not available. [Steven Young]
2003-03-13# Changed calls to indicate_http_error() to use the new HTML variableRobert James Kaes
substitution mechanism. [Steven Young]
2003-03-13# Added parser support for the error file configuration keywordsRobert James Kaes
(ErrorFile, DefaultErrorFile, StatFile) [Steven Young]
2003-03-13# Added variables to keep track of the variables to be substituted inRobert James Kaes
.html files displayed to the client [Steven Young]
2003-03-13# Steve Young's code to implement file based HTML error messages,Robert James Kaes
rather than the hard coded string.
2003-03-13# Added htmlerror.c and htmlerror.hRobert James Kaes
2003-03-13# Changed the wording of the header comment to remove the reference toRobert James Kaes
"dnsserver"
2003-03-13# (child_main): If this is a debugging build output the child processRobert James Kaes
ID and wait for 10 seconds so we have time to connect gdb to the child. This is needed if we want to use gdb against the child process.
2003-03-13Fixed up the include order for the <sys/time.h> and <time.h> headers.Robert James Kaes
2003-03-13# Include the http_message.[ch] into the compiled tinyproxy object.Robert James Kaes
2003-03-13An API to handle HTTP messages as concrete entities.Robert James Kaes
2003-03-13(chomp): Fixed up the code to prevent negative array access. AddedRobert James Kaes
code to make sure the supplied arguments are valid.
2003-02-26(main): Removed duplicate code calling the filter_destroy() function.Robert James Kaes
Once is enough. [Detected by John M Wright]
2003-01-28# (connect_to_upstream): Improved the preprocessor directives to makeRobert James Kaes
sure the function would compile cleanly regardless of how the directive was set.
2003-01-27# Style clean up.Robert James Kaes
2003-01-27(display_usage): Removed the output line mentioning that regularRobert James Kaes
expression support was included. It will be there always.
2003-01-27(connect_to_upstream): Reorganized the preprocessor directives to makeRobert James Kaes
sure the function's symbol name is stored, even if upstream was not compiled it. This should keep some compilers from reporting errors.
2003-01-27Added support for conditionally using case sensitive filtering files.Robert James Kaes
Code changes from James E. Flemer.
2003-01-27(process_client_headers): Fixed inverted anonymous header logic. FixRobert James Kaes
comes from the FreeBSD port through James E. Flemer.
2002-12-04(strip_username_password): New function to remove anyRobert James Kaes
username/password part from the host URI. (extract_http_url), (extract_ssl_url): Use the new strip_username_password function to remove any non-host information from the URI.
2002-12-04Removed the "bool_t" type since it conflicts with the newer C standards.Robert James Kaes
The type was just replaced by "unsigned int" types.
2002-11-29(extract_http_url): Removed the leading "http://" from all the tests,Robert James Kaes
since it's skipped by the caller before the URL is passed to this function. (process_request): Include code to handle proxy FTP requests as well. This also lead to a bit of a cleanup in the calling conventions of extract_http_url function. tinyproxy can handle both types of resources by skipping the leading :// part.
2002-11-26Included code to disable the sending of the Via header. This is nowRobert James Kaes
controlled by the ViaHeader configure directive.