Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							478030c6ff 
							
						 
					 
					
						
						
							
							Changed the lookup_domain() function to use the new "dnsserver" API.  
						
						 
						
						... 
						
						
						
						Also moved safe_write(), safe_read(), readline(), and write_message()
functions into their own file. 
						
					 
					
						2002-05-23 18:25:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							47ab97a347 
							
						 
					 
					
						
						
							
							Fixed up a spelling mistake and changed various bits of code to take  
						
						 
						
						... 
						
						
						
						advantage of the fact that the peer's socket information is now stored
inside the connection structure. 
						
					 
					
						2002-05-23 18:24:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1f9085cef2 
							
						 
					 
					
						
						
							
							Added the "DNSserverLocation" and "DNSserverSocket" directives for use  
						
						 
						
						... 
						
						
						
						with the "dnsserver" resolver. 
						
					 
					
						2002-05-23 18:24:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							09b1b9b925 
							
						 
					 
					
						
						
							
							Added the peer's socket information to the connection structure.  The  
						
						 
						
						... 
						
						
						
						information is passed along during the initialization of the structure. 
						
					 
					
						2002-05-23 18:23:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							9d0c65ad86 
							
						 
					 
					
						
						
							
							Fixed up the header includes for the new layout.  
						
						 
						
						... 
						
						
						
						Changed one line of code to make it explicit how the pointers are to be
updated. 
						
					 
					
						2002-05-23 18:22:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							451fad1ed2 
							
						 
					 
					
						
						
							
							Changed the header includes around to reflect the new source layout.  
						
						 
						
						
						
					 
					
						2002-05-23 18:20:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e633b97957 
							
						 
					 
					
						
						
							
							Added code to create the "dnsserver" program, and also reorganized to  
						
						 
						
						... 
						
						
						
						include the various new source files. 
						
					 
					
						2002-05-23 04:43:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1690c05075 
							
						 
					 
					
						
						
							
							Initial addition to CVS.  Moved the three "text" related functions into a  
						
						 
						
						... 
						
						
						
						separate file. 
						
					 
					
						2002-05-23 04:42:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							fd3e6e84fb 
							
						 
					 
					
						
						
							
							Initial addition to CVS.  Moved the network related functions into a  
						
						 
						
						... 
						
						
						
						separate module. 
						
					 
					
						2002-05-23 04:41:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c667952861 
							
						 
					 
					
						
						
							
							Initial addition to CVS.  Moved all the debugging heap related functions.  
						
						 
						
						
						
					 
					
						2002-05-23 04:41:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0b0e03fa39 
							
						 
					 
					
						
						
							
							Initial addition to CVS.  The dnsserver process is a child executable that  
						
						 
						
						... 
						
						
						
						handle DNS resolving. 
						
					 
					
						2002-05-23 04:40:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d22d6d181b 
							
						 
					 
					
						
						
							
							Initial addition to CVS.  These functions create an API for accessing the  
						
						 
						
						... 
						
						
						
						dnsserver child process. 
						
					 
					
						2002-05-23 04:40:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2ee61db6af 
							
						 
					 
					
						
						
							
							Initial addition into CVS.  Moves various functions relating the daemon  
						
						 
						
						... 
						
						
						
						processes.  Added a portable signal handler setting function. 
						
					 
					
						2002-05-23 04:39:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							65cf5ea290 
							
						 
					 
					
						
						
							
							Initial addition to CVS.  This header moves all the system includes from  
						
						 
						
						... 
						
						
						
						the tinyproxy.h file to here. 
						
					 
					
						2002-05-23 04:37:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							700f129750 
							
						 
					 
					
						
						
							
							Set the pointer to NULL after it's been freed()  
						
						 
						
						
						
					 
					
						2002-05-17 16:39:35 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e4e78e0f1b 
							
						 
					 
					
						
						
							
							request->host might have been freed by the time we get to  
						
						 
						
						... 
						
						
						
						free_request_struct(), so make sure it's pointing to memory. 
						
					 
					
						2002-05-17 16:34:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							bb9f206529 
							
						 
					 
					
						
						
							
							Moved the definition of the struct buffer_s into the buffer.c file and out  
						
						 
						
						... 
						
						
						
						of the buffer.h file.  This also required the removal of the BUFFER_SIZE
