Commit Graph

1636 Commits

Author SHA1 Message Date
Robert James Kaes
ea50171a95 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-31 23:04:15 +00:00
Robert James Kaes
77ca1c8ce0 # Changed all the for calls to use the != test rather than < test.
The change was recommended in the C/C++ User Journal magazine.
2003-05-31 23:02:21 +00:00
Robert James Kaes
86c9d69086 # Updated ChangeLog 2003-05-30 16:27:57 +00:00
Robert James Kaes
983a76ecef # Bumped up the version number 2003-05-30 16:25:41 +00:00
Robert James Kaes
af5e1e29f6 # Changed the calls to vector_getentry() to use the new calling
convention.
2003-05-30 16:22:30 +00:00
Robert James Kaes
1955dcd47b (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-30 16:21:48 +00:00
Robert James Kaes
c3eaebd1c5 # Added a vector_prepend() function and recoded the old vector_insert()
to be a general "insert" for both vector_append() and vector_prepend()
2003-05-29 21:07:22 +00:00
Robert James Kaes
8ab278998f # Renamed the vector_insert() calls to vector_append() 2003-05-29 20:48:25 +00:00
Robert James Kaes
42f9f37afc (vector_append): Renamed the vector_insert() function to more
accurately indicate that entries are appended to the end of the
vector.
2003-05-29 20:47:52 +00:00
Robert James Kaes
4a377a712d 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-29 19:44:00 +00:00
Robert James Kaes
2e9f27769d Added support for installing the HTML error files used by tinyproxy. 2003-05-10 23:16:45 +00:00
Robert James Kaes
5e1303ecd1 (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-05 16:46:05 +00:00
Robert James Kaes
ac88af1f71 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-05-04 04:35:10 +00:00
Robert James Kaes
65115c75c8 # Updated change log 2003-04-16 18:14:16 +00:00
Robert James Kaes
4a66257e65 # Updated version number 2003-04-16 18:12:45 +00:00
Robert James Kaes
c94bfa8223 (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
2003-04-16 18:11:58 +00:00
Robert James Kaes
648e8f1438 # Changed it again to this time use the TINYPROXY_DEBUG environment
variable to determine whether to wait for a connection from GDB.
2003-04-16 18:04:58 +00:00
Robert James Kaes
4a942bc59a # The programmer is now made to _explicitly_ enable the GDB support in
the child handling function.
2003-04-16 16:39:23 +00:00
Robert James Kaes
6ff4192069 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-16 16:37:59 +00:00
Robert James Kaes
acece1ee67 # Updated change log (should have done this _before_ the tagging of course.) 2003-04-01 16:56:41 +00:00
Robert James Kaes
82ce7176f7 Removed duplicate header tests. 2003-04-01 16:50:41 +00:00
Robert James Kaes
5f8a497f0c Reorganized some of the code, and remove some function tests for which
results were never used.
2003-04-01 16:46:45 +00:00
Robert James Kaes
bcf25dc67e (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-04-01 16:41:33 +00:00
Robert James Kaes
7cd19206cc (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-26 16:47:30 +00:00
Robert James Kaes
63a7914830 # Moved the location of the "initializing" log message to below the
processing of the command line options.
2003-03-17 04:24:19 +00:00
Robert James Kaes
89ede8cd28 Create the doc/report.sh script from the new template file. 2003-03-17 04:21:11 +00:00
Robert James Kaes
232aea721c 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-17 04:20:19 +00:00
Robert James Kaes
d2c9ffac23 Made get_html_file() and lookup_variable() static functions since they
are only used with this file.
2003-03-14 22:49:03 +00:00
Robert James Kaes
5faa0879ec # Added copyright notices for Steve. Reformatted the source code to
better match the existing tinyproxy practise.  Included a few bug
  fixes from Steve.
2003-03-14 22:45:59 +00:00
Robert James Kaes
cc90414b29 (send_http_message): Changed the function to use the new http_message
API.
2003-03-14 06:15:27 +00:00
Robert James Kaes
c76183a3f0 # Updated all the calls to indicate_http_error() to include a
terminating NULL.  The va_arg() function requires it to work
  properly.
2003-03-14 06:13:04 +00:00
Robert James Kaes
aff52c552e # Include the HTML variable substitution documentation files with the
tarball.
2003-03-13 22:38:09 +00:00
Robert James Kaes
1763373f29 # Updated ChangeLog with Steven Young's log of changes to include the
variable substitution code.
2003-03-13 22:03:24 +00:00
Robert James Kaes
75dd0b22c4 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]
2003-03-13 21:42:46 +00:00
Robert James Kaes
fa1480a3e1 Include example information for the new "file" directives (ErrorFile,
DefaultErrorFile, StatFile.)  [Steven Young]
2003-03-13 21:38:00 +00:00
Robert James Kaes
78c1ed384a # Added default HTML files for HTTP error messages and the stats
page. [Steven Young]
2003-03-13 21:35:58 +00:00
Robert James Kaes
a46bfdc2e0 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]
2003-03-13 21:34:38 +00:00
Robert James Kaes
badd237fe6 # Added variables to config structure to keep track of the files to be
displayed for various HTTP errors and the stats page. [Steven Young]
2003-03-13 21:32:33 +00:00
Robert James Kaes
b06f26cba1 # 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. [Steven Young]
2003-03-13 21:31:03 +00:00
Robert James Kaes
cb8aaf521e # Changed calls to indicate_http_error() to use the new HTML variable
substitution mechanism. [Steven Young]
2003-03-13 21:29:45 +00:00
Robert James Kaes
7995027c8c # Added parser support for the error file configuration keywords
(ErrorFile, DefaultErrorFile, StatFile) [Steven Young]
2003-03-13 21:28:37 +00:00
Robert James Kaes
056bbf84bd # Added variables to keep track of the variables to be substituted in
.html files displayed to the client [Steven Young]
2003-03-13 21:27:29 +00:00
Robert James Kaes
a830af5097 # Steve Young's code to implement file based HTML error messages,
rather than the hard coded string.
2003-03-13 21:25:06 +00:00
Robert James Kaes
d28d9fb195 # Added htmlerror.c and htmlerror.h 2003-03-13 21:23:01 +00:00
Robert James Kaes
2057ffdb50 # Changed the wording of the header comment to remove the reference to
"dnsserver"
2003-03-13 19:31:09 +00:00
Robert James Kaes
99ec965544 # (child_main): If this is a debugging build output the child process
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-13 19:30:19 +00:00
Robert James Kaes
0a3a1d7c71 Fixed up the include order for the <sys/time.h> and <time.h> headers. 2003-03-13 16:56:28 +00:00
Robert James Kaes
e04ff12768 # Include the http_message.[ch] into the compiled tinyproxy object. 2003-03-13 05:28:46 +00:00
Robert James Kaes
686826c3b0 An API to handle HTTP messages as concrete entities. 2003-03-13 05:25:30 +00:00
Robert James Kaes
2f9370afe7 (chomp): Fixed up the code to prevent negative array access. Added
code to make sure the supplied arguments are valid.
2003-03-13 05:20:06 +00:00