273 Commits

Author SHA1 Message Date
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
Robert James Kaes
c6d2e0f7ff Massive changes. Split process_method() into a bunch of smaller files and
changed the parsing code from REGEX and uri.c to a simplier sscanf()
method. Also, include code to handle SSL connections, but that's not quite
working yet.
2001-09-14 04:56:29 +00:00
Robert James Kaes
bce9e6601e Removed the reference to uri.c and uri.h since the new reqs.c doesn't use
them.
2001-09-14 04:55:06 +00:00
Robert James Kaes
c48aea165d Fixed memory leak. 2001-09-12 03:33:15 +00:00
Robert James Kaes
25457361c7 Changed mallocs to callocs. 2001-09-12 03:32:54 +00:00
Robert James Kaes
ac4bbe6bd6 Increased the number of "insertions" before the free memory. 2001-09-12 03:32:24 +00:00
Robert James Kaes
e2f10bc2ea Added the debugging realloc() function. 2001-09-11 19:27:27 +00:00
Robert James Kaes
2c3cc9185d Set the stack size of threads to 32KB from 128KB. 2001-09-11 19:27:09 +00:00
Robert James Kaes
f8edd2d8b4 Switched the memory allocation for the large strings to heap based instead
of stack based.
2001-09-11 19:26:49 +00:00
Robert James Kaes
8aca9455b2 Style stuff. 2001-09-11 04:38:23 +00:00
Robert James Kaes
365df5b5be Used safecalloc() instead of malloc() and memset(). Fixed a potential
memory leak with the regular expression engine.
2001-09-11 04:13:58 +00:00
Robert James Kaes
c04ffd3913 Comment cleanup. 2001-09-11 04:12:47 +00:00
Robert James Kaes
0668e42e8f Changed all the mallocs and callocs to use the new safemalloc and
safecalloc.
2001-09-08 18:58:37 +00:00
Robert James Kaes
d5253ec5f4 Lowered the number BUFARRAY and BUFSIZE constants to reduce the maximum
memory usage of a ternary tree. It now should not exceed 4MB of memory.
2001-09-08 18:58:02 +00:00
Robert James Kaes
78bc90cd07 Lowered the number of insertions before the ternary tree is rebuilt. 2001-09-08 18:56:30 +00:00
Robert James Kaes
4923dd22a7 Added the debugging_(malloc|calloc|free) functions to help track memory
usage. There are also now defines for safe(malloc|calloc|free) which allow
for debugging code to be enabled or not.
2001-09-08 18:55:58 +00:00
Robert James Kaes
b8a694e7a3 Fixed a memory leak in thread_main(). 2001-09-08 06:29:04 +00:00
Robert James Kaes
28d955a3c8 Explictly added the DETACHED creation method on threads. 2001-09-07 18:19:39 +00:00
Robert James Kaes
1a9dc4e7e8 Error message cleanup. 2001-09-07 04:21:07 +00:00
Robert James Kaes
f5b9bdb93d Fixed up return types. 2001-09-07 04:20:04 +00:00
Robert James Kaes
ea1309bf73 Error message cleanup.
Include locking around access to the servers_waiting variable.
2001-09-07 04:19:05 +00:00
Robert James Kaes
aa9e05430a Added the ability to clear out the DNS cache after a certain number of
insertions.
2001-09-07 00:40:34 +00:00
Robert James Kaes
c24cace1d1 Fixed the ternary_destroy() function which causes segfaults. 2001-09-07 00:38:03 +00:00
Robert James Kaes
32ce57a6f6 Still need to fix a problem with tinproxy segfaulting when we try to
delete the ternary tree.
2001-09-06 21:53:16 +00:00