1version 1.6 (24th May 2005) 2 ** Fixed problem with posting a large amount of data. A buffer 3 is malloc'ed based on the "Content-Length" header and the 4 posted data is read into that. 5 ** Fixed a few compiler warnings with FreeBSD/GCC 3.4.2. 6 ** Make direct connection fail-over a tad faster. 7 8version 1.5 (2nd Dec 2002) 9 ** Added Linux IPTABLES rules in tproxyrun script. 10 ** Changed default Linux build to use IPTABLES. 11 ** Removed a clause from the COPYRIGHT that required binary 12 distributions to display the COPYRIGHT message. The same 13 change was made to BSD licenses everywhere a little while ago. 14 15version 1.4 (5th Feb 2001) 16 ** Fixed HTTPS proxy support. You can now point your browsers 17 ** proxy configuration at transproxy and it will correctly 18 ** process the CONNECT method. 19 20version 1.3 (1st Oct 2000) 21 ** Added support for passing HTTPS on to the proxy (untested). 22 ** (Alexander V. Lukyanov <lav@long.yar.ru>) Provide patch for 23 IPTABLES as provided in the Linux 2.4 kernel. 24 ** (Moisi Gabriela <mgabi@gabi.1a.ro>) Bug fix for closing sockets 25 when connect(2) or bind(2) fails. 26 ** Added the '-p' option to prevent fail-over to a transparent 27 connection if the proxy connection fails. 28 29version 1.2 (9th Feb 2000) 30 ** (Oleg Bulavsky <bulch@sibnet.ru>) For Solaris: define INADDR_NONE, 31 rename typedef of ipaddr_t to avoid clash. Enclose client_host 32 declaration within LOG_TO_SYSLOG and LOG_TO_FILE conditional. 33 ** (Oleg Bulavsky <bulch@sibnet.ru>) For Solaris: Some problem with 34 the GNU Solaris development utilities prevents strchr(3) from 35 compiling. So conditionally (-DUSE_STRSTR_BUG) use strstr(3). 36 ** Cast isdigit parameters to an int to silence warnings. 37 ** Fix incorrect port numner in README for FreeBSD ipfw commands. 38 39version 1.1 (21st Sep 1999) 40 ** (Vyacheslav Silakov <seal@nordlink.ru>) Provide for the case when 41 a port number is contained in the Host: header. 42 ** Fix problem with parsing data provided by POST method. The new 43 HTTP/1.1 persistent connections parser broke the POST method. 44 45version 1.0 (12th Jul 1999) 46 ** Provide a robust method of reading HTTP requests. Should be 47 fully compliant with HTTP/1.1 persistent connections. The log 48 file includes the request number send over the same connection. 49 ** Provide an access control list for restricting who is allowed 50 access to the transparent proxy. This is much faster that using 51 tcp_wrappers for this function. 52 ** Allow tcp_wrappers as an alternative to provide host access control. 53 ** Fixed up the remapping of a URL to a fixed location by allowing 54 accesses to documents referred to by the fixed location. This should 55 allow images and SSI cgi-bins to work. 56 ** Transparent mode now directly contacts the original source rather 57 than the proxy. This allows transproxy to function as a HTTP proxy 58 on a firewall without a cache. 59 ** Transproxy will now try to connect to the original source if it fails 60 to connect to the cache proxy. 61 ** Only allow server mode specific command-line switches when server 62 mode has been enabled. 63 ** Provided tproxyrun and tproxywatch as examples or usable scripts. 64 65version 0.6 (28th Jun 1999) 66 ** I have decided to use a BSD style COPYRIGHT rather than the 67 FSF COPYLEFT. I feel that it is much less restrictive. 68 ** Installed binary is now called tproxy instead of in.tproxyd. 69 ** Log access to a file is now supported with the -l switch. 70 See the make file for automatically opening the log file. 71 ** (Bill 'Gates' Evans <evans@nasp.cnet.navy.mil>) Implemented 72 a no-daemonise mode. With the -d switch tproxy doesn't go 73 into the background. Usefull when running from inittab. 74 75version 0.5 (25th Jun 1999) 76 ** (Vesselin Atanasov <vesselin@bgnet.bg>) Implemented changes 77 to lookup the proxy host for each request, hence allowing DNS 78 round-robin load sharing. 79 ** (Vesselin Atanasov <vesselin@bgnet.bg>) Included a patch 80 (after coding standard changes) to fix operation with 81 HTTP/1.1 persistent connections by forcing them to be disabled. 82 ** Added some options to either disable syslog(3) logging, 83 use it only for errors, or use it for everything. Check 84 the Makefile. 85 ** Some minor buglet fixes to operation under error conditions. 86 ** (Krzysztof Adamski <kadamski@netsurf.net>) Added remapping of 87 url to a fixed location. 88 89version 0.4 (1st May 1998) 90 ** Fix up README file bug about the /etc/services file entry. 91 ** Applied BSD patches so that it works with the IP filter. 92 ** Some errno.h and SIGCHLD changes to compile with other 93 systems and the new linux glibc. 94 95version 0.3 (6th May 1997) 96 ** Use the SO_KEEPALIVE socket option to allow the TCP/IP 97 layer to detect when a connection has gone away. 98 99 ** Set an alarm for 5 minutes to detect an idle connection. 100 101version 0.2 (18th Feb 1997) 102 ** Parse the request headers looking for a "Host:" header to try 103 and find the real host name the request was being sent to. 104 When this works out it means no DNS lookups at all. More work 105 needs to be done on reliably searching the headers. 106 107 ** Use setuid/setgid instead of setreuid/setregid so that the 108 saved uid and gid also get set. 109 110 ** I found that if a set the SIGCLD singal to SIG_IGN then I 111 don't have to worry about children or zombies! 112 113Version 0.1 (16th Feb 1997) 114 ** Initial version. 115