summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2002-04-25Removed the hashmap_keys() function and added the "iterator" concept.Robert James Kaes
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-25hashmap_search() only takes two arguments, so removed the unneeded NULL.Robert James Kaes
2002-04-24bind_address has been moved inside the config structure. Fixed up aRobert James Kaes
problem where "data" was being freed even if it had not been allocated (because of an error condition.)
2002-04-24Fixed a couple of problems where tinyproxy was trying to free a memoryRobert James Kaes
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 Kaes
2002-04-22Renamed the LOCKing macros and added assert debugging code. Also, movedRobert James Kaes
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 Kaes
will use.
2002-04-22Added the "Proxy-Connection" header to the list of client headers whichRobert James Kaes
are not passed along.
2002-04-22The log_message() function now stores the messages if the configurationRobert James Kaes
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 Kaes
2002-04-18Whoops. The previous include only had the code conditionally removed.Robert James Kaes
Remove for real this time.
2002-04-18Removed the call to inet_aton() since the gethostbyname() function handlesRobert James Kaes
the dotted-decimal case itself.
2002-04-18The stats now wait until after the client has finished sending all itsRobert James Kaes
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 Kaes
not available on all machines.
2002-04-18Fixed a memory leak in the hashmap_delete function. The array of maps wasRobert James Kaes
not being deleted.
2002-04-18Changed all calls to strdup to safestrdup. This should provide betterRobert James Kaes
memory usage tracking.
2002-04-18Fixed a memory leak in reading in headers from the client or server.Robert James Kaes
2002-04-18Replaced the explicit header includes with one call to tinyproxy.h. Also,Robert James Kaes
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 Kaes
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 Kaes
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 Kaes
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 Kaes
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 Kaes
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 Kaes
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 Kaes
address from the calling function.
2002-04-16Removed the duplicate calls to strlen().Robert James Kaes
2002-04-16Tightened the lookup_domain() function.Robert James Kaes
2002-04-16Various code clean up. There is nothing new here, just mechanical changesRobert James Kaes
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 Kaes
code cleaner and smaller.
2002-04-15Added a test to make sure the "whole_buffer" could be allocated.Robert James Kaes
2002-04-15Changed the variable type in read_request_line() to an unsigned variableRobert James Kaes
in order to detect negative returns.
2002-04-15Added an assert() call to detect design errors.Robert James Kaes
2002-04-15Changed the error boolean flag into a pointer to an error string and anRobert James Kaes
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 Kaes
when setting up the listening socket.
2002-04-13Modified the opensock() function to respect the Listen directive. If it'sRobert James Kaes
set, bind all outgoing addresses to this local address.
2002-04-12Added code to support the new ConnectPort directive which is needed toRobert James Kaes
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 Kaes
2002-04-12Added a write_via_header() function which is now used in both headerRobert James Kaes
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 Kaes
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 Kaes
remote server is supposed to be transmiting to the client.
2002-04-10Removed the dependency on LIBOBJS and instead use the ADDITIONAL_OBJECTSRobert James Kaes
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 Kaes
:)
2002-04-09The malloc/free functions should be in stdlib.h, but if we can't findRobert James Kaes
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 Kaes
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 Kaes
2002-04-09Replaced the internally used linked list with a call to the hashmapRobert James Kaes
module. Code reuse is a good thing.
2002-04-09James Flemer cleaned up the make_netmask() function to remove the staticRobert James Kaes
table. Very nice.
2002-04-09Cleaned up the include lines to be slightly more portable (I hope.)Robert James Kaes
2002-04-09Added the cancelation setting to make sure the thread stops immediately.Robert James Kaes
2002-04-08Just moved the looping code from main() into thread_main_loop().Robert James Kaes