From 9ec3b850051da736456a22103c48df9bc334b20c Mon Sep 17 00:00:00 2001 From: Caeies Date: Thu, 8 Jan 2026 21:35:34 +0100 Subject: [PATCH] gpg: ensure LC_MESSAGES so that regex match the output. --- pkg/gpg/gpg.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/gpg/gpg.go b/pkg/gpg/gpg.go index b6a0dd9..775b9bd 100644 --- a/pkg/gpg/gpg.go +++ b/pkg/gpg/gpg.go @@ -52,6 +52,10 @@ func (gpg *GPG) Decrypt(ctx context.Context, dec string) (string, *Status, error var stderr bytes.Buffer var stdout bytes.Buffer cmd := exec.CommandContext(ctx, gpg.GPG, "--batch", "--no-tty") + + // Ensure that US gpg strings are used in gpg tp match regexp. + cmd.Env = append(os.Environ(), "LC_MESSAGES=C") + if gpg.Passphrase != "" { // Used for testing. cmd.Args = append(cmd.Args, @@ -105,6 +109,10 @@ func (gpg *GPG) Verify(ctx context.Context, data, sig string) (*Status, error) { var stderr bytes.Buffer cmd := exec.CommandContext(ctx, gpg.GPG, "--verify", "--no-tty", sigFN, dataFN) + + // Ensure that US gpg strings are used in gpg tp match regexp. + cmd.Env = append(os.Environ(), "LC_MESSAGES=C") + cmd.Stderr = &stderr if err := cmd.Start(); err != nil { return nil, errors.Wrapf(err, "failed to start gpg (%q)", gpg.GPG) @@ -144,6 +152,10 @@ func (gpg *GPG) Verify(ctx context.Context, data, sig string) (*Status, error) { func (gpg *GPG) VerifyInline(ctx context.Context, data string) (*Status, error) { var stderr bytes.Buffer cmd := exec.CommandContext(ctx, gpg.GPG, "--verify", "--no-tty", "-") + + // Ensure that US gpg strings are used in gpg tp match regexp. + cmd.Env = append(os.Environ(), "LC_MESSAGES=C") + cmd.Stderr = &stderr cmd.Stdin = strings.NewReader(data) if err := cmd.Start(); err != nil {