Clarify and increase level of log message about MTU probes to unreachable nodes.
[tinc] / NEWS
1 Version 1.0.11               Not released yet.
2
3  * Fixed potential crash when the HUP signal is sent.
4
5 Version 1.0.10               Oct 18 2009
6
7  * Fixed potential crashes during shutdown and (in rare conditions) when other
8    nodes disconnected from the VPN.
9
10  * Improved NAT handling: tinc now copes with mangled port numbers, and will
11    automatically fall back to TCP if direct UDP connection between nodes is not
12    possible. The TCPOnly option should not have to be used anymore.
13
14  * Allow configuration files with CRLF line endings to be read on UNIX.
15
16  * Disable old RSA keys when generating new ones, and raise the default size of
17    new RSA keys to 2048 bits.
18
19  * Many fixes in the path MTU discovery code, especially when Compression is
20    being used.
21
22  * Tinc can now drop privileges and/or chroot itself.
23
24  * The TunnelServer code now just ignores information from clients instead of
25    disconnecting them.
26
27  * Improved performance on Windows by using the new ProcessPriority option and
28    by making the handling of packets received from the TAP-Win32 adapter more
29    efficient.
30
31  * Code cleanups: tinc now follows the C99 standard, copyright headers have
32    been updated to include patch authors, checkpoint tracing and localisation
33    features have been removed.
34
35  * Support for (jailbroken) iPhone and iPod Touch has been added.
36
37  Thanks to Florian Forster, Grzegorz Dymarek and especially Michael Tokarev for
38  their contributions to this version of tinc.
39
40 Version 1.0.9                Dec 26 2008
41
42  * Fixed tinc as a service under Windows 2003.
43
44  * Fixed reading configuration files that do not end with a newline.
45
46  * Fixed crashes in situations where hostnames could not be resolved or hosts
47    would disconnect at the same time as session keys were exchanged.
48
49  * Improved default settings of tun and tap devices on BSD platforms.
50
51  * Make IPv6 sockets bind only to IPv6 on Linux.
52
53  * Enable path MTU discovery by default.
54
55  * Fixed a memory leak that occured when connections were closed.
56
57  Thanks to Max Rijevski for his contributions to this version of tinc.
58
59 Version 1.0.8                May 16 2007
60
61  * Fixed some memory and resource leaks.
62
63  * Made network sockets non-blocking under Windows.
64
65  Thanks to Scott Lamb and "dnk" for their contributions to this version of tinc.
66
67 Version 1.0.7                Jan  5 2007
68
69  * Fixed a bug that caused slow network speeds on Windows.
70
71  * Fixed a bug that caused tinc unable to write packets to the tun device on
72    OpenBSD.
73
74 Version 1.0.6                Dec 18 2006
75
76  * More flexible detection of the LZO libraries when compiling.
77
78  * Fixed a bug where broadcasts in switch and hub modes sometimes would not
79    work anymore when part of the VPN had become disconnected from the rest.
80
81 version 1.0.5                Nov 14 2006
82
83  * Lots of small fixes.
84
85  * Broadcast packets no longer grow in size with each hop. This should
86    fix switch mode (again).
87  
88  * Generic host-up and host-down scripts.
89
90  * Optionally dump graph in graphviz format to a file or a script.
91
92  * Support LZO 2.0 and later.
93
94  Thanks to Scott Lamb for his contributions to this version of tinc.
95
96 version 1.0.4                May  4 2005
97
98  * Fix switch and hub modes.
99
100  * Optionally start scripts when a Subnet becomes (un)reachable.
101
102 version 1.0.3                Nov 11 2004
103
104 * Show error message when failing to write a PID file.
105
106 * Ignore spaces at end of lines in config files.
107
108 * Fix handling of late packets.
109
110 * Unify BSD tun/tap device handling. This allows IPv6 on tun devices and
111   anything on tap devices as long as the underlying OS supports it.
112
113 * Handle IPv6 on Solaris tun devices.
114
115 * Allow tinc to work properly under Windows XP SP2.
116
117 * Allow VLAN tagged Ethernet frames in switch and hub mode.
118
119 * Experimental PMTUDiscovery, TunnelServer and BlockingTCP options.
120
121 version 1.0.2                Nov  8 2003
122
123 * Fix address and hostname resolving under Windows.
124
125 * Remove warnings about non-existing scripts and unsupported address families.
126
127 * Use the event logger under Windows.
128
129 * Fix quoting of filenames and command line arguments under Windows.
130
131 * Strict checks for length incoming network packets and return values of
132   cryptographic functions,
133
134 * Fix a bug in metadata handling that made the tinc daemon abort.
135
136 version 1.0.1                Aug 14 2003
137
138 * Allow empty lines in config files.
139
140 * Fix handling of spaces and backslashes in filenames under native Windows.
141
142 * Allow scripts to be executed under native Windows.
143
144 * Update documentation, make it less Linux specific.
145
146 version 1.0                  Aug  4 2003
147
148 * Lots of small bugfixes and code cleanups.
149
150 * Throughput doubled and latency reduced.
151
152 * Added support for LZO compression.
153
154 * No need to set MAC address or disable ARP anymore.
155
156 * Added support for Windows 2000 and XP, both natively and in a Cygwin
157   environment.
158
159 version 1.0pre8              Sep 16 2002
160
161 * More fixes for subnets with prefixlength undivisible by 8.
162
163 * Added support for NetBSD and MacOS/X.
164
165 * Switched from undirected graphs to directed graphs to avoid certain race
166   conditions and improve scalability.
167
168 * Generalized broadcasting and forwarding of protocol messages.
169
170 * Cleanup of source code.
171
172
173 version 1.0pre7              Apr  7 2002
174
175 * Don't do blocking read()s when getting a signal.
176
177 * Remove RSA key checking code, since it sometimes thinks perfectly good RSA
178   keys are bad.
179
180 * Fix handling of subnets when prefixlength isn't divisible by 8.
181
182
183 version 1.0pre6              Mar 27 2002
184
185 * Improvement of redundant links:
186
187   * Non-blocking connects.
188   
189   * Protocol broadcast messages can no longer go into an infinite loop.
190   
191   * Graph algorithm updated to look harder for direct connections.
192
193 * Good support for routing IPv6 packets over the VPN. Works on Linux,
194   FreeBSD, possibly OpenBSD but not on Solaris.
195
196 * Support for tunnels over IPv6 networks. Works on all supported
197   operating systems.
198
199 * Optional compression of UDP connections using zlib.
200
201 * Optionally let UDP connections inherit TOS field of tunneled packets.
202
203 * Optionally start scripts when certain hosts become (un)reachable.
204
205
206 version 1.0pre5              Feb  9 2002
207
208 * Security enhancements:
209
210   * Added sequence number and optional message authentication code to
211     the packets.
212
213   * Configurable encryption cipher and digest algorithms.
214
215 * More robust handling of dis- and reconnects.
216
217 * Added a "switch" and a "hub" mode to allow bridging setups.
218
219 * Preliminary support for routing of IPv6 packets.
220
221 * Supports Linux, FreeBSD, OpenBSD and Solaris.
222
223
224 It looks like this might be the last release before 1.0.
225
226
227 version 1.0pre4              Jan 17 2001
228
229 * Updated documentation; the documentation now reflects the
230   configuration as it is.
231
232 * Some internal changes to make tinc scale better for large
233   networks, such as using AVL trees instead of linked lists for the
234   connection list.  
235
236 * RSA keys can be stored in separate files if needed.  See the
237   documentation for more information.
238
239 * tinc has now been reported to run on Linux PowerPC and FreeBSD x86.
240
241
242
243 version 1.0pre3              Oct 31 2000
244
245 * The protocol has been redesigned, and although some details are
246   still under discussion, this is secure.  Care has been taken to
247   resist most, if not all, attacks.
248   
249 * Unfortunately this protocol is not compatible with earlier versions,
250   nor are earlier versions compatible with this version.  Because the
251   older protocol has huge security flaws, we feel that not
252   implementing backwards compatibility is justified.
253
254 * Some data about the protocol:
255
256   * It uses public/private RSA keys for authentication (this is the
257     actual fix for the security hole).
258
259   * All cryptographic functions have been taken out of tinc, instead
260     it uses the OpenSSL library functions.
261
262   * Offers support for multiple subnets per tinc daemon.
263
264 * New is also the support for the universal tun/tap device.  This
265   means better portability to FreeBSD and Solaris.
266
267 * tinc is tested to compile on Solaris, Linux x86, Linux alpha.
268
269 * tinc now uses the OpenSSL library for cryptographic operations.
270   More information on getting and installing OpenSSL is in the manual.
271   This also means that the GMP library is no longer required.
272
273 * Further, thanks to Enrique Zanardi, we have Spanish messages; Matias
274   Carrasco provided us with a Spanish translation of the manual.
275
276
277 What still needs to be done before 1.0:
278
279 * Documentation.  Especially since the protocol has changed, and a lot
280   of configuration directives have been added.
281
282
283
284
285 version 1.0pre2              May 31 2000
286
287 * This version has been internationalized; and a Dutch translation has          
288   been included.                                                                
289                                                                                 
290 * Two configuration variables have been added:                                  
291   * VpnMask - the IP network mask for the entire VPN, not just our              
292     subnet (as given by MyVirtualIP).  The Redhat and Debian packages           
293     use this variable in their system startup scripts, but it is                
294     ignored by tinc.                                                            
295   * Hostnames - if set to `yes', look up the names of IP addresses              
296     trying to connect to us.  Default set to `no', to prevent lockups           
297     during lookups.                                                             
298                                                                                 
299 * The system startup scripts for Debian and Redhat use                          
300   /etc/tinc/nets.boot to find out which networks need to be started             
301   during system boot.                                                           
302                                                                                 
303 * Fixes to prevent denial of service attacks by sending random data             
304   after connecting (and even when the connection has been established),         
305   either random garbage or just nonsensical protocol fields.                    
306                                                                                 
307 * tinc will retry to connect upon startup, does not quit if it doesn't          
308   work the first time.                                                          
309                                                                                 
310 * Hosts that are disconnected implicitly if we lose a connection get            
311   deleted from the internal list, to prevent hogging eachother with             
312   add and delete requests when the connection is restored.                      
313                                                                                 
314                                                                                 
315 What still needs to be done before 1.0:                                         
316                                                                                 
317 * Documentation.                                                                
318 * Failover ConnectTo lines, try another one if the first doesn't work.          
319
320
321
322
323 version 1.0pre1              May 12 2000
324  * New meta-protocol
325  * Various other bugfixes
326  * Documentation updates
327
328 version 0.3.3                Feb  9 2000
329  * Fixed bug that made tinc stop working with latest kernels (Guus
330    Sliepen)
331  * Updated the manual
332
333 version 0.3.2                Nov 12 1999
334  * no more `Invalid filedescriptor' when working with multiple
335    connections
336  * forward unknown packets to uplink
337
338 version 0.3.1                Oct 20 1999
339  * fixed a bug where tinc would exit without a trace
340
341 version 0.3                  Aug 20 1999
342  * pings now work immediately
343  * all packet sizes get transmitted correctly
344
345 version 0.2.26               Aug 15 1999
346  * fixed some remaining bugs
347  * --sysconfdir works with configure
348  * last version before 0.3
349
350 version 0.2.25               Aug  8 1999
351  * improved stability, going towards 0.3 now.
352
353 version 0.2.24               Aug  7 1999
354  * added key aging, there's a new config variable, KeyExpire.
355  * updated man and info pages
356
357 version 0.2.23               Aug  5 1999
358  * all known bugs fixed, this is a candidate for 0.3
359
360 version 0.2.22               Apr 11 1999
361  * multiconnection thing is now working nearly perfect :)
362
363 version 0.2.21               Apr 10 1999
364  * You shouldn't notice a thing, but a lot has changed wrt key
365 management - except that it refuses to talk to versions < 0.2.20
366
367 version 0.2.20
368
369 version 0.2.19               Apr  3 1999
370  * don't install a libcipher.so
371
372 version 0.2.18               Apr  3 1999
373  * blowfish library dynamically loaded upon execution
374  * included Eric Young's IDEA library
375
376 version 0.2.17               Apr  1 1999
377  * tincd now re-executes itself in case of a segmentation fault.
378
379 version 0.2.16               Apr  1 1999
380  * wrote tincd.conf(5) man page, which still needs a lot of work.
381  * config file now accepts and tolerates spaces, and any integer base
382 for integer variables, and better error reporting. See
383 doc/tincd.conf.sample for an example.
384
385 version 0.2.15               Mar 29 1999
386  * fixed bugs
387
388 version 0.2.14               Feb 10 1999
389  * added --timeout flag and PingTimeout configuration
390  * did some first syslog cleanup work
391
392 version 0.2.13               Jan 23 1999
393  * bugfixes
394
395 version 0.2.12               Jan 23 1999
396  * fixed nauseating bug so that it would crash whenever a connection
397 got lost
398
399 version 0.2.11               Jan 22 1999
400  * framework for multiple connections has been done
401  * simple manpage for tincd
402
403 version 0.2.10               Jan 18 1999
404  * passphrase support added
405
406 version 0.2.9                Jan 13 1999
407  * bugs fixed.
408
409 version 0.2.8                Jan 11 1999
410  * a reworked protocol version
411  * a ping/pong system
412  * more reliable networking code
413  * automatic reconnection
414  * still does not work with more than one connection :)
415  * strips MAC addresses before sending, so there's less overhead, and
416 less redundancy
417
418 version 0.2.7                Jan  3 1999
419  * several updates to make extending more easy.
420
421 version 0.2.6                Dec 20 1998
422  * Point-to-Point connections have been established, including
423 blowfish encryption and a secret key-exchange.
424
425 version 0.2.5                Dec 16 1998
426  * Project renamed to tinc, in honour of TINC.
427
428 version 0.2.4                Dec 16 1998
429  * now it really does ;)
430
431 version 0.2.3                Nov 24 1998
432  * it sort of works now
433
434 version 0.2.2                Nov 20 1998
435  * uses GNU gmp.
436
437 version 0.2.1                Nov 14 1998
438
439  * Bare version.