Commit Graph
9846 Commits
Author SHA1 Message Date
orignal 933ee7db33 limit number of files per torrent. Increase max piece size to 256M 2026-09-19 12:52:53 -04:00
orignal 4f65b92b21 don't create files for torrent with malformed metaInfo 2026-09-19 12:12:14 -04:00
orignal 13ca01b35f changed TorrentFile from struct to class 2026-09-19 10:57:55 -04:00
orignal 52ee907ab2 check torrent's overall length 2026-09-19 09:02:13 -04:00
orignal d9fa36210b check if BEconded biffer is empty 2026-09-19 07:33:47 -04:00
orignal 328860f0bb Merge pull request #2565 from pobregat0/pool-cleanup-order
detach memory pool list before freeing it
2026-09-18 22:27:03 -04:00
orignal aa95047afc Merge pull request #2564 from pobregat0/close-on-service
call SendClose and Terminate through the service in Close
2026-09-18 22:26:32 -04:00
PobreGato 68a4f90fa9 call SendClose and Terminate through the service in Close 2026-09-18 22:17:59 -04:00
PobreGato 1c408f6086 detach memory pool list before freeing it 2026-09-18 19:57:20 -04:00
orignal 007d7a4357 drop interval to minimal if a tracker is not responding 2026-09-18 17:45:18 -04:00
orignal fadc607440 set malformed metaInfo error if parsing failed 2026-09-18 15:52:57 -04:00
orignal 00f3ea6691 check for terminating 'e' for BEncoded disctonaries and lists 2026-09-18 15:40:48 -04:00
orignal ccf65110dc limit number of pieces and metaInfo size 2026-09-18 14:17:06 -04:00
orignal 3061fbdeb8 set tracker error if no response 2026-09-18 10:33:15 -04:00
orignal e2c2cc080f check length field for each file 2026-09-18 08:04:37 -04:00
orignal 9e6c54ece8 check next peer string length 2026-09-17 22:02:46 -04:00
orignal 2e179f3c62 check next peer string length 2026-09-17 21:39:23 -04:00
orignal 4e2a13bb8e drop public keys if FromBuffer failed 2026-09-17 21:14:41 -04:00
orignal ec452bfffb numeric torrent error code. Limit torrent length by 1Pb 2026-09-17 20:30:00 -04:00
orignal a6ebaeda0c don't crash if unknown signing key type for new private keys 2026-09-17 18:38:12 -04:00
orignal 4b5bea5ee4 check if piece length is within 16K-64M. Return error through RPC 2026-09-17 18:25:04 -04:00
orignal c786d3ab84 updated reseed 2026-09-17 17:46:43 -04:00
orignal 0e0733df97 check piece's next hash string length 2026-09-17 16:55:20 -04:00
orignal 17e61f81bf reject request if requested block is beyond piece size 2026-09-17 16:03:50 -04:00
orignal 52b31b55ad close connection if unexpected message length received 2026-09-17 14:46:05 -04:00
orignal 86cbb4b0de decline new session if previous one with same destination is being terminated 2026-09-17 14:30:37 -04:00
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