Releasing 1.1pre1.
[tinc] / README
diff --git a/README b/README
index d75d7f6..77057b0 100644 (file)
--- a/README
+++ b/README
@@ -1,10 +1,10 @@
-This is the README file for tinc version 1.0pre7. Installation
+This is the README file for tinc version 1.1pre1. Installation
 instructions may be found in the INSTALL file.
 
-tinc is Copyright (C) 1998-2002 by:
+tinc is Copyright (C) 1998-2011 by:
 
-Ivo Timmermans <itimmermans@bigfoot.com>,
-Guus Sliepen <guus@sliepen.warande.net>,
+Ivo Timmermans,
+Guus Sliepen <guus@tinc-vpn.org>,
 and others.
 
 For a complete list of authors see the AUTHORS file.
@@ -15,6 +15,17 @@ the Free Software Foundation; either version 2 of the License, or (at
 your option) any later version. See the file COPYING for more details.
 
 
+This is a pre-release
+---------------------
+
+Please note that this is NOT a stable release. Until version 1.1.0 is released,
+please use one of the 1.0.x versions if you need a stable version of tinc.
+
+Although tinc 1.1 will be protocol compatible with tinc 1.0.x, the
+functionality of the tincctl program may still change, and the control socket
+protocol is not fixed yet.
+
+
 Security statement
 ------------------
 
@@ -31,37 +42,44 @@ launch a denial of service attack by replaying intercepted packets. The current
 version adds sequence numbers and message authentication codes to prevent such
 attacks.
 
+On September the 15th of 2003, Peter Gutmann contacted us and showed us a
+writeup describing various security issues in several VPN daemons. He showed
+that tinc lacks perfect forward security, the connection authentication could
+be done more properly, that the sequence number we use as an IV is not the best
+practice and that the default length of the HMAC for packets is too short in
+his opinion. We do not know of a way to exploit these weaknesses, but we will
+address these issues in tinc 2.0.
+
 Cryptography is a hard thing to get right. We cannot make any
 guarantees. Time, review and feedback are the only things that can
 prove the security of any cryptographic product. If you wish to review
 tinc or give us feedback, you are stronly encouraged to do so.
 
 
-Changes to configuration file format since 1.0pre5
---------------------------------------------------
+Compatibility
+-------------
 
-Some configuration variables have different names now. Most notably "TapDevice"
-should be changed into "Device", and "Device" should be changed into
-"BindToDevice".
+Version 1.1pre1 is compatible with 1.0pre8, 1.0 and later, but not with older
+versions of tinc.
 
 
 Requirements
 ------------
 
-Since 1.0pre3, we use OpenSSL for all cryptographic functions.  So you
-need to install this library first; grab it from
-http://www.openssl.org/.  We recommend version 0.9.5 or better.  If
-this library is not installed on you system, configure will fail.  The
-manual in doc/tinc.texi contains more detailed information on how to
-install this library.
+Either OpenSSL (http://www.openssl.org/) or libgcrypt
+(http://www.gnupg.org/download/#libgcrypt).
 
-Since 1.0pre6, the zlib library is used for optional compression. You need this
-library whether or not you plan to enable the compression. You can find it at
-http://www.gzip.org/zlib/. Because of a possible exploit in earlier versions we
-recommand that you download version 1.1.4 or later.
+The zlib library is used for optional compression. You can find it at
+http://www.gzip.org/zlib/.
 
-In order to compile tinc, you will also need autoconf, automake, GNU make, m4
-and gettext.
+The lzo library is also used for optional compression. You can find it at
+http://www.oberhumer.com/opensource/lzo/.
+
+Since 1.1, the libevent library is used for the main event loop. You can find
+it at http://monkey.org/~provos/libevent/.
+
+In order to compile tinc, you will need a GNU C compiler environment. Please
+ensure you have the latest stable versions of all the required libraries.
 
 
 Features
@@ -70,17 +88,7 @@ Features
 This version of tinc supports multiple virtual networks at once. To
 use this feature, you may supply a netname via the -n or --net
 options. The standard locations for the config files will then be
-/etc/tinc/<net>/. Because of this feature, tinc will send packets
-directly to their destinations, instead of to the uplink. If this
-behaviour is undesirable (for instance because of firewalls or other
-restrictions), please use an older version of tinc (I would recommend
-tinc-0.2.19).
-
-In order to force the kernel to accept received packets, the
-destination MAC address will be set to FE:FD:00:00:00:00 upon
-reception. The MAC address of the ethertap or tun/tap interface must
-also be set to this address. See the manual for more detailed
-information.
+/etc/tinc/<net>/.
 
 tincd regenerates its encryption key pairs. It does this on the first
 activity after the keys have expired. This period is adjustable in the
@@ -96,7 +104,7 @@ Since pre5, tinc can operate in several routing modes. The default mode,
 determine the destination of packets. The other two modes, "switch" and "hub",
 allow the tinc daemons to work together like a single network switch or hub.
 This is useful for bridging networks. The latter modes only work properly on
-Linux and FreeBSD.
+Linux, FreeBSD and Windows.
 
 The algorithms used for encryption and generating message authentication codes
 can now be changed in the configuration files. All cipher and digest algorithms
@@ -107,11 +115,16 @@ etcetera.
 Support for routing IPv6 packets has been added. Just add Subnet lines with
 IPv6 addresses (without using :: abbreviations) and use ifconfig or ip (from
 the iproute package) to give the virtual network interface corresponding IPv6
-addresses. Autoconfiguration will not work in router mode. Tunneling IPv6
-packets only works on Linux, FreeBSD and possibly OpenBSD.
-
-It is also possible to make tunnels to other tinc daemons over IPv6 networks.
-In order to enable this feature the option "AddressFamily = any" or
-"AddressFamily = ipv6" must be added to the tinc.conf file. The host
-configuration files should contain IPv6 addresses for the "Address" variables,
-or hostnames which have an AAAA or A6 record.
+addresses. tinc does not provide autoconfiguration for IPv6 hosts, if you need
+it use radvd or zebra.
+
+It is also possible to make tunnels to other tinc daemons over IPv6 networks,
+if the operating system supports IPv6.  tinc will automatically use both IPv6
+and IPv4 when available, but this can be changed by adding the option
+"AddressFamily = ipv4" or "AddressFamily = ipv6" to the tinc.conf file.
+
+Normally, when started tinc will detach and run in the background. In a native
+Windows environment this means tinc will intall itself as a service, which will
+restart after reboots.  To prevent tinc from detaching or running as a service,
+use the -D option.
+