1 Version 1.1-cvs Work in progress
3 * Use libevent to handle I/O events and timeouts.
5 * Use splay trees instead of AVL trees.
7 Version 1.0.8 May 16 2007
9 * Fixed some memory and resource leaks.
11 * Made network sockets non-blocking under Windows.
13 Version 1.0.7 Jan 5 2007
15 * Fixed a bug that caused slow network speeds on Windows.
17 * Fixed a bug that caused tinc unable to write packets to the tun device on
20 Version 1.0.6 Dec 18 2006
22 * More flexible detection of the LZO libraries when compiling.
24 * Fixed a bug where broadcasts in switch and hub modes sometimes would not
25 work anymore when part of the VPN had become disconnected from the rest.
27 version 1.0.5 Nov 14 2006
29 * Lots of small fixes.
31 * Broadcast packets no longer grow in size with each hop. This should
32 fix switch mode (again).
34 * Generic host-up and host-down scripts.
36 * Optionally dump graph in graphviz format to a file or a script.
38 * Support LZO 2.0 and later.
40 version 1.0.4 May 4 2005
42 * Fix switch and hub modes.
44 * Optionally start scripts when a Subnet becomes (un)reachable.
46 version 1.0.3 Nov 11 2004
48 * Show error message when failing to write a PID file.
50 * Ignore spaces at end of lines in config files.
52 * Fix handling of late packets.
54 * Unify BSD tun/tap device handling. This allows IPv6 on tun devices and
55 anything on tap devices as long as the underlying OS supports it.
57 * Handle IPv6 on Solaris tun devices.
59 * Allow tinc to work properly under Windows XP SP2.
61 * Allow VLAN tagged Ethernet frames in switch and hub mode.
63 * Experimental PMTUDiscovery, TunnelServer and BlockingTCP options.
65 version 1.0.2 Nov 8 2003
67 * Fix address and hostname resolving under Windows.
69 * Remove warnings about non-existing scripts and unsupported address families.
71 * Use the event logger under Windows.
73 * Fix quoting of filenames and command line arguments under Windows.
75 * Strict checks for length incoming network packets and return values of
76 cryptographic functions,
78 * Fix a bug in metadata handling that made the tinc daemon abort.
80 version 1.0.1 Aug 14 2003
82 * Allow empty lines in config files.
84 * Fix handling of spaces and backslashes in filenames under native Windows.
86 * Allow scripts to be executed under native Windows.
88 * Update documentation, make it less Linux specific.
90 version 1.0 Aug 4 2003
92 * Lots of small bugfixes and code cleanups.
94 * Throughput doubled and latency reduced.
96 * Added support for LZO compression.
98 * No need to set MAC address or disable ARP anymore.
100 * Added support for Windows 2000 and XP, both natively and in a Cygwin
103 version 1.0pre8 Sep 16 2002
105 * More fixes for subnets with prefixlength undivisible by 8.
107 * Added support for NetBSD and MacOS/X.
109 * Switched from undirected graphs to directed graphs to avoid certain race
110 conditions and improve scalability.
112 * Generalized broadcasting and forwarding of protocol messages.
114 * Cleanup of source code.
117 version 1.0pre7 Apr 7 2002
119 * Don't do blocking read()s when getting a signal.
121 * Remove RSA key checking code, since it sometimes thinks perfectly good RSA
124 * Fix handling of subnets when prefixlength isn't divisible by 8.
127 version 1.0pre6 Mar 27 2002
129 * Improvement of redundant links:
131 * Non-blocking connects.
133 * Protocol broadcast messages can no longer go into an infinite loop.
135 * Graph algorithm updated to look harder for direct connections.
137 * Good support for routing IPv6 packets over the VPN. Works on Linux,
138 FreeBSD, possibly OpenBSD but not on Solaris.
140 * Support for tunnels over IPv6 networks. Works on all supported
143 * Optional compression of UDP connections using zlib.
145 * Optionally let UDP connections inherit TOS field of tunneled packets.
147 * Optionally start scripts when certain hosts become (un)reachable.
150 version 1.0pre5 Feb 9 2002
152 * Security enhancements:
154 * Added sequence number and optional message authentication code to
157 * Configurable encryption cipher and digest algorithms.
159 * More robust handling of dis- and reconnects.
161 * Added a "switch" and a "hub" mode to allow bridging setups.
163 * Preliminary support for routing of IPv6 packets.
165 * Supports Linux, FreeBSD, OpenBSD and Solaris.
168 It looks like this might be the last release before 1.0.
171 version 1.0pre4 Jan 17 2001
173 * Updated documentation; the documentation now reflects the
174 configuration as it is.
176 * Some internal changes to make tinc scale better for large
177 networks, such as using AVL trees instead of linked lists for the
180 * RSA keys can be stored in separate files if needed. See the
181 documentation for more information.
183 * tinc has now been reported to run on Linux PowerPC and FreeBSD x86.
187 version 1.0pre3 Oct 31 2000
189 * The protocol has been redesigned, and although some details are
190 still under discussion, this is secure. Care has been taken to
191 resist most, if not all, attacks.
193 * Unfortunately this protocol is not compatible with earlier versions,
194 nor are earlier versions compatible with this version. Because the
195 older protocol has huge security flaws, we feel that not
196 implementing backwards compatibility is justified.
198 * Some data about the protocol:
200 * It uses public/private RSA keys for authentication (this is the
201 actual fix for the security hole).
203 * All cryptographic functions have been taken out of tinc, instead
204 it uses the OpenSSL library functions.
206 * Offers support for multiple subnets per tinc daemon.
208 * New is also the support for the universal tun/tap device. This
209 means better portability to FreeBSD and Solaris.
211 * tinc is tested to compile on Solaris, Linux x86, Linux alpha.
213 * tinc now uses the OpenSSL library for cryptographic operations.
214 More information on getting and installing OpenSSL is in the manual.
215 This also means that the GMP library is no longer required.
217 * Further, thanks to Enrique Zanardi, we have Spanish messages; Matias
218 Carrasco provided us with a Spanish translation of the manual.
221 What still needs to be done before 1.0:
223 * Documentation. Especially since the protocol has changed, and a lot
224 of configuration directives have been added.
229 version 1.0pre2 May 31 2000
231 * This version has been internationalized; and a Dutch translation has
234 * Two configuration variables have been added:
235 * VpnMask - the IP network mask for the entire VPN, not just our
236 subnet (as given by MyVirtualIP). The Redhat and Debian packages
237 use this variable in their system startup scripts, but it is
239 * Hostnames - if set to `yes', look up the names of IP addresses
240 trying to connect to us. Default set to `no', to prevent lockups
243 * The system startup scripts for Debian and Redhat use
244 /etc/tinc/nets.boot to find out which networks need to be started
247 * Fixes to prevent denial of service attacks by sending random data
248 after connecting (and even when the connection has been established),
249 either random garbage or just nonsensical protocol fields.
251 * tinc will retry to connect upon startup, does not quit if it doesn't
254 * Hosts that are disconnected implicitly if we lose a connection get
255 deleted from the internal list, to prevent hogging eachother with
256 add and delete requests when the connection is restored.
259 What still needs to be done before 1.0:
262 * Failover ConnectTo lines, try another one if the first doesn't work.
267 version 1.0pre1 May 12 2000
269 * Various other bugfixes
270 * Documentation updates
272 version 0.3.3 Feb 9 2000
273 * Fixed bug that made tinc stop working with latest kernels (Guus
277 version 0.3.2 Nov 12 1999
278 * no more `Invalid filedescriptor' when working with multiple
280 * forward unknown packets to uplink
282 version 0.3.1 Oct 20 1999
283 * fixed a bug where tinc would exit without a trace
285 version 0.3 Aug 20 1999
286 * pings now work immediately
287 * all packet sizes get transmitted correctly
289 version 0.2.26 Aug 15 1999
290 * fixed some remaining bugs
291 * --sysconfdir works with configure
292 * last version before 0.3
294 version 0.2.25 Aug 8 1999
295 * improved stability, going towards 0.3 now.
297 version 0.2.24 Aug 7 1999
298 * added key aging, there's a new config variable, KeyExpire.
299 * updated man and info pages
301 version 0.2.23 Aug 5 1999
302 * all known bugs fixed, this is a candidate for 0.3
304 version 0.2.22 Apr 11 1999
305 * multiconnection thing is now working nearly perfect :)
307 version 0.2.21 Apr 10 1999
308 * You shouldn't notice a thing, but a lot has changed wrt key
309 management - except that it refuses to talk to versions < 0.2.20
313 version 0.2.19 Apr 3 1999
314 * don't install a libcipher.so
316 version 0.2.18 Apr 3 1999
317 * blowfish library dynamically loaded upon execution
318 * included Eric Young's IDEA library
320 version 0.2.17 Apr 1 1999
321 * tincd now re-executes itself in case of a segmentation fault.
323 version 0.2.16 Apr 1 1999
324 * wrote tincd.conf(5) man page, which still needs a lot of work.
325 * config file now accepts and tolerates spaces, and any integer base
326 for integer variables, and better error reporting. See
327 doc/tincd.conf.sample for an example.
329 version 0.2.15 Mar 29 1999
332 version 0.2.14 Feb 10 1999
333 * added --timeout flag and PingTimeout configuration
334 * did some first syslog cleanup work
336 version 0.2.13 Jan 23 1999
339 version 0.2.12 Jan 23 1999
340 * fixed nauseating bug so that it would crash whenever a connection
343 version 0.2.11 Jan 22 1999
344 * framework for multiple connections has been done
345 * simple manpage for tincd
347 version 0.2.10 Jan 18 1999
348 * passphrase support added
350 version 0.2.9 Jan 13 1999
353 version 0.2.8 Jan 11 1999
354 * a reworked protocol version
356 * more reliable networking code
357 * automatic reconnection
358 * still does not work with more than one connection :)
359 * strips MAC addresses before sending, so there's less overhead, and
362 version 0.2.7 Jan 3 1999
363 * several updates to make extending more easy.
365 version 0.2.6 Dec 20 1998
366 * Point-to-Point connections have been established, including
367 blowfish encryption and a secret key-exchange.
369 version 0.2.5 Dec 16 1998
370 * Project renamed to tinc, in honour of TINC.
372 version 0.2.4 Dec 16 1998
373 * now it really does ;)
375 version 0.2.3 Nov 24 1998
376 * it sort of works now
378 version 0.2.2 Nov 20 1998
381 version 0.2.1 Nov 14 1998