From 80dd0d5ffd30c80a2d2ea99bae79709b86cb7b0a Mon Sep 17 00:00:00 2001 From: "Evgeny @ SimpleX Chat" <259188159+evgeny-simplex@users.noreply.github.com> Date: Thu, 22 Oct 2026 19:55:21 +0000 Subject: [PATCH] inline limits --- src/Simplex/FileTransfer/Description.hs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/Simplex/FileTransfer/Description.hs b/src/Simplex/FileTransfer/Description.hs index 2418f3005..6e807b807 100644 --- a/src/Simplex/FileTransfer/Description.hs +++ b/src/Simplex/FileTransfer/Description.hs @@ -226,20 +226,14 @@ validateFileDescription :: FileDescription p -> Either String (ValidFileDescript validateFileDescription fd@FileDescription {size, chunks} | chunkNos /= [1 .. length chunks] = Left "chunk numbers are not sequential" | chunksSize chunks /= unFileSize size = Left "chunks total size is different than file size" - | any (> maxChunkReplicas) replicaCounts = Left "too many chunk replicas" - | sum replicaCounts > maxFileReplicas = Left "too many file replicas" + | any (> 16) replicaCounts = Left "too many chunk replicas" + | sum replicaCounts > 4096 = Left "too many file replicas" | otherwise = Right $ ValidFD fd where chunkNos = map (\FileChunk {chunkNo} -> chunkNo) chunks chunksSize = foldl' (\(s :: Int64) FileChunk {chunkSize} -> s + fromIntegral (unFileSize chunkSize)) 0 replicaCounts = map (\FileChunk {replicas} -> length replicas) chunks -maxChunkReplicas :: Int -maxChunkReplicas = 16 - -maxFileReplicas :: Int -maxFileReplicas = 4096 - sharedDescriptionHash :: FileDescription p -> ByteString sharedDescriptionHash FileDescription {size, digest, key, nonce, chunkSize, chunks} = C.sha512Hash $ smpEncode (unFileSize size, unFileDigest digest, C.unSbKey key, nonce, unFileSize chunkSize) <> foldMap chunkFields chunks