fix
[oweals/gnunet.git] / ChangeLog
1 Fri Jun 10 11:07:58 CEST 2011
2         Releasing GNUnet 0.9.0pre3.  Instead of listing all that has
3         changed, here is the short list of what is known NOT to work,
4         in order of minor flaws to major issues, by module:
5
6         * FS still has a few missing features, but largely works
7         * DATASTORE is O(n) where it should be O(log n) for some operations
8         * UDP does not work (only messages < 1500 bytes, no fragmentation)
9         * TESTING does not support incremental HELLO changes, hence will
10                   be particularly troublesome with WLAN transport
11         * TRANSPORT ATS is not used for actual bandwidth assignment,
12                   important options to make it truly useful are still missing
13         * VPN's service definitions may work, but are not secure
14         * NAT traversal partially works for TCP (ICMP-based method only)
15         * MESH does not work (mock API emulates for VPN)
16         * CHAT is experimental, has known bugs and was not reviewed yet
17         * FRAGMENTATION library is not implemented
18         * MONKEY is highly experimental
19
20         With this release we will finally start with
21         a detailed accounting of changes in the ChangeLog.
22
23 Thu Dec 23 23:33:05 CET 2010
24         Releasing GNUnet 0.9.0pre2.
25
26 Thu Oct  7 20:51:05 CEST 2010
27         Removed dependency on GNU MP (GMP). The code now uses the libgcrypt MPI
28         interface.
29
30 Sat Jul  3 20:47:45 CEST 2010
31         Releasing GNUnet 0.9.0pre1.
32
33 Wed Jun 23 16:34:38 CEST 2010
34         Added support for systemd-compatible passing of listen-sockets
35         by ARM to services as well as systemd compatibility for gnunet-service-arm
36         itself.  At least for non-MINGW systems this should work.
37
38 Sat Jun  5 18:08:39 CEST 2010
39         Added support for UNIX domain sockets, code also defaults to
40         them when available.
41
42 Sun May  2 13:49:10 CEST 2010
43         Fixed problem with platform-dependence of format for IP addresses
44         in HELLOs for TCP and UDP transport.
45         Reduced address length field in HELLOs to 16 bit (was 32 bit).
46         These changes break transport compatibility.
47
48 Fri Apr 16 18:19:05 CEST 2010
49         Nearly complete rewrite and new overall architecture.  Many
50         features are still missing, but basic system seems to be
51         working again.  Maybe time to again track major changes
52         in the ChangeLog.  Releasing 0.9.0pre0.
53
54
55 Sun Feb  1 19:51:40 MST 2009
56         Fixed Mantis #1429 (struct padding could cause sizeof
57         to be different on AMD64, using gcc-ism "packed" to
58         avoid this problem).
59
60 Sun Feb  1 00:37:16 MST 2009
61         Fixed problem in DHT client protocol that could cause
62         PUT requests from clients to be (frequently) lost.
63
64 Sun Nov  2 16:06:47 MST 2008
65         Fixed problem with MySQL disconnects in one module
66         impacting MySQL correctness in another module (caused
67         crashes).
68
69 Sat Aug 16 00:18:34 CEST 2008
70         Improved keyword extraction
71         Fixed expiration time of keywords
72         Releasing 0.8.0b.
73
74 Sun Jul 20 15:27:11 MDT 2008
75         Releasing 0.8.0a.
76
77 Thu Jul 10 00:59:31 MDT 2008
78         Fixed bug where datastore resizing would not
79         result in bloomfilter update during gnunet-update.
80
81 Sat Jun 28 23:43:00 MDT 2008
82         Fixed bug preventing namespace advertisements from
83         being processed.
84
85 Sat Jun 14 00:54:39 MDT 2008
86         Releasing 0.8.0.
87
88 Fri Jun 13 23:51:00 MDT 2008
89         GNUnet now compiles on OpenBSD.
90
91 Wed Jun 11 22:17:09 MDT 2008
92         Made state of gnunet-auto-share persistent.
93         Added support for multiple directories.  Improved
94         FSUI/ECRS APIs to reduce the number of threads needed
95         for probing.  Increased number of concurrent probes
96         allowed.
97
98 Sat Jun  7 17:54:49 MDT 2008
99         Simplified namespaces a lot.  Shorter timeouts for
100         trying to connect to gnunetd to prevent interactive
101         apps from blocking too long when gnunetd is not
102         running.
103
104 Sun Jun  1 21:11:54 MDT 2008
105         Releasing 0.8.0pre1.
106
107 Sun Jun  1 13:41:27 MDT 2008
108         Split of libgnunetpseudonym from libgnunetnamespace
109         (with major API extension and changes).
110
111 Tue May  6 04:10:02 MDT 2008
112         Added simple sanity check for [MODULES] values.
113         Added "-s" and "-q" options to gnunet-peer-info.
114
115 Thu Apr 24 00:05:17 MDT 2008
116         Simplified FSUI stop/abort/pause/resume API calls
117         (no need to pass FSUI context anymore).
118
119 Mon Apr 21 21:05:20 MDT 2008
120         Adding buffered IO for FSUI's serialize and
121         deserialize code.
122
123 Sun Apr 20 20:01:20 MDT 2008
124         Fixed bug in HTTP transport causing lonely messages
125         (responses to GET) not to be delivered.
126
127 Mon Mar 24 21:15:36 MDT 2008
128         Fixed various problems with downloading locally
129         indexed large files (downloading large files from
130         other peers should not have been a problem).
131
132 Sun Mar  2 15:33:41 MST 2008
133         Added option to allow user to disable IPv6 support.
134         Releasing 0.8.0pre0.
135
136 Sat Mar  1 21:14:02 MST 2008
137         Fixed some dstore performance issues.
138         Made transports alternate between trying IPv4 and IPv6
139         if both are available (since one of them maybe
140         misconfigured).
141
142 Mon Feb 25 23:25:48 MST 2008
143         Cleanup of the DNS code: removed GNUNET_IPvXAddress
144         and GNUNET_PRIP; centralized all DNS lookup code in
145         util/network/dns.c; improved IPv6 support for
146         network-client code.
147
148 Mon Feb 25 00:01:27 MST 2008
149         Added asynchronous search and download methods for
150         ECRS library.  FSUI now can do with only one thread
151         per search or download (until now, we had two
152         threads per search / download).
153
154 Tue Feb 19 20:35:28 MST 2008
155         Updated database schemata to support O(1) operations
156         even if there are N files under the same keywords.
157         This breaks database backwards compatibility (and
158         no migration code is provided).
159
160 Mon Feb 18 19:47:37 MST 2008
161         Added new options -u and -s to gnunet-insert.
162
163 Sat Feb 16 21:37:33 MST 2008
164         Implemented gnunet-auto-share for automatic
165         sharing of directories.
166
167 Thu Feb 14 01:02:32 MST 2008
168         Made HTTP transport work over IPv6 as well.
169
170 Wed Feb 13 22:59:07 MST 2008
171         Modified mySQL and SQLite datastores to return diverse
172         result sets during (partial) hash-based get iterations
173         (should result in more diverse keyword result sets).
174
175 Tue Feb 12 23:54:34 MST 2008
176         First shot at integrated hostlist HTTP server based
177         on libmicrohttpd.
178
179 Sat Feb  9 22:06:23 MST 2008
180         Minor changes to the ECRS/FSUI APIs for searches
181         (no more timeouts and/or max-results).  Clients who
182         need these features could easily implement them
183         directly (and they are not really useful to begin
184         with).
185         Also, the IPv4 and IPv6 protocols are being integrated
186         so that we only listen to one port (running both IPv4
187         and IPv6 over the same port).  This break transport
188         compatibility, but given that we're breaking protocol
189         compatibility for file-sharing already, this may
190         actually be a bit of a good thing (since it will now
191         be possible to tell if peers running the new GAP code
192         are connected to other peers running the new GAP code).
193
194 Sun Feb  3 13:17:09 MST 2008
195         Dramatic changes to the GAP implementation (breaking
196         protocol compatibility).  Essentially, we can save
197         a few bytes in each reply.  More importantly, the new
198         code allows the searching client to specify a set of
199         replies that are not desired (hopefully helping to
200         dramatically increase the diversity of search replies
201         obtained over time).  Note that the actual encoding
202         and databases are not affected (just P2P protocol).
203         The update is not complete yet, but should compile.
204
205 Tue Jan  8 20:07:20 MST 2008
206         Added option for testing ("make check") to use weak(er)
207         PRNG for key generation (thanks to Werner Koch for
208         pointing out how to do it).
209
210 Thu Dec 22 20:10:37 MST 2007
211         Releasing GNUnet 0.7.3.
212
213 Sun Dec  9 14:34:32 MST 2007
214         Implemented MySQL version of the dstore-module.  This
215         means that sqLite is now again truly optional.
216
217 Sat Dec  8 15:15:53 MST 2007
218         Integrated F2F topology into main topology module
219         (options are used to choose between F2F-only (old F2F),
220          minimum number of friend connections (NEW) or entirely
221          arbitrary connection set (default)).
222
223 Thu Dec  6 20:51:17 MST 2007
224         The SMTP transport is working again.
225
226 Thu Nov 22 20:49:16 MST 2007
227         United all libgnunetutil_*.so libraries into one big
228         libgnunetutil.so library (eliminates issues for binary
229         packagers and reduces file size by about 20%).  Also
230         made sure that all exported symbols start with "GNUNET_".
231
232 Sat Sep 29 16:48:24 MDT 2007
233         Improved MySQL sqstore module performance.
234         Releasing GNUnet 0.7.2c.
235
236 Sat Sep  8 18:01:36 MDT 2007
237         HTTP transport seems finally ready.
238
239 Sat Aug 25 23:58:21 MDT 2007
240         New and improved gnunet-setup GTK interface.
241
242 Mon Jul 30 00:07:44 MDT 2007
243         Releasing GNUnet 0.7.2b.
244
245 Sun Jul 29 01:53:32 MDT 2007
246         Fixing log rotation.
247
248 Sat Jul 21 23:42:11 MDT 2007
249         Radical changes to MySQL implementation (trying to
250         address certain scalability issues).
251
252 Sat Jul  7 00:22:47 MDT 2007
253         Releasing GNUnet 0.7.2a.
254
255 Fri Jul  6 22:54:52 MDT 2007
256         Fixed bugs in F2F topology code.  Eliminated a few
257         confusing LOG messages.
258
259 Sun Jul  1 20:35:00 MDT 2007
260         Fixed issue with too many TCP connections being
261         created.  Reduced CPU overheads by increasing
262         requirements for grouping of messages.  Improved
263         various error messages.
264
265 Sat Jun 30 01:55:34 MDT 2007
266         Improved bloomfilter recomputation after quota change.
267         Fixed bloomfilter size computation.  You must run
268         gnunet-update (will take a while).
269
270 Fri Jun 29 00:56:03 MDT 2007
271         Avoid re-connecting shortly after connection was shutdown.
272
273 Thu Jun 28 01:10:01 MDT 2007
274         Fixed high-latency problems for certain SQLite operations.
275         Also improved SQLite performance (but not scalability) a
276         bit.  Resolved MySQL disconnect crash (gnunetd would crash
277         if mysqld was stopped).
278
279 Sat Jun 23 16:56:03 MDT 2007
280         Improved CPU consumption from content migration code
281         by querying the DB less often, using the same content
282         for more peers (at the expense of 1 MB extra memory
283         utilization).  Fixed a deadlock.
284
285 Wed Jun 20 17:10:38 MDT 2007
286         Fixed bug in MySQL module.
287
288 Sun Jun 17 00:09:13 MDT 2007
289         Releasing GNUnet 0.7.2.
290
291 Sat Jun 16 04:43:20 MDT 2007
292         http transport is amost back, now needing the
293         new libmicrohttpd.  However, the code is still
294         highly experimental and not ready for production
295         use.
296
297 Fri Jun  8 23:44:01 MDT 2007
298         Fixed bugs preventing namespace search from
299         working.  Also extended testcase to cover
300         namespace search.
301
302 Tue May 29 23:15:27 MDT 2007
303         Fixed a major bug which resulted in peers without
304         traffic between them disconnecting (even if that
305         session was their only connection).
306         Fixed another major bug where nodes would not
307         properly forward HELLOs from other peers (given
308         certain common/default configuration options).
309
310 Sun May 27 22:39:48 MDT 2007
311         Added new API gnunet_testing_lib.h to make it
312         easier to write testcases that need to start
313         gnunetd.  API is now used everywhere and the
314         ugly peer.conf files and directories are gone.
315         Fixed a bug with inserting empty directories.
316         Extended ECRS API to allow partial file download.
317
318 Sat May 26 18:24:15 MDT 2007
319         Fixed bugs with testcases (changes in names and
320         structure of options were not reflected in .conf
321         files for various testcases).
322         Fixed issues with command-line option handling (failed to
323         override configuration file options).
324         Fixed bogus nesting in GAP routing algorithm (caused
325         random request drops).
326
327 Fri May 25 12:23:38 MDT 2007
328         Finished extended URITRACK API.
329         Renamed various (minor) libraries and function calls to
330         get somewhat more consistent naming conventions.
331
332 Sun Apr 15 22:15:37 MDT 2007
333         Implemented heuristic for better packing of gnunet-directories.
334
335 Sun Mar 25 13:47:08 MDT 2007
336         Releasing GNUnet 0.7.1c.
337
338 Wed Feb 28 15:29:05 MST 2007
339         Enabled abortion of gnunet-peer-info with CTRL-C.
340
341 Mon Feb 26 19:19:29 MST 2007
342         Fixed handling of -d option by gnunet-download
343         if -f option is not given.
344
345 Sat Feb 24 15:43:14 MST 2007
346         Fixed various bugs related to content expiration.
347         Completed message coverage in stats implementation.
348
349 Fri Feb 23 17:55:46 MST 2007
350         Fixed potential deadlock during download shutdown sequence.
351
352 Thu Feb 15 21:54:15 MST 2007
353         Added support for IO load detection.
354
355 Sun Feb 11 13:53:13 MST 2007
356         Releasing GNUnet 0.7.1b.
357
358 Thu Feb  8 13:21:34 MST 2007
359         Updating gettext to 0.16.1.
360         Minor bugfix in build process (#1180, #1181).
361         Minor bugfix in gnunet-search (#1179).
362
363 Sun Jan 28 02:43:37 MST 2007
364         Improving support for multiple choice configuration items
365         in gnunet-setup.
366
367 Sat Jan 27 16:02:02 MST 2007
368         Changing $-expansion for interpretation of configuration file
369         (again).  Also, now the base-path for gnunetd defaults to
370         "/var/lib/gnunet" instead of "/var/lib/GNUnet".
371
372 Tue Jan 23 19:48:37 MST 2007
373         Fixed problem with split-extractor keywords not being used
374         for uploads.
375
376 Tue Jan 16 21:43:26 MST 2007
377         Expanded transport APIs to avoid building messages for
378         transmission just to have them rejected by blocking TCPs
379         with full transmission queues (happened quite a bit).
380
381 Mon Jan  8 22:21:15 MST 2007
382         Making computation of send buffer permuations more
383         efficient (in terms of calling weak_randomi) by only
384         computing permuations over the actually selected messages.
385
386 Mon Jan  8 21:34:02 MST 2007
387         Forcing -O3 for crypto library (performance critical).
388         Enforcing message queue limit for daemon (somehow got lost
389         on the way to 0.7.1, was responsible for high CPU load).
390         Fixing cron job deletion in core (clean shutdown).
391
392 Sun Dec 31 23:56:31 MST 2006
393         ncurses may need "-lm" in order to link.
394         Releasing GNUnet 0.7.1a.
395
396 Sat Dec 30 00:21:49 MST 2006
397         DHT routing now seems to work (not integrated with file-sharing,
398         only for gnunet-dht-query).
399
400 Fri Dec 29 09:38:53 MST 2006
401         Added UPnP support to GNUnet (IPv4 only, #843).
402
403 Thu Dec 28 21:22:10 MST 2006
404         Hostname resolution with gnunet-peer-info implemented (#1076).
405         Proper linking of gnunet-pseudonym (#1161).
406         Drop group permissions when changing user (#1162).
407         gnunet-download support for directory files implemented (#1013).
408
409 Thu Dec 28 20:44:45 MST 2006
410         Hopefully fixing build problems on certain systems with
411         unusual installation of iconv.
412
413 Tue Dec 26 20:54:03 MST 2006
414         Added additional gnunet-gtk options to client configuration
415         specification file.
416
417 Sun Dec 24 18:06:04 MST 2006
418         Limit memory utilization by select write queue.
419         Improved select write buffering (fewer malloc/free
420         operations and less copying).
421
422 Sat Dec 23 22:12:17 MST 2006
423         Updated various man pages and some configuration documentation.
424         Fixed TCP transport (did not work with NAT if port was set to 0).
425         Fixed verbose option for gnunet-transport-check.
426         Updated hostlist scripts in contrib/ to reflect new protocol IDs.
427         Allow aborting of gnunet-transport-check with CTRL-C.
428         Allow testing of bi-directional transports behind NAT with
429         gnunet-transport-check.
430
431 Fri Dec 22 19:21:25 MST 2006
432         Added option to set maximum number of file descriptors
433         (convenience for OS X users where the default is too low).
434         Releasing GNUnet 0.7.1.
435
436 Thu Dec 21 20:03:07 MST 2006
437         Fixed gnunet-insert "-e" option.  Fixed various
438         crashes in client code.  Improved OS X portability.
439
440 Tue Dec 19 19:03:48 MST 2006
441         Allowing GNUnet (without gnunet-setup) to be build
442         on systems without guile.
443
444 Sun Dec 17 16:54:33 MST 2006
445         Various improvements for OS X portability.
446         CPU load detection fix for Solaris.
447
448 Sat Dec 16 11:42:13 MST 2006
449         Bugfixes in collection library (gnunet-pseudonym).
450
451 Mon Dec 11 21:11:54 MST 2006
452         Implemented ncurses/dialog based gnunet-setup wizard.
453         Releasing GNUnet 0.7.1pre2.
454
455 Sun Dec 10 00:36:11 MST 2006
456         Fixed load calculation code.  More aggressive utilization
457         of available resources.
458
459 Mon Dec  4 13:24:12 MST 2006
460         Releasing GNUnet 0.7.1pre1.
461
462 Wed Nov 29 22:20:26 MST 2006
463         Fixed various bugs with (de)serialization of FSUI state
464         and closing searches with associated downloads.  Extended
465         FSUI test suite.
466
467 Mon Nov 27 08:51:46 MST 2006
468         Added conversion of ECRS error messages to FSUI
469         error event messages.
470
471 Sun Nov 19 00:20:14 MST 2006
472         Improved error handling.  gnunetd now can communicate
473         text error messages to clients (not just error codes).
474
475 Wed Nov 15 23:17:36 MST 2006
476         Fixed expiration time setting.  Improved bias of
477         migration towards valuable content.
478         Releasing GNUnet 0.7.1pre0.
479
480 Wed Nov  1 20:58:44 MST 2006
481         Fixed MySQL database size underreporting.
482
483 Wed Nov  1 13:09:53 MST 2006
484         Fixed some problems with index creation in sqlite
485         datastore (discovered with new sqlite benchmarking
486         code).  Performance should improve significantly
487         (observed was a factor of 4-10 depending on
488         database size and operation).
489
490 Thu Oct 19 23:44:24 MDT 2006
491         Completed huge update to FSUI API (not fully debugged).
492         Major changes include:
493         * clients can associate pointer with each action
494         * abort methods can cancel action (but do not stop everything)
495         * upload and unindex operations can now be suspended and resumed
496         * cleaned up naming conventions
497
498 Thu Sep 14 23:44:17 MDT 2006
499         Breaking UDP transport protocol compatibility -- some
500         fields have to be switched around to make it work with
501         the new select code.  Expect to see some warnings when
502         interacting with 0.7.0 peers.
503
504 Tue Sep  5 21:28:25 PDT 2006
505         Switched ncurses interface of gnunet-setup to use
506         external dialog library (new dependency!).
507
508 Fri Aug 18 00:01:37 PDT 2006
509         Swiched http bootstrap mechanism to using libcurl
510         (new dependency!).
511
512 Sat May 20 08:37:02 PDT 2006
513         Releasing GNUnet 0.7.0e.
514
515 Sun May 14 02:51:15 PDT 2006
516         Major gnunet-setup GTK code cleanup (now uses libglade).
517
518 Sat May 13 19:35:49 PDT 2006
519         Made headers more C++ friendly.
520
521 Wed May 10 22:11:17 PDT 2006
522         Fixing bug that could result in hanging the UDP transport;
523         found by Luigi Auriemma (thanks!).
524
525 Sat May  6 00:17:59 PDT 2006
526         Releasing GNUnet 0.7.0d.
527
528 Fri May  5 01:33:42 PDT 2006
529         Fixed bug with priorities of IBlocks of uploaded content
530         (priority was left at zero, making those blocks be
531         possibly discarded rather quickly once the datastore filled
532         up).
533
534 Tue May  2 00:01:25 PDT 2006
535         Fixed bug in gap where the tracking of query origins for
536         optimizing routing paths lacked a simple assignment of the
537         query origin (found by code inspection).  As a result,
538         routing performance should improve further.  Also fixed
539         small memory leak in gap and reduced memory consumption by
540         fixing Mantis #1058.
541
542 Sat Apr 22 13:50:39 PDT 2006
543         Fixed bug in util/cron.c where stopCron() would wait for an
544         unnecessary sleep to complete.
545
546 Sat Mar 18 12:54:11 PST 2006
547         Releasing GNUnet 0.7.0c.
548
549 Thu Mar 16 22:14:01 PST 2006
550         Fixing various routing problems (resulting in better utilization
551         of bandwidth by routing more content and less queries).
552
553 Wed Mar 15 00:00:14 PST 2006
554         Fixing various content migration bugs (one that disabled it,
555         one that made it unlikely that migration was even tried, and
556         then various crashes in formerly dead code).
557
558 Mon Jan 23 19:04:17 PST 2006
559         Added Swedish translation.
560
561 Sun Jan  1 21:35:59 PST 2006
562         Reduced amount of hashing done to be O(n) and not O(n^2) for
563         n local search results (for example, for 100 results, this can
564         make the difference between hashing 200 MB and hashing 20 MB).
565
566 Sat Dec 31 17:02:37 PST 2005
567         Added support for using -k multiple times in gnunet-pseudonym.
568
569 Wen Dec 28 00:22:54 CET 2005
570         Fixed deadlock in http transport.
571
572 Fri Dec 23 17:17:18 PST 2005
573         Releasing GNUnet 0.7.0b.
574
575 Sat Nov 19 16:00:16 PST 2005
576         Releasing GNUnet 0.7.0a.
577
578 Fri Oct  7 15:28:02 PDT 2005
579         Fixing Mantis #946.
580
581 Thu Sep 15 23:56:39 PDT 2005
582         Fixed various gcc 4.0 warnings.
583
584 Sun Aug 28 15:29:56 PDT 2005
585         Releasing GNUnet 0.7.0.
586
587 Sun Aug 28 01:46:26 PDT 2005
588         Updated German translation.
589
590 Tue Aug 23 00:45:57 PDT 2005
591         Fixed undersynchronization that may result in segv if pending
592         download was cancelled.
593
594 Mon Aug 22 00:37:11 PDT 2005
595         Made "UPDATE" use a prepared statement in MySQL datastore.
596
597 Sun Aug 21 23:08:57 PDT 2005
598         Fixed bugs causing unnecessary long delays for downloads from
599         loopback.  Also now bypassing routing table for loopback download
600         (faster, avoids pollution of the routing table when not needed).
601
602 Sun Aug 21 18:42:14 PDT 2005
603         Fixed memory leak in gnunet-insert -R.  Improved memory utilization
604         by SQlite dramatically (see discussion on gnunet-developers).
605
606 Sat Aug 20 21:04:28 PDT 2005
607         Fixed (rare) segmentation fault in insertion code.
608
609 Sat Aug 20 19:31:10 PDT 2005
610         Yet another tiny bug -- but one that hangs gnunetd; fixed in pre6a.
611
612 Sat Aug 20 13:51:01 PDT 2005
613         Releasing 0.7.0pre6.
614
615 Sat Aug 20 12:51:27 PDT 2005
616         Changed sqlite data format to avoid encoding-decoding
617         (breaks compatibility with previous datastores, in particular
618          since conversion code is NOT provided).
619          The page size was also increased, rendering the database files
620          incompatible, too.
621
622 Thu Aug 18 21:18:28 PDT 2005
623         Made quotations match GNU standards.
624
625 Wed Aug 17 20:05:19 PDT 2005
626         Fixed bug that would prevent P2P messages from being
627         transmitted under certain (common) circumstances.
628
629 Mon Aug 15 00:08:47 PDT 2005
630         Bugfest.  Fixed various bugs in MySQL, fragmentation,
631         core and fs (see Mantis for more details).
632
633 Mon Jul 18 01:03:05 CEST 2005
634         Alpha-rename fest.  Releasing 0.7.0pre5.
635
636 Sun Jul 17 13:49:40 CEST 2005
637         Fixed problems with struct alignment on 64-bit
638         AMDs.  Fixed recently introduced memory leak.
639         Fixed various compiler warnings.
640
641 Sat Jul 16 23:55:31 CEST 2005
642         Fixed various minor problems with platforms
643         without gettext/NLS support and for 64-bit size_ts.
644         Also fixed a couple of other compiler warnings.
645         Cleaned up connection.c code.
646
647 Mon Jul 11 14:41:18 CEST 2005
648         Fixed tiny memory leak in http_bootstrap.
649
650 Mon Jul 11 02:22:24 CEST 2005
651         Fixed long-standing problems in statuscalls wrt
652         network load estimates, leading to too-high bandwidth
653         consumption on average.  Fixed minor memory leaks.
654         Fixed far too often session-key exchange (was done
655         also for sessions that were already up).
656
657 Thu Jul  7 15:22:21 CEST 2005
658         Fixed bug in identity, missing ntohs for protocol ID.
659         Fixed bug in topology, wrong calculation of saturation.
660
661 Wed Jul  6 22:34:30 CEST 2005
662         Fixed bugs in core with respect to possible infinite
663         recursion caused by fragmentation callbacks.  Also
664         differenciated between fatal transport sends and
665         transient transport sends.  Cleanup of some APIs.
666
667 Sat Jul  2 17:21:07 CEST 2005
668         Fixed bugs in gnunet-pseudonym (listing of namespaces),
669         FSUI (double-free for namespace creation), cleaned up
670         APIs and implemented clearing of completed downloads
671         (FSUI). Releasing 0.7.0pre4.
672
673 Fri Jul  1 15:08:42 CEST 2005
674         Added statistics for transports and other connection-
675         related functions.  Prevented core from dropping
676         messages just because transport is (temporarily)
677         blocked.  Made transport selection in identity random
678         again where necessary.
679
680 Thu Jun 30 20:05:15 CEST 2005
681         Added cache for KBlocks (can speed up insertion speed
682         for recursive inserts quite a bit).
683
684 Thu Jun 30 13:52:17 CEST 2005
685         Enabled IPv6 by default.  Fixed various minor bugs.
686
687 Tue Jun 28 13:41:58 UTC 2005
688         Fixed various open FIXMEs, including error handling,
689         bad performance and some memory leaks (gnunet-tools
690         only, not in gnunetd).
691
692 Mon Jun 27 17:21:09 CEST 2005
693         Fixed double-free segfault.
694         Fixed problem with session timeout not happening.
695         Fixed issue with too lazy slot reclaim for reconnect.
696         Made reconnect scanning more incremental (1/10th of
697         the work every 500ms instead of full work every 5s).
698         Fixed memory leak in advertisement processing.
699
700 Sun Jun 26 18:21:17 CEST 2005
701         Plenty of bugfixes everywhere, gnunet-setup works
702         now.  Releasing 0.7.0pre3.
703
704 Sat Jun 11 11:25:24 EST 2005
705         Fixed various problems with recursive upload
706         (thread stack size too small, wrong filenames
707         passed around, wrong list of filenames updated).
708
709 Sat Apr  2 01:54:23 EST 2005
710         Various bugfixes, some of them critical (segfaults,
711         protocol errors (resulting in failures to connect),
712         old version of configuration file would be
713         generated if configuration was missing,
714         gnunet-insert would not properly work with multiple
715         keywords (-k and -K options)). Releasing 0.7.0pre2.
716
717 Thu Mar 31 21:38:06 EST 2005
718         Releasing 0.7.0pre1.
719
720 Tue Mar  8 14:45:55 EST 2005
721         OpenSSL cannot fully support SHA-512.  Eliminated as an
722         option (not necessary, GPL incompatible, trouble, work
723         to maintain -- in summary: not worth it).
724
725 Sat Mar  5 00:33:51 EST 2005
726         Changing hash algorithm to SHA-512.
727         Changing symcipher algorithm to AES-256.
728
729 Sun Feb 27 21:59:31 EST 2005
730         All unit testcases pass.  Releasing 0.7.0pre0.
731
732 Sat Feb 12 17:35:08 EST 2005
733         Fixed mysql-test.  Changed MySQL to use prepared statements,
734         avoids conversion (mysql_escape_string) and is faster on the
735         server-side, too.
736
737 Wed Dec 15 20:47:40 EST 2004
738         Removed support for password encryption of namespace keys.
739         Hardly used and adds hardly any security.  Encrypt /home if
740         you need this, would be more effective anyway.
741
742 Fri Nov 26 06:27:12 EST 2004
743         Sessionkey exchange works now, at least with OpenSSL.  There
744         seems to be some quirk in some version of libcrypt with
745         respect to RSA encryption.  Anyway, it is a heisenbug (sometimes
746         RSA decryption does not result in what was originally
747         encrypted), but I have the feeling this problem existed
748         already in 0.6.5 -- and it is now detected and does not
749         occur all the time.
750
751 Tue Nov 23 02:35:50 EST 2004
752         The CVS may look like it's compiling, but that's just because
753         most of the service modules are not even attempted.
754         And without those, nothing will work.  But in good news,
755         util, transport and server do compile now.
756
757 Sun Nov 21 03:53:22 EST 2004
758         Starting to make incompatible changes.  Once this is commited
759         to CVS (which will only happen once at least some parts compile
760         again), this version will no longer be compatible with any
761         previously released version of GNUnet (and highly experimental).
762         Do not yet use the new code on-line, do not expect it to work
763         at all!
764
765 Sun Nov 14 16:49:02 EST 2004
766         Debugged collections, seems to work (not that it looks pretty,
767         but it basically works, the rest is UI work).  Fixed deadlock
768         in gnunet-gtk logging.  Releasing GNUnet 0.6.5.
769
770 Thu Nov  4 09:04:48 EST 2004
771         Added (highly experimental) support for collections.
772
773 Sat Sep 25 22:29:48 EST 2004
774         Releasing GNUnet 0.6.4a.
775
776 Sun Sep 19 23:39:04 EST 2004
777         Various code cleanups and minor bugfixes.
778
779 Sun Aug 29 15:11:28 IST 2004
780         Releasing GNUnet 0.6.4.
781
782 Tue Aug 24 20:59:14 IST 2004
783         Significant enhancements to namespaces.  A namespace can
784         now be annotated with meta-data at the time that it is
785         created.
786
787 Sat Aug 21 01:00:06 IST 2004
788         Adding GNU gettext support to configure.
789
790 Thu Aug 19 01:26:55 IST 2004
791         Migrating gnunet-gtk to GTK 2.0 (tested with 2.4).
792
793 Mon Aug 16 00:30:59 IST 2004
794         Removed gcry.  Added dependency on GNU MP library (libgmp)
795         for kblocks.
796
797 Tue Aug  3 17:57:43 IST 2004
798         Fixed bugs in gnunet-update.  Fixed segfault in AFS startup.
799         Fixed warnings in gnunet-peer-info/gnunetd.  Fixed packaging
800         error (not all of util/gcry included in distribution).
801         Releasing GNUnet 0.6.3a.
802
803 Mon Aug  2 20:06:07 IST 2004
804         Releasing GNUnet 0.6.3.
805
806 Sun Aug  1 01:31:19 IST 2004
807         Changed most places from HexName to the new, shorter EncName.
808         Pushed URIs for namespaces and keyword searches into more
809         widespread use.  Replaced all occurences of sprintf with
810         SNPRINTF (to obtain extra bounds check).
811
812 Sun Jul 11 13:54:01 IST 2004
813         Moved testcases for libgnunet_util to util/ directory.
814         Made DB testcases in afs/module/ run for each available
815         database and not just the one configured in /etc/gnunet.conf.
816
817 Fri Jun 25 21:05:59 IST 2004
818         Releasing GNUnet 0.6.2b (resolves various minor bugs).
819
820 Wed May  5 17:34:39 EST 2004
821         Releasing GNUnet 0.6.2a (resolves libgcrypt and packageing
822         issues, improved gtk-statistics, other minor bugfixes).
823
824 Fri Apr 30 21:36:23 EST 2004
825         Fixed synchronization problem in cron (only relevant for
826         parallel downloading).  Releasing GNUnet 0.6.2.
827
828 Mon Apr 26 21:13:45 EST 2004
829         Added support to gnunet-check to convert file index database
830         to new design.  Removed support for pre 0.6.1b bloomfilter
831         conversion (would have been too messy to support both).
832         Added old-version check to gnunetd startup to make updates
833         more systematic in the future (not perfect, though).
834
835 Mon Apr 26 19:27:29 EST 2004
836         Recursive insertion of directories with gnunet-gtk
837         now works including the progress bar.
838
839 Sun Apr 25 18:24:55 EST 2004
840         Global changes to fix bug #698.  The fix is still
841         incomplete with respect to pthread.h specific structs.
842
843 Sun Apr 25 15:20:29 EST 2004
844         Fixed compile error in IPv6 transports.
845
846 Fri Apr 23 23:38:01 EST 2004
847         Added recursive insertion of directories to gnunet-gtk.
848         Progress-bar does not work yet, also libextractor is
849         always used (no option to turn it off).
850
851 Fri Apr 23 21:49:18 EST 2004
852         Removed need to specify _protocol in configuration file
853         (shorter is better).
854
855 Wed Apr 21 23:32:36 EST 2004
856         Added code to bound priority used by clients by twice the
857         average priority of requests from other peers that are
858         routed at the moment.  That prevents clients from exposing
859         themselves with excessively high priorities (and also
860         avoids giving too much credit/trust needlessly).
861
862 Tue Apr 20 22:27:19 EST 2004
863         Added possibility of using a link instead of making a copy
864         if gnunetd and the insert-client both run on the same machine.
865
866 Tue Apr 20 00:00:58 EST 2004
867         Added network transparency for indexing files (by copying
868         them to a GNUnet(d) specific directory).  This breaks
869         unindexing (for files indexed with previous versions) and
870         forces the user to make a copy of the file.  In the near
871         future we should resolve this problem by allowing the use
872         of a link.
873
874 Sun Apr 18 17:24:34 EST 2004
875         Adding recursive, parallel download of directories to
876         gnunet-download
877
878 Sun Apr 18 01:57:32 EST 2004
879         gnunet-transport-check can now be used to check
880         external connectivity (with other peers).
881
882 Sat Apr 17 17:46:19 EST 2004
883         Reduced memory consuption for AFS insertion and
884         download.
885
886 Sat Apr 10 21:17:46 EST 2004
887         Implemented statistics-plot in gnunet-gtk based on
888         gnome-system-monitor code.
889
890 Fri Apr  9 22:01:51 EST 2004
891         Added support for libextractor > 0.2.7.
892
893 Fri Apr  9  0:29:20 EST 2004
894         Completed --help conversion.
895
896 Wed Mar 31 15:40:51 EST 2004
897         Releasing 0.6.1d.
898
899 Tue Mar 30 22:42:13 EST 2004
900         Integrated gnunet-pseudonym-create, -delete and -list into
901         gnunet-pseudonym as well as gnunet-directory-list, -emptydb
902         and -print into gnunet-directory.
903
904 Tue Mar  2 10:46:01 EST 2004
905         Fixing bug preventing download for indexed files <= 1k.
906
907 Sat Feb 28 03:43:34 EST 2004
908         Releasing 0.6.1c.
909
910 Sat Feb 21 06:16:47 EST 2004
911         Modified requestmanager to improve performance at the end of the
912         download.
913
914 Thu Feb 19 00:48:33 EST 2004
915         Fixed integer underflow possibly causing slow download performance.
916
917 Sun Feb 15 15:17:05 EST 2004
918         Fixed weak key failures with libgcrypt.
919
920 Sun Feb 15 13:14:44 EST 2004
921         New routing code (untested) commited.
922
923 Sun Feb 15 11:58:10 EST 2004
924         Fixing problem with 64-bit size_t on alpha (#655).
925
926 Sat Jan 31 04:32:33 EST 2004
927         Releasing 0.6.1b.
928
929 Fri Jan 23 00:00:09 EST 2004
930         Fixed indexed content being overwritten by migrated content
931
932 Thu Jan 22 19:27:33 EST 2004
933         Fixed integer-overflow problems in statuscalls.
934         Fixed missing ttl/priority adjustment for NS-Queries.
935         Fixed bug in routing that would let very old queries survive.
936
937 Thu Jan 15 23:14:54 EST 2004
938         Fixed size of super-bloomfilter (was factor of 32 to small).
939         Fixed option -r of gnunet-check (would not increment bloom filters
940         to appropriate value).
941
942 Wed Dec 31 17:07:40 EST 2003
943         Fixed various routing and bandwidth allocation problems.
944         Releasing 0.6.1a.
945
946 Wed Dec 24 00:00:00 EST 2003
947         Releasing 0.6.1.
948
949 Fri Dec 19 00:57:29 EST 2003
950         NAT transport passes tests.
951
952 Sat Dec 13 00:16:41 EST 2003
953         Added NAT transport.
954
955 Thu Oct 16 19:20:29 EST 2003
956         Added greedy knapsack heuristic for use by CPU-overloaded
957         systems.
958
959 Mon Oct 13 22:36:45 EST 2003
960         Improved gnunet-gtk code that forks of gnunetd (some extra checking,
961         use fork-exec instead of system(), pass configuration file as
962         argument).
963
964 Sun Oct 12 03:42:55 EST 2003
965         Split bandwidth montoring into up and downstream.
966         Why stop sending replies merely because we *receive* traffic!?
967         Also reduced frequency of HELO exchange.
968         Added more statistics (traffic by type).
969
970 Fri Oct 10 02:05:13 EST 2003
971         Fixed bug that wasted a lot of CPU time.
972         Better CPU usage control by making knapsack
973         solving (frequency and problem size) dependent
974         on CPU load.
975
976 Thu Oct  9 14:29:35 EST 2003
977         Releasing 0.6.0a.
978
979 Sun Oct  5 21:35:23 EST 2003
980         GNUnet 0.6.0 released.
981
982 Sat Oct  4 12:54:55 EST 2003
983         Fixed bug in timer code (discovered in testcase).
984         Added extensive testcases for platform dependent code.
985
986 Fri Sep 19 01:38:00 EST 2003
987         Added code to allow namespace queries to return multiple
988         results.  Updates are now displayed in separate tabs.
989
990 Wed Sep 17 23:54:15 EST 2003
991         Migrated libgcrypt code in util to comply with
992         libgcrypt 1.1.43 (and it passes the tests just fine)
993
994 Wed Sep 17 22:59:16 EST 2003
995         Fixed problems with updates in namespaces in the GTK code.
996         Added boolean search capability (x AND y) to GTK search.
997         Made namespace search frequency respect TTL delays.
998
999 Thu Aug 21 19:42:57 EST 2003
1000         GNUnet 0.5.5 released.
1001
1002 Tue Aug 12 20:48:39 EST 2003
1003         Support for namespaces with updates is there,
1004         but requires testing.
1005
1006 Sun Jul 27 14:48:19 EST 2003
1007         Added download summary window to gnunet-gtk.
1008
1009 Fri Jul 25 14:15:37 CET 2003
1010         Unioned gnunet-insert-multi and gnunet-insert-sblock
1011         into gnunet-insert.
1012
1013 Thu Jun 26 23:22:12 EST 2003
1014         Added draft support for directories.
1015
1016 Thu Jun 26 23:21:41 EST 2003
1017         GNUnet 0.5.4a released
1018
1019 Sat Jun 14 19:21:41 EST 2003
1020         Added support for HTTP-PROXY to download the hostlist.
1021
1022 Wed May 29 01:13:15 EST 2003
1023         Fixing some ugly bugs in connection.c that caused
1024         permanent connection-drop and connection-establish
1025         cycles (every 5 minutes).
1026
1027 Sat May 24 03:12:42 EST 2003
1028         Migrated subset of libgcrypt into GNUnet tree to use
1029         it instead of OpenSSL or libgcrypt.  RSA in the new
1030         code is broken at the moment.
1031
1032 Sun May 18 04:10:25 EST 2003
1033         GNUnet 0.5.4 released.
1034
1035 Sat May 10 21:39:35 EST 2003
1036         Only download hostlist after a while if we were
1037         not able to connect (to reduce load on hostlist
1038         servers).
1039
1040 Fri May  2 23:20:15 EST 2003
1041         Added code to handle massive collisions in datastore
1042         (thousands of files under the same keyword).
1043
1044 Sun Apr 27 23:52:12 EST 2003
1045         GNUnet 0.5.3 released.
1046
1047 Wed Apr 23 03:20:21 EST 2003
1048         Build system cleanup, location of mysql, gdbm, tdb and
1049         db can now be specified.
1050
1051 Mon Apr 21 01:54:24 EST 2003
1052         Made random content selection with pIdx faster
1053         (do not read entire pidx files) and fully random
1054         (added code to weigh pidx files by number of entries).
1055
1056 Sun Apr 20 23:25:45 EST 2003
1057         Fixed double-free in TCP transport code (seems to have
1058         only had a real chance to occur under BSD in practice).
1059
1060 Sat Apr 19 14:42:37 EST 2003
1061         Replaced use of dlopen for plugins with the more
1062         portable ltdl from libtool.
1063
1064 Thu Apr 17 20:36:42 EST 2003
1065         Added synchronization to pIdx, also use truncate
1066         to remove last n entries instead of re-writing the
1067         entire file (much, much faster).
1068
1069 Mon Apr  7 00:00:07 EST 2003
1070         Implemented gnunet-delete.
1071
1072 Sat Apr  5 15:55:31 EST 2003
1073         Made directory database use 256 sub-directories
1074         (should increase speed a lot, with the new DB
1075         manager, this will result in at most 2048
1076         files per directory).
1077
1078 Mon Mar 31 16:51:24 EST 2003
1079         gnunet-convert and gnunet-check compile again
1080         with the new DB code.
1081
1082 Sun Mar 30 13:14:52 CET 2003
1083         Added BSD DB (libdb) support.
1084
1085 Sun Mar 23 04:04:38 EST 2003
1086         Big gnunet-gtk cleanup.
1087
1088 Tue Mar 18 01:52:18 EST 2003
1089         Releasing 0.5.2a.
1090
1091 Sun Mar 16 20:24:24 EST 2003
1092         Caching of RSA signatures for HELOs reduced CPU
1093         usage dramatically, from an average of 31% to less
1094         than 5% on my machine.
1095
1096 Sun Mar 16 01:21:16 EST 2003
1097         Fixed locking problem and problem with TCP transport
1098         (bad set of sockets in select).
1099
1100 Sat Mar 15 03:02:42 EST 2003
1101         Fixed bug that copied wrong content (garbage) into
1102         replies for other peers.  This one was introduced
1103         briefly before 0.5.2. Argh.
1104
1105 Fri Feb 28 00:23:02 EST 2003
1106         Fixed segfault in gnunet-gtk when closing search
1107         sub-window.
1108
1109 Thu Feb 27 16:23:20 EST 2003
1110         Releasing GNUnet 0.5.2.
1111
1112 Mon Feb 24 00:28:52 EST 2003
1113         Cleaning up the AFS routing code, also some tweaks
1114         to improve anonymity against an active attacker.
1115
1116 Thu Feb 20 23:51:30 EST 2003
1117         gnunet-tracekit works now nicely (and with dot).
1118         Also, GNUnet now attempts to locate a configuration
1119         file in /etc/gnunet.conf if ~/.gnunet/gnunet.conf
1120         does not exist (and nothing is specified on the
1121         command line).
1122
1123 Wed Feb 12 23:21:44 EST 2003
1124         Fixed deadlock between pingpong and connection
1125         module.
1126
1127 Tue Feb  4 13:22:09 EST 2003
1128         Releasing GNUnet 0.5.1(a).
1129
1130 Tue Feb  4 04:05:58 EST 2003
1131         RSA encryption of OpenSSL has been changed to pure
1132         PKCS #1 to achieve compatibility with libgcrypt.
1133
1134 Mon Feb  3 18:46:54 EST 2003
1135         RSA signature encoding has been changed from raw
1136         to PKCS #1 compatible encoding. This should help
1137         making the migration to libgcrypt easier in the
1138         future. RSA & libgcrypt are still not friends,
1139         but the GNUnet code should be mostly there.
1140
1141 Fri Jan 31 10:40:01 EST 2003
1142         gnunet-peer-info tool was added. This tool can
1143         prints information about all known peers and may
1144         be useful for diagnostics.
1145
1146 Mon Jan 20 17:54:51 EST 2003
1147         A large number of memory leaks got fixed thanks
1148         to the new automated scripts to find them.
1149
1150 Thu Jan 16 00:49:20 EST 2003
1151         Nearly finished removing dependencies on OpenSSL
1152         (using libgcrypt instead), $FOO-expansion in
1153         configuration parsing and RSA (public key crypto)
1154         are the only missing pieces.
1155
1156 Mon Jan 13 01:53:45 EST 2003
1157         Fixed deadlock in gnunetd (would stop processing
1158         messages).
1159
1160 Sun Dec 27 13:34:11 CET 2002
1161         Fixed segmentation fault that occured when number
1162         of known peers goes over 128.
1163
1164 Sat Dec 21 16:27:11 CET 2002
1165         Releasing GNUnet 0.5.0.
1166
1167 Sat Dec 14 03:47:05 CET 2002
1168         Bugfixes over bugfixes. Various memory leaks
1169         from gnunetd to gnunet-download, problems
1170         with bloomfilters and gnunet-check, enforcing
1171         storage limitations set by the user, fixes
1172         in the UDP, TCP and SMTP transports;
1173         better thread termination (avoid asynchronous
1174         cancellation). Not to mention the new
1175         tools gnunet-transport-check and gnunet-tbench
1176         for the evaulation of correctness and performance
1177         of the transport services.
1178
1179 Wed Nov  6 22:49:24 EST 2002
1180         Added load smoothing for network and CPU load
1181         such that we quickly adapt to increasing load,
1182         but slowly reduce the (effective) load value
1183         used in the policy if the load drops. This should
1184         help avoiding 0-1 policies where we always jump
1185         up and down between 100% load and no load, letting
1186         in one period all traffic through and in the next
1187         none.
1188
1189 Wed Nov  6 00:31:39 EST 2002
1190         Added port==0 for UDP and TCP transport as an
1191         option to indicate that the transport is to be
1192         used only to establish connections to other
1193         peers but not as a server-socket (that is,
1194         if the port is 0, other GNUnet peers can not
1195         connect to the local node's UDP or TCP port,
1196         but the local node can still use UDP
1197         (unidirectional) or TCP (even bi-directional)
1198         to talk to other peers. This is useful if a
1199         node is behind a NAT box and can not receive
1200         inbound traffic but is able to send messages to
1201         other peers (and in the case of TCP even receive
1202         messages if the local peer initiated the
1203         bi-directional connection). Currently, a peer
1204         must always provide at least one transport under
1205         which the peer can be "actively" reached since
1206         otherwise other peers will not keep the public
1207         key of that peer and thus not be able to
1208         complete the session key exchange. For NAT-box
1209         peers, SMTP might be a viable choice for that
1210         "active" protocol.
1211
1212 Fri Oct 11 02:16:42 EST 2002
1213         Added bloomfilter interface and calls to the BF from
1214         the AFS service implementation. Missing for working
1215         bloomfilter are calls from gnunet-insert to update
1216         the bloom-filter (top-CHK and super-queries) and the
1217         actual bloom-filter implementation.
1218
1219 Tue Oct  8 20:35:45 EST 2002
1220         TCP transport now works with only one thread (using
1221         select) instead of one thread per peer-connection.
1222
1223 Fri Sep 27 02:24:52 EST 2002
1224         New content encoding (still only 1k blocks, but with
1225         CHK style IBocks and GBlocks for aggressive content
1226         migration) now seems to work.
1227
1228 Mon Sep 16 01:57:55 EST 2002
1229         Implemented gnunet-chat, a demo-application for
1230         how to develop p2p applications on top of GNUnet.
1231
1232 Sun Sep 15 22:48:28 EST 2002
1233         Fixing (long standing) problem with segfaults under BSD
1234         due to stack overflow in threads.
1235
1236 Sun Sep 15 02:04:52 EST 2002
1237         TCP transport layer implementation seems to work now.
1238         gnunet.conf is now documented on the web. HELO exchange
1239         is fixed, so is the CS-connection whitelisting.
1240
1241 Fri Sep 13 00:51:01 EST 2002
1242         Update on the progress towards 0.4.9. What is missing?
1243         * new content encoding to facilitate:
1244           - content migration
1245           - discriminated routing (downloads vs. searches)
1246           - variable blocksize (?)
1247           - self-synchronizing stream encoding (?)
1248         * additional transport layers (SMTP, TCP, HTTP)
1249         * demo application (chat) for how to use the API
1250         * documentation on new gnunet.conf
1251         * known bugs:
1252           - Igor reports, HELO exchange is broken
1253           - David reports, CS-connection whitelisting is broken
1254           - rpm.spec is outdated (add GNUnet's dynamic libraries)
1255
1256         What has been resolved so far:
1257         Major:
1258         * transport and application layer have been abstracted
1259         * dynamic loading of transports and applications is
1260           implemented
1261         * routing much faster since slots are freed earlier
1262         * querymanager is more intelligent in where to send
1263           queries (presumably, not tested)
1264
1265         Refactoring:
1266         * configuration can store options from commandline
1267         * statistics is totally dynamic and can be extended
1268         * connection buffer does callbacks on applications to
1269           fill buffers with queries instead of noise, and
1270           the querymanager makes use of this
1271
1272         Moving:
1273         * common/ is gone
1274         * gnettypes.h is gone
1275         * AFS specific code is all in AFS
1276         * renaming is also done
1277
1278 Sun Aug 25 15:30:56 EST 2002
1279         Moving work towards 0.4.9 to CVS. The major goals are:
1280         * independent transport layer (UDP, TCP, SMTP, HTTP,
1281           any of these should be possible in the future); also,
1282           the MTU may be defined differently by any one of them.
1283         * independent application layer. Anonymous File Sharing
1284           (AFS) should just be one application for the GNUnet
1285           core.
1286
1287         Other minor goals and refactorings include:
1288         * configuration - we should be able to update dynamically
1289           options from the gnunet.conf file. E.g. by adding options
1290           from the command line
1291         * statistics - we should not have a hardwired fixed set
1292           of datapoints, the statistics module should be useful
1293           for any kind of statistics
1294         * noise reduction - the connection buffer should allow
1295           the use of intelligent applications that get notified
1296           if noise would be send and then can plug in useful data
1297
1298         And then there is just moving stuff:
1299         * move "common/" to where it belongs (either applications
1300           or server)
1301         * gnettypes is bad if we want to seperate app specifcs
1302           and core. The typedefs should be placed where they are
1303           used
1304         * database does not belong in util, it's AFS specific
1305         * AFS: cleaner separation between database, encoding,
1306           protocol implementation, shell-tools and GUI code.
1307
1308         And finally, renaming:
1309         * if we have TCP for peer-to-peer communications,
1310           we can't use "TCP" vs. "UDP" to distinguish p2p from
1311           client-server, thus: "UDP" becomes "p2p" and "TCP"
1312           becomes "CS". At least where they were used to distinguish
1313           node-to-node and client-server (gnunetd).
1314
1315 Sun Aug 25 15:02:31 EST 2002
1316         Releasing GNUnet 0.4.6.
1317
1318 Thu Aug 22 01:31:21 EEST 2002
1319         gnunet-gtk should now be able to perform multiple
1320         search and download operations simultaneously (atleast a couple).
1321
1322 Tue Aug 20 23:11:10 EEST 2002
1323         Fixed segfault in gnunet-search and gnunet-gtk which appeared
1324         when there was lots of results.
1325         Modified gnunetd to return more results at once if there
1326         is excess bandwidth.
1327
1328 Sun Aug 18 23:57:10 EST 2002
1329         Reworked the lookup-database. The old database got
1330         into trouble storing data when it was 6% full. Some
1331         simulations show that the new approach should manage
1332         94% and should be about as fast (more CPU, presumably
1333         slightly fewer random disc accesses).
1334         This change is INCOMPATIBLE with 0.4.5. You *must*
1335         run "gnunet-check -a" before starting this new version
1336         of gnunetd in order to migrate to the new format. For
1337         database simulation and statistical numbers, see
1338         also src/historical/simula.c.
1339
1340 Fri Aug 16 17:07:15 EST 2002
1341         Releasing GNUnet 0.4.5.
1342
1343 Fri Aug 16 16:43:39 EST 2002
1344         Added feature that will allow the specification of
1345         multiple URLs for downloading the initial hostlist.
1346
1347 Mon Aug 12 02:28:14 EST 2002
1348         Fixed big problem in requestmanager that would
1349         make downloads *very* slow for no good reason
1350         at all (ttl increment in wrong place would make
1351         us defer the next request for more than twice
1352         as long as needed, plus some other minor bugs).
1353
1354 Mon Aug 12 01:31:03 EST 2002
1355         Fixed bug #347 (option "-H" to gnunet-clients for
1356         connecting to a remote gnunetd node).
1357
1358 Mon Aug 12 01:10:17 EST 2002
1359         Fixed bug #348 (no more scan of the entire database
1360         on startup, instead the databases (gdbm, tdb) contain
1361         an entry that gives the nubmer of entries). Note that
1362         this is not done for contentdatabase_directory.
1363
1364 Sun Aug 11 17:00:03 EEST 2002
1365         Crude file insertion capabilities added to gnunet-gtk gui.
1366
1367 Thu Aug  8 19:13:34 EST 2002
1368         Added progress bar / printing of insertion status to
1369         gnunet-insert (option "-V").
1370
1371 Thu Aug  8 19:02:33 EST 2002
1372         Cleaning up code (establishing sessions, etc.)
1373
1374 Thu Aug  8 18:03:05 EST 2002
1375         Fixed bug #343 (overflow in stats) by moving to
1376         long long. Let's hope that __BYTE_ORDER is
1377         actually defined outside of netinet/in.h.
1378
1379 Thu Aug  8 17:47:17 EST 2002
1380         Fixed gnunetd segfaulting if gnunet.conf is not
1381         available. Also, recvfrom returning -1 with
1382         errno == EAGAIN was fixed earlier.
1383
1384 Wed Jul 31 23:38:36 EST 2002
1385         Released 0.4.4.
1386
1387 Wed Jul 31 21:35:53 EST 2002
1388         Fixed bug with TCP connection that would not
1389         free thread resources and eventually lead to
1390         gnunetd not being able to start new threads
1391         anymore (mantis: #339).
1392
1393 Tue Jul 30 23:38:51 EST 2002
1394         Fixed SIGHUP exiting. The main loop was exiting
1395         because recvfrom returned -1 with errno EINTR,
1396         which caused us to break out of the main loop.
1397         Also added gnunetd.pid file to simplify killing
1398         (or re-reading configuration of) the server.
1399         You must specify the PIDFILE in gnunet.conf!
1400
1401 Tue Jul 30 20:38:47 EST 2002
1402         Started writing code to enable re-reading of the
1403         configuration file whenever we receive a SIGHUP.
1404         Works, except that after we've read the new
1405         config file, gnunetd exits (unknown why).
1406
1407 Mon Jul 29 18:52:23 EST 2002
1408         Added shutdown code that terminates connection when
1409         SIGTERM is received (to avoid keeping lots of UDP
1410         traffic for the next couple of minutes from hosts
1411         that still believe we're up).
1412
1413 Sat Jul 27 12:39:47 EST 2002
1414         Added code to measure network load asymmetrically (useful
1415         for DSL users).
1416
1417 Fri Jul 26 22:46:54 EST 2002
1418         Released 0.4.3.
1419
1420 Wed Jul 24 21:13:08 EST 2002
1421         Fixed bug in locking and segfault (Linux tolerated,
1422         BSD crashed, both in connection.c), added logging service.
1423
1424 Tue Jul 23 00:41:17 EST 2002
1425         Made gnunetd fork like a nice deamon should. Also
1426         started to add a logging service.
1427
1428 Sun Jul 21 20:39:20 EST 2002
1429         Fixed issue with check_database (index checking too
1430         strict if content is available in database and
1431         on-demand encoded; also a bounds check was missing).
1432
1433 Sun Jul 21 16:05:20 EST 2002
1434         Fixed deadlock in heloexchange (knownhost requires
1435         recursive lock).
1436
1437 Sun Jul 21 02:02:32 EST 2002
1438         Improved routing table. Now does more dynamic memory
1439         allocation, reducing the fixed-size per slot from 700
1440         to 56 bytes. Increased number of slots from 512 to
1441         8092 (which is the optimal number for a 56 kbps
1442         modem connection).
1443
1444 Sat Jul 20 23:57:06 EST 2002
1445         Fixed bug that caused problems for files
1446         that were indexed and that had spaces in
1447         the filename.
1448
1449 Wed Jul 17 22:50:24 EST 2002
1450         Fixed bug that prohibited a transitive HELO exchange
1451         in many cases.
1452
1453 Wed Jul 17 01:48:44 EST 2002
1454         Fixed a couple of bugs in gnunet-check and the
1455         insertion-tools. Now gnunet-check seems to run like
1456         a charm. Running it to detect and fix problems in
1457         the GNUnet databases seems now recommendable :-).
1458         Note that you must stop gnunetd before running
1459         gnunet-check.
1460
1461 Mon Jul 15 22:27:45 EST 2002
1462         Added return values for insertion. If we run out of
1463         space (in particular for the fixed-size index
1464         database), we can now communicate the problem to the
1465         user.
1466         gnunet-check is now pretty much feature-complete,
1467         but it takes of course very, very long to run. There
1468         is now also a man-page for gnunet-check.
1469
1470 Thu Jul 11 11:33:34 EST 2002
1471         Added randomized order of blocks for the download
1472         (patch by I. Wronsky).
1473
1474 Thu Jun 20 21:13:21 EST 2002
1475         Added HANGUP, a message send if one side terminates the connection.
1476         Sending the message is optional, but it is nicer to have it. Also
1477         started on gnunet-check, a tool to check database consistency.
1478
1479 Thu Jun 20 03:11:01 EST 2002
1480         Improved handling of collisions in the hashes in the
1481         lookup module (uses no longer a linear scan on the
1482         collisions file but a hashtable for the collisions!).
1483
1484 Tue Jun 18 20:29:38 EST 2002
1485         Released GNUnet 0.4.2.
1486
1487 Tue Jun 18 20:20:55 EST 2002
1488         Fixed bugs in blacklisting IPs. Added feature to allow specification
1489         which networks are trusted enough to connect to the trusted TCP
1490         port (TCP/2086 no longer needs to be firewalled!).
1491
1492 Tue Jun 18 02:35:53 EST 2002
1493         Fixed problems with ttl (negative TTL queries were forwarded),
1494         also better flushing of buffers and fewer SKEY exchanges due to
1495         a now working implementation of the blacklist. A DNS lookup for
1496         the NAT-box-IP configuration was also added.
1497
1498 Sun Jun 16 04:11:01 EST 2002
1499         Added code to provide statistics (gnunet-stats).
1500         Incomplete.
1501
1502 Sun Jun  9 22:56:02 EST 2002
1503         Released GNUnet 0.4.1.
1504
1505 Sat Jun  8 05:00:36 EST 2002
1506         Several small bugfixes (list of shared files not updated on
1507         insertion, highest-bit of trust not interpreted as dirty,
1508         rpm dependency on libextractor added.
1509         Also many improvments to the build process.
1510
1511 Wed Jun  5 17:01:58 EST 2002
1512         Made sure that HELOs don't trigger Ping-Pong if we don't
1513         really learn anything new.
1514
1515 Tue Jun  4 17:17:45 EST 2002
1516         The port numbers were not in network-byte order. Fixing
1517         this is trivial, but it breaks compatibility with 0.4.0.
1518         Thanks to Rick Kennell for reporting the endianess issue.
1519
1520 Mon Jun  3 20:35:47 EST 2002
1521         Fixed bug with CRC not endian-converted in gnunet-gtk.
1522         Added mimetype and filename support to gnunet-gtk.
1523
1524 Sun Jun  2 03:52:18 EST 2002
1525         Released 0.4.0.
1526
1527 Sat Jun  1 22:13:12 EST 2002
1528         Added three-way handshake for SKEY exchange. Not tested.
1529
1530 Sat Jun  1 16:55:18 EST 2002
1531         Fixed potential DDoS problem where malicious hosts could
1532         trick GNUnet servers to repeatedly probe a non-partitipating host
1533         trying to establish a connection. I wonder how many other
1534         p2p systems are vulnerable. (Fix: after HELO, play PING-PONG).
1535         The endianess issues should be fixed throughout the system, but
1536         not tested on a real machine so far.
1537
1538 Sat May 25 15:55:11 EST 2002
1539         Moved to new CVS server. First changes towards 0.4.0:
1540         * mostly-big-endian
1541         * insert/index via TCP
1542         * bugfixes (mostly performance)
1543
1544 Sat May 18 16:00:06 EST 2002
1545         Added mimetype, filename and version number to RootNodes
1546         (mostly incompatible change!). Added automatic generic keyword
1547         and mime-type extraction via libextractor to gnunet-insert.
1548
1549 Tue May 14 23:59:40 EST 2002
1550         New storage database is starting to look good. We can now store
1551         the data in a directory (one file per block), a gdbm database,
1552         and presumably (not tested) in a tdb database.
1553
1554 Sat May 11 22:10:56 EST 2002
1555         Completed, deployed and tested the new TCPIO code. This changes
1556         the gnunetd-client protocol. Essentially, we convert the TCP stream
1557         into records with a length and type header. This should allow us
1558         to fix bug #212 and add other features in the future. The current
1559         change is really only changing the core TCP code and not anything
1560         around it. We should deploy some demultiplexing code later.
1561
1562 Tue May  7 20:56:40 EST 2002
1563         Added IP blacklisting (for virtual private networks).
1564
1565 Sat May  4 14:08:23 EST 2002
1566         Fixed bug with bad insertion of files smaller than 1k.
1567
1568 Fri May  3 23:25:16 EST 2002
1569         Added IP change detection (useful for dialup) [bug #272].
1570         Added code to ensure that a HELO is life instantly
1571         after receiving it, fixing the 'unknown host,
1572         refusing SKEY problem' (bug #273). Other minor
1573         bugfixes (#274, #283).
1574
1575 Sun Apr 14 22:36:03 EST 2002
1576         Added option to allow NAT boxes not to exchange
1577         foreign HELOs and thus expose the private
1578         network. Fixed bug that all other hosts should
1579         in fact do this exchange.
1580
1581 Sat Apr 13 11:02:59 EST 2002
1582         Make sure that files are readable before returning TRUE
1583         in assertIsFile()
1584
1585 Fri Apr 12 03:01:06 EST 2002
1586         Added padding messages with random if maximum
1587         packet size is not reached. All encrypted
1588         packets now look absolutely uniform in size
1589         for a non-participating adversary (before,
1590         a host that had few queries may have sent packets
1591         that were less than the maximum size).
1592
1593 Thu Apr 11 01:43:28 EST 2002
1594         Added sequence numbers to protocol to defend
1595         against replay attacks (bug #185).
1596
1597 Wed Apr 10 02:07:25 EST 2002
1598         Bugfix gnunet-insert-mp3 (endless loop).
1599         Updated documentation.
1600
1601 Mon Apr  8 00:07:15 EST 2002
1602         Fixed endless-loop bug when activemigration is turned
1603         on (during startup).
1604
1605 Fri Apr  5 02:03:13 EST 2002
1606         Released 0.3.3.
1607
1608 Fri Apr  5 00:33:42 EST 2002
1609         gnunet-gtk, the gtk+ based GUI is now functional and
1610         has all the features of gnunet-search and gnunet-download,
1611         including boolean queries. In fact, it is a bit better than
1612         gnunet-download as it shows the progress of the download.
1613         The manpage for gnunet-gtk was updated. Minor bugfixes.
1614
1615 Mon Mar 25 02:59:13 EST 2002
1616         Changed writeFile to use a fourth parameter which is the
1617         desired permissions for the file. Files in data/hosts
1618         are now world-readable. Created man pages
1619
1620 Mon Mar 18 17:56:52 EST 2002
1621         Released 0.3.2.
1622
1623 Sun Mar 17 10:47:51 EST 2002
1624         Got rid of far too frequent key exchange attempts.
1625         Added expiration for very-long-dead host keys. Stopped
1626         forwarding of expired HELOs (receiver drops anyway).
1627
1628 Wed Mar 14 05:46:20 EST 2002
1629         Fixed some file location inconsistencies. All files are
1630         now in $HOME/GNUnet. RPM installation points to /var/GNUnet
1631         and the config file is ~/GNUnet/gnunet.conf
1632         Finished port to FreeBSD. This included mostly changes
1633         to src/util/statuscalls.c, but also several changes to
1634         the build system. Added a stat() call in the server code
1635         to make sure the config file exists before sending it to
1636         the OpenSSL conf code. Added getopt to source to fix
1637         portability issues. Changed FREEBSD defs to SOMEBSD, also
1638         changed in configure.in. Compiles and works on at least
1639         FreeBSD 4.5 and OpenBSD 3.0
1640
1641 Wed Mar  6 23:15:36 EST 2002
1642         Added code for 'fast scan' of the database for
1643         content to discard (should be called partial
1644         scan). This improves the startup-time dramatically.
1645         Every source file got the GNU header.
1646
1647 Tue Mar  5 22:42:36 EST 2002
1648         Added option for *not* participating in content
1649         migration. Added timeout option to gnunet-search.
1650         gnunetd now periodically (1h) scans for new content,
1651         no restarting required.
1652
1653 Mon Mar  4 23:21:51 EST 2002
1654         Optimized routing and content migration. Distance
1655         of the hash to the identity of the local host is
1656         now taken into account for routing. Hosts give
1657         higher priority to content that is close to their
1658         identity (priority towards keeping it). If the
1659         network grows, this should significantly improve
1660         the performance. Also, the choice of the hosts
1661         for routing is now based on proximity (to the
1662         query), the activity level of the host and its
1663         credit ranking.
1664
1665 Sun Mar  3 00:14:58 EST 2002
1666         Implemented binary queries ("AND") for gnunet-search.
1667         Made sure that content is not downloaded again if
1668         already present (if there is other content, we
1669         overwrite). Fixed bug in gnunet-download
1670         (uninitialzied time-to-live).
1671
1672 Sat Mar  2 01:57:37 EST 2002
1673         Finished porting the download-code to C. Now files can
1674         be downloaded in using shell commands. No GUI though.
1675         Released GNUnet v0.3.1.
1676
1677 Wed Feb 20 23:47:19 EST 2002
1678         Big CVS moving operation.
1679
1680 Sat Feb 16 23:17:27 EST 2002
1681         Started migration to GNUnet.
1682
1683 Sun Feb  3 01:20:37 EST 2002
1684         Extracted crc32 method from zlib and put only that method into
1685         primitives. Reduces our memory footprint (if nobody else uses
1686         zlib) and we no longer depend no that library (always good).
1687
1688 Sat Feb  2 22:56:32 EST 2002
1689         Building final tarball for v0.3.0.
1690
1691 Wed Jan 30 23:41:04 EST 2002
1692         Created mp32gnet, a tool to automaticall index mp3 files
1693         using information from the mp3 header as keywords (title,
1694         artist, album, comments). The mp3 parsing code comes from
1695         the GPL tool mp3info.
1696
1697 Tue Jan 29 17:36:48 EST 2002
1698         Fixed bug with files that were not closed under certain
1699         circumstances and lead to an exhaustion of the number of
1700         concurrently open files.
1701
1702 Mon Jan 21 23:34:44 EST 2002
1703         Bumping version numbers to v0.3.0 (not yet released, needs some
1704         more testing to be on the safe side).
1705
1706 Sun Jan 20 02:09:06 EST 2002
1707         Content gathering now discards the least important
1708         content in favour of new, more important content (if
1709         there is not space for all content). The cron
1710         management is now used everywhere. The rpm, the init-script
1711         and the gproxy shell script have been revised.
1712
1713 Sun Jan 13 23:17:58 EST 2002
1714         Created cron management, replacing old control
1715         thread (allows for better timing of events).
1716         EvaluateContent now gets the priority of the
1717         query that the content had.
1718
1719 Sun Jan 13 00:54:56 EST 2002
1720         Improved choice in number of hosts to forward
1721         queries to (now dynamic, depending on priority, etc.)
1722         Removed many, many allocations in print statements
1723         which also caused memory leaks if active (see
1724         debugging.h).
1725         Added CRC checking of the root node in GProxy. Fixed
1726         problem with CRC in IBlocks for large files.
1727         Added dialog to GProxy to choose where to save the file.
1728
1729 Sat Jan  5 14:25:31 EST 2002
1730         Optimized routing table. Routing table is now a hashtable
1731         (collisions are handled by droping either the former or the
1732         new entry). Each bucket has it's own lock, the global
1733         semaphore is gone. The table has many more entries (we can
1734         afford that now that there is no longer a linear search).
1735
1736 Wed Dec 26 19:30:41 CET 2001
1737         Created v0.2.0
1738
1739 Tue Dec 25 21:24:18 CET 2001
1740         Fixed TTL errors that made queries loop. Added host-evaluation
1741         to policy (drop packets from untrusted hosts under load). Found that CRC-errors
1742         are related to policy decisions ("drop"), cosmetic fix.
1743
1744 Sun Nov 25 08:10:52 EST 2001
1745         Added triple-hash functionality and on-demand encoding (lookup.c).
1746
1747 Sat Nov 24 07:46:10 EST 2001
1748         Added randomized choice of hosts for the hosttable.
1749
1750 Thu Nov 22 04:57:57 EST 2001
1751         Fixed another bunch of big bugs, tested, seems to work smoothly. Creating V0.1.0.
1752
1753 Mon Nov 19 01:22:42 EST 2001:
1754         Fixed biggest (show-stopper) bugs. Creating V0.0.3
1755
1756 Fri Oct 26 02:20:00 EST 2001:
1757         Created ChangeLog. Report important changes here,
1758         report small changes to CVS only.