diff options
Diffstat (limited to 'tests/gpgse.at')
-rw-r--r-- | tests/gpgse.at | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/tests/gpgse.at b/tests/gpgse.at new file mode 100644 index 0000000..6a93ae5 --- /dev/null +++ b/tests/gpgse.at @@ -0,0 +1,103 @@ +# 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 and Encrypt]) +AT_KEYWORDS([gpg sign encrypt]) + +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 "se:(.*):(.*)" + gpg-se \1:\2 + add [[X-GPG-Comment1]] "Encrypted for \1" + add [[X-GPG-Comment2]]"Signed by \2" +done +END +]) + +AT_DATA([input], +[HELO localhost +MAIL FROM:<polak@gnu.org> +RCPT TO:<gray@gnu.org> +DATA +From: <polak@gnu.org> +To: <gray@gnu.org> +Subject: gpg-se test@@se:anubis-dev: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 MESSAGE-----/,/-----END PGP MESSAGE-----/d' etc/mta.log], +[0], +[HELO localhost +MAIL FROM:<polak@gnu.org> +RCPT TO:<gray@gnu.org> +DATA +From: <polak@gnu.org> +To: <gray@gnu.org> +Subject: gpg-se test +X-GPG-Comment1: Encrypted for anubis-dev +X-GPG-Comment2: Signed by anubis-dev + +. +QUIT +]) +AT_CHECK([ +$GPG --homedir gpg --decrypt < etc/mta.log +], +[0], +[If you can read this, then it is working. +], +[ignore]) +AT_CLEANUP |