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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							42098699db 
							
						 
					 
					
						
						
							
							Removed the close(connfd) call since the socket has already been closed  
						
						 
						
						... 
						
						
						
						from within the handle_connection() function.
Added tests to make sure pthread_create() succeeds.
Added defined tests for pthread_cancel() since it's not available on all
platforms. 
						
					 
					
						2002-04-17 20:54:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							44bbdb2623 
							
						 
					 
					
						
						
							
							Changed the check_acl() function to require the peer IP address and string  
						
						 
						
						... 
						
						
						
						address from the calling function. 
						
					 
					
						2002-04-17 20:52:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							04da777bed 
							
						 
					 
					
						
						
							
							Removed the duplicate calls to strlen().  
						
						 
						
						
						
					 
					
						2002-04-16 03:22:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0e4436a070 
							
						 
					 
					
						
						
							
							Tightened the lookup_domain() function.  
						
						 
						
						
						
					 
					
						2002-04-16 03:21:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ca10b1353d 
							
						 
					 
					
						
						
							
							Various code clean up.  There is nothing new here, just mechanical changes  
						
						 
						
						... 
						
						
						
						to the source to either remove code which is not needed, or consolidate
common code into a common section. 
						
					 
					
						2002-04-16 03:20:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c722851bce 
							
						 
					 
					
						
						
							
							Cleaned up the return values of the two anonymous functions to make the  
						
						 
						
						... 
						
						
						
						code cleaner and smaller. 
						
					 
					
						2002-04-16 03:19:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4b7de22999 
							
						 
					 
					
						
						
							
							Added a test to make sure the "whole_buffer" could be allocated.  
						
						 
						
						
						
					 
					
						2002-04-15 04:16:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							550145d49e 
							
						 
					 
					
						
						
							
							Changed the variable type in read_request_line() to an unsigned variable  
						
						 
						
						... 
						
						
						
						in order to detect negative returns. 
						
					 
					
						2002-04-15 04:14:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f0b6861998 
							
						 
					 
					
						
						
							
							Added an assert() call to detect design errors.  
						
						 
						
						
						
					 
					
						2002-04-15 04:13:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a5d3212751 
							
						 
					 
					
						
						
							
							Changed the error boolean flag into a pointer to an error string and an  
						
						 
						
						... 
						
						
						
						error code.  We're storing this information because tinyproxy doesn't
output the error information until _after_ the client has sent it's
information. 
						
					 
					
						2002-04-15 02:07:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c86d22226f 
							
						 
					 
					
						
						
							
							Added additional error handling for the bind() and listen() system calls  
						
						 
						
						... 
						
						
						
						when setting up the listening socket. 
						
					 
					
						2002-04-13 19:03:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							be47c1791d 
							
						 
					 
					
						
						
							
							Modified the opensock() function to respect the Listen directive.  If it's  
						
						 
						
						... 
						
						
						
						set, bind all outgoing addresses to this local address. 
						
					 
					
						2002-04-13 05:20:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ecb249f424 
							
						 
					 
					
						
						
							
							Added code to support the new ConnectPort directive which is needed to  
						
						 
						
						... 
						
						
						
						improve security of the tinyproxy system.  This new directive allows the
admin to block CONNECT methods to illegal ports. 
						
					 
					
						2002-04-12 17:00:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							660e4d5687 
							
						 
					 
					
						
						
							
							Added the support code to process a ConnectPort configuration directive.  
						
						 
						
						
						
					 
					
						2002-04-12 16:59:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f1a451faea 
							
						 
					 
					
						
						
							
							Added a write_via_header() function which is now used in both header  
						
						 
						
						... 
						
						
						
						processing functions.  Also, added a list of headers to drop in the
process server header functions. 
						
					 
					
						2002-04-12 03:09:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							85a82af5f5 
							
						 
					 
					
						
						
							
							Did a bit of consolidation by moving code into remove_connection_headers()  
						
						 
						
						... 
						
						
						
						and added the get_content_length() function.
The process_server_headers() function was rewritten to remove the
Connection header correctly, and also retrieve the Content-Length value.
This value is needed in the relay_connection() function since there are
some remote machines which do not properly close down the connection once
the body has been retrieved.  Thanks to James Flemer for finding a test
case for this problem. 
						
					 
					
						2002-04-11 20:44:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ce06f27a35 
							
						 
					 
					
						
						
							
							Added the remote_content_length variable to store the number of bytes the  
						
						 
						
						... 
						
						
						
						remote server is supposed to be transmiting to the client. 
						
					 
					
						2002-04-11 20:27:51 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							abdfa8b2da 
							
						 
					 
					
						
						
							
							Removed the dependency on LIBOBJS and instead use the ADDITIONAL_OBJECTS  
						
						 
						
						... 
						
						
						
						variable in conjunction with _DEPENDENCIES and _LDADD.  The change here
