Strip Fury back to its vault functionality in one `vault` command: genkey, init, add (file or directory, optional folder inside the vault), list, get, mv and rm. The hybrid FrodoKEM-640 + ML-KEM-768 encryption core is kept under internal/pqcrypt. Signing, policies, profiles, backups, SSH remotes, FIDO2, agents, provenance and compression are removed.
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package format
|
|
|
|
import (
|
|
"bufio"
|
|
"bytes"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestStanzaReaderRejectsOversizedStanza(t *testing.T) {
|
|
var input bytes.Buffer
|
|
input.WriteString("-> test ")
|
|
input.WriteString(strings.Repeat("a", MaxStanzaSize))
|
|
input.WriteString("\n\n")
|
|
|
|
sr := NewStanzaReader(bufio.NewReader(&input))
|
|
if _, err := sr.ReadStanza(); err == nil {
|
|
t.Fatal("ReadStanza accepted an oversized stanza")
|
|
} else if !strings.Contains(err.Error(), "stanza exceeds") {
|
|
t.Fatalf("ReadStanza error = %v, want stanza size limit error", err)
|
|
}
|
|
}
|
|
|
|
func TestParseRejectsOversizedHeader(t *testing.T) {
|
|
var input bytes.Buffer
|
|
input.WriteString(intro)
|
|
for input.Len() <= MaxHeaderSize {
|
|
input.WriteString("-> test ")
|
|
input.WriteString(strings.Repeat("a", MaxStanzaSize-1024))
|
|
input.WriteString("\n\n")
|
|
}
|
|
input.WriteString("--- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n")
|
|
|
|
if _, _, err := Parse(&input); err == nil {
|
|
t.Fatal("Parse accepted an oversized header")
|
|
} else if !strings.Contains(err.Error(), "header exceeds") {
|
|
t.Fatalf("Parse error = %v, want header size limit error", err)
|
|
}
|
|
}
|