summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2002-06-07Added the "FilterDefaultDeny" directive to allow the user to select whether ↵Robert James Kaes
the default policy of the filter is to allow everything which isn't denied, or to deny everything which isn't allowed.
2002-06-06A bunch of changes from Petr Lampa that add transparent proxy support to ↵Robert James Kaes
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(filter_domain): Removed code which stripped of a port number from the host ↵Robert James Kaes
name. The "host" variable will _always_ be just the name by the time filter_domain() is called.
2002-06-06(display_usage): Added a message indicating whether transparent proxy ↵Robert James Kaes
support has been compiled in.
2002-06-06Added a warning message to the Bind directive stating that it will be ↵Robert James Kaes
ignored if "transparent proxy" has been compiled into tinyproxy.
2002-06-06(send_stored_logs): Actually included the code to output the stored logs. ↵Robert James Kaes
Plus, there was a bug with how I was calling the hashmap_is_end() function. This has now been fixed.
2002-06-05(child_main): Added a DEBUG call to let me know which process has accepted a ↵Robert James Kaes
connection. This is needed for debugging using "gdb".
2002-06-05(malloc_shared_memory): Removed the assert() call for shared_file since it's ↵Robert James Kaes
now a static variable.
2002-06-05(acl_string_processing): Moved the string processing code out of check_acl() ↵Robert James Kaes
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-05-31Added a boolean "truncate_file" flag for the create_file_safely() function.Robert James Kaes
2002-05-31(create_file_safely): Added the "truncate_file" boolean flag. This is ↵Robert James Kaes
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-31The log file is now opened in "append" mode so that you can restart ↵Robert James Kaes
tinyproxy without losing the log file.
2002-05-31(process_server_headers): Since we're stripping off the carriage return and ↵Robert James Kaes
newline, we need to add them back on when sending the response header to the client.
2002-05-31(getpeer_information): Fixed a problem retrieving the FQDN of a host because ↵Robert James Kaes
I was passing in an incorrect parameter to gethostbyaddr(). D'oh.
2002-05-29(malloc_shared_memory): Removed the MMAP_ANON and open("/dev/zero") since ↵Robert James Kaes
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-29Changed the tests on the return value from malloc_shared_memory() to make ↵Robert James Kaes
tinyproxy more portable, since we can't be certain that "if (!ret_value)" would actually detect a mmap() error.
2002-05-29(add_header_to_connection): Removed the "double_cgi" boolean, since ↵Robert James Kaes
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(init_stats): Fixed a spelling mistake where the number of bytes being ↵Robert James Kaes
allocated was incorrect.
2002-05-28(add_header_to_connection): Added a boolean to indicate that a "Double CGI" ↵Robert James Kaes
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(get_all_headers): Added code to ignore a "response" line in a header. This ↵Robert James Kaes
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-27(process_request): Changed the filtering code around to handle both domains ↵Robert James Kaes
and URLs.
2002-05-27Added into the config structure the filter_urls and filter_extended flags.Robert James Kaes
2002-05-27Some spelling fixes.Robert James Kaes
2002-05-27(opensock): Changed a comment around to better state what the code is ↵Robert James Kaes
actually doing.
2002-05-27Added a copyright for James E. Flemer since these are his changes.Robert James Kaes
(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-27Added support for the "FilterURLs" and "FilterExtended" directives.Robert James Kaes
These directives were submitted by James Flemer for use with the new filtering code.
2002-05-27(display_license): Updated the copyright datesRobert James Kaes
(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-26Removed the "dnsserver" program all together, and changed the names ofRobert James Kaes
some of the files.
2002-05-26Added the malloc_shared_memory() and calloc_shared_memory() function toRobert James Kaes
allow the use of shared memory between all the children.
2002-05-26Spelling changes (from thread to child.)Robert James Kaes
2002-05-26Removed the directives for the old DNSserver process.Robert James Kaes
2002-05-26The stats structure has been moved into a shared memory block since itRobert James Kaes
needs to be shared by all the children.
2002-05-26Removed all the code relating to the DNS API (dnsclient.h) as it's noRobert James Kaes
longer needed with the new pre-forked model.
2002-05-26Removed the DNS API calls and replaced them with the standardRobert James Kaes
gethostbyname() and gethostbyaddr() functions. This is possible because tinyproxy now uses a standard pre-forked() method.
2002-05-26Removed the "pthread" related includes.Robert James Kaes
2002-05-26No longer using a threading model; so these files have been replaced byRobert James Kaes
the child.c/child.h files (which use a pre-forked model.)
2002-05-26I didn't like the DNS co-process design so I changed tinyproxy from aRobert James Kaes
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 Kaes
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 Kaes
2002-05-24Fixed some spelling mistakes, and removed the getpeer_ip() andRobert James Kaes
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 Kaes
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 Kaes
2002-05-23Added a new signal handler to handle SIGCHLD signals because of the newRobert James Kaes
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 Kaes
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 Kaes
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 Kaes
with the "dnsserver" resolver.
2002-05-23Added the peer's socket information to the connection structure. TheRobert James Kaes
information is passed along during the initialization of the structure.
2002-05-23Fixed up the header includes for the new layout.Robert James Kaes
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 Kaes
2002-05-23Added code to create the "dnsserver" program, and also reorganized toRobert James Kaes
include the various new source files.