519 Commits

Author SHA1 Message Date
Robert James Kaes
0a1f83bbe5 tinyproxy should be installed into the /sbin directory rather than the
/bin directory since it's a network daemon.
2002-05-02 17:34:58 +00:00
Robert James Kaes
82f7a5cba6 Added code to figure out and install the configuration file. 2002-05-02 04:44:03 +00:00
Robert James Kaes
c89813d5d7 Bumped up the version number. 2002-04-29 16:32:20 +00:00
Robert James Kaes
fefedea577 Added the reason why servers_waiting needs to be a signed integer. 2002-04-29 16:31:16 +00:00
Robert James Kaes
3284f365b2 Check the return value of the write_message() function. 2002-04-28 20:03:53 +00:00
Robert James Kaes
ed90a4676f Added more error checking in process_client_headers() and
process_server_headers() functions.

Also, better reporting of errors back to the client.
2002-04-28 20:03:18 +00:00
Robert James Kaes
f79807ac11 Added extra logging information, and made sure that locks were being
released properly.
2002-04-28 18:32:16 +00:00
Robert James Kaes
e4fe04cbaf Clear the total array of threads before any of the threads are created. 2002-04-28 03:09:52 +00:00
Robert James Kaes
577f3cebbf Fixed up the error detection code when relating the pthread functions.
They return 0 if OK, and a positive error code.

Cleaned up the status setting code in thread_main().

Thanks to Hans-Georg Bork for fixing the problem in thread_pool_create()
where the status wasn't set early enough to allow all the threads to be
created.

Added additional logging information to let the admin know what is
happening with the thread creation.
2002-04-28 02:37:01 +00:00
Robert James Kaes
1a8c914dd2 Changed the len type to ssize_t because we need to detect errors in the
recv() call.  Thanks to Tom Cross for discovering this bug.
2002-04-26 19:33:09 +00:00
Robert James Kaes
9554989110 Bumped up the version number. 2002-04-26 16:59:44 +00:00
Robert James Kaes
1d78e63233 Added an assert in hashmap_first() 2002-04-26 16:51:29 +00:00
Robert James Kaes
e9f5b2e75f Check the return value of hashmap_first() 2002-04-26 16:50:55 +00:00
Robert James Kaes
0e7182533c Need to check the return value of hashmap_first() since it could be
negative.
2002-04-26 16:43:20 +00:00
Robert James Kaes
6992c74bba Check to see if request->path is actually allocated before trying to free
it.
2002-04-25 19:20:56 +00:00
Robert James Kaes
284def7321 Fixed up the test for the c_r library. Also, added the -D_REENTRANT
define _always_.
2002-04-25 19:00:03 +00:00
Robert James Kaes
7fe567da94 Changed to the hashmap module, and to the remove_connection_headers()
function.
2002-04-25 18:58:55 +00:00
Robert James Kaes
b4ef24844f First change all the hashmap related calls to use the new API.
The remove_connection_headers() function now handles both the Connection
header _and_ the Proxy-Connection header.
2002-04-25 18:58:08 +00:00
Robert James Kaes
d1031e2c8f The hashmap API changed, so this function needs to be changed as well. 2002-04-25 18:56:43 +00:00
Robert James Kaes
ce51a74045 Removed the hashmap_keys() function and added the "iterator" concept.
This required a bunch of changes to the source (like the inclusion of the
end_iterator member variable.)  All this was required by sites like Yahoo
which send out multiple "Set-Cookie" headers.  tinyproxy needs to handle
this situation correctly.
2002-04-25 18:55:56 +00:00
Robert James Kaes
b5df4f1cf0 hashmap_search() only takes two arguments, so removed the unneeded NULL. 2002-04-25 18:52:09 +00:00
Robert James Kaes
d7c3f23610 bind_address has been moved inside the config structure. Fixed up a
problem where "data" was being freed even if it had not been allocated
(because of an error condition.)
2002-04-24 16:48:34 +00:00
Robert James Kaes
335d787018 Fixed a couple of problems where tinyproxy was trying to free a memory
block which had not been allocated.

