9031 Commits

Author SHA1 Message Date
orignal
ea27bd2fe3 Merge pull request #2364 from Jercik/i2pcontrol-missing-metrics
Add missing I2PControl RouterInfo metrics
2026-03-28 17:22:31 -04:00
orignal
8267772fc6 Merge pull request #2363 from rex4539/typos
fix typos
2026-03-28 07:34:01 -04:00
Łukasz Jerciński
2a63ce340b add missing I2PControl RouterInfo metrics 2026-03-28 10:12:26 +01:00
Dimitris Apostolou
2f15da3d5a fix typos 2026-03-28 09:19:33 +02:00
orignal
f7c33b3995 fixed typo 2026-03-27 13:37:07 -04:00
orignal
01cddbf886 Merge pull request #2362 from Jercik/fix/i2pcontrol-buffer-overflow
Prevent buffer overflow on large I2PControl requests
2026-03-27 11:11:46 -04:00
Łukasz Jerciński
824f66f2eb prevent buffer overflow on large I2PControl requests 2026-03-27 13:26:15 +01:00
orignal
96e14c84d7 Merge pull request #2361 from Jercik/case-insensitive-http-headers
Case insensitive http headers
2026-03-27 07:42:26 -04:00
Łukasz Jerciński
8df75098d0 test(HTTP): add case-insensitive header matching tests
Add comprehensive tests for RFC 7230 compliance (header field names
are case-insensitive):

- HTTPReq: GetHeader, GetNumHeaders, UpdateHeader, RemoveHeader
- HTTPRes: content_length(), is_chunked(), is_gzipped(), add_header,
  del_header, to_string() duplicate prevention

These tests currently fail and document the expected behavior.
2026-03-27 10:24:21 +01:00
Łukasz Jerciński
6ef0221f72 use case-insensitive HTTP header matching per RFC 7230 2026-03-27 10:24:14 +01:00
orignal
54ea2be8e0 don't select non-connected peer for first hop if too many connection from that subnet 2026-03-26 21:09:41 -04:00
orignal
8f24f0043d mutex for m_ConnectedNetworks 2026-03-26 16:26:03 -04:00
orignal
e291943e7b switch to non-PQ with a probability of one in four 2026-03-25 20:50:57 -04:00
orignal
a5341687ec subnet for yggdrasil addreses 2026-03-24 21:29:17 -04:00
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
326675cec2 show 'slow' and 'pq' for ipv6 connections 2026-03-24 13:17:04 -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
d5d6af6f50 print correct value 2026-03-22 15:40:02 -04:00
orignal
9a881e7753 show protocol version for post quantum transport sessions 2026-03-22 12:24:59 -04:00
orignal
deb7f8523d upsteam handshake for all address types 2026-03-21 15:12:57 -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
d65c7f94a0 print endpoint if server tunnel connection failed 2026-03-18 14:57:42 -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
orignal
8f61ff3bc9 Merge pull request #2357 from parsebulb/fix-exit-segfault
Don't preserve session lifetime in handlers
2026-03-17 10:26:18 -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
bb6d8d8384 check if m_UnackedDatagrams is empty before access 2026-03-17 08:16:15 -04: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
4ef63d7f1a Merge pull request #2352 from GBember01/fix-mold-underlinking
Fix libi2pd underlinking exposed by "-Wl,--as-needed" and strict linkers
2026-03-15 16:37:52 -04:00
GBember01
5cf92f64ab Fix libi2pd underlinking on Linux causing runtime crashes with strict linkers like mold 2026-03-15 17:11:48 -03: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
af9c014e2a Merge pull request #2349 from LLE8/fix_deb
[debian] exclude obsolete dependencies
2026-03-10 20:37:01 -04:00
orignal
9285d2d58b post-quantum support for outgoing SSU2 session 2026-03-10 19:58:03 -04:00
Anon2026
b5d90a699e [debian] exclude obsolete dependencies 2026-03-10 19:03:01 +03:00
orignal
3aa278eed1 fixed Debian 12 build 2026-03-09 17:25:24 -04:00
orignal
f32c01b286 fixed typo 2026-03-09 17:14:10 -04:00