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