Commit Graph

2916 Commits

Author SHA1 Message Date
orignal 7cfddc2ea0 don't select peer for first hop if too many connection from that subnet 2026-03-24 20:36:49 -04:00
orignal ade3b45495 count sessions from same network 2026-03-23 21:33:50 -04:00
orignal eda41230cc limit SessionRequest padding to 32 bytes and SessionCreated to 64 2026-03-22 18:37:55 -04:00
orignal 9a881e7753 show protocol version for post quantum transport sessions 2026-03-22 12:24:59 -04:00
orignal 50eccb8f83 fixed #2320. Removed NetDb::HandleNTCP2RouterInfoMsg 2026-03-20 08:52:06 -04:00
orignal c05cf3c516 return value for ProcessRessionRequest and ProcessTokenRequest 2026-03-19 20:02:21 -04:00
orignal 0aa3d2e26b set version from TokenRequest 2026-03-19 13:44:30 -04:00
orignal b4005a9f59 correct MixHash after sending SessionCreated 2026-03-17 21:02:24 -04:00
orignal e5753ec44e adjust MTU after remote endpoint is known 2026-03-17 19:36:43 -04:00
orignal 46919746ce set default MTU for ipv6 address 2026-03-17 13:57:48 -04:00
orignal 64dc406185 resend packets without extra loop 2026-03-17 12:47:00 -04:00
parsebulb 39de43dfed Don't preserve session lifetime in handlers
This is an issue because i2pd does not wait for all handlers queued for
execution inside io_context to execute before it's destroyed. Because
these handlers preserve lifetime of IO objects via a shared pointer we
get into a situation where destroying io_context will invoke destructors
on those IO objects which in turn will attempt to access io_context and
the app will crash.

More info here https://github.com/PurpleI2P/i2pd/issues/2354
2026-03-17 13:51:57 +01:00
orignal e62f504b0f adjust mtu before SessionRequest 2026-03-16 17:26:16 -04:00
orignal 44f174ab5f fixed typos 2026-03-16 14:17:18 -04:00
orignal 92c5d2b1e2 send and handle incorrect version reason for retry message 2026-03-15 17:43:26 -04:00
orignal 1a237d3ff9 fallback to non-PQ crypto if MTU is too small 2026-03-14 19:56:18 -04:00
orignal 6df4138178 correct MixHash after SessionRequest 2026-03-14 19:06:17 -04:00
orignal 1a23e5ab35 read first value if pq contains multiple values for SSU2 2026-03-14 16:15:32 -04:00
orignal 461b7037de apply ML-KEM shared key in right order in SessionCreated 2026-03-13 13:46:31 -04:00
orignal bc2cdd6c01 update published pq param from config 2026-03-12 20:46:06 -04:00
orignal eb5a808232 handle ssu2.version in config and pq in SSU2 address in RouterInfo 2026-03-12 20:26:29 -04:00
orignal 772b046258 handle incoming post-quantum sessions 2026-03-11 21:12:16 -04:00
orignal 17f6e710a2 create noise state on demand depending on protocol version 2026-03-11 15:05:23 -04:00
orignal 9285d2d58b post-quantum support for outgoing SSU2 session 2026-03-10 19:58:03 -04:00
orignal 872fd31280 fixed braces around scalar initializer clang warning 2026-03-09 16:07:08 -04:00
orignal 009a66fb7e init XK state with ML-KEM for SSU2 2026-03-08 17:24:47 -04:00
orignal fdf174c205 recreate zero and one hop tunnels after being offline 2026-03-07 16:42:16 -05:00
orignal 8152012f0b call terminate for new streams on close 2026-03-07 08:50:34 -05:00
Benson Muite 73623a4793 Replace deadline_timer by steady_timer
Prevent deprecation warnings when building.
2026-03-06 10:55:47 +03:00
orignal 33e7ffaa16 use std::atomic_flag instead std::atomic<bool> for saving to disk 2026-03-05 15:54:14 -05:00
orignal 8beb6772a6 use own random number generator for tunnel selection 2026-03-04 13:43:47 -05:00
orignal cf802974c8 atomic tunnel state 2026-03-04 12:09:23 -05:00
orignal 67013852d0 limit receive queue size 2026-03-03 18:59:44 -05:00
orignal d81b0b6f25 own random numbers generator for each tunnel gateway 2026-03-02 15:04:49 -05:00
orignal 84e48e18a9 use std::array for radom buffer 2026-03-02 14:00:05 -05:00
orignal 4387e74a34 GetSize returns size_t instead int 2026-02-28 21:27:42 -05:00
orignal a02ef28d80 don't publish mtu=1500 2026-02-28 15:15:26 -05:00
orignal 3e62ec4125 don't check MTU from address if not specified 2026-02-28 15:13:16 -05:00
orignal 44658d06be read LeaseSet2 properties 2026-02-28 11:16:26 -05:00
orignal 3fe52ce897 router elgibility is based on current tunnel build success rate 2026-02-28 09:16:03 -05:00
Lunar 1dc2e579f4 add null check for netdb.NewIdentity and check offset > len to ensure nothing bad happens 2026-02-28 23:27:21 +10:00
orignal bcfba9428e fixed potential race condition 2026-02-27 14:33:39 -05:00
orignal 3697499b25 max non-PQ message size 944 if peer >= 0.9.69 2026-02-27 13:24:59 -05:00
orignal 0c90bad14c send local RouterInfo during longer sessions 2026-02-26 20:14:09 -05:00
orignal ef05aedceb avoid possible double termination. Use atomic swap. steady_timer instead deadline_time 2026-02-26 17:15:35 -05:00
orignal 085babd1ea avoid possible double termination. Use atomic swap 2026-02-26 15:38:45 -05:00
orignal 6a859cdb4e schedule RouterInfo resend time after session established 2026-02-26 08:47:22 -05:00
orignal 2f4e631c98 use failed/success rate instead difference for evaluation 2026-02-25 19:05:43 -05:00
orignal 8ab7cfa2a6 max padding size is double message size for post-quantum crypto 2026-02-24 10:40:52 -05:00
orignal 2724ed4b77 send longer padding when applicable 2026-02-23 19:35:22 -05:00