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
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
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
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
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
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
Robert James Kaes
20d3008c38
(main): Removed duplicate code calling the filter_destroy() function.
...
Once is enough. [Detected by John M Wright]
2003-02-26 22:37:38 +00:00
Robert James Kaes
40c4d3c57a
# (connect_to_upstream): Improved the preprocessor directives to make
...
sure the function would compile cleanly regardless of how the
directive was set.
2003-01-28 21:21:55 +00:00
Robert James Kaes
2f98fec1aa
# Style clean up.
2003-01-27 18:45:25 +00:00
Robert James Kaes
abbf826445
(display_usage): Removed the output line mentioning that regular
...
expression support was included. It will be there always.
2003-01-27 18:44:43 +00:00
Robert James Kaes
2fc9c76969
(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.
2003-01-27 18:42:18 +00:00
Robert James Kaes
cb7e3eef04
Added support for conditionally using case sensitive filtering files.
...
Code changes from James E. Flemer.
2003-01-27 17:57:45 +00:00
Robert James Kaes
212abd64d7
(process_client_headers): Fixed inverted anonymous header logic. Fix
...
comes from the FreeBSD port through James E. Flemer.
2003-01-27 17:39:02 +00:00
Robert James Kaes
59ec5dc69f
(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.
2002-12-04 17:36:48 +00:00
Robert James Kaes
0a20bdd5b4
Removed the "bool_t" type since it conflicts with the newer C standards.
...
The type was just replaced by "unsigned int" types.
2002-12-04 17:06:14 +00:00
Robert James Kaes
d069b4fce9
(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-29 19:25:59 +00:00
Robert James Kaes
e58343012f
Included code to disable the sending of the Via header. This is now
...
controlled by the ViaHeader configure directive.
2002-11-26 21:44:43 +00:00
Robert James Kaes
c826b18437
(child_main): Cleaned up the notice string to be more clear why a
...
child is being closed.
2002-11-21 21:54:09 +00:00
Robert James Kaes
22df8c29e4
(main): Check to see if the PID file was created successfully, and if
...
not report this to the user and close the program.
2002-11-21 21:52:59 +00:00
Robert James Kaes
48df7d401c
# Changed the return type for pidfile_create() to int from void.
2002-11-21 21:52:03 +00:00
Robert James Kaes
820832a647
(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-21 21:51:34 +00:00
Robert James Kaes
d40a4e8af7
(relay_connection): Shutdown the client socket for writing once all
...
the data has been sent.
2002-11-13 17:48:48 +00:00
Robert James Kaes
a1e24ac839
(destroy_conn): Added code to log any error messages when the sockets
...
are closed.
2002-11-13 17:47:40 +00:00
Robert James Kaes
3b2be8ae88
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-11-03 17:10:33 +00:00
Robert James Kaes
69be2b84d7
(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-17 19:27:08 +00:00
Robert James Kaes
1d39f204ca
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.
2002-10-03 20:53:11 +00:00
Robert James Kaes
745c40650b
#Style formatting change.
2002-10-03 20:50:59 +00:00
Robert James Kaes
942f22989a
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.
2002-10-03 20:49:57 +00:00
Robert James Kaes
7fd291f407
Filtering is now case insensitive.
2002-10-03 20:40:39 +00:00