Don't use sa_sigaction (which NetBSD doesn't like) at all if we don't use siginfo.
[tinc] / README
diff --git a/README b/README
index 46deda8..818a8d0 100644 (file)
--- a/README
+++ b/README
-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.0pre5. Installation
+instructions may be found in the INSTALL file.
 
 
-tinc is Copyright (C) 1998,1999,2000 Ivo Timmermans
-<itimmermans@bigfoot.com>, Guus Sliepen <guus@sliepen.warande.net> 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 (C) 1998-2002 by:
+
+Ivo Timmermans <itimmermans@bigfoot.com>,
+Guus Sliepen <guus@sliepen.warande.net>,
+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 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.
+
+Security statement
+------------------
+
+In August 2000, we discovered the existence of a security hole in all versions
+of tinc up to and including 1.0pre2. This had to do with the way we exchanged
+keys. Since then, we have been working on a new authentication scheme to make
+tinc as secure as possible. The current version uses the OpenSSL library and
+uses strong authentication with RSA keys.
+
+On the 29th of December 2001, Jerome Etienne posted a security analysis of tinc
+1.0pre4. Due to a lack of sequence numbers and a message authentication code
+for each packet, an attacker could possibly disrupt certain network services or
+launch a denial of service attack by replaying intercepted packets.
+
+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
+------------------------------------
+
+Some configuration variables have different names now. Most notably "TapDevice"
+should be changed into "Device", and "Device" should be changed into
+"BindToDevice".
+
+
+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.
+
+In order to compile tinc, you will also need autoconf, automake, GNU make, m4
+and gettext.
+
+
+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
 
 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).
+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.
+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.
 
 tincd regenerates its encryption key pairs. It does this on the first
 activity after the keys have expired. This period is adjustable in the
 
 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.
+configuration file, and the default time is 3600 seconds (one hour).
+
+This version supports multiple subnets at once. They are also sorted
+on subnet mask size. This means that it is possible to have
+overlapping subnets on the VPN, as long as their subnet mask sizes
+differ.
+
+Since pre5, tinc can operate in several routing modes. The default mode,
+"router", works exactly like the older version, and uses Subnet lines to
+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 algorithms used for encryption and generating message authentication codes
+can now be changed in the configuration files. All cipher and digest algorithms
+supported by OpenSSL can be used. Useful ciphers are "blowfish" (default),
+"bf-ofb", "des", "des3", etcetera. Useful digests are "sha1" (default), "md5",
+etcetera.
+
+Preliminary support for routing IPv6 packets has been added. Just add Subnet
+lines with IPv6 addresses (without using :: abbreviations) and use ifconfig to
+give the virtual network interface corresponding IPv6 addresses.
+Autoconfiguration will not work in router mode.