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