orignal
be27640ac6
calculate peer activity based on interested and choked flags
2026-09-17 08:21:11 -04:00
orignal
92878bd7a5
add header if table format only
2026-09-16 20:04:53 -04:00
orignal
409ef37058
return only available field in torrent-get table header
2026-09-16 20:01:35 -04:00
orignal
0ef4ade8bf
return only available field in torrent-get table header
2026-09-16 19:59:22 -04:00
orignal
c0f6c79d8a
add table header to torrent-get response
2026-09-16 18:25:05 -04:00
orignal
d1859f9f94
handle torrent-get with table format
2026-09-16 18:11:09 -04:00
orignal
43a8f0981a
exlclude duplicated trackers with same host and b32 address
2026-09-16 17:26:00 -04:00
orignal
5d05e782dc
exlclude duplicated trackers with same host
2026-09-16 16:49:26 -04:00
orignal
25b5c9d2e5
delete .torrent and .resume files regardless deleteFiles param
2026-09-16 11:21:02 -04:00
orignal
87340e65db
Merge pull request #2557 from jpk68/add-checks
...
fix: missing checks and limits
2026-09-16 09:00:11 -04:00
jpk68
5e93f74e19
fix: missing checks and limits
2026-09-16 08:47:15 -04:00
orignal
daf3b5c58d
check encryption key len for known key types
2026-09-16 08:31:21 -04:00
orignal
35eaa9e426
Merge pull request #2560 from PurpleI2P/revert-2556-ls2-key-section-length
...
Revert "LeaseSet2: check declared key length before creating an encryptor"
2026-09-16 07:28:09 -04:00
orignal
8769d0615a
Revert "LeaseSet2: check declared key length before creating an encryptor"
2026-09-16 07:27:26 -04:00
orignal
99eab7aceb
don't set next tracker requst time for unused tracker
2026-09-15 22:12:23 -04:00
orignal
77a143f012
handle fileStats torrent-get field
2026-09-15 21:43:44 -04:00
orignal
179fdf7998
don't include non-I2P announces to trackers list
2026-09-15 21:21:31 -04:00
orignal
8c833634ca
add tracker from torrent's announce
2026-09-15 19:19:00 -04:00
orignal
80a3f99a61
count being sent pieces for incoming requests queue
2026-09-15 17:55:15 -04:00
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