summaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2002-11-21(main): Check to see if the PID file was created successfully, and ifRobert James Kaes1-2/+6
not report this to the user and close the program.
2002-11-21# Changed the return type for pidfile_create() to int from void.Robert James Kaes1-2/+2
2002-11-21(create_file_safely): Rather than exiting the program if there is anRobert James Kaes1-10/+11
error, a negative "error code" is returned to the program. The various callers then need to decide what to do. (pidfile_create): Returns an error status depending on whether the PID file was created successfully.
2002-11-13(relay_connection): Shutdown the client socket for writing once allRobert James Kaes1-1/+2
the data has been sent.
2002-11-13(destroy_conn): Added code to log any error messages when the socketsRobert James Kaes1-3/+8
are closed.
2002-11-03Removed all the code supporting the TCP tunnelling feature ofRobert James Kaes5-112/+6
tinyproxy. There is really no need for this code, since there are perfectly good programs out there (like rinetd) which are designed for TCP tunnelling. tinyproxy should be a good HTTP proxy, nothing more, and nothing less; therefore, the tunnelling code is gone.
2002-10-17(relay_connection): Ivan pointed out a bug with the code to send anyRobert James Kaes1-2/+2
remaining data to the server when the connections are being closed. It was a one line fix.
2002-10-03Fixed up the storing and sending of the internal tinyproxy logs priorRobert James Kaes1-4/+13
to when the log file is created. Also, the log file is created with the proper owner permissions.
2002-10-03#Style formatting change.Robert James Kaes1-2/+2
2002-10-03The internal log structure now uses a vector rather than a hash. ThisRobert James Kaes2-41/+76
change was required to actually display all the logs in the correct order. Also, all log lines are stored internally while tinyproxy is starting. At the appropriate point all the logs are written to the log file.
2002-10-03Filtering is now case insensitive.Robert James Kaes1-2/+2
2002-10-03#(makedaemon): Commented out the closing of the standard fileRobert James Kaes1-1/+3
descriptors since we need them to display error messages.
2002-10-03(child_main): Check to make sure memory could be allocated to handleRobert James Kaes1-2/+7
the child request. (child_main_loop): Added a call to truncate_log_file() when the log file is to be rotated.
2002-07-12(main): Fixed up a bug reported by Oswald Buddenha where the log file was ↵Robert James Kaes1-6/+6
being initially created with the initial user's permissions, which is obviously a problem if tinyproxy is not running as the initial user. This is now fixed by delaying the creation of the log file until _after_ tinyproxy has been switched to the user it will run as. Confused yet?
2002-07-09(create_file_safely):Robert James Kaes1-29/+29
(pidfile_create): Changed all the error logging to write to standard error and then exit the program. This will prevent segmentation fault problems from occurring because the log file could not be created properly.
2002-07-09(malloc_shared_memory): Changed the static character array to include the ↵Robert James Kaes1-5/+4
".XXXXXX" string already. This saves one system call when creating a temporary file name.
2002-06-27(child_make): Reset the various signals to the default signal handler so ↵Robert James Kaes1-1/+9
that the children can be properly destroyed.
2002-06-15(log_message): Changed the code so that the log is opened, written, and ↵Robert James Kaes1-9/+13
closed whenever a message is submitted. This allows the log file to be moved away, for example a rotating the log, and yet still have the information written to the correct file name by all the children.
2002-06-15Renamed the "log_rotation_request" boolean to "received_sighup".Robert James Kaes1-24/+5
(main): Removed the log file creation code because it has been moved into the log.c file. Also, removed the explicit fclose() for the log file since it will be close when the program has exited.
2002-06-15(child_main_loop): Moved the filter re-initiation code into the loop. This ↵Robert James Kaes1-4/+12
code is activated whenever the SIGHUP signal is received.
2002-06-15Removed the "logf" FILE structure from the config structure, and also ↵Robert James Kaes1-3/+2
renamed the "log_rotation_request" boolean to "received_sighup".
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.