Commit Graph

6157 Commits

Author SHA1 Message Date
6ada2f3b5e Router: Change name of STATUS to QUALIFIER, move it after BUILD 2023-10-07 16:06:52 -04:00
499106c9ae Router: javadoc add additional note to CM call 2023-10-07 15:54:46 -04:00
idk
4872eedd83 Router: This moves all client sub-netDbs into the ClientConnectionRunners. This turns the FloodfillNetworkDatabaseSegmentor into a means of looking up netDb's and managing the main netDb and a special netDb for managing multihomes. It adds the ability to use sub-netDbs as a defense against netDb context confusion bugs, and also to switch to a single monolithic netDb if necessary. 2023-10-07 19:20:14 +00:00
zzz
1ae663c6a5 Merge branch '433-peertest-iae' into 'master'
SSU2: Prevent rare IAE in peer test timer (Gitlab #433)

Closes #433

See merge request i2p-hackers/i2p.i2p!121
2023-10-03 11:43:02 +00:00
f0b6638466 Router: check \!isClientDb() in KNDF before calling remove 2023-10-02 17:43:41 -04:00
zzz
cb4788019b SSU2: Prevent rare IAE in peer test timer (Gitlab #433) 2023-09-30 10:17:47 -04:00
zzz
d2ab9a7ff4 bump -4 2023-09-29 06:16:14 -04:00
zzz
065ce2886c Merge branch '427-disable-ssu1' into 'master'
SSU1: Disable by default (Gitlab #427)

Closes #427

See merge request i2p-hackers/i2p.i2p!115
2023-09-29 09:58:51 +00:00
zzz
37eb6d383f SSU1: Disable by default (Gitlab #427) 2023-09-29 09:58:51 +00:00
zzz
60bf83a653 bump -3 2023-09-27 11:11:17 -04:00
idk
d08e82e4f7 Merge branch '437-npe' into 'master'
Transport: Fix NPE during soft restart (Gitlab #437)

Closes #437

See merge request i2p-hackers/i2p.i2p!113
2023-09-26 02:18:12 +00:00
zzz
1dff57856a Transport: Fix NPE during soft restart (Gitlab #437) 2023-09-26 02:18:12 +00:00
idk
9f99ee66f7 Merge branch '415-itag-zeros' into 'master'
SSU2: Fix uncaught IAE caused by itags with zero values (Gitlab #415)

Closes #415

See merge request i2p-hackers/i2p.i2p!111
2023-09-26 02:07:45 +00:00
zzz
4cf919e3e6 SSU2: Fix uncaught IAE caused by itags with zero values (Gitlab #415) 2023-09-26 02:07:45 +00:00
zzz
ef1177689d NTCP2: Fix updating address on transition to firewalled (Gitlab #435) 2023-09-26 02:04:33 +00:00
69d5dfc621 Router: bump build rev 2023-09-22 20:21:51 -04:00
ded7b6dda9 Router: eliminate mainNetDb() call from RouterContext, then replace all calls with calls to netDb() 2023-09-21 19:55:07 -04:00
a343f781d0 Router: don't call remove(dbe,persist) on a TDS 2023-09-21 15:00:04 -04:00
idk
f9f21ba7f5 I2p.i2p.2.4.0 no more multihome cache 2023-09-21 03:09:09 +00:00
idk
92a85b35fe Drastically reduces the interface of the FNDS/SNDF, force the use of explicit accessors, refactor FNDS/SNDF 2023-09-19 19:32:00 +00:00
d2b8d11645 Router: if a KNDF isClientDb() then set up a TransientDataStore instead of a PersistentDataStore 2023-09-15 12:14:38 -04:00
idk
40757b3028 I2p.i2p.2.4.0 undo breaking api change 2023-09-14 20:33:28 +00:00
dc68fdc0a0 NetDb: Disable Burst Banning on DLM.
Disable the banning of routers due to excessive Database Lookup
Messages (DLM) until a reliable method is identified for
discriminating between routers that are merely forwarding someone
else's DLM, and routers that are directly sending excessive
DLM.

Signed-off-by: obscuratus <obscuratus@mail.i2p>
2023-09-04 13:26:24 -05:00
4e6323453c Router: change logging of floodfill subdb to main subdb in FNDS. Add TODO comments to getLocalClientsBlindData and lookupClientsBySigningPublicKey. 2023-09-04 12:45:48 -04:00
76067312e1 Router: rename the floodfill netdb to the main netdb 2023-09-03 23:03:35 -04:00
7d9eecd05a Router: rename the floodfill netdb to the main netdb 2023-09-03 21:46:03 -04:00
idk
88d9d0f9b7 Nested NetDb Branch Redux 2023-08-31 02:53:07 +00:00
idk
d233209694 2.3.0 lookup tweaks 2023-08-15 07:07:18 +00:00
d66a7424a7 Router: add option to include a release 'status' in the version number, i.e. beta1, rc1 2023-07-18 14:51:45 -04:00
idk
ff94b2423e account for RAP vs RAR in multihomeCache 2023-06-29 23:40:56 -04:00
idk
40a7149215 update versions and build numbers 2023-06-29 13:39:12 -04:00
idk
8fd2235cde screen leaseSets before storing them in KademliaNetworkDatabaseFacade.store,... 2023-06-29 16:23:07 +00:00
idk
eb0c8aaaa9 correct the error in the previous checkin 2023-06-26 16:44:37 -04:00
idk
e55e6bc7a2 move singleIPv6BlockList null check in clear outside of the synchronized block 2023-06-26 14:18:48 -04:00
idk
0ac7d69212 add null checks around _singleIPv6Blocklist 2023-06-26 14:12:39 -04:00
idk
912b534c31 add user-configurable expire-time to blocklists. 2023-06-19 00:05:02 +00:00
badcf76e2f Router/Tunnel: Constrain xor message ID mask to >= 0 2023-06-11 02:05:55 +00:00
idk
90aacc6746 use RandomSource instead of Random 2023-06-04 18:23:17 +00:00
idk
f0df5d19ed add comment to the new getUniqueID code 2023-06-04 17:31:26 +00:00
idk
9c5118f763 re-add 3-arg add function and javadoc. 2023-06-04 17:27:24 +00:00
idk
722029d11e Merge branch 'i2p.i2p.2.2.1-xor-messageIDs-as-interface-change' into 'master'
Patches all INMP.add() calls to use replay "Contexts" specific to where they were called from.

See merge request i2p-hackers/i2p.i2p!91
2023-06-04 01:38:16 +00:00
idk
82aa4e19fb Patches all INMP.add() calls to use replay "Contexts" specific to where they were called from. 2023-06-04 01:38:15 +00:00
idk
43b4364918 start implementing congestion caps handling by adding... 2023-05-31 14:34:18 +00:00
idk
f308ebee74 bump rc 2023-05-25 03:39:18 +00:00
idk
687858e73d Router/Tunnel: xor message IDs in order to prevent cross-context leaks.
Adds unique message ID's per context to bloom filter for safer replay protection.

The transport and client tunnel managers use a message ID in order to prevent
messages from being replayed. Prior to this checkin, the message ID queue used
the same IDs in clients and transports. If a message was sent to a transport
and a client with the same message ID, the message ID in one would cause a replay
to be detected in the other.

The result would be that the message reply would come back empty, creating a
point of evidence that a client and a transport were hosted on the same router.

However, there is no way from the attackers POV to determine with certainty that
the message was dropped because the message was replayed, making it very easy to
demonstrate a potential information leak using a known router and a known client,
but more difficult, to use to deanonymize a known client on an unknown router
(i.e. by trying routers from the local NetDB).

So what we have here is a situation where an attacker observing router behavior
can say that a message was dropped, and that they have reason to believe it is
because it contained an ID which was replayed. This constitutes a potential
information leak and is resolved by this checkin.

patch created by @obscuratus, tested, reviewed and checked in by @obscuratus and @idk
2023-05-17 18:16:25 +00:00
18d939bcd4 Router/Tunnel: Handling Updates for Inbound Messages. 2023-05-08 17:44:58 +00:00
idk
0d4eec7f7f fix decimal/comma formatting issue on stats page 2023-03-31 23:08:45 +00:00
daff55463b Router: Update and Clarify the Inline Documentation for VMCommSystem 2023-03-19 14:41:50 +00:00
idk
0401157703 fix non-zero build number change that was not checked in 2023-03-13 19:33:12 +00:00
idk
4b87f4d2cc checkin reseed update 2023-03-07 19:50:58 +00:00