Commit Graph

396 Commits

Author SHA1 Message Date
Robert James Kaes
54f369a734 Added the vector module which is a vector implementation. I use it in the
hashmap implementation.
2002-04-07 21:29:23 +00:00
Robert James Kaes
e70b98252a Added define check for XTINYPROXY_ENABLE. Although, I'm not sure if this
is the correct way to do this, since grammar.c probably doesn't get
recomplied even if config.h is changed.  Must look into this more.
2002-04-02 17:17:30 +00:00
Robert James Kaes
1819c0f818 Added code to check for "errors" from the accept call in thread_main() and
also a new thread_kill_threads() function which should cancel all threads
when the main thread is being closed.
2002-01-25 00:01:45 +00:00
Robert James Kaes
388920bc53 Added code which checks to see if the user has signalled that tinyproxy
should be closed.
2002-01-08 02:02:25 +00:00
Robert James Kaes
ea0d956a57 Removed an unused header. 2001-12-28 22:31:12 +00:00
Robert James Kaes
a0dee6c57f Check for errors returned by the accept() function. 2001-12-28 22:29:11 +00:00
Robert James Kaes
9520866ab3 Changed send_http_message() to use the write_message() function.
Changed httperr() to use the same concept as the write_message() function.
Still haven't figured out how to combine the code.
2001-12-24 00:02:32 +00:00
Robert James Kaes
b10221fa07 Added the write_message() function (from reqs.c) 2001-12-24 00:01:32 +00:00
Robert James Kaes
475e526a48 Moved write_message() into sock.c because I'm using it in other places. 2001-12-24 00:01:02 +00:00
Robert James Kaes
831b00dc7a Made the error message regarding the Idle timeout more verbose, and
changed the level to WARNING.
2001-12-23 22:00:36 +00:00
Robert James Kaes
c3124815a1 Cleaned up the code which sends the "Via" header. It now uses
write_message().
2001-12-23 21:55:08 +00:00
Robert James Kaes
b68354a9da Add a pre-processor test around the sys/types.h header file, to make sure
it's available before we try to include it.
2001-12-23 18:44:02 +00:00
Robert James Kaes
4ed73b6f07 Fixed up the order of some of the includes to cope with OpenBSD. Also,
test for the MSG_NOSIGNAL define.
2001-12-23 03:28:03 +00:00
Robert James Kaes
d6e5285e95 Updated the copyright notice. 2001-12-20 04:48:52 +00:00
Robert James Kaes
93f0406b7e Created the CHECK_CRLF() macro to handle the tests for the appropriate
control characters in a string.
2001-12-20 04:48:32 +00:00
Robert James Kaes
7240af4333 Changed the calls to write() to send() so that we can use send(...,
MSG_NOSIGNAL) and not get signals sent to the process. (easier for
debugging and the system doesn't need to worry about signals.)
2001-12-19 20:41:28 +00:00
Robert James Kaes
63a1fa96cc Removed duplicate code from process_server_headers() and removed the calls
to strlen(); readline() already returns the length of the string, so use
that instead.
2001-12-19 20:40:23 +00:00
Robert James Kaes
e964cf0d35 Damn---removed the debugging code from write_message(). 2001-12-19 05:20:01 +00:00
Robert James Kaes
5140f01d5c Opps! Fixed a problem with negative numbers. :) 2001-12-19 05:19:03 +00:00
Robert James Kaes
56b541d76b Redefined HTTP_LINE_LENGTH to be based on MAXBUFFSIZE (and set to around
16 KB.)

Added the TUNNEL_CONFIGURED() macro to help with testing for the tunnel
support code.

Create the write_message() function to encapsulate the code which sends
the information to the file descriptor.

