From 38e3b75a40ceda26e470198b3dfd44b3dbc03509 Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Fri, 23 Sep 2016 17:35:53 -0400 Subject: Bug 1304248 - Add sanity test to check for the Crypt::OpenPGP issue #30 --- t/901-secure-mail-loop.t | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 t/901-secure-mail-loop.t diff --git a/t/901-secure-mail-loop.t b/t/901-secure-mail-loop.t new file mode 100644 index 000000000..bfecb82c7 --- /dev/null +++ b/t/901-secure-mail-loop.t @@ -0,0 +1,74 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. +use strict; +use warnings; +use 5.10.1; +use Test::More tests => 1; + +use Crypt::OpenPGP; + +my $pubring = new Crypt::OpenPGP::KeyRing(Data => PUBLIC_KEY()); +my $pgp = new Crypt::OpenPGP(PubRing => $pubring); +{ + local $SIG{ALRM} = sub { fail("stuck in a loop"); exit; }; + alarm(5); + my $encrypted = $pgp->encrypt( + Data => "hello, world", + Recipients => "@", + Cipher => 'CAST5', + Armour => 0 + ); + alarm(0); +} +pass("didn't get stuck in a loop"); + +sub PUBLIC_KEY { + return <<'KEY'; +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.9 (GNU/Linux) + +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 +=skQe +-----END PGP PUBLIC KEY BLOCK----- +KEY +} + + -- cgit v1.2.3-24-g4f1b