Commit Graph

6145 Commits

Author SHA1 Message Date
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
zzz
e1da8d13d7 Sybil: Don't catch all the i2pds publishing ::1 2023-02-18 16:44:10 -05:00
zzz
a4f36c8e64 log message fix
reported by drzed
2023-02-17 18:48:42 -05:00
zzz
3636ec7cc6 javadoc fix 2023-02-17 13:36:45 -05:00
zzz
b44cb59a48 Transports: Add new inbound connection throttler
To limit rate increase of inbound conns
Add exemption system so inbound tunnel builds bypass the throttler
2023-02-16 10:26:14 -05:00
zzz
5918613ff4 Tunnels: Re-enable using U routers in some expl. tunnels
to give them cover
2023-02-15 12:24:50 -05:00
zzz
5499b23189 Blocklist: Increase size for slow routers
Store feed blocklist in main array for efficiency
2023-02-15 11:47:01 -05:00
zzz
601a1c917e Sybil: Disable analysis when in test mode 2023-02-15 11:28:20 -05:00
zzz
de978f3a10 SSU2: Remove dup stat update 2023-02-15 07:07:08 -05:00
zzz
46af72c529 Console, NetDB: Remove deprecated isFailing() calls 2023-02-13 10:28:51 -05:00
zzz
b82cefd904 Profiles: Remove the long-unused failing peers map, deprecate all related methods 2023-02-13 10:09:55 -05:00
zzz
8f0e3d0421 Profiles: Change the new-router bonus to a penalty
Don't penalize old routers after long downtime
2023-02-13 07:24:27 -05:00
zzz
546e51e3d9 Router: Increase min version for tunnels and netdb to 0.9.51 2023-02-12 16:06:51 -05:00