summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2002-05-23Initial addition to CVS. The dnsserver process is a child executable thatRobert James Kaes1-0/+242
handle DNS resolving.
2002-05-23Initial addition to CVS. These functions create an API for accessing theRobert James Kaes2-0/+240
dnsserver child process.
2002-05-23Initial addition into CVS. Moves various functions relating the daemonRobert James Kaes2-0/+107
processes. Added a portable signal handler setting function.
2002-05-23Initial addition to CVS. This header moves all the system includes fromRobert James Kaes1-0/+192
the tinyproxy.h file to here.
2002-05-17Set the pointer to NULL after it's been freed()Robert James Kaes1-3/+3
2002-05-17request->host might have been freed by the time we get toRobert James Kaes1-7/+3
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 Kaes3-30/+37
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 Kaes1-11/+16
2002-05-13Thanks to Justin Guyett for making the hashmap_insert() function use aRobert James Kaes1-28/+17
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 Kaes1-26/+35
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 Kaes1-1/+16
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 Kaes1-2/+2
/bin directory since it's a network daemon.
2002-04-28Check the return value of the write_message() function.Robert James Kaes1-5/+6
2002-04-28Added more error checking in process_client_headers() andRobert James Kaes1-34/+68
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 Kaes1-22/+33
released properly.
2002-04-28Clear the total array of threads before any of the threads are created.Robert James Kaes1-2/+2
2002-04-28Fixed up the error detection code when relating the pthread functions.Robert James Kaes1-21/+27
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 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