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