Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							402b662def 
							
						 
					 
					
						
						
							
							Fix const warning  
						
						 
						
						
						
					 
					
						2009-08-07 03:54:08 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							a21cd7e3ed 
							
						 
					 
					
						
						
							
							Rename tinyproxy.[ch] to main.[ch]  
						
						 
						
						
						
					 
					
						2009-08-07 03:42:53 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Matthew Dempsky 
							
						 
					 
					
						
						
						
						
							
						
						
							b5089fecc7 
							
						 
					 
					
						
						
							
							fix error message formatting  
						
						 
						
						... 
						
						
						
						Signed-off-by: Michael Adam <obnox@samba.org> 
						
					 
					
						2009-08-06 07:33:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							2ca1f9027b 
							
						 
					 
					
						
						
							
							add const to the key argument of anonymous_insert().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-05 00:15:04 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							c6475974b5 
							
						 
					 
					
						
						
							
							add const to the key argument for anonymous_search().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-05 00:14:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							caf20d786b 
							
						 
					 
					
						
						
							
							utils: make headers constant in send_http_message() to reduce compiler warnings  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-05 00:09:41 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							1cdd76af31 
							
						 
					 
					
						
						
							
							http_message_add_headers(): make parameter headers const.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-05 00:09:16 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							867b4c9813 
							
						 
					 
					
						
						
							
							filter_init(): kill implicit cast warnings by adding explicit casts.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:57:30 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							f0a46fd71c 
							
						 
					 
					
						
						
							
							vector: remove implicit cast warning in vector_insert() by adding explicit cast  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:52:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							5b81dec879 
							
						 
					 
					
						
						
							
							vector: remove implicit cast warning in vector_create()  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:51:29 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							0aa45b0d34 
							
						 
					 
					
						
						
							
							child_pool_create(): add to explicit cats to reduce compiler warnings.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							60de38ceaa 
							
						 
					 
					
						
						
							
							child: adapt child_config to contain unsigned integers  
						
						 
						
						... 
						
						
						
						as just changed in get_int_arg.
Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							b4d8c5b9bf 
							
						 
					 
					
						
						
							
							conffile: change [sg]et_int_arg() to return unsigned long int  
						
						 
						
						... 
						
						
						
						This is also the parser regexp for INT in the definition.
Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							23b09947c6 
							
						 
					 
					
						
						
							
							conffile: add explicit cast in get_string_arg().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							35abbbc26d 
							
						 
					 
					
						
						
							
							config_compile(): add an explicit cast.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							0b583194b7 
							
						 
					 
					
						
						
							
							config_compile(): fix as signed / unsigned comparison compiler warning.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							f52be1a2a1 
							
						 
					 
					
						
						
							
							conffile: fix indentation in the directives definition.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							e6ac4b28cd 
							
						 
					 
					
						
						
							
							conffile: fix some missing initializer warnings in the directives definition.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							32c7caf710 
							
						 
					 
					
						
						
							
							conffile: reformat some indentation and linebreak in the directives definition.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							8f955d5543 
							
						 
					 
					
						
						
							
							child: add explicit cast in child_main().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							50dbd61063 
							
						 
					 
					
						
						
							
							buffer: add explicit cast in read_buffer().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							e5e665b0c6 
							
						 
					 
					
						
						
							
							buffer: add explicit cast in new_buffer().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							88dbe04c81 
							
						 
					 
					
						
						
							
							buffer: untangle assignment and check.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							f5c80119ca 
							
						 
					 
					
						
						
							
							buffer: add two explicit casts to reduce compiler warnings in makenewline().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							25344751eb 
							
						 
					 
					
						
						
							
							buffer: untangle assignment from check in makenewline().  
						
						 
						
						... 
						
						
						
						For better debuggability.
Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							ab4df6edb8 
							
						 
					 
					
						
						
							
							check_acl(): initialize "perm" to eliminate compiler warning.  
						
						 
						
						... 
						
						
						
						Provides safe fallback for switch statement, just in case..
Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							14a3e187ee 
							
						 
					 
					
						
						
							
							check_acl(): remove the fd argument - it is not used.  
						
						 
						
						... 
						
						
						
						Host name and IP address are provided instead.
Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							64ff313260 
							
						 
					 
					
						
						
							
							check_acl(): fix function header comment.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							0abd82b7e9 
							
						 
					 
					
						
						
							
							check_acl(): add explicit cast to return value of vector_getentry()  
						
						 
						
						... 
						
						
						
						to reduce compiler warnings.
Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							b9f2325c54 
							
						 
					 
					
						
						
							
							check_acl(): add cast to recuce compiler warning (unsigned / signed comparison)  
						
						 
						
						... 
						
						
						
						vector_lenth() returns < 0 if the vectore is NULL but this has been
checked before, so we can safely cast.
Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							a34276feee 
							
						 
					 
					
						
						
							
							change vector_prepend() to take size_t len instead of ssize_t len argument.  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							67628dcc63 
							
						 
					 
					
						
						
							
							change vector_append() to take size_t len instead of ssize_t len argument  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							590f99ef2d 
							
						 
					 
					
						
						
							
							vector: change vectore_insert() to take size_t len instead of ssize_t len arg  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Adam 
							
						 
					 
					
						
						
						
						
							
						
						
							c2c7245030 
							
						 
					 
					
						
						
							
							remove "discard const" compiler warnings with log_message().  
						
						 
						
						... 
						
						
						
						Michael 
						
					 
					
						2009-08-04 23:47:26 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							0b191f16fe 
							
						 
					 
					
						
						
							
							Indenting change  
						
						 
						
						
						
					 
					
						2008-12-29 13:28:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							024b317de0 
							
						 
					 
					
						
						
							
							Convert tabs to spaces  
						
						 
						
						
						
					 
					
						2008-12-08 13:39:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							6e6f992f8c 
							
						 
					 
					
						
						
							
							Update Tinyproxy website URL  
						
						 
						
						
						
					 
					
						2008-12-08 12:41:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							4c1ede779e 
							
						 
					 
					
						
						
							
							Break at 80 columns  
						
						 
						
						
						
					 
					
						2008-12-08 12:26:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							a257703e59 
							
						 
					 
					
						
						
							
							Reformat code to GNU coding style  
						
						 
						
						... 
						
						
						
						This is a commit which simply ran all C source code files
through GNU indent. No other modifications were made. 
						
					 
					
						2008-12-01 15:01:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							448c19077c 
							
						 
					 
					
						
						
							
							Don't disable the creation of core files  
						
						 
						
						... 
						
						
						
						Creation of core files can be disabled in the OS environment such
as by using the ulimit program. 
						
					 
					
						2008-12-01 14:40:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							fadb98ee55 
							
						 
					 
					
						
						
							
							Add more calls to umask() before mkstemp()  
						
						 
						
						
						
					 
					
						2008-08-24 11:47:50 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							82cd6c765b 
							
						 
					 
					
						
						
							
							Move buffer to the heap due to its size  
						
						 
						
						
						
					 
					
						2008-08-24 11:38:59 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							fce253253a 
							
						 
					 
					
						
						
							
							Set umask before mkstemp() for some versions of glibc  
						
						 
						
						
						
					 
					
						2008-08-24 11:27:38 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							62ddbd5e74 
							
						 
					 
					
						
						
							
							pos can never be less than 0 as it's of type size_t  
						
						 
						
						... 
						
						
						
						Also fix the type which is passed in from various places. 
						
					 
					
						2008-08-24 10:58:16 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							90c1bb4b73 
							
						 
					 
					
						
						
							
							Remove useless check as data can't be NULL at this point  
						
						 
						
						
						
					 
					
						2008-08-24 10:45:29 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							aa95c34004 
							
						 
					 
					
						
						
							
							Allow numeric uid/gids in User and Group directives  
						
						 
						
						... 
						
						
						
						This change allows numeric uid/gids to be specified in the User and
