Commit 28afe8

2025-02-11 10:05:57 Samuli Seppänen: Add Changes in OpenVPN 2.0 page
/dev/null .. Changelogs/ChangesInOpenVPN20.md
@@ 0,0 1,1429 @@
+ ```
+ OpenVPN
+ Copyright (C) 2002-2008 OpenVPN, Inc.
+
+ $Id: ChangeLog 1330 2006-10-01 11:45:06Z james $
+
+ 2006.10.01 -- Version 2.0.9
+
+ * Windows installer updated with OpenSSL 0.9.7l DLLs to fix
+ published vulnerabilities.
+
+ * Fixed TAP-Win32 bug that caused BSOD on Windows Vista
+ (Henry Nestler). The TAP-Win32 driver has now been
+ upgraded to version 8.4.
+
+ 2006.09.12 -- Version 2.0.8
+
+ * Windows installer updated with OpenSSL 0.9.7k DLLs to fix
+ RSA Signature Forgery (CVE-2006-4339).
+ * No changes to OpenVPN source code between 2.0.7 and 2.0.8.
+
+ 2006.04.12 -- Version 2.0.7
+
+ * Code added in 2.0.6-rc1 to extend byte counters
+ to 64 bits caused a bug in the Windows version which has now
+ been fixed. The bug could cause intermittent crashes.
+
+ 2006.04.05 -- Version 2.0.6
+
+ * Security Vulnerability affecting OpenVPN 2.0 through 2.0.5.
+ An OpenVPN client connecting to a
+ malicious or compromised server could potentially receive
+ "setenv" configuration directives from the server which could
+ cause arbitrary code execution on the client via a LD_PRELOAD
+ attack. A successful attack appears to require that (a) the
+ client has agreed to allow the server to push configuration
+ directives to it by including "pull" or the macro "client" in
+ its configuration file, (b) the client configuration file uses
+ a scripting directive such as "up" or "down", (c) the client
+ succesfully authenticates the server, (d) the server is
+ malicious or has been compromised and is under the control of
+ the attacker, and (e) the attacker has at least some level of
+ pre-existing control over files on the client (this might be
+ accomplished by having the server respond to a client web
+ request with a specially crafted file). Credit: Hendrik Weimer.
+ CVE-2006-1629.
+
+ The fix is to disallow "setenv" to be pushed to clients from
+ the server. For those who need this capability, OpenVPN
+ 2.1 supports a new "setenv-safe" directive which is free
+ of this vulnerability.
+
+ * When deleting routes under Linux, use the route metric
+ as a differentiator to ensure that the route teardown
+ process only deletes the identical route which was originally
+ added via the "route" directive (Roy Marples).
+
+ * Fix the t_cltsrv.sh file in FreeBSD 4 jails
+ (Matthias Andree, Dirk Meyer, Vasil Dimov).
+
+ * Extended tun device configure code to support ethernet
+ bridging on NetBSD (Emmanuel Kasper).
+
+ 2006.01.03 -- Version 2.0.6-rc1
+
+ * Fixed bug where "make check" inside a FreeBSD "jail"
+ would never complete (Matthias Andree).
+ * Fixed bug where --server directive in --dev tap mode
+ claimed that it would support subnets of /30 or less
+ but actually would only accept /29 or less.
+ * Extend byte counters to 64 bits (M. van Cuijk).
+ * Fixed bug in acinclude.m4 where capability of compiler
+ to handle zero-length arrays in structs is tested
+ (David Stipp).
+ * Fixed typo in manage.c where inline function declaration
+ was declared without the "static" keyword (David Stipp).
+ * Removed redundant base64 code.
+ * Better sanity checking of --server and --server-bridge
+ IP pool ranges, so as not to hit the assertion at
+ pool.c:119 (2.0.5).
+ * Fixed bug where --daemon and --management-query-passwords
+ used together would cause OpenVPN to block prior to
+ daemonization.
+ * Fixed client/server race condition which could occur
+ when --auth-retry interact is set and the initially
+ provided auth-user-pass credentials are incorrect,
+ forcing a username/password re-query.
+ * Fixed bug where if --daemon and --management-hold are
+ used together, --user or --group options would be ignored.
+
+ 2005.11.02 -- Version 2.0.5
+
+ * Fixed bug in Linux get_default_gateway function
+ introduced in 2.0.4, which would cause redirect-gateway
+ on Linux clients to fail.
+ * Restored easy-rsa/2.0 tree (backported from 2.1 beta
+ series) which accidentally disappeared in
+ 2.0.2 -> 2.0.4 transition.
+
+ 2005.11.01 -- Version 2.0.4
+
+ * Security fix -- Affects non-Windows OpenVPN clients of
+ version 2.0 or higher which connect to a malicious or
+ compromised server. A format string vulnerability
+ in the foreign_option function in options.c could
+ potentially allow a malicious or compromised server
+ to execute arbitrary code on the client. Only
+ non-Windows clients are affected. The vulnerability
+ only exists if (a) the client's TLS negotiation with
+ the server succeeds, (b) the server is malicious or
+ has been compromised such that it is configured to
+ push a maliciously crafted options string to the client,
+ and (c) the client indicates its willingness to accept
+ pushed options from the server by having "pull" or
+ "client" in its configuration file (Credit: Vade79).
+ CVE-2005-3393
+ * Security fix -- Potential DoS vulnerability on the
+ server in TCP mode. If the TCP server accept() call
+ returns an error status, the resulting exception handler
+ may attempt to indirect through a NULL pointer, causing
+ a segfault. Affects all OpenVPN 2.0 versions.
+ CVE-2005-3409
+ * Fix attempt of assertion at multi.c:1586 (note that
+ this precise line number will vary across different
+ versions of OpenVPN).
+ * Added ".PHONY: plugin" to Makefile.am to work around
+ "make dist" issue.
+ * Fixed double fork issue that occurs when --management-hold
+ is used.
+ * Moved TUN/TAP read/write log messages from --verb 8 to 6.
+ * Warn when multiple clients having the same common name or
+ username usurp each other when --duplicate-cn is not used.
+ * Modified Windows and Linux versions of get_default_gateway
+ to return the route with the smallest metric
+ if multiple 0.0.0.0/0.0.0.0 entries are present.
+
+ 2005.09.23 -- Version 2.0.2-TO4
+
+ * Added feature to TAP-Win32 adapter to allow it to be
+ opened from non-administrator mode. This feature
+ is enabled by default, and can be enabled/disabled
+ in the adapter advanced properties dialog.
+ * Added --allow-nonadmin standalone option for Windows to
+ set TAP adapter to allow non-admin access. This
+ is a user-mode version of the code, and duplicates
+ the same feature as the above entry.
+ * Added fix that attempts to solve corner case of tunnel not
+ forwarding packets when system clock is reset to an earlier time.
+ * Added --redirect-gateway bypass-dns option. (Developers:
+ To add bypass-dhcp or bypass-dns support to other OSes,
+ add a get_bypass_addresses function to route.c for
+ your OS.)
+ * Added OPENVPN_PLUGIN_CLIENT_CONNECT_V2 plugin callback, which
+ allows a client-connect plugin to return configuration text
+ in memory, rather than via a file.
+ * Fixed a bug where --mode server --proto tcp-server --cipher none
+ operation could cause tunnel packet truncation.
+ * openvpn --version will show [LZO1] or [LZO2], depending on
+ version that was linked.
+
+ 2005.09.07 -- Version 2.0.2-TO1
+
+ * Added --topology directive. See man page.
+ * Added --redirect-gateway bypass-dhcp option to add a route
+ allowing DHCP packets to bypass the tunnel, when the
+ DHCP server is non-local. Currently only implemented
+ on Windows clients.
+ * Modified OpenVPN Service on Windows to declare the DHCP
+ client service as a dependency.
+ * Extended the plugin interface to allow plugins to declare
+ per-client constructor and destructor functions, to make
+ it simpler for plugins to maintain per-client state.
+
+ 2005.09.25 -- Version 2.0.3-rc1
+
+ * openvpn_plugin_abort_v1 function wasn't being properly
+ registered on Windows.
+ * Fixed a bug where --mode server --proto tcp-server --cipher none
+ operation could cause tunnel packet truncation.
+
+ 2005.08.25 -- Version 2.0.2
+
+ * No change from 2.0.2-rc1.
+
+ 2005.08.24 -- Version 2.0.2-rc1
+
+ * Fixed regression bug in Win32 installer, introduced in 2.0.1,
+ which incorrectly set OpenVPN service to autostart.
+ * Don't package source code zip file in Windows installer
+ in order to reduce the size of the installer. The source
+ zip file can always be downloaded separately if needed.
+ * Fixed bug in route.c in FreeBSD, Darwin, OpenBSD and NetBSD
+ version of get_default_gateway. Allocated socket for route
+ manipulation is never freed so number of mbufs continuously
+ grow and exhaust system resources after a while (Jaroslav Klaus).
+ * Fixed bug where "--proto tcp-server --mode p2p --management
+ host port" would cause the management port to not respond until
+ the OpenVPN peer connects.
+ * Modified pkitool script to be /bin/sh compatible (Johnny Lam).
+
+ 2005.08.16 -- Version 2.0.1
+
+ * Security Fix -- DoS attack against server when run with "verb 0" and
+ without "tls-auth". If a client connection to the server fails
+ certificate verification, the OpenSSL error queue is not properly
+ flushed, which can result in another unrelated client instance on the
+ server seeing the error and responding to it, resulting in disconnection
+ of the unrelated client (CAN-2005-2531).
+ * Security Fix -- DoS attack against server by authenticated client.
+ This bug presents a potential DoS attack vector against the server
+ which can only be initiated by a connected and authenticated client.
+ If the client sends a packet which fails to decrypt on the server,
+ the OpenSSL error queue is not properly flushed, which can result in
+ another unrelated client instance on the server seeing the error and
+ responding to it, resulting in disconnection of the unrelated client
+ (CAN-2005-2532). Credit: Mike Ireton.
+ * Security Fix -- DoS attack against server by authenticated client.
+ A malicious client in "dev tap" ethernet bridging mode could
+ theoretically flood the server with packets appearing to come from
+ hundreds of thousands of different MAC addresses, causing the OpenVPN
+ process to deplete system virtual memory as it expands its internal
+ routing table. A --max-routes-per-client directive has been added
+ (default=256) to limit the maximum number of routes in OpenVPN's
+ internal routing table which can be associated with a given client
+ (CAN-2005-2533).
+ * Security Fix -- DoS attack against server by authenticated client.
+ If two or more client machines try to connect to the server at the
+ same time via TCP, using the same client certificate, and when
+ --duplicate-cn is not enabled on the server, a race condition can
+ crash the server with "Assertion failed at mtcp.c:411"
+ (CAN-2005-2534).
+ * Fixed server bug where under certain circumstances, the client instance
+ object deletion function would try to delete iroutes which had never been
+ added in the first place, triggering "Assertion failed at mroute.c:349".
+ * Added --auth-retry option to prevent auth errors from being fatal
+ on the client side, and to permit username/password requeries in case
+ of error. Also controllable via new "auth-retry" management interface
+ command. See man page for more info.
+ * Added easy-rsa 2.0 scripts to the tarball in easy-rsa/2.0
+ * Fixed bug in openvpn.spec where rpmbuild --define 'without_pam 1'
+ would fail to build.
+ * Implement "make check" to perform loopback tests (Matthias Andree).
+
+ 2005.07.21 -- Version 2.0.1-rc7
+
+ * Support LZO 2.01 which renamed its library to lzo2 (Matthias Andree).
+ * Include linux/types.h before checking for linux/errqueue.h (Matthias
+ Andree).
+
+ 2005.07.15 -- Version 2.0.1-rc6
+
+ * Commented out "user nobody" and "group nobody" in sample
+ client/server config files.
+ * Allow '@' character to be used in --client-config-dir
+ file names.
+
+ 2005.07.04 -- Version 2.0.1-rc5
+
+ * Windows version will log a for-further-info URL when
+ initialization sequence is completed with errors.
+ * Added DLOPEN_PAM parameter to plugin/auth-pam/Makefile
+ to control whether auth-pam plugin links to PAM via
+ dlopen or -lpam. By default, DLOPEN_PAM=1 so pre-existing
+ behavior should be preserved. DLOPEN_PAM=0 is the preferred
+ setting to link via -lpam, but DLOPEN_PAM=1 works around
+ a bug in SuSE 9.1 (and possibly other distros as well)
+ where the PAM modules are not linked with -lpam. See
+ thread on openvpn-devel for more discussion about this
+ patch (Simon Perreault).
+
+ 2005.06.15 -- Version 2.0.1-rc4
+
+ * Support LZO 2.00, including changes to configure script to
+ autodetect LZO version.
+
+ 2005.06.12 -- Version 2.0.1-rc3
+
+ * Fixed a bug which caused standard file handles to not be closed
+ after daemonization when --plugin and --daemon are used together,
+ and if the plugin initialization function forks (as does auth-pam
+ and down-root) (Simon Perreault).
+ * Added client-side up/down scripts in contrib/pull-resolv-conf
+ for accepting server-pushed "dhcp-option DOMAIN" and "dhcp-option DNS"
+ on Linux/Unix systems (Jesse Adelman).
+ * Fixed bug where if client-connect scripts/plugins were cascaded,
+ and one (but not all) of them returned an error status, there might
+ be cases where for an individual script/plugin, client-connect was
+ called but not client-disconnect. The goal of this fix is to
+ ensure that if client-connect is called on a given client instance,
+ then client-disconnect will definitely be called. A potential
+ complication of this fix is that when client-connect functions are
+ cascaded, it's possible that the client-disconnect function would
+ be called in cases where the related client-connect function returned
+ an error status. This fix should not alter OpenVPN behavior when
+ scripts/plugins are not cascaded.
+ * Changed the hard-to-reproduce "Assertion failed at fragment.c:312"
+ fatal error to a warning: "FRAG: outgoing buffer is not empty".
+ Need more info on how to reproduce this one.
+ * When --duplicate-cn is used, the --ifconfig-pool allocation
+ algorithm will now allocate the first available IP address.
+ * When --daemon and --management-hold are used together,
+ OpenVPN will daemonize before it enters the management hold state.
+
+ 2005.05.16 -- Version 2.0.1-rc2
+
+ * Modified vendor test in openvpn.spec file to match against
+ "Mandrakesoft" in addition to "MandrakeSoft".
+ * Using --iroute in a --client-config-dir file while in --dev tap
+ mode is not currently supported and will produce a warning
+ message. Fixed bug where in certain cases, in addition to
+ generating a warning message, this combination of options
+ would also produce a fatal assertion in mroute.c.
+ * Pass --auth-user-pass username to server-side plugin without
+ performing any string remapping (plugins, unlike scripts,
+ don't get any security benefit from string remapping).
+ This is intended to fix an issue with openvpn-auth-pam/pam_winbind
+ where backslash characters in a username ('\') were being remapped
+ to underscore ('_').
+ * Updated OpenSSL DLLs in Windows build to 0.9.7g.
+ * Documented --explicit-exit-notify in man page.
+ * --explicit-exit-notify seconds parameter defaults to 1 if
+ unspecified.
+
+ 2005.04.30 -- Version 2.0.1-rc1
+
+ * Fixed bug where certain kinds of fatal errors after
+ initialization (such as port in use) would leave plugin
+ processes (such as openvpn-auth-pam) still running.
+ * Added optional openvpn_plugin_abort_v1 plugin function for
+ closing initialized plugin objects in the event of a fatal
+ error by main OpenVPN process.
+ * When the --remote list is > 1, and --resolv-retry is not
+ specified (meaning that it defaults to "infinite"), apply the
+ infinite timeout to the --remote list as a whole, but try each
+ list item only once before moving on to the next item.
+ * Added new --syslog directive which redirects output
+ to syslog without requiring the use of the --daemon or --inetd
+ directives.
+ * Added openvpn.spec option to allow RPM to be built with support
+ for passwords read from a file:
+ rpmbuild -tb [openvpn.x.tar.gz] --define 'with_password_save 1'
+
+ 2005.04.17 -- Version 2.0
+
+ * Fixed minor options string typo in options.c.
+
+ 2005.04.10 -- Version 2.0-rc21
+
+ * Change license description from "GPL Version 2 or (at your
+ option) any later version" to just "GPL Version 2".
+
+ 2005.04.04 -- Version 2.0-rc20
+
+ * Dag Wieers has put together an OpenVPN/LZO binary RPM set with
+ excellent distro/version coverage for RH/EL/Fedora, though
+ using his own SPEC. I modified openvpn.spec to follow some of
+ the same conventions such as putting sample scripts and doc
+ files in %doc rather than /usr/share/openvpn.
+ * Minor change to init scripts to run the user-defined script
+ /etc/openvpn/openvpn-startup (if it exists) before any OpenVPN
+ configs are started, and to run /etc/openvpn/openvpn-shutdown
+ after all OpenVPN configs have been stopped. The
+ openvpn-startup script can be used for stuff like
+ insmod tun.o, setting up firewall rules, or starting
+ ethernet bridges.
+
+ 2005.03.29 -- Version 2.0-rc19
+
+ * Omit additions of routes where the network and
+ gateway are equal and the netmask is 255.255.255.255.
+ This can come up if you are using both
+ server/ifconfig-pool and client-config-dir with
+ ifconfig-push static addresses for some subset of clients
+ which directly reference the server IP address as the
+ remote endpoint.
+
+ 2005.03.28 -- Version 2.0-rc18
+
+ * Packaged Windows installer with OpenSSL 0.9.7f.
+ * Built Windows installer with NSIS 2.06.
+
+ 2005.03.12 -- Version 2.0-rc17
+
+ * "MANAGEMENT: CMD" log file output will now only occur
+ at --verb 7 or greater.
+ * Added an optional name/value configuration list to
+ the openvpn-auth-pam plugin module argument list. See
+ plugin/auth-pam/README for documentation. This is necessary
+ in order for openvpn-auth-pam to work with queries generated
+ by arbitrary PAM modules.
+ * In both auth-pam and down-root plugins, in the forked process,
+ a read error on the parent process socket is no longer fatal.
+ * MandrakeSoft liblzo1 RPM only Provides for a 'liblzo1'.
+ A conditional test of the vendor has been added to
+ Require the appropriately named 'lzo' (liblzo1 / lzo).
+ (Tom Walsh - http://openhardware.net)
+
+
+ 2005.02.20 -- Version 2.0-rc16
+
+ * Fixed bug introduced in rc13 where Windows service wrapper
+ would be installed with a startup type of Automatic.
+ This fix restores the previous behavior of installing
+ with a startup type of Manual.
+
+ 2005.02.19 -- Version 2.0-rc15
+
+ * Added warning when --keepalive is not used in a server
+ configuration.
+ * Don't include OpenSSL md4.h file if we are not building
+ NTLM proxy support (Waldemar Brodkorb).
+ * Added easy-rsa/build-key-pkcs12 and
+ easy-rsa/Windows/build-key-pkcs12.bat scripts
+ (Mathias Sundman).
+
+ 2005.02.16 -- Version 2.0-rc14
+
+ * Fixed small memory leak that occurs when --crl-verify
+ is used.
+ * Upgraded Windows installer and .nsi script to NSIS 2.05
+ (Mathias Sundman).
+ * Changed #include backslash usage in cryptoapi.c to use
+ forward slashes instead (Gisle Vanem).
+ * Created easy-rsa/revoke-full to handle revocations in
+ a single step: (a) revoke crt, (b) regenerate CRL, and
+ (c) verify that revocation succeeded.
+ * Renamed easy-rsa/Windows/revoke-key to revoke-full so
+ that both *nix and Windows scripts are equivalent.
+
+ 2005.02.11 -- Version 2.0-rc13
+
+ * Improve human-readability of local/remote options
+ diff, when inconsistencies are present.
+ * For Windows easy-rsa, distribute vars.bat.sample and
+ openssl.cnf.sample, then copy them to their normal
+ filenames (without the .sample) when init-config.bat
+ is run. This is to prevent OpenVPN upgrades from
+ wiping out vars.bat and openssl.cnf edits.
+ * Modified service wrapper (Windows) to use a
+ case-insensitive search when scanning for .ovpn files
+ in \Program Files\OpenVPN\config. Prior versions
+ required an all-lower-case .ovpn file extension.
+ * Miscellaneous service wrapper code cleanup.
+ * If --user/--group is used on Windows, treat it
+ as a no-op with a warning (this makes it easier to
+ distribute the same client config file to Windows
+ and *nix users).
+ * Warn if --ifconfig-pool-persist is used with
+ --duplicate-cn.
+
+ 2005.02.05 -- Version 2.0-rc12
+
+ * Removed some debugging code inadvertently included
+ in rc11 which would print the --auth-user-pass
+ username/password provided by clients in the server
+ logfile.
+ * Client code for cycling through --remote list will
+ retry the last address which successfully authenticated
+ before moving on through the list.
+ * Windows installer will now install sample configuration
+ files in \Program Files\OpenVPN\sample-configs as well
+ as generate a start menu shortcut to this directory.
+ * Minor type change in buffer.[ch] to work around char-type
+ ambiguity bug. Caused management interface lock-ups on
+ ARM when building with armv4b-hardhat-linux-gcc 2.95.3.
+
+ 2005.02.03 -- Version 2.0-rc11
+
+ * Windows installer will now install easy-rsa directory
+ in \Program Files\OpenVPN
+ * Allow syslog facility to be controlled at compile time,
+ e.g. -DLOG_OPENVPN=LOG_LOCAL6 (P Kern).
+ * Changed certain shell scripts in distribution to use
+ #!/bin/sh rather than #!/bin/bash for better portability.
+ * If --ifconfig-pool-persist seconds parameter is 0, treat
+ persist file as an allocation of fixed IP addresses
+ (previous versions took IP-to-common-name associations
+ from this list as hints, not mandatory static allocations).
+ * Fixed bug on *nix where if --auth-user-pass and --log
+ were used together, the username prompt would be sent to
+ the log file rather than /dev/tty.
+ * Spurious text in openvpn.8 detected by doclifter
+ (Eric S. Raymond).
+ * Call closelog later on daemon kill so that process
+ exit message is written to syslog.
+
+ 2005.01.27 -- Version 2.0-rc10
+
+ * When ./configure is run with plugins enabled (the default),
+ check whether or not dlopen exists in libc before testing
+ for libdl. This is to fix an issue on FreeBSD and possibly
+ other OSes which bundle libdl functions in libc.
+ * On Windows, filter initial WSAEINVAL warning which occurs
+ on the initial read attempt of an unbound socket.
+ * The easy-rsa scripts build-key, build-key-pass, and
+ build-key-server will now chmod the .key file
+ to 0600. This is in addition to the fact the generated
+ keys directory has always been similarly protected
+ (Pete Harlan).
+
+ 2005.01.23 -- Version 2.0-rc9
+
+ * Fixed error "ROUTE: route addition failed using
+ CreateIpForwardEntry ..." on Windows when --redirect-gateway
+ is used over a RRAS internet link.
+ * When using --route-method exe on Windows, include the
+ gateway parameter on route delete commands (Mathias Sundman).
+ * Try not to do a hard reset (i.e. SIGHUP) when two
+ SIGUSR1 signals are received in close succession.
+ * If the push list tries to grow beyond its buffer capacity,
+ the resulting error will be non-fatal.
+ * To increase the push list capacity (must be done on both
+ client and server), increase TLS_CHANNEL_BUF_SIZE in
+ common.h (default=1024).
+
+ 2005.01.15 -- Version 2.0-rc8
+
+ * Fixed bug introduced in rc7 where options error
+ "--auth-user-pass requires --pull" might occur even
+ if --pull was correctly specified.
+ * Changed management interface code to bind once
+ to TCP socket, rather than rebinding after every
+ client disconnect.
+ * Added "disable" directive for client-config-dir
+ files.
+ * Windows binary install is now distributed with
+ OpenSSL 0.9.7e.
+ * Query the management interface for --http-proxy
+ username/password if authfile is set to "stdin".
+ * Added current OpenVPN version number to "Unrecognized
+ option or missing parameter" error message.
+ * Added "-extensions server" to "openssl req" command
+ in easy-rsa/build-key-server (Nir Yeffet).
+
+ 2005.01.10 -- Version 2.0-rc7
+
+ * Fixed bug in management interface which could cause
+ 100% CPU utilization in --proto tcp-server mode
+ on all *nix OSes except for Linux 2.6.
+ * --ifconfig-push now accepts DNS names as well as
+ IP addresses.
+ * Added sanity check errors when --pull or
+ --auth-user-pass is used in an incorrect mode.
+ * Updated man page entries for --client-connect and
+ --ifconfig-push.
+ * Added "String Types and Remapping" section to man
+ page to consisely document the way which OpenVPN
+ may convert certain types of characters in strings
+ to ('_').
+ * Modified bridging description in HOWTO to emphasize
+ the fact that bridging allows Windows file and print
+ sharing without a WINS server (Charles Duffy).
+
+ 2004.12.20 -- Version 2.0-rc6
+
+ * Improved checking for epoll support in ./configure
+ to fix false positive on RH9 (Jan Just Keijser).
+ * Made the "MULTI TCP: I/O wait required blocking in
+ multi_tcp_action, action=7" error nonfatal and replaced
+ with "MULTI: Outgoing TUN queue full, dropped packet".
+ So far the issue only seems to occur on Linux 2.2
+ in --mode server --proto tcp mode. It occurs when
+ the TUN/TAP driver locks up and refuses to accept
+ new packet writes for a second or more.
+ * Fixed bug where if a --client-config-dir file tried
+ to include another file using "config", and if that
+ include failed, OpenVPN would abort with a fatal
+ error. Now such inclusion failures will be logged
+ but are no longer fatal.
+ * Global changes to the way that packet buffer alignment
+ is handled. Previously we didn't care about alignment
+ and took care, when handling 16 and 32 bit words
+ in buffers, to always use alignment-safe transfers.
+ This approach appears to be inadequate on some
+ architectures such as alpha. The new approach is
+ to initialize packet buffers in a way that anticipates
+ how component structures will be allocated within
+ them, to maintain correct alignment.
+ * Added --dhcp-option DISABLE-NBT to disable NetBIOS
+ over TCP (Jan Just Keijser).
+ * Added --http-proxy-option directive for controlling
+ miscellaneous HTTP proxy options.
+ * Management state will no longer transition to "WAIT"
+ during TLS renegotiations.
+
+ 2004.12.16 -- Version 2.0-rc5
+
+ * The --client-config-dir option will now try to open
+ a default file called "DEFAULT" if no file matching
+ the common name of the incoming client was found.
+ * The --client-connect script/plugin can now veto client
+ authentication by returning a failure code.
+ * The --learn-address script/plugin can now prevent a
+ client-instance/address association from being learned
+ by returning a failure code.
+ * Changed RPM group in .spec file to Applications/Internet.
+
+ 2004.12.14 -- Version 2.0-rc4
+
+ * SuSE only -- Fixed interaction between openvpn.spec and
+ suse/openvpn.init where the .spec file was writing the
+ OpenVPN binary to a different location than where the
+ .init script was referencing it (Stefan Engel).
+ * Solaris only -- Split Solaris ifconfig command into two
+ parts (Jan Just Keijser).
+ * Some cleanup in add_option().
+ * Better error checking on input dotted quad IP addresses.
+ * Verify that --push argument is quoted, if there is
+ more than one.
+ * More miscellaneous option sanity checks.
+
+ 2004.12.13 -- Version 2.0-rc3
+
+ * On Windows, when --log or --log-append is used,
+ save the original stderr for username and password
+ prompts.
+ * Fixed a bug introduced in the late 2.0 betas where
+ if a "verb" parameter >= 16 was used, it would be
+ ignored and the actual verb level would remain at 1.
+ * Fixed a bug mostly seen on OS X where --management-hold
+ or --management-query-passwords would cause the management
+ interface to be unresponsive to incoming client connections.
+ * Trigger an options error if one of the management-modifying
+ options is used without "management" itself.
+
+ 2004.12.12 -- Version 2.0-rc2
+
+ * Amplified warnings in documentation about possible
+ man-in-the-middle attack when clients do not properly
+ verify server certificate. Changes to easy-rsa README,
+ FAQ, HOWTO, man page, and sample client config file.
+ * Added a warning message if --tls-client or --client
+ is used without also specifying one of either
+ --ns-cert-type, --tls-remote, or --tls-verify.
+ * status_open() fixes for MSVC builds (Blaine Fleming).
+ * Fix attempt of "ntlm.c:55: error: `des_cblock' undeclared"
+ compiler error which has been reported on some platforms.
+ * The openvpn.spec file for rpmbuild has several
+ new build-time options. See comments in the file.
+ * Plugins are now built and packaged in the RPM and
+ will be saved in /usr/share/openvpn/plugin/lib.
+ * Added --management-hold directive to start OpenVPN
+ in a hibernating state until released by the
+ management interface. Also added "hold" command
+ to the management interface.
+
+ 2004.12.07 -- Version 2.0-rc1
+
+ * openvpn.spec workaround for SuSE confusion regarding
+ /etc/init.d vs. /etc/rc.d/init.d (Stefan Engel).
+
+ 2004.12.05 -- Version 2.0-beta20
+
+ * The ability to read --askpass and --auth-user-pass
+ passwords from a file has been disabled by default.
+ To re-enable, use ./configure --enable-password-save.
+ * Added additional pre-connected states to management
+ interface. See management/management-notes.txt
+ for more info.
+ * State history is now recorded by the management
+ interface, and the "state" command now works like
+ the log or echo commands.
+ * State history and real-time state change notifications
+ are now prepended with an integer unix timestamp.
+ * Added --http-proxy-timeout option, previously
+ the timeout was hardcoded to 5 seconds.
+
+ 2004.12.02 -- Version 2.0-beta19
+
+ * Fixed bug in management interface line termination
+ where output lines incorrectly contained a \00 char
+ after the customary \0d \0a.
+ * Fixed bug introduced in beta18 where Windows version
+ would segfault on options errors.
+ * Fixed bug in management interface where an empty
+ quoted string ("") entered as a parameter would cause
+ a segfault.
+ * Fixed bug where --resolv-retry was not working
+ properly with multiple --remote hosts.
+ * Added additional ./configure options to reduce
+ executable size for embedded applications.
+ See ./configure --help.
+
+ 2004.11.28 -- Version 2.0-beta18
+
+ * Added management interface. See new --management-*
+ options or the full management interface documentation
+ in management/management-notes.txt in the tarball.
+ Management interface inclusion can be disabled by
+ ./configure --disable-management.
+ * Added two new plugin modules: auth-pam and down-root.
+ Auth-pam supports pam-based authentication using a
+ split privilege execution model, while down-root enables
+ a down script to be executed with root privileges, even
+ when --user/--group is used to drop root privileges.
+ See the plugin directory in the tarball for READMEs,
+ source code, and Makefiles.
+ * Plugin developers should note that some changes were
+ made to the plugin interface since beta17. See
+ openvpn-plugin.h for details.
+ Plugin interface inclusion can be disabled with
+ ./configure --disable-plugins
+ * Added easy-rsa/build-key-server script which will
+ build a certificate with with nsCertType=server.
+ * Added --ns-cert-type option for verification
+ of nsCertType field in peer certificate.
+ * If --fragment n is specified and --mssfix is specified
+ without a parameter, default --mssfix to n. This restores
+ the 1.6 behavior when using --mssfix without a parameter.
+ * Fixed SSL context initialization bug introduced in beta14
+ where this error might occur on restarts: "Cannot load
+ certificate chain ... PEM_read_bio:no start line".
+
+ 2004.11.11 -- Version 2.0-beta17
+
+ * Changed default port number to 1194 per IANA official
+ port number assignment.
+ * Added --plugin directive which allows compiled
+ modules to intercept script callbacks. See
+ plugin folder in tarball for more info.
+ * Fixed bug introduced in beta12 where --key-method 1
+ authentications which should have succeeded would fail.
+ * Ignore SIGUSR1 during DNS resolution.
+ * Added SuSE support to openvpn.spec (Umberto Nicoletti).
+ * Fixed --cryptoapicert SUBJ: parsing bug (Peter 'Luna'
+ Runestig).
+
+ 2004.11.07 -- Version 2.0-beta16
+
+ * Modified sample-scripts/auth-pam.pl to get username
+ and password from OpenVPN via a file rather than
+ via environmental variables.
+ * Added bytes_sent and bytes_received environmental
+ variables to be set prior to client-disconnect script.
+ * Changed client virtual IP derivation precedence:
+ (1) use --ifconfig-push directive from --client-connect
+ script, (2) use --ifconfig-push directive from
+ --client-config-dir, and (3) use --ifconfig-pool
+ address.
+ * If a --client-config-dir file specifies --ifconfig-push,
+ it will be visible to the --client-connect-script in
+ the ifconfig_pool_remote_ip environmental variable.
+ * For tun-style tunnels, the ifconfig_pool_local_ip
+ environmental variable will be set, while for
+ tap-style tunnels, the ifconfig_pool_netmask variable
+ will be set.
+ * Added intelligence to autoconf script to test
+ compiler for the accepted form of zero-length arrays.
+ * Fixed a bug introduced in beta12 where --ip-win32
+ netsh would fail if --dev-node was not explicitly
+ specified.
+ * --ip-win32 netsh will now work on hidden adapters.
+ * Fix attempt of "Assertion failed at crypto.c:149".
+ This assertion has also been reported on 1.x with a
+ slightly different line number. The fix is twofold:
+ (1) In previous releases, --mtu-test may trigger this
+ assertion -- this bug has been fixed. (2) If something
+ else causes the assertion to be thrown, don't panic,
+ just output a nonfatal warning to the log and drop
+ the packet which generated the error.
+ * Support TAP interfaces on Mac OS X (Waldemar Brodkorb).
+ * Added --echo directive.
+ * Added --auth-nocache directive.
+
+ 2004.10.28 -- Version 2.0-beta15
+
+ * Changed environmental variable character classes
+ so that names must consist of alphanumeric or
+ underbar chars and values must consist of printable
+ characters. Illegal chars will be deleted.
+ Versions prior to 2.0-beta12 were more restrictive
+ and would map spaces to '.'.
+ * On Windows, when the TAP adapter fails to
+ initialize with the correct IP address, output
+ "Initialization Sequence Completed with Errors"
+ to the console or log file.
+ * Added a warning when user/group/chroot is used
+ without persist-tun and persist-key.
+ * Added cryptoapi.[ch] to tarball and source zip.
+ * --tls-remote option now works with common name
+ prefixes as well as with the full X509 subject
+ string. This is a useful alternative to using
+ a CRL on the client.
+ * common names associated with a static
+ --ifconfig-push setting will no longer leave
+ any state in the --ifconfig-pool-persist file.
+ * Hard TLS errors (TLS handshake failed) will now
+ trigger either a SIGUSR1 signal by default
+ or SIGTERM (if --tls-exit is specified). In TCP
+ mode, all TLS errors are considered to be hard.
+ In server mode, the signal will be local to the
+ client instance.
+ * Added method parameter to --auth-user-pass-verify
+ directive to select whether username/password
+ is passed to script via environment or a temporary
+ file.
+ * Added --status-version option to control format
+ of --status file. The --mode server
+ --status-version 2 format now includes a line
+ type token, the virtual IP address is shown
+ in the client list (even in --dev tap mode),
+ and the integer time_t value is shown anywhere
+ an ascii-formatted time/date is also shown.
+ * Added --remap-usr1 directive which can be used
+ to control whether internally or externally
+ generated SIGUSR1 signals are remapped to
+ SIGHUP (restart without persisting state) or
+ SIGTERM (exit).
+ * When running as a Windows service (using
+ --service option), check the exit event before
+ and after reading one line of input from
+ stdin, when reading username/password info.
+ * For developers: Extended the --gremlin function
+ to better stress-test the new 2.0 features,
+ added Valgrind support on Linux and Dmalloc
+ support on Windows.
+
+ 2004.10.19 -- Version 2.0-beta14
+
+ * Fixed a bug introduced in Beta12 that would occur
+ if you use a --client-connect script without also
+ defining --tmp-dir.
+ * Fixed a bug introduced in Beta12 where a learn-address
+ script might segfault on the delete method.
+ * Added Crypto API support in Windows version via
+ the --cryptoapicert option (Peter 'Luna' Runestig).
+
+ 2004.10.18 -- Version 2.0-beta13
+
+ * Fixed an issue introduced in Beta12 where the private
+ key password would not be prompted for unless --askpass
+ was explicitly specified in the config.
+
+ 2004.10.17 -- Version 2.0-beta12
+
+ * Added support for username/password-based authentication.
+ Clients can now authentication themselves with the server
+ using either a certificate, a username/password, or both.
+ New directives: --auth-user-pass, --auth-user-pass-verify,
+ --client-cert-not-required, and --username-as-common-name.
+ * Added NTLM proxy patch (William Preston).
+ * Added --ifconfig-pool-linear server flag to allocate
+ individual tun addresses for clients rather than /30
+ subnets (won't work with Windows clients).
+ * Modified --http-proxy code to cache username/password
+ across restarts.
+ * Modified --http-proxy code to read username/password
+ from the console when the auth file is given as "stdin".
+ * Modified --askpass to take an optional filename argument.
+ * --persist-tun and --persist-key now work in client mode
+ and can be pushed to clients as well.
+ * Added --ifconfig-pool-persist directive, to maintain
+ ifconfig-pool info in a file which is persistent across
+ daemon instantiations.
+ * --user and --group privilege downgrades as well as
+ --chroot now also work in client mode (the
+ dowgrade/chroot will be delayed until the initialization
+ sequence is completed).
+ * Added --show-engines standalone directive to show
+ available OpenSSL crypto accelerator engine support.
+ * --engine directive now accepts an optional engine-ID
+ parameter to control which engine is used.
+ * "Connection reset, restarting" log message now shows
+ which client is being reset.
+ * Added --dhcp-pre-release directive in Windows version.
+ * Second parm to --ip-win32 can be "default", e.g.
+ --ip-win32 dynamic default 60.
+ * Fixed documentation bug regarding environmental
+ variable settings for --ifconfig-pool IP addresses.
+ The correct environmental variable names are:
+ ifconfig_pool_local_ip and ifconfig_pool_remote_ip.
+ * ifconfig_pool_local_ip and ifconfig_pool_remote_ip
+ environmental variables are now passed to the
+ client-disconnect script.
+ * In server mode, environmental variables are now scoped
+ according to the client they are associated with,
+ to solve the problem of "crosstalk" between different
+ client's environmental variable sets.
+ * Added --down-pre flag to cause --down script to be
+ called before TUN/TAP close (rather than after).
+ * Added --tls-exit flag which will cause OpenVPN
+ to exit on any TLS errors.
+ * Don't push a route to a client if it exactly
+ matches an iroute (this lets you push routes to
+ all clients, and OpenVPN will automatically remove
+ the route from the route push list only for that client
+ which the route actually belongs to).
+ * Made '--resolv-retry infinite' the default.
+ --resolv-retry can be disabled by using a parameter of 0.
+ * For clients which plan to pull config info from server,
+ set an initial default ping-restart of 60 seconds.
+ * Optimized mute code to lessen the load on the processor
+ when messages are being muted at a higher frequency.
+ * Made route log messages non-mutable.
+ * Silence the Linux "No buffer space available" message.
+ * Added miscellaneous additional option sanity checks.
+ * Added Windows version of easy-rsa scripts in
+ easy-rsa/Windows directory (Andrew J. Richardson).
+ * Added NetBSD route patch (Ed Ravin).
+ * Added OpenBSD patch for TAP + --redirect-gateway
+ (Waldemar Brodkorb).
+ * Directives which prompt for a username and/or password
+ will now work with --daemon (OpenVPN will prompt
+ before forking).
+ * Warn if CRL is from a different issuer than the
+ issuer of the peer certificate (Bernhard Weisshuhn).
+ * Changed init script chkconfig parameters to start
+ OpenVPN daemon(s) before NFS.
+ * Bug fix attempt of "too many I/O wait events" which occurs
+ on OSes which prefer select() over poll() such as Mac OS X.
+ * Added --ccd-exclusive flag. This flag will require, as a
+ condition of authentication, that a connecting client has
+ a --client-config-dir file.
+ * TAP-Win32 open code will attempt to open a free adapter
+ if --dev-node is not specified (Mathias Sundman).
+ * Resequenced --nice and --chroot ordering so that --nice
+ occurs first.
+ * Added --suppress-timestamps flag (Charles Duffy).
+ * Source code changes to allow compilation by MSVC
+ (Peter 'Luna' Runestig).
+ * Added experimental --fast-io flag which optimizes
+ TUN/TAP/UDP writes on non-Windows systems.
+
+ 2004.08.18 -- Version 2.0-beta11
+
+ * Added --server, --server-bridge, --client, and
+ --keepalive helper directives. See client.conf
+ and server.conf in sample-config-files for sample
+ configurations which use the new directives.
+ * On Windows, added --route-method to control
+ whether IP Helper API or route.exe is used
+ to add/delete routes.
+ * On Windows, added a second parameter to
+ --route-delay to control the maximum time period
+ to wait for the TAP-Win32 adapter to come up
+ before adding routes.
+ * Fixed bug in Windows version where configurations
+ which omit --ifconfig might fail to recognize when
+ the TAP adapter is up.
+ * Proxy connection failures will now retry according
+ to the --connect-retry parameter.
+ * Fixed --dev null handling on Windows so that TLS
+ loopback test described in INSTALL file works
+ correctly on Windows.
+ * Added "Initialization Sequence Completed" message
+ after all initialization steps have been completed
+ and the VPN can be considered "up".
+ * Better sanity-checking on --ifconfig-pool parameters.
+ * Added --tcp-queue-limit option to control
+ TUN/TAP -> TCP socket overflow.
+ * --ifconfig-nowarn flag will now silence general
+ warnings about possible --ifconfig address
+ conflicts, including the warning about --ifconfig
+ and --remote addresses being in same /24 subnet.
+ * Fixed case where server mode did not correctly
+ identify certain types of ethernet multicast packets
+ (Marcel de Kogel).
+ * Added --explicit-exit-notify option (experimental).
+
+ 2004.08.02 -- Version 2.0-beta10
+
+ * Fixed possible reference after free of option strings
+ after a restart, bug was introduced in beta8.
+ * Fixed segfault at route.c:919 in the beta9
+ Windows version that was being caused by indirection
+ through a NULL pointer.
+ * Mistakenly built debug version of TAP-Win32 driver
+ for beta9. Beta10 has correct release build.
+
+ 2004.07.30 -- Version 2.0-beta9
+
+ * Fixed --route issue on Windows that was introduced with
+ the new beta8 route implementation based on the
+ IP Helper API.
+
+ 2004.07.27 -- Version 2.0-beta8
+
+ * Added TCP support in server mode.
+ * Added PKCS #12 support (Mathias Sundman).
+ * Added patch to make revoke-crt and make-crl work
+ seamlessly within the easy-rsa environment (Jan Kiszka).
+ * Modified --mode server ethernet bridge code to forward
+ special IEEE 802.1d MAC Groups, i.e. 01:80:C2:XX:XX:XX.
+ * Added --dhcp-renew and --dhcp-release flags to Windows
+ version. Normally DHCP renewal and release on the TAP
+ adapter occurs automatically under Windows, however
+ if you set the TAP-Win32 adapter Media Status property
+ to "Always Connected", you may need these flags.
+ * Added --show-net standalone flag to Windows version to
+ show OpenVPN's view of the system adapter and routing
+ tables.
+ * Added --show-net-up flag to Windows version to output
+ the system routing table and network adapter list to
+ the log file after the TAP-Win32 adapter has been brought
+ up and any routes have been added.
+ * Modified Windows version to add routes using the IP Helper
+ API rather than by calling route.exe.
+ * Fixed bug where --route-up script was not being called
+ if no --route options were specified.
+ * Added --mute-replay-warnings to suppress packet replay
+ warnings. This is a common false alarm on WiFi nets.
+ * Added "def1" flag to --redirect-gateway option to override
+ the default gateway by using 0.0.0.0/1 and 128.0.0.0/1
+ rather than 0.0.0.0/0. This has the benefit of overriding
+ but not wiping out the original default gateway.
+ (Thanks to Jim Carter for pointing out this idea).
+ * You can now run OpenVPN with a single config file argument.
+ For example, you can now say "openvpn config.conf"
+ rather than "openvpn --config config.conf".
+ * On Windows, made --route and --route-delay more adaptive
+ with respect to waiting for interfaces referenced by the
+ route destination to come up. Routes added by --route
+ should now be added as soon as the interface comes up,
+ rather than after an obligatory 10 second delay. The
+ way this works internally is that --route-delay now
+ defaults to 0 on Windows. Previous versions would
+ wait for --route-delay seconds then add the routes.
+ This version will wait --route-delay seconds and then
+ test the routing table at one second intervals for the
+ next 30 seconds and will not add the routes until they
+ can be added without errors.
+ * On Windows, don't setsockopt SO_SNDBUF or SO_RCVBUF by
+ default on TCP/UDP socket in light of reports that this
+ action can have undesirable global side effects on the
+ MTU settings of other adapters. These parameters can
+ still be set, but you need to explicitly specify
+ --sndbuf and/or --rcvbuf.
+ * Added --max-clients option to limit the maximum number
+ of simultaneously connected clients in server mode.
+ * Added error message to illuminate shell escape gotcha when
+ single backslashes are used in Windows path names.
+ * Added optional netmask parm to --ifconfig-pool.
+ * Fixed bug where http-proxy connect retry attempts were
+ incorrectly going to the remote OpenVPN server,
+ not to the HTTP proxy server.
+
+ 2004.06.29 -- Version 2.0-beta7
+
+ * Fixed bug in link_socket_verify_incoming_addr() which
+ under certain circumstances could have caused --float
+ behavior even if --float was not specified.
+ * --tls-auth option now works with --mode server.
+ All clients and the server should use the same
+ --tls-auth key when operating in client/server mode.
+ * Added --engine option to make use of OpenSSL-supported
+ crypto acceleration hardware.
+ * Fixed some high verbosity print format size issues
+ in event.c for 64 bit platforms (Janne Johansson).
+ * Made failure to open --log or --log-append file
+ a non-fatal error.
+
+ 2004.06.23 -- Version 2.0-beta6
+
+ * Fixed Windows installer to intelligently put
+ up a reboot dialog only if tapinstall tells
+ us that it's really necessary.
+ * Fixed "Assertion failed at fragment.c:309"
+ bug when --mode server and --fragment are used
+ together.
+ * Ignore HUP, USR1, and USR2 signals during
+ initialization. Prior versions would abort.
+ * Fixed bug on OS X: "Assertion failed at event.c:406".
+ * Added --service option to Windows version, for use
+ when OpenVPN is being programmatically instantiated
+ by another process (see man page for info).
+ * --log and --log-append options now work on Windows.
+ * Update OpenBSD INSTALL notes (Janne Johansson).
+ * Enable multicast on tun interface when running on
+ OpenBSD (Pavlin Radoslavov).
+ * Fixed recent --test-crypto breakage, where options
+ such as --cipher were not being parsed correctly.
+ * Modified options compatibility string by removing
+ ifconfig substring if it is empty. Incremented
+ options compatibility string version number to 4.
+ * Fixed typo in --tls-timeout option parsing
+ (Mikael Lonnroth).
+
+ 2004.06.13 -- Version 2.0-beta5
+
+ * Fixed rare --mode server crash that could occur
+ if data was being routed to a client at
+ high bandwidth at the precise moment that the
+ client instance object on the server was being
+ deleted.
+ * Fixed issue on machines which have epoll.h and
+ the epoll_create glibc call defined, but which
+ don't actually implement epoll in the kernel.
+ OpenVPN will now gracefully fall back to the
+ poll API in this case.
+ * Fixed Windows bug which would cause the following
+ error in a --mode server --dev tap configuration:
+ "resource limit WSA_MAXIMUM_WAIT_EVENTS has been
+ exceeded".
+ * Added CRL (certificate revocation list) management
+ scripts to easy-rsa directory (Jon Bendtsen).
+ * Do a better job of getting the ifconfig component
+ of the options consistency check to work correctly
+ when --up-delay is used.
+ * De-inlined some functions which were too complex
+ to be inlined anyway with gcc.
+ * If a --dhcp-option option is pushed to a non-windows
+ client, the option will be saved in the client's
+ environment before the --up script is called, under
+ the name "foreign_option_{n}".
+ * Added --learn-address script (see man page) which
+ allows for firewall access through the VPN to be
+ controlled based on the client common name.
+ * In mode --server mode, when a client connects to
+ the server, the server will disconnect any
+ still-active clients which use the same common
+ name. Use --duplicate-cn flag to revert to
+ previous behavior of allowing multiple clients
+ to concurrently connect with the same common name.
+
+ 2004.06.08 -- Version 2.0-beta4
+
+ * Fixed issue with beta3 where Win32 service wrapper
+ was keying off of old TAP HWID as a dependency. To
+ ensure that the new service wrapper is correctly
+ installed, the Windows install script will uninstall
+ the old wrapper before installing the new one,
+ causing a reset of service properties.
+ * Fixed permissions issue on --status output file,
+ with default access permissions of owner read/write
+ only (default permissions can be changed of course with
+ chmod).
+
+ 2004.06.05 -- Version 2.0-beta3
+
+ * More changes to TAP-Win32 driver's INF file which
+ affects the placement of the driver in the Windows
+ device namespace. This is done to work around an
+ apparent bug in Windows when short HWIDs are used,
+ and will also ease the upgrade from 1.x to 2.0 by
+ reducing the chances that a reboot will be needed
+ on upgrade. Like beta2, this upgrade will
+ delete existing TAP-Win32 interfaces, and reinstall
+ a single new interface with default properties.
+ * Major rewrite of I/O event wait layer in the style
+ of libevent. This is a precursor to TCP support
+ in --mode server.
+ * New feature: --status. Outputs a SIGUSR2-like
+ status summary to a given file, updated once
+ per n seconds. The status file is comma delimited
+ for easy machine parsing.
+ * --ifconfig-pool now remembers common names and
+ will try to assign a consistent IP to a given
+ common name. Still to do: persist --ifconfig-pool
+ memory across restarts by saving state in file.
+ * Fixed bug in event timer queue which could cause
+ recurring timer events such as --ping to not
+ correctly schedule again after firing. This in
+ turn would cause spurrious ping restarts and possible
+ connection outages. Thanks to Denis Vlasenko for
+ tracking this down.
+ * Possible fix to reported bug where --daemon argument
+ was not printing to syslog correctly after restart.
+ * Fixed bug where pulling --route or --dhcp-option
+ directives from a server would problematically
+ interact with --persist-tun on the client.
+ * Updated contrib/multilevel-init.patch (Farkas Levente).
+ * Added RPM build option to .spec and .spec.in files
+ to optionally disable LZO inclusion (Ian Pilcher).
+ * The latest MingW runtime and headers define
+ 'ssize_t', so a patch is needed (Gisle Vanem).
+
+ 2004.05.14 -- Version 2.0-beta2
+
+ * Fixed signal handling bug in --mode server, where
+ SIGHUP and SIGUSR1 were treated as SIGTERM.
+ * Changed the TAP-Win32 HWID from "TAP" to "TAPDEV".
+ Apparently the larger string may work around
+ a problem where the TAP adapter is sometimes missing
+ from the network connections panel, especially under
+ XP SP2. Also note that installing this upgrade will
+ uninstall any pre-existing TAP-Win32 adapters, and then
+ install a single new adapter, meaning that old adapter
+ properties will be lost. Thanks to Md5Chap for solving
+ this one.
+ * For --mode server --dev tap, the options --ifconfig and
+ --ifconfig-pool are now optional. This allows address
+ assignment via DHCP or use of a TAP VPN without
+ IP support, as has always been possible with 1.x.
+ * Fixed bug where --ifconfig may not work correctly on
+ Linux 2.2.
+ * Added 'local' flag to --redirect-gateway for use on
+ networks where both OpenVPN daemons are connected
+ to a shared subnet, such as wireless.
+
+ 2004.05.09 -- Version 2.0-beta1
+
+ * Unchanged from test29 except for version number
+ upgrade.
+
+ 2004.05.08 -- Version 2.0-test29
+
+ * Modified --dev-node on Windows to accept a TAP-Win32
+ GUID name. In addition, --show-adapters will now
+ display the high-level name and GUID of each adapter.
+ This is an attempt to work around an issue in Windows
+ where sometimes the TAP-Win32 adapter installs correctly
+ but has no icon in the network connections control
+ panel. In such cases, being able to specify
+ --dev-node {TAP-GUID} can work around the missing icon.
+
+ 2004.05.07 -- Version 2.0-test28
+
+ * Fixed bug which could cause segfault on program
+ shutdown if --route and --persist-tun are used
+ together.
+
+ 2004.05.06 -- Version 2.0-test27
+
+ * Fixed bug in close_instance() which might cause
+ memory to be accessed after it had already been freed.
+ * Fixed bug in verify_callback() that might have
+ caused uninitialized data to be referenced.
+ * --iroute now allows full CIDR subnet routing.
+ * In "--mode server --dev tun" usage, source addresses
+ on VPN packets coming from a particular client must
+ be associated with that client in the OpenVPN internal
+ routing table.
+
+ 2004.04.28 -- Version 2.0-test26
+
+ * Optimized broadcast path in multi-client mode.
+ * Added socket buffer size options --rcvbuf & --sndbuf.
+ * Configure Linux tun/tap driver to use a more sensible
+ txqueuelen default. Also allow explicit setting
+ via --txqueuelen option (Harald Roelle).
+ * The --remote option now allows the port number
+ to be specified as the second parameter. If
+ unspecified, the port number defaults to the
+ --rport value.
+ * Multiple --remote options on the client can now be
+ specified for load balancing and failover. The
+ --remote-random flag can be used to initially randomize
+ the --remote list for basic load balancing.
+ * If a remote DNS name resolves to multiple DNS addresses,
+ one will be chosen by random as a kind of basic
+ load-balancing feature if --remote-random is used.
+ * Added --connect-freq option to control maximum
+ new connection frequency in multi-client mode.
+ * In multi-client mode, all syslog messages associated
+ with a specific client now include a client-ID prefix.
+ * For Windows, use a gettimeofday() function based
+ on QueryPerformanceCounter (Derek Burdick).
+ * Fixed bug in interaction between --key-method 2
+ and DES ciphers, where dynamic keys would be generated
+ with bad parity and then be rejected.
+
+ 2004.04.17 -- Version 2.0-test24
+
+ * Reworked multi-client broadcast handling.
+
+ 2004.04.13 -- Version 2.0-test23
+
+ * Fixed bug in --dev tun --client-to-client routing.
+ * Fixed a potential deadlock in --pull.
+ * Fixed a problem with select() usage which could
+ cause a repeating sequence of "select : Invalid
+ argument (code=22)"
+
+ 2004.04.11 -- Version 2.0-test22
+
+ * Fixed bug where --mode server + --daemon was
+ prematurely closing syslog connection.
+ * Added support for --redirect-gateway on Mac OS X
+ (Jeremy Apple).
+ * Minor changes to TAP-Win32 driver based on feedback
+ from the NDISTest tool.
+
+ 2004.04.11 -- Version 2.0-test21
+
+ * Optimizations in multi-client server event loop.
+
+ 2004.04.10 -- Version 2.0-test20
+
+ * --mode server capability now works with either tun
+ or tap interfaces. When used with tap interfaces,
+ OpenVPN will internally bridge all client tap
+ interfaces with the server tap interface.
+ * Connecting clients can now have a client-specific
+ configuration on the server, based on the client
+ common name embedded in the client certificate.
+ See --client-config-dir and --client-connect.
+ These options can be used to configure client-specific
+ routes.
+ * Added an option --client-to-client that enables
+ internal client-to-client routing or bridging.
+ Otherwise, clients will only "see" the server,
+ not other connected clients.
+ * Fixed bug in route scheduling which would have caused
+ --mode server to not work on Windows in test18
+ and test19 with the sample config file.
+ * Man page is up to date with all new options.
+ * OpenVPN 2.0 release notes on web site updated
+ with tap-style tunnel examples.
+
+ 2004.04.02 -- Version 2.0-test19
+
+ * Fixed bug where routes pushed from server were
+ not working correctly on Windows clients.
+ * Added Mac OS X route patch (Jeremy Apple).
+
+ 2004.03.30 -- Version 2.0-test18
+
+ * Minor fixes + Windows self-install modified
+ to use OpenSSL 0.9.7d.
+
+ 2004.03.29 -- Version 2.0-test17
+
+ * Fixed some bugs related to instance timeout and deletion.
+ * Extended --push/--pull option to support additional
+ option classes.
+
+ 2004.03.28 -- Version 2.0-test16
+
+ * Successful test of --mode udp-server, --push,
+ --pull, and --ifconfig-pool with server on
+ Linux 2.4 and clients on Linux and Windows.
+
+ 2004.03.25 -- Version 2.0-test15
+
+ * Implemented hash-table lookup of client instances
+ based either on remote UDP address/port or remote
+ ifconfig endpoint.
+ * Implemented a randomized binary tree based
+ scheduler for scalably scheduling a large number
+ of client instance events. Uses the treap
+ data structure and node rotation algorithm
+ to keep the tree balanced.
+ * Initial implementation of ifconfig-pool.
+ * Made --key-method 2 the default.
+
+ 2004.03.20 -- Version 2.0-test14
+
+ * Implemented --push and --pull.
+
+ 2004.03.20 -- Version 2.0-test13
+
+ * Reduced struct tls_multi and --single-session
+ memory footprint.
+ * Modified --single-session flag to be used
+ in multi-client UDP server client instances.
+
+ 2004.03.19 -- Version 2.0-test12
+
+ * Added the key multi-client UDP server options,
+ --mode, --push, --pull, and --ifconfig-pool.
+ * Revamped GC (garbage collection) code to not rely
+ on any global data.
+ * Modifications to thread.[ch] to allow a more
+ flexible thread model.
+
+ 2004.03.16 -- Version 2.0-test11
+
+ * Moved all timer code to interval.h, added new file
+ interval.c.
+ * Fixed missing include.
+
+ 2004.03.16 -- Version 2.0-test10
+
+ * More TAP-Win32 fixes.
+ * Initial debugging and testing of multi.[ch].
+
+ 2004.03.14 -- Version 2.0-test9
+
+ * Branch merge with 1.6-rc3
+ * More point-to-multipoint work in multi.[ch].
+ * Major TAP-Win32 driver restructuring to use
+ NdisMRegisterDevice instead of
+ IoCreateDevice/IoCreateSymbolicLink.
+ * Changed TAP-Win32 symbolic links to use \DosDevices\Global\
+ pathname prefix.
+ * In the majority of cases, TAP-Win32 should now be
+ able to install and uninstall on Win2K without requiring
+ a reboot.
+ * TAP-Win32 MAC address can now be explicitly set in the
+ adapter advanced properties page.
+
+ 2004.03.04 -- Version 2.0-test8
+
+ * Branch merge with 1.6-rc2.
+
+ 2004.03.03 -- Version 2.0-test7
+
+ * Branch merge with 1.6-rc1.2.
+
+ 2004.03.02 -- Version 2.0-test6
+
+ * Branch merge with 1.6-rc1.
+
+ 2004.03.02 -- Version 2.0-test5
+
+ * Move Socks5 UDP header append/remove to socks.c, and is
+ called from forward.c.
+ * Moved verify statics from ssl.c into struct tls_session.
+ * Wrote multi.[ch] to handle top level of point-to-multipoint
+ mode.
+ * Wrote some code to allow a struct link_socket in a child context
+ to be slaved to the parent context.
+ * Broke up packet read and process functions in forward.c
+ (from socket or tuntap) into separate functions for read
+ and process, so that point-to-point and point-to-multipoint can
+ share the same code.
+ * Expand TLS control channel to allow the passing of configuration
+ commands.
+ * Wrote mroute.[ch] to handle internal packet routing for
+ point-to-multipoint mode.
+
+ 2004.02.22 -- Version 2.0-test3
+
+ * Initial work on UDP multi-client server.
+ * Branch merge of 1.6-beta7
+
+ 2004.02.14 -- Version 2.0-test2
+
+ * Refactorization of openvpn.c into openvpn.[ch]
+ init.[ch] forward.[ch] forward-inline.h
+ occ.[ch] occ-inline.h ping.[ch] ping-inline.h
+ sig.[ch]. Created a master per-tunnel
+ struct context in openvpn.h.
+ * Branch merge of 1.6-beta6.2
+
+ 2003.11.06 -- Version 2.0-test1
+
+ * Initial testbed for 2.0.
+ ```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9