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