Group directives in tinyproxy.conf. Formerly, only username and group
names were accepted. This fixes bug #15 , which was created after
looking at a case on the OpenWrt wiki.
X-Banu-Bugzilla-Ids: 15 
						
					 
					
						2008-07-14 17:40:20 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							2fe213d777 
							
						 
					 
					
						
						
							
							Fix error variable names that stats.html expects  
						
						 
						
						
						
					 
					
						2008-07-14 17:14:12 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							7e5ac7c58a 
							
						 
					 
					
						
						
							
							Fix a regression where empty error variables caused strlen() to crash  
						
						 
						
						... 
						
						
						
						This fixes a regression (bug #16 ) introduced in
95c1f39f60 , where a NULL check was
removed. This caused NULL error variable values to be sent to
add_error_variable() in which strlen() segfaulted.
With this fix, custom stats pages should be displayed properly.
X-Banu-Bugzilla-Ids: 16 
						
					 
					
						2008-07-14 17:13:06 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							7bdd47d030 
							
						 
					 
					
						
						
							
							Make the embedded error message display valid XHTML too  
						
						 
						
						... 
						
						
						
						Also fix the information that is displayed. 
						
					 
					
						2008-07-14 15:47:00 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							7b9e178a76 
							
						 
					 
					
						
						
							
							Add version info in embedded stats page  
						
						 
						
						
						
					 
					
						2008-07-14 15:46:05 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							7f12f71f94 
							
						 
					 
					
						
						
							
							Add error number as a template parameter for error pages  
						
						 
						
						
						
					 
					
						2008-07-14 15:31:14 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							8b26558254 
							
						 
					 
					
						
						
							
							Make the embedded stats message display valid XHTML too  
						
						 
						
						
						
					 
					
						2008-07-14 15:09:02 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							74f5c3e417 
							
						 
					 
					
						
						
							
							Spruce up error page footers a bit  
						
						 
						
						
						
					 
					
						2008-07-14 15:02:41 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							20a7e61360 
							
						 
					 
					
						
						
							
							Removed obsolete ignore rules  
						
						 
						
						
						
					 
					
						2008-06-19 21:33:20 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							7dcb5f9061 
							
						 
					 
					
						
						
							
							Include values.h to use LONG_MAX and LONG_MIN  
						
						 
						
						
						
					 
					
						2008-06-17 13:44:42 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c8cf89a954 
							
						 
					 
					
						
						
							
							Add strtol conversion error checking  
						
						 
						
						... 
						
						
						
						Moved the strtol() call into fill_netmask_array() and added additional
error checking to ensure that the strtol() call succeeded.
Error checking code taken from strtol() manpage.
Signed-off-by: Robert James Kaes <rjk@wormbytes.ca> 
						
					 
					
						2008-06-17 13:32:20 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							51fb15be2c 
							
						 
					 
					
						
						
							
							Refactored netmask array fill with range check  
						
						 
						
						... 
						
						
						
						When building a numeric ACL with netmask, range check the supplied
value.  In addition, the code to walk the array has been extracted and
"simplified".
Signed-off-by: Robert James Kaes <rjk@wormbytes.ca> 
						
					 
					
						2008-06-17 13:31:04 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							95c1f39f60 
							
						 
					 
					
						
						
							
							Don't check the value to be inserted as it's already checked  
						
						 
						
						... 
						
						
						
						This change primarily avoids a gcc warning where timebuf
is never non-NULL. There is no need to check the value to be
inserted as it's checked inside hashmap_insert().
This changeset also lets error return values from hashmap_insert()
propogate instead of clamping them to -1 (not that these are
currently used anyway). 
						
					 
					
						2008-06-10 09:51:23 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5ea289d82e 
							
						 
					 
					
						
						
							
							Moved transparent proxy code into its own file  
						
						 
						
						... 
						
						
						
						Extracted the transparent proxy logic from reqs.c and placed it into a
separate file.
Signed-off-by: Robert James Kaes <rjk@wormbytes.ca> 
						
					 
					
						2008-06-09 10:01:14 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b092de72f8 
							
						 
					 
					
						
						
							
							Ignore profiling generated files  
						
						 
						
						... 
						
						
						
						The *.pcno files are generated as part of the profiling code.
Signed-off-by: Robert James Kaes <rjk@wormbytes.ca> 
						
					 
					
						2008-06-03 21:51:02 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							cc1f04ecba 
							
						 
					 
					
						
						
							
							Updated copyright header in Makefile.am  
						
						 
						
						
						
					 
					
						2008-05-24 16:24:12 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							6f9ee262e5 
							
						 
					 
					
						
						
							
							Removed unnecessary LDFLAGS variable  
						
						 
						
						
						
					 
					
						2008-05-24 16:21:29 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							b0a3568de0 
							
						 
					 
					
						
						
							
							Renamed htmlerror.[ch] to html-error.[ch]  
						
						 
						
						
						
					 
					
						2008-05-24 13:47:14 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							249d4b7f33 
							
						 
					 
					
						
						
							
							Updated copyright, license notices in source code  
						
						 
						
						... 
						
						
						
						The notices have been changed to a more GNU look. Documentation
comments have been separated from the copyright header. I've tried to
keep all copyright notices intact. Some author contact details have
been updated. 
						
					 
					
						2008-05-24 13:35:49 +05:30  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							b110332ed3 
							
						 
					 
					
						
						
							
							Free arg before returning, or it'll leak  
						
						 
						
						
						
					 
					
						2008-03-30 17:56:45 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							ff72f5426e 
							
						 
					 
					
						
						
							
							Free entry_buffer or it'll be leaked  
						
						 
						
						... 
						
						
						
						vector_append() calls vector_insert() which makes a copy
of the passed buffer, so the caller can free its buffer. 
						
					 
					
						2008-03-30 17:51:51 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							12501d599c 
							
						 
					 
					
						
						
							
							Fixed leaks of va_lists  
						
						 
						
						
						
					 
					
						2008-03-30 17:43:32 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							44d91bdf6b 
							
						 
					 
					
						
						
							
							Removed obsolete lexer/parser files  
						
						 
						
						
						
					 
					
						2008-03-30 16:33:08 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Andrew Stribblehill 
							
						 
					 
					
						
						
						
						
							
						
						
							fdf7e4ea8b 
							
						 
					 
					
						
						
							
							Added more patterns to .gitignore  
						
						 
						
						
						
					 
					
						2008-03-19 15:11:13 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							b11c74637f 
							
						 
					 
					
						
						
							
							Fixed format string warnings  
						
						 
						
						
						
					 
					
						2008-03-13 15:09:30 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							fc62283164 
							
						 
					 
					
						
						
							
							Removed the clean target from the src directory  
						
						 
						
						... 
						
						
						
						This was overriding the automake clean target to clean up
files like *.o by default. 
						
					 
					
						2008-03-13 15:09:26 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							8848b647d7 
							
						 
					 
					
						
						
							
							Corrected datatype of salen to fix compiler warning  
						
						 
						
						
						
					 
					
						2008-03-13 15:09:21 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							31766cce90 
							
						 
					 
					
						
						
							
							Renamed file to replace underscores in it with dashes  
						
						 
						
						
						
					 
					
						2008-03-13 15:07:43 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							d5472ec0bd 
							
						 
					 
					
						
						
							
							Renamed file to replace underscores in it with dashes  
						
						 
						
						
						
					 
					
						2008-03-13 15:07:37 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Mukund Sivaraman 
							
						 
					 
					
						
						
						
						
							
						
						
							376caf8f25 
							
						 
					 
					
						
						
							
							Renamed .cvsignore to .gitignore  
						
						 
						
						
						
					 
					
						2008-03-13 15:07:29 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2f5118046d 
							
						 
					 
					
						
						
							
							Added support for UPSTREAM directive.  
						
						 
						
						... 
						
						
						
						Included the basic grammar and handler functions for the "upstream" and
"no upstream" directives.  I still need to update the grammar to match
_all_ the possibilities documented in the tinyproxy.conf file, but at
least it now does as much as the old config parser. 
						
					 
					
						2005-11-04 05:15:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							72e1731092 
							
						 
					 
					
						
						
							
							Reformatted the reverse and filter configuration blocks.  If either  
						
						 
						
						... 
						
						
						
						section is not enabled at compile time, it should not be included in the
object file. 
						
					 
					
						2005-11-04 01:31:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ffec04c65e 
							
						 
					 
					
						
						
							
							Fixed up whitespace formatting of the config file directives.  Also  
						
						 
						
						... 
						
						
						
						added blank lines to group related directives. 
						
					 
					
						2005-11-04 00:47:07 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4c58663041 
							
						 
					 
					
						
						
							
							* [Refactor] Moved Reverse Proxy Code  
						
						 
						
						... 
						
						
						
						Moved the reverse proxy code from reqs.c into it's own files
(reverse_proxy.c).  The code in reqs.c is way too complicated, so I
want to move unrelated code into their own files to simplify the main
concepts in reqs.c. 
						
					 
					
						2005-08-16 04:03:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							808bdbd1e9 
							
						 
					 
					
						
						
							
							* [Indent] Fixed typedef Formatting  
						
						 
						
						... 
						
						
						
						Added the list of tinyproxy typedefs to the indent command to have them
formatted correctly as well. 
						
					 
					
						2005-08-15 18:35:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c0299e1868 
							
						 
					 
					
						
						
							
							* [Indent] Ran Source Through indent  
						
						 
						
						... 
						
						
						
						I re-indented the source code using indent with the following options:
indent -kr -bad -bap -nut -i8 -l80 -psl -sob -ss -ncs
There are now _no_ tabs in the source files, and all indentation is
eight spaces.  Lines are 80 characters long, and the procedure type is
on it's own line.  Read the indent manual for more information about
what each option means. 
						
					 
					
						2005-08-15 03:54:31 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							38f0b3a103 
							
						 
					 
					
						
						
							
							* Specified Correct typedef in getsock_ip()  
						
						 
						
						... 
						
						
						
						Changed the variable type for the namelen variable to the correct
socklen_t type.  The configure script already checked for it, but for
some reason I never got around to actually using it in this function. 
						
					 
					
						2005-07-12 20:34:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a59117c7ca 
							
						 
					 
					
						
						
							
							* Updated Copyright Email Addresses  
						
						 
						
						... 
						
						
						
						Updated the copyright email addresses for Robert James Kaes.  The
users.sourceforge.net address should always exist. 
						
					 
					
						2005-07-12 17:39:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							6042483a0e 
							
						 
					 
					
						
						
							
							Removed the proxy-* headers from the list of headers to skip.  Since  
						
						 
						
						... 
						
						
						
						tinyproxy does not prompt for any proxy information from the client, it
should not be eating the proxy headers.  They are most likely needed by
an upstream proxy. 
						
					 
					
						2005-07-06 21:44:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							51096e2944 
							
						 
					 
					
						
						
							
							* [1118363] Proxy reverse order of headers  
						
						 
						
						... 
						
						
						
						Changed the internal implementation of the hashmap to maintain the
  insert order if the same key is repeated.  The insertion is still
  constant since we keep track of the head and tail of the bucket
  chain. 
						
					 
					
						2005-05-03 20:34:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							019b91c3f9 
							
						 
					 
					
						
						
							
							(takesig): Fixed the return type to use the autoconf defined  
						
						 
						
						... 
						
						
						
						RETSIGTYPE.  This is portable, while simply using "void" is not. 
						
					 
					
						2004-08-24 16:36:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c446e19003 
							
						 
					 
					
						
						
							
							Added code to handle HTTP/0.9 simple GET requests.  
						
						 
						
						
						
					 
					
						2004-08-24 16:35:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							79d40a536a 
							
						 
					 
					
						
						
							
							(get_bool_arg): Moved the initialization of "p" _before_ the assert()  
						
						 
						
						... 
						
						
						
						calls.  The code doesn't compile under gcc 2.95 otherwise.  (I'm
surprised it compiles under gcc 3.3 without a problem.) 
						
					 
					
						2004-08-24 16:34:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							35196f7d8e 
							
						 
					 
					
						
						
							
							Changed some of the variable types so that the code compiles cleanly  
						
						 
						
						... 
						
						
						
						on other operating systems.  (Used cf.sourceforge.net as the test
system for cross compiling.) 
						
					 
					
						2004-08-24 16:33:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d41260fe2d 
							
						 
					 
					
						
						
							
							Fixed up the acl_s structure so that it compiles correctly under  
						
						 
						
						... 
						
						
						
						gcc 2.95. 
						
					 
					
						2004-08-24 16:31:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							93fbb5ff49 
							
						 
					 
					
						
						
							
							Changed the calls to the config_compile() and config_parse()  
						
						 
						
						... 
						
						
						
						functions.  Also, if the "logfile" directive is used, it will now
