918 Commits

Author SHA1 Message Date
Robert James Kaes
f47685c861 A bunch of changes from Petr Lampa that add transparent proxy support to tinyproxy. The additional code is in process_request(), but Petr also had to change around some of the other functions (like process_client_headers and handle_connection.) Note: Right now this code has not been tested, but it is believed to work. To enable run ./configure --enable-transparent-proxy 2002-06-06 20:32:30 +00:00
Robert James Kaes
0242d89877 (filter_domain): Removed code which stripped of a port number from the host name. The "host" variable will _always_ be just the name by the time filter_domain() is called. 2002-06-06 20:30:04 +00:00
Robert James Kaes
06d38ce529 (display_usage): Added a message indicating whether transparent proxy support has been compiled in. 2002-06-06 20:28:02 +00:00
Robert James Kaes
51bbed6f76 Added the "--enable-transparent-proxy" flag and moved the AH_TEMPLATE() macros to _outside_ the "if" tests. 2002-06-06 20:27:01 +00:00
Robert James Kaes
a72fc7ad09 Added a warning message to the Bind directive stating that it will be ignored if "transparent proxy" has been compiled into tinyproxy. 2002-06-06 20:26:13 +00:00
Robert James Kaes
2b5a3625bc (send_stored_logs): Actually included the code to output the stored logs. Plus, there was a bug with how I was calling the hashmap_is_end() function. This has now been fixed. 2002-06-06 20:24:21 +00:00
Robert James Kaes
dfb83160f0 Updated ChangeLog 2002-06-05 17:24:40 +00:00
Robert James Kaes
38b2f73004 Bumped up the version number. 2002-06-05 17:06:05 +00:00
Robert James Kaes
22ffd04926 Added the "filter-howto.txt" file to the distribution. 2002-06-05 17:05:18 +00:00
Robert James Kaes
9eeaf260eb Added a short filtering HOWTO document from Patrick L. McGillan. 2002-06-05 17:04:12 +00:00
Robert James Kaes
e440dee245 (child_main): Added a DEBUG call to let me know which process has accepted a connection. This is needed for debugging using "gdb". 2002-06-05 17:02:15 +00:00
Robert James Kaes
89dee022e5 (malloc_shared_memory): Removed the assert() call for shared_file since it's now a static variable. 2002-06-05 17:01:09 +00:00
Robert James Kaes
b697ebf16b (acl_string_processing): Moved the string processing code out of check_acl() and into it's own function because it now does two (2) tests. If the ACL string is a complete host name, in other words doesn't start with a period, than a reverse DNS look-up is done on the host name and compared to the IP address of the client; otherwise, the normal text string comparison is done.
(check_acl): Moved the string text out of the function and removed some logging code by jumping to the "Deny" code at the end of the function.
2002-06-05 16:59:21 +00:00
Robert James Kaes
5e74b6e011 Updated the ChangeLog 2002-05-31 18:29:39 +00:00
Robert James Kaes
02f3bdf5ff Added a boolean "truncate_file" flag for the create_file_safely() function. 2002-05-31 18:27:13 +00:00
Robert James Kaes
833186b7be (create_file_safely): Added the "truncate_file" boolean flag. This is needed since I use this function for both the log file and the pid file, and they behave differently when tinyproxy is started.
(pidfile_create): Call create_file_safely() with a TRUE "truncate_file" flag so that the file is emptied whenever the pid file is needed.
2002-05-31 18:26:30 +00:00
Robert James Kaes
e340b3371b The log file is now opened in "append" mode so that you can restart tinyproxy without losing the log file. 2002-05-31 18:24:36 +00:00
Robert James Kaes
65d8f175b4 Updated the version number. 2002-05-31 18:09:51 +00:00
Robert James Kaes
26a983b467 (process_server_headers): Since we're stripping off the carriage return and newline, we need to add them back on when sending the response header to the client. 2002-05-31 18:09:09 +00:00
Robert James Kaes
f548ce72b2 (getpeer_information): Fixed a problem retrieving the FQDN of a host because I was passing in an incorrect parameter to gethostbyaddr(). D'oh. 2002-05-31 18:08:01 +00:00
Robert James Kaes
f3989e64cf Updated the ChangeLog for the 1.5.1pre3 release. 2002-05-29 20:57:25 +00:00
Robert James Kaes
e8de8a2e8e Updated the version number. 2002-05-29 20:55:47 +00:00
Robert James Kaes
12fc92828c (malloc_shared_memory): Removed the MMAP_ANON and open("/dev/zero") since they are not portable across a while enough spectrum of machines. Right now tinyproxy is using a "classic" temporary file method of sharing memory. This will likely be improved in the future. 2002-05-29 20:51:35 +00:00
Robert James Kaes
360deb4568 Changed the tests on the return value from malloc_shared_memory() to make tinyproxy more portable, since we can't be certain that "if (!ret_value)" would actually detect a mmap() error. 2002-05-29 20:49:55 +00:00
Robert James Kaes
de782144bd Bumped up the version number. 2002-05-29 18:15:40 +00:00
Robert James Kaes
0ef46467ad Updated ChangeLog for the 1.5.1pre2 release. 2002-05-29 18:15:08 +00:00
Robert James Kaes
9b13e9bda8 (add_header_to_connection): Removed the "double_cgi" boolean, since tinyproxy now ignores all the headers after a "double CGI" situation has occurred.
(get_all_headers): Instead of dropping duplicate headers when the "double CGI" situation occurs, tinyproxy will now drop _all_ the headers from the "inner" HTTP response.
2002-05-29 18:11:57 +00:00
Robert James Kaes
5fcb8553da (init_stats): Fixed a spelling mistake where the number of bytes being allocated was incorrect. 2002-05-29 17:31:01 +00:00
Robert James Kaes
e7fcb5fc7d (add_header_to_connection): Added a boolean to indicate that a "Double CGI" situation is in affect. This is needed to solve a problem with some sites (like cgi.ebay.com) where they are sending two HTTP response lines (and associated headers) with a response.
(get_all_headers): Detect if a "Double CGI" situation has occured.
2002-05-28 20:40:01 +00:00
Robert James Kaes
cf2bd809fb (get_all_headers): Added code to ignore a "response" line in a header. This was pointed out as being a problem with eBay (cgi.ebay.com)
(process_server_headers): Added code to make skip blank lines before a response line.
2002-05-28 04:53:33 +00:00
Robert James Kaes
00bf9b0346 Fixed up a problem where the tinyproxy manual page was not getting included with the distribution. 2002-05-27 15:19:34 +00:00
Robert James Kaes
36d712dc64 Updated the ChangeLog to include new changes to various files. 2002-05-27 03:06:45 +00:00
Robert James Kaes
c2712cb0bb Reformated the ChangeLog. 2002-05-27 02:01:06 +00:00
Robert James Kaes
4ce9674365 (process_request): Changed the filtering code around to handle both domains and URLs. 2002-05-27 02:00:22 +00:00
Robert James Kaes
35d3d79e92 Added into the config structure the filter_urls and filter_extended flags. 2002-05-27 01:59:28 +00:00
Robert James Kaes
d64dfc5d77 Some spelling fixes. 2002-05-27 01:58:41 +00:00
Robert James Kaes
83a1a32f2a (opensock): Changed a comment around to better state what the code is actually doing. 2002-05-27 01:57:48 +00:00
Robert James Kaes
b11015c2e1 Added a copyright for James E. Flemer since these are his changes.
(filter_init): Added code to handle both host and URLs.  Also include code to use extended regular expressions.
(filter_domain): The old filter_url function has been renamed filter_domain().
(filter_url): This function now actually filters complete URLs.
2002-05-27 01:56:22 +00:00
Robert James Kaes
026c7d9a3d Added support for the "FilterURLs" and "FilterExtended" directives.
These directives were submitted by James Flemer for use with the new
filtering code.
2002-05-27 01:52:44 +00:00
Robert James Kaes
4ba42369b9 Changes to tinyproxy relating to signals and the copyright dates. 2002-05-27 00:51:29 +00:00
Robert James Kaes
df3d88ed4e Updated the version number (pre 1) 2002-05-27 00:49:06 +00:00
Robert James Kaes
514182a05f (display_license): Updated the copyright dates
(main): Moved the signals around so that the appropriate signal is assigned to either the children or just the parrent process.
Updated the copyright on the file.
2002-05-27 00:46:24 +00:00
Robert James Kaes
8506b4ba33 Updated the ChangeLog. This was pulled from the CVS logs using Emacs.
First time I've done this, but it seemed to work pretty well.
2002-05-26 19:07:04 +00:00
Robert James Kaes
a892febac3 Removed the "DNSserver" directives since they're no longer needed. 2002-05-26 18:59:10 +00:00
Robert James Kaes
9c28c7dfe2 Removed the pthread related tests and added a test for the sys/mman.h
header (needed for shared memory.)
2002-05-26 18:58:19 +00:00
Robert James Kaes
9910c06bd2 Removed the "dnsserver" program all together, and changed the names of
some of the files.
2002-05-26 18:56:43 +00:00
Robert James Kaes
2e6ab58f37 Added the malloc_shared_memory() and calloc_shared_memory() function to
allow the use of shared memory between all the children.
2002-05-26 18:56:06 +00:00
Robert James Kaes
63f481c61a Spelling changes (from thread to child.) 2002-05-26 18:55:19 +00:00
Robert James Kaes
6cc0dce1b4 Removed the directives for the old DNSserver process. 2002-05-26 18:54:27 +00:00
Robert James Kaes
49b21c7e2f The stats structure has been moved into a shared memory block since it
needs to be shared by all the children.
2002-05-26 18:53:14 +00:00