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