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