Resurrect p5-Crypt-OpenPGP, now with a patch for CVE-2005-0366.

Seems OK:	simon, lth
This commit is contained in:
Anton Berezin 2007-04-23 14:01:17 +00:00
parent bb5f46907c
commit dbf2771921
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=190732
7 changed files with 215 additions and 0 deletions

View file

@ -384,6 +384,7 @@
SUBDIR += p5-Crypt-OFB
SUBDIR += p5-Crypt-OICQ
SUBDIR += p5-Crypt-OTP
SUBDIR += p5-Crypt-OpenPGP
SUBDIR += p5-Crypt-OpenSSL-Bignum
SUBDIR += p5-Crypt-OpenSSL-DSA
SUBDIR += p5-Crypt-OpenSSL-RSA

View file

@ -0,0 +1,69 @@
# New ports collection makefile for: p5-Crypt-OpenPGP
# Date created: Tue Sep 11 02:08:49 PDT 2001
# Whom: Michael Haro <mharo@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= Crypt-OpenPGP
PORTVERSION= 1.03
PORTREVISION= 1
CATEGORIES= security perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= Crypt
PKGNAMEPREFIX= p5-
MAINTAINER= tobez@FreeBSD.org
COMMENT= Pure-Perl OpenPGP-compatible PGP implementation
BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Crypt/DES.pm:${PORTSDIR}/security/p5-Crypt-DES \
${SITE_PERL}/${PERL_ARCH}/Crypt/Blowfish.pm:${PORTSDIR}/security/p5-Crypt-Blowfish \
${SITE_PERL}/${PERL_ARCH}/Crypt/IDEA.pm:${PORTSDIR}/security/p5-Crypt-IDEA \
${SITE_PERL}/Crypt/DSA.pm:${PORTSDIR}/security/p5-Crypt-DSA \
${SITE_PERL}/Crypt/RSA.pm:${PORTSDIR}/security/p5-Crypt-RSA \
${SITE_PERL}/${PERL_ARCH}/Crypt/RIPEMD160.pm:${PORTSDIR}/security/p5-Crypt-RIPEMD160 \
${SITE_PERL}/${PERL_ARCH}/Crypt/Rijndael.pm:${PORTSDIR}/security/p5-Crypt-Rijndael \
${SITE_PERL}/Crypt/CAST5_PP.pm:${PORTSDIR}/security/p5-Crypt-CAST5_PP \
${SITE_PERL}/Crypt/DES_EDE3.pm:${PORTSDIR}/security/p5-Crypt-DES_EDE3 \
${SITE_PERL}/${PERL_ARCH}/Digest/SHA1.pm:${PORTSDIR}/security/p5-Digest-SHA1 \
${SITE_PERL}/${PERL_ARCH}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-Compress-Zlib \
${SITE_PERL}/${PERL_ARCH}/Math/Pari.pm:${PORTSDIR}/math/p5-Math-Pari \
${SITE_PERL}/Data/Buffer.pm:${PORTSDIR}/misc/p5-Data-Buffer \
${SITE_PERL}/URI/Escape.pm:${PORTSDIR}/net/p5-URI \
${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww \
p5-Math-BigInt>=1.78:${PORTSDIR}/math/p5-Math-BigInt \
p5-Math-BigInt-GMP>=1.21:${PORTSDIR}/math/p5-Math-BigInt-GMP
RUN_DEPENDS= ${BUILD_DEPENDS}
PERL_CONFIGURE= yes
MAN3= Crypt::OpenPGP::ErrorHandler.3 Crypt::OpenPGP::Key.3 \
Crypt::OpenPGP::CFB.3 Crypt::OpenPGP::SKSessionKey.3 \
Crypt::OpenPGP::UserID.3 Crypt::OpenPGP::SessionKey.3 \
Crypt::OpenPGP::Words.3 Crypt::OpenPGP::PacketFactory.3 \
Crypt::OpenPGP::S2k.3 Crypt::OpenPGP.3 \
Crypt::OpenPGP::Signature.3 \
Crypt::OpenPGP::KeyBlock.3 Crypt::OpenPGP::MDC.3 \
Crypt::OpenPGP::Compressed.3 Crypt::OpenPGP::Armour.3 \
Crypt::OpenPGP::KeyRing.3 Crypt::OpenPGP::Plaintext.3 \
Crypt::OpenPGP::Buffer.3 Crypt::OpenPGP::Cipher.3 \
Crypt::OpenPGP::OnePassSig.3 Crypt::OpenPGP::Constants.3 \
Crypt::OpenPGP::Util.3 Crypt::OpenPGP::Digest.3 \
Crypt::OpenPGP::Ciphertext.3 Crypt::OpenPGP::Marker.3 \
Crypt::OpenPGP::Trust.3 Crypt::OpenPGP::Certificate.3 \
Crypt::OpenPGP::Message.3 Crypt::OpenPGP::KeyServer.3
post-patch:
@${RM} -f ${WRKSRC}/lib/Crypt/OpenPGP/Ciphertext.pm.orig
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} < 500800
DEPENDS_56= p5-Scalar-List-Utils>0:${PORTSDIR}/lang/p5-Scalar-List-Utils \
p5-MIME-Base64>0:${PORTSDIR}/converters/p5-MIME-Base64 \
p5-Digest-MD5>0:${PORTSDIR}/security/p5-Digest-MD5
BUILD_DEPENDS+= ${DEPENDS_56}
RUN_DEPENDS+= ${DEPENDS_56}
.endif
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
MD5 (Crypt-OpenPGP-1.03.tar.gz) = 020141cf2a3c22b50373fc5aeb7914d2
SHA256 (Crypt-OpenPGP-1.03.tar.gz) = a602fd8383349ed352614acf984103dfd6b9d2fc721262238bb9080ded1bed08
SIZE (Crypt-OpenPGP-1.03.tar.gz) = 96872