override use of the syslog system.  Added an error message if neither
is defined. 
						
					 
					
						2004-08-14 03:21:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5c02939533 
							
						 
					 
					
						
						
							
							(log_message): Added a fsync() call after each line outputted to the  
						
						 
						
						... 
						
						
						
						log file. 
						
					 
					
						2004-08-14 03:20:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c5307363be 
							
						 
					 
					
						
						
							
							Reorganized the source code.  Added the missing reverse proxy  
						
						 
						
						... 
						
						
						
						directives.  Added a bunch of comments to clarify how the code works. 
						
					 
					
						2004-08-14 03:18:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							9f4323a562 
							
						 
					 
					
						
						
							
							Removed the last code relating to the old configuration parsing  
						
						 
						
						... 
						
						
						
						system.  The grammar.y and scanner.l files still need to be removed. 
						
					 
					
						2004-08-14 00:37:51 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							52562b49df 
							
						 
					 
					
						
						
							
							Removed the grammar.y and scanner.l files from the list of files  
						
						 
						
						... 
						
						
						
						required by tinyproxy. 
						
					 
					
						2004-08-13 21:04:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							febb521bfd 
							
						 
					 
					
						
						
							
							Added some error logging information for directives that are  
						
						 
						
						... 
						
						
						
						conditionally compiled.  Still need to add info messages for the
directives. 
						
					 
					
						2004-08-13 21:03:58 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1d2e4fc2c3 
							
						 
					 
					
						
						
							
							Change the code to use the new config_parse() method rather than the  
						
						 
						
						... 
						
						
						
						flex/bison based configuration system. 
						
					 
					
						2004-08-13 21:03:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							9d04667848 
							
						 
					 
					
						
						
							
							Added the new configuration parsing system (conffile.c and  
						
						 
						
						... 
						
						
						
						conffile.h.)  The new system is intended to replace the existing
grammar.y and scanner.l files.  I don't want to depend on flex/bison
any longer. 
						
					 
					
						2004-08-13 20:19:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b3943c21f2 
							
						 
					 
					
						
						
							
							(check_allowed_connect_ports): By default DENY any CONNECT requests  
						
						 
						
						... 
						
						
						
						unless explicitly allowed by a configuration directive. 
						
					 
					
						2004-08-12 20:15:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							28dd133623 
							
						 
					 
					
						
						
							
							(add_xtinyproxy_header): Removed the runtime error checking of the  
						
						 
						
						... 
						
						
						
						connptr->server_fd variable and moved it into an assert since we
should never be called with invalid data.  Also made the function an
inline function since it's only called in one place. 
						
					 
					
						2004-08-12 19:57:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							924da17c17 
							
						 
					 
					
						
						
							
							Completely rewrote the ACL functionality.  The new system is intended  
						
						 
						
						... 
						
						
						
						to handle IPv6 style addresses along with the existing IPv4 and string
addresses.  In addition, the hand-rolled "list" code has been replaced
with a vector (code reuse.)  Also, the code should be a little easier
to understand (relatively speaking.)
I do need to add some kind of testing framework (in general) to check
that the new code does work with all the formats that will be thrown
at it. 
						
					 
					
						2004-08-11 20:09:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							fd4b67bbb4 
							
						 
					 
					
						
						
							
							(strip_username_password): Removed one of the pointer variables since  
						
						 
						
						... 
						
						
						
						it's no longer needed.  Reorganized the function to make it more
obvious what was actually being done. 
						
					 
					
						2004-08-11 02:49:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							badc7673d0 
							
						 
					 
					
						
						
							
							Merged in changes from 1.6.3  
						
						 
						
						
						
					 
					
						2004-08-10 21:24:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							18df4910a4 
							
						 
					 
					
						
						
							
							Added the "BindSame" configure directive from Oswald Buddenhagen.  
						
						 
						
						... 
						
						
						
						This allows tinyproxy to respond to a request bound to the same
interface that the request came in on.  As Oswald explains:
  "attached is a patch that adds the BindSame option. it causes
  binding an outgoing connection to the ip address of the respective
  incoming connection. that way one can simulate an entire proxy farm
  with a single instance of tinyproxy on a multi-homed machine."
Cool. 
						
					 
					
						2004-04-27 18:53:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							3b961ec66b 
							
						 
					 
					
						
						
							
							(init_stats): Fixed a memset bug, where the structure was not cleared  
						
						 
						
						... 
						
						
						
						properly.  (The sizeof "struct stat" was being used rather than the
proper "struct stat_s".  On my system, "struct stat" is 88 bytes long,
while "struct stat_s" is 20 bytes long.  Quite a difference!) 
						
					 
					
						2004-04-27 18:48:53 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							095d0d0142 
							
						 
					 
					
						
						
							
							These files list all the other files that CVS should ignore.  It makes  
						
						 
						
						... 
						
						
						
						looking at the CVS status information a little cleaner. 
						
					 
					
						2004-04-27 18:28:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5ecd9157ce 
							
						 
					 
					
						
						
							
							Converted the various socket functions to work with both IPv4 and IPv6  
						
						 
						
						... 
						
						
						
						addresses. 
						
					 
					
						2004-02-18 20:18:53 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c21df1ea0f 
							
						 
					 
					
						
						
							
							Added two functions:  
						
						 
						
						... 
						
						
						
						- get_ip_string() converts a binary network address into either a
   dotted-decimal IPv4 address, or a IPv6 hex-string
 - full_inet_pton() converts a numeric character string into an IPv6
   network address (binary form).  It's like the system inet_pton()
   function, but it will work with bot IPv4 and IPv6 character
   strings.
