Commit Graph

196 Commits

Author SHA1 Message Date
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
Robert James Kaes
a6a026cb9e Changed the getpeer_*() functions to return the reason why the name or IP
address could not be looked up.
2001-10-22 16:52:34 +00:00
Robert James Kaes
358b2781af Cleaned up the code in handle_connection() and added a NULL pointer test
in the free request function.
2001-10-22 16:08:29 +00:00
Robert James Kaes
ad743c1e41 Fixed a problem where a user's variable would be uninitialized if a DNS
lookup failed.
2001-10-22 15:56:11 +00:00
Robert James Kaes
b40e382e5a More moving around of the source code. Still can't get CONNECT to work
with an upstream proxy.
2001-10-19 18:03:49 +00:00
Robert James Kaes
26587ef1e7 Fixed a problem where a full buffer on the read side would cause the
connection to be closed.
2001-10-18 21:45:54 +00:00
Robert James Kaes
ac111ee8c6 Added netinet/in.h so that tinyproxy will compile on OpenBSD. 2001-10-18 03:44:06 +00:00
Robert James Kaes
7a613287ee Trying to allow CONNECT methods through an Upstream proxy. 2001-10-17 04:15:35 +00:00
Robert James Kaes
af1246c78b Added the ability to compile tinyproxy with static linking. 2001-10-01 04:01:10 +00:00
Robert James Kaes
6ab7ebcb31 send_http_message() doesn't create a memory block and store it in the
connection's output_message variable. Instead the error is sent to the
client right away. Once we finish processing the client's headers it will
automatically accept the error message. So we get the same result, but
less memory is used.
2001-09-16 20:13:52 +00:00
Robert James Kaes
606c8196a0 Added the configure variables to support the upstream proxy. 2001-09-16 20:12:29 +00:00
Robert James Kaes
490754594e Added a check to make sure the Upstream and Tunnel directives are not both
set in the configuration file.
2001-09-16 20:11:54 +00:00
Robert James Kaes
2a566d194d Fixed a spelling mistake. 2001-09-16 20:11:24 +00:00
Robert James Kaes
b9c4c480d2 Moved the safe_write() and safe_read() functions here. 2001-09-16 20:11:07 +00:00
Robert James Kaes
08baf6b01b Moved the safe_read() and safe_write() functions into the sock.c file
since they're now used in other places.

Added support for a true upstream proxy connection. This involved some
rewriting of the handle_connection() function and some of the support
functions so that they do perform the domain filtering and anonymous
filtering while still connecting to the upstream proxy. I think the code
should be cleaned up further.
2001-09-16 20:10:19 +00:00
Robert James Kaes
a8f0272ace Added the token for Upstream and the code the handle the upstream
directive in the configuration file.
2001-09-16 20:08:24 +00:00
Robert James Kaes
4619035cd2 Fixed a problem where log messages could be missed during a rotate. 2001-09-16 05:38:27 +00:00
Robert James Kaes
9860222979 Added the send_http_message() function to handle sending messages back to
the client. It's used by httperr() and showstats().
2001-09-15 21:29:59 +00:00
Robert James Kaes
d3213f193c Changed to rotating the log file instead of truncating it. Also using the
create_file_safely() function to eliminate potential security problems.
2001-09-15 21:29:22 +00:00
Robert James Kaes
d2ddca583e Removed the memory allocation log messages. 2001-09-15 21:28:25 +00:00
Robert James Kaes
7615024f27 Changed to using the send_http_message() function so that the HTTP headers
are sent properly.
2001-09-15 21:27:58 +00:00
Robert James Kaes
b7fc58333b Removed the log messages related to memory allocation.
Move the SSL response header into into own function.
Added support for the status host.
2001-09-15 21:26:14 +00:00
Robert James Kaes
1c8dcecf82 Removed the log message when unable to allocate memory. 2001-09-15 21:24:18 +00:00
Robert James Kaes
48ddb827a7 Updated the authorization string. 2001-09-15 21:21:01 +00:00
Robert James Kaes
9d61e1fd4b Removed these files since their functionality has been replaced. 2001-09-14 23:43:59 +00:00
Robert James Kaes
ea4d707d12 Finally got the SSL problem fixed. We can not send _any_ client headers
(including the new line) to the origin server when in tunnelling mode. SSL
now works correctly. Yeah.
2001-09-14 21:16:56 +00:00
Robert James Kaes
9c520c7a50 Changed the buffer pointer in safe_write() to be const void* since we're
not changing the values.

Instead of building a new request and memory, simply send each part
separately. Actually uses less memory _and_ less code.
2001-09-14 19:50:45 +00:00
Robert James Kaes
dab361f764 When logging an error indicate the file descriptor and the error number. 2001-09-14 19:49:10 +00:00
Robert James Kaes
7bfb5527ff Include the SSL field in the connection structure since we're going to
handle SSL connections.
2001-09-14 04:56:58 +00:00