View file

@ -0,0 +1,13 @@
--- lib/Crypt/OpenPGP/Ciphertext.pm.orig Tue Apr 10 15:51:46 2007
+++ lib/Crypt/OpenPGP/Ciphertext.pm Tue Apr 10 15:52:03 2007
@@ -87,8 +87,8 @@ sub decrypt {
my $padlen = $cipher->blocksize + 2;
my $pt = $enc->{prefix} =
$cipher->decrypt(substr $enc->{ciphertext}, 0, $padlen);
- return $enc->error("Bad checksum")
- unless substr($pt, -4, 2) eq substr($pt, -2, 2);
+ # return $enc->error("Bad checksum")
+ # unless substr($pt, -4, 2) eq substr($pt, -2, 2);
$cipher->sync unless $enc->{is_mdc};
$pt = $cipher->decrypt(substr $enc->{ciphertext}, $padlen);
if ($enc->{is_mdc}) {

View file

@ -0,0 +1,59 @@
--- Makefile.PL.orig Tue Dec 10 02:48:09 2002
+++ Makefile.PL Tue Apr 8 10:33:08 2003
@@ -11,56 +11,6 @@
use File::Basename qw/dirname/;
use lib File::Spec->catdir(dirname($0), 'inc');
-use ExtUtils::AutoInstall (
- -core => [
- 'Data::Buffer' => '0.04',
- 'MIME::Base64' => 0,
- 'Math::Pari' => 0,
- 'Compress::Zlib' => 0,
- 'LWP::UserAgent' => 0,
- 'URI::Escape' => 0,
-
- 'Crypt::DSA' => 0,
- 'Crypt::RSA' => 0,
- ],
-
- 'PGP2 Compatibility (Minimum)' => [
- -default => $is_sdk,
- 'Crypt::IDEA' => 0,
- 'Digest::MD5' => 0,
- ],
-
- 'PGP5 Compatibility (Minimum)' => [
- -default => $is_sdk,
- 'Crypt::DES_EDE3' => 0,
- 'Digest::SHA1' => 0,
- ],
-
- 'GnuPG Compatibility (Minimum)' => [
- -default => $is_sdk,
- 'Crypt::Rijndael' => 0,
- 'Crypt::CAST5_PP' => 0,
- 'Crypt::RIPEMD160' => 0,
- ],
-
- 'Support for all ciphers' => [
- -default => $is_sdk,
- 'Crypt::IDEA' => 0,
- 'Crypt::DES_EDE3' => 0,
- 'Crypt::CAST5_PP' => 0,
- 'Crypt::Blowfish' => 0,
- 'Crypt::Twofish' => '2.00',
- 'Crypt::Rijndael' => 0,
- ],
-
- 'Support for all digests' => [
- -default => $is_sdk,
- 'Digest::MD5' => 0,
- 'Digest::SHA1' => 0,
- 'Crypt::RIPEMD160' => 0,
- ],
-);
-
WriteMakefile(
AUTHOR => 'Benjamin Trott <cpan@stupidfool.org>',
ABSTRACT => 'Pure-Perl OpenPGP-compatible PGP implementation',

View file

@ -0,0 +1,23 @@
Crypt::OpenPGP is a pure-Perl implementation of the OpenPGP standard[1].
In addition to support for the standard itself, Crypt::OpenPGP claims
compatibility with many other PGP implementations, both those that
support the standard and those that preceded it.
Crypt::OpenPGP provides signing/verification, encryption/decryption,
keyring management, and key-pair generation; in short it should provide
you with everything you need to PGP-enable yourself. Alternatively it can
be used as part of a larger system; for example, perhaps you have a
web-form-to-email generator written in Perl, and you'd like to encrypt
outgoing messages, because they contain sensitive information.
Crypt::OpenPGP can be plugged into such a scenario, given your public
key, and told to encrypt all messages; they will then be readable only by
you.
This module currently supports RSA and DSA for digital signatures, and
RSA and ElGamal for encryption/decryption. It supports the symmetric
ciphers 3DES, Blowfish, IDEA, Twofish, and Rijndael (AES). Rijndael is
supported for key sizes of 128, 192, and 256 bits. Crypt::OpenPGP
supports the digest algorithms MD5, SHA-1, and RIPE-MD/160. And it
supports ZIP and Zlib compression.
WWW: http://search.cpan.org/dist/Crypt-OpenPGP/

View file

@ -0,0 +1,47 @@
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Crypt/OpenPGP/.packlist
%%SITE_PERL%%/Crypt/OpenPGP.pm
%%SITE_PERL%%/Crypt/OpenPGP/Words.pm
%%SITE_PERL%%/Crypt/OpenPGP/Digest.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key.pm
%%SITE_PERL%%/Crypt/OpenPGP/KeyRing.pm
%%SITE_PERL%%/Crypt/OpenPGP/Cipher.pm
%%SITE_PERL%%/Crypt/OpenPGP/S2k.pm
%%SITE_PERL%%/Crypt/OpenPGP/Armour.pm
%%SITE_PERL%%/Crypt/OpenPGP/Certificate.pm
%%SITE_PERL%%/Crypt/OpenPGP/Compressed.pm
%%SITE_PERL%%/Crypt/OpenPGP/Message.pm
%%SITE_PERL%%/Crypt/OpenPGP/OnePassSig.pm
%%SITE_PERL%%/Crypt/OpenPGP/Util.pm
%%SITE_PERL%%/Crypt/OpenPGP/SKSessionKey.pm
%%SITE_PERL%%/Crypt/OpenPGP/MDC.pm
%%SITE_PERL%%/Crypt/OpenPGP/CFB.pm
%%SITE_PERL%%/Crypt/OpenPGP/PacketFactory.pm
%%SITE_PERL%%/Crypt/OpenPGP/Signature.pm
%%SITE_PERL%%/Crypt/OpenPGP/Marker.pm
%%SITE_PERL%%/Crypt/OpenPGP/Buffer.pm
%%SITE_PERL%%/Crypt/OpenPGP/KeyBlock.pm
%%SITE_PERL%%/Crypt/OpenPGP/ErrorHandler.pm
%%SITE_PERL%%/Crypt/OpenPGP/KeyServer.pm
%%SITE_PERL%%/Crypt/OpenPGP/Config.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret/DSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret/RSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Secret/ElGamal.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public/RSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public/DSA.pm
%%SITE_PERL%%/Crypt/OpenPGP/Key/Public/ElGamal.pm
%%SITE_PERL%%/Crypt/OpenPGP/SessionKey.pm
%%SITE_PERL%%/Crypt/OpenPGP/Constants.pm
%%SITE_PERL%%/Crypt/OpenPGP/Trust.pm
%%SITE_PERL%%/Crypt/OpenPGP/UserID.pm
%%SITE_PERL%%/Crypt/OpenPGP/Plaintext.pm
%%SITE_PERL%%/Crypt/OpenPGP/Ciphertext.pm
%%SITE_PERL%%/Crypt/OpenPGP/Signature/SubPacket.pm
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Crypt/OpenPGP
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Key/Secret
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Key/Public
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Key
@dirrm %%SITE_PERL%%/Crypt/OpenPGP/Signature
@dirrm %%SITE_PERL%%/Crypt/OpenPGP
@dirrmtry %%SITE_PERL%%/Crypt