460 Commits

Author SHA1 Message Date
Robert James Kaes
bdfad7a2dd Bumped up version number 2002-04-16 00:23:23 +00:00
Robert James Kaes
17ea28ccc6 Changes for chomp(), read_request_line(), and readline() 2002-04-15 04:17:17 +00:00
Robert James Kaes
4b7de22999 Added a test to make sure the "whole_buffer" could be allocated. 2002-04-15 04:16:01 +00:00
Robert James Kaes
550145d49e Changed the variable type in read_request_line() to an unsigned variable
in order to detect negative returns.
2002-04-15 04:14:03 +00:00
Robert James Kaes
f0b6861998 Added an assert() call to detect design errors. 2002-04-15 04:13:14 +00:00
Robert James Kaes
a5d3212751 Changed the error boolean flag into a pointer to an error string and an
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-15 02:07:27 +00:00
Robert James Kaes
c86d22226f Added additional error handling for the bind() and listen() system calls
when setting up the listening socket.
2002-04-13 19:03:18 +00:00
Robert James Kaes
6c2d7ebaa4 Bumped up version number. 2002-04-13 17:53:55 +00:00
Robert James Kaes
be47c1791d Modified the opensock() function to respect the Listen directive. If it's
set, bind all outgoing addresses to this local address.
2002-04-13 05:20:19 +00:00
Robert James Kaes
1685e9ca66 Changes regarding the new ConnectPort directive. 2002-04-12 17:01:07 +00:00
Robert James Kaes
ecb249f424 Added code to support the new ConnectPort directive which is needed to
improve security of the tinyproxy system.  This new directive allows the
admin to block CONNECT methods to illegal ports.
2002-04-12 17:00:42 +00:00
Robert James Kaes
660e4d5687 Added the support code to process a ConnectPort configuration directive. 2002-04-12 16:59:37 +00:00
Robert James Kaes
eb1230e841 Added the description and intial settings for the ConnectPort directive. 2002-04-12 16:59:06 +00:00
Robert James Kaes
f1a451faea Added a write_via_header() function which is now used in both header
processing functions.  Also, added a list of headers to drop in the
process server header functions.
2002-04-12 03:09:04 +00:00
Robert James Kaes
604785be66 Bumped up the pre-version number. 2002-04-11 20:45:56 +00:00
Robert James Kaes
b18070b268 Changes to remove_connection_headers(), relay_connection(),
process_client_headers(), and process_server_headeers().

