summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2002-04-26Changed the len type to ssize_t because we need to detect errors in theRobert James Kaes1-2/+2
recv() call. Thanks to Tom Cross for discovering this bug.
2002-04-26Added an assert in hashmap_first()Robert James Kaes1-2/+3
2002-04-26Check the return value of hashmap_first()Robert James Kaes1-8/+9
2002-04-26Need to check the return value of hashmap_first() since it could beRobert James Kaes1-24/+26
negative.
2002-04-25Check to see if request->path is actually allocated before trying to freeRobert James Kaes1-2/+8
it.
2002-04-25First change all the hashmap related calls to use the new API.Robert James Kaes1-47/+57
The remove_connection_headers() function now handles both the Connection header _and_ the Proxy-Connection header.
2002-04-25The hashmap API changed, so this function needs to be changed as well.Robert James Kaes1-11/+11
2002-04-25Removed the hashmap_keys() function and added the "iterator" concept.Robert James Kaes2-72/+229
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 Kaes1-3/+3
2002-04-24bind_address has been moved inside the config structure. Fixed up aRobert James Kaes1-5/+6
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 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.