🐛 Piece length can also be 1 MiB

This commit is contained in:
C-3PO 2018-07-05 18:43:53 +02:00
parent 68348b3673
commit bdcb7faabe
Signed by: c3po
GPG key ID: 62993C4BB4D86F24
2 changed files with 5 additions and 5 deletions

View file

@ -8,8 +8,8 @@ interface ISolidFile {
interface ISolidFileInfo {
/** List of files that are part of this torrent. */
files: ISolidFile[];
/** Length of one piece in bytes, e.g. 65536 for 64 KiB, 524288 for 512 KiB, and 4194304 for 4 MiB. */
'piece length': 65536 | 524288 | 4194304;
/** Length of one piece in bytes, i.e. 64 KiB, 256 KiB, 512 KiB, 1 MiB or 4 MiB */
'piece length': 65536 | 262144| 524288 | 1048576| 4194304;
/** Concatenated SHA1 hashes of all pieces, where each hash is 20 bytes long. */
pieces: string;
/** Whether the torrent is private, always 0. */

View file

@ -53,9 +53,9 @@ export default function verifySolidpkg(file: ISolid, { product, from, to }: {pro
}
}
//64kb, 256kb, 512kb, 4mb
if (!([0x1_0000, 0x4_0000, 0x8_0000, 0x40_0000]).includes(file.info['piece length'])) {
throw new Error(`Expected piece length to be "65536", "262144", 524288" or "4194304" but it was "${file.info['piece length']}".`);
//64 KiB, 256 KiB, 512 KiB, 1 MiB, 4 MiB
if (!([0x1_0000, 0x4_0000, 0x8_0000, 0x10_0000, 0x40_0000]).includes(file.info['piece length'])) {
throw new Error(`Expected piece length to be "65536", "262144", 524288", "1048576" or "4194304" but it was "${file.info['piece length']}".`);
}
if (typeof file.info.pieces !== 'string') {
throw new Error(`Expected pieces to be a string but it was "${file.info.pieces}".`);