RELEASE NOTES for TCPreen
version 1.4.4 (stable release)
===============================
$Id: NEWS 207 2007-12-19 20:38:55Z remi $

  This is an hopefully stable release. Everyone is invited to upgrade to this
new version.

  There are no known issues at the moment. Please report any problem at:
http://www.sourceforge.net/projects/tcpreen/ in the appropriate "Tracker"
section. Thanks for your help.

  You can find major changes since version 1.2.0 below. For more general
informations on this program, see README. For syntax details and
changes, see the man page: tcpreen(1). For detailled internal changes,
see ChangeLog.

=============================================================================
STABLE RELEASE 1.4.4 : Minor security fix

# Check overflow of FD_SET.
# Brazilian portuguese localization by Jose Carlos Medeiros.

=============================================================================
STABLE RELEASE 1.4.3 : Minor feature enhancement

# Support for writing large (> 4GB) log files.
# Fixes undefined symbols on Windows 9x/2000 (bug introduced in 1.4.1).
# Fixes in getaddrinfo/getnameinfo replacements.

=============================================================================
STABLE RELEASE 1.4.2 : Minor portability fixes

# Fixes a regression on Microsoft Windows:
  (tcpreen would ony accept one connection then die)

=============================================================================
STABLE RELEASE 1.4.1 : Minor portability fixes

# Support for IPv6 on Microsoft Windows:
  There was something wrong with IPv6 detection tests on Windows which
  were fixed.
# Fix unsafe function calls from signal handler.
# BSD / libintl compilation fix
# Fixed an impossible double-free vulnerability.

=============================================================================
STABLE RELEASE 1.4.0 : Major bugfixes, minor feature enhancement

# Build-time support for Intel C++ Compiler 8.0,
# Build-time support for Automake 1.8,
# Always use syslog in background mode,
# Password logging support for HTTP Basic authentification,
# Fixed receival buffering for password logging.

=============================================================================
UNSTABLE RELEASE 1.3.7 : Major bugfixes

# Rewritten socket forwarding engine fixes minor timing issues,
# Fixed race conditions in signal handling,
# Rewritten addresses resolution,
# Split source code among 3 directories,
# Support for cross-compilation to Mingw32 (Microsoft Windows),
# Major bug fixes for Microsoft Windows support,
# Support for libidn in getaddrinfo() when built-in GNU libc.

=============================================================================
UNSTABLE RELEASE 1.3.6 : Major bugfixes

# Signal handling fix:
  Log files are properly closed and flushed to disk when tcpreen is
  killed by a signal (bug introduced in previous release).
# FreeBSD compilation error fixed.
# Windows support (single process) back.
# Bug fixes: see ChangeLog for details.
# New log format: the new "null" log file format does not record anything
  except where each connection came from.
  The log format formerly known as "null", which displays size of data
  packets is now called "count".
# Initial password capture format: an initial password capture format has
  been included. It is still very limited and not well tested.
# Autotools updates and fixes.

=============================================================================
UNSTABLE RELEASE 1.3.5 : Major bugfixes

# New syntax for log format selection reduces number of command line options.
(see "man 1 tcpreen" for the new syntax).
# Unix sockets are now unlinked on exit.
# Fixed bug: IP addresses are now shown instead of an error in case of
  double-reverse DNS lookup failure.
# Shorter configure script: removed some needless tests that seemed to always
  succeed except on Windows. Please report any new portability problem.
# Server now forks before accepting connection (aka "preforking").
  Some work might still be needed, and a lot more testing.

=============================================================================
UNSTABLE RELEASE 1.3.4 : Major features enhancements

# tcpreen runs properly on MS Win32 without Cygwin.
# tcpreen runs properly on Sun Solaris again.
# tcpreen runs properly with old libc again.

=============================================================================
UNSTABLE RELEASE 1.3.2 : Major features enhancements

# Infinite number of connections by default:
  tcpreen will no longer exit when the first connection terminates.
  By default, tcpreen will remain active until interrupted. You can
  of course use the '-m <n>' or '--maxconn <n>' option to limit the
  total number of connections to be handled.

# Unix sockets support:
  Unix domain socket (PF_LOCAL) are now experimentally supported, which
  proves that the new protocol independant socket address handling
  works.
  Note however that Unix socket are not removed from the file system
  after exit yet, so you have to call unlink manually after using
  tcpreen with Unix sockets.

# Signal handling fixed:
  Signals are now supposedly handled every where in the program
  (there should be no blocking system calls except select()).

# Bugfixes and minor changes: see ChangeLog.

=============================================================================  
UNSTABLE RELEASE 1.3.1 : Minor features enhancements

# Signal handling implemented:
  tcpreen now catches common POSIX signals properly. This is particularly
  useful when it is used in the background (until then, there was no way
  to terminate the program, but to kill it).

# Synchronous I/O multiplexing rewritten:
  The core data monitoring engine will now correctly determine when it
  should read data from the client or the server. By the way, it will no
  longer raises CPU usage to almost 100% when there is a network
  congestion on either side.

=============================================================================
UNSTABLE RELEASE 1.3.0 : Minor bugfixes

# Fixed double-free bug in getaddrinfo() replacement:
  That bug only affects old systems which do not provide getaddrinfo()
  natively. Although extremely unlikely, it might be possible to exploit
  that bug. If your system C library is older than 2000, you should
  really update.

# Double passive IP port allocation bug fixed:
  TCPreen will no longer open multiple ports to listen to incoming
  connections when both IPv6 and IPv4 are available on the system.
  The connection handling is now much simpler, and less error-prone.

=============================================================================
STABLE RELEASE 1.2.2 : Minor security fixes

# SetUID non-root user change forbidden:
  Non-root users can no longer run tcpreen as someone else when tcpreen
  has the SetUID root bit set, though this may be convenient in some
  particular environments. Use of the `-u' (or `--uid') option has been
  disabled for non-root users.
  
  Note that tcpreen is not installed SetUID by default, though this may
  be convenient in some particular environments (namely when one need to
  bind tcpreen to a reserved TCP port). Therefore, the bug does not
  affect standard setup (nor common vendor packages including Debian,
  FreeBSD, OpenBSD, etc).

# sudo support:
  tcpreen will use the SUDO_UID environment variable when run with
  *real* (as opposite to *effective*) UID root. That similarly prevents
  user impersonation when tcpreen is used (directly) with sudo
  (see http://www.sudo.ws/ for more information on sudo).

# UPDATES: Mac OS X appears to work now.

=============================================================================
STABLE RELEASE 1.2.1 : Minor bugfixes

# Compatibility hack for GNU <getopt.h> on non-GNU platforms, should fix
  compilation error on FreeBSD-current with libgnugetopt installed.

=============================================================================
STABLE RELEASE 1.2.0 : Minor bugfixes

# Compatibility fix for Sun Solaris.
# Removed useless replacement functions.
# Compatibility fix for MacOS X: it won't not work, though. Any help
  with that platform would be most welcome.

=============================================================================
OLDER `NEWS' STRIPPED - See ChangeLog for chronological details

