Fri Feb 12 22:30:44 CET 2010
	Releasing 0.8.1a.

Tue Dec 29 12:23:36 CET 2009
	Releasing 0.8.1.

Mon Nov 16 09:25:47 CET 2009
	Allow passing of command-line arguments using GNUNET_ARGS
	environment variable (see Mantis #1467).

Mon Apr 27 22:18:19 CEST 2009
	Monitor low-traffic connections over a longer period
	of time before terminating them.

Fri Feb 27 22:05:50 MST 2009
	Releasing 0.8.0c.

Sun Feb  1 19:51:40 MST 2009
	Fixed Mantis #1429 (struct padding could cause sizeof
	to be different on AMD64, using gcc-ism "packed" to
	avoid this problem).

Sun Feb  1 00:37:16 MST 2009
	Fixed problem in DHT client protocol that could cause
	PUT requests from clients to be (frequently) lost.

Sun Nov  2 16:06:47 MST 2008
	Fixed problem with MySQL disconnects in one module
	impacting MySQL correctness in another module (caused
	crashes).

Sat Aug 16 00:18:34 CEST 2008
	Improved keyword extraction
	Fixed expiration time of keywords
	Releasing 0.8.0b.

Sun Jul 20 15:27:11 MDT 2008
	Releasing 0.8.0a.

Thu Jul 10 00:59:31 MDT 2008
	Fixed bug where datastore resizing would not 
	result in bloomfilter update during gnunet-update.

Sat Jun 28 23:43:00 MDT 2008
	Fixed bug preventing namespace advertisements from
	being processed.

Sat Jun 14 00:54:39 MDT 2008
	Releasing 0.8.0.

Fri Jun 13 23:51:00 MDT 2008
	GNUnet now compiles on OpenBSD.

Wed Jun 11 22:17:09 MDT 2008
	Made state of gnunet-auto-share persistent. 
	Added support for multiple directories.  Improved
	FSUI/ECRS APIs to reduce the number of threads needed
	for probing.  Increased number of concurrent probes
	allowed.

Sat Jun  7 17:54:49 MDT 2008
	Simplified namespaces a lot.  Shorter timeouts for
	trying to connect to gnunetd to prevent interactive
	apps from blocking too long when gnunetd is not
	running.

Sun Jun  1 21:11:54 MDT 2008
	Releasing 0.8.0pre1.

Sun Jun  1 13:41:27 MDT 2008
	Split of libgnunetpseudonym from libgnunetnamespace
	(with major API extension and changes).

Tue May  6 04:10:02 MDT 2008
	Added simple sanity check for [MODULES] values.
	Added "-s" and "-q" options to gnunet-peer-info.

Thu Apr 24 00:05:17 MDT 2008
	Simplified FSUI stop/abort/pause/resume API calls
	(no need to pass FSUI context anymore).

Mon Apr 21 21:05:20 MDT 2008
	Adding buffered IO for FSUI's serialize and
	deserialize code.

Sun Apr 20 20:01:20 MDT 2008
	Fixed bug in HTTP transport causing lonely messages
	(responses to GET) not to be delivered.

Mon Mar 24 21:15:36 MDT 2008
	Fixed various problems with downloading locally
	indexed large files (downloading large files from
	other peers should not have been a problem).
	
Sun Mar  2 15:33:41 MST 2008
	Added option to allow user to disable IPv6 support.
	Releasing 0.8.0pre0.

Sat Mar  1 21:14:02 MST 2008
	Fixed some dstore performance issues.
	Made transports alternate between trying IPv4 and IPv6
	if both are available (since one of them maybe
	misconfigured).

Mon Feb 25 23:25:48 MST 2008
	Cleanup of the DNS code: removed GNUNET_IPvXAddress
	and GNUNET_PRIP; centralized all DNS lookup code in 
	util/network/dns.c; improved IPv6 support for 
        network-client code.

Mon Feb 25 00:01:27 MST 2008
	Added asynchronous search and download methods for 
	ECRS library.  FSUI now can do with only one thread
	per search or download (until now, we had two 
	threads per search / download).

Tue Feb 19 20:35:28 MST 2008
	Updated database schemata to support O(1) operations
	even if there are N files under the same keywords.
	This breaks database backwards compatibility (and
	no migration code is provided).

Mon Feb 18 19:47:37 MST 2008
	Added new options -u and -s to gnunet-insert.

Sat Feb 16 21:37:33 MST 2008
	Implemented gnunet-auto-share for automatic
	sharing of directories.

Thu Feb 14 01:02:32 MST 2008
	Made HTTP transport work over IPv6 as well.

Wed Feb 13 22:59:07 MST 2008
	Modified mySQL and SQLite datastores to return diverse
	result sets during (partial) hash-based get iterations
	(should result in more diverse keyword result sets).

Tue Feb 12 23:54:34 MST 2008
	First shot at integrated hostlist HTTP server based
	on libmicrohttpd.

Sat Feb  9 22:06:23 MST 2008
	Minor changes to the ECRS/FSUI APIs for searches
	(no more timeouts and/or max-results).  Clients who
	need these features could easily implement them 
	directly (and they are not really useful to begin
	with).  
	Also, the IPv4 and IPv6 protocols are being integrated
	so that we only listen to one port (running both IPv4
	and IPv6 over the same port).  This break transport
	compatibility, but given that we're breaking protocol
	compatibility for file-sharing already, this may 
	actually be a bit of a good thing (since it will now
	be possible to tell if peers running the new GAP code
	are connected to other peers running the new GAP code).
	
Sun Feb  3 13:17:09 MST 2008
	Dramatic changes to the GAP implementation (breaking
	protocol compatibility).  Essentially, we can save
	a few bytes in each reply.  More importantly, the new
	code allows the searching client to specify a set of
	replies that are not desired (hopefully helping to
	dramatically increase the diversity of search replies
	obtained over time).  Note that the actual encoding
	and databases are not affected (just P2P protocol).
	The update is not complete yet, but should compile.

Tue Jan  8 20:07:20 MST 2008
	Added option for testing ("make check") to use weak(er)
	PRNG for key generation (thanks to Werner Koch for 
	pointing out how to do it).

Thu Dec 22 20:10:37 MST 2007
	Releasing GNUnet 0.7.3.

Sun Dec  9 14:34:32 MST 2007
	Implemented MySQL version of the dstore-module.  This
	means that sqLite is now again truly optional.

Sat Dec  8 15:15:53 MST 2007
	Integrated F2F topology into main topology module 
	(options are used to choose between F2F-only (old F2F), 
	 minimum number of friend connections (NEW) or entirely
	 arbitrary connection set (default)).

Thu Dec  6 20:51:17 MST 2007
	The SMTP transport is working again.

Thu Nov 22 20:49:16 MST 2007
	United all libgnunetutil_*.so libraries into one big
	libgnunetutil.so library (eliminates issues for binary
	packagers and reduces file size by about 20%).  Also
	made sure that all exported symbols start with "GNUNET_".

Sat Sep 29 16:48:24 MDT 2007
	Improved MySQL sqstore module performance.
	Releasing GNUnet 0.7.2c.

Sat Sep  8 18:01:36 MDT 2007
	HTTP transport seems finally ready.

Sat Aug 25 23:58:21 MDT 2007
	New and improved gnunet-setup GTK interface.

Mon Jul 30 00:07:44 MDT 2007
	Releasing GNUnet 0.7.2b.

Sun Jul 29 01:53:32 MDT 2007
	Fixing log rotation.

Sat Jul 21 23:42:11 MDT 2007
	Radical changes to MySQL implementation (trying to
	address certain scalability issues).

Sat Jul  7 00:22:47 MDT 2007
	Releasing GNUnet 0.7.2a.

Fri Jul  6 22:54:52 MDT 2007
	Fixed bugs in F2F topology code.  Eliminated a few
	confusing LOG messages.	
	