These functions are required for the conversion to Internet protocol
independence.  (Or to put it more clearly: allow tinyproxy to work in
an IPv6 network.) 
						
					 
					
						2004-02-18 20:17:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							aee5a63849 
							
						 
					 
					
						
						
							
							Removed unnecessary casts (mostly dealing with memory allocation.)  I  
						
						 
						
						... 
						
						
						
						should never have added them in the first place.  They don't really
buy anything, and they can hide bugs. 
						
					 
					
						2004-02-13 21:27:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							bf22966f55 
							
						 
					 
					
						
						
							
							(strip_return_port): Patch from "alex" to strip the port from the host  
						
						 
						
						... 
						
						
						
						string and return the port.  I cleaned up and added error handling to
the code, but it's basically "alex"'s fix.
(extract_http_url): Rewrote this function to remove all the sscanf()
calls.  It's much easier to just split on the path slash (if it's
present) and then strip the user name/password and port from the host
string.  Less code, handles more cases! 
						
					 
					
						2004-02-04 19:57:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0a8e4e4d8d 
							
						 
					 
					
						
						
							
							Added reverse proxy support from Kim Holviala.  His comments regarding  
						
						 
						
						... 
						
						
						
						this addition follow:
  The patch implements a simple reverse proxy (with one funky extra
  feature). It has all the regular features: mapping remote servers to local
  namespace (ReversePath), disabling forward proxying (ReverseOnly) and HTTP
  redirect rewriting (ReverseBaseURL).
  The funky feature is this: You map Google to /google/ and the Google front
  page opens up fine. Type in stuff and click "Google Search" and you'll get
  an error from tinyproxy. Reason for this is that Google's form submits to
  "/search" which unfortunately bypasses our /google/ mapping (if they'd
  submit to "search" without the slash it would have worked ok). Turn on
  ReverseMagic and it starts working....
  ReverseMagic "hijacks" one cookie which it sends to the client browser.
  This cookie contains the current reverse proxy path mapping (in the above
  case /google/) so that even if the site uses absolute links the reverse
  proxy still knows where to map the request.
  And yes, it works. No, I've never seen this done before - I couldn't find
  _any_ working OSS reverse proxies, and the commercial ones I've seen try
  to parse the page and fix all links (in the above case changing "/search"
  to "/google/search"). The problem with modifying the html is that it might
  not be parsable (very common) or it might be encoded so that the proxy
  can't read it (mod_gzip or likes).
  Hope you like that patch. One caveat - I haven't coded with C in like
  three years so my code might be a bit messy.... There shouldn't be any
  security problems thou, but you never know. I did all the stuff out of my
  memory without reading any RFC's, but I tested everything with Moz, Konq,
  IE6, Links and Lynx and they all worked fine. 
						
					 
					
						2004-01-26 19:11:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f2d846d057 
							
						 
					 
					
						
						
							
							Merged in changes from the 1.6.2 release. (Fixes for the filtering code  
						
						 
						
						... 
						
						
						
						and the HTML installation script.) 
						
					 
					
						2003-10-17 16:11:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d2098f638f 
							
						 
					 
					
						
						
							
							tinyproxy no longer includes a fall-back regular expression library,  
						
						 
						
						... 
						
						
						
						so these files needed to be modified to only use the system's
installed regular expression library. 
						
					 
					
						2003-08-07 16:32:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d72fa83245 
							
						 
					 
					
						
						
							
							Removed the included regular expression library, since it should come  
						
						 
						
						... 
						
						
						
						standard on any reasonably modern system. 
						
					 
					
						2003-08-07 16:29:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7eb4eba381 
							
						 
					 
					
						
						
							
							# Merged in changes from the stable 1.6 branch.  
						
						 
						
						
						
					 
					
						2003-08-07 15:31:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							fd23cd4aed 
							
						 
					 
					
						
						
							
							# Fixed a comment to actually reflect what the function does.  
						
						 
						
						
						
					 
					
						2003-08-05 16:11:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a117ed9cb0 
							
						 
					 
					
						
						
							
							Included patches from Steven Young to use the hashmap functionality to  
						
						 
						
						... 
						
						
						
						manage the HTML error pages.  It simplifies the source, and also make
the object file smaller.  Nice.  Also added any casting from (void*)
to ensure that the code compiles using a C++ compiler. 
						
					 
					
						2003-08-01 00:14:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							15870a9582 
							
						 
					 
					
						
						
							
							Added appropriate casts (void*) casts to allow the code to compile  
						
						 
						
						... 
						
						
						
						cleanly using a C++ compiler.
Changed the servers_waiting variable to an unsigned int, since the
number of servers waiting can never be negative, and added an assert()
to ensure this invariant. 
						
					 
					
						2003-07-31 23:44:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							bc77dfb492 
							
						 
					 
					
						
						
							
							(debugging_realloc): Removed the assert for the NULL pointer, since  
						
						 
						
						... 
						
						
						
						realloc() can take a NULL pointer, as defined by the realloc() man
page.
Fixed the cast in both safefree() macros to compile cleaning using a
C++ compiler. 
						
					 
					
						2003-07-31 23:42:51 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5a2af49e58 
							
						 
					 
					
						
						
							
							Fixed the cast in both safefree() macros to compile cleaning using a  
						
						 
						
						... 
						
						
						
						C++ compiler. 
						
					 
					
						2003-07-31 23:41:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							8a6a94db0a 
							
						 
					 
					
						
						
							
							# Fixed a preprocessor test (misspelled __cplusplus)  
						
						 
						
						
						
					 
					
						2003-07-31 23:40:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							6aaa863432 
							
						 
					 
					
						
						
							
							Added appropriate casts from (void*) so that the code will compile  
						
						 
						
						... 
						
						
						
						cleanly with a C++ compiler.  (Tested using GCC 3.3) 
						
					 
					
						2003-07-31 23:38:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7c96935552 
							
						 
					 
					
						
						
							
							(indicate_http_error): Added calls to va_end() before leaving the  
						
						 
						
						... 
						
						
						
						function. 
						
					 
					
						2003-07-14 17:42:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a4cd3eb9ec 
							
						 
					 
					
						
						
							
							# Removed the debugging information.  
						
						 
						
						
						
					 
					
						2003-06-26 18:26:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a8798e999b 
							
						 
					 
					
						
						
							
							# Added debugging flags for the flex scanner.  
						
						 
						
						
						
					 
					
						2003-06-26 18:23:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1cb032a934 
							
						 
					 
					
						
						
							
							(upstream_add): Rewrote the function to actually handle the various  
						
						 
						
						... 
						
						
						
						types of upstream configurations correctly.  Hopefully, the code is
also a little clearer in it's implementation. 
						
					 
					
						2003-06-26 18:19:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							988f243286 
							
						 
					 
					
						
						
							
							# Removed the STRING_ADDRESS token since it was conflicting with the  
						
						 
						
						... 
						
						
						
						IDENTIFIER directive and also the keyword directives. 
						
					 
					
						2003-06-26 18:17:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							db142b6e23 
							
						 
					 
					
						
						
							
							Modified the patterns to allow the new upstream directives to work as  
						
						 
						
						... 
						
						
						
						defined in the tinyproxy.conf documentation. 
						
					 
					
						2003-06-26 18:16:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2736a19518 
							
						 
					 
					
						
						
							
							(debugging_free): Rather than assert on a NULL pointer, log the NULL  
						
						 
						
						... 
						
						
						
						pointer and return. 
						
					 
					
						2003-06-26 18:14:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ddcac5ae09 
							
						 
					 
					
						
						
							
							Added a test to define INADDR_NONE if it's not present.  For example,  
						
						 
						
						... 
						
						
						
						SunOS (solaris 2.8) does not include this define.  [Thank to Ben
Hartshorne for pointing this out.] 
						
					 
					
						2003-06-25 18:20:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4c9141aac6 
							
						 
					 
					
						
						
							
							Removed the "ViaHeader" directive and replaced it with the  
						
						 
						
						... 
						
						
						
						"ViaProxyName" directive.  The "Via" HTTP header is _required_ by the
