Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 310 lines (190 sloc) 9.002 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309
==== 0.1.0b ====

New features:

* module.c - NTK module API

* conf.c rewritten

* rand.c

* opt.c



==== 0.0.9b ====

New features:

* ntk-resolv has the new option "-l"

* An active tcp socket is kept for each rnode, in this way, it is
possible to send them tcp packets without the need of estabilishing
a new tcp connection each time.

* The qspn packets are now sent using the tcp sockets described above.

* Since the UDP isn't used anymore for ntk packets, the udp daemon has
been removed. The udp port of the radar daemon is now 269/udp.
The 271/udp port has been deprecated.

* When we have multiple interfaces to reach the same rnode, send the
QSPN packets from a random device, each time.

* Code cleaned

Bug fixes:

* gcc-4 compilation warnings fixed.

* SNSD recursion works in ntk-resolv


==== 0.0.8b ====

New features:

* The Scattered Name Service Disgregation (NTK_RFC 0009) has been
implemented.
See http://lab.dyne.org/Ntk_SNSD and the man page of andna(8).

* ntk-resolve has been updated to support SNSD queries.

* The `netsukuku_d' binary and its man page have been renamed to `ntkd'
`netsukuku_wifi' and its man page have been renamed to `ntk-wifi'.

* Static binaries and packages are now available.
http://netsukuku.freaknet.org/packages/

* Netsukuku has been compiled for OpenWRT:
http://netsukuku.freaknet.org/openwrt/

* NetsukukuD compresses automatically packets > 1024 bytes using the
zlib.

* A pid file is written on /var/run/ntkd.pid. It is used to check if
other instances of ntkd are already running.

* The new option `use_shared_internet' has been added. It specifies if
ntkd will load balance the Internet traffic of this host using the
Inet connections shared by the Netsukuku nodes.

* The new command line option `-l' specifies that ntkd should send all
of its messages to the specified file.

* The scripts ip_masquerade.sh, tc_shaper.sh, rc.ntk, ntk-wifi, are
not dependent on bash anymore.

* The ANDNA keyring is now saved separately from the lcl_cache. It is
saved in andna_lcl_keyring.