Sun Jul  1 20:35:00 MDT 2007
	Fixed issue with too many TCP connections being
	created.  Reduced CPU overheads by increasing
	requirements for grouping of messages.  Improved
	various error messages.

Sat Jun 30 01:55:34 MDT 2007
	Improved bloomfilter recomputation after quota change.
	Fixed bloomfilter size computation.  You must run
	gnunet-update (will take a while).

Fri Jun 29 00:56:03 MDT 2007
	Avoid re-connecting shortly after connection was shutdown.

Thu Jun 28 01:10:01 MDT 2007
	Fixed high-latency problems for certain SQLite operations.
	Also improved SQLite performance (but not scalability) a
	bit.  Resolved MySQL disconnect crash (gnunetd would crash
	if mysqld was stopped).

Sat Jun 23 16:56:03 MDT 2007
	Improved CPU consumption from content migration code
	by querying the DB less often, using the same content
	for more peers (at the expense of 1 MB extra memory
	utilization).  Fixed a deadlock.

Wed Jun 20 17:10:38 MDT 2007
	Fixed bug in MySQL module.

Sun Jun 17 00:09:13 MDT 2007
	Releasing GNUnet 0.7.2.

Sat Jun 16 04:43:20 MDT 2007
	http transport is amost back, now needing the
	new libmicrohttpd.  However, the code is still
	highly experimental and not ready for production
	use.

Fri Jun  8 23:44:01 MDT 2007
	Fixed bugs preventing namespace search from
	working.  Also extended testcase to cover
	namespace search.

Tue May 29 23:15:27 MDT 2007
	Fixed a major bug which resulted in peers without
	traffic between them disconnecting (even if that
	session was their only connection).
	Fixed another major bug where nodes would not
	properly forward HELLOs from other peers (given
	certain common/default configuration options).

Sun May 27 22:39:48 MDT 2007
	Added new API gnunet_testing_lib.h to make it
	easier to write testcases that need to start
	gnunetd.  API is now used everywhere and the
	ugly peer.conf files and directories are gone.
	Fixed a bug with inserting empty directories.
	Extended ECRS API to allow partial file download.

Sat May 26 18:24:15 MDT 2007
	Fixed bugs with testcases (changes in names and
	structure of options were not reflected in .conf
	files for various testcases).
	Fixed issues with command-line option handling (failed to
	override configuration file options).
	Fixed bogus nesting in GAP routing algorithm (caused
	random request drops).

Fri May 25 12:23:38 MDT 2007
	Finished extended URITRACK API.
	Renamed various (minor) libraries and function calls to
	get somewhat more consistent naming conventions.

Sun Apr 15 22:15:37 MDT 2007
	Implemented heuristic for better packing of gnunet-directories.

Sun Mar 25 13:47:08 MDT 2007
	Releasing GNUnet 0.7.1c.

Wed Feb 28 15:29:05 MST 2007
	Enabled abortion of gnunet-peer-info with CTRL-C.

Mon Feb 26 19:19:29 MST 2007
	Fixed handling of -d option by gnunet-download
	if -f option is not given.

Sat Feb 24 15:43:14 MST 2007
	Fixed various bugs related to content expiration.
	Completed message coverage in stats implementation.

Fri Feb 23 17:55:46 MST 2007
	Fixed potential deadlock during download shutdown sequence.

Thu Feb 15 21:54:15 MST 2007
	Added support for IO load detection.

Sun Feb 11 13:53:13 MST 2007
	Releasing GNUnet 0.7.1b.

