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