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