Added the get_content_length() function.
2002-04-11 20:45:10 +00:00
Robert James Kaes
85a82af5f5 Did a bit of consolidation by moving code into remove_connection_headers()
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-11 20:44:15 +00:00
Robert James Kaes
ce06f27a35 Added the remote_content_length variable to store the number of bytes the
remote server is supposed to be transmiting to the client.
2002-04-11 20:27:51 +00:00
Robert James Kaes
52fa476b21 Replaced calls to AC_LIBOBJ to an ADDITIONAL_OBJECTS variable (since it's
not being used with src/Makefile.am).  Also, rewrote the REGEX test to
better confirm to the autoconf standard.
2002-04-11 02:57:20 +00:00
Robert James Kaes
ed30d9d329 Changed in src/Makefile.am 2002-04-10 21:52:07 +00:00
Robert James Kaes
abdfa8b2da Removed the dependency on LIBOBJS and instead use the ADDITIONAL_OBJECTS
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-10 21:51:01 +00:00
Robert James Kaes
448a1b222d Bumped up the pre-version release number and removed the AC_FUNC_MEMCMP
macro.
2002-04-10 19:10:07 +00:00
Robert James Kaes
e3e3020c00 Removed the test for lstat() since it wants to add a lstat.o dependancy.
I really need to got through the configure.ac file and figure out what
_really_ needs to be tested for.
2002-04-10 17:30:08 +00:00
Robert James Kaes
a903b6d997 Added an extra new line at the end of the file to quiet picky compilers.
:)
2002-04-10 17:29:18 +00:00
Robert James Kaes
4fa5cef491 The malloc/free functions should be in stdlib.h, but if we can't find
stdlib.h then try including malloc.h.  Maybe this will allow clean
compiling on some platforms.
2002-04-09 22:02:05 +00:00
Robert James Kaes
fb616011ef More changes in the ChangeLog :) 2002-04-09 20:07:10 +00:00
Robert James Kaes
eef4559783 Removed the compare_header() function since it's been replaced by a call
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-09 20:06:24 +00:00
Robert James Kaes
0c5bd57698 Added more include logic code to be more portable. 2002-04-09 20:05:15 +00:00
Robert James Kaes
7409281e34 Replaced the internally used linked list with a call to the hashmap
module.  Code reuse is a good thing.
2002-04-09 20:04:39 +00:00
Robert James Kaes
607e4c4c6c Fixed up the problem with the "-lc_r" inclusion code.
_Really_ fixed up the problem with compiling under OpenBSD.
Bumped up the version number.
2002-04-09 20:04:05 +00:00
Robert James Kaes
3c631c6e5c James Flemer cleaned up the make_netmask() function to remove the static
table.  Very nice.
2002-04-09 19:11:09 +00:00
Robert James Kaes
b3a5b17b7d Bumped up the version number. 2002-04-09 16:32:39 +00:00
Robert James Kaes
7e6d2bf451 New changes to configure.ac, hashmap.c, and vector.c 2002-04-09 16:32:22 +00:00
Robert James Kaes
2f54303d98 Cleaned up the include lines to be slightly more portable (I hope.) 2002-04-09 16:28:13 +00:00
Robert James Kaes
3a787ecbfa Small changes to conform to the new Autoconf standards. Also, added a
test for the OpenBSD system which prevents the inclusion of the malloc.h
header (the functions are actually defined in stdlib.h)

I might even remove the malloc.h header altogether since the malloc/free
functions _should_ be in stdlib.h
2002-04-09 16:27:34 +00:00
Robert James Kaes
54a84434fc Changed the version number to reflect the 1.5.0 pre-releases 2002-04-09 01:45:37 +00:00
Robert James Kaes
64e28312dc New news for the 1.5.0 release. 2002-04-09 01:45:07 +00:00
Robert James Kaes
6f06485dbd Updated the description to include the "SSL" fact. 2002-04-09 01:44:42 +00:00
Robert James Kaes
eb78e5e1f4 Added the cancelation setting to make sure the thread stops immediately. 2002-04-09 00:37:43 +00:00
Robert James Kaes
0d66719c5a Just moved the looping code from main() into thread_main_loop(). 2002-04-08 21:35:10 +00:00
Robert James Kaes
bf82c863bc Just a variable name change to make it easier to read. 2002-04-07 21:37:07 +00:00
Robert James Kaes
1d52d9d510 Updated the copyright notice. 2002-04-07 21:36:39 +00:00
Robert James Kaes
fb736ec3fb A _tonne_ of changes. It would almost be easier to just read the source
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-07 21:35:59 +00:00
Robert James Kaes
5e9aa90009 Update the list of source code files to include the vector and hashmap
files.
2002-04-07 21:33:38 +00:00
Robert James Kaes
97a72783f5 Cleaned up some of the code to handle errors better. Also, a little bit
easier to read in the variable department.
2002-04-07 21:32:01 +00:00
Robert James Kaes
c654bc14d9 Changed the version number down to 1.4.4pre1 (from the more ambitious
1.5.0pre1)
2002-04-07 21:31:15 +00:00
Robert James Kaes
6edba0dfa6 Updated the changelog information. 2002-04-07 21:30:30 +00:00
Robert James Kaes
5b3658b122 A hashmap implementation. I use this for storing the headers from the
client.
2002-04-07 21:30:02 +00:00
Robert James Kaes
54f369a734 Added the vector module which is a vector implementation. I use it in the
hashmap implementation.
2002-04-07 21:29:23 +00:00
Robert James Kaes
e70b98252a Added define check for XTINYPROXY_ENABLE. Although, I'm not sure if this
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-04-02 17:17:30 +00:00