Thu Feb  8 13:21:34 MST 2007
	Updating gettext to 0.16.1.
	Minor bugfix in build process (#1180, #1181).
	Minor bugfix in gnunet-search (#1179).

Sun Jan 28 02:43:37 MST 2007
	Improving support for multiple choice configuration items
	in gnunet-setup.

Sat Jan 27 16:02:02 MST 2007
	Changing $-expansion for interpretation of configuration file
	(again).  Also, now the base-path for gnunetd defaults to
	"/var/lib/gnunet" instead of "/var/lib/GNUnet".

Tue Jan 23 19:48:37 MST 2007
	Fixed problem with split-extractor keywords not being used
	for uploads.

Tue Jan 16 21:43:26 MST 2007
	Expanded transport APIs to avoid building messages for
	transmission just to have them rejected by blocking TCPs
	with full transmission queues (happened quite a bit).

Mon Jan  8 22:21:15 MST 2007
	Making computation of send buffer permuations more
	efficient (in terms of calling weak_randomi) by only
	computing permuations over the actually selected messages.

Mon Jan  8 21:34:02 MST 2007
	Forcing -O3 for crypto library (performance critical).
	Enforcing message queue limit for daemon (somehow got lost
	on the way to 0.7.1, was responsible for high CPU load).
	Fixing cron job deletion in core (clean shutdown).

Sun Dec 31 23:56:31 MST 2006
	ncurses may need "-lm" in order to link.
	Releasing GNUnet 0.7.1a.

Sat Dec 30 00:21:49 MST 2006
	DHT routing now seems to work (not integrated with file-sharing,
	only for gnunet-dht-query).

Fri Dec 29 09:38:53 MST 2006
	Added UPnP support to GNUnet (IPv4 only, #843).

Thu Dec 28 21:22:10 MST 2006
	Hostname resolution with gnunet-peer-info implemented (#1076).
	Proper linking of gnunet-pseudonym (#1161).
	Drop group permissions when changing user (#1162).
	gnunet-download support for directory files implemented (#1013).

Thu Dec 28 20:44:45 MST 2006
	Hopefully fixing build problems on certain systems with
	unusual installation of iconv.

Tue Dec 26 20:54:03 MST 2006
	Added additional gnunet-gtk options to client configuration
	specification file.

Sun Dec 24 18:06:04 MST 2006
	Limit memory utilization by select write queue.	
	Improved select write buffering (fewer malloc/free
	operations and less copying).

Sat Dec 23 22:12:17 MST 2006
	Updated various man pages and some configuration documentation.
	Fixed TCP transport (did not work with NAT if port was set to 0).
	Fixed verbose option for gnunet-transport-check.
	Updated hostlist scripts in contrib/ to reflect new protocol IDs.
	Allow aborting of gnunet-transport-check with CTRL-C.
	Allow testing of bi-directional transports behind NAT with
	gnunet-transport-check.
	
Fri Dec 22 19:21:25 MST 2006
	Added option to set maximum number of file descriptors
	(convenience for OS X users where the default is too low).
	Releasing GNUnet 0.7.1.

Thu Dec 21 20:03:07 MST 2006
	Fixed gnunet-insert "-e" option.  Fixed various
	crashes in client code.  Improved OS X portability.
	
Tue Dec 19 19:03:48 MST 2006
	Allowing GNUnet (without gnunet-setup) to be build
	on systems without guile.

Sun Dec 17 16:54:33 MST 2006
	Various improvements for OS X portability.
	CPU load detection fix for Solaris.

Sat Dec 16 11:42:13 MST 2006
	Bugfixes in collection library (gnunet-pseudonym).
	
Mon Dec 11 21:11:54 MST 2006
	Implemented ncurses/dialog based gnunet-setup wizard.
	Releasing GNUnet 0.7.1pre2.

Sun Dec 10 00:36:11 MST 2006
	Fixed load calculation code.  More aggressive utilization
	of available resources.

Mon Dec  4 13:24:12 MST 2006
	Releasing GNUnet 0.7.1pre1.

Wed Nov 29 22:20:26 MST 2006
	Fixed various bugs with (de)serialization of FSUI state
	and closing searches with associated downloads.  Extended
	FSUI test suite.

Mon Nov 27 08:51:46 MST 2006
	Added conversion of ECRS error messages to FSUI
	error event messages.

Sun Nov 19 00:20:14 MST 2006
	Improved error handling.  gnunetd now can communicate
	text error messages to clients (not just error codes).
	
Wed Nov 15 23:17:36 MST 2006
	Fixed expiration time setting.  Improved bias of
	migration towards valuable content.
	Releasing GNUnet 0.7.1pre0.

Wed Nov  1 20:58:44 MST 2006
	Fixed MySQL database size underreporting.

Wed Nov  1 13:09:53 MST 2006
	Fixed some problems with index creation in sqlite
	datastore (discovered with new sqlite benchmarking
	code).  Performance should improve significantly
	(observed was a factor of 4-10 depending on
	database size and operation).

Thu Oct 19 23:44:24 MDT 2006
	Completed huge update to FSUI API (not fully debugged).
	Major changes include:
	* clients can associate pointer with each action
	* abort methods can cancel action (but do not stop everything)
	* upload and unindex operations can now be suspended and resumed
	* cleaned up naming conventions
	
Thu Sep 14 23:44:17 MDT 2006
	Breaking UDP transport protocol compatibility -- some
	fields have to be switched around to make it work with
	the new select code.  Expect to see some warnings when
	interacting with 0.7.0 peers.

Tue Sep  5 21:28:25 PDT 2006
	Switched ncurses interface of gnunet-setup to use
	external dialog library (new dependency!).

Fri Aug 18 00:01:37 PDT 2006
	Swiched http bootstrap mechanism to using libcurl
	(new dependency!).

Sat May 20 08:37:02 PDT 2006
	Releasing GNUnet 0.7.0e.

Sun May 14 02:51:15 PDT 2006
	Major gnunet-setup GTK code cleanup (now uses libglade).

Sat May 13 19:35:49 PDT 2006
	Made headers more C++ friendly.

Wed May 10 22:11:17 PDT 2006
	Fixing bug that could result in hanging the UDP transport;
	found by Luigi Auriemma (thanks!).

Sat May  6 00:17:59 PDT 2006
	Releasing GNUnet 0.7.0d.

Fri May  5 01:33:42 PDT 2006
	Fixed bug with priorities of IBlocks of uploaded content
	(priority was left at zero, making those blocks be
	possibly discarded rather quickly once the datastore filled
	up).

Tue May  2 00:01:25 PDT 2006
	Fixed bug in gap where the tracking of query origins for
	optimizing routing paths lacked a simple assignment of the
	query origin (found by code inspection).  As a result,
	routing performance should improve further.  Also fixed
	small memory leak in gap and reduced memory consumption by
	fixing Mantis #1058.

Sat Apr 22 13:50:39 PDT 2006
	Fixed bug in util/cron.c where stopCron() would wait for an
	unnecessary sleep to complete.

Sat Mar 18 12:54:11 PST 2006
	Releasing GNUnet 0.7.0c.

Thu Mar 16 22:14:01 PST 2006
	Fixing various routing problems (resulting in better utilization
	of bandwidth by routing more content and less queries).
	
Wed Mar 15 00:00:14 PST 2006
	Fixing various content migration bugs (one that disabled it,
	one that made it unlikely that migration was even tried, and
	then various crashes in formerly dead code).

Mon Jan 23 19:04:17 PST 2006
	Added Swedish translation.

Sun Jan  1 21:35:59 PST 2006
	Reduced amount of hashing done to be O(n) and not O(n^2) for
	n local search results (for example, for 100 results, this can
	make the difference between hashing 200 MB and hashing 20 MB).

Sat Dec 31 17:02:37 PST 2005
	Added support for using -k multiple times in gnunet-pseudonym.

Wen Dec 28 00:22:54 CET 2005
	Fixed deadlock in http transport.

Fri Dec 23 17:17:18 PST 2005
	Releasing GNUnet 0.7.0b.
	
Sat Nov 19 16:00:16 PST 2005
	Releasing GNUnet 0.7.0a.

Fri Oct  7 15:28:02 PDT 2005
	Fixing Mantis #946.

Thu Sep 15 23:56:39 PDT 2005
	Fixed various gcc 4.0 warnings.

Sun Aug 28 15:29:56 PDT 2005
	Releasing GNUnet 0.7.0.

Sun Aug 28 01:46:26 PDT 2005
	Updated German translation.

Tue Aug 23 00:45:57 PDT 2005
	Fixed undersynchronization that may result in segv if pending
	download was cancelled.

Mon Aug 22 00:37:11 PDT 2005
	Made "UPDATE" use a prepared statement in MySQL datastore.

Sun Aug 21 23:08:57 PDT 2005
	Fixed bugs causing unnecessary long delays for downloads from
	loopback.  Also now bypassing routing table for loopback download
	(faster, avoids pollution of the routing table when not needed).
	
Sun Aug 21 18:42:14 PDT 2005
	Fixed memory leak in gnunet-insert -R.  Improved memory utilization
	by SQlite dramatically (see discussion on gnunet-developers).

Sat Aug 20 21:04:28 PDT 2005
	Fixed (rare) segmentation fault in insertion code.

Sat Aug 20 19:31:10 PDT 2005
	Yet another tiny bug -- but one that hangs gnunetd; fixed in pre6a.

Sat Aug 20 13:51:01 PDT 2005
	Releasing 0.7.0pre6.

Sat Aug 20 12:51:27 PDT 2005
	Changed sqlite data format to avoid encoding-decoding
	(breaks compatibility with previous datastores, in particular
	 since conversion code is NOT provided).
	 The page size was also increased, rendering the database files
	 incompatible, too.

Thu Aug 18 21:18:28 PDT 2005
	Made quotations match GNU standards.
	
Wed Aug 17 20:05:19 PDT 2005
	Fixed bug that would prevent P2P messages from being
	transmitted under certain (common) circumstances.

Mon Aug 15 00:08:47 PDT 2005
	Bugfest.  Fixed various bugs in MySQL, fragmentation,
	core and fs (see Mantis for more details).

Mon Jul 18 01:03:05 CEST 2005
	Alpha-rename fest.  Releasing 0.7.0pre5.

Sun Jul 17 13:49:40 CEST 2005
	Fixed problems with struct alignment on 64-bit
	AMDs.  Fixed recently introduced memory leak.
	Fixed various compiler warnings.
	
Sat Jul 16 23:55:31 CEST 2005
	Fixed various minor problems with platforms
	without gettext/NLS support and for 64-bit size_ts.
	Also fixed a couple of other compiler warnings.
	Cleaned up connection.c code.

Mon Jul 11 14:41:18 CEST 2005
	Fixed tiny memory leak in http_bootstrap.

Mon Jul 11 02:22:24 CEST 2005
	Fixed long-standing problems in statuscalls wrt
	network load estimates, leading to too-high bandwidth
	consumption on average.  Fixed minor memory leaks.
	Fixed far too often session-key exchange (was done
	also for sessions that were already up).

Thu Jul  7 15:22:21 CEST 2005
	Fixed bug in identity, missing ntohs for protocol ID.
	Fixed bug in topology, wrong calculation of saturation.	
	
Wed Jul  6 22:34:30 CEST 2005
	Fixed bugs in core with respect to possible infinite
	recursion caused by fragmentation callbacks.  Also
	differenciated between fatal transport sends and
	transient transport sends.  Cleanup of some APIs.
	
Sat Jul  2 17:21:07 CEST 2005
	Fixed bugs in gnunet-pseudonym (listing of namespaces),
	FSUI (double-free for namespace creation), cleaned up
	APIs and implemented clearing of completed downloads
	(FSUI). Releasing 0.7.0pre4.
	
Fri Jul  1 15:08:42 CEST 2005
        Added statistics for transports and other connection-
	related functions.  Prevented core from dropping
	messages just because transport is (temporarily)
	blocked.  Made transport selection in identity random
	again where necessary.
	
Thu Jun 30 20:05:15 CEST 2005
	Added cache for KBlocks (can speed up insertion speed
	for recursive inserts quite a bit).
	
Thu Jun 30 13:52:17 CEST 2005
	Enabled IPv6 by default.  Fixed various minor bugs.
	
Tue Jun 28 13:41:58 UTC 2005
	Fixed various open FIXMEs, including error handling,
	bad performance and some memory leaks (gnunet-tools
	only, not in gnunetd).
	
Mon Jun 27 17:21:09 CEST 2005
	Fixed double-free segfault.
	Fixed problem with session timeout not happening.
	Fixed issue with too lazy slot reclaim for reconnect.
	Made reconnect scanning more incremental (1/10th of
	the work every 500ms instead of full work every 5s).
	Fixed memory leak in advertisement processing.

Sun Jun 26 18:21:17 CEST 2005
	Plenty of bugfixes everywhere, gnunet-setup works
	now.  Releasing 0.7.0pre3.
	
Sat Jun 11 11:25:24 EST 2005
	Fixed various problems with recursive upload
	(thread stack size too small, wrong filenames
	passed around, wrong list of filenames updated).	

Sat Apr  2 01:54:23 EST 2005
	Various bugfixes, some of them critical (segfaults,
	protocol errors (resulting in failures to connect),
	old version of configuration file would be
	generated if configuration was missing,
	gnunet-insert would not properly work with multiple
	keywords (-k and -K options)). Releasing 0.7.0pre2.

Thu Mar 31 21:38:06 EST 2005
	Releasing 0.7.0pre1.

Tue Mar  8 14:45:55 EST 2005
	OpenSSL cannot fully support SHA-512.  Eliminated as an
	option (not necessary, GPL incompatible, trouble, work
	to maintain -- in summary: not worth it).

Sat Mar  5 00:33:51 EST 2005
	Changing hash algorithm to SHA-512.
	Changing symcipher algorithm to AES-256.

Sun Feb 27 21:59:31 EST 2005
	All unit testcases pass.  Releasing 0.7.0pre0.

Sat Feb 12 17:35:08 EST 2005
	Fixed mysql-test.  Changed MySQL to use prepared statements,
	avoids conversion (mysql_escape_string) and is faster on the
	server-side, too.

Wed Dec 15 20:47:40 EST 2004
	Removed support for password encryption of namespace keys.
	Hardly used and adds hardly any security.  Encrypt /home if
	you need this, would be more effective anyway.

Fri Nov 26 06:27:12 EST 2004
	Sessionkey exchange works now, at least with OpenSSL.  There
	seems to be some quirk in some version of libcrypt with
	respect to RSA encryption.  Anyway, it is a heisenbug (sometimes
	RSA decryption does not result in what was originally
	encrypted), but I have the feeling this problem existed
	already in 0.6.5 -- and it is now detected and does not
	occur all the time.

Tue Nov 23 02:35:50 EST 2004
	The CVS may look like it's compiling, but that's just because
	most of the service modules are not even attempted.
	And without those, nothing will work.  But in good news,
	util, transport and server do compile now.
	
Sun Nov 21 03:53:22 EST 2004
	Starting to make incompatible changes.  Once this is commited
	to CVS (which will only happen once at least some parts compile
	again), this version will no longer be compatible with any
	previously released version of GNUnet (and highly experimental).
	Do not yet use the new code on-line, do not expect it to work
	at all!

Sun Nov 14 16:49:02 EST 2004
	Debugged collections, seems to work (not that it looks pretty,
	but it basically works, the rest is UI work).  Fixed deadlock
	in gnunet-gtk logging.  Releasing GNUnet 0.6.5.

Thu Nov  4 09:04:48 EST 2004
	Added (highly experimental) support for collections.

Sat Sep 25 22:29:48 EST 2004
	Releasing GNUnet 0.6.4a.

Sun Sep 19 23:39:04 EST 2004
	Various code cleanups and minor bugfixes.

Sun Aug 29 15:11:28 IST 2004
	Releasing GNUnet 0.6.4.

Tue Aug 24 20:59:14 IST 2004
	Significant enhancements to namespaces.  A namespace can
	now be annotated with meta-data at the time that it is
	created.
	
Sat Aug 21 01:00:06 IST 2004
	Adding GNU gettext support to configure.
	
Thu Aug 19 01:26:55 IST 2004
	Migrating gnunet-gtk to GTK 2.0 (tested with 2.4).

Mon Aug 16 00:30:59 IST 2004
	Removed gcry.  Added dependency on GNU MP library (libgmp)
	for kblocks.

Tue Aug  3 17:57:43 IST 2004
	Fixed bugs in gnunet-update.  Fixed segfault in AFS startup.
	Fixed warnings in gnunet-peer-info/gnunetd.  Fixed packaging
	error (not all of util/gcry included in distribution).
	Releasing GNUnet 0.6.3a.

Mon Aug  2 20:06:07 IST 2004
	Releasing GNUnet 0.6.3.

Sun Aug  1 01:31:19 IST 2004
	Changed most places from HexName to the new, shorter EncName.
	Pushed URIs for namespaces and keyword searches into more
	widespread use.  Replaced all occurences of sprintf with
	SNPRINTF (to obtain extra bounds check).
	
Sun Jul 11 13:54:01 IST 2004
	Moved testcases for libgnunet_util to util/ directory.
	Made DB testcases in afs/module/ run for each available
	database and not just the one configured in /etc/gnunet.conf.

Fri Jun 25 21:05:59 IST 2004
	Releasing GNUnet 0.6.2b (resolves various minor bugs).

Wed May  5 17:34:39 EST 2004
	Releasing GNUnet 0.6.2a (resolves libgcrypt and packageing
	issues, improved gtk-statistics, other minor bugfixes).
	
Fri Apr 30 21:36:23 EST 2004
	Fixed synchronization problem in cron (only relevant for
	parallel downloading).  Releasing GNUnet 0.6.2.

Mon Apr 26 21:13:45 EST 2004
	Added support to gnunet-check to convert file index database
	to new design.  Removed support for pre 0.6.1b bloomfilter
	conversion (would have been too messy to support both).
	Added old-version check to gnunetd startup to make updates
	more systematic in the future (not perfect, though).

Mon Apr 26 19:27:29 EST 2004
	Recursive insertion of directories with gnunet-gtk
	now works including the progress bar.

Sun Apr 25 18:24:55 EST 2004
	Global changes to fix bug #698.  The fix is still
	incomplete with respect to pthread.h specific structs.
	
Sun Apr 25 15:20:29 EST 2004
	Fixed compile error in IPv6 transports.

Fri Apr 23 23:38:01 EST 2004
	Added recursive insertion of directories to gnunet-gtk.
	Progress-bar does not work yet, also libextractor is
	always used (no option to turn it off).
	
Fri Apr 23 21:49:18 EST 2004
	Removed need to specify _protocol in configuration file
	(shorter is better).

Wed Apr 21 23:32:36 EST 2004
	Added code to bound priority used by clients by twice the
	average priority of requests from other peers that are
	routed at the moment.  That prevents clients from exposing
	themselves with excessively high priorities (and also
	avoids giving too much credit/trust needlessly).

Tue Apr 20 22:27:19 EST 2004
	Added possibility of using a link instead of making a copy
	if gnunetd and the insert-client both run on the same machine.

Tue Apr 20 00:00:58 EST 2004
	Added network transparency for indexing files (by copying
	them to a GNUnet(d) specific directory).  This breaks
	unindexing (for files indexed with previous versions) and
	forces the user to make a copy of the file.  In the near
	future we should resolve this problem by allowing the use
	of a link.

Sun Apr 18 17:24:34 EST 2004
	Adding recursive, parallel download of directories to
	gnunet-download

Sun Apr 18 01:57:32 EST 2004
	gnunet-transport-check can now be used to check
	external connectivity (with other peers).
	
Sat Apr 17 17:46:19 EST 2004
	Reduced memory consuption for AFS insertion and
	download.
	
Sat Apr 10 21:17:46 EST 2004
	Implemented statistics-plot in gnunet-gtk based on
	gnome-system-monitor code.

Fri Apr  9 22:01:51 EST 2004
	Added support for libextractor > 0.2.7.
	
Fri Apr  9  0:29:20 EST 2004
	Completed --help conversion.

Wed Mar 31 15:40:51 EST 2004
	Releasing 0.6.1d.

Tue Mar 30 22:42:13 EST 2004
	Integrated gnunet-pseudonym-create, -delete and -list into
	gnunet-pseudonym as well as gnunet-directory-list, -emptydb
	and -print into gnunet-directory.

Tue Mar  2 10:46:01 EST 2004
	Fixing bug preventing download for indexed files <= 1k.

Sat Feb 28 03:43:34 EST 2004
	Releasing 0.6.1c.

Sat Feb 21 06:16:47 EST 2004
	Modified requestmanager to improve performance at the end of the
	download.

Thu Feb 19 00:48:33 EST 2004
	Fixed integer underflow possibly causing slow download performance.
	
Sun Feb 15 15:17:05 EST 2004
	Fixed weak key failures with libgcrypt.

Sun Feb 15 13:14:44 EST 2004
	New routing code (untested) commited.

Sun Feb 15 11:58:10 EST 2004
	Fixing problem with 64-bit size_t on alpha (#655).

Sat Jan 31 04:32:33 EST 2004
	Releasing 0.6.1b.

Fri Jan 23 00:00:09 EST 2004
	Fixed indexed content being overwritten by migrated content
	
Thu Jan 22 19:27:33 EST 2004
	Fixed integer-overflow problems in statuscalls.
	Fixed missing ttl/priority adjustment for NS-Queries.
	Fixed bug in routing that would let very old queries survive.

Thu Jan 15 23:14:54 EST 2004
	Fixed size of super-bloomfilter (was factor of 32 to small).
	Fixed option -r of gnunet-check (would not increment bloom filters
	to appropriate value).

Wed Dec 31 17:07:40 EST 2003
	Fixed various routing and bandwidth allocation problems.
	Releasing 0.6.1a.

Wed Dec 24 00:00:00 EST 2003
	Releasing 0.6.1.
	
Fri Dec 19 00:57:29 EST 2003
	NAT transport passes tests.

Sat Dec 13 00:16:41 EST 2003
	Added NAT transport.

Thu Oct 16 19:20:29 EST 2003
	Added greedy knapsack heuristic for use by CPU-overloaded
	systems.

Mon Oct 13 22:36:45 EST 2003
	Improved gnunet-gtk code that forks of gnunetd (some extra checking,
	use fork-exec instead of system(), pass configuration file as
	argument).

Sun Oct 12 03:42:55 EST 2003
	Split bandwidth montoring into up and downstream.
	Why stop sending replies merely because we *receive* traffic!?
	Also reduced frequency of HELO exchange.
	Added more statistics (traffic by type).

Fri Oct 10 02:05:13 EST 2003
	Fixed bug that wasted a lot of CPU time.
	Better CPU usage control by making knapsack
	solving (frequency and problem size) dependent
	on CPU load.

Thu Oct  9 14:29:35 EST 2003
	Releasing 0.6.0a.

Sun Oct  5 21:35:23 EST 2003
	GNUnet 0.6.0 released.

Sat Oct  4 12:54:55 EST 2003
	Fixed bug in timer code (discovered in testcase).	
	Added extensive testcases for platform dependent code.

Fri Sep 19 01:38:00 EST 2003
	Added code to allow namespace queries to return multiple
	results.  Updates are now displayed in separate tabs.

Wed Sep 17 23:54:15 EST 2003
	Migrated libgcrypt code in util to comply with
	libgcrypt 1.1.43 (and it passes the tests just fine)
	
Wed Sep 17 22:59:16 EST 2003
	Fixed problems with updates in namespaces in the GTK code.
	Added boolean search capability (x AND y) to GTK search.
	Made namespace search frequency respect TTL delays.
	
Thu Aug 21 19:42:57 EST 2003
	GNUnet 0.5.5 released.

Tue Aug 12 20:48:39 EST 2003
	Support for namespaces with updates is there,
	but requires testing.

Sun Jul 27 14:48:19 EST 2003
	Added download summary window to gnunet-gtk.
	
Fri Jul 25 14:15:37 CET 2003
	Unioned gnunet-insert-multi and gnunet-insert-sblock
	into gnunet-insert.
	
Thu Jun 26 23:22:12 EST 2003
	Added draft support for directories.

Thu Jun 26 23:21:41 EST 2003
	GNUnet 0.5.4a released

Sat Jun 14 19:21:41 EST 2003
	Added support for HTTP-PROXY to download the hostlist.
	
Wed May 29 01:13:15 EST 2003
	Fixing some ugly bugs in connection.c that caused
	permanent connection-drop and connection-establish
	cycles (every 5 minutes).
	
Sat May 24 03:12:42 EST 2003
	Migrated subset of libgcrypt into GNUnet tree to use
	it instead of OpenSSL or libgcrypt.  RSA in the new
	code is broken at the moment.

Sun May 18 04:10:25 EST 2003
	GNUnet 0.5.4 released.

Sat May 10 21:39:35 EST 2003
	Only download hostlist after a while if we were
	not able to connect (to reduce load on hostlist
	servers).

Fri May  2 23:20:15 EST 2003
	Added code to handle massive collisions in datastore
	(thousands of files under the same keyword).

Sun Apr 27 23:52:12 EST 2003
	GNUnet 0.5.3 released.
	
Wed Apr 23 03:20:21 EST 2003
	Build system cleanup, location of mysql, gdbm, tdb and
	db can now be specified.

Mon Apr 21 01:54:24 EST 2003
	Made random content selection with pIdx faster
	(do not read entire pidx files) and fully random
	(added code to weigh pidx files by number of entries).

Sun Apr 20 23:25:45 EST 2003
	Fixed double-free in TCP transport code (seems to have
	only had a real chance to occur under BSD in practice).

Sat Apr 19 14:42:37 EST 2003
	Replaced use of dlopen for plugins with the more
	portable ltdl from libtool.
	
Thu Apr 17 20:36:42 EST 2003
	Added synchronization to pIdx, also use truncate
	to remove last n entries instead of re-writing the
	entire file (much, much faster).
	
Mon Apr  7 00:00:07 EST 2003
	Implemented gnunet-delete.

Sat Apr  5 15:55:31 EST 2003
	Made directory database use 256 sub-directories
	(should increase speed a lot, with the new DB
	manager, this will result in at most 2048
	files per directory).

Mon Mar 31 16:51:24 EST 2003
	gnunet-convert and gnunet-check compile again
	with the new DB code.
	
Sun Mar 30 13:14:52 CET 2003
	Added BSD DB (libdb) support.
	
Sun Mar 23 04:04:38 EST 2003
	Big gnunet-gtk cleanup.
	
Tue Mar 18 01:52:18 EST 2003
	Releasing 0.5.2a.

Sun Mar 16 20:24:24 EST 2003
	Caching of RSA signatures for HELOs reduced CPU
	usage dramatically, from an average of 31% to less
	than 5% on my machine.

Sun Mar 16 01:21:16 EST 2003
	Fixed locking problem and problem with TCP transport
	(bad set of sockets in select).

Sat Mar 15 03:02:42 EST 2003
	Fixed bug that copied wrong content (garbage) into
	replies for other peers.  This one was introduced
	briefly before 0.5.2. Argh.

Fri Feb 28 00:23:02 EST 2003
	Fixed segfault in gnunet-gtk when closing search
	sub-window.

Thu Feb 27 16:23:20 EST 2003
	Releasing GNUnet 0.5.2.

Mon Feb 24 00:28:52 EST 2003
	Cleaning up the AFS routing code, also some tweaks
	to improve anonymity against an active attacker.

Thu Feb 20 23:51:30 EST 2003
	gnunet-tracekit works now nicely (and with dot).
	Also, GNUnet now attempts to locate a configuration
	file in /etc/gnunet.conf if ~/.gnunet/gnunet.conf
	does not exist (and nothing is specified on the
	command line).

Wed Feb 12 23:21:44 EST 2003
	Fixed deadlock between pingpong and connection
	module.

Tue Feb  4 13:22:09 EST 2003
	Releasing GNUnet 0.5.1(a).

Tue Feb  4 04:05:58 EST 2003
	RSA encryption of OpenSSL has been changed to pure
	PKCS #1 to achieve compatibility with libgcrypt.

Mon Feb  3 18:46:54 EST 2003
	RSA signature encoding has been changed from raw
	to PKCS #1 compatible encoding. This should help
	making the migration to libgcrypt easier in the
	future. RSA & libgcrypt are still not friends,
	but the GNUnet code should be mostly there.

Fri Jan 31 10:40:01 EST 2003
	gnunet-peer-info tool was added. This tool can
	prints information about all known peers and may
        be useful for diagnostics.

Mon Jan 20 17:54:51 EST 2003
	A large number of memory leaks got fixed thanks
	to the new automated scripts to find them.

Thu Jan 16 00:49:20 EST 2003
	Nearly finished removing dependencies on OpenSSL
	(using libgcrypt instead), $FOO-expansion in
	configuration parsing and RSA (public key crypto)
	are the only missing pieces.	

Mon Jan 13 01:53:45 EST 2003
	Fixed deadlock in gnunetd (would stop processing
	messages).

Sun Dec 27 13:34:11 CET 2002
	Fixed segmentation fault that occured when number
	of known peers goes over 128.
	
Sat Dec 21 16:27:11 CET 2002
        Releasing GNUnet 0.5.0.

Sat Dec 14 03:47:05 CET 2002
	Bugfixes over bugfixes. Various memory leaks
	from gnunetd to gnunet-download, problems
	with bloomfilters and gnunet-check, enforcing
	storage limitations set by the user, fixes
	in the UDP, TCP and SMTP transports;
	better thread termination (avoid asynchronous
	cancellation). Not to mention the new
	tools gnunet-transport-check and gnunet-tbench
	for the evaulation of correctness and performance
	of the transport services.

Wed Nov  6 22:49:24 EST 2002
	Added load smoothing for network and CPU load
	such that we quickly adapt to increasing load,
	but slowly reduce the (effective) load value
	used in the policy if the load drops. This should
	help avoiding 0-1 policies where we always jump
	up and down between 100% load and no load, letting
	in one period all traffic through and in the next
	none.

Wed Nov  6 00:31:39 EST 2002
	Added port==0 for UDP and TCP transport as an
	option to indicate that the transport is to be
	used only to establish connections to other
	peers but not as a server-socket (that is,
	if the port is 0, other GNUnet peers can not
	connect to the local node's UDP or TCP port,
	but the local node can still use UDP
	(unidirectional) or TCP (even bi-directional)
	to talk to other peers. This is useful if a
	node is behind a NAT box and can not receive
	inbound traffic but is able to send messages to
	other peers (and in the case of TCP even receive
	messages if the local peer initiated the
	bi-directional connection). Currently, a peer
	must always provide at least one transport under
	which the peer can be "actively" reached since
	otherwise other peers will not keep the public
	key of that peer and thus not be able to
	complete the session key exchange. For NAT-box
	peers, SMTP might be a viable choice for that
	"active" protocol.

Fri Oct 11 02:16:42 EST 2002
	Added bloomfilter interface and calls to the BF from
	the AFS service implementation. Missing for working
	bloomfilter are calls from gnunet-insert to update
	the bloom-filter (top-CHK and super-queries) and the
	actual bloom-filter implementation.
	
Tue Oct  8 20:35:45 EST 2002
	TCP transport now works with only one thread (using
	select) instead of one thread per peer-connection.

Fri Sep 27 02:24:52 EST 2002
	New content encoding (still only 1k blocks, but with
	CHK style IBocks and GBlocks for aggressive content
	migration) now seems to work.

Mon Sep 16 01:57:55 EST 2002
	Implemented gnunet-chat, a demo-application for
	how to develop p2p applications on top of GNUnet.

Sun Sep 15 22:48:28 EST 2002
	Fixing (long standing) problem with segfaults under BSD
	due to stack overflow in threads.

Sun Sep 15 02:04:52 EST 2002
	TCP transport layer implementation seems to work now.
	gnunet.conf is now documented on the web. HELO exchange
        is fixed, so is the CS-connection whitelisting.

Fri Sep 13 00:51:01 EST 2002
	Update on the progress towards 0.4.9. What is missing?
        * new content encoding to facilitate:
          - content migration
          - discriminated routing (downloads vs. searches)
          - variable blocksize (?)
          - self-synchronizing stream encoding (?)
        * additional transport layers (SMTP, TCP, HTTP)
        * demo application (chat) for how to use the API
        * documentation on new gnunet.conf
        * known bugs:
          - Igor reports, HELO exchange is broken
          - David reports, CS-connection whitelisting is broken
          - rpm.spec is outdated (add GNUnet's dynamic libraries)

	What has been resolved so far:
        Major:
        * transport and application layer have been abstracted
        * dynamic loading of transports and applications is
          implemented
        * routing much faster since slots are freed earlier
        * querymanager is more intelligent in where to send
          queries (presumably, not tested)

        Refactoring:
        * configuration can store options from commandline
        * statistics is totally dynamic and can be extended
        * connection buffer does callbacks on applications to
          fill buffers with queries instead of noise, and
          the querymanager makes use of this

        Moving:
        * common/ is gone
        * gnettypes.h is gone
        * AFS specific code is all in AFS
        * renaming is also done

Sun Aug 25 15:30:56 EST 2002
	Moving work towards 0.4.9 to CVS. The major goals are:
	* independent transport layer (UDP, TCP, SMTP, HTTP,
	  any of these should be possible in the future); also,
	  the MTU may be defined differently by any one of them.
	* independent application layer. Anonymous File Sharing
	  (AFS) should just be one application for the GNUnet
	  core.

	Other minor goals and refactorings include:
	* configuration - we should be able to update dynamically
	  options from the gnunet.conf file. E.g. by adding options
	  from the command line
	* statistics - we should not have a hardwired fixed set
	  of datapoints, the statistics module should be useful
	  for any kind of statistics
	* noise reduction - the connection buffer should allow
	  the use of intelligent applications that get notified
	  if noise would be send and then can plug in useful data

	And then there is just moving stuff:
	* move "common/" to where it belongs (either applications
	  or server)
	* gnettypes is bad if we want to seperate app specifcs
	  and core. The typedefs should be placed where they are
	  used
	* database does not belong in util, it's AFS specific
        * AFS: cleaner separation between database, encoding,
	  protocol implementation, shell-tools and GUI code.
	
	And finally, renaming:
	* if we have TCP for peer-to-peer communications,
	  we can't use "TCP" vs. "UDP" to distinguish p2p from
	  client-server, thus: "UDP" becomes "p2p" and "TCP"
	  becomes "CS". At least where they were used to distinguish
	  node-to-node and client-server (gnunetd).

Sun Aug 25 15:02:31 EST 2002
	Releasing GNUnet 0.4.6.

Thu Aug 22 01:31:21 EEST 2002
	gnunet-gtk should now be able to perform multiple
	search and download operations simultaneously (atleast a couple).

Tue Aug 20 23:11:10 EEST 2002
	Fixed segfault in gnunet-search and gnunet-gtk which appeared
	when there was lots of results.
	Modified gnunetd to return more results at once if there
	is excess bandwidth.
	
Sun Aug 18 23:57:10 EST 2002
	Reworked the lookup-database. The old database got
	into trouble storing data when it was 6% full. Some
	simulations show that the new approach should manage
	94% and should be about as fast (more CPU, presumably
	slightly fewer random disc accesses).
	This change is INCOMPATIBLE with 0.4.5. You *must*
	run "gnunet-check -a" before starting this new version
	of gnunetd in order to migrate to the new format. For
	database simulation and statistical numbers, see
	also src/historical/simula.c.

Fri Aug 16 17:07:15 EST 2002
	Releasing GNUnet 0.4.5.

Fri Aug 16 16:43:39 EST 2002
	Added feature that will allow the specification of
	multiple URLs for downloading the initial hostlist.

Mon Aug 12 02:28:14 EST 2002
	Fixed big problem in requestmanager that would
	make downloads *very* slow for no good reason
	at all (ttl increment in wrong place would make
	us defer the next request for more than twice
	as long as needed, plus some other minor bugs).

Mon Aug 12 01:31:03 EST 2002
	Fixed bug #347 (option "-H" to gnunet-clients for
	connecting to a remote gnunetd node).

Mon Aug 12 01:10:17 EST 2002
	Fixed bug #348 (no more scan of the entire database
	on startup, instead the databases (gdbm, tdb) contain
	an entry that gives the nubmer of entries). Note that
	this is not done for contentdatabase_directory.

Sun Aug 11 17:00:03 EEST 2002
	Crude file insertion capabilities added to gnunet-gtk gui.

Thu Aug  8 19:13:34 EST 2002
	Added progress bar / printing of insertion status to
	gnunet-insert (option "-V").

Thu Aug  8 19:02:33 EST 2002
	Cleaning up code (establishing sessions, etc.)

Thu Aug  8 18:03:05 EST 2002
	Fixed bug #343 (overflow in stats) by moving to
	long long. Let's hope that __BYTE_ORDER is
	actually defined outside of netinet/in.h.

Thu Aug  8 17:47:17 EST 2002
	Fixed gnunetd segfaulting if gnunet.conf is not
	available. Also, recvfrom returning -1 with
	errno == EAGAIN was fixed earlier.

Wed Jul 31 23:38:36 EST 2002
	Released 0.4.4.

Wed Jul 31 21:35:53 EST 2002
	Fixed bug with TCP connection that would not
	free thread resources and eventually lead to
	gnunetd not being able to start new threads
	anymore (mantis: #339).

Tue Jul 30 23:38:51 EST 2002
	Fixed SIGHUP exiting. The main loop was exiting
	because recvfrom returned -1 with errno EINTR,
	which caused us to break out of the main loop.
	Also added gnunetd.pid file to simplify killing
	(or re-reading configuration of) the server.
	You must specify the PIDFILE in gnunet.conf!

Tue Jul 30 20:38:47 EST 2002
	Started writing code to enable re-reading of the
	configuration file whenever we receive a SIGHUP.
	Works, except that after we've read the new
	config file, gnunetd exits (unknown why).

Mon Jul 29 18:52:23 EST 2002
	Added shutdown code that terminates connection when
	SIGTERM is received (to avoid keeping lots of UDP
	traffic for the next couple of minutes from hosts
	that still believe we're up).
	
Sat Jul 27 12:39:47 EST 2002
	Added code to measure network load asymmetrically (useful
        for DSL users).

Fri Jul 26 22:46:54 EST 2002
	Released 0.4.3.
	
Wed Jul 24 21:13:08 EST 2002
	Fixed bug in locking and segfault (Linux tolerated,
	BSD crashed, both in connection.c), added logging service.

Tue Jul 23 00:41:17 EST 2002
	Made gnunetd fork like a nice deamon should. Also
	started to add a logging service.
	
Sun Jul 21 20:39:20 EST 2002
	Fixed issue with check_database (index checking too
	strict if content is available in database and
	on-demand encoded; also a bounds check was missing).

Sun Jul 21 16:05:20 EST 2002
	Fixed deadlock in heloexchange (knownhost requires
	recursive lock).

Sun Jul 21 02:02:32 EST 2002
	Improved routing table. Now does more dynamic memory
        allocation, reducing the fixed-size per slot from 700
	to 56 bytes. Increased number of slots from 512 to
	8092 (which is the optimal number for a 56 kbps
        modem connection).

Sat Jul 20 23:57:06 EST 2002
	Fixed bug that caused problems for files
        that were indexed and that had spaces in
        the filename.

Wed Jul 17 22:50:24 EST 2002
	Fixed bug that prohibited a transitive HELO exchange
	in many cases.
	
Wed Jul 17 01:48:44 EST 2002
	Fixed a couple of bugs in gnunet-check and the
	insertion-tools. Now gnunet-check seems to run like
	a charm. Running it to detect and fix problems in
	the GNUnet databases seems now recommendable :-).
	Note that you must stop gnunetd before running
	gnunet-check.

Mon Jul 15 22:27:45 EST 2002
	Added return values for insertion. If we run out of
	space (in particular for the fixed-size index
	database), we can now communicate the problem to the
	user.
	gnunet-check is now pretty much feature-complete,
	but it takes of course very, very long to run. There
	is now also a man-page for gnunet-check.

Thu Jul 11 11:33:34 EST 2002
	Added randomized order of blocks for the download
	(patch by I. Wronsky).

Thu Jun 20 21:13:21 EST 2002
	Added HANGUP, a message send if one side terminates the connection.
	Sending the message is optional, but it is nicer to have it. Also
	started on gnunet-check, a tool to check database consistency.

Thu Jun 20 03:11:01 EST 2002
	Improved handling of collisions in the hashes in the
	lookup module (uses no longer a linear scan on the
	collisions file but a hashtable for the collisions!).	
	
Tue Jun 18 20:29:38 EST 2002
	Released GNUnet 0.4.2.
	
Tue Jun 18 20:20:55 EST 2002
	Fixed bugs in blacklisting IPs. Added feature to allow specification
	which networks are trusted enough to connect to the trusted TCP
	port (TCP/2086 no longer needs to be firewalled!).
	
Tue Jun 18 02:35:53 EST 2002
	Fixed problems with ttl (negative TTL queries were forwarded),
	also better flushing of buffers and fewer SKEY exchanges due to
	a now working implementation of the blacklist. A DNS lookup for
	the NAT-box-IP configuration was also added.

Sun Jun 16 04:11:01 EST 2002
	Added code to provide statistics (gnunet-stats).
	Incomplete.

Sun Jun  9 22:56:02 EST 2002
	Released GNUnet 0.4.1.
	
Sat Jun  8 05:00:36 EST 2002
	Several small bugfixes (list of shared files not updated on
        insertion, highest-bit of trust not interpreted as dirty,
        rpm dependency on libextractor added.
        Also many improvments to the build process.

Wed Jun  5 17:01:58 EST 2002
	Made sure that HELOs don't trigger Ping-Pong if we don't
	really learn anything new.

Tue Jun  4 17:17:45 EST 2002
	The port numbers were not in network-byte order. Fixing
	this is trivial, but it breaks compatibility with 0.4.0.
	Thanks to Rick Kennell for reporting the endianess issue.
	
Mon Jun  3 20:35:47 EST 2002
	Fixed bug with CRC not endian-converted in gnunet-gtk.
	Added mimetype and filename support to gnunet-gtk.

Sun Jun  2 03:52:18 EST 2002
	Released 0.4.0.

Sat Jun  1 22:13:12 EST 2002
	Added three-way handshake for SKEY exchange. Not tested.
	
Sat Jun  1 16:55:18 EST 2002
	Fixed potential DDoS problem where malicious hosts could
	trick GNUnet servers to repeatedly probe a non-partitipating host
	trying to establish a connection. I wonder how many other
	p2p systems are vulnerable. (Fix: after HELO, play PING-PONG).
	The endianess issues should be fixed throughout the system, but
	not tested on a real machine so far. 	

Sat May 25 15:55:11 EST 2002
	Moved to new CVS server. First changes towards 0.4.0:
	* mostly-big-endian
	* insert/index via TCP
	* bugfixes (mostly performance)

Sat May 18 16:00:06 EST 2002
	Added mimetype, filename and version number to RootNodes
	(mostly incompatible change!). Added automatic generic keyword
	and mime-type extraction via libextractor to gnunet-insert.

Tue May 14 23:59:40 EST 2002
	New storage database is starting to look good. We can now store
	the data in a directory (one file per block), a gdbm database,
	and presumably (not tested) in a tdb database.

Sat May 11 22:10:56 EST 2002
	Completed, deployed and tested the new TCPIO code. This changes
	the gnunetd-client protocol. Essentially, we convert the TCP stream
	into records with a length and type header. This should allow us
	to fix bug #212 and add other features in the future. The current
	change is really only changing the core TCP code and not anything
	around it. We should deploy some demultiplexing code later.

Tue May  7 20:56:40 EST 2002
	Added IP blacklisting (for virtual private networks).	

Sat May  4 14:08:23 EST 2002
	Fixed bug with bad insertion of files smaller than 1k.

Fri May  3 23:25:16 EST 2002
	Added IP change detection (useful for dialup) [bug #272].
	Added code to ensure that a HELO is life instantly
	after receiving it, fixing the 'unknown host,
	refusing SKEY problem' (bug #273). Other minor	
	bugfixes (#274, #283).

Sun Apr 14 22:36:03 EST 2002
	Added option to allow NAT boxes not to exchange
	foreign HELOs and thus expose the private
	network. Fixed bug that all other hosts should
	in fact do this exchange.

Sat Apr 13 11:02:59 EST 2002
	Make sure that files are readable before returning TRUE
	in assertIsFile()

Fri Apr 12 03:01:06 EST 2002
	Added padding messages with random if maximum
	packet size is not reached. All encrypted
	packets now look absolutely uniform in size
	for a non-participating adversary (before,
	a host that had few queries may have sent packets
	that were less than the maximum size).

Thu Apr 11 01:43:28 EST 2002
	Added sequence numbers to protocol to defend
	against replay attacks (bug #185).

Wed Apr 10 02:07:25 EST 2002
	Bugfix gnunet-insert-mp3 (endless loop).
	Updated documentation.
	
Mon Apr  8 00:07:15 EST 2002
	Fixed endless-loop bug when activemigration is turned
	on (during startup).
	
Fri Apr  5 02:03:13 EST 2002
	Released 0.3.3.
	
Fri Apr  5 00:33:42 EST 2002
        gnunet-gtk, the gtk+ based GUI is now functional and
	has all the features of gnunet-search and gnunet-download,
	including boolean queries. In fact, it is a bit better than
	gnunet-download as it shows the progress of the download.
	The manpage for gnunet-gtk was updated. Minor bugfixes.
	
Mon Mar 25 02:59:13 EST 2002
	Changed writeFile to use a fourth parameter which is the
	desired permissions for the file. Files in data/hosts
	are now world-readable.	Created man pages

Mon Mar 18 17:56:52 EST 2002
	Released 0.3.2.

Sun Mar 17 10:47:51 EST 2002
	Got rid of far too frequent key exchange attempts.
	Added expiration for very-long-dead host keys. Stopped
	forwarding of expired HELOs (receiver drops anyway).	

Wed Mar 14 05:46:20 EST 2002
	Fixed some file location inconsistencies. All files are
	now in $HOME/GNUnet. RPM installation points to /var/GNUnet
	and the config file is ~/GNUnet/gnunet.conf
	Finished port to FreeBSD. This included mostly changes
	to src/util/statuscalls.c, but also several changes to
	the build system. Added a stat() call in the server code
	to make sure the config file exists before sending it to
	the OpenSSL conf code. Added getopt to source to fix
	portability issues. Changed FREEBSD defs to SOMEBSD, also
	changed in configure.in. Compiles and works on at least
	FreeBSD 4.5 and OpenBSD 3.0

Wed Mar  6 23:15:36 EST 2002
	Added code for 'fast scan' of the database for
	content to discard (should be called partial
	scan). This improves the startup-time dramatically.
	Every source file got the GNU header.
	
Tue Mar  5 22:42:36 EST 2002
	Added option for *not* participating in content
	migration. Added timeout option to gnunet-search.
	gnunetd now periodically (1h) scans for new content,
	no restarting required.

Mon Mar  4 23:21:51 EST 2002
	Optimized routing and content migration. Distance
	of the hash to the identity of the local host is
	now taken into account for routing. Hosts give
	higher priority to content that is close to their
	identity (priority towards keeping it). If the
	network grows, this should significantly improve
	the performance. Also, the choice of the hosts
	for routing is now based on proximity (to the
	query), the activity level of the host and its
	credit ranking.

Sun Mar  3 00:14:58 EST 2002
	Implemented binary queries ("AND") for gnunet-search.
	Made sure that content is not downloaded again if
	already present (if there is other content, we
	overwrite). Fixed bug in gnunet-download
	(uninitialzied time-to-live).
	
Sat Mar  2 01:57:37 EST 2002
	Finished porting the download-code to C. Now files can
	be downloaded in using shell commands. No GUI though.
	Released GNUnet v0.3.1.

Wed Feb 20 23:47:19 EST 2002
	Big CVS moving operation.

Sat Feb 16 23:17:27 EST 2002
	Started migration to GNUnet.

Sun Feb  3 01:20:37 EST 2002
	Extracted crc32 method from zlib and put only that method into
	primitives. Reduces our memory footprint (if nobody else uses
	zlib) and we no longer depend no that library (always good).

Sat Feb  2 22:56:32 EST 2002
	Building final tarball for v0.3.0.

Wed Jan 30 23:41:04 EST 2002
	Created mp32gnet, a tool to automaticall index mp3 files
	using information from the mp3 header as keywords (title,
	artist, album, comments). The mp3 parsing code comes from
	the GPL tool mp3info.

Tue Jan 29 17:36:48 EST 2002
        Fixed bug with files that were not closed under certain
        circumstances and lead to an exhaustion of the number of
        concurrently open files.

Mon Jan 21 23:34:44 EST 2002
	Bumping version numbers to v0.3.0 (not yet released, needs some
	more testing to be on the safe side).
	
Sun Jan 20 02:09:06 EST 2002
	Content gathering now discards the least important
	content in favour of new, more important content (if
	there is not space for all content). The cron
	management is now used everywhere. The rpm, the init-script
	and the gproxy shell script have been revised.
	
Sun Jan 13 23:17:58 EST 2002
	Created cron management, replacing old control
	thread (allows for better timing of events).
	EvaluateContent now gets the priority of the
	query that the content had.
	
Sun Jan 13 00:54:56 EST 2002
	Improved choice in number of hosts to forward
	queries to (now dynamic, depending on priority, etc.)
	Removed many, many allocations in print statements
	which also caused memory leaks if active (see
	debugging.h).
	Added CRC checking of the root node in GProxy. Fixed
	problem with CRC in IBlocks for large files.
	Added dialog to GProxy to choose where to save the file.

Sat Jan  5 14:25:31 EST 2002
	Optimized routing table. Routing table is now a hashtable
	(collisions are handled by droping either the former or the
	new entry). Each bucket has it's own lock, the global
	semaphore is gone. The table has many more entries (we can
	afford that now that there is no longer a linear search).

Wed Dec 26 19:30:41 CET 2001
	Created v0.2.0

Tue Dec 25 21:24:18 CET 2001
	Fixed TTL errors that made queries loop. Added host-evaluation
	to policy (drop packets from untrusted hosts under load). Found that CRC-errors
	are related to policy decisions ("drop"), cosmetic fix.

Sun Nov 25 08:10:52 EST 2001
	Added triple-hash functionality and on-demand encoding (lookup.c).

Sat Nov 24 07:46:10 EST 2001
	Added randomized choice of hosts for the hosttable.

Thu Nov 22 04:57:57 EST 2001
	Fixed another bunch of big bugs, tested, seems to work smoothly. Creating V0.1.0.

Mon Nov 19 01:22:42 EST 2001:
	Fixed biggest (show-stopper) bugs. Creating V0.0.3

Fri Oct 26 02:20:00 EST 2001:
	Created ChangeLog. Report important changes here,
	report small changes to CVS only.