HTTP spec, so the code has been changed to always send the header.
However, including the proxy's host name could be considered a
security threat, so the "ViaProxyName" directive is used to set the
token sent in the "Via" header.  If the directive is not enabled the
proxy's host name will be used. 
						
					 
					
						2003-06-20 17:02:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b081019d5a 
							
						 
					 
					
						
						
							
							(connect_to_upstream): Fixed an off-by-one error in the snprintf()  
						
						 
						
						... 
						
						
						
						call used to build the URL for the upstream proxy. [Patch suggested by
David T. Pierso] 
						
					 
					
						2003-06-06 16:14:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							91e082671a 
							
						 
					 
					
						
						
							
							(upstream_get):  
						
						 
						
						... 
						
						
						
						(upstream_add): Added support to allow ip addresses and networks to be
used when matching an upstream proxy directive.
[Code by Peter da Silva] 
						
					 
					
						2003-06-02 21:55:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ea50171a95 
							
						 
					 
					
						
						
							
							Changed the safefree() macro to make it safe to use a conditional  
						
						 
						
						... 
						
						
						
						statement, and also safe to use with a rvalue that has a side
effect.  [Bug fix recommended by Peter da Silva] 
						
					 
					
						2003-05-31 23:04:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							77ca1c8ce0 
							
						 
					 
					
						
						
							
							# Changed all the for calls to use the != test rather than < test.  
						
						 
						
						... 
						
						
						
						The change was recommended in the C/C++ User Journal magazine. 
						
					 
					
						2003-05-31 23:02:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							af5e1e29f6 
							
						 
					 
					
						
						
							
							# Changed the calls to vector_getentry() to use the new calling  
						
						 
						
						... 
						
						
						
						convention. 
						
					 
					
						2003-05-30 16:22:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1955dcd47b 
							
						 
					 
					
						
						
							
							(vector_getentry): Changed the API to return the data pointer and have  
						
						 
						
						... 
						
						
						
						the length returned in a argument variable pointer.  This should be a
more natural way of using the function. 
						
					 
					
						2003-05-30 16:21:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c3eaebd1c5 
							
						 
					 
					
						
						
							
							# Added a vector_prepend() function and recoded the old vector_insert()  
						
						 
						
						... 
						
						
						
						to be a general "insert" for both vector_append() and vector_prepend() 
						
					 
					
						2003-05-29 21:07:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							8ab278998f 
							
						 
					 
					
						
						
							
							# Renamed the vector_insert() calls to vector_append()  
						
						 
						
						
						
					 
					
						2003-05-29 20:48:25 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							42f9f37afc 
							
						 
					 
					
						
						
							
							(vector_append): Renamed the vector_insert() function to more  
						
						 
						
						... 
						
						
						
						accurately indicate that entries are appended to the end of the
vector. 
						
					 
					
						2003-05-29 20:47:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4a377a712d 
							
						 
					 
					
						
						
							
							Improved the upstream proxy support by making the upstream proxy  
						
						 
						
						... 
						
						
						
						server configurable based on the destination host.  [Code written by
Peter da Silva] 
						
					 
					
						2003-05-29 19:44:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5e1303ecd1 
							
						 
					 
					
						
						
							
							(establish_http_connection): If the port being requested is not a  
						
						 
						
						... 
						
						
						
						standard HTTP port (80 or 443) append the port string to the host
header; otherwise, leave the host string with only the host's domain
name.
Replaced all occurrences of constant 80 and 443 with defines HTTP_PORT
and HTTP_PORT_SSL. 
						
					 
					
						2003-05-05 16:46:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ac88af1f71 
							
						 
					 
					
						
						
							
							Fixed a bug that would kill a child process because of an invalid  
						
						 
						
						... 
						
						
						
						safefree() call.  Basically, destroy_conn() was trying to free memory
not allocated by malloc.  [Fix by David T. Pierson] 
						
					 
					
						2003-05-04 04:35:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c94bfa8223 
							
						 
					 
					
						
						
							
							(build_url): Rebuild the URL from the component pieces.  This function  
						
						 
						
						... 
						
						
						
						is used by the transparent proxy code.  [Anatole Shaw]
(process_request): Fixed up the transparent proxy code so that
filtering can be done on the whole URL.  [Anatole Shaw]
(pull_client_data): Added a bug fix for Internet Explorer (IE).  IE
will leave an extra CR and LF after the data in an HTTP POST.  The new
code will eat the extra bytes if they're present.  Thanks to Yannick
Koehler for finding the bug and offering an explanation as to why it
was happening.
Changed all calls of connptr->remote_content_length to
connptr->content_length.server 
						
					 
					
						2003-04-16 18:11:58 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							648e8f1438 
							
						 
					 
					
						
						
							
							# Changed it again to this time use the TINYPROXY_DEBUG environment  
						
						 
						
						... 
						
						
						
						variable to determine whether to wait for a connection from GDB. 
						
					 
					
						2003-04-16 18:04:58 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4a942bc59a 
							
						 
					 
					
						
						
							
							# The programmer is now made to _explicitly_ enable the GDB support in  
						
						 
						
						... 
						
						
						
						the child handling function. 
						
					 
					
						2003-04-16 16:39:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							6ff4192069 
							
						 
					 
					
						
						
							
							Removed the remote_content_length field in the "conn" structure and  
						
						 
						
						... 
						
						
						
						replaced it with a smaller structure containing both the remote/server
and the local/client content-length fields if they're present in the
HTTP response headers. 
						
					 
					
						2003-04-16 16:37:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							bcf25dc67e 
							
						 
					 
					
						
						
							
							(add_error_variable): Test whether connptr->error_variable is NULL,  
						
						 
						
						... 
						
						
						
						and if so call safemalloc().  This is needed since saferealloc() will
assert() if the first argument is a NULL pointer. 
						
					 
					
						2003-04-01 16:41:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7cd19206cc 
							
						 
					 
					
						
						
							
							(establish_http_connection): Always include the port number for the  
						
						 
						
						... 
						
						
						
						requested server.  This fixes a problem when the server is not
listening on the default port, 80.
[Fix suggested by duncan@sapio.co.uk ] 
						
					 
					
						2003-03-26 16:47:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							63a7914830 
							
						 
					 
					
						
						
							
							# Moved the location of the "initializing" log message to below the  
						
						 
						
						... 
						
						
						
						processing of the command line options. 
						
					 
					
						2003-03-17 04:24:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d2c9ffac23 
							
						 
					 
					
						
						
							
							Made get_html_file() and lookup_variable() static functions since they  
						
						 
						
						... 
						
						
						
						are only used with this file. 
						
					 
					
						2003-03-14 22:49:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5faa0879ec 
							
						 
					 
					
						
						
							
							# Added copyright notices for Steve.  Reformatted the source code to  
						
						 
						
						... 
						
						
						
						better match the existing tinyproxy practise.  Included a few bug
  fixes from Steve. 
						
					 
					
						2003-03-14 22:45:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							cc90414b29 
							
						 
					 
					
						
						
							
							(send_http_message): Changed the function to use the new http_message  
						
						 
						
						... 
						
						
						
						API. 
						
					 
					
						2003-03-14 06:15:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c76183a3f0 
							
						 
					 
					
						
						
							
							# Updated all the calls to indicate_http_error() to include a  
						
						 
						
						... 
						
						
						
						terminating NULL.  The va_arg() function requires it to work
  properly. 
						
					 
					
						2003-03-14 06:13:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							75dd0b22c4 
							
						 
					 
					
						
						
							
							Allow the URL for the statistic page to be controlled from the  
						
						 
						
						... 
						
						
						
						configuration file, rather than being hard-coded in the program.
[John M Wright] 
						
					 
					
						2003-03-13 21:42:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a46bfdc2e0 
							
						 
					 
					
						
						
							
							Moved the send_http_error_message() and indicate_http_error()  
						
						 
						
						... 
						
						
						
						functions into the htmlerror.c file, and recoded them to use the new
