From 5aafa56dffefe3fac55b9d0555c7c86e8a07f072 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 24 Jan 2017 14:28:36 +0100 Subject: [PATCH] tests: Add test demonstrating issue2929. * tests/openpgp/Makefile.am (XTESTS): Add new test. * tests/openpgp/issue2929.scm: New file. -- This test demonstrates a problem with the TOFU trust model when a new key is created. Signed-off-by: Justus Winter --- tests/openpgp/Makefile.am | 3 ++- tests/openpgp/issue2929.scm | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 tests/openpgp/issue2929.scm diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am index d1dd44914..5cab3d55d 100644 --- a/tests/openpgp/Makefile.am +++ b/tests/openpgp/Makefile.am @@ -96,7 +96,8 @@ XTESTS = \ issue2015.scm \ issue2346.scm \ issue2417.scm \ - issue2419.scm + issue2419.scm \ + issue2929.scm # XXX: Currently, one cannot override automake's 'check' target. As a # workaround, we avoid defining 'TESTS', thus automake will not emit diff --git a/tests/openpgp/issue2929.scm b/tests/openpgp/issue2929.scm new file mode 100644 index 000000000..44521bb2f --- /dev/null +++ b/tests/openpgp/issue2929.scm @@ -0,0 +1,32 @@ +#!/usr/bin/env gpgscm + +;; Copyright (C) 2017 g10 Code GmbH +;; +;; This file is part of GnuPG. +;; +;; GnuPG is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3 of the License, or +;; (at your option) any later version. +;; +;; GnuPG is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; if not, see . + +(load (with-path "defs.scm")) +(setup-environment) + +(catch (skip "Tofu not supported") + (call-check `(,@gpg --trust-model=tofu --list-config))) + +;; Redefine GPG without --always-trust and TOFU trust model. +(define gpg `(,(tool 'gpg) --no-permission-warning --trust-model=tofu)) + +(info "Checking key creation with TOFU trust model (issue2929).") +(call-check `(,@gpg --quick-generate-key frob@example.org)) +(call-check `(,@gpg --sign gpg.conf)) +(call-check `(,@gpg --verify gpg.conf.gpg))