summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
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.
2002-04-09Removed the compare_header() function since it's been replaced by a callRobert James Kaes1-15/+7
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 Kaes1-2/+7
2002-04-09Replaced the internally used linked list with a call to the hashmapRobert James Kaes1-58/+23
module. Code reuse is a good thing.
2002-04-09James Flemer cleaned up the make_netmask() function to remove the staticRobert James Kaes1-15/+3
table. Very nice.
2002-04-09Cleaned up the include lines to be slightly more portable (I hope.)Robert James Kaes2-5/+6
2002-04-09Added the cancelation setting to make sure the thread stops immediately.Robert James Kaes1-1/+4
2002-04-08Just moved the looping code from main() into thread_main_loop().Robert James Kaes2-21/+28
2002-04-07Just a variable name change to make it easier to read.Robert James Kaes1-2/+2
2002-04-07Updated the copyright notice.Robert James Kaes1-2/+2
2002-04-07A _tonne_ of changes. It would almost be easier to just read the sourceRobert James Kaes1-163/+228
itself to find out all the changes. Changed the process_client_header() function to use the hashmap and vector modules. I've made this change to better handle the Connection header. The Connection header, it it's present, lists all the headers which should _not_ be transmitted any further along. An HTTP/1.1 proxy must respect this. Other changes are basically cosmetic.
2002-04-07Update the list of source code files to include the vector and hashmapRobert James Kaes1-6/+8
files.
2002-04-07Cleaned up some of the code to handle errors better. Also, a little bitRobert James Kaes2-10/+56
easier to read in the variable department.
2002-04-07A hashmap implementation. I use this for storing the headers from theRobert James Kaes2-0/+491
client.
2002-04-07Added the vector module which is a vector implementation. I use it in theRobert James Kaes2-0/+276
hashmap implementation.
2002-04-02Added define check for XTINYPROXY_ENABLE. Although, I'm not sure if thisRobert James Kaes1-2/+9
is the correct way to do this, since grammar.c probably doesn't get recomplied even if config.h is changed. Must look into this more.
2002-01-25Added code to check for "errors" from the accept call in thread_main() andRobert James Kaes3-3/+28
also a new thread_kill_threads() function which should cancel all threads when the main thread is being closed.
2002-01-08Added code which checks to see if the user has signalled that tinyproxyRobert James Kaes1-8/+13
should be closed.
2001-12-28Removed an unused header.Robert James Kaes1-4/+1
2001-12-28Check for errors returned by the accept() function.Robert James Kaes1-1/+10
2001-12-24Changed send_http_message() to use the write_message() function.Robert James Kaes1-34/+49
Changed httperr() to use the same concept as the write_message() function. Still haven't figured out how to combine the code.
2001-12-24Added the write_message() function (from reqs.c)Robert James Kaes2-2/+55
2001-12-24Moved write_message() into sock.c because I'm using it in other places.Robert James Kaes1-53/+1
2001-12-23Made the error message regarding the Idle timeout more verbose, andRobert James Kaes1-2/+2
changed the level to WARNING.
2001-12-23Cleaned up the code which sends the "Via" header. It now usesRobert James Kaes1-29/+24
write_message().
2001-12-23Add a pre-processor test around the sys/types.h header file, to make sureRobert James Kaes1-1/+3
it's available before we try to include it.
2001-12-23Fixed up the order of some of the includes to cope with OpenBSD. Also,Robert James Kaes1-4/+12
test for the MSG_NOSIGNAL define.
2001-12-20Updated the copyright notice.Robert James Kaes1-3/+3
2001-12-20Created the CHECK_CRLF() macro to handle the tests for the appropriateRobert James Kaes1-6/+8
control characters in a string.
2001-12-19Changed the calls to write() to send() so that we can use send(...,Robert James Kaes2-4/+4
MSG_NOSIGNAL) and not get signals sent to the process. (easier for debugging and the system doesn't need to worry about signals.)
2001-12-19Removed duplicate code from process_server_headers() and removed the callsRobert James Kaes1-12/+9
to strlen(); readline() already returns the length of the string, so use that instead.
2001-12-19Damn---removed the debugging code from write_message().Robert James Kaes1-3/+1
2001-12-19Opps! Fixed a problem with negative numbers. :)Robert James Kaes1-3/+5
2001-12-19Redefined HTTP_LINE_LENGTH to be based on MAXBUFFSIZE (and set to aroundRobert James Kaes1-80/+118
16 KB.) Added the TUNNEL_CONFIGURED() macro to help with testing for the tunnel support code. Create the write_message() function to encapsulate the code which sends the information to the file descriptor. Moved the tunnel code into it's own function.
2001-12-18Updated the list of headers to ignore.Robert James Kaes1-3/+6
2001-12-17Added the code to log the request when in tunnelling mode.Robert James Kaes1-2/+22
2001-12-17Added UPSTREAM_CONFIGURED() macro to help clean up the code.Robert James Kaes1-89/+100
Ignore any blank lines when tinyproxy is expecting a request line. Instead of sending the request line to the remote server in pieces, tinyproxy nows sends it in once go. This was done to fix a problem with some sites like www.heise.de. Changed all calls to connptr->ssl to connptr->connect_method. Changed all calls to connptr->send_message to connptr->send_response_message. Moved the call to Via header code to inside to the tests to handle if tinyproxy is sending an error message (don't need to send any headers.)
2001-12-17Added the assert() calls to safe_write() to make sure the arguments areRobert James Kaes1-1/+5
sane.
2001-12-15Removed reference to ternary.hRobert James Kaes1-3/+1
2001-12-15No longer need this system since it was only being used in the DNS cachingRobert James Kaes2-472/+0
section and the anonymous header section. Once I had removed the DNS caching, the ternary tree system was overkill for the anonymous header code. Replaced in the anonymous header section with a simple linked list.
2001-12-15Changed safe_write() to fully send all the data in the buffer it wasRobert James Kaes2-11/+27
passed. Also safe_write() and safe_read() now use char pointer buffers rather than the void pointer style.
2001-12-15Switched from using the ternary tree to a simple linked list.Robert James Kaes1-25/+64
2001-12-15Removed the references to ternary.c and ternary.hRobert James Kaes1-3/+2