variable substitution system. [Steven Young] 
						
					 
					
						2003-03-13 21:34:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							badd237fe6 
							
						 
					 
					
						
						
							
							# Added variables to config structure to keep track of the files to be  
						
						 
						
						... 
						
						
						
						displayed for various HTTP errors and the stats page. [Steven Young] 
						
					 
					
						2003-03-13 21:32:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b06f26cba1 
							
						 
					 
					
						
						
							
							# Changed showstats() to use the HTML variable functions when  
						
						 
						
						... 
						
						
						
						possible.  It still retains the hard-coded page for when an HTML file
  is not available. [Steven Young] 
						
					 
					
						2003-03-13 21:31:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							cb8aaf521e 
							
						 
					 
					
						
						
							
							# Changed calls to indicate_http_error() to use the new HTML variable  
						
						 
						
						... 
						
						
						
						substitution mechanism. [Steven Young] 
						
					 
					
						2003-03-13 21:29:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7995027c8c 
							
						 
					 
					
						
						
							
							# Added parser support for the error file configuration keywords  
						
						 
						
						... 
						
						
						
						(ErrorFile, DefaultErrorFile, StatFile) [Steven Young] 
						
					 
					
						2003-03-13 21:28:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							056bbf84bd 
							
						 
					 
					
						
						
							
							# Added variables to keep track of the variables to be substituted in  
						
						 
						
						... 
						
						
						
						.html files displayed to the client [Steven Young] 
						
					 
					
						2003-03-13 21:27:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a830af5097 
							
						 
					 
					
						
						
							
							# Steve Young's code to implement file based HTML error messages,  
						
						 
						
						... 
						
						
						
						rather than the hard coded string. 
						
					 
					
						2003-03-13 21:25:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d28d9fb195 
							
						 
					 
					
						
						
							
							# Added htmlerror.c and htmlerror.h  
						
						 
						
						
						
					 
					
						2003-03-13 21:23:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2057ffdb50 
							
						 
					 
					
						
						
							
							# Changed the wording of the header comment to remove the reference to  
						
						 
						
						... 
						
						
						
						"dnsserver" 
						
					 
					
						2003-03-13 19:31:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							99ec965544 
							
						 
					 
					
						
						
							
							# (child_main): If this is a debugging build output the child process  
						
						 
						
						... 
						
						
						
						ID and wait for 10 seconds so we have time to connect gdb to the
  child.  This is needed if we want to use gdb against the child
  process. 
						
					 
					
						2003-03-13 19:30:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0a3a1d7c71 
							
						 
					 
					
						
						
							
							Fixed up the include order for the <sys/time.h> and <time.h> headers.  
						
						 
						
						
						
					 
					
						2003-03-13 16:56:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e04ff12768 
							
						 
					 
					
						
						
							
							# Include the http_message.[ch] into the compiled tinyproxy object.  
						
						 
						
						
						
					 
					
						2003-03-13 05:28:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							686826c3b0 
							
						 
					 
					
						
						
							
							An API to handle HTTP messages as concrete entities.  
						
						 
						
						
						
					 
					
						2003-03-13 05:25:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2f9370afe7 
							
						 
					 
					
						
						
							
							(chomp): Fixed up the code to prevent negative array access.  Added  
						
						 
						
						... 
						
						
						
						code to make sure the supplied arguments are valid. 
						
					 
					
						2003-03-13 05:20:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							20d3008c38 
							
						 
					 
					
						
						
							
							(main): Removed duplicate code calling the filter_destroy() function.  
						
						 
						
						... 
						
						
						
						Once is enough.  [Detected by John M Wright] 
						
					 
					
						2003-02-26 22:37:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							40c4d3c57a 
							
						 
					 
					
						
						
							
							# (connect_to_upstream): Improved the preprocessor directives to make  
						
						 
						
						... 
						
						
						
						sure the function would compile cleanly regardless of how the
  directive was set. 
						
					 
					
						2003-01-28 21:21:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2f98fec1aa 
							
						 
					 
					
						
						
							
							# Style clean up.  
						
						 
						
						
						
					 
					
						2003-01-27 18:45:25 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							abbf826445 
							
						 
					 
					
						
						
							
							(display_usage): Removed the output line mentioning that regular  
						
						 
						
						... 
						
						
						
						expression support was included.  It will be there always. 
						
					 
					
						2003-01-27 18:44:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2fc9c76969 
							
						 
					 
					
						
						
							
							(connect_to_upstream): Reorganized the preprocessor directives to make  
						
						 
						
						... 
						
						
						
						sure the function's symbol name is stored, even if upstream was not
compiled it.  This should keep some compilers from reporting errors. 
						
					 
					
						2003-01-27 18:42:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							cb7e3eef04 
							
						 
					 
					
						
						
							
							Added support for conditionally using case sensitive filtering files.  
						
						 
						
						... 
						
						
						
						Code changes from James E. Flemer. 
						
					 
					
						2003-01-27 17:57:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							212abd64d7 
							
						 
					 
					
						
						
							
							(process_client_headers): Fixed inverted anonymous header logic.  Fix  
						
						 
						
						... 
						
						
						
						comes from the FreeBSD port through James E. Flemer. 
						
					 
					
						2003-01-27 17:39:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							59ec5dc69f 
							
						 
					 
					
						
						
							
							(strip_username_password): New function to remove any  
						
						 
						
						... 
						
						
						
						username/password part from the host URI.
(extract_http_url), (extract_ssl_url): Use the new
strip_username_password function to remove any non-host information
from the URI. 
						
					 
					
						2002-12-04 17:36:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0a20bdd5b4 
							
						 
					 
					
						
						
							
							Removed the "bool_t" type since it conflicts with the newer C standards.  
						
						 
						
						... 
						
						
						
						The type was just replaced by "unsigned int" types. 
						
					 
					
						2002-12-04 17:06:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d069b4fce9 
							
						 
					 
					
						
						
							
							(extract_http_url): Removed the leading "http://" from all the tests,  
						
						 
						
						... 
						
						
						
						since it's skipped by the caller before the URL is passed to this
function.
(process_request): Include code to handle proxy FTP requests as
well.  This also lead to a bit of a cleanup in the calling conventions
of extract_http_url function.  tinyproxy can handle both types of
resources by skipping the leading :// part. 
						
					 
					
						2002-11-29 19:25:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e58343012f 
							
						 
					 
					
						
						
							
							Included code to disable the sending of the Via header.  This is now  
						
						 
						
						... 
						
						
						
						controlled by the ViaHeader configure directive. 
						
					 
					
						2002-11-26 21:44:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c826b18437 
							
						 
					 
					
						
						
							
							(child_main): Cleaned up the notice string to be more clear why a  
						
						 
						
						... 
						
						
						
						child is being closed. 
						
					 
					
						2002-11-21 21:54:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							22df8c29e4 
							
						 
					 
					
						
						
							
							(main): Check to see if the PID file was created successfully, and if  
						
						 
						
						... 
						
						
						
						not report this to the user and close the program. 
						
					 
					
						2002-11-21 21:52:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							48df7d401c 
							
						 
					 
					
						
						
							
							# Changed the return type for pidfile_create() to int from void.  
						
						 
						
						
						
					 
					
						2002-11-21 21:52:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							820832a647 
							
						 
					 
					
						
						
							
							(create_file_safely): Rather than exiting the program if there is an  
						
						 
						
						... 
						
						
						
						error, a negative "error code" is returned to the program.  The
various callers then need to decide what to do.
(pidfile_create): Returns an error status depending on whether the PID
file was created successfully. 
						
					 
					
						2002-11-21 21:51:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d40a4e8af7 
							
						 
					 
					
						
						
							
							(relay_connection): Shutdown the client socket for writing once all  
						
						 
						
						... 
						
						
						
						the data has been sent. 
						
					 
					
						2002-11-13 17:48:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a1e24ac839 
							
						 
					 
					
						
						
							
							(destroy_conn): Added code to log any error messages when the sockets  
						
						 
						
						... 
						
						
						
						are closed. 
						
					 
					
						2002-11-13 17:47:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							3b2be8ae88 
							
						 
					 
					
						
						
							
							Removed all the code supporting the TCP tunnelling feature of  
						
						 
						
						... 
						
						
						
						tinyproxy.  There is really no need for this code, since there are
perfectly good programs out there (like rinetd) which are designed for
TCP tunnelling.  tinyproxy should be a good HTTP proxy, nothing more,
and nothing less; therefore, the tunnelling code is gone. 
						
					 
					
						2002-11-03 17:10:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							69be2b84d7 
							
						 
					 
					
						
						
							
							(relay_connection): Ivan pointed out a bug with the code to send any  
						
						 
						
						... 
						
						
						
						remaining data to the server when the connections are being closed.
It was a one line fix. 
						
					 
					
						2002-10-17 19:27:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1d39f204ca 
							
						 
					 
					
						
						
							
							Fixed up the storing and sending of the internal tinyproxy logs prior  
						
						 
						
						... 
						
						
						
						to when the log file is created.  Also, the log file is created with
