orignal
ca984618af
delete orphaned connection
2026-09-15 14:24:09 -04:00
orignal
79a4d7496b
update piece's buffer after it gets loaded
2026-09-15 08:52:27 -04:00
orignal
42db1cf177
Merge pull request #2556 from pobregat0/ls2-key-section-length
...
LeaseSet2: check declared key length before creating an encryptor
2026-09-14 21:59:30 -04:00
PobreGato and Claude Opus 5
466e865e91
LeaseSet2: check declared key length before creating an encryptor
...
A key section in a standard LeaseSet2 carries both a key type and a key
length. The length is checked against the buffer, but the encryptor reads
a length fixed by the type instead: 256 bytes for ElGamal, 64 for ECIES
P256, 32 for X25519. A section that declares ElGamal with a length of zero
passes the check and then makes CreateEncryptor read 256 bytes past the end
of the message.
Key sections are parsed before the signature is verified, so no key material
is needed to trigger it.
GetCryptoPublicKeyLen returned 32 for ECIES P256, while the key is x and y,
32 bytes each; without fixing that too, the new check would still let a 32
byte P256 section through.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Awv7FvZTpGFsKFNeNyJaTE
2026-09-14 21:43:53 -04:00
orignal
35804abf50
collect torrent data for torrent-get in torrent's thread
2026-09-14 20:21:28 -04:00
orignal
bc4dc2b272
send reject request if loaded block cann't be sent
2026-09-14 17:28:00 -04:00
orignal
7a197e670a
Merge pull request #2555 from freeacetone/fix-remaining-memory-safety
...
Memory safety fixes
2026-09-14 15:06:13 -04:00
acetone
e86eac8ee7
require a full range pair in SSU2 ack block
2026-09-14 14:45:39 -04:00
acetone
a5d4896a5c
check outer plaintext length in encrypted LeaseSet2
2026-09-14 14:45:39 -04:00
acetone
82047ccbc4
check clove length before reading delivery status and tunnel test
2026-09-14 14:45:13 -04:00
orignal
952f5aad9e
open seeded file in read-only mode
2026-09-14 10:11:42 -04:00
orignal
5925c58b6a
fixed build with older version of clang
2026-09-14 07:57:03 -04:00
orignal
a13f4c1aa2
handle TORRENTS param
2026-09-14 07:21:59 -04:00
orignal
ef3658b6a7
handle TORRENTS param
2026-09-14 07:18:26 -04:00
orignal
d33f5752c8
Merge pull request #2554 from wipedlifepotato/openssl
...
feat: info hash
2026-09-14 07:08:03 -04:00
wipedlifepotato
a018bfa530
fix: reader.result
2026-09-14 05:35:33 +03:00
Luminok
24a66f5a22
Merge branch 'openssl' into openssl
2026-09-14 09:34:04 +07:00
wipedlifepotato
8aee0db80b
feat: infoHash in webconsole
2026-09-14 05:32:37 +03:00
wipedlifepotato
98fc5f8b2e
fix: fix new build js torrent client
2026-09-14 05:30:35 +03:00
orignal
3c45d154b9
don't close file after each save/load operation
2026-09-13 21:34:02 -04:00
orignal
2ff4eb7c57
calculate stats in real time
2026-09-13 19:09:36 -04:00
orignal
b8a1c56d25
use TorrentFile struct for files. Common logic for single and multiple files
2026-09-13 18:38:45 -04:00
orignal
4b42c6b76a
recoonect peers from different torrents after random intervals
2026-09-13 15:19:28 -04:00
orignal
d72ae7a3dc
remove peer from torrent on termination. Always run reconnect timer
2026-09-13 11:33:03 -04:00
orignal
aee00c1984
don't try to peer if pending connection. Request trackers right away when torrent was added
2026-09-13 10:01:52 -04:00
orignal
d7e3750fd3
pause between stop and deletion of torrents tunnel
2026-09-13 08:04:39 -04:00
orignal
1d96c2ac69
tribool local bitfield state. Delete .resume file after receiving last piece
2026-09-12 21:59:04 -04:00
orignal
13925712f8
check if stream is still alive in callback
2026-09-12 16:44:48 -04:00
orignal
181027c3b0
let tunnels finish thier tasks on stop
2026-09-12 15:46:10 -04:00
orignal
3630a57054
take non connected peers from torrent
2026-09-12 12:33:14 -04:00
orignal
95f251fdcb
only one peer connection with destination per torrent
2026-09-12 11:03:33 -04:00
orignal
d5a6c93d3d
close all active seesions on stop. Check if .part file exists before renaming
2026-09-12 11:01:34 -04:00
orignal
8edd903a79
clean up pieces of seeding torrent. Update torrent status in random intervals
2026-09-12 08:17:17 -04:00
orignal
c740ea579c
fixed possible memory leak
2026-09-11 15:13:39 -04:00
orignal
aa06c8144f
decode url from tracker param
2026-09-11 11:32:34 -04:00
orignal
2d185a508e
decode url from magnet's display name param
2026-09-11 09:46:05 -04:00
orignal
3bf919b780
close connections after receiving info if they didn't have it by handshake
2026-09-10 22:10:18 -04:00
orignal
ade824808c
don't try to parse meta LeaseSet
2026-09-10 20:07:06 -04:00
orignal
e0fcfb3507
notify existing peers about new incoming peer
2026-09-10 15:30:44 -04:00
orignal
e846140b38
response with more params to torrent-get
2026-09-10 14:42:32 -04:00
orignal
6929699325
send PEX added message to incoming connection
2026-09-10 13:08:24 -04:00
orignal
3a14b09da2
Merge pull request #2547 from pobregat0/reseed-connect-timeout
...
Treat reseed connect timeout as a failure instead of a connection
2026-09-09 21:16:48 -04:00
PobreGato
5da917f576
treat reseed connect timeout as a failure instead of a connection
2026-09-09 20:35:08 -04:00
orignal
0d655befa5
respond with reject request if piece load failed
2026-09-09 18:09:51 -04:00
orignal
13906f9f48
use transmission RPC api v17
2026-09-09 17:59:57 -04:00
orignal
e50950c6c0
connect to new peers received through PEX
2026-09-09 16:42:13 -04:00
orignal
e3be45ec50
receive I2P_PEX messages
2026-09-09 10:45:52 -04:00
orignal
e5621949d5
chech ratchets payload size and key
2026-09-09 09:23:18 -04:00
orignal
7d93ac0f02
maintain connections list per torrent
2026-09-08 20:53:22 -04:00
orignal
0a8a96e60b
RPC method session-stats
2026-09-08 18:20:42 -04:00