Commit Graph
9433 Commits
Author SHA1 Message Date
orignal 4156005c49 handshake receive timeout 2026-08-10 15:42:13 -04:00
orignal 2333d39851 read file path as list of subdirs 2026-08-10 10:26:52 -04:00
orignal 87c9e7a847 create subdirs when reserve file. create path from subdirs 2026-08-10 10:24:22 -04:00
orignal a743eaeed9 request rarest pieces first 2026-08-09 18:32:32 -04:00
orignal b53951c167 read files list from .torrent file 2026-08-09 15:05:51 -04:00
orignal 2182a0add5 fixed possible overflow with negative value 2026-08-09 15:02:21 -04:00
orignal ab03c745a8 release requested piece if connection got closed 2026-08-09 11:27:27 -04:00
orignal 71cec86bf7 don't connect to peers and set numwant to 0 when seeding 2026-08-09 09:12:47 -04:00
orignal 8fa6896328 torrent download completion. correct last piece size 2026-08-08 22:12:04 -04:00
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