orignal
c39ce4d87c
implement GetNonConnectedPeers. Reconnect timer
2026-08-04 18:18:46 -04:00
orignal
6246c4f9d3
close stream after HTTP response
2026-08-04 09:35:51 -04:00
orignal
57874dafb6
disseminate have message once piece complete
2026-08-03 21:38:59 -04:00
orignal
935f3f9878
send correct index and offset in request
2026-08-03 19:40:11 -04:00
orignal
95092d3fd2
fixed build error
2026-08-03 17:44:57 -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
orignal
9dc99b9ecc
multiple requests at the time
2026-08-03 17:35:37 -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
73d2ff7f44
send inetersted message after receiving bitfield
2026-08-03 11:59:21 -04:00
orignal
ffd3101241
handle choke and unchoke messages
2026-08-02 22:11:02 -04:00
orignal
1a4e820379
request next block
2026-08-02 21:43:14 -04:00
orignal
ee50116dbc
connect to peers and send keep-alive
2026-08-02 15:13:12 -04:00
orignal
21181b2deb
optional 'keys' param for torrents tunnel
2026-08-02 15:10:56 -04:00
orignal
b4666898b5
check if socket gets closed before creating sockets pipe. Catch set_option exception
2026-08-01 09:12:18 -04:00
orignal
07fb13c811
read torrents tunnel
2026-07-30 20:21:27 -04:00
orignal
c84d0c0a94
explicitly cast 32-bits streamID to 16-bits port
2026-07-30 18:22:00 -04:00
orignal
2c46f85b7a
pass port to Host: header if specified in original request
2026-07-30 09:36:58 -04:00
jpk68
d3ea3ca10c
libi2pd_client: fix memory safety issues
2026-07-29 19:11:34 -04:00
orignal
6d47cca978
receive timeout for BoostAsyncStream
2026-07-29 18:03:44 -04:00
orignal
4b507cda96
don't send eof with reveived data
2026-07-29 06:50:21 -04:00
orignal
c884cdd32c
collect outstanding received data even if stream is closed
2026-07-28 22:05:59 -04:00
orignal
bb116619b9
return eof if read closed socket
2026-07-28 21:29:40 -04:00
orignal
01240f75ab
defer moving stream to destination's thread
2026-07-27 21:56:09 -04:00
orignal
8948bb5e01
defer moving stream to destination's thread
2026-07-27 21:52:44 -04:00
orignal
12de5f0550
use boost::beast for address book updates
2026-07-27 21:21:47 -04:00
orignal
844ecec004
fixed warning
2026-07-27 15:20:35 -04:00
orignal
ee64f13e91
separate thead for disk I/O operations
2026-07-27 14:05:59 -04:00
orignal
672f9c0197
handle have message
2026-07-26 21:21:21 -04:00
orignal
2f635b2ce7
send correct numwanted to tracker
2026-07-26 17:31:17 -04:00
orignal
178138e87e
info_hash in url format. Host and User-Agent in request
2026-07-26 15:55:30 -04:00
orignal
8101ae4c31
specify params in GET query
2026-07-26 14:13:34 -04:00
orignal
bec18de888
correct AsyncReceive timeout
2026-07-25 22:06:11 -04:00
orignal
e5d358931d
pass trackers list to TorrentsTunnel
2026-07-25 18:43:12 -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
757f4d1881
chore: fix issues found through static analysis
2026-07-25 16:42:55 -04:00
jpk68
247590afab
chore: fix more memory safety issues
2026-07-25 11:34:36 -04:00
jpk68
16c516d2d1
chore: fix several memory safety issues
2026-07-24 23:00:12 -04:00
acetone
82225a5fa4
initialize m_KeepAliveInterval
2026-07-23 21:29:44 +03:00
acetone
972bebb06d
refresh remote leaseset on udp ack timeout
2026-07-23 21:12:14 +03:00
acetone
98310bc504
guard against null datagram session in udp ack timer
2026-07-23 21:05:49 +03:00
acetone
2417db307c
keep sending on established udp session after ack timeout
2026-07-23 20:59:41 +03:00
acetone
1f0470fc8d
retry udp session establishment instead of dropping packets
2026-07-23 20:54:21 +03:00
orignal
92ec218a8d
pass bytes_transferred to AsyncSend callback
2026-07-23 11:24:10 -04:00
orignal
07e5379889
pass async_read_some handler directly to AsyncReceive
2026-07-22 22:01:55 -04:00
orignal
3e56fddad3
consolidate multiple buffers from async_write_some to single SendBuffer
2026-07-22 21:34:18 -04:00
orignal
db701c7928
moved BoostAsyncStream to BoostStream.h
2026-07-22 14:33:26 -04:00
orignal
5a96f4d7fb
request piece. keep-alive
2026-07-21 18:50:44 -04:00
orignal
fcd581ec6a
hanlders iterator
2026-07-21 18:48:40 -04:00
orignal
858c879b3e
don't print read/write erro if socket got closed by other side
2026-07-21 08:26:36 -04:00
orignal
12da23e2f8
use boost::beast to connect to tracker
2026-07-20 15:47:23 -04:00