The AGS1 block layout has to be derived from the trusted file_length in StandardKeyMetadata rather than a filesystem stat, otherwise an attacker can drop trailing blocks and every remaining block still authenticates. The reader should fail when file_length is missing, or when it disagrees with the bytes that are actually readable, matching iceberg-rust after apache/iceberg-rust#3236.
Part of #3222
The AGS1 block layout has to be derived from the trusted file_length in StandardKeyMetadata rather than a filesystem stat, otherwise an attacker can drop trailing blocks and every remaining block still authenticates. The reader should fail when file_length is missing, or when it disagrees with the bytes that are actually readable, matching iceberg-rust after apache/iceberg-rust#3236.
Part of #3222