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