summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2002-05-23Initial addition into CVS. Moves various functions relating the daemonRobert James Kaes
processes. Added a portable signal handler setting function.
2002-05-23Initial addition to CVS. This header moves all the system includes fromRobert James Kaes
the tinyproxy.h file to here.
2002-05-17Set the pointer to NULL after it's been freed()Robert James Kaes
2002-05-17request->host might have been freed by the time we get toRobert James Kaes
free_request_struct(), so make sure it's pointing to memory.
2002-05-14Moved the definition of the struct buffer_s into the buffer.c file and outRobert James Kaes
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-13Added a "tail" pointer to the vector to make insertions more efficient.Robert James Kaes
2002-05-13Thanks to Justin Guyett for making the hashmap_insert() function use aRobert James Kaes
constant time insert. Explanation: new enteries are added to the _front_ of the chain, rather than search to the end.
2002-05-13Fixed up a potential SEGFAULT if memory for an entry could not beRobert James Kaes
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-08Removed the request logging in the tunnel because it breaks the tunnelRobert James Kaes
concept since it blocks waiting for information from the client before any data from the remote is relayed.
2002-05-02tinyproxy should be installed into the /sbin directory rather than theRobert James Kaes
/bin directory since it's a network daemon.
2002-04-28Check the return value of the write_message() function.Robert James Kaes
2002-04-28Added more error checking in process_client_headers() andRobert James Kaes
process_server_headers() functions. Also, better reporting of errors back to the client.
2002-04-28Added extra logging information, and made sure that locks were beingRobert James Kaes
released properly.
2002-04-28Clear the total array of threads before any of the threads are created.Robert James Kaes
2002-04-28Fixed up the error detection code when relating the pthread functions.Robert James Kaes
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-26Changed the len type to ssize_t because we need to detect errors in theRobert James Kaes
recv() call. Thanks to Tom Cross for discovering this bug.
2002-04-26Added an assert in hashmap_first()Robert James Kaes
2002-04-26Check the return value of hashmap_first()Robert James Kaes
2002-04-26Need to check the return value of hashmap_first() since it could beRobert James Kaes
negative.
2002-04-25Check to see if request->path is actually allocated before trying to freeRobert James Kaes
it.
2002-04-25First change all the hashmap related calls to use the new API.Robert James Kaes
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 Kaes
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.