Commit Graph
9820 Commits
Author SHA1 Message Date
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
PobreGatoandClaude 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