2156 lines
76 KiB
Plaintext
2156 lines
76 KiB
Plaintext
2004-08-10 Robert James Kaes <rjkaes@users.sourceforge.net>
|
|
|
|
Merged in changes from 1.6.3.
|
|
|
|
2004-01-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.7.0 (2004-01-26)
|
|
|
|
* configure.ac, doc/tinyproxy.conf, src/conns.c, src/conns.h, src/grammar.y, src/reqs.c, src/reqs.h, src/scanner.l, src/tinyproxy.c, src/tinyproxy.h:
|
|
Added reverse proxy support from Kim Holviala.
|
|
|
|
2003-11-19 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (upstream_add): Fixed a spelling mistake with "Nonsence"
|
|
|
|
2003-10-17 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/filter.c, ChangeLog, Makefile.am, configure.ac:
|
|
Merged in changes from the 1.6.2 release. (Fixes for the filtering code
|
|
and the HTML installation script.)
|
|
|
|
2003-10-17 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.6.2 (2003-10-17)
|
|
|
|
* Makefile.am:
|
|
Removed a redundant "mkdir" command, since the $(mkinstalldirs)
|
|
command handles it correctly.
|
|
|
|
2003-10-16 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/filter.c (filter_init):
|
|
Fixed up the comment handling code. Closes bug 822226
|
|
[https://sourceforge.net/tracker/index.php?func=detail&aid=822226&group_id=2632&atid=102632]
|
|
|
|
2003-08-06 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.6.1 (2003-08-06)
|
|
|
|
* heap.c (debugging_realloc):
|
|
Remove the assert on the ptr being NULL since a NULL pointer is
|
|
allowed by the realloc() spec.
|
|
|
|
* child.c (child_main):
|
|
Fixed an off-by-one error with the maxrequestsperchild
|
|
variable. [Fix proposed by Yannick Koehler]
|
|
|
|
2003-07-14 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.6.0 (2003-07-14)
|
|
|
|
* src/htmlerror.c (indicate_http_error):
|
|
Added calls to va_end() before leaving the function.
|
|
|
|
2003-06-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (upstream_add):
|
|
Rewrote the function to actually handle the various types of
|
|
upstream configurations correctly. Hopefully, the code is also a
|
|
little clearer in it's implementation.
|
|
|
|
* src/scanner.l:
|
|
Modified the patterns to allow the new upstream directives to work
|
|
as defined in the tinyproxy.conf documentation.
|
|
|
|
* src/heap.c (debugging_free):
|
|
Rather than assert on a NULL pointer, log the NULL pointer and
|
|
return.
|
|
|
|
2003-06-25 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/common.h:
|
|
Added a test to define INADDR_NONE if it's not present. For
|
|
example, SunOS (solaris 2.8) does not include this define. [Thank
|
|
to Ben Hartshorne for pointing this out.]
|
|
|
|
* doc/report.sh.tmpl:
|
|
Changed the calls to "ps" and "grep" to use a more portable
|
|
syntax.
|
|
|
|
2003-06-20 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/tinyproxy.conf, src/grammar.y, src/reqs.c, src/scanner.l, src/tinyproxy.h:
|
|
Removed the "ViaHeader" directive and replaced it with the
|
|
"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 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (connect_to_upstream):
|
|
Fixed an off-by-one error in the snprintf() call used to build the
|
|
URL for the upstream proxy. [Patch suggested by David T. Pierso]
|
|
|
|
2003-06-02 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac:
|
|
Remove the -O2 optimization if debugging is enabled. Also, remove
|
|
the -g option if the code does _not_ have debugging enabled.
|
|
|
|
* doc/tinyproxy.conf:
|
|
Included additional examples of how to configure the upstream
|
|
proxy support for more selective proxying.
|
|
|
|
* src/reqs.c, src/tinyproxy.h: (upstream_get):
|
|
(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 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/heap.h:
|
|
Changed the safefree() macro to make it safe to use a conditional
|
|
statement, and also safe to use with a rvalue that has a side
|
|
effect. [Bug fix recommended by Peter da Silva]
|
|
|
|
2003-05-30 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/vector.c, src/vector.h (vector_getentry):
|
|
Changed the API to return the data pointer and have the length
|
|
returned in a argument variable pointer. This should be a more
|
|
natural way of using the function.
|
|
|
|
2003-05-29 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/vector.c, src/vector.h (vector_append):
|
|
Renamed the vector_insert() function to more accurately indicate
|
|
that entries are appended to the end of the vector.
|
|
|
|
* doc/tinyproxy.conf, src/grammar.y, src/reqs.c, src/reqs.h, src/tinyproxy.h:
|
|
Improved the upstream proxy support by making the upstream proxy
|
|
server configurable based on the destination host. [Code written by
|
|
Peter da Silva]
|
|
|
|
2003-05-10 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* Makefile.am:
|
|
Added support for installing the HTML error files used by tinyproxy.
|
|
|
|
2003-05-05 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (establish_http_connection):
|
|
If the port being requested is not a 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-04 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/conns.c, src/conns.h:
|
|
Fixed a bug that would kill a child process because of an invalid
|
|
safefree() call. Basically, destroy_conn() was trying to free
|
|
memory not allocated by malloc. [Fix by David T. Pierson]
|
|
|
|
2003-04-16 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (build_url):
|
|
Rebuild the URL from the component pieces. This function
|
|
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
|
|
|
|
* src/conns.c, src/conns.h:
|
|
Removed the remote_content_length field in the "conn" structure
|
|
and 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 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac:
|
|
Reorganized some of the code, and remove some function tests for
|
|
which results were never used, and removed duplicate header tests.
|
|
|
|
* src/htmlerror.c (add_error_variable):
|
|
Test whether connptr->error_variable is NULL, and if so call
|
|
safemalloc(). This is needed since saferealloc() will assert() if
|
|
the first argument is a NULL pointer.
|
|
|
|
2003-03-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (establish_http_connection):
|
|
Always include the port number for the 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 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/Makefile.am:
|
|
Create the doc/report.sh script from the new template file.
|
|
|
|
* doc/report.sh, doc/report.sh.tmpl:
|
|
Moved the doc/report.sh script to doc/report.sh.tmpl file. The
|
|
script is then updated by the make procedure to reflect the
|
|
correct location of the tinyproxy executable.
|
|
|
|
2003-03-14 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/htmlerror.c:
|
|
Made get_html_file() and lookup_variable() static functions since
|
|
they are only used with this file.
|
|
|
|
* src/utils.c (send_http_message):
|
|
Changed the function to use the new http_message API.
|
|
|
|
2003-03-13 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/grammar.y, src/scanner.l:
|
|
Allow the URL for the statistic page to be controlled from the
|
|
configuration file, rather than being hard-coded in the program.
|
|
[John M Wright]
|
|
|
|
* doc/tinyproxy.conf:
|
|
Include example information for the new "file" directives
|
|
(ErrorFile, DefaultErrorFile, StatFile.) [Steven Young]
|
|
|
|
* src/utils.c, src/utils.h:
|
|
Moved the send_http_error_message() and indicate_http_error()
|
|
functions into the htmlerror.c file, and recoded them to use the
|
|
new variable substitution system. [Steven Young]
|
|
|
|
* src/common.h:
|
|
Fixed up the include order for the <sys/time.h> and <time.h>
|
|
headers.
|
|
|
|
* src/http_message.c, src/http_message.h:
|
|
An API to handle HTTP messages as concrete entities.
|
|
|
|
* src/text.c, src/text.h (chomp):
|
|
Fixed up the code to prevent negative array access. Added
|
|
code to make sure the supplied arguments are valid.
|
|
|
|
2003-03-09 Steven Young <sdyoung@well.com>
|
|
|
|
* src/htmlerror.[ch]: Code to allow the use of substituted
|
|
variables in .html files for error reporting instead of
|
|
hard-coded HTML documents that use snprintf() for variable
|
|
substitution.
|
|
|
|
* src/stats.c: Changed showstats to use the HTML variable
|
|
functions when possible. It still retains the hard-coded
|
|
page for when an HTML file is not available.
|
|
|
|
* src/reqs.c: Changed calls to indicate_http_error() to
|
|
use the new HTML variable mechanism.
|
|
|
|
* src/tinyproxy.h: Added variables to config structure
|
|
to keep track of the files to be displayed for various
|
|
HTTP errors and the stats page.
|
|
|
|
* src/conns.h: Added variables to keep track of the
|
|
variables to be substituted in .html files displayed
|
|
to that client.
|
|
|
|
* src/grammar.y, src/scanner.l: Added parser support
|
|
for the error file configuration keywords
|
|
(ErrorFile, DefaultErrorFile, StatFile)
|
|
|
|
2003-03-08 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.5.3 (2003-03-10)
|
|
|
|
Added the files required for creating tinyproxy RPMs for Redhat based
|
|
systems. (See packaging/redhat)
|
|
|
|
2003-02-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.c (main):
|
|
Removed duplicate code calling the filter_destroy() function.
|
|
Once is enough. [Detected by John M Wright]
|
|
|
|
2003-01-27 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.c (display_usage):
|
|
Removed the output line mentioning that regular expression support
|
|
was included. It will be there always.
|
|
|
|
* src/reqs.c (connect_to_upstream):
|
|
Reorganized the preprocessor directives to make sure the
|
|
function's symbol name is stored, even if upstream was not
|
|
compiled it. This should keep some compilers from reporting
|
|
errors.
|
|
|
|
* doc/tinyproxy.conf, src/filter.c, src/grammar.y, src/scanner.l,
|
|
* src/tinyproxy.h:
|
|
Added support for conditionally using case sensitive filtering
|
|
files. Code changes from James E. Flemer.
|
|
|
|
* configure.ac:
|
|
Moved the AH_TEMPLATE() macro for the GNU regex library to out
|
|
from inside an if...fi test. Thanks to James E. Flemer for
|
|
supplying a patch.
|
|
|
|
Bumped up the version number.
|
|
|
|
* doc/tinyproxy.8:
|
|
Changed the default manual section to section 8 (administrator
|
|
commands).
|
|
|
|
* src/reqs.c (process_client_headers):
|
|
Fixed inverted anonymous header logic. Fix comes from the FreeBSD
|
|
port through James E. Flemer.
|
|
|
|
2003-01-22 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.5.2 (2003-01-22)
|
|
|
|
2002-12-04 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (strip_username_password): New function to remove any
|
|
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.
|
|
|
|
* src/tinyproxy.c, src/tinyproxy.h, src/utils.c, src/utils.h,
|
|
* src/common.h, src/conns.h, src/reqs.c:
|
|
Removed the "bool_t" type since it conflicts with the newer C
|
|
standards. The type was just replaced by "unsigned int" types.
|
|
|
|
2002-11-29 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (extract_http_url):
|
|
Removed the leading "http://" from all the tests, 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-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/tinyproxy.conf, src/grammar.y, src/reqs.c, src/scanner.l,
|
|
* src/tinyproxy.h:
|
|
Included code to disable the sending of the Via header. This is
|
|
now controlled by the ViaHeader configure directive.
|
|
|
|
2002-11-21 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/child.c (child_main):
|
|
Cleaned up the notice string to be more clear why a child is being
|
|
closed.
|
|
|
|
* src/tinyproxy.c (main):
|
|
Check to see if the PID file was created successfully, and if not
|
|
report this to the user and close the program.
|
|
|
|
* src/utils.c (create_file_safely):
|
|
Rather than exiting the program if there is an error, a negative
|
|
"error code" is returned to the program. The various callers then
|
|
need to decide what to do.
|
|
|
|
(pidfile_create): Returns an error status depending on whether the
|
|
PID file was created successfully.
|
|
|
|
2002-11-13 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (relay_connection):
|
|
Shutdown the client socket for writing once all the data has been
|
|
sent.
|
|
|
|
* src/conns.c (destroy_conn):
|
|
Added code to log any error messages when the sockets are closed.
|
|
|
|
2002-11-05 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/tinyproxy.conf:
|
|
Removed the example for the Tunnel directive since it's been removed.
|
|
|
|
2002-11-03 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac, src/grammar.y, src/reqs.c, src/scanner.l,
|
|
src/tinyproxy.c, src/tinyproxy.h:
|
|
|
|
Removed all the code supporting the TCP tunnelling feature of
|
|
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-10-17 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (relay_connection):
|
|
Ivan pointed out a bug with the code to send any
|
|
remaining data to the server when the connections are being closed.
|
|
It was a one line fix.
|
|
|
|
2002-10-03 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.c:
|
|
Fixed up the storing and sending of the internal tinyproxy logs prior
|
|
to when the log file is created. Also, the log file is created with
|
|
the proper owner permissions.
|
|
|
|
* src/log.c, src/log.h:
|
|
The internal log structure now uses a vector rather than a hash. This
|
|
change was required to actually display all the logs in the correct
|
|
order. Also, all log lines are stored internally while tinyproxy is
|
|
starting. At the appropriate point all the logs are written to the
|
|
log file.
|
|
|
|
* src/filter.c: Filtering is now case insensitive.
|
|
|
|
* src/child.c (child_main):
|
|
Check to make sure memory could be allocated to handle
|
|
the child request.
|
|
(child_main_loop): Added a call to truncate_log_file() when the log
|
|
file is to be rotated.
|
|
|
|
2002-08-09 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.5.1 (2002-08-09)
|
|
|
|
2002-07-09 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/utils.c: (create_file_safely):
|
|
(pidfile_create): Changed all the error logging to write to
|
|
standard error and then exit the program. This will prevent
|
|
segmentation fault problems from occurring because the log file
|
|
could not be created properly.
|
|
|
|
* src/heap.c (malloc_shared_memory):
|
|
Changed the static character array to include the ".XXXXXX" string
|
|
already. This saves one system call when creating a temporary
|
|
file name.
|
|
|
|
2002-07-08 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* README:
|
|
Updated the "Support" section to include a link to the tinyproxy
|
|
Bug Tracker system hosted by SourceForge.
|
|
|
|
2002-07-05 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac:
|
|
Removed the -D_REENTRANT C flag since tinyproxy is no longer a
|
|
multi-threaded program.
|
|
|
|
2002-06-27 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/child.c (child_make):
|
|
Reset the various signals to the default signal handler so that
|
|
the children can be properly destroyed.
|
|
|
|
2002-06-15 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/log.c (log_message):
|
|
Changed the code so that the log is opened, written, and closed
|
|
whenever a message is submitted. This allows the log file to be
|
|
moved away, for example a rotating the log, and yet still have the
|
|
information written to the correct file name by all the children.
|
|
|
|
* src/tinyproxy.c:
|
|
Renamed the "log_rotation_request" boolean to "received_sighup".
|
|
(main): Removed the log file creation code because it has been
|
|
moved into the log.c file. Also, removed the explicit fclose()
|
|
for the log file since it will be close when the program has
|
|
exited.
|
|
|
|
* src/child.c (child_main_loop):
|
|
Moved the filter re-initiation code into the loop. This code is
|
|
activated whenever the SIGHUP signal is received.
|
|
|
|
* src/tinyproxy.h:
|
|
Removed the "logf" FILE structure from the config structure, and
|
|
also renamed the "log_rotation_request" boolean to
|
|
"received_sighup".
|
|
|
|
* src/utils.c, src/utils.h:
|
|
Removed the rotate_log_files() function since I'm moving to an
|
|
Apache style where the _user_ needs to move the log file
|
|
themselves, and tinyproxy will continue to write to the original
|
|
name. This allows more flexibility for users to determine their
|
|
own log rotation scheme.
|
|
|
|
2002-06-07 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/filter.c, src/filter.h:
|
|
Added code to handle the "FilterDefaultDeny" directive. The
|
|
filter_set_default_policy() function is used to select the default
|
|
policy (either default allow or default deny) for the filtering
|
|
code. Also, the two filtering functions now support the policy
|
|
code.
|
|
|
|
* doc/tinyproxy.conf, src/grammar.y, src/scanner.l:
|
|
Added the "FilterDefaultDeny" directive to allow the user to
|
|
select whether the default policy of the filter is to allow
|
|
everything which isn't denied, or to deny everything which isn't
|
|
allowed.
|
|
|
|
2002-06-06 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c:
|
|
A bunch of changes from Petr Lampa that add transparent proxy
|
|
support to tinyproxy. The additional code is in
|
|
process_request(), but Petr also had to change around some of the
|
|
other functions (like process_client_headers and
|
|
handle_connection.) Note: Right now this code has not been
|
|
tested, but it is believed to work. To enable run ./configure
|
|
--enable-transparent-proxy
|
|
|
|
* src/filter.c (filter_domain):
|
|
Removed code which stripped of a port number from the host name.
|
|
The "host" variable will _always_ be just the name by the time
|
|
filter_domain() is called.
|
|
|
|
* src/tinyproxy.c (display_usage):
|
|
Added a message indicating whether transparent proxy support has
|
|
been compiled in.
|
|
|
|
* configure.ac:
|
|
Added the "--enable-transparent-proxy" flag and moved the
|
|
AH_TEMPLATE() macros to _outside_ the "if" tests.
|
|
|
|
* src/grammar.y:
|
|
Added a warning message to the Bind directive stating that it will
|
|
be ignored if "transparent proxy" has been compiled into
|
|
tinyproxy.
|
|
|
|
* src/log.c (send_stored_logs):
|
|
Actually included the code to output the stored logs. Plus, there
|
|
was a bug with how I was calling the hashmap_is_end() function.
|
|
This has now been fixed.
|
|
|
|
2002-06-05 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/Makefile.am:
|
|
Added the "filter-howto.txt" file to the distribution.
|
|
|
|
* doc/filter-howto.txt:
|
|
Added a short filtering HOWTO document from Patrick L. McGillan.
|
|
|
|
* src/child.c (child_main):
|
|
Added a DEBUG call to let me know which process has accepted a
|
|
connection. This is needed for debugging using "gdb".
|
|
|
|
* src/heap.c (malloc_shared_memory):
|
|
Removed the assert() call for shared_file since it's now a static
|
|
variable.
|
|
|
|
* src/acl.c (acl_string_processing):
|
|
Moved the string processing code out of check_acl() and into it's
|
|
own function because it now does two (2) tests. If the ACL string
|
|
is a complete host name, in other words doesn't start with a
|
|
period, than a reverse DNS look-up is done on the host name and
|
|
compared to the IP address of the client; otherwise, the normal
|
|
text string comparison is done.
|
|
(check_acl): Moved the string text out of the function and removed
|
|
some logging code by jumping to the "Deny" code at the end of the
|
|
function.
|
|
|
|
2002-05-31 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/utils.c (create_file_safely):
|
|
Added the "truncate_file" boolean flag. This is needed since I
|
|
use this function for both the log file and the pid file, and they
|
|
behave differently when tinyproxy is started.
|
|
(pidfile_create): Call create_file_safely() with a TRUE
|
|
"truncate_file" flag so that the file is emptied whenever the pid
|
|
file is needed.
|
|
|
|
* src/tinyproxy.c:
|
|
The log file is now opened in "append" mode so that you can
|
|
restart tinyproxy without losing the log file.
|
|
|
|
* src/reqs.c (process_server_headers):
|
|
Since we're stripping off the carriage return and newline, we need
|
|
to add them back on when sending the response header to the
|
|
client.
|
|
|
|
* src/sock.c (getpeer_information):
|
|
Fixed a problem retrieving the FQDN of a host because I was
|
|
passing in an incorrect parameter to gethostbyaddr(). D'oh.
|
|
|
|
2002-05-29 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/heap.c (malloc_shared_memory):
|
|
Removed the MMAP_ANON and open("/dev/zero") since they are not
|
|
portable across a while enough spectrum of machines. Right now
|
|
tinyproxy is using a "classic" temporary file method of sharing
|
|
memory. This will likely be improved in the future.
|
|
|
|
* src/child.c, src/stats.c:
|
|
Changed the tests on the return value from malloc_shared_memory()
|
|
to make tinyproxy more portable, since we can't be certain that
|
|
"if (!ret_value)" would actually detect a mmap() error.
|
|
|
|
* src/reqs.c (add_header_to_connection):
|
|
Removed the "double_cgi" boolean, since tinyproxy now ignores all
|
|
the headers after a "double CGI" situation has occurred.
|
|
(get_all_headers): Instead of dropping duplicate headers when the
|
|
"double CGI" situation occurs, tinyproxy will now drop _all_ the
|
|
headers from the "inner" HTTP response.
|
|
|
|
* src/stats.c (init_stats):
|
|
Fixed a spelling mistake where the number of bytes being allocated
|
|
was incorrect.
|
|
|
|
2002-05-28 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (add_header_to_connection):
|
|
Added a boolean to indicate that a "Double CGI" situation is in
|
|
affect. This is needed to solve a problem with some sites (like
|
|
cgi.ebay.com) where they are sending two HTTP response lines (and
|
|
associated headers) with a response.
|
|
(get_all_headers): Detect if a "Double CGI" situation has occurred.
|
|
|
|
* src/reqs.c (get_all_headers):
|
|
Added code to ignore a "response" line in a header. This was
|
|
pointed out as being a problem with eBay (cgi.ebay.com)
|
|
(process_server_headers): Added code to make skip blank lines
|
|
before a response line.
|
|
|
|
2002-05-27 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/Makefile.am:
|
|
Fixed up a problem where the tinyproxy manual page was not getting
|
|
included with the distribution.
|
|
|
|
* src/reqs.c (process_request):
|
|
Changed the filtering code around to handle both domains and URLs.
|
|
|
|
* src/tinyproxy.h:
|
|
Added into the config structure the filter_urls and
|
|
filter_extended flags.
|
|
|
|
* src/tinyproxy.c: Some spelling fixes.
|
|
|
|
* src/sock.c (opensock):
|
|
Changed a comment around to better state what the code is actually
|
|
doing.
|
|
|
|
* src/filter.c, src/filter.h:
|
|
Added a copyright for James E. Flemer since these are his changes.
|
|
(filter_init): Added code to handle both host and URLs. Also
|
|
include code to use extended regular expressions.
|
|
(filter_domain): The old filter_url function has been renamed
|
|
filter_domain().
|
|
(filter_url): This function now actually filters complete URLs.
|
|
|
|
* doc/tinyproxy.conf, src/grammar.y, src/scanner.l:
|
|
Added support for the "FilterURLs" and "FilterExtended" directives.
|
|
These directives were submitted by James Flemer for use with the new
|
|
filtering code.
|
|
|
|
* configure.ac: Updated the version number (pre 1)
|
|
|
|
* src/tinyproxy.c (display_license): Updated the copyright dates
|
|
(main): Moved the signals around so that the appropriate signal is
|
|
assigned to either the children or just the parrent process.
|
|
Updated the copyright on the file.
|
|
|
|
2002-05-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/tinyproxy.conf: Removed the "DNSserver" directives since
|
|
they're no longer needed.
|
|
|
|
* configure.ac: Removed the pthread related tests and added a test
|
|
for the sys/mman.h header (needed for shared memory.)
|
|
|
|
* src/Makefile.am: Removed the "dnsserver" program all together,
|
|
and changed the names of some of the files.
|
|
|
|
* src/heap.c, src/heap.h: Added the malloc_shared_memory() and
|
|
calloc_shared_memory() function to allow the use of shared memory
|
|
between all the children.
|
|
|
|
* src/log.h, src/reqs.c: Spelling changes (from thread to child.)
|
|
|
|
* src/grammar.y, src/scanner.l: Removed the directives for the old
|
|
DNSserver process.
|
|
|
|
* src/stats.c: The stats structure has been moved into a shared
|
|
memory block since it needs to be shared by all the children.
|
|
|
|
* src/tinyproxy.c: Removed all the code relating to the DNS API as
|
|
it's no longer needed with the new pre-forked model.
|
|
|
|
Updated the copyright dates.
|
|
|
|
(main): Moved the signals around so that they are assigned to the
|
|
appropriate process level: either the parent only, or all
|
|
processes.
|
|
|
|
* src/sock.c: Removed the DNS API calls and replaced them with the
|
|
standard gethostbyname() and gethostbyaddr() functions. This is
|
|
possible because tinyproxy now uses a standard pre-forked() method.
|
|
|
|
* src/common.h: Removed the "pthread" related includes.
|
|
|
|
* src/thread.c, src/thread.h: No longer using a threading model;
|
|
so these files have been replaced by the child.c/child.h files,
|
|
which use a pre-forked model.
|
|
|
|
* src/dnsclient.h, src/dnsserver.c, src/dnsclient.c: I didn't like
|
|
the DNS co-process design so I changed tinyproxy from a threading
|
|
model to a standard pre-forked model. This means I don't need the
|
|
DNS co-process files. Gone.
|
|
|
|
* src/child.c, src/child.h: Changed from using a threading model
|
|
to a standard pre-forked model. Therefore the thread.c file has
|
|
been removed and this file replaces it. These files are really
|
|
just the thread.c and thread.h files with all the threading stuff
|
|
replaced with fork() code. Most of the code is identical.
|
|
|
|
2002-05-24 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/buffer.c, src/conns.c, src/dnsclient.c, src/hashmap.c,
|
|
src/reqs.c, src/stats.c, src/text.c, src/thread.c,
|
|
src/tinyproxy.c, src/utils.c, src/vector.c: Fixed a tonne of
|
|
spelling mistakes.
|
|
|
|
* src/sock.c: Fixed some spelling mistakes, and removed the
|
|
getpeer_ip() and getpeer_string() functions as they've been
|
|
replaced by the getpeer_information() function.
|
|
|
|
2002-05-23 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/dnsserver.c: The DNS resolver for use by the various
|
|
tinyproxy threads. The DNS resolver was moved into a separate
|
|
function to prevent the blocking problem the 1.4.x and 1.5.0
|
|
versions experienced when a DNS query would take a long time to
|
|
return. While the query was blocking, other threads could not
|
|
establish their own queries, so they all blocked. Not so good.
|
|
|
|
* src/dnsclient.c: Introduce the new "dnsserver" API. These
|
|
functions are the client side access points.
|
|
|
|
* src/utils.c: Moved most of the code into separate files. The
|
|
debugging heap related code is now in heap.c; the text string code
|
|
is in text.c; and, the daemon related code is in daemon.c.
|
|
|
|
* src/tinyproxy.h: Moved all the system header include code into
|
|
the "common.h" file.
|
|
|
|
* src/tinyproxy.c (takesig): Added a signal handler for the
|
|
SIGCHLD signals since a child process is spawned to handle the
|
|
"dnsserver" process.
|
|
(main): Added code to start and stop the "dnsserver" process.
|
|
Switched the signal setup function to the new portable
|
|
set_signal_handler() function. Include a test to make sure the
|
|
two "dnsserver" directives are set.
|
|
|
|
* src/sock.c (lookup_domain): Rewrote the function to use the new
|
|
"dnsserver" API. This removes the need for the pthread mutex.
|
|
(getpeer_information): Replaced the two calls to getpeer_ip() and
|
|
getpeer_string() with one call to this function. Streamlines the
|
|
peer information retrieval.
|
|
|
|
Moved the safe_write(), safe_read(), readline(), write_message()
|
|
functions into a separate file: network.c
|
|
|
|
* src/reqs.c (process_request): Fixed a spelling mistake.
|
|
(add_xtinyproxy_header): The peer information is stored in the
|
|
connection, so removed the call to query it again.
|
|
(handle_connection): Pass the peer socket's information into the
|
|
connection structure for later use.
|
|
|
|
* src/grammar.y:
|
|
* src/scanner.l: Added the "DNSserverLocation" and
|
|
"DNSserverSocket" directives as they are required to properly run
|
|
the "dnsserver" DNS resolver.
|
|
|
|
* src/conns.c (initialize_conn): Added the peer's IP
|
|
dotted-decimal address and hostname to the connection structure.
|
|
It's faster to get the information _once_ and just store it for
|
|
later use.
|
|
|
|
* src/buffer.c (add_to_buffer): Changed the code to make the order
|
|
of insertion into the linked list explicit. I'm not sure if this
|
|
fixes a bug or not, but clarity is alway nice.
|
|
|
|
2002-05-13 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/buffer.h: Moved the definition of the buffer_s structure.
|
|
Data hiding is a good thing. Also, replaced the BUFFER_SIZE
|
|
macro with a buffer_size() function.
|
|
|
|
* src/vector.c: Added the "tail" pointer to make insertions more
|
|
efficient.
|
|
|
|
* src/hashmap.c (hashmap_insert): Fixed a potential SEGFAULT if
|
|
the memory for the new hashmap entry could not be allocated.
|
|
(hashmap_remove): Fixed a problem where an entry could have it's
|
|
"prev" pointer still pointing at freed memory. Thanks to Justin
|
|
Guyett for finding and fixing this problem.
|
|
(hashmap_insert): Thanks to Justin Guyett for changing the code to
|
|
use a constant time insert. Much cleaner _and_ faster.
|
|
|
|
2002-05-10 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* Makefile.am (install-data-local): Fixed up the tinyproxy.conf
|
|
test so that the file is only installed if it doesn't already
|
|
exist.
|
|
|
|
2002-05-09 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.5.0 (2002-05-09)
|
|
|
|
2002-05-08 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac: The --with-config option now supports absolute
|
|
paths. If an absolute path is given, the full directory path and
|
|
file name are extracted into their appropriate parts.
|
|
|
|
2002-05-07 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (connect_to_tunnel): Removed request logging code in
|
|
the tunnel method since it breaks the "tunnel" concept.
|
|
|
|
2002-05-02 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac: Added code to figure out exactly where to install
|
|
the configuration file.
|
|
|
|
* Makefile.am (install-data-local): Added a new install run to
|
|
install the configuration file to the location specified in
|
|
DEFAULT_CONF_FILE.
|
|
|
|
2002-04-28 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (process_client_headers):
|
|
(process_server_headers): Added more error checking code and
|
|
send HTTP errors back to the client to let them know what is
|
|
happening.
|
|
(handle_connection): If there was a server error when processing
|
|
the headers, send an error back to the client.
|
|
|
|
2002-04-27 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_pool_create): Set the thread's status
|
|
_before_ the thread is created. Thanks to Hans-Georg Bork for
|
|
solving this problem.
|
|
(thread_main): Fixed up the status setting code. Removed
|
|
duplicated code and explicitly set the status when needed.
|
|
|
|
Fixed up all the code checking the return value from the pthread
|
|
functions. These functions return 0 if OK, but a _positive_ error
|
|
code.
|
|
|
|
2002-04-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c: servers_waiting needs to be signed, since it can
|
|
go below 0 without causing a problem, but if it wraps around all
|
|
hell can break loose.
|
|
|
|
* src/reqs.c (connect_to_tunnel): Changed the len type to an
|
|
signed integer so that we can detect error conditions. Thanks to
|
|
Tom Cross for pointing out this problem.
|
|
|
|
* src/log.c (send_stored_logs): Check the return value of
|
|
hashmap_first() since it could be -1, indicating an empty hashmap.
|
|
|
|
* src/reqs.c (process_client_headers):
|
|
(process_server_headers): Test the return value of hashmap_first()
|
|
since the hashmap could be empty (returning a -1 via hashmap_first.)
|
|
|
|
2002-04-25 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (remove_connection_headers): Handle both the
|
|
Connection header _and_ the Proxy-Connection header.
|
|
(free_request_struct): Check to see if request->path is actually
|
|
allocated before trying to delete it.
|
|
|
|
* src/hashmap.c: The hashmap will now handle multiple keys with
|
|
the same value. This change was need because some sites like
|
|
Yahoo will send out multiple "Set-Cookie" lines. The
|
|
hashmap_keys() function has been removed and has been replaced
|
|
with the iterator concept. Also, a few of the functions have had
|
|
either their arguments changed, or their return type. Read the
|
|
comments in the header file for more information.
|
|
|
|
2002-04-22 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c: Renamed the LOCKing macros and added debugging
|
|
asserts to them. Also, moved the mutex initialization into the
|
|
thread_pool_create() function since I would like to use an error
|
|
checking mutex, but my machine doesn't seem to work with it. I
|
|
left the code there in case I can get it to work later.
|
|
|
|
* src/log.c (send_stored_logs): Added this function since the
|
|
log_message() function will now stored the messages if the config
|
|
file has not been processed yet. This function is called from
|
|
within main() to output the messages to the log file _after_ it's
|
|
been initialized.
|
|
|
|
* src/reqs.c (process_client_headers): Added the
|
|
"Proxy-Connection" header to the list of client headers we don't
|
|
forward to the remote machine.
|
|
|
|
Added the the "Bind" directive. This is used to indicate which IP
|
|
address in a multi-homed machine you would like tinyproxy to bind
|
|
out-going connections to. This complements the "Listen" directive
|
|
for incoming connections.
|
|
|
|
2002-04-18 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/sock.c (lookup_domain): Removed the call to inet_aton()
|
|
since the gethostbyname() will handle the dotted-decimal case
|
|
anyway.
|
|
|
|
* src/reqs.c: Added a new show_stats field in the conn_s structure
|
|
so that we will process the client's headers properly before
|
|
trying to send a HTTP response back.
|
|
|
|
* src/sock.c (getpeer_string): Removed the hstrerror() call since
|
|
it's not supported on all machines, and it's not really needed
|
|
anyway.
|
|
|
|
* src/vector.c:
|
|
* src/hashmap.c: Changed all calls to malloc, calloc, free, and
|
|
strdup to the appropriate safe variety.
|
|
(hashmap_delete): Fixed a memory leak where the maps were not
|
|
being freed properly.
|
|
|
|
* src/utils.c (debugging_strdup): Added this function to be used
|
|
by the safestrdup() macro to replace all the calls to strdup().
|
|
This should allow better tracking of the memory usage.
|
|
Also, all the debugging_* functions have had asserts added to them
|
|
to hopefully improve the quality of the code.
|
|
|
|
* src/reqs.c (get_all_headers): Fixed a memory leak since I was
|
|
not freeing the header variable, even though the hashmap makes a
|
|
copy of it. Thanks to Petr Lampa for finding this one.
|
|
|
|
* src/tinyproxy.c (takesig): Moved the filter_destroy() code out
|
|
of the signal handler and placed it inside of main(). Same
|
|
reasoning as the rotate_log_files() changes below.
|
|
|
|
* src/utils.c (rotate_log_files): Moved the log rotation code out
|
|
of the signal handler and into it's own function. Also improved
|
|
the robustness of the code. Credit to Petr Lampa for suggesting
|
|
that system calls in a signal handler is bad magic. Now the
|
|
signal handler sets a flag which is responded to inside of
|
|
thread_main_loop().
|
|
|
|
2002-04-17 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac: Added test for pthread_cancel() since it doesn't
|
|
seem to be available on every platform, even if the rest of
|
|
pthread is. Thanks to Daniel Flemming and Petr Lampa for
|
|
reporting this problem.
|
|
|
|
* src/sock.c (lookup_domain): Removed the LOOKUP_LOCK() and
|
|
LOOKUP_UNLOCK() macros and replaced them with calls the LOCK() and
|
|
UNLOCK(). The reason for this change is that I can not be sure
|
|
that calls to gethostbyname() and gethostbyaddr() will not
|
|
over-write the same static block of memory. Potential problem
|
|
pointed out by Petr Lampa.
|
|
|
|
* src/reqs.c (handle_connection): If the initialize_conn()
|
|
function fails, we need to close the socket.
|
|
|
|
* src/acl.c (check_acl): Changed the code to accept the peer IP
|
|
address and string address from the calling function (in this case
|
|
handle_connection.)
|
|
|
|
* src/thread.c (thread_main): Removed close(connfd) since it has
|
|
already been closed from within handle_connection(). Thanks to
|
|
Petr Lampa for spotting this.
|
|
(thread_pool_create): Added test to make sure pthread_create()
|
|
succeeds, and returns -1 if all the threads could not be created.
|
|
(thread_main_loop): Added test to determine if the
|
|
pthread_create() call succeeded. Warns the admin if there was a
|
|
problem, but tinyproxy will continue to run.
|
|
|
|
2002-04-15 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/anonymous.c (anonymous_insert): Now returns -1 upon error,
|
|
and 0 upon success. This simplified the code, since I don't care
|
|
whether the success is from a successful insert, or because the
|
|
string was already present in the hashmap.
|
|
(anonymous_search): The function now returns a positive number
|
|
greater than zero if the string was found, otherwise zero or a
|
|
negative value is returned. Needed to change the _one_ call to
|
|
this function to use the new return method.
|
|
|
|
* src/reqs.c (pull_client_data): Moved the common error exit
|
|
together. Better, smaller code is produced.
|
|
(add_header_to_connection): Changed the code a bit to remove the
|
|
call to strlen() and the variable associated with it.
|
|
(establish_http_connection): Changed the three calls to
|
|
write_message() and safe_write() into one combined call to
|
|
write_message().
|
|
(send_ssl_response): Replaced the three calls to safe_write() into
|
|
one call to write_message().
|
|
(extract_http_url): Moved the common error code into it's own
|
|
section and jump to it upon error.
|
|
|
|
2002-04-14 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/utils.c (chomp): Added an assert to detect a design error.
|
|
|
|
* src/reqs.c (read_request_line): Fixed the return type to be an
|
|
signed variable, so that we preserve a negative return value
|
|
upon an error.
|
|
|
|
* src/sock.c (readline): Added a test for allocating enough memory
|
|
for the whole_buffer.
|
|
|
|
* src/conns.h: Replaced the error boolean with a pointer to an
|
|
error string and error number for use in the
|
|
send_http_error_message() function.
|
|
|
|
* src/utils.c (indicate_http_error): Replaced the httperr()
|
|
function with this one. Instead of sending the error right away,
|
|
we store the error string and number and send them _after_ the
|
|
client headers have been processed.
|
|
|
|
2002-04-13 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/sock.c (opensock): If the Listen directive is in use, then
|
|
we should bind outgoing address to this address.
|
|
(listen_sock): Added error handling for the bind() and listen()
|
|
calls when setting up the listening socket.
|
|
|
|
2002-04-12 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/scanner.l:
|
|
* src/grammar.y: Added code for the ConnectPort directive.
|
|
|
|
* src/reqs.c (add_connect_port_allowed):
|
|
(check_allowed_connect_ports): Added these two functions (breaking
|
|
by no new features rule) because they fix a security problem with
|
|
tinyproxy. These functions are needed to support the ConnectPort
|
|
configuration directives, which allows the admin to specify which
|
|
ports are allowed by a CONNECT method. This is needed to prevent
|
|
people from using tinyproxy to connect to mail servers (port 25)
|
|
to do "bad things."
|
|
|
|
2002-04-11 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (remove_connection_headers): Moved all the code for
|
|
detecting and removing headers based on the Connection header into
|
|
this function.
|
|
(get_content_length): Moved the check for a Content-Length value
|
|
into it's own function.
|
|
(process_client_headers): Changed the code to use the newer
|
|
remove_connection_headers() and get_content_length() functions.
|
|
(process_server_headers): Rewrote this function to handle the
|
|
headers in a more consistent manner. The connection header is
|
|
handled correctly, and the content-length header is stored for
|
|
later use. Also, include a list of headers to not send.
|
|
(relay_connection): Added a test to use the
|
|
connptr->remote_content_length value if it's present.
|
|
(write_via_header): Moved the creation/modification of the Via
|
|
header into it's own function since it's used by both
|
|
process_client_headers() and process_server_headers(). I still
|
|
need to add code to allow you to "hide" the host information if
|
|
you so choose.
|
|
|
|
* src/conns.c: Added the remote_content_length variable to hold
|
|
the number of bytes the remove server is _supposed_ to send to
|
|
us. This fixes a problem where the remote server doesn't close
|
|
the connection after sending the body. Problem was reported by
|
|
James Flemer.
|
|
|
|
2002-04-10 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/Makefile.am: Removed the dependency on LIBOBJS and instead
|
|
replaced it with an ADDITIONAL_OBJECTS variable defined within the
|
|
configure script. This allows greater control over what is
|
|
compiled.
|
|
|
|
* configure.ac: Removed the AC_FUNC_LSTAT macro since it wants to
|
|
add lstat.o onto some machines. I don't think the test was really
|
|
needed anyway, so it's better to have it gone.
|
|
|
|
2002-04-09 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/anonymous.c: Changed this module to use the hashmap module
|
|
instead of it's own internal linked list. Common code is good. :)
|
|
|
|
* src/reqs.c (process_client_headers): Fixed the XTINYPROXY_ENABLE
|
|
section to actually check if xtinyproxy has been configured.
|
|
(compare_headers): Removed this function since it's been replaced
|
|
by a call to anonymous_search().
|
|
|
|
* src/acl.c (make_netmask): James Flemer cleaned up the
|
|
make_netmask() function to remove the big static table. Much
|
|
nicer now.
|
|
|
|
* configure.ac: The configure script now doesn't include a check
|
|
for the malloc.h header if tinyproxy is being compiled on an
|
|
OpenBSD machine. I might actually just remove the malloc.h header
|
|
since the malloc/calloc/realloc/free functions are supposed to be
|
|
in the stdlib.h header. I also changed the LIBOBJS="" lines to
|
|
AC_LIBOBJ() macro so conform to the new Autoconf rules.
|
|
|
|
* src/hashmap.c:
|
|
* src/vector.c: Cleaned up the include headers to _hopefully_ be
|
|
more portable. Who knows though.
|
|
|
|
2002-04-08 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_main_loop): Moved the looping code into
|
|
this function from the main() function. Just a bit of clean up.
|
|
(thread_main): Changed the default cancellation point to
|
|
asynchronous, which means immediately. This should fix up the
|
|
problem where the threads would not free correctly.
|
|
|
|
2002-04-07 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/hashmap.c:
|
|
* src/vector.c: These two "modules" are used within the reqs.c
|
|
file to better handle the headers from the clients.
|
|
|
|
* src/reqs.c: Tonnes of functions changed. The most significant
|
|
is the process_client_header() function which is now using the
|
|
hashmap functions to handle the Connection header more
|
|
accurately. With the addition of the add_header_to_connection(),
|
|
get_all_headers(), and remove_connection_headers() function, the
|
|
compare_header() function is _vastly_ simplified. Just read the
|
|
comments in the source itself for more information.
|
|
|
|
* src/conns.c: Cleaned up the initialize_conn and destroy_conn
|
|
functions to better handle error conditions.
|
|
|
|
2002-04-02 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac: Patch from James Flamer which fixes a problem with
|
|
the --disable-* options and also prevents -lc_r from being
|
|
included on FreeBSD machines.
|
|
|
|
2002-01-13 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_kill_threads): Added a function to
|
|
explicitly go through all the active threads and kill them.
|
|
|
|
2002-01-07 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_main): Added code to check if tinyproxy is
|
|
being killed by the user.
|
|
|
|
2001-12-28 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_main): Added code to detect errors in the
|
|
accept() function.
|
|
|
|
2001-12-23 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/utils.c (send_http_message): Use the write_message()
|
|
function for creating and sending the headers to the client.
|
|
(httperr): Use similar code to write_message() to create the body
|
|
of the error message. I use this so that there is no limit to the
|
|
size of the error message (better coding. :) I'm still trying to
|
|
figure out how to combine this code with write_message() into a
|
|
common function.
|
|
|
|
* src/sock.c (write_message): Moved write_message() into sock.c
|
|
since it's now accessed by more than just the reqs.c file.
|
|
|
|
* src/tinyproxy.c (main): Made the error log for the idle time
|
|
setting more verbose so that it's explains the reasoning
|
|
better. Also, changed the level to WARNING.
|
|
|
|
* src/reqs.c (process_client_headers): Cleaned up the code to send
|
|
the Via header by using the write_message() function.
|
|
|
|
2001-12-22 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.h: Add a test for the MSG_NOSIGNAL define, so it's
|
|
apparently a non-standard extension to send(). Also, moved the
|
|
<sys/resource.h> include after the includes for the various time
|
|
include files.
|
|
|
|
2001-12-19 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (write_message): Encapsulate code to handle sending
|
|
snprintf() built lines to a file descriptor.
|
|
(process_server_headers): Removed duplicate code and used the
|
|
return value from readline() instead of recalculating it by
|
|
strlen().
|
|
|
|
2001-12-18 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (connect_to_tunnel): Moved the tunnel connection code
|
|
into its own function.
|
|
(TUNNEL_CONFIGURED): Added a macro to help simplify the tests for
|
|
tunneling support.
|
|
|
|
2001-12-17 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (handle_connection): Also log the request when
|
|
tinyproxy is in tunneling mode. This was implemented by
|
|
Hans-Georg Bork.
|
|
|
|
2001-12-16 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/sock.c (safe_write): Add assert() calls to make sure the
|
|
arguments are sane.
|
|
|
|
* src/reqs.c (read_request_line): Ignore any blank lines if
|
|
tinyproxy is expecting a request line. This is suggested by
|
|
RFC2616 for a tolerant application.
|
|
(UPSTREAM_CONFIGURED): Added a macro to encapsulate the test for
|
|
upstream proxy support.
|
|
(establish_http_connection): Lines are now composed in a buffer
|
|
and then sent to the safe_write() function. This was done because
|
|
some sites (like www.heise.de) do not like having the request
|
|
line sent in pieces.
|
|
|
|
2001-12-15 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/sock.c (safe_write): In addition to handling "interruption"
|
|
errors, continue sending the buffer until it has been fully sent
|
|
or a fatal error occurred.
|
|
|
|
* src/anonymous.c: Removed the calls to the ternary tree and just
|
|
use a basic linked list. The ternary tree might have been slightly
|
|
faster, but since tinyproxy is only dealing with a "few" anonymous
|
|
headers the ternary tree code was _way_ overkill.
|
|
|
|
* src/sock.c (lookup_domain): Removed the DNS cache since
|
|
according to RFC2616 a HTTP client should not cache an address if
|
|
the client doesn't also respect the TTL value. tinyproxy does not
|
|
have a complete DNS resolver. Additionally, a caching DNS system
|
|
is an administrator decision which should not be included in
|
|
tinyproxy.
|
|
|
|
2001-11-25 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/buffer.c (makenewline): This function now copies the actual
|
|
data itself. This means any malloc() and free() functions are
|
|
closer together, instead of malloc()ing the data and then not
|
|
free()ing it.
|
|
(add_to_buffer): Add a new "line" to the buffer. I'm trying to
|
|
have more of the data go through the buffering code. Basically the
|
|
safe_write() function should only be called when the data needs to
|
|
be sent _now_.
|
|
(read_buffer): Fixed the code so that buffering _actually_
|
|
happens. :) The code will now buffer up to MAXBUFFSIZE bytes
|
|
(which is currently 48 KB.)
|
|
|
|
2001-11-24 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.ac: Changed the extension of the configure.in to match
|
|
the new standard for the autoconf program. Also, replaced all the
|
|
obsolete macros with the new standard. autoconf 2.52 is now the
|
|
minimum required to process this file.
|
|
|
|
2001-11-23 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/sock.c (readline): Limit the maximum size of the buffer so
|
|
that we don't create a situation where tinyproxy could use all the
|
|
memory in a system. Right now we're limiting a line to a maximum
|
|
of 128KB.
|
|
|
|
2001-11-21 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.3 (2001-11-21)
|
|
|
|
* src/utils.c (chomp): Replaced the "trim()" function in reqs.c
|
|
with the new chomp() function which has similar semantics as the
|
|
chomp() function in Perl.
|
|
|
|
* src/sock.c (readline): Replaced the old function with a new
|
|
version that will allow an arbitrary long string.
|
|
|
|
2001-11-03 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/buffer.c (remove_from_buffer): This function is never
|
|
called with an empty buffer, so removed some inaccurate code which
|
|
would have removed an invalid line from the buffer if it was
|
|
empty. What was I thinking when I wrote that? Good thing is was
|
|
never called.
|
|
(add_to_buffer): Add a bit of a sanity check to make sure the
|
|
buffer structure hasn't been messed up some how.
|
|
|
|
2001-11-02 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/acl.c (insert_acl): Tightened the check regarding whether an
|
|
ACL is a string or a numeric address.
|
|
|
|
2001-10-25 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* Moved all the system header included into the tinyproxy.h header
|
|
and changed all the other files to include it. This should
|
|
centralize the header dependency issue into one file.
|
|
|
|
* src/conns.c: Brought back the conns.{c,h} files which contain
|
|
the connection structure definition plus the creation/destruction
|
|
routines.
|
|
|
|
* src/reqs.c (process_client_headers): Selectively send headers
|
|
based on whether we're using an upstream with a CONNECT
|
|
request. The short answer: all methods work correctly with
|
|
Upstream proxying and normal proxying.
|
|
|
|
* src/tinyproxy.h: Added a upstream flag to the conn_s structure
|
|
so we can figure out when to send headers and when not to send
|
|
headers. This is extremely important when trying to do upstream
|
|
proxying of the CONNECT method.
|
|
|
|
* src/reqs.c (relay_connection): Empty the contents of both
|
|
buffers when either socket is closed. This is more in line with
|
|
what a tunnel should do. Since either end could close with
|
|
information still in the buffers.
|
|
(connect_to_upstream): Cleaned up the code to re-use the
|
|
establish_http_connection() function.
|
|
|
|
* src/buffer.c (readbuff): Changed the memory allocation to 2K
|
|
from 48K since an Ethernet connection is usually around 1400
|
|
bytes. There's little point in allocating a huge amount of memory,
|
|
only to shrink the memory map in the next breath.
|
|
|
|
2001-10-22 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/sock.c (getpeer_string): Added logging in case the
|
|
gethostbyaddr() function fails.
|
|
|
|
* src/reqs.c (free_request_struct): Added a test to return if the
|
|
pointer is NULL.
|
|
(handle_connection): Cleaned up the code to better handle the
|
|
cause where the request is NULL.
|
|
|
|
* src/sock.c (getpeer_string):
|
|
* src/sock.c (getpeer_ip): When the DNS lookup fails, we need to
|
|
initialized the user's buffer to an empty string; otherwise, the
|
|
user's buffer will contain garbage and cause a SEGFAULT. Thanks to
|
|
Jeffrey Wheelhouse for finding this bug.
|
|
|
|
2001-10-18 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (connect_to_upstream): Moved the code needed to
|
|
rebuild the request line when using the upstream feature into it's
|
|
own function. Simplifies the handle_connection() function.
|
|
|
|
* src/buffer.c (readbuff): Fixed a problem where a full buffer
|
|
would cause the connection to be closed. Thanks to Jeffrey
|
|
Wheelhouse for helping me find this problem.
|
|
|
|
2001-09-29 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.in: Uses any CFLAGS variable passed to the configure
|
|
script. Also, '-g -Wall' is _not_ enabled unless debugging support
|
|
is compiled in. Use --enable-static to compile a statically linked
|
|
tinyproxy.
|
|
|
|
2001-09-16 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.c (main): Don't allow Tunnel and Upstream
|
|
directives to be both set in the configuration file.
|
|
|
|
* src/reqs.c (handle_connection): Added support for an upstream
|
|
proxy. What we used to use for our upstream proxy has now become a
|
|
TCP tunnel. The difference is that the upstream proxy will do
|
|
domain filtering, anonymous headers, etc. while the TCP tunnel
|
|
just sends the data without any processing. You can not have both
|
|
at the same time.
|
|
|
|
* src/utils.c (send_http_message): Instead of creating a block of
|
|
memory with the output message, just send it to the client. We
|
|
still need to process the various headers from the client, but it
|
|
will pick up the error when it's done talking to the proxy. Uses
|
|
less memory.
|
|
|
|
* src/sock.c: Moved safe_write() and safe_read() into sock.c since
|
|
I'm using them in more than just reqs.c.
|
|
|
|
2001-09-15 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* Removed all the log_message()s which reported that memory could
|
|
not be allocated. There's little point in reporting a memory
|
|
shortage since the computer will probably crash soon anyway.
|
|
|
|
* src/reqs.c (process_request): Added the code for showing the
|
|
stats back into the function.
|
|
|
|
* src/tinyproxy.c (takesig): When SIGHUP is received the log file
|
|
is rotated instead of being truncated. The rotated log has ".rot"
|
|
appended to the file name.
|
|
|
|
2001-09-14 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/uri.c: Removed this file since it's no longer needed.
|
|
|
|
* src/reqs.c: Split the process_method() function into separate
|
|
smaller functions. Added support for tunnel SSL connections.
|
|
|
|
* src/tinyproxy.h: Added a field to handle SSL connections.
|
|
|
|
2001-09-11 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/reqs.c (process_method): Fixed a memory leak due to the
|
|
change to heap allocation if there is an error.
|
|
|
|
* src/utils.c (debugging_realloc): Added the debugging version of
|
|
realloc().
|
|
|
|
* src/thread.c (THREAD_STACK_SIZE): Changed a threads stack size
|
|
to 32KB from 128KB.
|
|
|
|
* src/reqs.c (process_method):
|
|
* src/reqs.c (pull_client_data):
|
|
* src/reqs.c (process_client_headers):
|
|
* src/reqs.c (process_server_headers):
|
|
* src/buffer.c (readbuff): Using heap allocated memory for the
|
|
buffer rather than stack memory.
|
|
|
|
* src/uri.c (explode_uri): Fixed a potential memory leak where the
|
|
regular expression structure might not be freed if there was an
|
|
error in the expression.
|
|
|
|
2001-09-08 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/ternary.c (BUFARRAY & BUFSIZE): Lowered the values to help
|
|
lower memory usage. A ternary tree will now max out at 4MB.
|
|
|
|
* src/utils.c: Added debugging_(malloc|calloc|free) to help track
|
|
down memory leaks.
|
|
|
|
* src/dnscache.c (DNS_INSERT_LIMIT): Lower the number of
|
|
insertions before the ternary tree is rebuilt.
|
|
|
|
* src/thread.c (thread_main): Fixed a memory leak.
|
|
|
|
2001-09-07 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_pool_create): Explicitly set the detach
|
|
state for threads to PTHREAD_CREATE_DETACHED.
|
|
|
|
* Various error message clean up.
|
|
|
|
* src/thread.c (thread_main): Add locking around the
|
|
servers_waiting thread.
|
|
|
|
2001-09-06 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_main): The code which closes a thread
|
|
doesn't actually work correct so I've moved the test to just after
|
|
a thread has handled a connection. The code still needs to be
|
|
cleaned up to handle locking.
|
|
|
|
* src/ternary.c (ternary_destroy): Fixed the deletion code as it
|
|
would cause a segfault if it was every called. Also, lowered the
|
|
sizes of the arrays for better memory usage.
|
|
|
|
* src/dnscache.c: After a certain number of insertions delete the
|
|
DNS cache and free the memory. The reason for this is that a
|
|
ternary tree doesn't lend itself to removing individual
|
|
entries. It's just easier (and cleaner) to simply delete the cache.
|
|
|
|
2001-09-04 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.2.2 (2001-09-04)
|
|
|
|
* src/reqs.c (process_client_headers): Moved the skip header test
|
|
in front of the compare_header() function.
|
|
|
|
* src/ternary.c (ternary_search): Switched to doing case
|
|
insensitive searching.
|
|
|
|
* src/log.c (log_message): Thanks to NeilK for finding and fixing
|
|
a problem with the syslog code which can lead to a format string
|
|
attack.
|
|
|
|
2001-08-30 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/dnscache.c: Removed the insert_data() function and replaced
|
|
the "replace" logic in dns_insert() with a call to
|
|
ternary_replace(). This fixes the segmentation fault problem which
|
|
I introduced when I "tried" to fix the memory leak. Also changed
|
|
the LOCKing to be around the entire dnscache() again since I still
|
|
need to work out how locking should be done when accessing the
|
|
ternary tree.
|
|
|
|
* src/ternary.c (ternary_insert_replace): Renamed ternary_insert()
|
|
to ternary_insert_replace() and added a extra argument. The
|
|
function can now "replace" data already in the tree without
|
|
causing a memory leak. Added two DEFINES to make coding easier:
|
|
ternary_insert() and ternary_replace() which both call this
|
|
function with the right arguments.
|
|
|
|
* src/utils.c: Removed xstrstr() since it was only used in one
|
|
place, and could be safely replaced with strstr. I can't even
|
|
remember why we had this function to begin with.
|
|
|
|
* src/reqs.c (compare_header): Removed the call to xstrstr() since
|
|
it's been removed from the source.
|
|
|
|
2001-08-29 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.2 (2001-08-29)
|
|
|
|
2001-08-28 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.1.5 (2001-08-28)
|
|
|
|
* src/log.c (log_message): Handle a debug enabled compile better.
|
|
|
|
* src/dnscache.c (dns_insert): Fixed a memory leak if the same
|
|
information was inserted into the ternary tree twice.
|
|
|
|
* configure.in: Fixed the test regarding the REGEX library. Even
|
|
if a working REGEX was found on the system, the included REGEX was
|
|
being compiled in. Double Doh.
|
|
|
|
* src/log.c (log_message): Finally got the log levels worked out
|
|
properly. I've tested all the levels and they now produce the
|
|
correct output.
|
|
|
|
2001-08-27 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.1.4 (2001-08-27)
|
|
|
|
* src/reqs.c (trim): Moved the trim functionality out of
|
|
process_request() and added a test to make sure we don't back the
|
|
pointer past the beginning of the string.
|
|
|
|
* src/log.c (log_message): Fixed a problem where the connect
|
|
messages were not getting through if the log level was set to
|
|
INFO.
|
|
|
|
* src/tinyproxy.h: Moved some of the includes around so that
|
|
tinyproxy can compile correctly on FreeBSD systems.
|
|
|
|
* src/thread.c: Added the pthread_attr_t structure since we're
|
|
going to be using a non-default sized stack because some OS's have
|
|
a stack size which is too small.
|
|
|
|
* configure.in: Added a test for detecting FreeBSD's -pthread
|
|
mechanism for telling GCC to use POSIX threading.
|
|
|
|
* src/utils.c (httperr): Fixed the MIME type. Should be be
|
|
text/html, not text/mime. Fix one bug, add two new ones. Sigh.
|
|
|
|
2001-08-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.1.3 (2001-08-26)
|
|
Released tinyproxy 1.4.1 (2001-08-26)
|
|
|
|
* src/utils.c (httperr): Split the headers from the actual message
|
|
and include more headers like Date, Server, Content-Length,
|
|
etc. Also set the type for the error message to const char*.
|
|
|
|
* src/reqs.c (process_method): Fixed a SEGV problem if an invalid
|
|
request was submitted.
|
|
|
|
* Makefile.am (EXTRA_DIST): Don't include ./reconf in the
|
|
tarball.
|
|
|
|
* src/log.c (log_message): Fixed a problem with the new LOG_CONN
|
|
log level.
|
|
|
|
* configure.in: The debugging code was being included even on
|
|
non-debugging builds.
|
|
|
|
* src/anonymous.c (anonymous_insert): Moved the creation of the
|
|
search tree into the anonymous_insert() function. Therefore, the
|
|
search tree is _not_ created until the first insertion. This
|
|
should also fix a bug in main() where I was inserting headers
|
|
before creating the search tree. Doh.
|
|
(is_anonymous_enabled): Removed the tests for config.anon and
|
|
replaced it with a function call which returns a BOOL.
|
|
|
|
* Spell checked the ChangeLog file! :)
|
|
|
|
2001-08-25 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/thread.c (thread_main): Thanks to Hans-Georg Bork for
|
|
fixing a problem where the status of the threads was not
|
|
going back to T_WAITING if MaxRequestsPerChild was 0. Also, fixed
|
|
a problem with the looping system where the Debian
|
|
start-stop-daemon script would not stop all the threads if new
|
|
threads had been created.
|
|
|
|
* src/log.h (LOG_CONN): Added the LOG_CONN log level. This is less
|
|
verbose than LOG_INFO.
|
|
|
|
* doc/tinyproxy.8: Added the -l option to the list of command line
|
|
options.
|
|
|
|
* src/anonymous.c (anon_insert): Fixed a bug where anonymous
|
|
filtering wasn't working even if it was specified in the
|
|
configuration file.
|
|
|
|
2001-07-02 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.c (versiondisp): Added George Talusan to the
|
|
copyright message. Also now include the target system name to the
|
|
version message.
|
|
|
|
2001-06-24 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
Released tinyproxy 1.4.0 (2001-06-24)
|
|
|
|
2001-06-06 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.in: Total reorganization.
|
|
|
|
2001-06-04 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.in: Remove the --with-* for port, logfile, and user
|
|
since the configuration file handles this now. Fixed a problem
|
|
where we were testing for the libraries correctly, but not
|
|
actually including them in the linking.
|
|
|
|
2001-06-02 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* doc/tinyproxy.conf: Clarified the LogLevel directive.
|
|
|
|
* configure.in: Fixed up the tests for libsocket, libnsl, and
|
|
libresolv. Also improved the test for the yacc program since I
|
|
used bison 1.25 to originally write it. Updated the list of
|
|
headers to look for when configuring. Bumped up the version.
|
|
|
|
2001-06-01 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* configure.in: Fixed a problem when using the --with-port= config
|
|
|
|
* src/tinyproxy.c (main): Change the logging level from LOG_EMERG
|
|
(which doesn't exist anymore) to LOG_CRIT.
|
|
|
|
* src/scanner.l: Added the strings in the data structure to handle
|
|
the LogLevel switch.
|
|
|
|
* src/log.c (set_log_level): Code for handling selective logging.
|
|
|
|
* src/grammar.y: Added the tokens and code for handling the
|
|
LogLevel switch in the configuration file.
|
|
|
|
* configure.in: Added a test for the resolv library for the
|
|
gethostby* functions. Also bumped up the pre-version.
|
|
|
|
2001-05-26 Robert James Kaes <rjkaes@flarenet.com>
|
|
|
|
* src/tinyproxy.c (main): Added code to stop the creation of core
|
|
files.
|
|
|
|
* src/reqs.c (process_method): Fixed a memory leak.
|
|
(relay_connection): Cleaned up the code to remove some unneeded
|
|
variables and removed redundant code.
|
|
|
|
* src/log.c (log_message): Renamed "log()" function to
|
|
log_message().
|
|
|
|
* src/dnscache.c (new_dnscache):
|
|
* src/anonymous.c (new_anonymous): Fixed the return type.
|
|
|
|
2001-03-26 00:00 rjkaes
|
|
|
|
Released tinyproxy 1.3.3b (2001-03-26)
|
|
|
|
2001-01-17 00:00 rjkaes
|
|
|
|
Released tinyproxy 1.3.3a (2001-01-17)
|
|
|
|
2001-01-15 12:13 rjkaes
|
|
|
|
* configure.in: Bumped up the pre version number
|
|
|
|
2001-01-15 12:11 rjkaes
|
|
|
|
* ChangeLog, src/reqs.c, src/stats.c: Fixed more potential overflow
|
|
bugs.
|
|
|
|
2001-01-15 12:06 rjkaes
|
|
|
|
* ChangeLog, src/utils.c: Fixed a potential security bug in
|
|
http_err. There was a possibility of a heap overflow exploit.
|
|
|
|
2001-01-02 14:30 rjkaes
|
|
|
|
* src/scanner.l: Fixed a bug where the ':' character was not being
|
|
properly detected.
|
|
|
|
2000-12-09 15:03 rjkaes
|
|
|
|
* configure.in: Rolling out the first pre to 1.4.0
|
|
|
|
2000-12-08 21:35 rjkaes
|
|
|
|
* src/thread.c: Implemented the MaxRequestsPerChild directive.
|
|
|
|
2000-12-07 22:35 rjkaes
|
|
|
|
* ChangeLog: Updated changelog
|
|
|
|
2000-12-07 22:35 rjkaes
|
|
|
|
* src/: thread.c, tinyproxy.c: Fixed a problem with polling for the
|
|
number of active threads. No longer polls. :)
|
|
|
|
2000-11-22 23:49 rjkaes
|
|
|
|
* src/ternary.c: Fixed MACRO error.
|
|
|
|
2000-11-22 23:46 rjkaes
|
|
|
|
* src/tinyproxy.c: Fixed spelling mistake.
|
|
|
|
2000-11-22 23:46 rjkaes
|
|
|
|
* src/: filter.c, filter.h, reqs.c: Changed the filter_host command
|
|
to filter_url.
|
|
|
|
2000-10-23 17:47 rjkaes
|
|
|
|
* ChangeLog: Updated Information.
|
|
|
|
2000-10-23 17:46 rjkaes
|
|
|
|
* src/ternary.c: In the Key Found code, don't display the string in
|
|
the debug code since it doesn't exist anymore when we display it.
|
|
Doh!
|
|
|
|
2000-10-23 17:44 rjkaes
|
|
|
|
* src/tinyproxy.c: Added the initialization section for the DNS and
|
|
Anonymous sub systems.
|
|
|
|
2000-10-23 17:43 rjkaes
|
|
|
|
* src/: anonymous.c, anonymous.h: Added the new_anonymous
|
|
initialize routine
|
|
|
|
2000-10-23 17:42 rjkaes
|
|
|
|
* src/: dnscache.c, dnscache.h: Added the new_dnscache routine to
|
|
initialize the Ternary tree. Also, removed the garbage collection
|
|
routine.
|
|
|
|
2000-09-26 01:00 rjkaes
|
|
|
|
* ChangeLog: Updated documentation.
|
|
|
|
2000-09-26 00:59 rjkaes
|
|
|
|
* src/dnscache.c: Fixed the insert function to handle a failed
|
|
insert properly.
|
|
|
|
2000-09-26 00:59 rjkaes
|
|
|
|
* src/: ternary.c, ternary.h: Added the TE_EXISTS return code, and
|
|
cleaned up the ternary_destroy function.
|
|
|
|
2000-09-26 00:58 rjkaes
|
|
|
|
* src/: tinyproxy.h, utils.h: Moved the safefree() macro to the
|
|
tinyproxy.h header.
|
|
|
|
2000-09-26 00:57 rjkaes
|
|
|
|
* src/: acl.c, reqs.c: Updated the free() calls to the safefree()
|
|
calls.
|
|
|
|
2000-09-21 12:58 rjkaes
|
|
|
|
* ChangeLog: Updated documentation.
|
|
|
|
2000-09-21 12:57 rjkaes
|
|
|
|
* src/tinyproxy.c: There is no LOG_EMERG level, so changed to
|
|
LOG_CRIT.
|
|
|
|
2000-09-21 12:53 rjkaes
|
|
|
|
* src/: log.c, log.h: Added the LOG_NOTICE level.
|
|
|
|
2000-09-15 16:58 rjkaes
|
|
|
|
* src/: grammar.c, grammar.h, scanner.c: These are generated by
|
|
grammar.y and scanner.l respectively, don't include them in the
|
|
CVS.
|
|
|
|
2000-09-15 16:57 rjkaes
|
|
|
|
* src/stamp-h.in: Automatically generated file.
|
|
|
|
2000-09-15 16:55 rjkaes
|
|
|
|
* src/Makefile.in, doc/Makefile.in: Don't include automatically
|
|
generated files.
|
|
|
|
2000-09-15 16:53 rjkaes
|
|
|
|
* install-sh, missing, mkinstalldirs: Don't included automatically
|
|
generated files.
|
|
|
|
2000-09-15 16:52 rjkaes
|
|
|
|
* Makefile.in, config.guess, config.sub, configure: Flipping again.
|
|
:) Don't include any of the automatically generated stuff.
|
|
|
|
2000-09-14 12:41 rjkaes
|
|
|
|
* ChangeLog, configure.in, src/tinyproxy.h: Need to do a check for
|
|
the <stdint.h> header since it's not a standard header available on
|
|
all systems.
|
|
|
|
2000-09-12 14:10 rjkaes
|
|
|
|
* Makefile.in, doc/Makefile.in, src/Makefile.in: Again, needed for
|
|
configure script. Automatically built by ./reconf
|
|
|
|
2000-09-11 20:45 rjkaes
|
|
|
|
* config.guess, config.sub: Needed for running configure.
|
|
Automatically built with reconf
|
|
|
|
2000-09-11 20:43 rjkaes
|
|
|
|
* configure: Can be made from configure.in (and should be), but I
|
|
want to be able to check out the source and immediately configure
|
|
it.
|
|
|
|
2000-09-11 20:22 rjkaes
|
|
|
|
* doc/tinyproxy.conf: Example tinyproxy configuration file.
|
|
|
|
2000-09-11 20:21 rjkaes
|
|
|
|
* ChangeLog: We all know what this is. :)
|
|
|
|
2000-09-11 20:20 rjkaes
|
|
|
|
* acinclude.m4: A M4 macro for finding the various types on the
|
|
system (typedefs, etc.)
|
|
|
|
2000-09-11 20:18 rjkaes
|
|
|
|
* Makefile.am, acconfig.h, configure.in: New defaults, and better
|
|
checking for various features needed by tinyproxy. Looks like fun!
|
|
:)
|
|
|
|
2000-09-11 20:16 rjkaes
|
|
|
|
* AUTHORS, BUGS, INSTALL, README, THANKS: Just updating the
|
|
documentation.
|
|
|
|
2000-09-11 20:12 rjkaes
|
|
|
|
* src/: grammar.c, grammar.h, grammar.y, scanner.c, scanner.l:
|
|
These all handle reading the tinyproxy configuration file.
|
|
|
|
2000-09-11 20:10 rjkaes
|
|
|
|
* src/: ternary.c, ternary.h: Generalized the ternary code which
|
|
was already being used in anonymous.* now it can be used (and is
|
|
used) in both anonymous and dnscache
|
|
|
|
2000-09-11 20:08 rjkaes
|
|
|
|
* src/: acl.c, acl.h: Improved access control semantics. Allows
|
|
for a finger control for allowing and denying hosts.
|
|
|
|
2000-09-11 20:07 rjkaes
|
|
|
|
* src/: thread.c, thread.h: tinyproxy now uses a pool of threads to
|
|
handle connections. All the work for creating new threads, deleting
|
|
old thread, and generally managing the pool is done here.
|
|
|
|
2000-09-11 20:06 rjkaes
|
|
|
|
* src/: stats.c, stats.h: This module handles the various stats
|
|
relating to tinyproxy's functionality.
|
|
|
|
2000-09-11 20:04 rjkaes
|
|
|
|
* src/: reqs.c, reqs.h: MAJOR RE-WRITE! Read the ChangeLog and look
|
|
at the source. It's shorter than re-documenting the changes here. :)
|
|
|
|
2000-09-11 20:03 rjkaes
|
|
|
|
* src/: tinyproxy.c, tinyproxy.h: Fixed the change user/group
|
|
ability. Log when tinyproxy is using default values rather than
|
|
specific ones. Cleaned up the command line arguments since
|
|
tinyproxy now uses a configuration file. Removed the USR1 signal
|
|
and added the thread creation code.
|
|
|
|
2000-09-11 20:01 rjkaes
|
|
|
|
* src/: utils.c, utils.h: Removed the xmalloc() and xstrdup()
|
|
functions. Added the pidfile_create() function. Added the OpenBSD
|
|
style strlcat() and strlcpy() functions.
|
|
|
|
2000-09-11 19:57 rjkaes
|
|
|
|
* src/: uri.c, uri.h: Switched to the new logging style and
|
|
replaced the xmalloc() with straight malloc().
|
|
|
|
2000-09-11 19:56 rjkaes
|
|
|
|
* src/: sock.c, sock.h: Needed locking in getpeer_string(). Added
|
|
mutex locking around the dnscache() call. Removed the global
|
|
sockaddr and setup_fd variables. Added the socket_blocking() and
|
|
socket_nonblocking() functions. Gutted the readline() function and
|
|
replaced it with something similar to the 1.0 version. :)
|
|
|
|
2000-09-11 19:50 rjkaes
|
|
|
|
* src/regexp.h: Moved back to the <config.h> for autoconf defines.
|
|
|
|
2000-09-11 19:47 rjkaes
|
|
|
|
* src/: log.c, log.h: Cleaned up the logging format, and also
|
|
included logging levels (which are similar to the syslogd format.)
|
|
|
|
2000-09-11 19:46 rjkaes
|
|
|
|
* src/gnuregex.c: Not using <defines.h> for autoconf anymore, so
|
|
move back to the <config.h> format.
|
|
|
|
2000-09-11 19:43 rjkaes
|
|
|
|
* src/: filter.c, filter.h: Just using standard malloc() since the
|
|
xmalloc() didn't really add anything useful to the command.
|
|
|
|
2000-09-11 19:42 rjkaes
|
|
|
|
* src/: dnscache.c, dnscache.h: Removed the custom hash routines.
|
|
Using the ternary module instead.
|
|
|
|
2000-09-11 19:41 rjkaes
|
|
|
|
* src/: buffer.c, buffer.h: Cleaned up the source so that the
|
|
internal structure is no exposed by the buffer.h header.
|
|
|
|
2000-09-11 19:38 rjkaes
|
|
|
|
* src/: anonymous.c, anonymous.h: Removed the ternary tree code
|
|
from these files and made it a separate module.
|
|
|
|
2000-09-11 19:37 rjkaes
|
|
|
|
* src/Makefile.am: Modified to include all the files needed to
|
|
build tinyproxy, plus the special targets for building the LEX and
|
|
YACC files. (Also included the GNU license.)
|
|
|
|
2000-09-11 19:33 rjkaes
|
|
|
|
* doc/tinyproxy.8: Since the tinyproxy program has changed, the
|
|
manual had to change as well. Documents all the command line
|
|
arguments, though I think I need to document the configuration file
|
|
as well.
|
|
|
|
2000-09-11 19:32 rjkaes
|
|
|
|
* doc/: Makefile.am, TODO: Updated to reflect the new reality of
|
|
the tinyproxy source code.
|
|
|
|
2000-09-11 19:31 rjkaes
|
|
|
|
* doc/CONFIG: This was the layout for the purposed config file.
|
|
This is no more.
|
|
|
|
2000-09-11 19:27 rjkaes
|
|
|
|
* INSTALL.configure: This was the generic INSTALL file, but the
|
|
INSTALL file itself is again the generic file. :)
|
|
|
|
2000-09-11 19:24 rjkaes
|
|
|
|
* src/: config.h, conns.c, conns.h: These files are no longer used
|
|
within tinyproxy.
|
|
|
|
2000-06-06 13:58 rjkaes
|
|
|
|
* ChangeLog: Reflect changes made in source.
|
|
|
|
2000-06-06 13:56 rjkaes
|
|
|
|
* doc/tinyproxy.8: Fixed the links for finding tinyproxy. Thanks to
|
|
Simon Baker for pointing this out.
|
|
|
|
2000-04-26 12:31 rjkaes
|
|
|
|
* ChangeLog, src/dnscache.c, src/uri.c: Reorganized (or added) the
|
|
#include <sys/types.h> line so tinyproxy would compile cleanly on
|
|
FreeBSD systems.
|
|
|
|
2000-04-03 00:00 rjkaes
|
|
|
|
Released tinyproxy 1.3.3 (2000-04-03)
|
|
|
|
2000-03-31 17:55 rjkaes
|
|
|
|
* ChangeLog, src/reqs.c: Fixed a bug with the path in clientreq. If
|
|
the path was empty it caused a malformed request to be sent.
|
|
|
|
2000-03-31 15:15 rjkaes
|
|
|
|
* ChangeLog: A whole whack of changes and bug fixes.
|
|
|
|
2000-03-31 15:14 rjkaes
|
|
|
|
* src/Makefile.am: Added a line for the anonymous.* files.
|
|
|
|
2000-03-31 15:14 rjkaes
|
|
|
|
* src/config.h: Changed the socket time out to 10 secs.
|
|
|
|
2000-03-31 15:13 rjkaes
|
|
|
|
* src/reqs.c: Updated the anonheader function to use the new
|
|
anonymous API. Removed the hack for the POST method in clientreq.
|
|
|
|
2000-03-31 15:10 rjkaes
|
|
|
|
* src/sock.c: Completely rewrote the readline function.
|
|
|
|
2000-03-31 15:09 rjkaes
|
|
|
|
* src/: buffer.c, buffer.h: Added the working_* fields as a scratch
|
|
pad for readline().
|
|
|
|
2000-03-31 15:08 rjkaes
|
|
|
|
* src/: tinyproxy.c, tinyproxy.h: Removed the allowedhdr_s
|
|
structure since it is now accessed through anonymous.*
|
|
|
|
2000-03-31 14:56 rjkaes
|
|
|
|
* src/: anonymous.c, anonymous.h: Moved the anonymous header code
|
|
into it's own file to make it easier to update.
|
|
|
|
2000-03-29 11:19 rjkaes
|
|
|
|
* ChangeLog: Updated to list changes in src/reqs.c and
|
|
src/dnscache.c
|
|
|
|
2000-03-29 11:18 rjkaes
|
|
|
|
* src/dnscache.c: Included the <sys/types.h> header.
|
|
|
|
2000-03-29 11:17 rjkaes
|
|
|
|
* src/reqs.c: Fixed a bug with the clientreq function which was
|
|
incorrectly setting the clientheader flag and causing _all_ headers
|
|
to be sent even in anonymous mode.
|
|
|
|
2000-03-28 11:44 rjkaes
|
|
|
|
* ChangeLog: Updated ChangeLog entry for new fix.
|
|
|
|
2000-03-28 11:41 rjkaes
|
|
|
|
* src/reqs.c: Fixed another NULL bug with the uri->authority. If an
|
|
badly formed request was made in the form of
|
|
http:\\www.somewhere.com/ tinyproxy would SEGV. This has been
|
|
corrected.
|
|
|
|
2000-03-28 11:21 rjkaes
|
|
|
|
* ChangeLog: Updated to reflect changes in src/reqs.c
|
|
|
|
2000-03-28 11:19 rjkaes
|
|
|
|
* src/reqs.c: Fixed a NULL pointer bug in clientreq. If the SCHEME
|
|
in the URL was NULL the program would SEGV. This was caused by the
|
|
error logging code.
|
|
|
|
2000-03-12 19:56 rjkaes
|
|
|
|
* src/config.h: Remove the defines for DEFAULT_* and UPSTREAM
|
|
(they've been moved into acconfig.h and configure).
|
|
|
|
2000-03-12 19:55 rjkaes
|
|
|
|
* ChangeLog: List all the changes which has occurred on the program.
|
|
|
|
2000-03-11 15:43 rjkaes
|
|
|
|
* acconfig.h: Added the support for the upstream proxy and also
|
|
made the defaults for the LOGFILE, USER, and PORT.
|
|
|
|
2000-03-11 15:37 rjkaes
|
|
|
|
* src/: dnscache.c, reqs.c, tinyproxy.c, tinyproxy.h: Included the
|
|
changes needed to re-add the upstream proxy option.
|
|
|
|
2000-03-11 15:36 rjkaes
|
|
|
|
* doc/tinyproxy.8: Updated the manual to reflect all the options,
|
|
plus provide additional information concerning the changes made to
|
|
some of the options.
|
|
|
|
2000-03-11 15:35 rjkaes
|
|
|
|
* configure.in: Re-ordered some of the arguments. Included the
|
|
support for the Upstream Proxy.
|
|
|
|
2000-03-11 15:34 rjkaes
|
|
|
|
* src/: Makefile.in, defines.h.in: Once again, these files are made
|
|
automatically, don't include them.
|
|
|
|
2000-03-11 15:33 rjkaes
|
|
|
|
* doc/Makefile.in: Again, the file is generated automatically, so
|
|
don't include it.
|
|
|
|
2000-03-11 15:32 rjkaes
|
|
|
|
* Makefile.in, aclocal.m4, configure: These files are generated by
|
|
reconf, so don't include them in the CVS.
|
|
|
|
2000-02-16 12:32 sdyoung
|
|
|
|
* AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
|
|
NEWS, README, THANKS, aclocal.m4, BUGS, INSTALL.configure,
|
|
acconfig.h, configure, configure.in, install-sh, missing,
|
|
mkinstalldirs, reconf, src/Makefile.am, src/Makefile.in,
|
|
src/defines.h.in, src/stamp-h.in, src/filter.c, src/buffer.c,
|
|
src/buffer.h, src/config.h, src/conns.c, src/conns.h,
|
|
src/dnscache.c, src/dnscache.h, src/gnuregex.c, src/log.c,
|
|
src/log.h, src/reqs.c, src/reqs.h, src/sock.c, src/sock.h,
|
|
src/tinyproxy.c, src/tinyproxy.h, src/uri.c, doc/Makefile.am,
|
|
doc/Makefile.in, doc/TODO, src/filter.h, src/gnuregex.h,
|
|
src/regexp.h, src/uri.h, src/utils.c, src/utils.h, doc/CONFIG,
|
|
doc/HTTP_ERROR_CODES, doc/RFC_INFO, doc/report.sh, doc/tinyproxy.8:
|
|
Initial revision
|
|
|
|
2000-02-16 12:32 sdyoung
|
|
|
|
Released tinyproxy 1.3.2 (2000-02-16)
|
|
|
|
* AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
|
|
NEWS, README, THANKS, aclocal.m4, BUGS, INSTALL.configure,
|
|
acconfig.h, configure, configure.in, install-sh, missing,
|
|
mkinstalldirs, reconf, src/Makefile.am, src/Makefile.in,
|
|
src/defines.h.in, src/stamp-h.in, src/filter.c, src/buffer.c,
|
|
src/buffer.h, src/config.h, src/conns.c, src/conns.h,
|
|
src/dnscache.c, src/dnscache.h, src/gnuregex.c, src/log.c,
|
|
src/log.h, src/reqs.c, src/reqs.h, src/sock.c, src/sock.h,
|
|
src/tinyproxy.c, src/tinyproxy.h, src/uri.c, doc/Makefile.am,
|
|
doc/Makefile.in, doc/TODO, src/filter.h, src/gnuregex.h,
|
|
src/regexp.h, src/uri.h, src/utils.c, src/utils.h, doc/CONFIG,
|
|
doc/HTTP_ERROR_CODES, doc/RFC_INFO, doc/report.sh, doc/tinyproxy.8:
|
|
Initial CVS checking of tinyproxy - version 1.3.2.
|
|
|
|
1999-12-24 20:33 sdyoung
|
|
|
|
Released tinyproxy 1.3.1
|
|
|
|
1999-12-03 23:21 sdyoung
|
|
|
|
Released tinyproxy 1.3.0 (1999-12-03 unconfirmed)
|