orignal
314af9e4ba
up to 4 pieces in send buffer
2026-08-08 18:33:56 -04:00
orignal
e32e694a83
common HKDF context for ratchets tags
2026-08-08 16:52:28 -04:00
orignal
cfcc88029c
send intersted when have message received and notinterested if no more blocks to request
2026-08-08 15:45:03 -04:00
orignal
6b100353ba
generate msgid from instead RAND_bytes
2026-08-08 14:38:11 -04:00
orignal
60678683ab
Merge pull request #2464 from freeacetone/udp-tunnel-performance
...
Udp tunnel performance (2)
2026-08-08 11:44:32 -04:00
orignal
65c210eb4a
send interested/notinterested after receiving have message
2026-08-08 11:31:41 -04:00
acetone
72b8ef3eb4
configurable udp tunnel window
2026-08-08 17:56:59 +03:00
acetone
9d320d77eb
datagram tunnel window and ack policy
2026-08-08 17:56:59 +03:00
orignal
7547d675a2
Rename added
2026-08-08 08:32:29 -04:00
orignal
682ce8a270
reset num requests and last requested peer after choke message received
2026-08-08 07:55:49 -04:00
orignal
4ac72b18c8
try to request block from last piece first. Invalidate piece is hash verification failed
2026-08-07 21:52:55 -04:00
orignal
e9bc797ba8
try to request piece receive in have message
2026-08-07 17:38:48 -04:00
orignal
d717209125
delete piece's data from memory after 1 minute. Request different pieces from different connections
2026-08-07 14:22:53 -04:00
orignal
bc9aba65c8
fixed build error
2026-08-06 20:38:27 -04:00
orignal
77f4f22df6
queue up and send piece messages one by one
2026-08-06 18:51:40 -04:00
orignal
bff47aff7c
cancel ack send timer on terminate
2026-08-06 07:10:58 -04:00
orignal
c0f649bbf8
check if torrent complete before requests
2026-08-05 20:36:00 -04:00
orignal
262f183126
one connection to remote I2P address per torrent. Close connection if no data or keepalive
2026-08-05 19:01:36 -04:00
orignal
5535a17330
show Torrents tunnels on I2P tunnels page
2026-08-05 17:19:49 -04:00
orignal
50b4c3d8f1
put addressbook update with boost::beast back
2026-08-05 16:53:06 -04:00
orignal
797deb77b9
open file in correct mode to update piece
2026-08-05 14:11:29 -04:00
orignal
72aeea494e
don't invoke completion handler within async function
2026-08-05 10:09:53 -04:00
orignal
346c9c0cd0
rollback to old implemntation without boost::beast
2026-08-05 07:58:26 -04:00
orignal
adda8acf24
restore bitfield from .resume file
2026-08-04 22:28:41 -04:00
orignal
0f847655ee
save partially donwloaded torrent to .part/.resume files
2026-08-04 21:24:47 -04:00
orignal
c39ce4d87c
implement GetNonConnectedPeers. Reconnect timer
2026-08-04 18:18:46 -04:00
orignal
3ae36ee350
don't save session with saved packet
2026-08-04 14:43:23 -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
d053ef4021
don't try to get data if receive timeout
2026-08-03 16:29:14 -04: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
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
b4666898b5
check if socket gets closed before creating sockets pipe. Catch set_option exception
2026-08-01 09:12:18 -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
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
5b080f8d9b
removed ECDSA blinding
2026-07-30 17:51:39 -04:00
orignal
523b9ce5f7
Merge pull request #2456 from jpk68/memory-bugs-3
...
chore: fix memory safety issues
2026-07-30 17:14:18 -04:00