mirror of
				https://github.com/3proxy/3proxy.git
				synced 2025-11-04 07:42:39 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			2220 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2220 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
10.04.2014
 | 
						|
! switching to 64-bit integers where possible.
 | 
						|
  proxy should now support downloading for files > 4GB.
 | 
						|
 | 
						|
 | 
						|
08.04.2014
 | 
						|
Releasing as 0.7
 | 
						|
Significant changes since 0.6.1:
 | 
						|
!! auth iponly by default
 | 
						|
! maxconn is 500 by default
 | 
						|
! Improved HTTP/1.1 compatibility
 | 
						|
! Functionality bugfixes
 | 
						|
+ Few new plugins
 | 
						|
 | 
						|
11.07.2012
 | 
						|
! fixed: counters over 4GB in webadmin
 | 
						|
 | 
						|
26.06.2012
 | 
						|
! OpenSSL thread support functions added to SSL plugin
 | 
						|
 | 
						|
10.05.2012
 | 
						|
! SSL plugin works. Commands to enable/disable SSL spoofing will be added later.
 | 
						|
 | 
						|
25.04.2012
 | 
						|
! pcre_rewrite slash sequence logic corrected
 | 
						|
 | 
						|
16.04.2012
 | 
						|
+ Added: SSLPlugin for SSL decryption with certificates spoofing
 | 
						|
 | 
						|
12.04.2012
 | 
						|
+ Added: new filter callback function type (pre data filter) for things like SSL/TLS, gzip, etc.
 | 
						|
  WARNING: all plugins with filter functions need to be reviewed for compatibility
 | 
						|
 | 
						|
06.02.2012
 | 
						|
+ Added: transparent redirection plugin for linux. Automatically detects redirection
 | 
						|
  address if traffic is redirected via iptables
 | 
						|
 | 
						|
15.08.2011
 | 
						|
! Fixed: 100% CPU because of usleep with large value on NetBSD
 | 
						|
 | 
						|
11.06.2011
 | 
						|
+ Support for extusername/extpassword added to smtpp
 | 
						|
 | 
						|
04.06.2011
 | 
						|
! Fixed: web admin access
 | 
						|
! Fixed: wrong error code in logfile in some rare cases
 | 
						|
! Migrated to VC 9.0 compiler
 | 
						|
 | 
						|
14.04.2011
 | 
						|
! Authentication: do not request username/password in mixed authentication
 | 
						|
  if all modules deny access.
 | 
						|
 | 
						|
12.04.2011
 | 
						|
! Minor code cleanup
 | 
						|
 | 
						|
17.12.2010
 | 
						|
- Debugging output to stdout removed
 | 
						|
 | 
						|
09.12.2010
 | 
						|
! Code cleanup for sockets mapping and chunked encoding, 
 | 
						|
! Content-Length up to 4GB
 | 
						|
 | 
						|
25.11.2010
 | 
						|
+ System locale handling added for mixed case username in WindowAuthentication 
 | 
						|
 | 
						|
13.11.2010
 | 
						|
