summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 4b97563f75b6fc2a2df7a31a0af471cf5526b334 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
Thu Dec 23 23:33:05 CET 2010
	Releasing GNUnet 0.9.0pre2.

Thu Oct	 7 20:51:05 CEST 2010
	Removed dependency on GNU MP (GMP). The code now uses the libgcrypt MPI
	interface.

Sat Jul  3 20:47:45 CEST 2010
	Releasing GNUnet 0.9.0pre1.

Wed Jun 23 16:34:38 CEST 2010
	Added support for systemd-compatible passing of listen-sockets
	by ARM to services as well as systemd compatibility for gnunet-service-arm
	itself.  At least for non-MINGW systems this should work.

Sat Jun  5 18:08:39 CEST 2010
	Added support for UNIX domain sockets, code also defaults to
	them when available.

Sun May  2 13:49:10 CEST 2010
	Fixed problem with platform-dependence of format for IP addresses
	in HELLOs for TCP and UDP transport.
	Reduced address length field in HELLOs to 16 bit (was 32 bit).
	These changes break transport compatibility.

Fri Apr 16 18:19:05 CEST 2010
	Nearly complete rewrite and new overall architecture.  Many
	features are still missing, but basic system seems to be
	working again.  Maybe time to again track major changes
	in the ChangeLog.  Releasing 0.9.0pre0.


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.