the proper owner permissions. 
						
					 
					
						2002-10-03 20:53:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							745c40650b 
							
						 
					 
					
						
						
							
							#Style formatting change.  
						
						 
						
						
						
					 
					
						2002-10-03 20:50:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							942f22989a 
							
						 
					 
					
						
						
							
							The internal log structure now uses a vector rather than a hash.  This  
						
						 
						
						... 
						
						
						
						change was required to actually display all the logs in the correct
order.  Also, all log lines are stored internally while tinyproxy is
starting.  At the appropriate point all the logs are written to the
log file. 
						
					 
					
						2002-10-03 20:49:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7fd291f407 
							
						 
					 
					
						
						
							
							Filtering is now case insensitive.  
						
						 
						
						
						
					 
					
						2002-10-03 20:40:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2b44dbd7e4 
							
						 
					 
					
						
						
							
							#(makedaemon): Commented out the closing of the standard file  
						
						 
						
						... 
						
						
						
						descriptors since we need them to display error messages. 
						
					 
					
						2002-10-03 20:38:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ac881909bf 
							
						 
					 
					
						
						
							
							(child_main): Check to make sure memory could be allocated to handle  
						
						 
						
						... 
						
						
						
						the child request.
(child_main_loop): Added a call to truncate_log_file() when the log
file is to be rotated. 
						
					 
					
						2002-10-03 20:33:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f8b5fe53e7 
							
						 
					 
					
						
						
							
							(main): Fixed up a bug reported by Oswald Buddenha where the log file was being initially created with the initial user's permissions, which is obviously a problem if tinyproxy is not running as the initial user.  This is now fixed by delaying the creation of the log file until _after_ tinyproxy has been switched to the user it will run as.  Confused yet?  
						
						 
						
						
						
					 
					
						2002-07-12 17:02:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ab574cbec0 
							
						 
					 
					
						
						
							
							(create_file_safely):  
						
						 
						
						... 
						
						
						
						(pidfile_create): Changed all the error logging to write to standard error and then exit the program.  This will prevent segmentation fault problems from occurring because the log file could not be created properly. 
						
					 
					
						2002-07-09 19:02:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4932b87fc9 
							
						 
					 
					
						
						
							
							(malloc_shared_memory): Changed the static character array to include the ".XXXXXX" string already.  This saves one system call when creating a temporary file name.  
						
						 
						
						
						
					 
					
						2002-07-09 18:52:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e50d0c4072 
							
						 
					 
					
						
						
							
							(child_make): Reset the various signals to the default signal handler so that the children can be properly destroyed.  
						
						 
						
						
						
					 
					
						2002-06-27 16:29:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f0d7992765 
							
						 
					 
					
						
						
							
							(log_message): Changed the code so that the log is opened, written, and closed whenever a message is submitted.  This allows the log file to be moved away, for example a rotating the log, and yet still have the information written to the correct file name by all the children.  
						
						 
						
						
						
					 
					
						2002-06-15 17:37:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ac5d67c11a 
							
						 
					 
					
						
						
							
							Renamed the "log_rotation_request" boolean to "received_sighup".  
						
						 
						
						... 
						
						
						
						(main): Removed the log file creation code because it has been moved into the log.c file.  Also, removed the explicit fclose() for the log file since it will be close when the program has exited. 
						
					 
					
						2002-06-15 17:35:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							8a9db93977 
							
						 
					 
					
						
						
							
							(child_main_loop): Moved the filter re-initiation code into the loop.  This code is activated whenever the SIGHUP signal is received.  
						
						 
						
						
						
					 
					
						2002-06-15 17:31:31 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							fb688a2077 
							
						 
					 
					
						
						
							
							Removed the "logf" FILE structure from the config structure, and also renamed the "log_rotation_request" boolean to "received_sighup".  
						
						 
						
						
						
					 
					
						2002-06-15 17:29:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2f84b170a6 
							
						 
					 
					
						
						
							
							Removed the rotate_log_files() function since I'm moving to an Apache style where the _user_ needs to move the log file themselves, and tinyproxy will continue to write to the original name.  This allows more flexibility for users to determine their own log rotation scheme.  
						
						 
						
						
						
					 
					
						2002-06-15 17:28:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1f2fe53c4b 
							
						 
					 
					
						
						
							
							Added myself to the copyright since I've made a bunch of changes to this file.  
						
						 
						
						
						
					 
					
						2002-06-07 19:10:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							7e1de2012c 
							
						 
					 
					
						
						
							
							Added code to handle the "FilterDefaultDeny" directive.  The filter_set_default_policy() function is used to select the default policy (either default allow or default deny) for the filtering code.  Also, the two filtering functions now support the policy code.  
						
						 
						
						
						
					 
					
						2002-06-07 18:36:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							ff56e32e8e 
							
						 
					 
					
						
						
							
							Added the "FilterDefaultDeny" directive to allow the user to select whether the default policy of the filter is to allow everything which isn't denied, or to deny everything which isn't allowed.  
						
						 
						
						
						
					 
					
						2002-06-07 18:29:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f47685c861 
							
						 
					 
					
						
						
							
							A bunch of changes from Petr Lampa that add transparent proxy support to tinyproxy.  The additional code is in process_request(), but Petr also had to change around some of the other functions (like process_client_headers and handle_connection.)  Note: Right now this code has not been tested, but it is believed to work.  To enable run ./configure --enable-transparent-proxy  
						
						 
						
						
						
					 
					
						2002-06-06 20:32:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							0242d89877 
							
						 
					 
					
						
						
							
							(filter_domain): Removed code which stripped of a port number from the host name.  The "host" variable will _always_ be just the name by the time filter_domain() is called.  
						
						 
						
						
						
					 
					
						2002-06-06 20:30:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							06d38ce529 
							
						 
					 
					
						
						
							
							(display_usage): Added a message indicating whether transparent proxy support has been compiled in.  
						
						 
						
						
						
					 
					
						2002-06-06 20:28:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a72fc7ad09 
							
						 
					 
					
						
						
							
							Added a warning message to the Bind directive stating that it will be ignored if "transparent proxy" has been compiled into tinyproxy.  
						
						 
						
						
						
					 
					
						2002-06-06 20:26:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2b5a3625bc 
							
						 
					 
					
						
						
							
							(send_stored_logs): Actually included the code to output the stored logs.  Plus, there was a bug with how I was calling the hashmap_is_end() function.  This has now been fixed.  
						
						 
						
						
						
					 
					
						2002-06-06 20:24:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e440dee245 
							
						 
					 
					
						
						
							
							(child_main): Added a DEBUG call to let me know which process has accepted a connection.  This is needed for debugging using "gdb".  
						
						 
						
						
						
					 
					
						2002-06-05 17:02:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							89dee022e5 
							
						 
					 
					
						
						
							
							(malloc_shared_memory): Removed the assert() call for shared_file since it's now a static variable.  
						
						 
						
						
						
					 
					
						2002-06-05 17:01:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b697ebf16b 
							
						 
					 
					
						
						
							
							(acl_string_processing): Moved the string processing code out of check_acl() and into it's own function because it now does two (2) tests.  If the ACL string is a complete host name, in other words doesn't start with a period, than a reverse DNS look-up is done on the host name and compared to the IP address of the client; otherwise, the normal text string comparison is done.  
						
						 
						
						... 
						
						
						
						(check_acl): Moved the string text out of the function and removed some logging code by jumping to the "Deny" code at the end of the function. 
						
					 
					
						2002-06-05 16:59:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							02f3bdf5ff 
							
						 
					 
					
						
						
							
							Added a boolean "truncate_file" flag for the create_file_safely() function.  
						
						 
						
						
						
					 
					
						2002-05-31 18:27:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							833186b7be 
							
						 
					 
					
						
						
							
							(create_file_safely): Added the "truncate_file" boolean flag.  This is needed since I use this function for both the log file and the pid file, and they behave differently when tinyproxy is started.  
						
						 
						
						... 
						
						
						
						(pidfile_create): Call create_file_safely() with a TRUE "truncate_file" flag so that the file is emptied whenever the pid file is needed. 
						
					 
					
						2002-05-31 18:26:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e340b3371b 
							
						 
					 
					
						
						
							
							The log file is now opened in "append" mode so that you can restart tinyproxy without losing the log file.  
						
						 
						
						
						
					 
					
						2002-05-31 18:24:36 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							26a983b467 
							
						 
					 
					
						
						
							
							(process_server_headers): Since we're stripping off the carriage return and newline, we need to add them back on when sending the response header to the client.  
						
						 
						
						
						
					 
					
						2002-05-31 18:09:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							f548ce72b2 
							
						 
					 
					
						
						
							
							(getpeer_information): Fixed a problem retrieving the FQDN of a host because I was passing in an incorrect parameter to gethostbyaddr().  D'oh.  
						
						 
						
						
						
					 
					
						2002-05-31 18:08:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							12fc92828c 
							
						 
					 
					
						
						
							
							(malloc_shared_memory): Removed the MMAP_ANON and open("/dev/zero") since they are not portable across a while enough spectrum of machines.  Right now tinyproxy is using a "classic" temporary file method of sharing memory.  This will likely be improved in the future.  
						
						 
						
						
						
					 
					
						2002-05-29 20:51:35 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							360deb4568 
							
						 
					 
					
						
						
							
							Changed the tests on the return value from malloc_shared_memory() to make tinyproxy more portable, since we can't be certain that "if (!ret_value)" would actually detect a mmap() error.  
						
						 
						
						
						
					 
					
						2002-05-29 20:49:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							9b13e9bda8 
							
						 
					 
					
						
						
							
							(add_header_to_connection): Removed the "double_cgi" boolean, since tinyproxy now ignores all the headers after a "double CGI" situation has occurred.  
						
						 
						
						... 
						
						
						
						(get_all_headers): Instead of dropping duplicate headers when the "double CGI" situation occurs, tinyproxy will now drop _all_ the headers from the "inner" HTTP response. 
						
					 
					
						2002-05-29 18:11:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							5fcb8553da 
							
						 
					 
					
						
						
							
							(init_stats): Fixed a spelling mistake where the number of bytes being allocated was incorrect.  
						
						 
						
						
						
					 
					
						2002-05-29 17:31:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							e7fcb5fc7d 
							
						 
					 
					
						
						
							
							(add_header_to_connection): Added a boolean to indicate that a "Double CGI" situation is in affect.  This is needed to solve a problem with some sites (like cgi.ebay.com) where they are sending two HTTP response lines (and associated headers) with a response.  
						
						 
						
						... 
						
						
						
						(get_all_headers): Detect if a "Double CGI" situation has occured. 
						
					 
					
						2002-05-28 20:40:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							cf2bd809fb 
							
						 
					 
					
						
						
							
							(get_all_headers): Added code to ignore a "response" line in a header.  This was pointed out as being a problem with eBay (cgi.ebay.com)  
						
						 
						
						... 
						
						
						
						(process_server_headers): Added code to make skip blank lines before a response line. 
						
					 
					
						2002-05-28 04:53:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							4ce9674365 
							
						 
					 
					
						
						
							
							(process_request): Changed the filtering code around to handle both domains and URLs.  
						
						 
						
						
						
					 
					
						2002-05-27 02:00:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							35d3d79e92 
							
						 
					 
					
						
						
							
							Added into the config structure the filter_urls and filter_extended flags.  
						
						 
						
						
						
					 
					
						2002-05-27 01:59:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							d64dfc5d77 
							
						 
					 
					
						
						
							
							Some spelling fixes.  
						
						 
						
						
						
					 
					
						2002-05-27 01:58:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							83a1a32f2a 
							
						 
					 
					
						
						
							
							(opensock): Changed a comment around to better state what the code is actually doing.  
						
						 
						
						
						
					 
					
						2002-05-27 01:57:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b11015c2e1 
							
						 
					 
					
						
						
							
							Added a copyright for James E. Flemer since these are his changes.  
						
						 
						
						... 
						
						
						
						(filter_init): Added code to handle both host and URLs.  Also include code to use extended regular expressions.