macro, and replace it with the buffer_size() function. 
						
					 
					
						2002-05-14 00:43:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d46cba8a0b 
							
						 
					 
					
						
						
							
							Added a "tail" pointer to the vector to make insertions more efficient.  
						
						 
						
						
						
					 
					
						2002-05-13 23:32:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							16e96c79e8 
							
						 
					 
					
						
						
							
							Thanks to Justin Guyett for making the hashmap_insert() function use a  
						
						 
						
						... 
						
						
						
						constant time insert.  Explanation: new enteries are added to the _front_
of the chain, rather than search to the end. 
						
					 
					
						2002-05-13 20:02:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							73e3b495e0 
							
						 
					 
					
						
						
							
							Fixed up a potential SEGFAULT if memory for an entry could not be  
						
						 
						
						... 
						
						
						
						allocated.  Also, thanks to Justin Guyett for finding a problem the
hashmap_remove() function.  There was a problem where an entry's "prev"
pointer could be pointing to freed memory.
Finally, renamed all "maps" to bucket to make the source more
understandable. 
						
					 
					
						2002-05-13 18:47:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							cf2ecb83b8 
							
						 
					 
					
						
						
							
							Removed the request logging in the tunnel because it breaks the tunnel  
						
						 
						
						... 
						
						
						
						concept since it blocks waiting for information from the client before any
data from the remote is relayed. 
						
					 
					
						2002-05-08 03:29:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0a1f83bbe5 
							
						 
					 
					
						
						
							
							tinyproxy should be installed into the /sbin directory rather than the  
						
						 
						
						... 
						
						
						
						/bin directory since it's a network daemon. 
						
					 
					
						2002-05-02 17:34:58 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							3284f365b2 
							
						 
					 
					
						
						
							
							Check the return value of the write_message() function.  
						
						 
						
						
						
					 
					
						2002-04-28 20:03:53 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ed90a4676f 
							
						 
					 
					
						
						
							
							Added more error checking in process_client_headers() and  
						
						 
						
						... 
						
						
						
						process_server_headers() functions.
Also, better reporting of errors back to the client. 
						
					 
					
						2002-04-28 20:03:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f79807ac11 
							
						 
					 
					
						
						
							
							Added extra logging information, and made sure that locks were being  
						
						 
						
						... 
						
						
						
						released properly. 
						
					 
					
						2002-04-28 18:32:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e4fe04cbaf 
							
						 
					 
					
						
						
							
							Clear the total array of threads before any of the threads are created.  
						
						 
						
						
						
					 
					
						2002-04-28 03:09:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							577f3cebbf 
							
						 
					 
					
						
						
							
							Fixed up the error detection code when relating the pthread functions.  
						
						 
						
						... 
						
						
						
						They return 0 if OK, and a positive error code.
Cleaned up the status setting code in thread_main().
Thanks to Hans-Georg Bork for fixing the problem in thread_pool_create()
where the status wasn't set early enough to allow all the threads to be
created.
Added additional logging information to let the admin know what is
happening with the thread creation. 
						
					 
					
						2002-04-28 02:37:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1a8c914dd2 
							
						 
					 
					
						
						
							
							Changed the len type to ssize_t because we need to detect errors in the  
						
						 
						
						... 
						
						
						
						recv() call.  Thanks to Tom Cross for discovering this bug. 
						
					 
					
						2002-04-26 19:33:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1d78e63233 
							
						 
					 
					
						
						
							
							Added an assert in hashmap_first()  
						
						 
						
						
						
					 
					
						2002-04-26 16:51:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e9f5b2e75f 
							
						 
					 
					
						
						
							
							Check the return value of hashmap_first()  
						
						 
						
						
						
					 
					
						2002-04-26 16:50:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0e7182533c 
							
						 
					 
					
						
						
							
							Need to check the return value of hashmap_first() since it could be  
						
						 
						
						... 
						
						
						
						negative. 
						
					 
					
						2002-04-26 16:43:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							6992c74bba 
							
						 
					 
					
						
						
							
							Check to see if request->path is actually allocated before trying to free  
						
						 
						
						... 
						
						
						
						it. 
						
					 
					
						2002-04-25 19:20:56 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							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