2 iodine - http://code.kryo.se/iodine
4 ***********************************
8 2009-06-01: 0.5.2 "WifiFree"
9 - Fixed client segfault on OS X, #57
10 - Added check that nameserver lookup was successful
11 - Fixed ENOTSOCK error on OS X and FreeBSD, #58.
13 2009-03-21: 0.5.1 "Boringo"
14 - Added initial Windows support, fixes #43.
15 - Added length check of autoprobe responses
16 - Refactored and added unit tests
17 - Added syslog logging for iodined on version and login packets
18 - Fixed segfault when encoding just one block, fixes #51.
19 The normal code was never affected by this.
20 - Added win32 code to read DNS server from system, fixes #45.
21 - Disabled password echo on win32, fixes #44.
22 - Fix encoding error making all autoprobing > 1024 bytes fail, #52.
23 - Increase default interface MTU to 1200.
24 - Fix autoprobing error making every third probe fail, set IP flag
25 Dont-Fragment where supported. Fixes #54.
26 - Added TAP32 version 0901 as accepted (#53).
28 2009-01-23: 0.5.0 "iPassed"
29 - Fixed segfault in server when sending version reject.
30 - Applied patch to make iodine build on BeOS R5-BONE and Haiku,
31 from Francois Revol. Still work to do to get tun device working.
32 - Added capability to forward DNS queries outside tunnel domain to
33 a nameserver on localhost. Use -b port to enable, fixes #31.
34 - iodined now replies to NS request on its own domain, fixes issue #33.
35 The destination IP address is sent as reply. Use -n to specify
36 a specific IP address to return (if behind NAT etc).
37 - Upstream data is now Base64 encoded if relay server preserves case and
38 supports the plus (+) character in domain names, fixes #16.
39 - Fixed problem in client when DNS trans. ID has highest bit set (#37)
40 - IP addresses are now assigned within the netmask, so iodined can
41 use any address for itself, fixes #28.
42 - Netmask size is now adjustable. Setting a small net will reduce the
43 number of users. Use x.x.x.x/n notation on iodined tunnel ip.
45 - Downstream data is now fragmented, and the fragment size is auto-
46 probed after login. Fixes #7. It only took a few years :)
47 - Enhanced the checks that validates incoming packets
48 - Fixed endless loop in fragment size autodetection, #39.
49 - Fixed broken hostname dot placing with specific lengths, #40.
51 2008-08-06: 0.4.2 "Opened Zone"
52 - Applied a few small patches from Maxim Bourmistrov and Gregor Herrmann
53 - Applied a patch for not creating and configuring the tun interface,
54 Debian bug #477692 by Vincent Bernat, controlled by -s switch
55 - Applied a security patch from Andrew Griffiths, use setgroups() to
56 limit the groups of the user
57 - Applied a patch to make iodine build on (Open)Solaris, from Albert Lee
58 Needs TUN/TAP driver http://www.whiteboard.ne.jp/~admin2/tuntap/
59 Still needs more code in tun.c for opening/closing the device
60 - Added option in server (-c) to disable IP/port checking on packets,
61 will hopefully help when server is behind NAT
62 - Fixed bug #21, now only IP address part of each packet is checked.
63 Should remove the need for the -c option and also work with
64 bugfixed DNS servers worldwide.
65 - Added -D option on server to enable debugging. Debug level 1 now
66 prints info about each RX/TX datagram.
68 2007-11-30: 0.4.1 "Tea Online"
69 - Introduced encoding API
70 - Switched to new Base32 implementation
71 - Added Base64 implementation that only uses 63 chars (not used yet)
72 - Refined 'install' make target and use $(MAKE) for recursive calls
73 - All received error messages (RCODE field) are echoed
74 - Top domain limited to 128 chars
75 - Case preservation check sent after login to decide codec
76 - Fixed crash on incoming NULL query in server with bad top domain
77 - /etc/resolv.conf is consulted if no nameserver is given on commandline
78 - Applied patch from Matthew W. S. Bell (Detach before chroot/dropping priv)
80 2007-03-25: 0.4.0 "Run Home"
81 - Added multiuser support (up to 8 users simultaneously)
82 - Added authentication (password entered as argument or on stdin)
84 - Added install/uninstall make target
85 - Cleanup of dns code, more test cases, use check library
86 - Changed directory structure
89 - Fixed handshake() buffer overflow
90 (Found by poplix, Secunia: SA22674 / FrSIRT/ADV-2006-4333)
92 - More name parsing enhancements
93 - Now runs on Linux/AMD64
94 - Added setting to change server port
97 - Fixed possible buffer overflow
98 (Found by poplix, Bugtraq ID: 20883)
99 - Reworked dns hostname encoding
103 - Fixed potential security problems
104 - Name parsing routines rewritten, added regression tests
105 - New encoding, 25% more peak upstream throughput
106 - New -l option to set local ip to listen to on server
109 - Add Mac OSX support
110 - Add setting device name
111 - Use compression of domain name in reply (should allow setting MTU
112 approx 200 bytes higher)
115 - First public release
116 - Support for Linux, FreeBSD, OpenBSD