| 1 |
==== 0.1.0b ==== |
|---|
| 2 |
|
|---|
| 3 |
New features: |
|---|
| 4 |
|
|---|
| 5 |
* module.c - NTK module API |
|---|
| 6 |
|
|---|
| 7 |
* conf.c rewritten |
|---|
| 8 |
|
|---|
| 9 |
* rand.c |
|---|
| 10 |
|
|---|
| 11 |
* opt.c |
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
==== 0.0.9b ==== |
|---|
| 16 |
|
|---|
| 17 |
New features: |
|---|
| 18 |
|
|---|
| 19 |
* ntk-resolv has the new option "-l" |
|---|
| 20 |
|
|---|
| 21 |
* An active tcp socket is kept for each rnode, in this way, it is |
|---|
| 22 |
possible to send them tcp packets without the need of estabilishing |
|---|
| 23 |
a new tcp connection each time. |
|---|
| 24 |
|
|---|
| 25 |
* The qspn packets are now sent using the tcp sockets described above. |
|---|
| 26 |
|
|---|
| 27 |
* Since the UDP isn't used anymore for ntk packets, the udp daemon has |
|---|
| 28 |
been removed. The udp port of the radar daemon is now 269/udp. |
|---|
| 29 |
The 271/udp port has been deprecated. |
|---|
| 30 |
|
|---|
| 31 |
* When we have multiple interfaces to reach the same rnode, send the |
|---|
| 32 |
QSPN packets from a random device, each time. |
|---|
| 33 |
|
|---|
| 34 |
* Code cleaned |
|---|
| 35 |
|
|---|
| 36 |
Bug fixes: |
|---|
| 37 |
|
|---|
| 38 |
* gcc-4 compilation warnings fixed. |
|---|
| 39 |
|
|---|
| 40 |
* SNSD recursion works in ntk-resolv |
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 |
==== 0.0.8b ==== |
|---|
| 44 |
|
|---|
| 45 |
New features: |
|---|
| 46 |
|
|---|
| 47 |
* The Scattered Name Service Disgregation (NTK_RFC 0009) has been |
|---|
| 48 |
implemented. |
|---|
| 49 |
See http://lab.dyne.org/Ntk_SNSD and the man page of andna(8). |
|---|
| 50 |
|
|---|
| 51 |
* ntk-resolve has been updated to support SNSD queries. |
|---|
| 52 |
|
|---|
| 53 |
* The `netsukuku_d' binary and its man page have been renamed to `ntkd' |
|---|
| 54 |
`netsukuku_wifi' and its man page have been renamed to `ntk-wifi'. |
|---|
| 55 |
|
|---|
| 56 |
* Static binaries and packages are now available. |
|---|
| 57 |
http://netsukuku.freaknet.org/packages/ |
|---|
| 58 |
|
|---|
| 59 |
* Netsukuku has been compiled for OpenWRT: |
|---|
| 60 |
http://netsukuku.freaknet.org/openwrt/ |
|---|
| 61 |
|
|---|
| 62 |
* NetsukukuD compresses automatically packets > 1024 bytes using the |
|---|
| 63 |
zlib. |
|---|
| 64 |
|
|---|
| 65 |
* A pid file is written on /var/run/ntkd.pid. It is used to check if |
|---|
| 66 |
other instances of ntkd are already running. |
|---|
| 67 |
|
|---|
| 68 |
* The new option `use_shared_internet' has been added. It specifies if |
|---|
| 69 |
ntkd will load balance the Internet traffic of this host using the |
|---|
| 70 |
Inet connections shared by the Netsukuku nodes. |
|---|
| 71 |
|
|---|
| 72 |
* The new command line option `-l' specifies that ntkd should send all |
|---|
| 73 |
of its messages to the specified file. |
|---|
| 74 |
|
|---|
| 75 |
* The scripts ip_masquerade.sh, tc_shaper.sh, rc.ntk, ntk-wifi, are |
|---|
| 76 |
not dependent on bash anymore. |
|---|
| 77 |
|
|---|
| 78 |
* The ANDNA keyring is now saved separately from the lcl_cache. It is |
|---|
| 79 |
saved in andna_lcl_keyring. |
|---|
| 80 |
|
|---|
| 81 |
* The `andna_' prefix is now used for the filename of the andna |
|---|
| 82 |
caches. |
|---|
| 83 |
|
|---|
| 84 |
Bug fixes: |
|---|
| 85 |
|
|---|
| 86 |
* A workaround to the gcc 27945 bug |
|---|
| 87 |
( http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27945 ) has been |
|---|
| 88 |
implemented. The nodes affected with bug receive malformed packets |
|---|
| 89 |
during the hook. |
|---|
| 90 |
|
|---|
| 91 |
* The outgoing traffic to a node of the LAN is not shaped anymore. |
|---|
| 92 |
|
|---|
| 93 |
* There was a bug that incremented the `hname_updates' counter, in the |
|---|
| 94 |
andna_cache of a hostname, even if the registration/update was |
|---|
| 95 |
rejected. Having wrong `hname_updates' counter, led to some |
|---|
| 96 |
syncronization problems. |
|---|
| 97 |
|
|---|
| 98 |
* Ntkd is now able to detect, while running, the remotion of a network |
|---|
| 99 |
device it was using. |
|---|
| 100 |
|
|---|
| 101 |
* Various memory leaks have been fixed. |
|---|
| 102 |
|
|---|
| 103 |
* A workaround for the way getopt handles the optional arguments (i.e. |
|---|
| 104 |
-r in ntkd) has been written. It is now possible to write |
|---|
| 105 |
ntkd -drdddD without expecting strange behaviours. See |
|---|
| 106 |
http://www.freaknet.org/alpt/src/patches/getopt-opt-arg/readme |
|---|
| 107 |
|
|---|
| 108 |
* The code has been optimized and cleaned. |
|---|
| 109 |
|
|---|
| 110 |
Extra: |
|---|
| 111 |
|
|---|
| 112 |
* The man page for netsukuku.conf has been written. |
|---|
| 113 |
netsukuku.conf(5). |
|---|
| 114 |
|
|---|
| 115 |
==== 0.0.7b ==== |
|---|
| 116 |
|
|---|
| 117 |
New features: |
|---|
| 118 |
|
|---|
| 119 |
* Multi-inet-gateways. |
|---|
| 120 |
The Netsukuku nodes will now automatically use multiple |
|---|
| 121 |
inet-gateways to connect to the Internet, therefore their Internet |
|---|
| 122 |
connection will be effectively load-balanced. |
|---|
| 123 |
|
|---|
| 124 |
* Anti-loop multi-igw shield. |
|---|
| 125 |
The nodes which share their Internet connection will also |
|---|
| 126 |
automatically use the shared connection of the other nodes. Through |
|---|
| 127 |
a simple marking system, death loops are avoided. |
|---|
| 128 |
|
|---|
| 129 |
* Traffic shaping. |
|---|
| 130 |
The nodes which share their Internet connection can now shape it, in |
|---|
| 131 |
this way they'll prioritize their local outgoingtraffic and the |
|---|
| 132 |
lowdelay one (f.e. SSH). |
|---|
| 133 |
|
|---|
| 134 |
* The lowdelay TOS is now set in the ANDNA resolve requests. |
|---|
| 135 |
|
|---|
| 136 |
|
|---|
| 137 |
Bug fixes: |
|---|
| 138 |
|
|---|
| 139 |
* When all the rnodes die, the radar resets the qspn counters |
|---|
| 140 |
|
|---|
| 141 |
* Code cleaned |
|---|
| 142 |
|
|---|
| 143 |
* A lot of bugs, which you haven't and you will never heard, have been |
|---|
| 144 |
fixed. We've already forgotten them. |
|---|
| 145 |
|
|---|
| 146 |
|
|---|
| 147 |
==== 0.0.6b ==== |
|---|
| 148 |
|
|---|
| 149 |
New features: |
|---|
| 150 |
|
|---|
| 151 |
* The NTK_RFC 0008 has been implemented. |
|---|
| 152 |
( http://lab.dyne.org/Ntk_restricted_ip_classes ) |
|---|
| 153 |
|
|---|
| 154 |
Bug fixes: |
|---|
| 155 |
|
|---|
| 156 |
* The NTK_RFC 0007 has been implemented. It fixes an exploitable bug |
|---|
| 157 |
in the ANDNA protocol. |
|---|
| 158 |
|
|---|
| 159 |
* NetsukukuD has been tested on big endian machines. A lot of |
|---|
| 160 |
endianness bugs has been fixed during the tests and now it seems to |
|---|
| 161 |
work gracefully. |
|---|
| 162 |
A lot of thanks to Vampire ;* |
|---|
| 163 |
|
|---|
| 164 |
* The ppp connection to the Internet doesn't set an IP address in the |
|---|
| 165 |
default route of the kernel but only the used ppp interface, |
|---|
| 166 |
therefore NetsukukuD has to deduce it from the IP assigned to the |
|---|
| 167 |
ppp interface, i.e. ppp0. |
|---|
| 168 |
|
|---|
| 169 |
* Execute /etc/netsukuku/ip_masquerade.sh only if it is |
|---|
| 170 |
writable just by root. |
|---|
| 171 |
|
|---|
| 172 |
* Execute "/etc/netsukuku/ip_masquerade.sh stop" when NetsukukuD is |
|---|
| 173 |
closed. |
|---|
| 174 |
|
|---|
| 175 |
* Added a timeout of 60 seconds for the reverse resolution request. |
|---|
| 176 |
|
|---|
| 177 |
* A possible memory overrun in the rsa (un)packing functions has been |
|---|
| 178 |
fixed. |
|---|
| 179 |
|
|---|
| 180 |
|
|---|
| 181 |
==== 0.0.5b ==== |
|---|
| 182 |
|
|---|
| 183 |
New features: |
|---|
| 184 |
* The Internet Gateway Search (NTK_RFC 0003) has been implemented. |
|---|
| 185 |
A node can now share its Internet connection among the other nodes |
|---|
| 186 |
(only in restricted mode). |
|---|
| 187 |
( Read the RFC: http://lab.dyne.org/Ntk_IGS ) |
|---|
| 188 |
|
|---|
| 189 |
* Main part of the NTK_RFC 0001 written, the (g)nodes have now the |
|---|
| 190 |
ability to rehook to avoid IP collision. |
|---|
| 191 |
( http://lab.dyne.org/Ntk_gnodes_contiguity ) |
|---|
| 192 |
|
|---|
| 193 |
* ANDNS has been implemented. It is a new specification of the DNS |
|---|
| 194 |
protocol for Netsukuku. It is compatible with the actual DNS |
|---|
| 195 |
protocol. ( http://lab.dyne.org/Ntk_andna_and_dns ) |
|---|
| 196 |
|
|---|
| 197 |
* Multi interfaces multipath: if we can reach a rnode trough multiple |
|---|
| 198 |
interfaces, use them all with a multipath route. |
|---|
| 199 |
|
|---|
| 200 |
* The dns_wrapper code is no more dependent on Boost. |
|---|
| 201 |
|
|---|
| 202 |
|
|---|
| 203 |
Bug fixes: |
|---|
| 204 |
|
|---|
| 205 |
* map_rnode doesn't use anymore the timeval struct and map_rnode.rtt was |
|---|
| 206 |
removed 'cause it was obsolete. In conclusion we gained 12 bytes for |
|---|
| 207 |
each rnode. |
|---|
| 208 |
|
|---|
| 209 |
* Added a check in get_free_nodes to verify the validity of |
|---|
| 210 |
fn_hdr->ipstart. |
|---|
| 211 |
For example if the rnode has an IP which doesn't match with |
|---|
| 212 |
fn_hdr->ipstart there must be some errors. This led to bug 0002. |
|---|
| 213 |
|
|---|
| 214 |
* Fixed a bug in the multiif code: the packets destined to gnodes were |
|---|
| 215 |
sent only from the first device. |
|---|
| 216 |
|
|---|
| 217 |
* qspn_remove_deads() removes the routes of the dead nodes from the |
|---|
| 218 |
routing table of the kernel. |
|---|
| 219 |
|
|---|
| 220 |
* Restricted nodes and normal nodes are now invisible to each other. |
|---|
| 221 |
|
|---|
| 222 |
* 127.0.0.0/8 banned. |
|---|
| 223 |
|
|---|
| 224 |
* The command line options override the ones specified in the config file. |
|---|
| 225 |
|
|---|
| 226 |
* code heavily cleaned. |
|---|
| 227 |
|
|---|
| 228 |
|
|---|
| 229 |
==== 0.0.4b ==== |
|---|
| 230 |
|
|---|
| 231 |
New features: |
|---|
| 232 |
|
|---|
| 233 |
* The multi-interface support was added, now it is possible to use |
|---|
| 234 |
multiple network interfaces without the need of the bridge, just |
|---|
| 235 |
specify each interface you want to use with the -i option. (man |
|---|
| 236 |
netsukuku_d). |
|---|
| 237 |
|
|---|
| 238 |
* The multipath support has been enabled for the external map, this |
|---|
| 239 |
means that more than one route will be used to reach a gnode. In other |
|---|
| 240 |
words the load balacing has been fully enabled. |
|---|
| 241 |
|
|---|
| 242 |
* Endianness fixes: now the packets can be sent between two machines |
|---|
| 243 |
with different endianness. |
|---|
| 244 |
|
|---|
| 245 |
* When the daemon is launched /etc/resolv.conf is modified |
|---|
| 246 |
automatically, so the "nameserver 127.0.0.1" is added in the first |
|---|
| 247 |
line of resolv.conf. The old resolv.conf is at /etc/resolv.conf.bak. |
|---|
| 248 |
When the daemon is closed /etc/resolv.conf.bak is moved to |
|---|
| 249 |
/etc/resolv.conf. |
|---|
| 250 |
|
|---|
| 251 |
* Added CC and CXX options in Scontruct. |
|---|
| 252 |
Changes provided by Tero Auvinen. |
|---|
| 253 |
|
|---|
| 254 |
* At hooking the first radar_scan is retried for three times. |
|---|
| 255 |
|
|---|
| 256 |
|
|---|
| 257 |
* The Make/configure support was added. Now you can use both SCons or |
|---|
| 258 |
Make to compile and install Netsukuku. |
|---|
| 259 |
|
|---|
| 260 |
|
|---|
| 261 |
Bug fixes: |
|---|
| 262 |
|
|---|
| 263 |
* All the the packets are now sent without any alignment. |
|---|
| 264 |
|
|---|
| 265 |
* The free_nodes struct has been optimised: to keep the list of free |
|---|
| 266 |
nodes it uses single bits instead of single bytes, this means that the |
|---|
| 267 |
list is now of 32 bytes instead of 256. |
|---|
| 268 |
|
|---|
| 269 |
* The bug in the load_rh_cache code is now fixed. (It caused crashes |
|---|
| 270 |
when the daemon was closed). |
|---|
| 271 |
|
|---|
| 272 |
* The installation path of the man page is now fixed. |
|---|
| 273 |
|
|---|
| 274 |
* The installation paths are changed!! BIN_DIR=/usr/bin/, |
|---|
| 275 |
MAN_DIR=/usr/man |
|---|
| 276 |
|
|---|
| 277 |
* The /usr/share/netsukuku directory is now created by the daemon |
|---|
| 278 |
itself. |
|---|
| 279 |
|
|---|
| 280 |
* Now /sys/net/ipv4/conf/INTERFACE/rp_filter is automatically disabled |
|---|
| 281 |
for the used network interface. |
|---|
| 282 |
|
|---|
| 283 |
* Errors in load_hostnames() fixed. (It crashed if there was an just |
|---|
| 284 |
an empty '\n'). |
|---|
| 285 |
|
|---|
| 286 |
|
|---|
| 287 |
|
|---|
| 288 |
==== 0.0.3b ==== |
|---|
| 289 |
|
|---|
| 290 |
* The ANDNA code, with its DNS wrapper, is completed and tested. |
|---|
| 291 |
|
|---|
| 292 |
* The Netsukuku code was cleaned. Now it's ready to be an API. |
|---|
| 293 |
|
|---|
| 294 |
* The Italian to English translation of the document is finished. |
|---|
| 295 |
|
|---|
| 296 |
|
|---|
| 297 |
==== 0.0.2b ==== |
|---|
| 298 |
|
|---|
| 299 |
* NetsukukuD goes beta! |
|---|
| 300 |
|
|---|
| 301 |
|
|---|
| 302 |
==== 0.0.1b ==== |
|---|
| 303 |
|
|---|
| 304 |
* NetsukukuD compiles, at least. |
|---|
| 305 |
|
|---|
| 306 |
|
|---|
| 307 |
==== 0.0.0a ==== |
|---|
| 308 |
|
|---|
| 309 |
* The void and its nulliness filled the existence. |
|---|