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