(filter_domain): The old filter_url function has been renamed filter_domain().
(filter_url): This function now actually filters complete URLs. 
						
					 
					
						2002-05-27 01:56:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							026c7d9a3d 
							
						 
					 
					
						
						
							
							Added support for the "FilterURLs" and "FilterExtended" directives.  
						
						 
						
						... 
						
						
						
						These directives were submitted by James Flemer for use with the new
filtering code. 
						
					 
					
						2002-05-27 01:52:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							514182a05f 
							
						 
					 
					
						
						
							
							(display_license): Updated the copyright dates  
						
						 
						
						... 
						
						
						
						(main): Moved the signals around so that the appropriate signal is assigned to either the children or just the parrent process.
Updated the copyright on the file. 
						
					 
					
						2002-05-27 00:46:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							9910c06bd2 
							
						 
					 
					
						
						
							
							Removed the "dnsserver" program all together, and changed the names of  
						
						 
						
						... 
						
						
						
						some of the files. 
						
					 
					
						2002-05-26 18:56:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							2e6ab58f37 
							
						 
					 
					
						
						
							
							Added the malloc_shared_memory() and calloc_shared_memory() function to  
						
						 
						
						... 
						
						
						
						allow the use of shared memory between all the children. 
						
					 
					
						2002-05-26 18:56:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							63f481c61a 
							
						 
					 
					
						
						
							
							Spelling changes (from thread to child.)  
						
						 
						
						
						
					 
					
						2002-05-26 18:55:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							6cc0dce1b4 
							
						 
					 
					
						
						
							
							Removed the directives for the old DNSserver process.  
						
						 
						
						
						
					 
					
						2002-05-26 18:54:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							49b21c7e2f 
							
						 
					 
					
						
						
							
							The stats structure has been moved into a shared memory block since it  
						
						 
						
						... 
						
						
						
						needs to be shared by all the children. 
						
					 
					
						2002-05-26 18:53:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a67fb30bdf 
							
						 
					 
					
						
						
							
							Removed all the code relating to the DNS API (dnsclient.h) as it's no  
						
						 
						
						... 
						
						
						
						longer needed with the new pre-forked model. 
						
					 
					
						2002-05-26 18:52:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							523f2003fa 
							
						 
					 
					
						
						
							
							Removed the DNS API calls and replaced them with the standard  
						
						 
						
						... 
						
						
						
						gethostbyname() and gethostbyaddr() functions.  This is possible
because tinyproxy now uses a standard pre-forked() method. 
						
					 
					
						2002-05-26 18:51:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							71046cd407 
							
						 
					 
					
						
						
							
							Removed the "pthread" related includes.  
						
						 
						
						
						
					 
					
						2002-05-26 18:49:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							c35e56ae66 
							
						 
					 
					
						
						
							
							No longer using a threading model; so these files have been replaced by  
						
						 
						
						... 
						
						
						
						the child.c/child.h files (which use a pre-forked model.) 
						
					 
					
						2002-05-26 18:48:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							1fda8899b1 
							
						 
					 
					
						
						
							
							I didn't like the DNS co-process design so I changed tinyproxy from a  
						
						 
						
						... 
						
						
						
						threading model to a standard pre-forked model.  This means I don't need
the DNS co-process files.  Gone. 
						
					 
					
						2002-05-26 18:47:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b3e657a00e 
							
						 
					 
					
						
						
							
							Changed from using a threading model to a standard pre-forked model.  
						
						 
						
						... 
						
						
						
						Therefore the thread.c file has been removed and this file replaces it.
These files are really just the thread.c and thread.h files with all the
threading stuff replaced with fork() code.  Most of the code is identical. 
						
					 
					
						2002-05-26 18:45:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							391a408eee 
							
						 
					 
					
						
						
							
							Fixed a tonne of spelling mistakes.  
						
						 
						
						
						
					 
					
						2002-05-24 04:45:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							a34db10d65 
							
						 
					 
					
						
						
							
							Fixed some spelling mistakes, and removed the getpeer_ip() and  
						
						 
						
						... 
						
						
						
						getpeer_string() functions as they've been replaced by the
getpeer_information() function. 
						
					 
					
						2002-05-24 04:44:36 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							b77fc5c860 
							
						 
					 
					
						
						
							
							Moved most of the function into separate files: the heap debugging  
						
						 
						
						... 
						
						
						
						functions are in "heap.c"; the daemon functions are in "daemon.c"; and,
the string/text functions are in "text.c". 
						
					 
					
						2002-05-23 18:28:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							52c15029d1 
							
						 
					 
					
						
						
							
							Moved all the system header includes into the common.h file.  
						
						 
						
						
						
					 
					
						2002-05-23 18:27:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Robert James Kaes 
							
						 
					 
					
						
						
						
						
							
						
						
							16386fbb70 
							
						 
					 
					
						
						
							
							Added a new signal handler to handle SIGCHLD signals because of the new  
						
						 
						
						... 
						
						
						
						dnsserver child process.
Changed the set signal calls to use our new set_signal_handler() function.
Added code to start the "dnsserver" child process. 
						
					 
					
						2002-05-23 18:27:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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