* The `andna_' prefix is now used for the filename of the andna
caches.

Bug fixes:

* A workaround to the gcc 27945 bug
( http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27945 ) has been
implemented. The nodes affected with bug receive malformed packets
during the hook.

* The outgoing traffic to a node of the LAN is not shaped anymore.

* There was a bug that incremented the `hname_updates' counter, in the
andna_cache of a hostname, even if the registration/update was
rejected. Having wrong `hname_updates' counter, led to some
syncronization problems.

* Ntkd is now able to detect, while running, the remotion of a network
device it was using.

* Various memory leaks have been fixed.

* A workaround for the way getopt handles the optional arguments (i.e.
-r in ntkd) has been written. It is now possible to write
ntkd -drdddD without expecting strange behaviours. See
http://www.freaknet.org/alpt/src/patches/getopt-opt-arg/readme

* The code has been optimized and cleaned.

Extra:

* The man page for netsukuku.conf has been written.
netsukuku.conf(5).

==== 0.0.7b ====

New features:

* Multi-inet-gateways.
The Netsukuku nodes will now automatically use multiple
inet-gateways to connect to the Internet, therefore their Internet
connection will be effectively load-balanced.

* Anti-loop multi-igw shield.
The nodes which share their Internet connection will also
automatically use the shared connection of the other nodes. Through
a simple marking system, death loops are avoided.

* Traffic shaping.
The nodes which share their Internet connection can now shape it, in
this way they'll prioritize their local outgoingtraffic and the
lowdelay one (f.e. SSH).

* The lowdelay TOS is now set in the ANDNA resolve requests.


Bug fixes:

* When all the rnodes die, the radar resets the qspn counters

* Code cleaned

* A lot of bugs, which you haven't and you will never heard, have been
fixed. We've already forgotten them.


==== 0.0.6b ====

New features:

* The NTK_RFC 0008 has been implemented.
( http://lab.dyne.org/Ntk_restricted_ip_classes )

Bug fixes:

* The NTK_RFC 0007 has been implemented. It fixes an exploitable bug
in the ANDNA protocol.

* NetsukukuD has been tested on big endian machines. A lot of
endianness bugs has been fixed during the tests and now it seems to
work gracefully.
A lot of thanks to Vampire ;*

* The ppp connection to the Internet doesn't set an IP address in the
default route of the kernel but only the used ppp interface,
therefore NetsukukuD has to deduce it from the IP assigned to the
ppp interface, i.e. ppp0.

* Execute /etc/netsukuku/ip_masquerade.sh only if it is
writable just by root.

* Execute "/etc/netsukuku/ip_masquerade.sh stop" when NetsukukuD is
closed.

* Added a timeout of 60 seconds for the reverse resolution request.

* A possible memory overrun in the rsa (un)packing functions has been
fixed.


==== 0.0.5b ====

New features:
* The Internet Gateway Search (NTK_RFC 0003) has been implemented.
A node can now share its Internet connection among the other nodes
(only in restricted mode).
( Read the RFC: http://lab.dyne.org/Ntk_IGS )

* Main part of the NTK_RFC 0001 written, the (g)nodes have now the
ability to rehook to avoid IP collision.
( http://lab.dyne.org/Ntk_gnodes_contiguity )

* ANDNS has been implemented. It is a new specification of the DNS
protocol for Netsukuku. It is compatible with the actual DNS
protocol. ( http://lab.dyne.org/Ntk_andna_and_dns )

* Multi interfaces multipath: if we can reach a rnode trough multiple
interfaces, use them all with a multipath route.

* The dns_wrapper code is no more dependent on Boost.


Bug fixes:

* map_rnode doesn't use anymore the timeval struct and map_rnode.rtt was
removed 'cause it was obsolete. In conclusion we gained 12 bytes for
each rnode.

* Added a check in get_free_nodes to verify the validity of
fn_hdr->ipstart.
For example if the rnode has an IP which doesn't match with
fn_hdr->ipstart there must be some errors. This led to bug 0002.

* Fixed a bug in the multiif code: the packets destined to gnodes were
sent only from the first device.

* qspn_remove_deads() removes the routes of the dead nodes from the
routing table of the kernel.

* Restricted nodes and normal nodes are now invisible to each other.

* 127.0.0.0/8 banned.

* The command line options override the ones specified in the config file.

* code heavily cleaned.


==== 0.0.4b ====

New features:

* The multi-interface support was added, now it is possible to use
multiple network interfaces without the need of the bridge, just
specify each interface you want to use with the -i option. (man
netsukuku_d).

* The multipath support has been enabled for the external map, this
means that more than one route will be used to reach a gnode. In other
words the load balacing has been fully enabled.

* Endianness fixes: now the packets can be sent between two machines
with different endianness.

* When the daemon is launched /etc/resolv.conf is modified
automatically, so the "nameserver 127.0.0.1" is added in the first
line of resolv.conf. The old resolv.conf is at /etc/resolv.conf.bak.
When the daemon is closed /etc/resolv.conf.bak is moved to
/etc/resolv.conf.

* Added CC and CXX options in Scontruct.
Changes provided by Tero Auvinen.

* At hooking the first radar_scan is retried for three times.


* The Make/configure support was added. Now you can use both SCons or
Make to compile and install Netsukuku.


Bug fixes:

* All the the packets are now sent without any alignment.

* The free_nodes struct has been optimised: to keep the list of free
nodes it uses single bits instead of single bytes, this means that the
list is now of 32 bytes instead of 256.

* The bug in the load_rh_cache code is now fixed. (It caused crashes
when the daemon was closed).

* The installation path of the man page is now fixed.

* The installation paths are changed!! BIN_DIR=/usr/bin/,
MAN_DIR=/usr/man

* The /usr/share/netsukuku directory is now created by the daemon
itself.

* Now /sys/net/ipv4/conf/INTERFACE/rp_filter is automatically disabled
for the used network interface.

* Errors in load_hostnames() fixed. (It crashed if there was an just
an empty '\n').



==== 0.0.3b ====

* The ANDNA code, with its DNS wrapper, is completed and tested.

* The Netsukuku code was cleaned. Now it's ready to be an API.

* The Italian to English translation of the document is finished.


==== 0.0.2b ====

* NetsukukuD goes beta!


==== 0.0.1b ====

* NetsukukuD compiles, at least.


==== 0.0.0a ====

* The void and its nulliness filled the existence.
Something went wrong with that request. Please try again.