forked from i2p/i2p.i2p
-
Notifications
You must be signed in to change notification settings - Fork 0
/
history.txt
14714 lines (12771 loc) · 577 KB
/
history.txt
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
2015-09-04 zzz
* UPnP: Fix "content not allowed in trailing section"
(tickets #481, #1653)
2015-08-31 zzz
* Data: Cache P256 and Ed255i9 key certificates
* i2psnark: Change default sig type to Ed25519
2015-08-29 zzz
* Router:
- Change default RI sig type to Ed25519, with a 10% chance od
rekeying from DSA at each restart
- Don't initialize KeyManager before selecting sig type
- Don't log KeyManager error when changing sig type
2015-08-25 zzz
* i2psnark:
- Return partial piece to coordinator after reject
- Fix tracking of downloaded portion of piece after reject
- Send reject on receipt of bad request
- Mark piece unrequested after receiving bad data, so it
will be requested again, but not from the same peer
- Fix NPE in Request constructor on error
- Fix stuck before completion due to reject handling (ticket #1633)
- Fix orphaned temp files due to reject handling (ticket #1635)
2015-08-02 zzz
* Console: Fix SSL excluded ciphers (thx lazyg)
* SU3File: Add keystore password command line option
* 2015-07-31 0.9.21 released
2015-07-27 zzz
* Update: Fix processing of translated news su3 files
2015-07-26 zzz
* Update translations
2015-07-25 zzz
* i2psnark: Fix total_size in metadata message (ticket #1618)
* NetDB: Fix NPE (ticket #1619)
2015-07-21 str4d
* Core: Throw DFE in Certificate.create() instead of AIOOBE (ticket #1016)
2015-07-21 str4d
* Core: Fix parsing bug in KeyCertificate
2015-07-16 zzz
* Console: Add dates to news headings
2015-07-12 zzz
* Findbugs all over
2015-07-08 zzz
* Tunnels: New Bloom filter size, increase bandwidth limit (ticket #1505)
2015-07-07 zzz
* Crypto: Check for error return from sign()
* i2psnark: Tweak dest display in footer
* Streaming: New config to add to DSA-only list
* Updates: New news URL
2015-07-05 zzz
* SSU: Compete better with NTCP for outbound bandwidth allocations
* Transport: Adjust thread priorities to prevent I/O stalling
2015-06-29 zzz
* Transport: More fixes for SSU stalling
2015-06-28 zzz
* Apache Tomcat 6.0.44
2015-06-25 zzz
* Console: Use registered host/port for eepsite link (ticket #1604)
* Jetty starter: Register host/port when started
* PortMapper: Add hostname support
2015-06-24 zzz
* Transport: Add failsafe to prevent complete SSU stall waiting
for bandwidth limiter
2015-06-23 zzz
* Console: Fix NPE on /configtunnels
* GeoIP: Add countries and flags for Asia/Pacific, Bonaire, St. Barts,
St. Maarten, South Sudan
* I2CP: Don't try to decrypt an LS before it's encrypted (ticket #1608)
* Router: Increase default outbound bandwidth to 60 KBps;
raise class L/M boundary to match so defaulted routers are still L
2015-06-22 dg
* NetDB: Partially revert last NetDB change: flood because we don't want
to create a hole in the DHT before publisher resends to somebody else.
2015-06-20 dg
* I2PSnark: Auto-start now only starts torrents which were running at shutdown (#766)
* NetDB: Don't say we stored, and don't flood, if we're shutting down
2015-06-19 zzz
* I2CP: Fix simple session lookups, broken in prop
* I2PSocketEepGet: Do hostname lookups in-session for efficiency
* Tunnels: Increase default max tunnels
2015-06-18 zzz
* I2CP:
- Don't send the first LS request to the client until we have
at least one OB tunnel, so the client waits until we are ready.
- Fixes to prevent multiple pending LS requests
- Move client-side implementation classes to
new package net.i2p.client.impl, leaving only the
factories and interfaces in net.i2p.client
* Update: Add language param to news fetch for translated news (ticket #1425)
2015-06-17 zzz
Prop from i2p.i2p.zzz.multisess:
* Router, I2CP, Streaming, i2ptunnel:
- Multisession support and multiple destinations in one tunnel pool
- Connections to Hardcoded blacklist of destinations that do not
support ECDSA will use the DSA session
- Change shared clients to ECDSA by default, with a DSA subsession
- Add support for 'aliased' local destinations that use the same tunnel pools
- No UI or config support, no server support, may be added later
- Catch uncaught exceptions in ClientConnectionRunner and stop connection
- When socket is closed, set sessionID and LS to null,
close subsession and set its sessionID and LS to null
- Checks on client side for null session ID
- Check for null session in Destroy Session message
2015-06-13 zzz
* i2psnark: Fix NPE (ticket #1602)
* NetDB:
- Improve routing of DatabaseStoreMessage acks
- Send our own RI unsolicited in reply if we aren't floodfill
- Don't ack or flood a store of an unknown type
- Don't say we stored, and don't flood if we're shutting down
* PeerTestJob: Don't generate zero reply token
* Timestamper: Reduce NTP timeouts to shorten startup time
when NTP is blocked
* Tunnels: More checks of messages received down exploratory tunnels
2015-06-08 dg
* Language fixes
* Make netDb.storeFloodNew graphable for testing (#1195)
* Directly connect to nearby floodfills to share our RI
to speed up integration of new floodfills (#1195)
* Silence Irc{Inbound,Outbound}Filter warnings about 'no streams'
when we can't connect to an IRC server. Change to WARN.
2015-06-07 zzz
* Logs: Correct wrapper.config location when running as a service
* NetDB: Fix early NPE
* SSU: Possible fix for NPE in establisher
2015-06-06 zzz
* Console: Add indication of current ff status on /configadvanced,
change immediately when config changes, force republish
2015-06-06 str4d
* newsxml: Don't use XXX for parsing dates on Android
2015-06-04 str4d
* i2ptunnel:
- Don't connect manager to router in constructor (ticket #815)
- Don't call startup() in chained constructor (ticket #1593)
2015-06-03 zzz
Prop from i2p.i2p.zzz.sam:
* I2CP: Set keepalive on sockets (ticket #1573)
* SAM:
- Close sockets and stop tunnels when router-side SAM stops (ticket #1572)
- Better checks for quoting status message strings (ticket #1488)
- Set encoding for sam.keys file
- Don't throw NPE on rare stream errors
- Comment out unused dumpProperties()
- Cleanups, log tweaks, thread name tweaks
- Set keepalive on sockets (ticket #1573)
Prop from i2p.i2p.zzz.test2:
* Console:
- Don't allow unbanning of all-zero hash
- Nicer "move" icons on /configsidebar, add tooltips
- Prevent bad line-wrap of very long menu items
* HTTP Client: Greatly simplify decompression by using InflaterOutputStream
* I2CP: Prevent sending messages before handshake with router is complete
* i2psnark:
- Add support for fast extensions (BEP 6)
- Don't say 'download finished' unless we downloaded something
- Don't lose sort param when hiding peers
* i2ptunnel: Strip top-level supercookies too
* LogWriter: Write dup message to wrapper log and crit buf also (ticket #1585)
* Reseed: Only log reseed network disconnected warning once
* Router: Add gzip and translate caches to clearCaches()
* Susidns, addressbook: Don't attempt to fetch subscriptions if
HTTP proxy is down (ticket #1530)
* SSU: More synchronization in PeerState
* Stats: Reduce number of rates in required stats to save memory
* UPnP: Only log network disconnected warning once
* 2015-06-02 0.9.20 released
2015-05-31 zzz
* Fortuna: Catch AIOOBE (ticket #1576)
2015-05-30 zzz
* i2ptunnel: Fix +/- variance config (ticket #1587)
2015-05-29 zzz
* HTTP client: Fix occasional truncation of compressed responses
2015-05-27 zzz
* Banlist: Ban all-zero hash
* DataHelper: Add year output to formatDuration()
* Graphs: prevent NaNs if we are skewed ahead of system time
* NetDb: Drop all-zero lookups and stores, add stats
* SSU:
- Fix debug logging of dumped packets
- Drop sessions with bad clock skew, banlist peer, add stats
- Drop sessions with corrupt DSM, banlist peer, add stats
2015-05-23 zzz
* I2CP: Add an INIT state for session, so a newly created session
isn't treated as CLOSED and immediately replaced by i2ptunnel,
which caused dup shared clients in a race at startup
(possible related tickets #642, #650, #815, #1545)
2015-05-21 kytv
* Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
database from 2015-05-06.
* Translation updates
2015-05-13 zzz
* Console: Fix URLs caught in XSS filter on /confighome (ticket #1569)
* i2psnark: Fix deletion of single-file torrent outside snark dir (ticket #1544)
* NTCP: Catch race in Reader (ticket #1534)
2015-02-12 dg
* Job Queue/stats: add stat/graph for amount of scheduled jobs (router.tunnelBacklog)
* FloodfillMonitorJob:
- Use avg of router.tunnelBacklog instead of current backlog
* Some language/spelling fixes
2015-05-11 zzz
* Util: Fix corruption of cached ReusableGZIPInputStreams
2015-05-09 zzz
* i2ptunnel: Improve error handling in UDP tunnels
* Plugins: Add support for custom icons (ticket #1550)
2015-05-08 zzz
* Reseed: Don't reseed while shutting down (ticket #1565)
2015-05-07 zzz
* SAM: Close datagram or raw session when underlying
I2P session closes (tickets #1455, #1563)
* Update: Add support for su3-signed development builds (ticket #1381)
2015-05-06 zzz
* Datagram: Convert IOE to DFE and throw on error (ticket #1562)
* Naming services: Export address books with Windows
line endings on Windows (ticket #1557)
* Transport: Add config to force IPv4 (only) to firewalled (ticket #1541)
2015-05-04 zzz
* i2ptunnel:
- Close input stream when HTTP client decompressor
terminates (ticket #1506)
- Add Connection: close headers to errors and proxy.i2p responses
where it was missing (ticket #1531)
2015-05-03 zzz
* Console: Add floodfill configuration form to /configadvanced
* Router: Allow class M to become floodfill;
add bandwidth classes P and X (ticket #1447)
* SusiDNS: Add export button
2015-05-02 zzz
* Console: Fix Indonesian translations
* Jetty 8.1.17.v20150415
* Transports: Cleanup of ticket #1458 fixes
2015-04-30 zzz
* Transports: Correctly handle IPv4 firewalled, IPv6 not (ticket #1458)
2015-04-29 zzz
* Clock: Make forward slewing work better
* I2CP: Periodically send a SetDate message to external clients
* Transports:
- Fix clock skew calculations
- Track IPv4/v6 reachability separately (ticket #1458)
2015-04-28 zzz
* JobQueueRunner: Don't call System.exit() on OOM,
let the shutdown progress normally;
Make it an I2PThread instead of a Runner so we can
call fireOOM() for consistent logging (ticket #1549)
* Router: Don't add OOM listener on Android so
we don't hang onto the context
2015-04-27 zzz
* NamingService: Add export methods
* SusiDNS: Add export support, no UI yet
* Transports:
- Convert internal state to enums, prep for tracking
IPv4/v6 reachability separately (ticket #1458)
- Don't set TCP keepalive for IPv6
2015-04-26 zzz
* i2ptunnel: Reduce sleep time in runners to reduce latency
2015-04-25 zzz
* I2PSSLSocketFactory: Add hostname verification
* SSLEepGet:
- Rework recent setSoTimeout code changes, as they broke SNI
- Add option to save certs even if no errors
- Add option to disable hostname verification
2015-04-24 zzz
* Util: Catch and convert OOM in I2PThread.start()
* i2ptunnel:
- Fix Socks and SocksIRC tunnels not starting
- Fix shutdown of client tunnels on server socket errors,
* Updates: Fail fast if HTTP proxy is not running (ticket #1530)
2015-04-23 zzz
* Streaming:
- Reduce min RTO for quicker recovery after packet loss
- Reduce default initial ack delay
- More efficient checking for input buffer overflow
2015-04-22 zzz
* i2psnark: Fix deletion of config files, cleanup old ones (ticket #1498)
* I2PSocketEepGet: Fix i2psnark NPE caused by -6 (ticket #1543)
* NTCP: Reduce min send finisher threads to 1
* PortMapper: Status output for /debug
2015-04-21 zzz
* i2ptunnel: Log uncaught errors in thread pool
* Reseed: Disable non-su3 reseeding
* Router timestamper:
- Add country-to-continent mapping
- Add continent zones as fallback
- Don't start threads in constructors
* Transports: Reduce idle timeouts
2015-04-20 zzz
* Blockfile: Unroll recursive initialization
* EepGet: Set soTimeout for non-proxied fetches to enforce
header timeout and prevent long reseed hangs
* Reseed:
- Honor SSL/non-SSL setting when custom reseed list is set (ticket #1136)
- Remove all default HTTP URLs (ticket #1514)
2015-04-17 zzz
Prop from i2p.i2p.zzz.test2:
* Console: Set session cookies to HttpOnly
* i2psnark: Remove extra mime types in i2psnark web.xml;
added to Jetty's default by now, or in our mime.properties file
* i2ptunnel:
- Send HTTP server port 443 traffic to the server
transparently, to support HTTPS over the same tunnel, if so configured
- Add check for total header size in HTTP server
- Return specific error pages to client on errors
in HTTP header processing in the HTTP server (ticket #1507)
* Jetty:
- Add extensive help to jetty-ssl.xml
- Set session cookies to HttpOnly in all webapps
* JobQueue: Make number of runners configurable
* Router: Move update extraction code to new class in tasks/
* Tunnels:
- Add bloom filter warning if high bandwidth but low memory
- Add new Bloom filter size, increase bandwidth limit (ticket #1505)
- Add config to disable Bloom filter for testing
2015-04-16 zzz
* I2CP: Run DistributeLocal jobs inline (ticket #1506)
* i2psnark: Increase max tunnels to 10
* i2ptunnel: Don't start tunnels in constructors (ticket #815)
* NetDB: Reduce max search depth
* Transport: Fix active peer count for NTCP
2015-04-15 tuna
* SimpleScheduler: Deprecated, functionality moved to SimpleTimer2 (ticket #1069)
2015-04-13 zzz
* Router: Fix NPE on bad share bandwidth config (ticket #1524)
* Streaming: Handle reset packets without a FROM field, validate
signature using connection's destination
* Update: Don't log an error for the "dummy" updater (ticket #1525)
* 2015-04-12 0.9.19 released
2015-04-11 zzz
* Updates after review
2015-04-09 kytv
* Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
database from 2015-04-07.
* Translation updates
2015-04-05 zzz
* IRC Server: Better timeout handling reading initial lines (ticket #723)
2015-04-04 zzz
* i2ptunnel:
- Better timeout handling when reading headers in HTTP server (ticket #723)
- Fix NoSuchElementException processing proxyList caused by 03-31 checkin
* Streaming:
- Fix read timeout on input stream (ticket #723)
- Fix read() returning 0 instead of -1 on read timeout (ticket #335)
2015-04-03 zzz
* i2ptunnel: Fix stopping tunnel on bad args when starting
* wrapper.config: Remove old mortbay Jetty parameters
2015-04-01 zzz
* I2CP: Allow larger client clock skew (ticket #1503)
* i2psnark: Fix changing data directory on Windows (ticket #1503)
2015-03-31 zzz
* API: Fix some client-side APIs to honor defaults in Properties;
add javadocs to specify where we do and don't (ticket #1491)
* i2ptunnel: Fix multiple SSL outproxies in HTTP client
2015-03-29 zzz
* I2CP: Prevent NPE (ticket #1503)
2015-03-25 zzz
* i2ptunnel HTTP client: Replace all getBytes() calls
with a Writer or getBytes("UTF-8") (ticket #457)
2015-03-24 zzz
* Streaming: Throw I2PSocketException when connection is reset,
display new error page in HTTP client (ticket #643)
2015-03-23 zzz
* Javadoc: Add missing package.html files (ticket #1109)
* Summary bar: linkify news headings, remove 'show news' link
2015-03-22 zzz
* Console: Better status feedback on manual reseed from URL
* NetDB: Don't become floodfill w/o ECDSA support
* Reseed: Better status feedback and cleanup in summary bar
2015-03-21 zzz
* Console: Support plugin installation from local file
2015-03-20 zzz
* Reseed:
- Move multipart form support from susimail to jetty-i2p.jar
so console can use it
- Finish manual reseed from local file
2015-03-19 zzz
* Reseed (ticket #1369):
- Add form to manually reseed from zip or su3 URL
- Add form to manually reseed from local zip or su3 file
- Add form to create reseed zip file to share
- Backend support and refactoring in reseed code
2015-03-18 zzz
* NetDB:
- Send exploratory lookups directly to the floodfill if
we are already connected to him
- Don't encrypt RI lookups when overloaded
- Don't explore when overloaded
- Don't publish non-ff RI on exit if we are coming right back
* Router: Allow disabling the setting of some System properties, for embedded applications
* StatisticsManager: Publish dummy LS count if we just started
* Streaming: Reduce min RTO again
* Tunnels: Drop instead of reject requests on high job lag
* UPnP: Update to cyberlink 3.0
2015-03-16 zzz
* Apache Tomcat 6.0.43
* NetDB: Send RI lookups directly to the floodfill if
we are already connected to him
* Router:
- Republish RI early if capabilities change
- Increase exploratory tunnel quantity if floodfill
* Throttle: Reject tunnels based on job lag
2015-03-15 zzz
* Job Queue:
- Fix overload dropping
- Add drop count to job stats
- Decrease overload threshold again
* NetDb: Track flood success
2015-03-13 zzz
* i2psnark:
- Auto-reduce tunnel quantity based on peer count
- Increase max tunnels
* Job Queue:
- Drop garlic message decryption jobs on overload
- Decrease overload threshold
2015-03-13 dg
* Router: create router.integratedPeers (floodfills) stat, and
allow graphing of it.
2015-03-08 zzz
* i2psnark: Increase min and default bandwidth
* Throttle: Tweak messages during probabalistic rejection
* Transport: Add missing bogons to IP validity check
* 2015-02-22 0.9.18 released
2015-02-18 kytv
* Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
database from 2015-02-04.
2015-02-15 dg
* FloodfillMonitorJob:
- Use lifetime average value for job lag
- Change the job lag limit to less than 25ms
- Consider and set the limit of backlogged tunnels to less than 5
2015-02-10 dg
* I2PSnark, Jetty, SAM, crypto: findbugs resource leaks.
2015-02-07 zzz
* SSU: Limit range for valid clock skew
* Transport: Ban routers if they are too old and we are non-DSA
2015-02-06 zzz
* NetDB: Reduce max job lag for floodfill
* NTCP: Block IP for a while when incoming connection is dropped before
receiving a message. Possible workaround for tickets #551, #1075, #1411.
* Transport:
- Decrease DH refiller initial delay and increase buffer size
to reduce chance of running out on high-bandwidth routers
- Add event log for reachability change
2015-02-01 zzz
* Crypto: Catch IAE in generateCertificate()
* NetDB: Don't flood an RI back to itself. While Java ffs self-flood,
other implementations may not.
* OCMOSJ: Pick a OB tunnel at random, not with the OBEP closest
to the lease, as that may be hurting connection reliability.
* Router: Call warmupCrypto() earlier in the initialization
2015-01-31 zzz
* Console:
- Don't display invalid IPv6 addresses as options on /confignet
- Disable changing log path
* NetDb:
- Encrypt lookups for 32-bit x86 also
- Disable floodfill in laptop mode
* PRNG: Don't hang forever at startup waiting for SecureRandom init
* Transport: Set 4 MBps max bw due to bloom filter
2015-01-30 zzz
* HTTP Proxy: More error page changes
* NTCP: Throttle event pumper if looping too fast (tickets #551, #1075, #1411)
2015-01-29 zzz
* SSU:
- Fix replaceExternalAddress churn when firewalled
- Sort introducers in router address, so we won't force a republish
due to a different ordering of the same introducers
- Don't publish an address if we need introducers but don't have any,
so the user won't see a 'firewalled with inbound NTCP enabled' message
- Fix transition from firewalled to non-firewalled
2015-01-28 zzz
* UPnP:
- Rescan for devices periodically and when reachability changes (tickets #661, #959)
- Callback when device removed
- Consolidate callbacks
- Clear ignored devices after primary device removed
to allow one to be promoted on rescan
- Don't put "I2P" in registered protocol name
- Add uptime to UPnP info
- HTML escaping
- Remove static log on Android
2015-01-11 zzz
* i2psnark: Skip incompatible welterde tracker if we are ECDSA
* I2PTunnel: Add option for multihoming optimization
2015-01-10 zzz
* NetDB: Stubs for bandwidth estimation during reseed (ticket #935)
2015-01-09 zzz
* NetDB: Publish RI faster when costs change (ticket #1437)
2015-01-08 zzz
* Console, i2ptunnel, proxy: Renaming of various things to "hidden services"
2015-01-07 zzz
* ClientAppConfig: Start i2ptunnel sooner (ticket #1162)
* NetDB: Possible fixes for reseed completion not recognized (ticket #1384)
* Router:
- Add startup/shutdown state machine
- Don't reset uptime after a soft restart
* Startup: Accept tunnels after 10 minutes instead of 20 (ticket #1152)
* Tunnels:
- Cleanup, catch more cases of zero-hop configuration
- Temporarily increase exploratory tunnel quantity at startup,
so that netdb refresh will work better
2015-01-05 zzz
* Blocklist:
- Rewrite to read and merge multiple files
- Include in update, use version in base dir too
- Increase limits
- Bug fixes
* EepGet: Change command line default to 0 retries
* Latency reduction all over:
- SSU: Reduce ack delay
- Streaming: Reduce min RTO and flusher delay
- Tunnels: Reduce GW batching time
* Streaming:
- Add API for sending/receiving payload in ping/pong
- Fix PcapWriter
* UrlLauncher:
- Configure browser with routerconsole.browser (ticket #1159)
- Convert to ClientApp interface
2015-01-03 zzz
* I2CP: Use configured leaseset keys if available
* I2PTunnel: Persist leaseset keys
2014-12-15 zzz
* Console: Prevent two-word translations from splitting across lines in summary bar
* Crypto: EdDSA cleanups
* i2psnark: Unchoke new peer sooner
* SSU: reduce log level of uncaught errors processing I2NP message
* SU3:
- Don't require specification of sig type when signing
- Implement 'extract -k'
- Fix getContentOffset()
- Fail on excess data after signature
* Tunnels: Raise concurrent build limit
2014-12-08 zzz
* HTTP Proxy: Fix parsing of ECDSA address helper
* NetDB: Increase lookup throttle time
2014-12-05 zzz
Prop from i2p.i2p.zzz.test2:
* Console:
- Show b32 for local leasesets also on netdb LS tab
* Data:
- Disallow duplicate keys in a Mapping
- Add RouterInfo.getVersion()
* I2NP:
- Move some data structures away from ByteArray; offsets were always zero
- New BuildRequestRecord constructors
- BuildRequestRecord field becomes final byte[222]
- IV becomes byte[16]
- Build record becomes EncryptedBuildRecord
- Remove extra copy in BuildRequestRecord.encryptRecord()
- Remove unused BuildRequestRecord.readOurIdentityMatches()
- DatabaseStoreMessage: Mask the unused bits in the type field for future use
* i2psnark: Reduce auto-stop threshold for update torrent
* I2PTunnel: Reduce i2ptunnel threads, more thread pooling.
- Move client pool from static inI2PTunnelClientBase to TCG.
- Use client pool for some server threads
- Run some things inline that were formerly threads
* KeyGenerator: main() test improvements
* Logger: Configurable flush interval
* Plugins: Another fix for restarting a ClientApp plugin
* Profiles: Change slice selection argument from an int to an enum for clarity
* SusiMail:
- Add save-as button
- Fix encoding for filename in Content-Disposition header
* Transport:
- Disallow standard I2P application ports as the router port
- Increase default class O conn. limits to 350 NTCP, 1050 SSU
* Update: Use last-modified instead of last-checked for the next
if-modified-since fetch, to fix failing to fetch the latest news
* 2014-11-30 0.9.17 released
2014-11-28 kytv
* Updated PO files from Transifex
* Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
database from 2014-11-05.
2014-11-26 zzz
* BuildRequestor: Reduce delay when client build can't find
a paired tunnel (ticket #1412)
* Data:
- Fix NPE on unknown sig type in destination
- Fix hashcode and equals for typed data
* Tunnels: Disallow changing allowZeroHop setting for exploratory
2014-11-24 zzz
* i2ptunnel: Fix automatic setting of random key
* PrivateKeyFile: Don't rewrite file in main() if no options
2014-11-23 zzz
* Reseed hosts update
2014-11-22 zzz
* PeerSelector: If non-DSA, don't use incompatible peers
for exploratory tunnels or closest-hop in client tunnels
* SAM: Fix v3 bug accepting incoming connections
2014-11-17 zzz
* NetDB: Exclude A1/A2 "countries" from auto-floodfill
2014-11-15 zzz
* I2NP:
- Set lookup type flags even if no reply tunnel specified
- Reduce object churn when writing some messages
2014-11-13 zzz
* I2PTunnel:
- Fix bug that left server acceptor thread running after close
- Add destroy() methods to release all resources when closing a tunnel for good,
particularly the streaming timer threads
- Use COWAL to prevent concurrency problems
* PluginStarter: Simplify detection of active threads
* Streaming:
- Don't return null from accept() any more; actually throw
ConnectException as the Javadocs have always specified
- Throw ConnectException from accept() if interrupted; previously caught and ignored
- Throw exceptions from ConnectionHandler.accept(), not higher up
- Close ServerSocket when ConnectionManager is shut down
- Synchronize setActive(), clear queue when starting to accept,
better handling of calls that don't change state
2014-11-12 zzz
* Data: Clear more caches when under memory pressure and at shutdown
* Plugins: Fix bug in stopping a ClientApp plugin with $parameters in the args
2014-11-09 zzz
* i2psnark: Fix tracker config form issues
* Router, i2ptunnel: Add option for per-pool persistent random key,
so peer ordering does not change across restarts
2014-11-08 zzz
* EdDSA: Bump minimum router version to 0.9.17
* i2psnark: Add support for specifying data dir in add form (ticket #1028)
* ProfileOrganizer: More efficient slice calculation
* SSU: Fix bug preventing inbound connection from non-DSA router (ticket #1408)
* Transports: If non-DSA, check for compatibility before connecting out
2014-11-06 zzz
Prop from i2p.i2p.zzz.test2:
* Blockfile:
- Add block size to superblock
- Add span size to skiplist block
- Bump version to 1.2
* Console:
- Log warnings for Java 6 or no Pack200
- Add ECDSA warning to sidebar
- Don't disable updates when restarting from /configupdate
- Recognize router.newsRefreshFrequency=0 as "never"
* Crypto: Drop dummy crypto stubs
* i2psnark:
- Convert '+' to ' ' in magnet dn param
- Fix NPE when deleting torrent if the data directory
was deleted out from under us (ticket #1407)
- Add new opentrackers, remove welterde
- Support multiple default opentrackers
- Don't link to opentrackers at the top
* i2ptunnel:
- ECDSA default for all new server tunnels
- ECDSA default for streamr client tunnels
- Fix display of server destination on edit page when not running (privkey file path wasn't absolute)
- Fix display of persistent client key b32 on edit page when not running
- Fix display of server sig type on edit page when we have a privkey file
* jbigi: Save and report extracted library name
* Reseed: SSL-only by default
* Router:
- Make recognition of a hidden router consistent,
whether specified in the caps or the cert
- Job Queue: Only drop lookup jobs if lagged
* SSU:
- Don't resend ACKS that are too old (ticket #772)
- Dont OOM if ACK sender dies
- Don't publish direct info if introducers are required
* SU3File: Show content and file types in showversion
* Transports:
- Consolidate port checking code
- Disallow SSDP port
* Update: Implement signed news in su3 format with trusted signers,
wrapping an Atom XML format
* Util:
- Use write-sync-close-rename for config file writing
- Null check in zip entry name
2014-11-04 zzz
* SSU: Fix corruption of ack-only packets containing bitfields
* 2014-11-01 0.9.16 released
2014-10-30 kytv
* Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
database from 2014-10-07.
* Arabic, Chinese, Czech, Dutch, French, German, Russian, and Spanish
translation updates from Transifex
2014-10-30 zzz
* Router: Fix rare NPE building garlic message (ticket #1403)
2014-10-26 zzz
* SSU: Fix ACK Sender thread dying on corrupt packet
2014-10-24 zzz
* i2ptunnel: Fix description entered via wizard
2014-10-23 zzz
* SessionKeyManager:
- Raise inbound limit
- Delete oldest tagsets when limit is hit
- Don't delete recent tagsets when limit is hit
* SSL: Don't prohibit SSLv3 ciphers if that's all we have
2014-10-20 zzz
* Console: Fix lockups (ticket #1395)
* Eepsite Jetty: Switch back to QueuedThreadPool (ticket #1395)
2014-10-17 zzz
* NTCP: Deadlock fix 3rd try (ticket #1394)
2014-10-16 zzz
* NTCP: Deadlock fix 2nd try (ticket #1394)
2014-10-15 zzz
* Console, I2CP, i2ptunnel, SSLEepGet: Set allowed SSL
protocols and ciphers. Disable SSLv3 and older ciphers.
Enable TLSv1.1 and TLSv1.2 on Java 7,
where it is disabled by default client-side.
2014-10-14 zzz
* I2NP: Implement DatabaseLookupMessage search type field
2014-10-13 zzz
* i2ptunnel: Set default sig type to ECDSA-P256 for client types
Standard, IRC, and Socks IRC, if non-shared.
2014-10-10 zzz
* Banlist: Remove unused banlist tracking in the profile
causing deadlock (ticket #1394)
* GeoIP:
- Don't rate peers in some countries as high capacity
- Don't enable auto-floodfill in some countries
- Don't prefer floodfills in some countries
2014-10-08 zzz
* UPnP: Comment out unused parsers
2014-10-07 zzz
* CPUID: Remove Intel model 2 again, this is spoofed in the VM
* Graphs: Catch an error caused by missing fonts
* i2ptunnel: Handle named sig types from i2ptunnel.config in the GUI
* SSU: Improve handling of socket that gets closed (ticket #1385)
* Startup: Delay ReadConfigJob another minute
2014-10-05 zzz
* Crypto: EdDSA cleanup
2014-10-04 zzz
* i2psnark: Disable changing types for predefined trackers
* i2ptunnel: Fix js confirm for delete button
2014-10-03 zzz
* Console: New add-to-addressbook links on leaseset page
* CPUID: Fix Intel processor identification
* i2psnark: Fix adding magnet links with % encoding (ticket #1391)
2014-09-30 zzz
* Logs: Fix displayed filename when empty (ticket #1386)
* SAM: Fix v3 LS publish, broken in -4 (ticket #1390)
2014-09-29 zzz
* CPUID:
- Fix main() model and family calculation
- Add model string fetch from processor
- AMD model string tweaks
* i2psnark: Show subdirectory in table header on details page
2014-09-27 zzz
* CPUID:
- Fix model and family calculations
- Fix most AMD family 15 IDs
- Add AMD Llano, Jaguar, Bulldozer 2
- Add Intel Ivy Bridge, Haswell, Broadwell, Penryn,
Pineview, Cedarview, Bay Trail, Avoton, and others
- Set best-guess capabilities for most Intel processors
- Supply best-guess model string in most cases
- Processors listed above, and some others, may see crypto speedups as a result
2014-09-26 zzz
* EdDSA: Use our PRNG by default for keygen
* i2psnark:
- Increase default to 3 hops (ticket #966)
- Show info hash on details page
* NetDB: Increase max age of RIs to reduce number refreshed after restart
* SAM:
- Don't publish LS for DIRECTION=CREATE
- Set default tunnel name
* Tests: Fix junit compile fails due to data structure moves
* Transport: Hooks for pluggable transports (ticket #1170)
2014-09-23 zzz
Prop from i2p.i2p.zzz.test2:
* Addressbook: Improve parser efficiency
* Data structures: Move several router-only classes from i2p.jar to
net.i2p.data.router in router.jar. This will break existing
versions of the i2pcontrol plugin.
* HTTP Client: Add error page for unsupported encryption
* I2CP:
- Verify crypto key pair in LS
- Verfiy same dest as before in LS
- Enforce strict authorization when auth is enabled
* i2psnark:
- Set-all priority buttons (ticket #1376)
- Comment out command-line code
- Consolidate and clean up parameters code
- Click to sort by column
- Display upload ratio when sorted by ratio, and on details page (ticket #1298)
- Consolidate code for creating img entities
- Switch from checkbox to radio for tracker configuration form
- Sort themes in config form
- Consolidate HTML header code
- Set no-cache headers
- Don't set HTML headers for redirects
* I2PTunnelGUI: Test tool deleted, moved to i2p.scripts
* Jetty 8.1.16.v20140903
* KeyGenerator: Add support for converting
all signing key types from private to public
* NetDB:
- Encrypt RI lookups and request encrypted reply on
faster boxes, to prevent scraping by OBEPs and IBGWs
- Encrypt exploratory lookups too
- Better handling of unsupported encryption in destinations
- Implement handling of unsupported encryption in router identities
- Banlist forever all RIs with unsupported encryption
- New negative cache of all dests with unsupported encryption
- New methods for destination lookup that will succeed even if
the LS is expired or encryption is unsupported
- Use new dest lookup so client will get the right error code
later, rather than failing with no LS when we really got it
but just couldn't verify it.
- Don't auto-enable floodfill if ARM or if ElG decrypt is too slow
* NTCP EstablishState:
- Prep for future enhancements by refactoring to a state machine model
- Reduce object churn; use SimpleByteCache
- Synchronization
* OCMOSJ: Detect unsupported encryption on dest and return the correct failure code
through I2CP to streaming to i2ptunnel
* PrivateKeyFile:
- New constructor with padding
- New router extension to add getRouterIdentity()
- Add validateKeyPairs()
* Router:
- New router.sigType config
- Generate / regenerate router keys based on config
- New router.keys.dat file in PKF format for sig types and padding
- Fix RouterInfo.readBytes() signature verification with sig types
- Catch unset padding in KeysAndCert.writeBytes()
- Catch key errors in ReadRouterJob
- Show RI sig type on /netdb in console
- Move some things from Router to startup classes
- Startup classes package private
- Buffer readin of key files
- Remove configurability of router.info and router.keys file locations
- Consolidate router keys readin code
- Update killKeys file list
- Validate router key pairs read in from file
- Don't try to use an unavailable sig type for the router,
even if it's the default
* RoutingKeyGenerator:
- Move from core to RouterKeyGenerator in router.jar
- Leave RoutingKeyGenerator as a simple abstract class
- DatabaseEntry now uses timestamp instead of mod data
to determine if mod data has changed. Don't expose
mod data to DatabaseEntry any more.
- I2PAppContext.routingKeyGenerator() now returns null;
you must be in RouterContext to get a generator.
* SSU:
- Implement bundling of multiple fragments in a single data message.
This has always been in the spec and implemented in the receive side
since the beginning, so it is compatible with all versions.
- OutboundMessageState: Fix SSU Output Queue errors in PacketBuilder:
Remove all buffer caching as it can't be made thread-safe.
Just allocate buffer in constructor and let GC handle it
Do fragmenting in constructor and make all fragment fields final
Don't track per-fragment retransmissions as it wasn't used
Move ack tracking from an array to a long
Sync all ack methods; Entire class now thread-safe
- InboundMessageState: Rewrite PartialBitfield for efficiency, less space and object churn
- PeerState.fetchPartialACKs() improvements
- Don't allow more than 10 bytes when reading in bitfield
- Don't send a corrupt ack packet if the partial ack got completed (race)
* Streaming: Re-enable message status override, but treat LS lookup failure
as a soft failure for now.
* Transports:
- Handle RI sig types
- Banlist unsupported RI sig types
- Return unused DH keypairs to the pool
* Tunnels:
- Enforce request record timestamp
- Randomize timestamp to prevent hop detection at top of hour
2014-09-22 zzz