Robert James Kaes
9448787ff2
Added UPSTREAM_CONFIGURED() macro to help clean up the code.
...
Ignore any blank lines when tinyproxy is expecting a request line.
Instead of sending the request line to the remote server in pieces,
tinyproxy nows sends it in once go. This was done to fix a problem with
some sites like www.heise.de.
Changed all calls to connptr->ssl to connptr->connect_method.
Changed all calls to connptr->send_message to
connptr->send_response_message.
Moved the call to Via header code to inside to the tests to handle if
tinyproxy is sending an error message (don't need to send any headers.)
2001-12-17 00:11:32 +00:00
Robert James Kaes
fdb4952e5f
Added the assert() calls to safe_write() to make sure the arguments are
...
sane.
2001-12-17 00:00:24 +00:00
Robert James Kaes
6919faea77
Removed reference to ternary.h
2001-12-15 20:08:24 +00:00
Robert James Kaes
997d3daa65
No longer need this system since it was only being used in the DNS caching
...
section and the anonymous header section. Once I had removed the DNS
caching, the ternary tree system was overkill for the anonymous header
code. Replaced in the anonymous header section with a simple linked list.
2001-12-15 20:07:45 +00:00
Robert James Kaes
b969ed4302
Changed safe_write() to fully send all the data in the buffer it was
...
passed. Also safe_write() and safe_read() now use char pointer buffers
rather than the void pointer style.
2001-12-15 20:04:04 +00:00
Robert James Kaes
cad9a5d11b
Switched from using the ternary tree to a simple linked list.
2001-12-15 20:02:59 +00:00
Robert James Kaes
b811c2fbf8
Removed the references to ternary.c and ternary.h
2001-12-15 20:02:26 +00:00
Robert James Kaes
75ab2c8de3
Removed the include "dnscache.h" header file.
2001-12-15 06:02:16 +00:00
Robert James Kaes
a4934e2232
Added the host name lookup code (which use to be in the DNS caching
...
system.)
2001-12-15 05:58:30 +00:00
Robert James Kaes
b15be9de3e
Removed the references to dnscache.c and dnscache.h
2001-12-15 05:57:40 +00:00
Robert James Kaes
bf18ec5adc
Removed the DNS caching system because tinyproxy did not determine the TTL
...
of the host names being resolved, which is not recommended by RFC2616.
Basically, if a HTTP client doesn't respect the TTL is should not be
caching the address since it leaves itself open to DNS spoofing attacks.
Also, having a DNS caching system is an administater decision, and so
should not be included in the tinyproxy source.
2001-12-15 05:57:13 +00:00
Robert James Kaes
e0694a8f6e
Added support for the <pthreads.h> header.
2001-11-26 05:23:49 +00:00
Robert James Kaes
09fdf9af74
Increased the maximum buffer size to 96 KB
2001-11-26 01:39:53 +00:00
Robert James Kaes
a03a1d3847
Fixed a problem with not buffering more than 2K (which is obviously a
...
problem. :)
2001-11-26 01:39:07 +00:00
Robert James Kaes
fa193dcd22
send_message changed to send_response_message in the conn_s structure.
2001-11-25 22:08:11 +00:00
Robert James Kaes
f8b61da4ae
Added tests for _every_ header to make sure they are actually present on
...
the system.
2001-11-25 22:07:36 +00:00
Robert James Kaes
2f4ccc04ae
Added an additional test to make sure the <regex.h> header is actually
...
present on the system.
2001-11-25 22:06:54 +00:00
Robert James Kaes
5e17d0736e
Removed some of the members of the structures and renamed a few others.
2001-11-25 22:06:20 +00:00
Robert James Kaes
e9cfd1f82e
makenewline() now copies the data into the structure rather than just
...
storing the pointer to the data.
add_to_buffer() is now exported.
Renamed writebuff() and readbuff() to write_buffer() and read_buffer().
2001-11-25 22:05:42 +00:00
Robert James Kaes
6e054e4a72
Added a new error code.
2001-11-25 02:22:05 +00:00
Robert James Kaes
8dc7035fbc
Add support to limit the maximum size of the input line (to 128KB which
...
should be _more_ than enough for any header line. :)
2001-11-25 02:21:46 +00:00
Robert James Kaes
09dbdbc3d7
Change the C code to match the new style.
2001-11-25 02:20:54 +00:00
Robert James Kaes
4aa5e79cdf
Added the chomp() function (to replace the trim() function reqs.c)
2001-11-23 01:19:15 +00:00
Robert James Kaes
fd3b313e9f
Style changes. Also replaces all mallocs with safemalloc, etc.
2001-11-23 01:18:43 +00:00
Robert James Kaes
c6c7427e8d
Removed the trim() function and move it into chomp()/utils.c
2001-11-23 01:17:19 +00:00
Robert James Kaes
787ece6c01
Reformated text.
2001-11-22 00:31:10 +00:00
Robert James Kaes
1fa9d257c2
Replaced the calls to the old readline() function with calls to the new
...
version.
2001-11-22 00:19:45 +00:00
Robert James Kaes
d08d088d4a
Replaced the readline() function with a new version which has no
...
restrictions on the length of a line (unless you fill memory of course.)
Reformated the source.
2001-11-22 00:19:18 +00:00
Robert James Kaes
a30eb425e3
#if 0'd the code handling the "Via" header in the process_client_headers()
...
function since I'm not completely happy with the code.
2001-11-21 19:19:46 +00:00
Robert James Kaes
bc8c3ff399
Include the protocol variables in the conn_s structure.
2001-11-21 01:00:09 +00:00
Robert James Kaes
90ee7e01ca
Extract the version from the request line and store it in the conn_s
...
structure.
Don't send a Connection header to the remote connection.
Handle the Via header correctly.
2001-11-21 00:59:33 +00:00
Robert James Kaes
dde4e9adcc
Changed the read() call into a recv() call with a flag of NOSIGNAL since I
...
don't want signals messing up my calling conventions.
2001-11-12 21:10:51 +00:00
Robert James Kaes
fffdc76681
Made is_anonymous_enabled() an inline function.
2001-11-05 15:24:42 +00:00
Robert James Kaes
d2f2750a37
Added a clean rule to remove the gprof files.
2001-11-05 15:24:01 +00:00
Robert James Kaes
ddb002d57e
Replaced all calls to buffer_size() with the macro BUFFER_SIZE().
2001-11-05 15:23:34 +00:00
Robert James Kaes
270af08171
Removed the buffer_size() function and turned it into BUFFER_SIZE() macro.
...
Moved the struct buffer_s into the header file. Added more assert() calls
to better document the assumptions the functions make. Removed incorrect
code in remove_from_buffer() which was never actually called anyway.
2001-11-05 15:23:05 +00:00
Robert James Kaes
9f0c8f18fb
Tightened the string/numeric ACL checks.
2001-11-03 06:08:37 +00:00
Robert James Kaes
e61424a7bf
Informing the user of the connection to the tunnel is a INFO type message,
...
not a CONN level message.
2001-11-02 21:19:46 +00:00
Robert James Kaes
4ac03908fc
Header reorganization. Basically all system headers are now included in
...
tinyproxy.h and all the other files include the tinyproxy.h header. This
moves all the dependancy issues into one file.
2001-10-25 17:27:39 +00:00
Robert James Kaes
722a7d2142
Changed the included headers to be only the "tinyproxy.h" since it
...
contains all the code for properly bringing in the system headers (in the
correct order and with proper dependancies.)
2001-10-25 17:02:50 +00:00
Robert James Kaes
d3b099140f
Some code clean up due to the creation of the conns.{c,h} files which now
...
store the creation/destruction and definition of the connection structure.
2001-10-25 16:58:50 +00:00
Robert James Kaes
f8ad0dced3
Moved the connection creation/destruction and definition into it's own
...
files.
2001-10-25 16:58:09 +00:00
Robert James Kaes
1bbf32f04c
Fixed the problems with sending/not sending headers so that the CONNECT
...
(SSL) method would work with upstream proxying!
2001-10-25 05:12:46 +00:00
Robert James Kaes
28b4477f48
Added the upstream flag to the conn_s structure.
2001-10-25 05:10:57 +00:00
Robert James Kaes
5f8ee4fae3
Bit of source code clean up.
2001-10-25 05:10:32 +00:00
Robert James Kaes
6afa56ba09
Changed the way relay_connection() works by having the both buffers
...
emptied when either socket is closed. This should be better for the tunnel
connections.
Change the connect_to_upstream() function to better utilize the
establish_http_connection() function. Code re-use is cool. :)
2001-10-25 04:40:48 +00:00
Robert James Kaes
f8d43bd423
Lowered the size of the read buffer to 2K since Ethernet seems to work
...
with 1400 byte segments.
2001-10-25 04:39:10 +00:00
Robert James Kaes
b7b4d08758
Error message cleanup to make the information more informative.
2001-10-24 00:37:23 +00:00
Robert James Kaes
7d7958b0d7
Fixed a spelling problem in a log message.
2001-10-23 16:43:08 +00:00
Robert James Kaes
a746b9d0b2
Moved the zero-length string setting to outside the tests in getpeer_*()
...
functions. Also added a more robust error reporting for DNS errors.
2001-10-23 03:57:34 +00:00