Commit Graph

6010 Commits

Author SHA1 Message Date
idk 40757b3028 I2p.i2p.2.4.0 undo breaking api change 2023-09-14 20:33:28 +00:00
obscuratus 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
eyedeekay 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
eyedeekay 76067312e1 Router: rename the floodfill netdb to the main netdb 2023-09-03 23:03:35 -04:00
eyedeekay 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
eyedeekay 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
obscuratus i2p 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
obscuratus i2p 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
obscuratus i2p 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
zzz 86cbbd80cf Tunnels: Give up on building through U routers 2023-02-12 15:54:17 -05:00
zzz 69b73d4bc8 Profiles: Don't create new profile on message or lookup failures
Mark commErrorOccurred() unused
2023-02-12 15:06:33 -05:00
zzz 8ba5cb4d02 Profiles: Adjust capacity for send success/failure
Stub out adjustments for congestion caps
2023-02-12 14:23:10 -05:00
zzz f9b9633ac0 Profiles: Downrate capacity of slow/unreachable peers
Use more efficient RI lookup
Comment out unused same-country code
2023-02-12 13:39:47 -05:00
zzz 6f80df48e0 bump -8 2023-02-12 10:17:57 -05:00
zzz 4a9ca43614 NetDB: Don't call heardAbout() unless peer is reachable
Consolidate hash() calls
2023-02-12 10:15:28 -05:00
zzz afe236c62c Profiles: Limit storage and memory usage
Write profiles to disk more often
Delete old profiles on disk more often
Reduce max age of profiles
Limit age of profiles read in at startup based on downtime
Limit total profiles read in at startup
Change loaded profiles from a Set to a List for efficiency
Log tweaks
2023-02-12 10:11:46 -05:00
zzz 7a75ea4bef NetDB: Store handler updates
Drop some unsolicited RI stores when over thresholds
Don't update profile for banned/blocked RI
Don't flood RIs with blocked IP
Log tweaks
2023-02-12 07:58:24 -05:00
zzz 78ee005870 Data: Move LS RAP/RAR booleans up to superclass
Add RAR to I2NP DSM
WIP
2023-02-11 09:47:40 -05:00