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