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