Moved the tunnel code into it's own function.
2001-12-19 05:13:40 +00:00
Robert James Kaes
17103bf8fe Updated the list of headers to ignore. 2001-12-18 05:01:03 +00:00
Robert James Kaes
faf655c5db Added the code to log the request when in tunnelling mode. 2001-12-17 19:10:56 +00:00
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
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
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
Robert James Kaes
4670eb5194 Make sure that freeptr actually points to something before we try to
invoke it.
2001-09-06 21:52:31 +00:00
Robert James Kaes
f2312262c7 Try moving the kill thread code into the thread_main() function so it can
check if there are too many thread after it's finished with it's request.
Needs to be cleaned up further (if this is the right idea) because of the
locking around the servers_waiting variable.
2001-09-06 21:16:35 +00:00
Robert James Kaes
445aaca53e Initialzed the servers_waiting explictly. Added debugging code to find out
why the threads are not being closed.
2001-09-06 19:00:47 +00:00
Robert James Kaes
c937858ec1 Moved the compare_header() test after the skip header test. 2001-09-04 18:22:00 +00:00
Robert James Kaes
667b9d5d53 Switched to a case insensitive search method. 2001-09-04 17:53:41 +00:00
Robert James Kaes
45a021a18b Fixed a format string bug with the syslog function. 2001-09-04 16:50:22 +00:00
Robert James Kaes
fc94a56f56 Removed the xstrstr() function since it is no longer used. reqs.c was the
only place it was called from, and strstr() will do the same work.
2001-08-30 16:52:56 +00:00
Robert James Kaes
a328cefbf0 Renamed ternary_insert() to ternary_insert_replace() and added the ability
to replace existing data (without a memory leak.) Added two DEFINES
ternary_insert() and ternary_replace() to aid in coding.
2001-08-30 16:52:09 +00:00
Robert James Kaes
22bdb8123d Replaced the call to xstrstr() with strstr(). 2001-08-30 16:51:10 +00:00
Robert James Kaes
c83c92a0d1 Removed the insert_data() function and made the LOCKing go around the
entire dnscache() function. Replaced the "replace" code in dns_insert()
with a call to ternary_replace().
2001-08-30 16:50:42 +00:00
Robert James Kaes
51e4ebb293 Text clean up. 2001-08-29 04:04:01 +00:00
Robert James Kaes
d06ddc50ab Removed the new_dnscache() call. 2001-08-29 04:01:05 +00:00
Robert James Kaes
fcff398f31 Cleaned up the locking code to make it more fine grained. Did this since
dncache.c has locking itself now.
2001-08-29 04:00:22 +00:00
Robert James Kaes
9bdfa623ba Changed how we handle when compiled with debug code. 2001-08-29 03:59:12 +00:00
Robert James Kaes
4c24890f17 Removed the new_dnscache() function and the ternary.h include. 2001-08-29 03:58:39 +00:00
Robert James Kaes
c9a772e36b Added a more fine grained locking system for multiple threads.
Removed the new_dnscache() function and moved it into dnscache().
Fixed a memory leak in dns_insert().
2001-08-29 03:57:51 +00:00
Robert James Kaes
9a61faa716 The logging levels _now_ output the correct information depending on where
the config file sets it.
2001-08-28 15:51:58 +00:00
Robert James Kaes
ee892c109b Added an extra CRNL to the end of the HTML body. 2001-08-28 04:33:54 +00:00
Robert James Kaes
fd65072f1f Changed the default stack size to 128 KB. 2001-08-28 04:33:21 +00:00
Robert James Kaes
f9d0fcd1a2 Moved the strip new line/carriage return from the end of a line into a
separate function.
2001-08-28 04:32:14 +00:00
Robert James Kaes
f7d0ea8784 Changed the MIME type to text/html rather than the incorrect text/mime. 2001-08-27 17:46:50 +00:00
Robert James Kaes
be9ce3ad26 Moved some of the includes around so that FreeBSD can compile correctly. 2001-08-27 17:46:20 +00:00
Robert James Kaes
e88c426966 Changed the default stack size since some OS's have a stack size which is
too small.
2001-08-27 17:45:50 +00:00
Robert James Kaes
bf7a671d87 Fixed a problem where the connect messages were not getting logged if the
log level was set to INFO.
2001-08-27 17:44:55 +00:00
Robert James Kaes
3b5e17d579 Split the headers from the message body. Also now include proper headers
like Date, Server, Content-Length, etc. Also, fixed the type for an error
message to be const char*.
2001-08-27 03:45:34 +00:00
Robert James Kaes
771425700d Fixed a SEGV problem with invalid requests. 2001-08-27 03:44:22 +00:00
Robert James Kaes
cc70fc6f43 Fixed a problem with the new LOG_CONN log level. 2001-08-26 23:37:26 +00:00
Robert James Kaes
cebda5913d Removed the config.anonymous entry since we've moved the information into
anonymous.c file.
2001-08-26 21:18:04 +00:00
Robert James Kaes
5530451545 Renamed versiondisp() to display_version() and added the PACKAGE, VERSION,
and TARGET_SYSTEM into the version list. Also moved the license into a
separate function. Renamed usagedisp() to display_usage(). Fixed a problem
where the anonymous search tree was being created _after_ it was being
accessed.
2001-08-26 21:17:30 +00:00
Robert James Kaes
7fe7ee2828 Fixed a problem where child threads would not be closed if they had been
created after the initial creation. Also fixed a problem where the status
of the threads were not going back to T_WAITING if MaxRequestsPerChild was
0.
2001-08-26 21:14:30 +00:00
Robert James Kaes
af10311eaf Fixed a problem with the Anonymous filtering. Basically, anonymous
filtering was not working in the previous version.
2001-08-26 21:11:55 +00:00
Robert James Kaes
e5819ebe1c Added the Connect log level. 2001-08-26 21:10:04 +00:00
Robert James Kaes
849345e88b Removed the anon_new() function and moved it's functionality into
anonymous_insert(). Also renamed all the anon_* functions to anonymous_*
function.
2001-08-26 21:07:27 +00:00
Robert James Kaes
ace480bb65 Fixed the include order to better handle the sys/time.h and time.h
headers.
2001-06-06 19:33:26 +00:00
Robert James Kaes
ff97b38603 Explictly cast getpid() to a long int to remove the compiler warnings on
various machines.
2001-06-06 19:32:51 +00:00
Robert James Kaes
540e33000b Changed the format type in the printf() to remove the compiler error (I
hope.)
2001-06-05 16:08:15 +00:00
Robert James Kaes
f43404aeef Removed the DEFAULT_LOG, DEFAULT_PORT, and DEFAULT_USER directives since
these MUST be set in the configuration file.
2001-06-04 23:30:34 +00:00
Robert James Kaes
3dfc5e84cc Fixed a type problem with fprintf in log_message() when logging the PID. 2001-06-02 03:38:02 +00:00
Robert James Kaes
e45c95fa97 LOG_EMERG doesn't exist anymore, so replace it with LOG_CRIT. 2001-06-02 03:10:34 +00:00
Robert James Kaes
a9720e85f6 Include LogLevel and it's settings into the grammar of the config file. 2001-06-02 03:10:09 +00:00
Robert James Kaes
2925b18412 Added the code for handling selective logging. 2001-06-02 03:09:27 +00:00
Robert James Kaes
0a5b82cd97 Fixed up the names of the DEFINES. 2001-06-02 02:07:34 +00:00
Robert James Kaes
5b11a1e2c9 Formating changes. Also, explictly close the client_fd when the
connections are destroyed.
2001-05-30 15:45:14 +00:00
Robert James Kaes
7febdd028c Changed all references to log() to log_message(). 2001-05-27 02:38:46 +00:00
Robert James Kaes
154a2e0880 Changed the references to log() to log_message(). Also changed some of the
data types for the variables.
2001-05-27 02:37:18 +00:00
Robert James Kaes
1cd4d6d440 Added code to stop the creation of core files.
Changed all references to log() to log_message().
2001-05-27 02:36:22 +00:00
Robert James Kaes
b242a2896e Changed the thread_main() function to only deal with the connections per
thread if the user has actually requested it.
Also changed some of the data types for the variables.
2001-05-27 02:33:35 +00:00
Robert James Kaes
42b09e5441 Removed the SA define.
Made the sock_mutex static since it's not referenced outside the file.
Changed the data types for some of the variables.
Cleaned up the readline function (changed data types and removed
variables.)
2001-05-27 02:31:20 +00:00
Robert James Kaes
981adafb5d Changed some of the types to Posix data types.
Changed any reference to log() to log_message().
Fixed a potential memory leak in process_method().
Removed redundant code and variables in relay_connection().
2001-05-27 02:29:06 +00:00
Robert James Kaes
91ba2103d1 Changed the reference from log() to log_message(). 2001-05-27 02:26:53 +00:00
Robert James Kaes
f89272be35 Changed the log() function to log_message(). 2001-05-27 02:26:11 +00:00
Robert James Kaes
627c88c736 Changed all the references to log() to log_message(). 2001-05-27 02:25:21 +00:00
Robert James Kaes
69617f6d56 Just a bit of a cleanup. Nothing major. 2001-05-27 02:24:40 +00:00
Robert James Kaes
938b7e7f21 Fixed the return type for new_dnscache(). 2001-05-27 02:24:00 +00:00
Robert James Kaes
23c08ca3ee Changed the types for various variables. Some the functions had the
variable types changed as well.
2001-05-27 02:23:08 +00:00
Robert James Kaes
df52296674 Updated the return type for new_anonymous(). 2001-05-27 02:21:37 +00:00
Robert James Kaes
bf477e9dff Renamed the access member of struct acl_s to acl_access.
Changed some of the types for the various variables to better reflect what
they are actually being used for.
2001-05-27 02:20:54 +00:00
Robert James Kaes
d32e0d1ccb Added ASSERT statements. 2001-05-23 18:01:23 +00:00
Robert James Kaes
86313eb6f5 Made the safefree() macro enabled all the time. 2001-05-23 18:00:54 +00:00
Robert James Kaes
b1d942c22a Removed a debugging aid. 2001-05-23 17:59:53 +00:00
Robert James Kaes
3f8b219210 Removed a DEBUG line in the "can't happen" case. 2001-05-23 17:59:08 +00:00
Robert James Kaes
03ffa590b7 Just a formatting change. 2001-05-23 17:58:19 +00:00
Robert James Kaes
36d84f4bc1 Make the netmask static and include the asserts. 2001-05-23 17:57:22 +00:00
Robert James Kaes
fedbe888e8 Fixed a potential problem with not zeroing the number of connections when
the threads are emptied.
2001-05-23 17:56:35 +00:00
Robert James Kaes
93b201d23b Fixed more potential overflow bugs. 2001-01-15 17:11:57 +00:00
Robert James Kaes
2f2d74e9f2 Fixed a potential security bug in http_err. There was a possibility of a
heap overflow exploit.
2001-01-15 17:06:19 +00:00
Robert James Kaes
cc704ae7a7 Fixed a bug where the ':' character was not being properly detected. 2001-01-02 19:30:40 +00:00
Robert James Kaes
d5467e404b Implimented the MaxRequestsPerChild directive. 2000-12-09 02:35:30 +00:00
Robert James Kaes
0051208777 Fixed a problem with polling for the number of active threads. No longer
polls. :)
2000-12-08 03:35:07 +00:00
Robert James Kaes
068b0337c5 Fixed MACRO error. 2000-11-23 04:49:26 +00:00
Robert James Kaes
c01af94a1c Fixed spelling mistake. 2000-11-23 04:46:48 +00:00
Robert James Kaes
b023ff577f Changed the filter_host command to filter_url. 2000-11-23 04:46:25 +00:00
Robert James Kaes
b6c6939e0a In the Key Found code, don't display the string in the debug code since it
doesn't exist anymore when we display it. Doh!
2000-10-23 21:46:38 +00:00
Robert James Kaes
1de608ec5c Added the initialization section for the DNS and Anonymous sub systems. 2000-10-23 21:44:43 +00:00
Robert James Kaes
5a5c2adcd8 Added the new_anonymous initialize routine 2000-10-23 21:43:52 +00:00
Robert James Kaes
670fad4a41 Added the new_dnscache routine to initialize the Ternary tree. Also,
removed the garbage collection routine.
2000-10-23 21:42:31 +00:00
Robert James Kaes
91b7c55972 Fixed the insert function to handle a failed insert properly. 2000-09-26 04:59:48 +00:00