makes filter a "required" module in the sense that it will always be
compiled (to make sure it doesn't get out of date), but it will
conditionally included in the object file. 
						
					 
					
						2002-04-10 21:51:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a903b6d997 
							
						 
					 
					
						
						
							
							Added an extra new line at the end of the file to quiet picky compilers.  
						
						 
						
						... 
						
						
						
						:) 
						
					 
					
						2002-04-10 17:29:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4fa5cef491 
							
						 
					 
					
						
						
							
							The malloc/free functions should be in stdlib.h, but if we can't find  
						
						 
						
						... 
						
						
						
						stdlib.h then try including malloc.h.  Maybe this will allow clean
compiling on some platforms. 
						
					 
					
						2002-04-09 22:02:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							eef4559783 
							
						 
					 
					
						
						
							
							Removed the compare_header() function since it's been replaced by a call  
						
						 
						
						... 
						
						
						
						the anonymous_search().
Added a few more log_message() calls to better explain error conditions.
Fixed up a problem with X-Tinyproxy sending logic. 
						
					 
					
						2002-04-09 20:06:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0c5bd57698 
							
						 
					 
					
						
						
							
							Added more include logic code to be more portable.  
						
						 
						
						
						
					 
					
						2002-04-09 20:05:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7409281e34 
							
						 
					 
					
						
						
							
							Replaced the internally used linked list with a call to the hashmap  
						
						 
						
						... 
						
						
						
						module.  Code reuse is a good thing. 
						
					 
					
						2002-04-09 20:04:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							3c631c6e5c 
							
						 
					 
					
						
						
							
							James Flemer cleaned up the make_netmask() function to remove the static  
						
						 
						
						... 
						
						
						
						table.  Very nice. 
						
					 
					
						2002-04-09 19:11:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2f54303d98 
							
						 
					 
					
						
						
							
							Cleaned up the include lines to be slightly more portable (I hope.)  
						
						 
						
						
						
					 
					
						2002-04-09 16:28:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							eb78e5e1f4 
							
						 
					 
					
						
						
							
							Added the cancelation setting to make sure the thread stops immediately.  
						
						 
						
						
						
					 
					
						2002-04-09 00:37:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0d66719c5a 
							
						 
					 
					
						
						
							
							Just moved the looping code from main() into thread_main_loop().  
						
						 
						
						
						
					 
					
						2002-04-08 21:35:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							bf82c863bc 
							
						 
					 
					
						
						
							
							Just a variable name change to make it easier to read.  
						
						 
						
						
						
					 
					
						2002-04-07 21:37:07 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1d52d9d510 
							
						 
					 
					
						
						
							
							Updated the copyright notice.  
						
						 
						
						
						
					 
					
						2002-04-07 21:36:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							fb736ec3fb 
							
						 
					 
					
						
						
							
							A _tonne_ of changes.  It would almost be easier to just read the source  
						
						 
						
						... 
						
						
						
						itself to find out all the changes.  Changed the process_client_header()
function to use the hashmap and vector modules.  I've made this change to
better handle the Connection header.  The Connection header, it it's
present, lists all the headers which should _not_ be transmitted any
further along.  An HTTP/1.1 proxy must respect this.
Other changes are basically cosmetic. 
						
					 
					
						2002-04-07 21:35:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5e9aa90009 
							
						 
					 
					
						
						
							
							Update the list of source code files to include the vector and hashmap  
						
						 
						
						... 
						
						
						
						files. 
						
					 
					
						2002-04-07 21:33:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							97a72783f5 
							
						 
					 
					
						
						
							
							Cleaned up some of the code to handle errors better.  Also, a little bit  
						
						 
						
						... 
						
						
						
						easier to read in the variable department. 
						
					 
					
						2002-04-07 21:32:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5b3658b122 
							
						 
					 
					
						
						
							
							A hashmap implementation.  I use this for storing the headers from the  
						
						 
						
						... 
						
						
						
						client. 
						
					 
					
						2002-04-07 21:30:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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