pkgsrc/mail/cue/patches/patch-ab

36 lines
1.1 KiB
Text

$NetBSD: patch-ab,v 1.5 2008/09/19 19:47:07 joerg Exp $
--- pgp.c.orig 2007-06-11 19:40:21.000000000 +0200
+++ pgp.c
@@ -37,6 +37,7 @@
#ifdef OPENSSL
#include <openssl/bn.h>
+#include <openssl/dsa.h>
#include <openssl/rsa.h>
#include <openssl/evp.h>
#include <openssl/rand.h>
@@ -987,7 +988,11 @@ pgp_decrypt_seskey(struct pgp_pkt *pkt,
return -1;
if ((buf = malloc(len)) == NULL)
return -1;
+#if OPENSSL_VERSION_NUMBER >= 0x00909000L
+ len = EVP_PKEY_decrypt_old(buf, p, len, seckey->un.pubkey.key);
+#else
len = EVP_PKEY_decrypt(buf, p, len, seckey->un.pubkey.key);
+#endif
break;
case PGP_PUB_ELGAMAL_ENC:
{
@@ -1073,7 +1078,11 @@ pgp_encrypt_seskey(struct pgp_pkt *pkt,
case PGP_PUB_RSA:
if ((buf = malloc(EVP_PKEY_size(pubkey->un.pubkey.key) + 2)) == NULL)
break;
+#if OPENSSL_VERSION_NUMBER >= 0x00909000L
+ len = EVP_PKEY_encrypt_old(buf + 2, pkt->un.pubses.seskey, pkt->un.pubses.seslen, pubkey->un.pubkey.key);
+#else
len = EVP_PKEY_encrypt(buf + 2, pkt->un.pubses.seskey, pkt->un.pubses.seslen, pubkey->un.pubkey.key);
+#endif
n = BN_bin2bn(buf + 2, len, NULL);
i = BN_num_bits(n);
BN_free(n);