summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2002-05-26I didn't like the DNS co-process design so I changed tinyproxy from aRobert James Kaes3-482/+0
threading model to a standard pre-forked model. This means I don't need the DNS co-process files. Gone.
2002-05-26Changed from using a threading model to a standard pre-forked model.Robert James Kaes2-0/+442
Therefore the thread.c file has been removed and this file replaces it. These files are really just the thread.c and thread.h files with all the threading stuff replaced with fork() code. Most of the code is identical.
2002-05-24Fixed a tonne of spelling mistakes.Robert James Kaes11-32/+32
2002-05-24Fixed some spelling mistakes, and removed the getpeer_ip() andRobert James Kaes1-67/+1
getpeer_string() functions as they've been replaced by the getpeer_information() function.
2002-05-23Moved most of the function into separate files: the heap debuggingRobert James Kaes2-222/+8
functions are in "heap.c"; the daemon functions are in "daemon.c"; and, the string/text functions are in "text.c".
2002-05-23Moved all the system header includes into the common.h file.Robert James Kaes1-164/+5
2002-05-23Added a new signal handler to handle SIGCHLD signals because of the newRobert James Kaes1-7/+50
dnsserver child process. Changed the set signal calls to use our new set_signal_handler() function. Added code to start the "dnsserver" child process.
2002-05-23Changed the lookup_domain() function to use the new "dnsserver" API.Robert James Kaes2-266/+69
Also moved safe_write(), safe_read(), readline(), and write_message() functions into their own file.
2002-05-23Fixed up a spelling mistake and changed various bits of code to takeRobert James Kaes1-9/+10
advantage of the fact that the peer's socket information is now stored inside the connection structure.
2002-05-23Added the "DNSserverLocation" and "DNSserverSocket" directives for useRobert James Kaes2-2/+7
with the "dnsserver" resolver.
2002-05-23Added the peer's socket information to the connection structure. TheRobert James Kaes2-5/+20
information is passed along during the initialization of the structure.
2002-05-23Fixed up the header includes for the new layout.Robert James Kaes1-5/+7
Changed one line of code to make it explicit how the pointers are to be updated.
2002-05-23Changed the header includes around to reflect the new source layout.Robert James Kaes8-13/+16
2002-05-23Added code to create the "dnsserver" program, and also reorganized toRobert James Kaes1-2/+16
include the various new source files.
2002-05-23Initial addition to CVS. Moved the three "text" related functions into aRobert James Kaes2-0/+130
separate file.
2002-05-23Initial addition to CVS. Moved the network related functions into aRobert James Kaes2-0/+265
separate module.
2002-05-23Initial addition to CVS. Moved all the debugging heap related functions.Robert James Kaes2-0/+141
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.