This repository has been archived by the owner on Mar 28, 2019. It is now read-only.
forked from vg/netsukuku
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
309 lines (190 loc) · 8.79 KB
/
ChangeLog
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.