summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2002-06-15Removed the rotate_log_files() function since I'm moving to an Apache style ↵Robert James Kaes2-72/+2
where the _user_ needs to move the log file themselves, and tinyproxy will continue to write to the original name. This allows more flexibility for users to determine their own log rotation scheme.
2002-06-07Added myself to the copyright since I've made a bunch of changes to this file.Robert James Kaes1-1/+2
2002-06-07Added code to handle the "FilterDefaultDeny" directive. The ↵Robert James Kaes2-14/+50
filter_set_default_policy() function is used to select the default policy (either default allow or default deny) for the filtering code. Also, the two filtering functions now support the policy code.
2002-06-07Added the "FilterDefaultDeny" directive to allow the user to select whether ↵Robert James Kaes2-3/+14
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 Kaes1-27/+98
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 Kaes1-11/+3
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 Kaes1-1/+4
support has been compiled in.
2002-06-06Added a warning message to the Bind directive stating that it will be ↵Robert James Kaes1-1/+5
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 Kaes1-5/+20
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 Kaes1-1/+3
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 Kaes1-2/+1
now a static variable.
2002-06-05(acl_string_processing): Moved the string processing code out of check_acl() ↵Robert James Kaes1-31/+88
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 Kaes1-2/+2
2002-05-31(create_file_safely): Added the "truncate_file" boolean flag. This is ↵Robert James Kaes1-11/+23
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 Kaes1-3/+3
tinyproxy without losing the log file.
2002-05-31(process_server_headers): Since we're stripping off the carriage return and ↵Robert James Kaes1-2/+2
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 Kaes1-3/+4
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 Kaes1-12/+24
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 Kaes2-5/+5
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 Kaes1-12/+5
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 Kaes1-2/+2
allocated was incorrect.
2002-05-28(add_header_to_connection): Added a boolean to indicate that a "Double CGI" ↵Robert James Kaes1-6/+22
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 Kaes1-2/+31
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 Kaes1-10/+21
and URLs.
2002-05-27Added into the config structure the filter_urls and filter_extended flags.Robert James Kaes1-1/+3
2002-05-27Some spelling fixes.Robert James Kaes1-2/+2
2002-05-27(opensock): Changed a comment around to better state what the code is ↵Robert James Kaes1-2/+2
actually doing.
2002-05-27Added a copyright for James E. Flemer since these are his changes.Robert James Kaes2-17/+61
(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 Kaes2-3/+22
These directives were submitted by James Flemer for use with the new filtering code.
2002-05-27(display_license): Updated the copyright datesRobert James Kaes1-11/+11
(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 Kaes1-12/+3
some of the files.
2002-05-26Added the malloc_shared_memory() and calloc_shared_memory() function toRobert James Kaes2-2/+56
allow the use of shared memory between all the children.
2002-05-26Spelling changes (from thread to child.)Robert James Kaes2-6/+6
2002-05-26Removed the directives for the old DNSserver process.Robert James Kaes2-13/+8
2002-05-26The stats structure has been moved into a shared memory block since itRobert James Kaes1-28/+17
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 Kaes1-38/+9
longer needed with the new pre-forked model.
2002-05-26Removed the DNS API calls and replaced them with the standardRobert James Kaes1-24/+15
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 Kaes1-8/+4
2002-05-26No longer using a threading model; so these files have been replaced byRobert James Kaes2-437/+0
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 Kaes3-482/+0
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 Kaes2-0/+442
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 Kaes11-32/+32
2002-05-24Fixed some spelling mistakes, and removed the getpeer_ip() andRobert James Kaes1-67/+1
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 Kaes2-222/+8
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 Kaes1-164/+5
2002-05-23Added a new signal handler to handle SIGCHLD signals because of the newRobert James Kaes1-7/+50
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 Kaes2-266/+69
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 Kaes1-9/+10
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 Kaes2-2/+7
with the "dnsserver" resolver.
2002-05-23Added the peer's socket information to the connection structure. TheRobert James Kaes2-5/+20
information is passed along during the initialization of the structure.