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