summaryrefslogtreecommitdiff
path: root/mail/cue/patches/patch-ab
blob: d583120b911153d9b638e9428fd1960e818118f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$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);