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