+ Plugin utf8tocp1251 added to automatically detect UTF-8 (used by Chrome and
 | 
						|
  Opera in username/password.
 | 
						|
 | 
						|
  usage 
 | 
						|
 | 
						|
  plugin "utf8tocp1251" utf8tocp1251
 | 
						|
  auth utf8tocp1251 strong
 | 
						|
 | 
						|
  or
 | 
						|
 | 
						|
  auth utf8tocp1251 cache windows
 | 
						|
 | 
						|
 | 
						|
11.11.2010
 | 
						|
! encoding paramter added to WWW-Authenticate and Proxy-Authenticate headers in
 | 
						|
  .3ps files according to
 | 
						|
  http://tools.ietf.org/id/draft-reschke-basicauth-enc-01.txt
 | 
						|
 | 
						|
12.08.2010
 | 
						|
! Removed getservbyport() from webadmin to avoid potential race condition
 | 
						|
 | 
						|
09.08.2010
 | 
						|
! Default .3ps files corrected
 | 
						|
 | 
						|
26.06.2010
 | 
						|
! Fixed: keep-alive connections detection for HTTP/1.1
 | 
						|
 | 
						|
10.12.2009
 | 
						|
! Fixed: external address may be incorrectly set if few requests are
 | 
						|
  received in single connection.
 | 
						|
 | 
						|
02.12.2009
 | 
						|
! zero sockaddr before bind for some FreeBSD versions compatibity
 | 
						|
 | 
						|
26.10.2009
 | 
						|
! Some changes for MD4/MD5 libraries 64-bit compatibility
 | 
						|
 | 
						|
01.10.2009
 | 
						|
! Fixed: Content-Length is sent twice to server if there are content-handling
 | 
						|
  plugins.
 | 
						|
 | 
						|
17.09.2009
 | 
						|
! Makefile.Linux: add3proxyuser.sh moved to INSTALL_CFG_OBJS
 | 
						|
  (thanks to Martin Wanicki)
 | 
						|
+ Functionality added to intercept all socket-related calls for plugins
 | 
						|
 | 
						|
03.09.2009
 | 
						|
! Fixed: client connection was not closed on removed Content-Length (may
 | 
						|
  cause connection hang for timeout at the end of large file transfer 
 | 
						|
  if filtering plugins are used).
 | 
						|
 | 
						|
24.08.2009
 | 
						|
+ Added transparent redirection to ICQ and MSN proxy
 | 
						|
+ Added (untested) Last.fm ripper plugin - initial version, code needs to be
 | 
						|
  cleaned to work under *nix. Thanks to Denis Stanishevskiy.
 | 
						|
 | 
						|
14.08.2009
 | 
						|
+ WinCE (Windows Mobile) support added
 | 
						|
 | 
						|
27.07.2009
 | 
						|
! Fixed: use authnserver for name match check if configured
 | 
						|
 | 
						|
22.07.2009
 | 
						|
+ authnserver command added (nserver to use only with auth dnsname)
 | 
						|
 | 
						|
13.07.2009
 | 
						|
+ man pages for smtpp and icqpr added
 | 
						|
! traffic correction plugin logics fixed
 | 
						|
 | 
						|
10.07.2009
 | 
						|
+ 3proxy configuration parser: support added for empty strings ("").
 | 
						|
 | 
						|
09.07.2009
 | 
						|
+ dnsname authentication added (auth dnsname) - puts validated reverse DNS
 | 
						|
  record (PTR) instead of username
 | 
						|
+ PCREPlugin: Added: \r, \n support from pcre_rewrite rewrite string. Use \0
 | 
						|
  for empty string
 | 
						|
+ PCREPlugin: Added: * may be used instead of regex (no regex is created
 | 
						|
  and checked in this case)
 | 
						|
 | 
						|
24.06.2009
 | 
						|
! random redirections are really fixed (incomplete fix on 08.04.2009)
 | 
						|
! icqpr "Need recync" problem fixed
 | 
						|
! disable NTLM by default (because of Windows Vista) until NTLMv2 implemented
 | 
						|
! set auth iponly to be default
 | 
						|
 | 
						|
 | 
						|
08.04.2009
 | 
						|
! Fixed: distribution between parent proxies was not even because of
 | 
						|
  non-linear probability
 | 
						|
 | 
						|
18.03.2009
 | 
						|
! Marking as 0.7-devel
 | 
						|
 | 
						|
06.03.2009
 | 
						|
! Fixed: filters were applied in reverse order
 | 
						|
 | 
						|
25.02.2009
 | 
						|
! Fixed: beginning of HTTP data may be not passed to filter
 | 
						|
 | 
						|
22.02.2009
 | 
						|
! handle Content-Length as unsigned long to allow files > 2GB.
 | 
						|
 | 
						|
10.02.2009
 | 
						|
! Ldapauth plugin corrected according to changes on 02.02.2009
 | 
						|
 | 
						|
02.02.2009
 | 
						|
+ countout / nocountout commands added
 | 
						|
! Added workaround for Mac OS X / iPhone OS poll() (mis)behaviour.
 | 
						|
 | 
						|
30.01.2009
 | 
						|
! Flush buffer in case of POLLxxx - probably required for Mac OS X / iPhone OS
 | 
						|
 | 
						|
24.01.2009
 | 
						|
! Changed WindowsAuthentication to convert username to lowercase
 | 
						|
 | 
						|
10.12.2008
 | 
						|
! Fixed: login may hang in ftppr in case of large server banner
 | 
						|
 | 
						|
30.10.2008
 | 
						|
! WindowsAuthentication plugin may sometimes fail with 100122 error
 | 
						|
  on startup because of uninitialized variable.
 | 
						|
 | 
						|
30.09.2008
 | 
						|
! -lXXX moved to $LIBS in Makefiles for linkers compatibility 
 | 
						|
+ 3proxy for Dummies v.1.2 by Kurmaeff Halit added (in Russian)
 | 
						|
 | 
						|
26.08.2008
 | 
						|
! Fixed: end of chunked-encoded page may be incorrectly detected
 | 
						|
 | 
						|
24.07.2008
 | 
						|
! Fixed: buffering problem on multiple chunks
 | 
						|
 | 
						|
21.07.2008
 | 
						|
! Previous fix was incomplete
 | 
						|
 | 
						|
13.07.2008
 | 
						|
  Thanks to Hostile Fork:
 | 
						|
! Fixed directory listing building for some rare FTP servers (e.g. HP)
 | 
						|
! Fixed (probably) chunked encoding should now work. REQUIRES TESTING.
 | 
						|
  please report, if you have problems with chunked. 
 | 
						|
 | 
						|
 | 
						|
11.05.2008
 | 
						|
+ minor plugin interface additions
 | 
						|
 | 
						|
03.05.2008
 | 
						|
+ pcre_options implemented
 | 
						|
 | 
						|
24.04.2008
 | 
						|
! Fixed: bandlimsout may not work if both bandlimsin and bandlimsout
 | 
						|
  are configured.
 | 
						|
 | 
						|
01.04.2008
 | 
						|
! Fixed: chunked was actually converted to non-chunked
 | 
						|
 | 
						|
25.03.2008
 | 
						|
+ HTTP chunked support (hopefully) added, not tested yet
 | 
						|
 | 
						|
13.02.2008
 | 
						|
! Do not shutdown listening socket
 | 
						|
! FTPPR was broken on 10.02 fix
 | 
						|
! ':' may be encoded in ftp:// URI's in proxy
 | 
						|
 | 
						|
12.02.2008
 | 
						|
! LOGIN and PLAIN authentication were swapped in smtpp.
 | 
						|
 | 
						|
10.02.2008
 | 
						|
! FTPPR: potential race condition on socket close fixed
 | 
						|
 | 
						|
07.02.2008
 | 
						|
! MSN: message channels were not captured
 | 
						|
 | 
						|
05.02.2008
 | 
						|
! Use CDATA for XML data in webadmin module
 | 
						|
 | 
						|
03.02.2008
 | 
						|
+ MSN / Live messenger proxy (msnpr) addded
 | 
						|
 | 
						|
02.02.2008
 | 
						|
! Fixed: counters may be flushed on configureation reload
 | 
						|
 | 
						|
01.02.2008
 | 
						|
! Work with counters with more safe way on configuration reload
 | 
						|
 | 
						|
28.01.2008
 | 
						|
! Do not compile empty PCRE
 | 
						|
 | 
						|
17.01.2008
 | 
						|
+ APPE support added to ftppr
 | 
						|
! Fixed problem with counters dumping on reload
 | 
						|
 | 
						|
16.01.2008
 | 
						|
+ reqip/reqport added to XML data export
 | 
						|
 | 
						|
15.01.2008
 | 
						|
! cache auth: set default cache type to user/password with 600 sec timeout
 | 
						|
 | 
						|
14.01.2008
 | 
						|
! Fixed EAGAIN handling in sockmap
 | 
						|
! Fixed: plugins: some data may be sent to the filter functions more than once
 | 
						|
  on incomplete send.
 | 
						|
! int * offset_p  changed to  int offset  in plugins interface
 | 
						|
 | 
						|
13.01.2008
 | 
						|
! icqpr: fixed new services request hijacking
 | 
						|
 | 
						|
12.01.2008
 | 
						|
+ icqpr: added support for ICQ 6.0 greeting
 | 
						|
+ icqpr: added support for insecure authentication
 | 
						|
+ icqpr: added support for server migration
 | 
						|
 | 
						|
11.01.2008
 | 
						|
+ Support for new service requests hijacking added to icqpr
 | 
						|
! Fixed: icqpr: sequence number can be > 0x8000 in current protocol verion
 | 
						|
 | 
						|
10.01.2008
 | 
						|
! Fixed few rare cases where small amount of data may pass in/out statistics
 | 
						|
  (e.g parent proxy request/response).
 | 
						|
 | 
						|
09.01.2008
 | 
						|
+ Initial version of icqpr (ICQ proxy). Use it as portmapper to ICQ server:
 | 
						|
  You can also control access by UIN (use 'auth useronly'):
 | 
						|
	auth useronly
 | 
						|
	allow 1369139,1234567
 | 
						|
	icqpr 5190 login.icq.com 5190
 | 
						|
! Corrected seconds fractions calculation in poll() emulation code
 | 
						|
  (probably did not affected any functionality)
 | 
						|
! PCRE library updated to 7.4	
 | 
						|
 | 
						|
07.01.2008
 | 
						|
!! Error code is now 5-digit
 | 
						|
 | 
						|
 | 
						|
27.12.2007
 | 
						|
+ StringsPlugin now supports strings substitution for 'admin' service (Kirill Lopuchov)
 | 
						|
+ PamAuth plugin added (Kirill Lopuchov)
 | 
						|
+ LdapPlugin added (Kirill Lopuchov)
 | 
						|
 | 
						|
19.12.2007
 | 
						|
 Copyright text fixed in source files
 | 
						|
 | 
						|
18.12.2007
 | 
						|
+ Export added for weadmin strings to use/replace in plugins
 | 
						|
 | 
						|
17.12.2007
 | 
						|
+ Proxy-support: Session-Based-Authentication added for compatibility
 | 
						|
  with NTLM/Negotiate authentication in IE7.
 | 
						|
 | 
						|
03.12.2007
 | 
						|
! StringPlugin fixed
 | 
						|
 | 
						|
23.11.2007
 | 
						|
+ Developer's documentation added
 | 
						|
 | 
						|
19.11.2007
 | 
						|
! StringPlugin fixes (by Kirill Lopuchov)
 | 
						|
 | 
						|
09.11.2007
 | 
						|
! Fixed: SOCKS5 authentication was broken some time ago
 | 
						|
 | 
						|
28.10.2007
 | 
						|
! Fixed: do flush() if logged to file given with -l
 | 
						|
 | 
						|
25.10.2007
 | 
						|
! Improper extparam structure initialization fixed (caused invalid behavior
 | 
						|
smtpp/pop3p/ftppr if no 'delimchar' configured after 11.10.2007)
 | 
						|
 | 
						|
19.10.2007
 | 
						|
! StringsPlugin cleanup
 | 
						|
 | 
						|
11.10.2007
 | 
						|
+ delimchar command added
 | 
						|
 | 
						|
10.10.2007
 | 
						|
! Fixed: filters are lost on configuration reload
 | 
						|
+ Added chkconfig support to rc.d script
 | 
						|
 | 
						|
09.10.2007
 | 
						|
! Fixed double addition of authentication function on WindowsAuthentication
 | 
						|
  plugin
 | 
						|
 | 
						|
25.09.2007
 | 
						|
! Outgoing AUTH LOGIN fixed for smtpp
 | 
						|
! Fixed multiline banners in smtpp
 | 
						|
+ smtpp: default server (-h) may be used without authentication
 | 
						|
 | 
						|
11.09.2007
 | 
						|
! Documentation corrections, thanx to Vladimir Fesko
 | 
						|
 | 
						|
30.08.2007
 | 
						|
! Fixed PCRE filter behaviour on configuration reload
 | 
						|
 | 
						|
29.08.2007
 | 
						|
! Support added for in-line auth plain SMTP authentication. Default parent
 | 
						|
  authentication is changed to LOGIN.
 | 
						|
 | 
						|
25.08.2007
 | 
						|
! Fixed -h feature (double memory free after second connect)
 | 
						|
+ smtpp (SMTP proxy added). Supports both PLAIN and LOGIN for both client
 | 
						|
  and server, supports default SMTP server.
 | 
						|
 | 
						|
23.08.2007
 | 
						|
+ %e format specificator added for exaternal IP logging.
 | 
						|
 | 
						|
22.08.2007
 | 
						|
! dighost corrected to do not change file, if no replay from the server
 | 
						|
  received.
 | 
						|
 | 
						|
20.08.2007
 | 
						|
+ authcache password added
 | 
						|
! authcache user and user,ip corrected and crash fixed
 | 
						|
 | 
						|
17.08.2007
 | 
						|
+ Documentation added for authentication cache
 | 
						|
 | 
						|
16.08.2007
 | 
						|
+ Authentication cache created! New command:
 | 
						|
  authcache authtype time
 | 
						|
  e.g.
 | 
						|
  authcache ip 600
 | 
						|
  and new authentication type: cache, e.g.
 | 
						|
  auth iponly cache strong
 | 
						|
  Doesn't work with NTLM, Requires proxy -n!
 | 
						|
 | 
						|
07.08.2007
 | 
						|
! define _MAX__TIME64_T, because Microsoft only mentions it in configuration
 | 
						|
  and never actually defines it. Prevents crash on malformed/older counter
 | 
						|
  file.
 | 
						|
 | 
						|
03.08.2007
 | 
						|
+ 'nolog' command added to extend allow/deny rules (prevent logging
 | 
						|
  for requests mathing allow/deny rules). nolog only affects last allow
 | 
						|
  or deny command.
 | 
						|
+ 'weight' command added to extend allow/deny rules. E.g. 'weight 100'.
 | 
						|
  weight only affects last allow/deny rule.
 | 
						|
 | 
						|
31.07.2007
 | 
						|
! Error code changed to 100 on failed SOCKSv5 name resolution
 | 
						|
+ FAQ and documentation updates
 | 
						|
+ New command 'logdump' added, to create intermediate log records then given
 | 
						|
  amount of data is archieved through connection
 | 
						|
+ New command 'filtermaxsize' to prevent filtering if expected Content-Length
 | 
						|
  is greater than given value.
 | 
						|
 | 
						|
21.07.2007
 | 
						|
! rm changed to del in Windows makefiles
 | 
						|
 | 
						|
07.07.2007
 | 
						|
+ HTTP proxy code fixed to pre-buffer traffic and fix Content-Length in case of
 | 
						|
  short files. For longer files Content-Length is not sent to client. It's safe
 | 
						|
  now to change HTTP content within plugin.
 | 
						|
  Result: pcre_rewrite works perfectly.
 | 
						|
 | 
						|
05.07.2007
 | 
						|
+ Documentation improved.
 | 
						|
 | 
						|
28.06.2007
 | 
						|
+ FTP server authentication fixed
 | 
						|
 | 
						|
26.06.2007
 | 
						|
+ Request authentication for FTP server in HTTP proxy if anonymous logon fails
 | 
						|
 | 
						|
18.06.2007
 | 
						|
! Documentation fixes
 | 
						|
 | 
						|
11.06.2007
 | 
						|
! Fixed: \r in *nix installation scripts
 | 
						|
 | 
						|
31.05.2007
 | 
						|
! PCRE: Fixed: replace on the string of different size
 | 
						|
! PCRE: Fixed: replace only replaces first match
 | 
						|
? PCRE: known problem: in HTTP if size changes after replacement it doesn't
 | 
						|
  match Content-Length any more. Any workaround suggestions? Remove
 | 
						|
  Content-Length on HTTP requests?
 | 
						|
 | 
						|
07.05.2007
 | 
						|
! PCRE plugin only used first rule
 | 
						|
 | 
						|
21.04.2007
 | 
						|
! Avoid usage of large stack buffer in proxy
 | 
						|
+ PCREPlugin is now somehow usefull
 | 
						|
 | 
						|
20.04.2007
 | 
						|
! Minor code cleanup
 | 
						|
 | 
						|
18.04.2007
 | 
						|
! Fixed: TraffCorrect plugin doesn't NULLify pointer after free()
 | 
						|
 | 
						|
13.04.2007
 | 
						|
!! Potential buffer overflow fixed on transparent request handling
 | 
						|
   thanks to big_gad_(at)_mail.ru
 | 
						|
 | 
						|
12.04.2007
 | 
						|
! missed authentication type check in Windows Authentication plugin
 | 
						|
! fixed minor memory leak in tcppm
 | 
						|
 | 
						|
11.04.2007
 | 
						|
! Compilation issue for structures.h introduced on 09.04 fixed
 | 
						|
 | 
						|
09.04.2007
 | 
						|
! Minor code cleanup, documentation fixes, rus-win1251.3ps grammatics fixed.
 | 
						|
! *nix plugins compilation issue fixed
 | 
						|
 | 
						|
08.04.2007
 | 
						|
! Bug fixed on socket mapping (introduced 06.04)
 | 
						|
! Some internal code review without functional changes
 | 
						|
! "parent type IP 0" is now used to specify external IP
 | 
						|
  (like -eIP, but only for connections matching "allow")
 | 
						|
 | 
						|
06.04.2007
 | 
						|
+ PCREPlugin added. Still in development, not all functionality is implemented.
 | 
						|
 | 
						|
05.04.2007
 | 
						|
+ StringsPlugin by Kirill Lopuchov is imported
 | 
						|
 | 
						|
21.03.07
 | 
						|
! Fixed: FTP listing is not shown on long FTP server greeting in HTTP proxy
 | 
						|
! Fixed: FTP listing may noy be shown on specific server timing in HTTP proxy
 | 
						|
 | 
						|
19.03.07
 | 
						|
! TraffCorrect plugin NULL pointer fixed
 | 
						|
 | 
						|
16.03.07
 | 
						|
+ It's now possible to use hostnames and patterns in destination ACL. Hostname
 | 
						|
  is checked against requested hostname. Hostnames and networks may be mixed.
 | 
						|
  Example:
 | 
						|
  deny * * *sex*,*porn*,localhost,192.168.0.0/16
 | 
						|
  '*' can not be uses in the middle of the hostname. www*com is invalid
 | 
						|
  pattern.
 | 
						|
! BINDIR changed to BUILDDIR in Makefiles to avoid collision with install
 | 
						|
  on Linux.
 | 
						|
 | 
						|
15.03.07
 | 
						|
! Documentation update
 | 
						|
 | 
						|
13.03.07
 | 
						|
+ It's possible to use hostnames in ACL, but it should not be dynamic or
 | 
						|
  multihomed host because hotname is translated to IP immediately.
 | 
						|
 | 
						|
01.03.07
 | 
						|
! fixed: unnecessary mutex_unlock on trafcounter mutex
 | 
						|
! Cosmetic changes
 | 
						|
 | 
						|
28.02.07
 | 
						|
+ FTP put support added for HTTP proxy
 | 
						|
! Code cleanups (few warnings fixed)
 | 
						|
! Makefile.Linux changed (by request of Jari Aalto)
 | 
						|
 | 
						|
22.02.07
 | 
						|
! fixed: ftppr may delay on file uploading
 | 
						|
 | 
						|
20.02.07
 | 
						|
+ Minor improvements in schedule-handling code
 | 
						|
 | 
						|
14.02.07
 | 
						|
! Previous FTP (24.12.06) fix was ineffective (operation after break)
 | 
						|
 | 
						|
01.02.07
 | 
						|
! Documentation typo with portnumber in fordummies.html fixed
 | 
						|
 | 
						|
25.01.07
 | 
						|
! Typo fixed in gethostbyname_r
 | 
						|
 | 
						|
23.01.07
 | 
						|
! Plugins are added to main code tree
 | 
						|
 | 
						|
20.01.07
 | 
						|
! Use gethostbyname_r on Linux and Solaris
 | 
						|
 | 
						|
18.01.07
 | 
						|
! Set reload flag on Web interface reload, but do not call reload() function.
 | 
						|
  to process reloads in uniform way.
 | 
						|
 | 
						|
08.01.07
 | 
						|
! Rotate counters with '0' number
 | 
						|
+ Scheduling interface added
 | 
						|
 | 
						|
29.12.06
 | 
						|
! udppm code cleanup
 | 
						|
 | 
						|
24.12.06
 | 
						|
! Point ident for openlog to saved copy of string to prevent garbage in syslog
 | 
						|
! Fixed: FTP though parent proxy
 | 
						|
! Fixed: problem fixed for final FTP server response received before data
 | 
						|
  (slow connection).
 | 
						|
 | 
						|
22.12.06
 | 
						|
! socks4 parent redirection fixed
 | 
						|
! Makefile.Solaris and Makefile.Solaris-gcc are corrected against -o problem
 | 
						|
  in Solaris.
 | 
						|
 | 
						|
21.12.06
 | 
						|
+ FAQ additions
 | 
						|
 | 
						|
19.12.06
 | 
						|
! Fixed: POST request problem with NTLM authentication
 | 
						|
+ Access to reload / exit status and proxy stringtable from plugin API
 | 
						|
 | 
						|
05.12.06
 | 
						|
! Fixed: imcomlete pages through HTTP proxy (Internet Explorer hangs)
 | 
						|
! Minor changes in trafcount/bandlimit for better plugin compatibility
 | 
						|
 | 
						|
30.12.06
 | 
						|
! Fixed: two 3xx replies on USER command in ftppr.
 | 
						|
 | 
						|
27.11.06
 | 
						|
! Changed to SAFESQL because actually only Microsoft and Oracle
 | 
						|
  seems to follow ODBC standards.
 | 
						|
 | 
						|
19.11.06
 | 
						|
+ SITE command support in addition to OPEN for ftppr
 | 
						|
 | 
						|
18.11.06
 | 
						|
+ -I added to standalone services to be executed from inetd.
 | 
						|
 | 
						|
14.11.06
 | 
						|
! Fixed behaviour on failed ODBC log attempt
 | 
						|
+ Filtering HTTP request API now works
 | 
						|
 | 
						|
10.11.06
 | 
						|
+ Try to fallback to stdlog if odbclog fails
 | 
						|
 | 
						|
07.11.06
 | 
						|
+ Filtering API is partially implemented
 | 
						|
 | 
						|
01.11.06
 | 
						|
+ -h option added to use as default hostname:port for ftppr/pop3pr.
 | 
						|
 | 
						|
15.10.06
 | 
						|
! WindowsAuthentication.dll version updated to match current internal
 | 
						|
  structures and changes in plugins API.
 | 
						|
 | 
						|
13.10.06
 | 
						|
! Exit service on non-recoverable service error
 | 
						|
 | 
						|
11.10.06
 | 
						|
! Fixed: hostname:xx causes name resolution problem (introduced on 09.10).
 | 
						|
! Fixed: wrong target ports for tcppm/udppm (introduced on 09.10).
 | 
						|
 | 
						|
09.10.06
 | 
						|
! %Q and %q added to track requested IP/port. Hopefully also problems with
 | 
						|
  ACL checks on redirected applications are finally fixed.
 | 
						|
 | 
						|
06.10.06
 | 
						|
! WindowsAuthentication.dll replaced with static version in distro
 | 
						|
 | 
						|
04.10.06
 | 
						|
! Some compilation warnings cleaned
 | 
						|
! Back to static linking
 | 
						|
! Errors introduced with filters corrected
 | 
						|
 | 
						|
03.10.06
 | 
						|
! Add .manifest files to distribution
 | 
						|
 | 
						|
28.09.06
 | 
						|
! Compile 3proxy with msvcr80.dll
 | 
						|
+ include msvcr80.dll into distribution
 | 
						|
 | 
						|
27.09.06
 | 
						|
+ FAQ updated.
 | 
						|
+ Filtering functionality added (incomplete yet).
 | 
						|
! SOCKS BIND/UDPASSOC problems fixed (based on Artem Rebrov's patch)
 | 
						|
 | 
						|
25.09.06
 | 
						|
! Traffic report name is now generated based on 'last traffic in report'
 | 
						|
  date/time and is not overwritten on service startup. Today traffic report
 | 
						|
  will only be seen tomorrow, but counters may be checked with 'countersutil'
 | 
						|
  or web interface.
 | 
						|
 | 
						|
13.09.06
 | 
						|
+ Examples of compatible log formats added to 3proxy.cfg.sample
 | 
						|
 | 
						|
11.09.06
 | 
						|
! Name hash length changed from 64 to 128 bits.
 | 
						|
 | 
						|
06.09.06
 | 
						|
! Documentation regarding to Unix compilation corrected
 | 
						|
 | 
						|
 | 
						|
05.09.06
 | 
						|
! Fixed: buffered input may double some data on empty reads
 | 
						|
+ FTP diagnostics improved for FTP login problems
 | 
						|
+ Add ".." to directory listing
 | 
						|
 | 
						|
25.08.06
 | 
						|
! Fixed: endless loop on configuration parsing if ACL weekdays are given as
 | 
						|
  a comma delimited list (reported Andrey S. Alexeenko).
 | 
						|
 | 
						|
23.08.06
 | 
						|
! Fixed: compilation under Solaris
 | 
						|
+ Solaris/gcc Makefile added
 | 
						|
 | 
						|
17.08.06
 | 
						|
! Fixed: NTLM authentication doesn't work for NT-encoded passwords
 | 
						|
! Fixed: offer NTLM authentication before basic
 | 
						|
 | 
						|
15.08.06
 | 
						|
! Reset client address after hostname parsing
 | 
						|
! Warn on counterfile time_t incompatibility
 | 
						|
 | 
						|
10.08.06
 | 
						|
! Fixed: \r's in few Makefiles
 | 
						|
 | 
						|
09.08.06
 | 
						|
! Documentation corrections.
 | 
						|
 | 
						|
04.08.06
 | 
						|
! Documentation corrections.
 | 
						|
 | 
						|
28.07.06
 | 
						|
! Fixed: invalid traffic prediction for large downloads on traffic limits over
 | 
						|
  4GB.
 | 
						|
 | 
						|
26.07.06
 | 
						|
! nbname auth rejects, if no NetBIOS name determined. Use
 | 
						|
  auth nbname,iponly
 | 
						|
  to emulate old behaviour
 | 
						|
! It's now possible to use "-" in ACLs to match empty username.
 | 
						|
! No need to specify L/G for filename template in "log" (local time is
 | 
						|
  always used).
 | 
						|
 | 
						|
25.07.06
 | 
						|
+ "log" command now supports same format specifications for filename template
 | 
						|
  as "logformat" (if filename contains '%' sign it's believed to be template).
 | 
						|
  As with "logformat" filename must begin with "L" or "G".
 | 
						|
 | 
						|
08.07.06
 | 
						|
! nreads/nwrites/nconnects fields added to internal client paramters structure
 | 
						|
  for plugin developments
 | 
						|
 | 
						|
07.07.06
 | 
						|
! FTP_DATA operation added for FTP data connection ACLs.
 | 
						|
 | 
						|
04.07.06
 | 
						|
! Scripts/Makefiles corrections
 | 
						|
 | 
						|
03.07.06
 | 
						|
! Fixed: dnspr 822 error on Windows (seems like a bug with multithreading on
 | 
						|
  latest Visual C compiler, ioctlsocket() resets parameters of setsockopt().
 | 
						|
! Fixed: wrong limit and traffic on counters on the web
 | 
						|
 | 
						|
30.06.06
 | 
						|
! Fixed: wrong traffic displayed on web for traffic > 4GB
 | 
						|
 | 
						|
28.06.06
 | 
						|
! Fixed path to binary in scripts/rc.d/proxy.sh
 | 
						|
 | 
						|
27.06.06
 | 
						|
! Fixed: limitations for traffic over 1GB work incorrectly
 | 
						|
+ Start/stop script example added to distribution
 | 
						|
 | 
						|
22.06.06
 | 
						|
+ -u parameter added to services to avoid username authentication request/usage
 | 
						|
 | 
						|
16.06.06
 | 
						|
+ Windows authentication plugin added to binary Windows distribution
 | 
						|
 | 
						|
14.06.06
 | 
						|
! Added workaround for broken HTTP client (e.g. SUM - SUN update manager) with
 | 
						|
  incomplete URI in HTTP request.
 | 
						|
 | 
						|
11.06.06
 | 
						|
! bind FTP data connection socket to external interface
 | 
						|
+ FTPPR fully supports parent proxy (SOCKS 4/5, HTTPS/CONNECT)
 | 
						|
+ FTPPR supports FTP_GET/FTP_PUT/FTP_LIST ACL actions limitations
 | 
						|
 | 
						|
09.06.06
 | 
						|
+ 'auth' can be used with few authentication types now. It makes it possible
 | 
						|
   to request password only on demand with
 | 
						|
   auth ipony strong
 | 
						|
 | 
						|
08.06.06
 | 
						|
! 'admin' redirect type added for redirection to local web administration
 | 
						|
  service (works like admin -s).
 | 
						|
 | 
						|
31.05.06
 | 
						|
! Log '-' instead of username if username exists but is empty
 | 
						|
 | 
						|
29.05.06
 | 
						|
!!!! Warning: counters file format changed on Windows since 0.5.2
 | 
						|
     because of different sizeof(time_t) on Visual C++ 2005 compiler.
 | 
						|
+ countersutil utility added to manage counters. To convert 3proxy.exe
 | 
						|
  0.5.2 counter file to 3proxy.exe current run
 | 
						|
  countersutil oldexport counterfile tmpfile
 | 
						|
  countersutil import counterfile tmpfile
 | 
						|
 | 
						|
 | 
						|
25.05.2006
 | 
						|
! Fixed: dnspr command lost from command list
 | 
						|
 | 
						|
17.05.2006
 | 
						|
! Fixed: nobandlimin actually works like nobandlimout
 | 
						|
 | 
						|
16.05.2006
 | 
						|
!! Fixed: crash if more than one "users" command in configuration
 | 
						|
! Fixed: timezone display for FreeBSD and Windows
 | 
						|
+ added %o format specification for 3-character mOnth abbriviation
 | 
						|
! Fixed: check EINTR on poll() (avoids "Interrupted system call" in logs
 | 
						|
  and broken connection on USR1 signal.
 | 
						|
 | 
						|
12.05.2006
 | 
						|
! Fixed: log rotation was broken after client code rewrite
 | 
						|
 | 
						|
11.05.2006
 | 
						|
! Cleaned: "mypoll" error if compiled with GCC withoout WITH_POLL
 | 
						|
 | 
						|
10.05.2006
 | 
						|
! Use SO_REUSEPORT if defined
 | 
						|
 | 
						|
06.05.06
 | 
						|
! Minor HTTP proxy redirections code cleanup
 | 
						|
 | 
						|
03.05.06
 | 
						|
+ socks error codes improved
 | 
						|
 | 
						|
02.05.2006
 | 
						|
! Fixed: compilation for Unix (plugins)
 | 
						|
 | 
						|
01.05.2006
 | 
						|
! Fixed: names for authentication types turned back for compatibility
 | 
						|
! Fixed: no warning given for unknown authentication type
 | 
						|
! Fixed: bandlimout doesn't work if bandlimin presents for same connection
 | 
						|
 | 
						|
30.04.2006
 | 
						|
! Fixed: nobandlimin/nobandlimout commands missed
 | 
						|
++ plugin command added to load dynamic library
 | 
						|
 | 
						|
25.04.06
 | 
						|
! Internal structures moved to diffent header file
 | 
						|
 | 
						|
20.04.06
 | 
						|
! Fixed: few problems with logging after latest modification (out of memory
 | 
						|
  reference on hostname).
 | 
						|
  SQL injections now are filtered even if \' is not in filtered characters.
 | 
						|
 | 
						|
17.04.06
 | 
						|
! Few bugs introduced on 13.04 (especially 'nocountin' crash) fixed
 | 
						|
! Significant changes to internal structures
 | 
						|
! Compilation problems under Linux/Unix fixed
 | 
						|
 | 
						|
13.04.2006
 | 
						|
! 3proxy.c configuration reading major code rewrite
 | 
						|
! Fixed: memory leaks on configuration reload
 | 
						|
! Changed from CreateThread to _beginthreadex according to MS reccomendations
 | 
						|
! Changed: FTP start data transfer code from 101 to 125 in FTPPR
 | 
						|
+ NLST support added to ftppr
 | 
						|
 | 
						|
05.04.2006
 | 
						|
+ Minor documentation and help screen updates
 | 
						|
 | 
						|
30.03.2006
 | 
						|
!! Windows distribution compiler changed to MSVC 8.0
 | 
						|
++ bin64 (Windows XP/2003 64 bit edition x64) added
 | 
						|
	
 | 
						|
29.03.2006
 | 
						|
! Socket leak fixed on FTP data connection failure under Windows
 | 
						|
! minor 64 bit compatibility code cleanup
 | 
						|
+ x64/amd64 Windows XP/2003 64 bit edition makefile added
 | 
						|
 | 
						|
24.03.2006
 | 
						|
! Minor FAQ dummy compatibility updates
 | 
						|
 | 
						|
18.03.2006
 | 
						|
+ Parameters descriptions and XML stylesheet added to webadmin services view
 | 
						|
! Potential problem (wrong type dereference) fixed in webadmin services
 | 
						|
 | 
						|
12.03.2006
 | 
						|
! Restore sasize after receivefrom
 | 
						|
 | 
						|
10.03.2006
 | 
						|
! Fixed: CONNECT with http parent 
 | 
						|
+ bandlimout / nobandlimout implemented
 | 
						|
! Copyrights and banners fixed
 | 
						|
 | 
						|
08.03.2006
 | 
						|
! Minor poll() code cleanup
 | 
						|
 | 
						|
06.03.2006
 | 
						|
! Socks 4a name resolution fixed
 | 
						|
! Name resolution function was not cleared after configuration reload
 | 
						|
 | 
						|
03.03.06
 | 
						|
! Print comments in traffic report
 | 
						|
 | 
						|
26.02.06
 | 
						|
! Check POLLERR / POLLHUP for revents
 | 
						|
 | 
						|
21.02.06
 | 
						|
+ "monitor" command added to reload 3proxy if monitored file changes
 | 
						|
 | 
						|
13.02.06
 | 
						|
! Some files are renamed for autotools compatibility
 | 
						|
 | 
						|
07.02.06
 | 
						|
! Fixed: insufficient timeout on buffers flushing, leads to loss
 | 
						|
  of data if connection to client is worse than connection to server.
 | 
						|
 | 
						|
06.02.06
 | 
						|
+ -b (bufsize) parameter added to every service
 | 
						|
! flushing improved to prevent data loss at the end of output 
 | 
						|
 | 
						|
03.02.06
 | 
						|
! Documentation corrected
 | 
						|
 | 
						|
10.01.06
 | 
						|
+ Documentation updated
 | 
						|
! Buffered UDP data loss on exit is fixed for sockmap
 | 
						|
 | 
						|
30.12.05
 | 
						|
! Minor interface fixes
 | 
						|
 | 
						|
27.12.05
 | 
						|
+ English FAQ added
 | 
						|
 | 
						|
20.12.05
 | 
						|
! Fixed: crash on counters in webadmin if "NONE" counter rotation type
 | 
						|
  is used.
 | 
						|
 | 
						|
09.12.05
 | 
						|
! Use bind port from BIND request for SOCKSv5 server
 | 
						|
 | 
						|
30.11.05
 | 
						|
! Do not buffer UDP packets
 | 
						|
 | 
						|
30.11.05
 | 
						|
! Do not drop connection on unknown command
 | 
						|
 | 
						|
29.11.05
 | 
						|
! Do not drop connection on POP3 CAPA.
 | 
						|
 | 
						|
28.11.05
 | 
						|
! Fixed: recv() may be called with small buffer on UDPPM
 | 
						|
 | 
						|
23.11.05
 | 
						|
! Fixed: programming bug in $ file inclusing
 | 
						|
! Fixed: webadmin conter type uses stack for return value
 | 
						|
 | 
						|
17.11.05
 | 
						|
+ Makefile.Solaris added, thanks to 'pqr'.
 | 
						|
! Cleaned pointer conversion warnings
 | 
						|
 | 
						|
15.11.05
 | 
						|
! define PTHREAD_STACK_MIN if not defined to compile under Solaris
 | 
						|
! S_NONE renamed to S_NOSERVICE to compile under Solaris
 | 
						|
 | 
						|
14.11.05
 | 
						|
! Linger period is set to STRING_L (60 sec default)
 | 
						|
 | 
						|
10.10.05
 | 
						|
! Add some grace period to shutdown services before exit
 | 
						|
 | 
						|
03.10.05
 | 
						|
! Linger added to FTP socket to avoid data loss on socket close
 | 
						|
 | 
						|
29.09.05
 | 
						|
+ Added H (hour) and C (minute) routation support to countin
 | 
						|
 | 
						|
22.08.05
 | 
						|
! Fixed: UDP resolver (nserver) fails to resolve name if reply contains
 | 
						|
  no additional records (for example dnscache from djbdns).
 | 
						|
 | 
						|
06.08.05
 | 
						|
!!Workaround added for Windows XP SP2 / Windows 2003 SP1 problem with
 | 
						|
  2 selects on single datagram socket. udppm -s and dnspr hang on random
 | 
						|
  time while sending packets to client, sometimes causing client timeouts.
 | 
						|
 | 
						|
 | 
						|
05.08.05
 | 
						|
! Fixed problem with UDP mappings
 | 
						|
! Workaround for strange Windows XP bug with sendto() delay for 2 secs
 | 
						|
  if no select() was performed on socket
 | 
						|
 | 
						|
30.07.05
 | 
						|
! Error handling on SOCKSv5 parent improved
 | 
						|
 | 
						|
28.07.05
 | 
						|
+ Support for parent SOCKS4b/SOCKS5b (broken implementation with shortened
 | 
						|
  server reply) added. I never saw such server by they say there are.
 | 
						|
  socks4b, socks5b options for parent proxy.
 | 
						|
 | 
						|
22.07.05
 | 
						|
+ Name resolution for parent CONNECT, SOCKSv5 and SOCKSv4a proxy server
 | 
						|
  added, should work with "fakeresolve" option (connect+, socks4+
 | 
						|
  socks5+ options for parent proxy).
 | 
						|
 | 
						|
13.07.05
 | 
						|
! Fixed: reading behind allocated memory in myrand() entropy
 | 
						|
  gathering function (leads to occasional craches) intrdoduced
 | 
						|
  on June, 20.
 | 
						|
 | 
						|
12.07.05
 | 
						|
! Use client port only for portmappers
 | 
						|
! Code reviewed for possible double close()
 | 
						|
 | 
						|
10.07.05
 | 
						|
! Improved quote handling in config files. No any string can be quoted
 | 
						|
  (for example Thi"s is a test" is same as "This is a test", fixed a
 | 
						|
  problem with using quotes with $ macro.
 | 
						|
 | 
						|
01.07.05
 | 
						|
+ Added RSA copyright text to 'mycrypt' to allow binary redistribution
 | 
						|
  for this tool only.
 | 
						|
 | 
						|
22.06.05
 | 
						|
+ try to use same (unprivileged) port as client for outgoing connections
 | 
						|
  for portmappers
 | 
						|
! admin -s now only shows counters related to user
 | 
						|
! Fixed: impossible to set traffic limit to even number of GB
 | 
						|
 | 
						|
20.06.05
 | 
						|
! -a option corrected again (had inverted action)
 | 
						|
+ -a1 option added to report random information about client IP
 | 
						|
+ -s option added to 'admin' to allow safe-only commands (user mode)
 | 
						|
 | 
						|
26.05.2005
 | 
						|
! -a option corrected
 | 
						|
 | 
						|
25.05.2005
 | 
						|
+ 'Y' (annually) option added to counters, logfile rotations, etc
 | 
						|
+ -a (anonymous) option added to proxy server
 | 
						|
 | 
						|
21.05.2005
 | 
						|
! socks: only allow UDP mapping from same IP with control connection
 | 
						|
! socks: always log network parameters for control connection
 | 
						|
! check timeout to be below 2000000
 | 
						|
 | 
						|
20.05.2005
 | 
						|
! invalid sendto() argument fixed (may affect UDP mapping and sometimes
 | 
						|
  TCP under very rare configurations)
 | 
						|
! set sasize before sendto
 | 
						|
! socks checks requested address to be non-zero
 | 
						|
! socks checks requested port to be non-zero
 | 
						|
! socks: do not change UDP client parameters before UDP packet received
 | 
						|
 | 
						|
19.05.2005
 | 
						|
+ 'include' command added to 3proxy (include one config file from another
 | 
						|
   config file)
 | 
						|
! handle EAGAIN on send()/recv()
 | 
						|
 | 
						|
18.05.2005
 | 
						|
! More detailed problem code in mapping code
 | 
						|
 | 
						|
17.05.2005
 | 
						|
! Fixed typo with dnspr logging
 | 
						|
 | 
						|
16.05.2005
 | 
						|
+ dnspr can now resolve records different from hostname (request is proxied to
 | 
						|
  first DNS server in the list, reply is not cached).
 | 
						|
 | 
						|
14.05.2005
 | 
						|
! Fixed: mishandled socket error in dnspr code
 | 
						|
 | 
						|
13.05.2005
 | 
						|
! Few minor fixes in HTTP proxy code (timeout in initial handshake lefts
 | 
						|
  some garbage in request buffer).
 | 
						|
! Fixed short timeout in FTP proxy code
 | 
						|
! Mapping code is changed to leave unsent data on buffer
 | 
						|
 | 
						|
06.05.2005
 | 
						|
! Prevent race conditions with 100% CPU usage in socksmap (introduced 30.04)
 | 
						|
 | 
						|
03.05.2005
 | 
						|
! Fixed: double free() in authentication (probably introduced on 04.04)
 | 
						|
! Changed to POLLIN/POLLOUT/POLLPRI for more compatibility
 | 
						|
 | 
						|
30.04.2005
 | 
						|
! Fixed: double free() in FTP over HTTP (probably introduced on 04.04)
 | 
						|
! Fixed: in very rare situation may loose some data at the and of connection
 | 
						|
 | 
						|
27.04.2005
 | 
						|
! stack size increased (reported problems under some OSs)
 | 
						|
! Fixed: -l option for service executable leads to NULL-pointer reference
 | 
						|
!!! Moved from select() to poll() on *nix. Please upgrade your Makefiles.
 | 
						|
 | 
						|
25.04.2005
 | 
						|
! set thread stack size explicitly to prevent problems with some Linux 2.6
 | 
						|
  kernels.
 | 
						|
 | 
						|
22.04.2005
 | 
						|
! Never fallback to gethostbyname() if nameservers are configured to prevent
 | 
						|
  locking on *nix platforms
 | 
						|
!!Fixed: name resolution is called while mutex is locked in HTTP proxy
 | 
						|
  leading to long lasting blocking.
 | 
						|
 | 
						|
21.04.2005
 | 
						|
! Fixed: dnspr returns A record of invalid class (fails with some resolvers)
 | 
						|
!! Socket I/O  is now non-blocking
 | 
						|
 | 
						|
19.04.2005
 | 
						|
! bandlimits changed to avoid floating point operations
 | 
						|
 | 
						|
11.04.2005
 | 
						|
+ Log if new connections delayed because of too many accepted connections
 | 
						|
 | 
						|
04.04.2005
 | 
						|
! Fixed few minor rare memory leaks
 | 
						|
 | 
						|
03.04.2005
 | 
						|
! Fixed: HTTP proxy should ignore Content-Length for 304 response
 | 
						|
 | 
						|
14.03.2005
 | 
						|
! MD5 password hashin within mycrypt utility fixed
 | 
						|
! dnspr logging now shows DNS server IP instead of resolved IP, resolver IP
 | 
						|
  is shown in additional info
 | 
						|
 | 
						|
11.02.2005
 | 
						|
! Configuration reload removed from signal handler
 | 
						|
 | 
						|
31.01.2005
 | 
						|
! Limit for maximum log string size increased to ~4K
 | 
						|
! large FD_SETSIZE and FD_SETSIZE check is not required under Windows
 | 
						|
 | 
						|
28.01.2005
 | 
						|
! Fixed: -s options for udppm
 | 
						|
 | 
						|
17.01.2005
 | 
						|
! Fixed: invalid IP may appear in logs and bandlimits on redirection
 | 
						|
 | 
						|
13.01.2005
 | 
						|
+ fakeresolve option added
 | 
						|
 | 
						|
21.12.2004
 | 
						|
! Fixed: traffic limits are set improperly for traffic over 1Gb
 | 
						|
 | 
						|
11.12.2004
 | 
						|
! 0.6 development started
 | 
						|
 | 
						|
11.12.2004
 | 
						|
Commited as 0.5b
 | 
						|
11/12/2004 3[APA3A]tiny proxy 0.5b
 | 
						|
New features marked with !.
 | 
						|
 | 
						|
 Features:
 | 
						|
  1. General
 | 
						|
	+ HTTP/1.1 Proxy with keep-alive client and server support,
 | 
						|
          transparent proxy support.
 | 
						|
	+ FTP over HTTP support.
 | 
						|
	+ DNS caching with built-in resolver
 | 
						|
	+ HTTPS (CONNECT) proxy
 | 
						|
	+ SOCKSv4/4.5 Proxy
 | 
						|
	+ SOCKSv5 Proxy
 | 
						|
	! UDP and bind support for SOCKSv5 (fully compatible with
 | 
						|
	  SocksCAP/FreeCAP for UDP)
 | 
						|
	+ Transparent SOCKS->HTTP redirection
 | 
						|
	! Transparent SOCKS->FTP redirection
 | 
						|
	! Transparent SOCKS->POP3 redirection
 | 
						|
	+ POP3 Proxy
 | 
						|
	! FTP proxy
 | 
						|
	! DNS proxy
 | 
						|
	+ TCP port mapper
 | 
						|
	+ UDP port mapper
 | 
						|
	+ Threaded application (no child process).
 | 
						|
	! Web administration and statistics
 | 
						|
  2. Proxy chaining
 | 
						|
	+ Parent proxy support for any type of incoming connection
 | 
						|
	+ Username/password authentication for parent proxy(s).
 | 
						|
	+ HTTPS/SOCKS4/SOCKS5 and redirection parent support
 | 
						|
	+ Random parent selection
 | 
						|
	+ Chain building (multihop proxing)
 | 
						|
  3. Logging
 | 
						|
	+ turnable log format compatible with any log parser
 | 
						|
	+ stdout logging
 | 
						|
	+ file logging
 | 
						|
	+ syslog logging (Unix)
 | 
						|
	+ ODBC logging (Windows and Unix)
 | 
						|
	+ log file rotation (hourly, daily, weekly, monthly)
 | 
						|
	+ automatic log file comperssion with external archiver (for files)
 | 
						|
	+ automatic removal of older log files
 | 
						|
	! Character filtering for log files
 | 
						|
	! different log files for different servces are supported
 | 
						|
  4. Access control
 | 
						|
	+ ACL-driven (user/source/destination/protocol/weekday/daytime or
 | 
						|
	combined) bandwith limitation
 | 
						|
	+ ACL-driven (user/source/destination/protocol/weekday/daytime or
 | 
						|
	combined) traffic limitation per day, week or month
 | 
						|
	+ User authorization by NetBIOS messanger name
 | 
						|
	+ Access control by username, source IP, destination IP, destination
 | 
						|
	port and destination action (POST, PUT, GET, etc), weekday and daytime.
 | 
						|
	+ Access control by username/password for SOCKSv5 and HTTP/HTTPS/FTP
 | 
						|
	+ Cleartext or encrypted (crypt/MD5 or NT) passwords.
 | 
						|
	+ Connection redirection
 | 
						|
	+ Access control by requested action (CONNECT/BIND, 
 | 
						|
	  HTTP GET/POST/PUT/HEAD/OTHER).
 | 
						|
	! NTLM authentication for HTTP proxy access
 | 
						|
	! All access controle entries now support weekday and daytime
 | 
						|
	limitations.
 | 
						|
  5. Configuration
 | 
						|
	+ support for configuration files
 | 
						|
	+ support for includes in configuration files
 | 
						|
	+ interface binding
 | 
						|
	+ running as daemon process
 | 
						|
	+ utility for automated networks list building
 | 
						|
     Unix
 | 
						|
	+ support for chroot
 | 
						|
	+ support for setgid
 | 
						|
	+ support for setuid
 | 
						|
	! support for signals
 | 
						|
     Windows NT/2K/XP/2K3
 | 
						|
	+ support --install as service
 | 
						|
	+ support --remove as service
 | 
						|
	+ support for service START, STOP, PAUSE and CONTINUE commands (on
 | 
						|
	PAUSE no new connection accepted, but active connections still in
 | 
						|
	progress, on CONTINUE configuration is reloaded)
 | 
						|
     Windows 95/98/ME
 | 
						|
	! support --install as service
 | 
						|
	! support --remove as service
 | 
						|
  6. Compilation
 | 
						|
	+ MSVC (msvcrt.dll)
 | 
						|
	+ Intel Windows Compiler (msvcrt.dll)
 | 
						|
	+ Windows/gcc (msvcrt.dll)
 | 
						|
	+ Cygwin/gcc (cygwin.dll)
 | 
						|
	+ Unix/gcc
 | 
						|
	+ Unix/ccc
 | 
						|
 | 
						|
 Known bugs:
 | 
						|
 | 
						|
	report to 3proxy@security.nnov.ru
 | 
						|
 | 
						|
 Planned for future (0.6) release:
 | 
						|
   - External modules API
 | 
						|
   - Addon URL, antiviral, HTTP cache filters modules, authentication
 | 
						|
     modules for different protocols (RADIUS, PAM, integrated system, etc).
 | 
						|
 | 
						|
$Id: Changelog,v 1.154 2006/03/08 18:44:00 vlad Exp $
 | 
						|
 | 
						|
11.12.2004
 | 
						|
+ man page for 3proxy.cfg added
 | 
						|
 | 
						|
09.12.2004
 | 
						|
! restarting SQL on reloading configuration
 | 
						|
 | 
						|
08.12.2004
 | 
						|
! Typo fixed in sockmap preventing portmappers from functioning
 | 
						|
 | 
						|
06.12.2004
 | 
						|
+ Network input is now buffered, decreasing CPU usage
 | 
						|
- Debugging printf() removed from ftppr
 | 
						|
 | 
						|
30.11.2004
 | 
						|
!! Fixed: memory content may be leaked on FTP error in HTTP proxy
 | 
						|
! Few race conditions with double socket closing fixed in FTP proxy
 | 
						|
+ Content-Length is checked to do not allow traffic overdraft via HTTP proxy
 | 
						|
+ Connection now can be aborted due to traffic limit (code 90)
 | 
						|
 | 
						|
24.11.2004
 | 
						|
! 333 error removed - no longer required
 | 
						|
 | 
						|
23.11.2004
 | 
						|
! Deadlock in checkACL() (introduced 18.11) fixed
 | 
						|
 | 
						|
20.11.2004
 | 
						|
! All mutex operation are now atomic to prvent deadlocks
 | 
						|
! Race conditions with bamdlimits on reload fixed
 | 
						|
 | 
						|
18.11.2004
 | 
						|
! Mutex logic overwritten, should clear reload races completely
 | 
						|
! Fixed socket leak on some failed FTP operations
 | 
						|
! FD_SETSIZE increased, check for FD_SETSIZE added
 | 
						|
 | 
						|
04.11.2004
 | 
						|
! Fixed: Maxconn limitation doesn't work, may lead to resource exhaustion
 | 
						|
  attacks
 | 
						|
! Fixed: reference to unallocated memory if fails to create new thread
 | 
						|
  (may lead to crash together with previous bug).
 | 
						|
 | 
						|
03.11.2004
 | 
						|
! Fixed: Wrong type for "ace.users" in datatypes.c
 | 
						|
! Partially fixed: race conditions on reload in alwaysauth()
 | 
						|
 | 
						|
02.11.2004
 | 
						|
! race condition in sql_init on reload fixed
 | 
						|
! minor code cleanup
 | 
						|
! typo with SQL deadlock introduced on last fix fixed
 | 
						|
! checked few memory allocation calls missed with debug library (myalloc)
 | 
						|
 | 
						|
30.10.2004
 | 
						|
! Fixed: minor memory leak on SQL error
 | 
						|
 | 
						|
28.10.2004
 | 
						|
+ HTTP parent redirection for FTP requests
 | 
						|
 | 
						|
23.10.2004
 | 
						|
! Fixed: access to free()'d memory in ODBC functions after few 
 | 
						|
  configuration reloads
 | 
						|
! Configuration reload is more (but not yet completely) thread safe 
 | 
						|
  now.
 | 
						|
 | 
						|
17.10.2004
 | 
						|
! Fixed: Content-Type: missed in web interface
 | 
						|
 | 
						|
16.10.2004
 | 
						|
! Fixed: log may show invalid IP/port for parent proxy connection
 | 
						|
 | 
						|
12.10.2004
 | 
						|
- Debug printing to stdout in webadmin removed
 | 
						|
 | 
						|
11.10.2004
 | 
						|
! Race conditions fixed, could cause 3proxy to crash on configuration reload
 | 
						|
 | 
						|
28.09.2004
 | 
						|
! Limitation for maximum string length in config file removed (for included files)
 | 
						|
 | 
						|
26.09.2004
 | 
						|
! Typo corrected preventing compilation under *nix
 | 
						|
 | 
						|
18.09.2004
 | 
						|
! URL decoding corrected (affect HTTP over FTP clients)
 | 
						|
+ "writable" command added to allow config modification via Web interface
 | 
						|
+ Config file can be edited via web interface
 | 
						|
 | 
						|
14.09.2004
 | 
						|
! Crash on HTTP redirections introduced on 08.09 fixed.
 | 
						|
 | 
						|
11.09.2004
 | 
						|
+ Weekday based access control is now possible
 | 
						|
+ Time based access control added
 | 
						|
! Speed improved in ACL checks
 | 
						|
 | 
						|
08.09.2004
 | 
						|
+ * can be used as external username with a meaning of username should be
 | 
						|
  requested from user.
 | 
						|
+ %n1-n2T is now available in logformat to log only few field of service
 | 
						|
  specific text
 | 
						|
+ -t (silent start) option added
 | 
						|
 | 
						|
20.08.2004
 | 
						|
! Yesterday fix was broken, corrected.
 | 
						|
 | 
						|
19.08.2004
 | 
						|
! Fixed: target address is logged instead of proxy address in a case
 | 
						|
  of redirection
 | 
						|
 | 
						|
09.08.2004
 | 
						|
! Fixed: under *nix if service fails to bind() port for few hours it falls
 | 
						|
  into endless loop with logging and high CPU usage.
 | 
						|
 | 
						|
03.08.2004
 | 
						|
! Fixed: select() changes tv value on some Linux kernels (100% CPU usage)
 | 
						|
 | 
						|
02.08.2004
 | 
						|
! Fixed: wrong initialization for counter descriptor (causes some stdout
 | 
						|
  noise).
 | 
						|
! Fixed: no HTTP proxy diagnostic message if host name doesn't resolve
 | 
						|
! Fixed: NULL pointer crash if no format specified
 | 
						|
 | 
						|
30.07.2004
 | 
						|
! Few bugs with counters and bandlimits introduced yesterday fixed
 | 
						|
 | 
						|
29.07.2004
 | 
						|
! Fixed few memory leaks on restart
 | 
						|
! Some code cleanup for configuration information storing
 | 
						|
+ Statistics extended
 | 
						|
+ Added "Zombie" threads support (service thread waiting for child shutdown
 | 
						|
  to exit).
 | 
						|
+ Every service can now have different log format and character filtering
 | 
						|
+ It's now possible to set logformat for service from command line
 | 
						|
 | 
						|
28.07.2004
 | 
						|
! Fixed: ACLs are not cleared on reload
 | 
						|
! Fixed: bind() warnings on reload under *nix
 | 
						|
!! Fixed potential race conditions DoS on some Unix systems with thread
 | 
						|
   exit on aborted connection (accept(): Software caused connection abort)
 | 
						|
 | 
						|
24.07.2004
 | 
						|
+ Web interface shows information about all currently running services and
 | 
						|
  clients (plain format just for debugging, will be rewrtitten later)
 | 
						|
 | 
						|
23.07.2004
 | 
						|
! Fixed: wrong external ip/port in logs sometimes on internal redirection
 | 
						|
+ HowTo and FAQ (Russian) added to documentation, documentation corrected
 | 
						|
 | 
						|
22.07.2004
 | 
						|
+ Added logging options for request duration and average send/recieve
 | 
						|
  speed per request
 | 
						|
 | 
						|
20.07.2004
 | 
						|
! Changed default password for anonymous FTP
 | 
						|
! Improved diagnostic messages for FTP over HTTP errors
 | 
						|
 | 
						|
19.07.2004
 | 
						|
! Changed FTP behaviour for some RFC ignorant sites
 | 
						|
 | 
						|
17.07.2004
 | 
						|
+ services and clients are now registered for future extensions
 | 
						|
! counters show wrong result problem introduced yesterday fixed
 | 
						|
! fixed descriptor leak on configuration reload
 | 
						|
! fixed theoretical problem with client number limitations
 | 
						|
! few theoretical mutex leaks fixed
 | 
						|
 | 
						|
16.07.2004
 | 
						|
+ 3proxy can now read configuration from stdin under *nix,
 | 
						|
  3proxy.cfg can be executable 
 | 
						|
+ 'config' command added to allow 3proxy reload configuration in chroot'ed
 | 
						|
  environment or if configured from stdin.
 | 
						|
+ 'end' command added
 | 
						|
+ Man pages in HTML added
 | 
						|
 | 
						|
14.07.2004
 | 
						|
! Minor casting issues, Unix compilation issues fixed
 | 
						|
+ counters sample added
 | 
						|
 | 
						|
13.07.2004
 | 
						|
+ Configuration improved and repacked
 | 
						|
 | 
						|
08.07.2004
 | 
						|
! Problem introduced yesteday (after rotation logs do not print to
 | 
						|
  logfile) fixed.
 | 
						|
 | 
						|
07.07.2004
 | 
						|
! Fixed FTP behaviour on RFC ignoring FTP sites (ftp.drweb.ru).
 | 
						|
! Config file example updated with FTP proxy service configuration
 | 
						|
+ Logging changed to allow personal log files for every service (without
 | 
						|
  rotation) and to work on older FreeBSD systems.
 | 
						|
 | 
						|
05.07.2004
 | 
						|
! Fixed call to free'ed memory (could cause crash on reloading 3proxy
 | 
						|
  configuration in 0.5b-devel after 28.06.2004)
 | 
						|
 | 
						|
30.06.2004
 | 
						|
! Fixed redirection crash if parent username/password is not specified
 | 
						|
! Fixed documentation buf (%h instead of %n for hostname in logformat)
 | 
						|
 | 
						|
28.06.2004
 | 
						|
! Minor changes in error messages generation
 | 
						|
 | 
						|
25.06.2004
 | 
						|
! distributive repacked, some Russian documentation by Kirill Lopuchov
 | 
						|
  added
 | 
						|
 | 
						|
24.06.2004
 | 
						|
! realm sometimes is not shown in proxy-authentication
 | 
						|
 | 
						|
23.06.2004
 | 
						|
! fixed maxconn parameter was not set to default value on proxy reload.
 | 
						|
! fixed typo in pop3p causing it to fail
 | 
						|
 | 
						|
22.06.2004
 | 
						|
! ftppr.c typo corrected, preventing compilation under unix.
 | 
						|
 | 
						|
19.06.2004
 | 
						|
+ FTP proxy (compatible with both USER and OPEN mode). Redirection to
 | 
						|
  FTP proxy from SOCKS
 | 
						|
 | 
						|
18.06.2004
 | 
						|
+ Local redirection to POP3 proxy is now awailable.
 | 
						|
! Fixed race conditions with double socket closing in POP3 proxy
 | 
						|
 | 
						|
17.06.2004
 | 
						|
!! Threading problem causing minor memory leak and preventing 3proxy
 | 
						|
   from functioning under few OS versions (including Linux) after
 | 
						|
   some number of requests fixed.
 | 
						|
 | 
						|
16.06.2004
 | 
						|
! Authentication problem introduced on 05.06 fixed
 | 
						|
 | 
						|
15.06.2004
 | 
						|
! FTP over HTTP proxy supports spaces, quotes and 0x255 in filenames.
 | 
						|
!! Potential security risk fixed: FTP password may appear in log if
 | 
						|
   URL ftp://user:password@server is used.
 | 
						|
 | 
						|
09.06.2004
 | 
						|
! NTLM is enabled by default. Use proxy -n to disable NTLM for proxy service
 | 
						|
  (for example, if crypt passwords are used).
 | 
						|
 | 
						|
05.06.2004
 | 
						|
!! Potential security leak fixed: POP3 proxy password can appear in log if
 | 
						|
   proxy username is configured as proxyuser:proxypassword:pop3user@pop3server
 | 
						|
   in POP3 client program
 | 
						|
! Child invocation code rewritten to avoid code dupclication.
 | 
						|
 | 
						|
27.05.2004
 | 
						|
! Reloading is now fast (new thread starts before old one dies)
 | 
						|
! Milliseconds are printed as .3 (not .4) in logs
 | 
						|
 | 
						|
22.05.2004
 | 
						|
+ Reload command added to Web interface and SIGUSR1 handling
 | 
						|
! Problem fixed: no mode is given to open() with O_CREAT for counter files,
 | 
						|
  counter file can be created as read only under Windows or with invalid mask
 | 
						|
  under Unix.
 | 
						|
! Do not fail if bind() fails
 | 
						|
! Setsockopt for integer options corrected
 | 
						|
! REUSEADDR added to avoid "Address already in use" problem if restarted
 | 
						|
  under Unix
 | 
						|
 | 
						|
18.05.2004
 | 
						|
+ Installation/removal as a service under Windows 95/98/ME now supported.
 | 
						|
 | 
						|
17.05.2004
 | 
						|
! Fixed: 3proxy hangs on socket error during config reading
 | 
						|
 | 
						|
14.05.2004
 | 
						|
! For HTTP proxy NTLM authentication both ntlm and basic are now advertized
 | 
						|
  to client for compatibility
 | 
						|
! Optimization parameters are changed and stack protection is turned on for
 | 
						|
  MSVC (Windows default) compilation.
 | 
						|
! Fixed: exiting thread shows last client IP in log
 | 
						|
  
 | 
						|
 | 
						|
27.04.2004
 | 
						|
! Fixed: Microsoft domain authentication to web server may fail via
 | 
						|
  transparent HTTP proxy with some IE versions.
 | 
						|
! HTTP HEAD now recognized
 | 
						|
 | 
						|
23.04.2004
 | 
						|
! Fixed compilation issues under Unix
 | 
						|
 | 
						|
22.04.2004
 | 
						|
+ Configuration now can be dynamically reloaded with
 | 
						|
  net pause 3proxy / net continue 3proxy or by sending SIGPAUSE twice
 | 
						|
  without breaking connections
 | 
						|
! 3proxy is now distributed compiled with Microsoft Visual C++, thanx
 | 
						|
  to MS for releasing "Microsoft Visual C++ Toolkit 2003" for free.
 | 
						|
! Few bugs introduced in latest versions (username/password for parent proxy,
 | 
						|
  dnspr and single packet UDP are fixed)
 | 
						|
 | 
						|
13.04.2004
 | 
						|
+ NTLM authentication for proxy server (yes, it works under *nix). It will
 | 
						|
  not work with crypt password, only CL or NT. Use proxy -n to allow NTLM.
 | 
						|
! potential DoS (NULL pointer) condition fixed in configuration with crypted
 | 
						|
  passwords
 | 
						|
 | 
						|
08.04.2004
 | 
						|
+ %n (hostname) added to logformat
 | 
						|
 | 
						|
05.04.04
 | 
						|
! compilation problem under Unix fixed
 | 
						|
 | 
						|
01.04.04
 | 
						|
! problem with portmappers fixed (introduced on last modification)
 | 
						|
 | 
						|
20.03.04
 | 
						|
+ FTP messages are shown now
 | 
						|
! FTP problem with links with absolute paths fixed
 | 
						|
! No more authentication requested for user if ACL denies access to resource
 | 
						|
  in HTTP proxy.
 | 
						|
! ACLs are now stored in predefined container. It's required for future
 | 
						|
  improvement (Cisco-like ACL configuration and configuration reload without
 | 
						|
  restarting proxy). As a backside, number of ACLs is now limited to 256.
 | 
						|
! Function for configuration reading implemented for future improvements.
 | 
						|
 | 
						|
12.03.2004
 | 
						|
! error text generation changed for pthread_create (use return code
 | 
						|
  instead of errno). Memory leak on failed pthread_create fixed.
 | 
						|
 | 
						|
02.03.2004
 | 
						|
! Transparent proxy fixed to work with ports different from 80.
 | 
						|
! Workarond for Internet Explorer invalid Host: header bug
 | 
						|
 | 
						|
28.02.2004
 | 
						|
+ -+ options added to logformat for character filtering
 | 
						|
! ' character now filtered only if logged via ODBC
 | 
						|
! few bugs fixed in ODBC logging reliability code. Now 3proxy should better
 | 
						|
  handle broken database connections.
 | 
						|
 | 
						|
26.02.2004
 | 
						|
! user32 added to library list for MSVC
 | 
						|
 | 
						|
24.02.2004
 | 
						|
! Ask installation confirmation before installation
 | 
						|
 | 
						|
23.02.2004
 | 
						|
! ttl now is real for DNS proxy proxy reply
 | 
						|
 | 
						|
21.02.2004
 | 
						|
+ dnspr - DNS caching proxy added to 3proxy module. Listens on UDP/53
 | 
						|
  and answers hostname requests. Requires nserver/nscache to be configured.
 | 
						|
! 3proxy wanrs user if installed as Windows service
 | 
						|
! 3proxy child threads are now started faster
 | 
						|
 | 
						|
22.01.2004
 | 
						|
! mutex deadlock fixed if gethostbyname() is used under Unix
 | 
						|
 | 
						|
19.01.2004
 | 
						|
! compilation issue fixed for MSVC (definition inside code)
 | 
						|
 | 
						|
15.01.2004
 | 
						|
! bug fixed in configuration reading getip() called befor WSAStartup
 | 
						|
  (thanks to Kerd)
 | 
						|
! bug fixed with parent CONNECT proxy (thanks to Kerd)
 | 
						|
 | 
						|
11.01.2003
 | 
						|
+ Few man pages added
 | 
						|
 | 
						|
06.01.2003
 | 
						|
+ now it's possible to use "" inside quotation for double quote sign (for
 | 
						|
  example "say ""hello world"""
 | 
						|
 | 
						|
04.01.2004
 | 
						|
+ maxconn configuration option added
 | 
						|
 | 
						|
19.12.2003
 | 
						|
+ New "safe" memory allocation library implemented. It may slow down
 | 
						|
  performance but is thread safe and never cause memory fragmentation.
 | 
						|
! Memory leak in redirection SOCKS->HTTP fixed
 | 
						|
 | 
						|
11.12.2003
 | 
						|
! Memory leak in UDPPM fixed
 | 
						|
 | 
						|
29.11.2003
 | 
						|
+ Copyrights added to banners
 | 
						|
!! Few signed/unsigned mismatches fixed (including potentially dangerous)
 | 
						|
 | 
						|
27.11.2003
 | 
						|
! 'redirect' now can be used with hostname instead of ip address
 | 
						|
 | 
						|
21.11.2003
 | 
						|
! POP3 proxy bug fixed
 | 
						|
 | 
						|
04.11.2003
 | 
						|
! '@' situation in username for POP3 proxy corrected 
 | 
						|
  (pop3name@pop3realm@pop3server)
 | 
						|
 | 
						|
03.11.2003
 | 
						|
! One more bug with 'archiver' causing 3proxy to crash on log archieving
 | 
						|
  fixed
 | 
						|
 | 
						|
29.10.2003
 | 
						|
! Some threading safety is added for logging (inet_ntoa and ODBC
 | 
						|
  re-initialisation)
 | 
						|
 | 
						|
28.10.2003
 | 
						|
! Bug causing daily log filename to work as weekly fixed
 | 
						|
! 'daemon' example moved to beginning of configuration file
 | 
						|
 | 
						|
16.10.2003
 | 
						|
+ pidfile configuration option added
 | 
						|
+ processing for SIGCONT (pause/resume) and SIGTERM (termination) added
 | 
						|
  under Unix
 | 
						|
 | 
						|
01.10.2003
 | 
						|
! Weekly log filename now is generated by the date of last Sunday.
 | 
						|
! Do not strip executable for Unix (must be stripped during installation).
 | 
						|
 | 
						|
21.09.2003
 | 
						|
! Bug fixed in "log" command processing (wrong buffer was used
 | 
						|
  for filename generation)
 | 
						|
 | 
						|
16.09.2003
 | 
						|
! socksmapping algorythm changed to handle incomlete send() (for *BSD).
 | 
						|
 | 
						|
15.09.2003
 | 
						|
! mutex added to gethostbyname() to avoid thread unsafety. It slows
 | 
						|
  down proxy if no nserver configured (it MUST be for *nix!) but prevents
 | 
						|
  crashing on active usage.
 | 
						|
! signal() handling is added for SIGPIPE. It seems to be some race conditions
 | 
						|
  on FreeBSD between send() and gethostbyname() somewhere causing SIGPIPE on
 | 
						|
  gethostbyname().
 | 
						|
 | 
						|
13.09.2003
 | 
						|
! NULL reference corrected if rotate is given without archiver
 | 
						|
 | 
						|
11.09.2003
 | 
						|
! Few additional checks added for open()/fopen() to do not crash on invalid
 | 
						|
  files in config
 | 
						|
! Buffer moved from stack to heap in socks.c to eliminate crash on FreeBSD
 | 
						|
 | 
						|
10.09.2003
 | 
						|
! Bug in SOCKSv5 UDP mapping corrected. Now it works fine (checked with
 | 
						|
  Unreal Tournament) with both SocksCAP and FreeCAP.
 | 
						|
 | 
						|
06.08.2003
 | 
						|
! Algorithm for SOCKS5 bind/udp assoc port selection is now intellegent
 | 
						|
  enough to allow server applications to use same port number on socks
 | 
						|
  server if available and not denied by access list
 | 
						|
! SOCKS5 bind/udp assoc now matches incoming connections/packet
 | 
						|
  with IP address from request in accordance to RFC 1928 to improve
 | 
						|
  security
 | 
						|
 | 
						|
04.08.2003
 | 
						|
!!! Bug fixed sometimes causing 3proxy to crash if parent proxy is used
 | 
						|
!!! UDP associate finaly completed and is fully functional
 | 
						|
    (tested with SocksCAP on Unreal Tournament). 
 | 
						|
!!! TCP bind code re-checked, and is probably working (doesn't work
 | 
						|
    on SocksCAP because of SocksCAP bug
 | 
						|
!!! Socket leak on nbname auth fixed
 | 
						|
 | 
						|
21.07.03
 | 
						|
+ Web administration module created
 | 
						|
+ Dynamic enable/disable for counters now available via web interface
 | 
						|
 | 
						|
19/07/2003 3[APA3A]tiny proxy 0.4
 | 
						|
New features marked with !.
 | 
						|
 | 
						|
 Features:
 | 
						|
  1. General
 | 
						|
	+ HTTP/1.1 Proxy with keep-alive client and server support,
 | 
						|
          transparent proxy support.
 | 
						|
	! FTP over HTTP support.
 | 
						|
	! DNS caching
 | 
						|
	+ HTTPS (CONNECT) proxy
 | 
						|
	+ SOCKSv4 Proxy
 | 
						|
	+ SOCKSv5 Proxy (TCP only)
 | 
						|
	+ Transparent SOCKS->HTTP redirection
 | 
						|
	+ POP3 Proxy
 | 
						|
	+ TCP port mapper
 | 
						|
	+ UDP port mapper
 | 
						|
	+ Threaded application (no child process).
 | 
						|
  2. Proxy chaining
 | 
						|
	+ Parent proxy support for any type of incoming connection
 | 
						|
	+ Username/password authentication for parent proxy(s).
 | 
						|
	+ HTTPS/SOCKS4/SOCKS5 and redirection parent support
 | 
						|
	+ Random parent selecttion
 | 
						|
	+ Chain building (multihop proxing)
 | 
						|
  3. Logging
 | 
						|
	+ turnable log format
 | 
						|
	+ stdout logging
 | 
						|
	+ file logging
 | 
						|
	+ syslog logging (Unix)
 | 
						|
	+ ODBC logging (Windows and Unix)
 | 
						|
	+ log file rotation (hourly, daily, weekly, monthly)
 | 
						|
	+ automatic log file comperssion with external archiver (for files)
 | 
						|
	+ automatic removal of older log files
 | 
						|
  4. Access control
 | 
						|
	! ACL-driven (user/source/destination/protocol or combined) bandwith
 | 
						|
	limitation
 | 
						|
	! ACL-driven (user/source/destination/protocol or combined) traffic
 | 
						|
	limitation per day, week or month
 | 
						|
	+ User authorization by NetBIOS messanger name
 | 
						|
	+ Access control by username, source IP, destination IP, destination
 | 
						|
	port and destination action (POST, PUT, GET, etc).
 | 
						|
	+ Access control by username/password for SOCKSv5 and HTTP/HTTPS/FTP
 | 
						|
	+ Cleartext or encrypted (crypt/MD5 or NT) passwords.
 | 
						|
	+ Connection redirection
 | 
						|
	+ Access control by requested action (CONNECT/BIND, 
 | 
						|
	  HTTP GET/POST/PUT/HEAD/OTHER).
 | 
						|
  5. Configuration
 | 
						|
	+ support for configuration files
 | 
						|
	+ support for includes in configuration files
 | 
						|
	+ interface binding
 | 
						|
	+ running as daemon process
 | 
						|
	+ utility for automated networks list building
 | 
						|
     Unix
 | 
						|
	+ support for chroot
 | 
						|
	+ support for setgid
 | 
						|
	+ support for setuid
 | 
						|
     NT
 | 
						|
	+ support --install as service
 | 
						|
	+ support --remove as service
 | 
						|
	+ support for service START, STOP, PAUSE and CONTINUE commands (on
 | 
						|
	PAUSE no new connection accepted, but active connections still in
 | 
						|
	progress)
 | 
						|
  6. Compilation
 | 
						|
	+ MSVC (msvcrt.dll)
 | 
						|
	+ Intel Windows Compiler (msvcrt.dll)
 | 
						|
	+ Windows/gcc (msvcrt.dll)
 | 
						|
	+ Cygwin/gcc (cygwin.dll)
 | 
						|
	+ Unix/gcc
 | 
						|
	+ Unix/ccc
 | 
						|
 | 
						|
 Known bugs:
 | 
						|
 | 
						|
	- udppm doesn't work if compiled with cygwin. 
 | 
						|
 | 
						|
	  Cygwin doesn't support recvfrom()/sendto() on connected socket, so
 | 
						|
	  recv/send is used instead... Not a big deal anyway.
 | 
						|
 | 
						|
 | 
						|
 Planned for future release:
 | 
						|
   - Web interface for configuration
 | 
						|
   - Signal handling on Unix (for stop/pause/resume/configuration change)
 | 
						|
   - External filter API
 | 
						|
   - Addon URL, antiviral, HTTP cache filters
 | 
						|
 | 
						|
17.07.03
 | 
						|
+ ODBC changed to re-establish broken connection
 | 
						|
 | 
						|
11.06.03
 | 
						|
! #ifndef NOSQL changed to NOODBC
 | 
						|
 | 
						|
22.05.03
 | 
						|
+ strong auth now supported for POP3 proxy. Now, username can be in format
 | 
						|
  proxy_username:proxy_password:POP3_username@pop3server
 | 
						|
 | 
						|
30.04.03
 | 
						|
! redirect function now do not change code of traffic limit error
 | 
						|
 | 
						|
24.04.2003
 | 
						|
! -M changed to -D for *nix makefiles
 | 
						|
 | 
						|
18.04.2003
 | 
						|
! HTTPS behaviour breaked by latest patches restored
 | 
						|
 | 
						|
15.04.2003
 | 
						|
! fixed handling of special characters and non-existing files in
 | 
						|
  FTP over HTTP proxy.
 | 
						|
 | 
						|
12.04.2003
 | 
						|
! fixed behaviour of HTTP proxy on RFC-incompatible web servers (banners
 | 
						|
  exchanges, price.ru, etc) - they terminate string with \n instead of
 | 
						|
  \r\n.
 | 
						|
 | 
						|
10.04.2003
 | 
						|
+ nsrecord and dialer commands added
 | 
						|
! Name resolution now occures right before authorization to prevent
 | 
						|
  unauthenticated users from performing NS lookups and demand dial.
 | 
						|
 | 
						|
05.04.2003
 | 
						|
+ N (Never) option value added for counters refreshing
 | 
						|
 | 
						|
29.03.2003
 | 
						|
+ !!! FTP support for HTTP proxy added. 
 | 
						|
 | 
						|
25.03.2003
 | 
						|
! Socks 4 bug fixed (was visible in Netscape)
 | 
						|
+ Socks 4.5 support added (not tested)
 | 
						|
! !! UDP portmapper code fixed
 | 
						|
 | 
						|
24.03.2003
 | 
						|
! Timeout, close on closed socket and FD bugs fixed in UDPPM
 | 
						|
 | 
						|
21.03.2003
 | 
						|
+ Proxy-Authorization now works for CONNECT (HTTPS proxy).
 | 
						|
 | 
						|
07.03.2003
 | 
						|
! counter command extended to allow traffic reports
 | 
						|
 | 
						|
02.03.2003
 | 
						|
! Bandwidth/Traffic limiting problems fixed
 | 
						|
! gethostbyname() argument limited to 256 characters. It may be significant
 | 
						|
  for Windows
 | 
						|
 | 
						|
27.02.2003
 | 
						|
+ !!! Traffic limitting feature added (counter/countin/nocountin)
 | 
						|
 | 
						|
26.02.2003
 | 
						|
! nobandlim processing changed
 | 
						|
! bandlim/nobamdlim commands renamed to bandlimin/nobandlimin
 | 
						|
 | 
						|
22.02.2003
 | 
						|
+ !!! Bandwidth limiting features added (bandlim and nobandlim commands)
 | 
						|
 | 
						|
18.02.2003
 | 
						|
+ Mutext support added for inter-thread data access. Should improve stability.
 | 
						|
- debugging printf() removed from proxy, typo fixed in auth.c
 | 
						|
 | 
						|
10.02.2003
 | 
						|
! Changed to use WSASocket()/WSAAccept() instead of socket()/accept() under
 | 
						|
  Windows
 | 
						|
 | 
						|
30.01.2003 
 | 
						|
! Version of gcc changed (3.2).
 | 
						|
+ nscache option added to 3proxy configuration for DNS cache. For a while
 | 
						|
  caching is primitive (with no expiration).
 | 
						|
 | 
						|
27.01.2003
 | 
						|
- \n removed from perror() calls
 | 
						|
 | 
						|
27/01/2003 3[APA3A]tiny proxy 0.3b.
 | 
						|
New features are marked with !.
 | 
						|
 | 
						|
 Features:
 | 
						|
  1. General
 | 
						|
	+ HTTP/1.1 Proxy with keep-alive client and server support,
 | 
						|
          transparent proxy support.
 | 
						|
	! HTTPS (CONNECT) proxy
 | 
						|
	+ SOCKSv4 Proxy
 | 
						|
	+ SOCKSv5 Proxy (TCP only)
 | 
						|
	! Transparent SOCKS->HTTP redirection
 | 
						|
	+ POP3 Proxy
 | 
						|
	+ TCP port mapper
 | 
						|
	+ UDP port mapper
 | 
						|
	+ Threaded application (no child process).
 | 
						|
  2. Proxy chaining
 | 
						|
	! Parent proxy support for any type of incoming connection
 | 
						|
	! Username/password authentication for parent proxy(s).
 | 
						|
	! HTTPS/SOCKS4/SOCKS5 and redirection parent support
 | 
						|
	! Random parent select
 | 
						|
	! Chain building (multihop proxing)
 | 
						|
  3. Logging
 | 
						|
	! turnable log format
 | 
						|
	+ stdout logging
 | 
						|
	+ file logging
 | 
						|
	+ syslog logging (Unix)
 | 
						|
	! ODBC logging (Windows)
 | 
						|
	+ log file rotation (hourly, daily, weekly, monthly)
 | 
						|
	+ automatic log file comperssion with external archiver (for files)
 | 
						|
	+ automatic removal of older log files
 | 
						|
  4. Access control
 | 
						|
	+ User authorization by NetBIOS messanger name
 | 
						|
	+ Access control by username, source IP, destination IP and destination
 | 
						|
	port
 | 
						|
	+ Access control by username/password for SOCKSv5 and HTTP
 | 
						|
	+ Cleartext or encrypted (crypt/MD5 or NT) passwords.
 | 
						|
	+ Connection redirection
 | 
						|
	! Access control by requested action (CONNECT/BIND, 
 | 
						|
	  HTTP GET/POST/PUT/HEAD/OTHER).
 | 
						|
  5. Configuration
 | 
						|
	+ support for configuration files
 | 
						|
	+ support for includes in configuration files
 | 
						|
	+ interface binding
 | 
						|
	+ running as daemon process
 | 
						|
	! utility for networks list building
 | 
						|
     Unix
 | 
						|
	+ support for chroot
 | 
						|
	+ support for setgid
 | 
						|
	+ support for setuid
 | 
						|
     NT
 | 
						|
	+ support --install as service
 | 
						|
	+ support --remove as service
 | 
						|
	+ support for service START, STOP, PAUSE and CONTINUE commands (on
 | 
						|
	PAUSE no new connection accepted, but active connections still in
 | 
						|
	progress)
 | 
						|
  6. Compilation
 | 
						|
	+ MSVC (msvcrt.dll)
 | 
						|
	! Intel Windows Compiler (msvcrt.dll)
 | 
						|
	+ Windows/gcc (msvcrt.dll)
 | 
						|
	+ Cygwin/gcc (cygwin.dll)
 | 
						|
	+ Unix/gcc
 | 
						|
	! Unix/ccc
 | 
						|
 | 
						|
 Known bugs:
 | 
						|
 | 
						|
	- udppm doesn't work if compiled with cygwin. 
 | 
						|
 | 
						|
	  Cygwin doesn't support recvfrom()/sendto() on connected socket, so
 | 
						|
	  recv/send is used instead... Not a big deal anyway.
 | 
						|
 | 
						|
 | 
						|
 Planned for future release:
 | 
						|
   - FTP proxy support
 | 
						|
   - Web interface for configuration
 | 
						|
   - Signal handling on Unix (for stop/pause/resume/configuration change)
 | 
						|
   - External filter API
 | 
						|
   - Addon trafficshape, URL, antiviral, HTTP cache filters
 | 
						|
 | 
						|
 | 
						|
27.01.2003
 | 
						|
!!!!!!!!!!!!!!!!!!!
 | 
						|
! Tagging as 0.3b !
 | 
						|
!!!!!!!!!!!!!!!!!!!
 | 
						|
 | 
						|
24.01.2003
 | 
						|
- Fixed to use INVALID_SOCKET instead of -1 (for Windows compatibility)
 | 
						|
- Fixed problem with threading support under gcc. Now ODBC logging seems
 | 
						|
  to work always.
 | 
						|
! strncasecmp removed. Changed to use strnicmp for Windows.
 | 
						|
 | 
						|
21.01.2003
 | 
						|
! 0.3 development frozen to only bugfixes
 | 
						|
- bug fixed causing 3proxy to crash with NULL pointer reference on
 | 
						|
  transparent web redirection
 | 
						|
- SQL support removed from default (gcc) compilation
 | 
						|
 | 
						|
20.01.2003
 | 
						|
+ ODBC logging (yeah!). For a while it works stable only if compiled with
 | 
						|
  MSVC or Intel compiler.
 | 
						|
 | 
						|
17.01.2003
 | 
						|
- bug introduced yesterday into CONNECT code cleaned
 | 
						|
 | 
						|
16.01.2003
 | 
						|
+ timeouts command added
 | 
						|
 | 
						|
13.01.2003
 | 
						|
- daemonizing code changed to work correctly on buggy libc (FreeBSD)
 | 
						|
  (pthread_* doesn't work after daemon())
 | 
						|
- logging code changed to work correctly on buggy libc (FreeBSD 4.4)
 | 
						|
  (freopen "a" mode doesn't work as expected on stdout)
 | 
						|
 | 
						|
12.01.2003
 | 
						|
! License is changed to prohibit modification and commercial use
 | 
						|
 | 
						|
11.01.2003
 | 
						|
! All makefiles are made uniform
 | 
						|
+ Makefiles for Compaq C complier (Makefile.ccc) and Intel C Compiler for
 | 
						|
  Windows (Makefile.intl) added
 | 
						|
+ Makefile.msvc added for Microsoft Visual C Compiler
 | 
						|
! proxy.dsp removed
 | 
						|
 | 
						|
10.01.2003
 | 
						|
+ Now checked to compile with Compaq C Compiler under linux on alpha platform
 | 
						|
+ logformat configuration command added for custom log entry format
 | 
						|
! Unix version changed to use gettimeofday instead of ftime to avoid -lcompat
 | 
						|
  issue.
 | 
						|
 | 
						|
09.01.2003
 | 
						|
! Randomizer changed for proxy chaining
 | 
						|
! Code cleaned: Makefile, signed/unsigned conversions, etc.
 | 
						|
! Typo fixed preventing from compilation under *nix
 | 
						|
 | 
						|
08.01.2003
 | 
						|
+ dateformat command added
 | 
						|
! Log format changed!!!
 | 
						|
+ Control for different operations (CONNECT,BIND,HTTP_*, etc) added to ACL,
 | 
						|
  see 3proxy.cfg.sample
 | 
						|
 | 
						|
25.12.2002
 | 
						|
+ Proxy chaining now is fully operational!!!!!
 | 
						|
+ SOCKSv4 and SOCKSv5 client code added for chaining
 | 
						|
+ HTTP connect authentication added for chaining
 | 
						|
+ Parent authentication for HTTP proxy added
 | 
						|
- Problem with "Connection: close" resolved (if HTTP server time outs or closes
 | 
						|
  connection).
 | 
						|
 | 
						|
24.12.2002
 | 
						|
+ Proxy chaining works!!! (for a while only HTTP CONNECT proxies
 | 
						|
  are supported and no parent authentication). Logging is updated to
 | 
						|
  include number of redirections (parent proxies) in square brackets.
 | 
						|
  See config.sample for example of "parent" command.
 | 
						|
 | 
						|
23.12.2002
 | 
						|
! Transparent proxy operations improved, logging corrected
 | 
						|
+ Added base code for proxy chaining
 | 
						|
! Redirection code rewritten
 | 
						|
 | 
						|
23.12.2002
 | 
						|
+ UDP ASSOCIATE added (but not tested) to SOCKS.
 | 
						|
! Additional logging added to socks proxy
 | 
						|
+ Local HTTP proxy redirection added (for SOCKS).
 | 
						|
 | 
						|
01.12.2002
 | 
						|
! closesock() problem _finally_ patched...
 | 
						|
 | 
						|
30.11.2002
 | 
						|
! Makefile.unix corrected
 | 
						|
! Do not process $ in included files for 3proxy.cfg
 | 
						|
! Common error codes are unified
 | 
						|
 | 
						|
29.11.2002
 | 
						|
+ nserver example added to 3proxy.cfg.sample
 | 
						|
 | 
						|
28.11.2002
 | 
						|
- fixed closesock() instead of close() call on 3proxy.cfg included files
 | 
						|
  for native Windows.
 | 
						|
 | 
						|
27.11.2002
 | 
						|
! Minor changes in docummentation
 | 
						|
+ dighosts utility added
 | 
						|
 | 
						|
22.11.2002
 | 
						|
- Few problems corrected in logfiles rotation
 | 
						|
 | 
						|
20.11.2002
 | 
						|
- SOCKSv5 bind() reply corrected.
 | 
						|
 | 
						|
19.11.2002
 | 
						|
+ internal resolver added to avoid usage of thread unsafe gethostbyname().
 | 
						|
  nserver configuration option added to config file.
 | 
						|
! HTTP proxy behaviour slightly changed to be more compatible.
 | 
						|
 | 
						|
06/11/2002 3[APA3A]tiny proxy 0.2b Initial release.
 | 
						|
 | 
						|
 Features:
 | 
						|
  1. General
 | 
						|
	+ HTTP/1.1 Proxy with keep-alive client and server support,
 | 
						|
          transparent proxy support.
 | 
						|
	+ SOCKSv4 Proxy
 | 
						|
	+ SOCKSv5 Proxy (TCP only)
 | 
						|
	+ POP3 Proxy
 | 
						|
	+ TCP port mapper
 | 
						|
	+ UDP port mapper
 | 
						|
	+ Threaded application (no child process).
 | 
						|
  2. Logging
 | 
						|
	+ stdout logging
 | 
						|
	+ file logging
 | 
						|
	+ syslog logging (Unix)
 | 
						|
	+ log file rotation (hourly, daily, weekly, monthly)
 | 
						|
	+ automatic log file comperssion with external archiver (for files)
 | 
						|
	+ automatic removal of older log files
 | 
						|
  3. Access control
 | 
						|
	+ User authorization by NetBIOS messanger name
 | 
						|
	+ Access control by username, source IP, destination IP and destination
 | 
						|
	port
 | 
						|
	+ Access control by username/password for SOCKSv5 and HTTP
 | 
						|
	+ Cleartext or encrypted (crypt/MD5 or NT) passwords.
 | 
						|
  4. Configuration
 | 
						|
	+ support for configuration files
 | 
						|
	+ support for includes in configuration files
 | 
						|
	+ interface binding
 | 
						|
	+ running as daemon process
 | 
						|
     Unix
 | 
						|
	+ support for chroot
 | 
						|
	+ support for setgid
 | 
						|
	+ support for setuid
 | 
						|
     NT
 | 
						|
	+ support --install as service
 | 
						|
	+ support --remove as service
 | 
						|
	+ support for service START, STOP, PAUSE and CONTINUE commands (on
 | 
						|
	PAUSE no new connection accepted, but active connections still in
 | 
						|
	progress)
 | 
						|
  5. Compilation
 | 
						|
	+ Microsoft VC++ (msvcrt.dll)
 | 
						|
	+ Windows/gcc (msvcrt.dll)
 | 
						|
	+ Cygwin/gcc (cygwin.dll)
 | 
						|
	+ Unix/gcc
 | 
						|
 | 
						|
 Known bugs:
 | 
						|
 | 
						|
	- udppm doesn't work if compiled with cygwin. 
 | 
						|
 | 
						|
	  Cygwin doesn't support recvfrom()/sendto() on connected socket, so
 | 
						|
	  recv/send is used instead... Not a big deal anyway.
 | 
						|
 | 
						|
	- socks5 doesn't work with UDP
 | 
						|
 | 
						|
	  Not implemented yet
 | 
						|
 | 
						|
 Planned for future release:
 | 
						|
   - UDP implementation in SOCKSv5
 | 
						|
   - Signal handling on Unix (for pause/resume)
 | 
						|
   - External filter API
 | 
						|
   - Addon trafficshape, URL, antiviral, HTTP cache filters
 | 
						|
 | 
						|
06.11.2002
 | 
						|
!!MARK IT 0.2beta
 | 
						|
! Using UPX to compress 3proxy.exe
 | 
						|
 | 
						|
 | 
						|
02.11.2002
 | 
						|
+ HTTP proxy now supports kepp-alive connections to HTTP server or proxy.
 | 
						|
  It dramatically decreases number of outgoing connections and amount of DNS
 | 
						|
  traffic.
 | 
						|
 | 
						|
01.11.2002
 | 
						|
+ Now proxy can catch Web server style requests. It means proxy
 | 
						|
  may be used as a transparent proxy. Yes. It means you can redirect
 | 
						|
  SOCKS requests with target 80 to HTTP proxy.
 | 
						|
! Port check in ACL fixed
 | 
						|
! Now proxy catches redirection by changed destination IP or port. If
 | 
						|
  you redirect request to web server make sure it supports proxy style
 | 
						|
  requests (IIS and Apache do).
 | 
						|
+ HTTP proxy supports keep-alive. Now number of threads required
 | 
						|
  significantly reduced.
 | 
						|
+ HTTP CONNECT fully supported (both direct and redirected to another proxy).
 | 
						|
  Now you can use our proxy for HTTPs. Or for spam :) Don't forget to set ACL
 | 
						|
  for outgoing ports, cause now ports are not limited.
 | 
						|
 | 
						|
26.10.2002
 | 
						|
+ mycrypt utility added for making crypted passwords in NT and crypt/MD5
 | 
						|
! ACL check for strong auth corrected
 | 
						|
+ HTTP proxy support for authentication (basic). Now you can use strong
 | 
						|
  username/password authentication with proxy module.
 | 
						|
+ Error messages added for HTTP proxy
 | 
						|
 | 
						|
25.10.2002
 | 
						|
+ NT passwords are now supported in 3proxy.cfg
 | 
						|
! Public License Agreement changed to be more clear
 | 
						|
 | 
						|
24.10.2002
 | 
						|
! Fixed handle leak because of missed CloseHandle for threads in Windows
 | 
						|
 | 
						|
23.10.2002
 | 
						|
! Fixed POP3 proxy bug
 | 
						|
! Strong auth changed to allow rules with * for username
 | 
						|
+ MD5 crypt format passwords is now supported... Do we ever need DES?
 | 
						|
  I will not implement blowfish - it's huge and rarely used.
 | 
						|
+ More comments added to 3proxy.cfg.sample
 | 
						|
 | 
						|
21.10.2002
 | 
						|
! Fixed strongauth problem - ACL was not checked for authenticated
 | 
						|
  SOCKSv5 users
 | 
						|
 | 
						|
16.10.2002
 | 
						|
+ Added support for SOCKSv5 cleartext password authentication
 | 
						|
+ "strong" authentication is now OK (use it only for SOCKS)
 | 
						|
+ added "users" config file command to specify username and password. Only
 | 
						|
  cleartext for a while.
 | 
						|
 | 
						|
20.09.2002
 | 
						|
! Minor improvements in socket operations
 | 
						|
 | 
						|
17.09.2002
 | 
						|
! HTTP proxy changed to do not strip hostname from URI if target port is not
 | 
						|
  80. It allows to redirect requests to another proxy as well as redirect to
 | 
						|
  different Web server via ACL. It will work for most servers (IIS, Apache)
 | 
						|
  if target redirected to non-standard port of Web server, but may fail in
 | 
						|
  some rare cases. Redirection to proxy should always work OK except if proxy
 | 
						|
  is on TCP/80.
 | 
						|
+ Added "redirect" ACL command. You can redirect request to another destination
 | 
						|
  if ACL entry matches (that is by target or source IP, target port, username).
 | 
						|
! Fixed documentation bug in 3proxy.cfg.sample ("authtype" instead of "auth")
 | 
						|
! Fixed bug causing server to exit in native Win32 mode if "service"
 | 
						|
  configuration option is not configured
 | 
						|
! Outgoing SOCKS connections are handled in common way now.
 | 
						|
 | 
						|
07.09.2002
 | 
						|
+ added binding to external interface for outgoing connections
 | 
						|
! Fixed bug causing username check in ACL always fail
 | 
						|
+ Added ACL check for UDP map
 | 
						|
+ Added "Single packet" services to UDP portmap (-s switch). Allows unlimited
 | 
						|
  number of clients to be handled by portmapper for single-packet services
 | 
						|
  (like DNS).
 | 
						|
 | 
						|
06.09.2002 3[APA3A]tiny proxy 0.1b initial release
 | 
						|
 | 
						|
 Features:
 | 
						|
  1. General
 | 
						|
	+ HTTP/1.0 Proxy
 | 
						|
	+ SOCKSv4 Proxy
 | 
						|
	+ SOCKSv5 Proxy (TCP only)
 | 
						|
	+ POP3 Proxy
 | 
						|
	+ TCP port mapper
 | 
						|
	+ UDP port mapper
 | 
						|
	+ Threaded application (no child process).
 | 
						|
  2. Logging
 | 
						|
	+ stdout logging
 | 
						|
	+ file logging
 | 
						|
	+ syslog logging (Unix)
 | 
						|
	+ log file rotation (hourly, daily, weekly, monthly)
 | 
						|
	+ automatic log file comperssion with external archiver (for files)
 | 
						|
	+ automatic removal of older log files
 | 
						|
  3. Access control
 | 
						|
	+ User authorization by NetBIOS messanger name
 | 
						|
	+ Access control by username, source IP, destination IP and destination
 | 
						|
	port
 | 
						|
  4. Configuration
 | 
						|
	+ support for configuration files
 | 
						|
	+ support for includes in configuration files
 | 
						|
	+ interface binding
 | 
						|
	+ running as daemon process
 | 
						|
     Unix
 | 
						|
	+ support for chroot
 | 
						|
	+ support for setgid
 | 
						|
	+ support for setuid
 | 
						|
     NT
 | 
						|
	+ support --install as service
 | 
						|
	+ support --remove as service
 | 
						|
	+ support for service START, STOP, PAUSE and CONTINUE commands (on
 | 
						|
	PAUSE no new connection accepted, but active connections still in
 | 
						|
	progress)
 | 
						|
  5. Compilation
 | 
						|
	+ Microsoft VC++ (msvcrt.dll)
 | 
						|
	+ Windows/gcc (msvcrt.dll)
 | 
						|
	+ Cygwin/gcc (cygwin.dll)
 | 
						|
	+ Unix/gcc
 | 
						|
 | 
						|
 Known bugs:
 | 
						|
 | 
						|
	- udppm doesn't work if compiled with cygwin. 
 | 
						|
 | 
						|
	  Cygwin doesn't support recvfrom()/sendto() on connected socket, so
 | 
						|
	  recv/send is used instead... Not a big deal anyway.
 | 
						|
 | 
						|
	- udppm works without authentication
 | 
						|
 | 
						|
	  Will be patched later.
 | 
						|
 | 
						|
	- socks5 doesn't work with UDP
 | 
						|
 | 
						|
	  Not implemented yet
 | 
						|
 | 
						|
 Planned for future release:
 | 
						|
   - Improvements to UDP portmapping
 | 
						|
   - UDP implementation in SOCKSv5
 | 
						|
   - Ident authorization
 | 
						|
   - SOCKSv5 password authentication
 | 
						|
   - Signal handling on Unix (for pause/resume)
 | 
						|
   - External filter API
 | 
						|
   - Addon trafficshape, URL, antiviral, HTTP cache filters
 | 
						|
   - HTTP/1.1 support
 | 
						|
 | 
						|
 | 
						|
$Id: Changelog,v 1.154 2006/03/08 18:44:00 vlad Exp $ |