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