Also, the "proxy-connection" to the list of headers we don't pass.
2002-04-24 16:47:19 +00:00
Robert James Kaes
89ada2df28 Moved bind_address inside the config structure. 2002-04-24 16:45:45 +00:00
Robert James Kaes
e7c7c91d71 Added the "Bind" directive. 2002-04-22 19:49:40 +00:00
Robert James Kaes
c5b9ec889e Renamed the LOCKing macros and added assert debugging code. Also, moved
the mutex initialization into a function call so that I can use an
error checking mutex once I figure out how to get it to work on my
computer.
2002-04-22 19:41:17 +00:00
Robert James Kaes
c648ed1bc5 Added the "Bind" directive.
Fixed up the log_message function to store messages until the log file has
been created.
"Proxy-Connection" is not sent along to the remote message.
2002-04-22 19:37:15 +00:00
Robert James Kaes
08077cc9e1 The "Bind" directive sets a binding address which the outgoing connections
will use.
2002-04-22 19:35:24 +00:00
Robert James Kaes
1953348c90 Added the "Proxy-Connection" header to the list of client headers which
are not passed along.
2002-04-22 19:34:50 +00:00
Robert James Kaes
2ec7a4dd72 The log_message() function now stores the messages if the configuration
file has not been read yet.  The reason for this is that we don't know
where to log the messgaes until _after_ the config file has been
processed.
2002-04-22 19:34:20 +00:00
Robert James Kaes
60f61c8f0c Added the "Bind" directive. 2002-04-22 19:33:01 +00:00
Robert James Kaes
aa68eb8540 Whoops. The previous include only had the code conditionally removed.
Remove for real this time.
2002-04-18 21:54:50 +00:00
Robert James Kaes
1db154464e Removed the call to inet_aton() since the gethostbyname() function handles
the dotted-decimal case itself.
2002-04-18 21:53:33 +00:00
Robert James Kaes
60f0a86c75 The stats now wait until after the client has finished sending all its
headers before sending the HTTP response back.  This should be more
standards compliant.
2002-04-18 21:43:53 +00:00
Robert James Kaes
1691feb9bb Bumped the version number to 1.5.0rc4 2002-04-18 18:48:57 +00:00
Robert James Kaes
73a53daf38 Removed the call to hstrerror() in the getpeer_string() function. It's
not available on all machines.
2002-04-18 18:48:22 +00:00
Robert James Kaes
09c7acf9fc Memory leak in the hashmap_delete() function has been fixed. 2002-04-18 18:41:27 +00:00
Robert James Kaes
d14b612e13 Fixed a memory leak in the hashmap_delete function. The array of maps was
not being deleted.
2002-04-18 18:40:38 +00:00
Robert James Kaes
45a96fde12 Changed to vector.c and hashmap.c
Added the debugging_strdup() function.
Fixed a memory leak in get_all_headers.
2002-04-18 18:00:35 +00:00
Robert James Kaes
9a8d732a13 Changed all calls to strdup to safestrdup. This should provide better
memory usage tracking.
2002-04-18 17:59:21 +00:00
Robert James Kaes
a66aae880c Fixed a memory leak in reading in headers from the client or server. 2002-04-18 17:58:52 +00:00
Robert James Kaes
3b5a4b7362 Replaced the explicit header includes with one call to tinyproxy.h. Also,
added the utils.h header and changed all the malloc, calloc, free, and
strdup to the appropriate safe variety.
2002-04-18 17:57:20 +00:00
Robert James Kaes
ce4687fbf9 Added the debuggin_strdup() function and the associated safestrdup()
macro.  Also, added asserts to the other debugging_* functions.
2002-04-18 17:49:14 +00:00
Robert James Kaes
dc18888c83 Bumped up the version number to 1.5.0rc3 2002-04-18 17:04:38 +00:00
Robert James Kaes
43860d2469 Moved the filter_destroy() logic from inside the signal handler. It's now
been moved to inside the main() function.
2002-04-18 17:04:04 +00:00
Robert James Kaes
5822ec3d44 Moved the log rotation code out of the signal handler and into it's own
function.  The signal handler now simply sets a flag which is monitored
inside the thread_main_loop() function.  The log rotation code has also
been tightened to handle any error conditions better.  Credit to Petr
Lampa for suggesting that system functions inside of a signal handler is
bad magic.
2002-04-18 16:57:06 +00:00
Robert James Kaes
6a588826c1 Changes to configure.ac, src/sock.c, src/reqs.c, src/acl.c, src/acl.h,
and src/thread.c
2002-04-17 20:57:58 +00:00
Robert James Kaes
9fd6a9eaa9 Added a test for pthread_cancel() since it's not available on all
platforms.
2002-04-17 20:56:35 +00:00
Robert James Kaes
3e60a5b819 Removed the LOOKUP_LOCK() and LOOKUP_UNLOCK() macros since I believe I
need locking around both gethostbyname() and gethostbyaddr() at the same
time.
2002-04-17 20:56:13 +00:00
Robert James Kaes
1d85484c3a If the initialize_conn() function fails, close the socket and return.
Also, changed the call to check_acl() to include the peer's IP and string
addresses.
2002-04-17 20:55:21 +00:00