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