diff options
Diffstat (limited to 'tests/gpgsign.at')
-rw-r--r-- | tests/gpgsign.at | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/tests/gpgsign.at b/tests/gpgsign.at new file mode 100644 index 0000000..ea5ac45 --- /dev/null +++ b/tests/gpgsign.at @@ -0,0 +1,106 @@ +># This file is part of GNU Anubis testsuite. -*- autotest -*- +# Copyright (C) 2003-2024 The Anubis Team. +# +# GNU Anubis 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. +# +# GNU Anubis 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 GNU Anubis. If not, see <http://www.gnu.org/licenses/>. +AT_SETUP([GPG Sign]) +AT_KEYWORDS([gpg sign]) + +AT_CHECK([ +ANUBIS_PREREQ_GPG +mkdir gpg + +if ! $GPG --homedir gpg --quiet --no-permission-warning --batch --gen-key +then + AT_SKIP_TEST +fi <<EOT +Key-Type: RSA +Key-Length: 2048 +Subkey-Type: ELG-E +Subkey-Length: 2048 +Name-Real: GNU Anubis Team +Name-Comment: (anubis) +Name-Email: anubis-dev@gnu.org +Expire-Date: 0 +%no-protection +%transient-key +%commit +EOT + +AT_ANUBIS_CONFIG([anubis.rc], +[BEGIN CONTROL +logfile $PWD/etc/anubis.log +local-mta $abs_builddir/mta -bs -d $PWD/etc/mta.log +use-pam no +END + +BEGIN RULE +gpg-home $PWD/gpg +trigger "sign:(.*)" + gpg-sign "default" + add [[X-GPG-Comment]] "Signed by \1" +done +END +]) + +AT_DATA([input], +[HELO localhost +MAIL FROM:<gray@gnu.org> +RCPT TO:<polak@gnu.org> +DATA +From: <gray@gnu.org> +To: <polak@gnu.org> +Subject: Signing messages@@sign:anubis-dev + +If you can read this, then it is working. +. +QUIT +]) +], +[0], +[ignore], +[ignore]) + +AT_CHECK([ +anubis --norc --relax-perm-check --altrc etc/anubis.rc --stdio < input | tr -d '\r' +], +[0], +[ignore], +[ignore]) +AT_CHECK([ + sed -e '/-----BEGIN PGP SIGNATURE-----/,/-----END PGP SIGNATURE-----/d'\ + -e 's/^Hash:.*/Hash: ???/' etc/mta.log], +[0], +[HELO localhost +MAIL FROM:<gray@gnu.org> +RCPT TO:<polak@gnu.org> +DATA +From: <gray@gnu.org> +To: <polak@gnu.org> +Subject: Signing messages +X-GPG-Comment: Signed by anubis-dev + +-----BEGIN PGP SIGNED MESSAGE----- +Hash: ??? + +If you can read this, then it is working. +. +QUIT +]) +AT_CHECK([ +$GPG --homedir gpg --verify < etc/mta.log +], +[0], +[], +[ignore]) +AT_CLEANUP |