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