Don't assume sa.sa_family is a short int.
[tinc] / README
diff --git a/README b/README
index d368fc8..102774c 100644 (file)
--- a/README
+++ b/README
@@ -1,37 +1,89 @@
-This is the README file for tinc version 1.0.
-Installation instructions may be found in the INSTALL file.
+This is the README file for tinc version 1.1pre11. Installation
+instructions may be found in the INSTALL file.
 
-tinc is Copyright (C) 1998,1999,2000 Ivo Timmermans <zarq@iname.com> and
-others. For a complete list of authors see the AUTHORS file.
-This product includes software developed by Eric Young (eay@mincom.oz.au)
+tinc is Copyright © 1998-2016 Ivo Timmermans, Guus Sliepen <guus@tinc-vpn.org>, and others.
+
+For a complete list of authors see the AUTHORS file.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 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 version of tinc relies on the GNU Multi-Precision Library
-(gmp). This library is available from your nearest GNU mirror. Please
-install this first even before trying to run configure. If you don't
-do this, configure will (hopefully) mention it to you.
-
-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 this version, MAC addresses are stripped off before encoding and
-sending a packet. When the packet reaches its destination, the MAC
-addresses are rebuilt again. They then have the form
-FE:FD:aa:bb:cc:dd. aa, bb, cc and dd are taken from the destination
-and source IP address.
-
-tincd regenerates its encryption key pairs. It does this on the first
-activity after the keys have expired. This period is adjustable in the
-configuration file, and the default time is 3600 seconds (one
-hour). If you send a USR2 signal to the daemon, it'll regenerate
-immediately.
+
+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 tinc program may still change, and the control socket
+protocol is not fixed yet.
+
+
+Security statement
+------------------
+
+This version uses an experimental and unfinished cryptographic protocol. Use it
+at your own risk.
+
+
+Compatibility
+-------------
+
+Version 1.1pre11 is compatible with 1.0pre8, 1.0 and later, but not with older
+versions of tinc.
+
+When the ExperimentalProtocol option is used, tinc is still compatible with
+1.0.X and 1.1pre11 itself, but not with any other 1.1preX version.
+
+
+Requirements
+------------
+
+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:
+
+- LibreSSL (http://www.libressl.org/) or OpenSSL (https://openssl.org/) version 1.0.0 or later.
+
+The following libraries are used by default, but can be disabled if necessary:
+
+- zlib (http://www.zlib.net/)
+- LZO (https://www.oberhumer.com/opensource/lzo/)
+- ncurses (http://invisible-island.net/ncurses/)
+- readline (https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
+
+
+Features
+--------
+
+Tinc is a peer-to-peer VPN daemon that supports VPNs with an arbitrary number
+of nodes. Instead of configuring tunnels, you give tinc the location and
+public key of a few nodes in the VPN. After making the initial connections to
+those nodes, tinc will learn about all other nodes on the VPN, and will make
+connections automatically. When direct connections are not possible, data will
+be forwarded by intermediate nodes.
+
+Tinc 1.1 support two protocols. The first is a legacy protocol that provides
+backwards compatibility with tinc 1.0 nodes, and which by default uses 2048 bit
+RSA keys for authentication, and encrypts traffic using Blowfish in CBC mode
+and HMAC-SHA1. The second is a new protocol which uses Curve25519 keys for
+authentication, and encrypts traffic using Chacha20-Poly1305, and provides
+forward secrecy.
+
+Tinc fully supports IPv6.
+
+Tinc can operate in several routing modes. In the default mode, "router", every
+node is associated with one or more IPv4 and/or IPv6 Subnets. The other two
+modes, "switch" and "hub", let the tinc daemons work together to form a virtual
+Ethernet network switch or hub.
+
+Normally, when started tinc will detach and run in the background. In a native
+Windows environment this means tinc will install itself as a service, which will
+restart after reboots.  To prevent tinc from detaching or running as a service,
+use the -D option.
+
+The status of the VPN can be queried using the "tinc" command, which connects
+to a running tinc daemon via a control connection. The same tool also makes it
+easy to start and stop tinc, and to change its configuration.