Commit Graph
3118 Commits
Author SHA1 Message Date
orignal 72aeea494e don't invoke completion handler within async function 2026-08-05 10:09:53 -04:00
orignal 3ae36ee350 don't save session with saved packet 2026-08-04 14:43:23 -04:00
orignal db484aabb3 Merge pull request #2459 from bimawa/fix/openssl-crash-socks5
fix: cancel pending socket ops before close to prevent macOS crash
2026-08-03 17:37:11 -04:00
Maxim Bunkov e16160b74d fix: cancel pending socket ops before close to prevent macOS crash
On macOS (kqueue), boost::asio throws an exception from pending
async_write/async_read handlers after the socket is closed.
This reaches io_service::run() as an uncaught exception and
terminates the process.

Call m_Socket.cancel() before shutdown/close in NTCP2, SAM,
I2PTunnel, and BOB so pending operations complete with
operation_aborted on a live socket.

Crash log (macOS 26, i2pd 2.61):
  libc++abi: terminating due to uncaught exception of type
  boost::wrapexcept<boost::system::system_error>:
  write_some: Bad file descriptor [system:9]

This is a kqueue-specific issue. On Linux (epoll), close() alone
cancels pending operations correctly. The fix is defensive on Linux
and required on macOS.
2026-08-04 02:04:30 +05:00
orignal d053ef4021 don't try to get data if receive timeout 2026-08-03 16:29:14 -04:00
orignal 3bcbab75e4 fixed typo 2026-08-01 21:19:14 -04:00
orignal f6625e7c21 don't accept NTCP2 version 3 and 5 if LibreSSL 2026-08-01 20:19:35 -04:00
orignal 867e977457 fallback to version 2 if peer is version 3 or 5 for LibreSSL because this post-quantum types are not supported 2026-08-01 18:44:03 -04:00
orignal b0b4051595 complete AsyncRead right away if stream is closed 2026-07-31 17:56:49 -04:00
orignal 0066db4119 create error code based on stream status 2026-07-31 17:17:49 -04:00
orignal 5b080f8d9b removed ECDSA blinding 2026-07-30 17:51:39 -04:00
jpk68 77c2f266b8 chore: fix memory safety issues 2026-07-30 17:01:45 -04:00
orignal 075cdc1850 allow ipv6 binding for Haiku because IPV6_V6ONLY has been implemented since R1/Beta6 2026-07-30 08:05:41 -04:00
orignal 57ea80fdbd Merge pull request #2453 from jpk68/ntcp2-issues
ntcp2: fix memory safety issues
2026-07-30 07:06:54 -04:00
jpk68 b148455295 libi2pd: add missing length checks 2026-07-29 19:07:39 -04:00
jpk68 b1d0bc34c1 ntcp2: fix memory safety issues 2026-07-29 18:34:52 -04:00
orignal da5b063420 fixed possible overflow with negative value 2026-07-28 22:09:03 -04:00
orignal e6088eb30f let pending operations complete when stream received FIN 2026-07-28 21:47:03 -04:00
orignal c49ca9cbdd pass boost::asio::error::eof if stream got terminated 2026-07-28 21:43:56 -04:00
orignal 4d072c1d57 pass boost::asio::error::eof if stream get closed 2026-07-28 18:40:03 -04:00
orignal 8affeb074f fixed possible m_PacketACKIntervalRem overflow 2026-07-28 10:29:22 -04:00
orignal 802a39edc4 Defer template added 2026-07-27 21:50:31 -04:00
orignal e5a4824a2e print correct negative time difference 2026-07-27 21:28:44 -04:00
orignal de37abd34e RunnableServiceWithWork::StopWorkAndFinishTasks added 2026-07-27 14:01:21 -04:00
orignal 15fb818993 don't fragment I2NP if too short 2026-07-26 20:33:18 -04:00
orignal d73407ad85 Merge pull request #2444 from wipedlifepotato/FORANDREW
#2435
2026-07-26 18:21:03 -04:00
orignal 8f2dee410d Tag::len 2026-07-26 17:28:57 -04:00
orignal d19cddca7e create_query 2026-07-26 14:11:18 -04:00
orignal bec18de888 correct AsyncReceive timeout 2026-07-25 22:06:11 -04:00
orignal 5e0269cf7b fixed typo 2026-07-25 18:15:07 -04:00
orignal 0b72de49b0 Merge pull request #2445 from jpk68/static-analysis
chore: fix issues found through static analysis
2026-07-25 17:57:32 -04:00
jpk68 9cae14f744 chore: fix memory leaks 2026-07-25 17:36:08 -04:00
jpk68 757f4d1881 chore: fix issues found through static analysis 2026-07-25 16:42:55 -04:00
orignal 9766ba7da6 Merge pull request #2443 from jpk68/memory-bugs-2
chore: fix more memory safety issues
2026-07-25 14:30:57 -04:00
Charlie Root 81faa906c1 #2435 2026-07-25 16:25:09 +00:00
orignal 4529131639 calculate publish timeout based on tunnel lengths if published through tunnels 2026-07-25 11:47:38 -04:00
jpk68 247590afab chore: fix more memory safety issues 2026-07-25 11:34:36 -04:00
orignal 78fd1ec431 reduce publish and lookup timeouts 2026-07-25 07:57:20 -04:00
orignal b97d175812 Merge pull request #2442 from jpk68/memory-bugs
chore: fix several memory safety issues
2026-07-25 07:28:59 -04:00
jpk68 16c516d2d1 chore: fix several memory safety issues 2026-07-24 23:00:12 -04:00
jpk68 b02c160b84 libi2pd: fix some typos 2026-07-24 20:45:35 -04:00
orignal f72522ed26 delete ECDSA private key BIGNUM if non-openssl or older openssl crypto library 2026-07-24 17:56:41 -04:00
orignal 44a20ea7f0 EdDSA signature type by default 2026-07-24 17:49:31 -04:00
orignal fd251c9eea delete ECDSA private key BIGNUM if non-openssl or older openssl crypto library 2026-07-24 17:41:21 -04:00
orignal d52d406a90 calculate LeaseSet request timeout based on tunnel latency or tunnel length 2026-07-24 14:34:49 -04:00
orignal 902325920f allow sending packet without payload 2026-07-24 08:17:17 -04:00
orignal 39f3036d92 Merge pull request #2437 from freeacetone/udp-tunnels-optimisation
Udp tunnels optimisation
2026-07-23 14:47:11 -04:00
orignal 24a9457ec0 calculate publish timeout based on tunnel lengths 2026-07-23 14:45:15 -04:00
acetone feeae263c1 restart inactive garlic session for udp datagrams 2026-07-23 21:20:14 +03:00
acetone 972bebb06d refresh remote leaseset on udp ack timeout 2026-07-23 21:12:14 +03:00