Commit Graph

  • c5b9ec889e Renamed the LOCKing macros and added assert debugging code. Also, moved 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. Robert James Kaes 2002-04-22 19:41:17 +00:00
  • c648ed1bc5 Added the "Bind" directive. Fixed up the log_message function to store messages until the log file has been created. "Proxy-Connection" is not sent along to the remote message. Robert James Kaes 2002-04-22 19:37:15 +00:00
  • 08077cc9e1 The "Bind" directive sets a binding address which the outgoing connections will use. Robert James Kaes 2002-04-22 19:35:24 +00:00
  • 1953348c90 Added the "Proxy-Connection" header to the list of client headers which are not passed along. Robert James Kaes 2002-04-22 19:34:50 +00:00
  • 2ec7a4dd72 The log_message() function now stores the messages if the configuration 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. Robert James Kaes 2002-04-22 19:34:20 +00:00
  • 60f61c8f0c Added the "Bind" directive. Robert James Kaes 2002-04-22 19:33:01 +00:00
  • aa68eb8540 Whoops. The previous include only had the code conditionally removed. Remove for real this time. Robert James Kaes 2002-04-18 21:54:50 +00:00
  • 1db154464e Removed the call to inet_aton() since the gethostbyname() function handles the dotted-decimal case itself. Robert James Kaes 2002-04-18 21:53:33 +00:00
  • 60f0a86c75 The stats now wait until after the client has finished sending all its headers before sending the HTTP response back. This should be more standards compliant. Robert James Kaes 2002-04-18 21:43:53 +00:00
  • 32145fea2a This commit was manufactured by cvs2svn to create tag 'rel_1_5_0rc4'. 1.5.0rc4 cvs2svn 2002-04-18 18:48:58 +00:00
  • 1691feb9bb Bumped the version number to 1.5.0rc4 Robert James Kaes 2002-04-18 18:48:57 +00:00
  • 73a53daf38 Removed the call to hstrerror() in the getpeer_string() function. It's not available on all machines. Robert James Kaes 2002-04-18 18:48:22 +00:00
  • 09c7acf9fc Memory leak in the hashmap_delete() function has been fixed. Robert James Kaes 2002-04-18 18:41:27 +00:00
  • d14b612e13 Fixed a memory leak in the hashmap_delete function. The array of maps was not being deleted. Robert James Kaes 2002-04-18 18:40:38 +00:00
  • 45a96fde12 Changed to vector.c and hashmap.c Added the debugging_strdup() function. Fixed a memory leak in get_all_headers. Robert James Kaes 2002-04-18 18:00:35 +00:00
  • 9a8d732a13 Changed all calls to strdup to safestrdup. This should provide better memory usage tracking. Robert James Kaes 2002-04-18 17:59:21 +00:00
  • a66aae880c Fixed a memory leak in reading in headers from the client or server. Robert James Kaes 2002-04-18 17:58:52 +00:00
  • 3b5a4b7362 Replaced the explicit header includes with one call to tinyproxy.h. Also, added the utils.h header and changed all the malloc, calloc, free, and strdup to the appropriate safe variety. Robert James Kaes 2002-04-18 17:57:20 +00:00
  • ce4687fbf9 Added the debuggin_strdup() function and the associated safestrdup() macro. Also, added asserts to the other debugging_* functions. Robert James Kaes 2002-04-18 17:49:14 +00:00
  • 4a7ef24bf7 This commit was manufactured by cvs2svn to create tag 'rel_1_5_0rc3'. 1.5.0rc3 cvs2svn 2002-04-18 17:04:39 +00:00
  • dc18888c83 Bumped up the version number to 1.5.0rc3 Robert James Kaes 2002-04-18 17:04:38 +00:00
  • 43860d2469 Moved the filter_destroy() logic from inside the signal handler. It's now been moved to inside the main() function. Robert James Kaes 2002-04-18 17:04:04 +00:00
  • 5822ec3d44 Moved the log rotation code out of the signal handler and into it's own 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. Robert James Kaes 2002-04-18 16:57:06 +00:00
  • 2aac6bc23f This commit was manufactured by cvs2svn to create tag 'rel_1_5_0rc2'. 1.5.0rc2 cvs2svn 2002-04-17 20:57:59 +00:00
  • 6a588826c1 Changes to configure.ac, src/sock.c, src/reqs.c, src/acl.c, src/acl.h, and src/thread.c Robert James Kaes 2002-04-17 20:57:58 +00:00
  • 9fd6a9eaa9 Added a test for pthread_cancel() since it's not available on all platforms. Robert James Kaes 2002-04-17 20:56:35 +00:00
  • 3e60a5b819 Removed the LOOKUP_LOCK() and LOOKUP_UNLOCK() macros since I believe I need locking around both gethostbyname() and gethostbyaddr() at the same time. Robert James Kaes 2002-04-17 20:56:13 +00:00
  • 1d85484c3a If the initialize_conn() function fails, close the socket and return. Also, changed the call to check_acl() to include the peer's IP and string addresses. Robert James Kaes 2002-04-17 20:55:21 +00:00
  • 42098699db Removed the close(connfd) call since the socket has already been closed from within the handle_connection() function. Robert James Kaes 2002-04-17 20:54:26 +00:00
  • 44bbdb2623 Changed the check_acl() function to require the peer IP address and string address from the calling function. Robert James Kaes 2002-04-17 20:52:45 +00:00
  • 795f4f2fe7 More spelling fixes. Robert James Kaes 2002-04-16 04:58:51 +00:00
  • 8defcc6225 Just general spell checking. Robert James Kaes 2002-04-16 04:14:59 +00:00
  • 0fb2fa7393 Various changes in the src/anonymous.c and src/reqs.c files. Robert James Kaes 2002-04-16 03:22:44 +00:00
  • 04da777bed Removed the duplicate calls to strlen(). Robert James Kaes 2002-04-16 03:22:16 +00:00
  • 0e4436a070 Tightened the lookup_domain() function. Robert James Kaes 2002-04-16 03:21:46 +00:00
  • ca10b1353d Various code clean up. There is nothing new here, just mechanical changes to the source to either remove code which is not needed, or consolidate common code into a common section. Robert James Kaes 2002-04-16 03:20:43 +00:00
  • c722851bce Cleaned up the return values of the two anonymous functions to make the code cleaner and smaller. Robert James Kaes 2002-04-16 03:19:19 +00:00
  • bdfad7a2dd Bumped up version number Robert James Kaes 2002-04-16 00:23:23 +00:00
  • cd66e52afa This commit was manufactured by cvs2svn to create tag 'rel_1_5_0rc1'. 1.5.0rc1 cvs2svn 2002-04-15 04:17:18 +00:00
  • 17ea28ccc6 Changes for chomp(), read_request_line(), and readline() Robert James Kaes 2002-04-15 04:17:17 +00:00
  • 4b7de22999 Added a test to make sure the "whole_buffer" could be allocated. Robert James Kaes 2002-04-15 04:16:01 +00:00
  • 550145d49e Changed the variable type in read_request_line() to an unsigned variable in order to detect negative returns. Robert James Kaes 2002-04-15 04:14:03 +00:00
  • f0b6861998 Added an assert() call to detect design errors. Robert James Kaes 2002-04-15 04:13:14 +00:00
  • 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. Robert James Kaes 2002-04-15 02:07:27 +00:00
  • c86d22226f Added additional error handling for the bind() and listen() system calls when setting up the listening socket. Robert James Kaes 2002-04-13 19:03:18 +00:00
  • 0b524d5437 This commit was manufactured by cvs2svn to create tag 'rel_1_5_0pre6'. 1.5.0pre6 cvs2svn 2002-04-13 17:53:56 +00:00
  • 6c2d7ebaa4 Bumped up version number. Robert James Kaes 2002-04-13 17:53:55 +00:00
  • be47c1791d Modified the opensock() function to respect the Listen directive. If it's set, bind all outgoing addresses to this local address. Robert James Kaes 2002-04-13 05:20:19 +00:00
  • 1685e9ca66 Changes regarding the new ConnectPort directive. Robert James Kaes 2002-04-12 17:01:07 +00:00
  • 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. Robert James Kaes 2002-04-12 17:00:42 +00:00
  • 660e4d5687 Added the support code to process a ConnectPort configuration directive. Robert James Kaes 2002-04-12 16:59:37 +00:00
  • eb1230e841 Added the description and intial settings for the ConnectPort directive. Robert James Kaes 2002-04-12 16:59:06 +00:00
  • 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. Robert James Kaes 2002-04-12 03:09:04 +00:00
  • c6d6ef0fd9 This commit was manufactured by cvs2svn to create tag 'rel_1_5_0pre5'. 1.5.0pre5 cvs2svn 2002-04-11 20:45:57 +00:00
  • 604785be66 Bumped up the pre-version number. Robert James Kaes 2002-04-11 20:45:56 +00:00
  • b18070b268 Changes to remove_connection_headers(), relay_connection(), process_client_headers(), and process_server_headeers(). Robert James Kaes 2002-04-11 20:45:10 +00:00
  • 85a82af5f5 Did a bit of consolidation by moving code into remove_connection_headers() and added the get_content_length() function. Robert James Kaes 2002-04-11 20:44:15 +00:00
  • ce06f27a35 Added the remote_content_length variable to store the number of bytes the remote server is supposed to be transmiting to the client. Robert James Kaes 2002-04-11 20:27:51 +00:00
  • 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. Robert James Kaes 2002-04-11 02:57:20 +00:00
  • ed30d9d329 Changed in src/Makefile.am Robert James Kaes 2002-04-10 21:52:07 +00:00
  • 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. Robert James Kaes 2002-04-10 21:51:01 +00:00
  • bda245f881 This commit was manufactured by cvs2svn to create tag 'rel_1_5_0pre4'. 1.5.0pre4 cvs2svn 2002-04-10 19:10:08 +00:00
  • 448a1b222d Bumped up the pre-version release number and removed the AC_FUNC_MEMCMP macro. Robert James Kaes 2002-04-10 19:10:07 +00:00
  • 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. Robert James Kaes 2002-04-10 17:30:08 +00:00
  • a903b6d997 Added an extra new line at the end of the file to quiet picky compilers. :) Robert James Kaes 2002-04-10 17:29:18 +00:00
  • 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. Robert James Kaes 2002-04-09 22:02:05 +00:00
  • 5a2d654b11 This commit was manufactured by cvs2svn to create tag 'rel_1_5_0pre3'. 1.5.0pre3 cvs2svn 2002-04-09 20:07:11 +00:00
  • fb616011ef More changes in the ChangeLog :) Robert James Kaes 2002-04-09 20:07:10 +00:00
  • eef4559783 Removed the compare_header() function since it's been replaced by a call the anonymous_search(). Robert James Kaes 2002-04-09 20:06:24 +00:00
  • 0c5bd57698 Added more include logic code to be more portable. Robert James Kaes 2002-04-09 20:05:15 +00:00
  • 7409281e34 Replaced the internally used linked list with a call to the hashmap module. Code reuse is a good thing. Robert James Kaes 2002-04-09 20:04:39 +00:00
  • 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. Robert James Kaes 2002-04-09 20:04:05 +00:00
  • 3c631c6e5c James Flemer cleaned up the make_netmask() function to remove the static table. Very nice. Robert James Kaes 2002-04-09 19:11:09 +00:00
  • b3a5b17b7d Bumped up the version number. Robert James Kaes 2002-04-09 16:32:39 +00:00
  • 7e6d2bf451 New changes to configure.ac, hashmap.c, and vector.c Robert James Kaes 2002-04-09 16:32:22 +00:00
  • 2f54303d98 Cleaned up the include lines to be slightly more portable (I hope.) Robert James Kaes 2002-04-09 16:28:13 +00:00
  • 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) Robert James Kaes 2002-04-09 16:27:34 +00:00
  • aa8b9696f0 This commit was manufactured by cvs2svn to create tag 'rel_1_5_0pre1'. 1.5.0pre1 cvs2svn 2002-04-09 01:45:38 +00:00
  • 54a84434fc Changed the version number to reflect the 1.5.0 pre-releases Robert James Kaes 2002-04-09 01:45:37 +00:00
  • 64e28312dc New news for the 1.5.0 release. Robert James Kaes 2002-04-09 01:45:07 +00:00
  • 6f06485dbd Updated the description to include the "SSL" fact. Robert James Kaes 2002-04-09 01:44:42 +00:00
  • eb78e5e1f4 Added the cancelation setting to make sure the thread stops immediately. Robert James Kaes 2002-04-09 00:37:43 +00:00
  • 0d66719c5a Just moved the looping code from main() into thread_main_loop(). Robert James Kaes 2002-04-08 21:35:10 +00:00
  • 55320587f3 This commit was manufactured by cvs2svn to create tag 'rel_1_4_4pre1'. 1.4.4pre1 cvs2svn 2002-04-07 21:37:08 +00:00
  • bf82c863bc Just a variable name change to make it easier to read. Robert James Kaes 2002-04-07 21:37:07 +00:00
  • 1d52d9d510 Updated the copyright notice. Robert James Kaes 2002-04-07 21:36:39 +00:00
  • 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. Robert James Kaes 2002-04-07 21:35:59 +00:00
  • 5e9aa90009 Update the list of source code files to include the vector and hashmap files. Robert James Kaes 2002-04-07 21:33:38 +00:00
  • 97a72783f5 Cleaned up some of the code to handle errors better. Also, a little bit easier to read in the variable department. Robert James Kaes 2002-04-07 21:32:01 +00:00
  • c654bc14d9 Changed the version number down to 1.4.4pre1 (from the more ambitious 1.5.0pre1) Robert James Kaes 2002-04-07 21:31:15 +00:00
  • 6edba0dfa6 Updated the changelog information. Robert James Kaes 2002-04-07 21:30:30 +00:00
  • 5b3658b122 A hashmap implementation. I use this for storing the headers from the client. Robert James Kaes 2002-04-07 21:30:02 +00:00
  • 54f369a734 Added the vector module which is a vector implementation. I use it in the hashmap implementation. Robert James Kaes 2002-04-07 21:29:23 +00:00
  • 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. Robert James Kaes 2002-04-02 17:17:30 +00:00
  • daf90db115 Update to reflect changes to configure.ac Robert James Kaes 2002-04-02 17:00:29 +00:00
  • 194435acc1 Patch from James Flemer which: * allows the --disable-* options to work * prevents -lc_r from being included on FreeBSD machines Robert James Kaes 2002-04-02 16:58:36 +00:00
  • 1819c0f818 Added code to check for "errors" from the accept call in thread_main() and also a new thread_kill_threads() function which should cancel all threads when the main thread is being closed. Robert James Kaes 2002-01-25 00:01:45 +00:00
  • 388920bc53 Added code which checks to see if the user has signalled that tinyproxy should be closed. Robert James Kaes 2002-01-08 02:02:25 +00:00
  • ea0d956a57 Removed an unused header. Robert James Kaes 2001-12-28 22:31:12 +00:00
  • a0dee6c57f Check for errors returned by the accept() function. Robert James Kaes 2001-12-28 22:29:11 +00:00