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