summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2002-04-24Fixed a couple of problems where tinyproxy was trying to free a memoryRobert James Kaes1-4/+7
block which had not been allocated. Also, the "proxy-connection" to the list of headers we don't pass.
2002-04-24Moved bind_address inside the config structure.Robert James Kaes3-7/+5
2002-04-22Renamed the LOCKing macros and added assert debugging code. Also, movedRobert James Kaes1-23/+40
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-22The "Bind" directive sets a binding address which the outgoing connectionsRobert James Kaes1-4/+4
will use.
2002-04-22Added the "Proxy-Connection" header to the list of client headers whichRobert James Kaes1-1/+2
are not passed along.
2002-04-22The log_message() function now stores the messages if the configurationRobert James Kaes4-9/+73
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-22Added the "Bind" directive.Robert James Kaes2-4/+14
2002-04-18Whoops. The previous include only had the code conditionally removed.Robert James Kaes1-9/+1
Remove for real this time.
2002-04-18Removed the call to inet_aton() since the gethostbyname() function handlesRobert James Kaes1-1/+3
the dotted-decimal case itself.
2002-04-18The stats now wait until after the client has finished sending all itsRobert James Kaes3-9/+15
headers before sending the HTTP response back. This should be more standards compliant.
2002-04-18Removed the call to hstrerror() in the getpeer_string() function. It'sRobert James Kaes1-3/+2
not available on all machines.
2002-04-18Fixed a memory leak in the hashmap_delete function. The array of maps wasRobert James Kaes1-1/+2
not being deleted.
2002-04-18Changed all calls to strdup to safestrdup. This should provide betterRobert James Kaes4-9/+9
memory usage tracking.
2002-04-18Fixed a memory leak in reading in headers from the client or server.Robert James Kaes1-4/+12
2002-04-18Replaced the explicit header includes with one call to tinyproxy.h. Also,Robert James Kaes2-53/+30
added the utils.h header and changed all the malloc, calloc, free, and strdup to the appropriate safe variety.
2002-04-18Added the debuggin_strdup() function and the associated safestrdup()Robert James Kaes2-5/+43
macro. Also, added asserts to the other debugging_* functions.
2002-04-18Moved the filter_destroy() logic from inside the signal handler. It's nowRobert James Kaes1-6/+6
been moved to inside the main() function.
2002-04-18Moved the log rotation code out of the signal handler and into it's ownRobert James Kaes5-55/+86
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-17Removed the LOOKUP_LOCK() and LOOKUP_UNLOCK() macros since I believe IRobert James Kaes1-12/+4
need locking around both gethostbyname() and gethostbyaddr() at the same time.
2002-04-17If the initialize_conn() function fails, close the socket and return.Robert James Kaes1-3/+5
Also, changed the call to check_acl() to include the peer's IP and string addresses.
2002-04-17Removed the close(connfd) call since the socket has already been closedRobert James Kaes1-9/+32
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-17Changed the check_acl() function to require the peer IP address and stringRobert James Kaes2-13/+7
address from the calling function.
2002-04-16Removed the duplicate calls to strlen().Robert James Kaes1-5/+4
2002-04-16Tightened the lookup_domain() function.Robert James Kaes1-3/+2
2002-04-16Various code clean up. There is nothing new here, just mechanical changesRobert James Kaes1-67/+43
to the source to either remove code which is not needed, or consolidate common code into a common section.
2002-04-16Cleaned up the return values of the two anonymous functions to make theRobert James Kaes1-9/+7
code cleaner and smaller.
2002-04-15Added a test to make sure the "whole_buffer" could be allocated.Robert James Kaes1-3/+5
2002-04-15Changed the variable type in read_request_line() to an unsigned variableRobert James Kaes1-2/+2
in order to detect negative returns.
2002-04-15Added an assert() call to detect design errors.Robert James Kaes1-2/+6
2002-04-15Changed the error boolean flag into a pointer to an error string and anRobert James Kaes5-28/+54
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-13Added additional error handling for the bind() and listen() system callsRobert James Kaes1-3/+11
when setting up the listening socket.
2002-04-13Modified the opensock() function to respect the Listen directive. If it'sRobert James Kaes1-1/+17
set, bind all outgoing addresses to this local address.
2002-04-12Added code to support the new ConnectPort directive which is needed toRobert James Kaes2-2/+74
improve security of the tinyproxy system. This new directive allows the admin to block CONNECT methods to illegal ports.
2002-04-12Added the support code to process a ConnectPort configuration directive.Robert James Kaes2-2/+6
2002-04-12Added a write_via_header() function which is now used in both headerRobert James Kaes1-40/+67
processing functions. Also, added a list of headers to drop in the process server header functions.
2002-04-11Did a bit of consolidation by moving code into remove_connection_headers()Robert James Kaes1-37/+106
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-11Added the remote_content_length variable to store the number of bytes theRobert James Kaes2-2/+7
remote server is supposed to be transmiting to the client.
2002-04-10Removed the dependency on LIBOBJS and instead use the ADDITIONAL_OBJECTSRobert James Kaes1-7/+5
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-10Added an extra new line at the end of the file to quiet picky compilers.Robert James Kaes1-2/+2
:)
2002-04-09The malloc/free functions should be in stdlib.h, but if we can't findRobert James Kaes1-4/+5
stdlib.h then try including malloc.h. Maybe this will allow clean compiling on some platforms.
2002-04-09Removed the compare_header() function since it's been replaced by a callRobert James Kaes1-15/+7
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-09Added more include logic code to be more portable.Robert James Kaes1-2/+7
2002-04-09Replaced the internally used linked list with a call to the hashmapRobert James Kaes1-58/+23
module. Code reuse is a good thing.
2002-04-09James Flemer cleaned up the make_netmask() function to remove the staticRobert James Kaes1-15/+3
table. Very nice.
2002-04-09Cleaned up the include lines to be slightly more portable (I hope.)Robert James Kaes2-5/+6
2002-04-09Added the cancelation setting to make sure the thread stops immediately.Robert James Kaes1-1/+4
2002-04-08Just moved the looping code from main() into thread_main_loop().Robert James Kaes2-21/+28
2002-04-07Just a variable name change to make it easier to read.Robert James Kaes1-2/+2
2002-04-07Updated the copyright notice.Robert James Kaes1-2/+2
2002-04-07A _tonne_ of changes. It would almost be easier to just read the sourceRobert James Kaes1-163/+228
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.