View | Details | Raw Unified | Return to bug 232133 | Differences between
and this patch

Collapse All | Expand All

(-)mail/libdomainkeys/Makefile (+1 lines)
Lines 3-8 Link Here
3
3
4
PORTNAME=	libdomainkeys
4
PORTNAME=	libdomainkeys
5
PORTVERSION=	0.69
5
PORTVERSION=	0.69
6
PORTREVISION=	1
6
CATEGORIES=	mail
7
CATEGORIES=	mail
7
MASTER_SITES=	SF/domainkeys/${PORTNAME}/${PORTVERSION}
8
MASTER_SITES=	SF/domainkeys/${PORTNAME}/${PORTVERSION}
8
9
(-)mail/libdomainkeys/files/patch-domainkeys.c (+171 lines)
Line 0 Link Here
1
--- domainkeys.c.orig	2018-10-12 20:09:34 UTC
2
+++ domainkeys.c
3
@@ -120,7 +120,11 @@ typedef struct
4
 {
5
 /* STARTPRIV */
6
   int dkmarker;     /* in case somebody casts in */
7
-  EVP_MD_CTX mdctx;   /* the hash */
8
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
9
+  EVP_MD_CTX mdctx;
10
+#else
11
+  EVP_MD_CTX *mdctx;   /* the hash */
12
+#endif
13
   int signing;      /* our current signing/verifying state */
14
   int in_headers;   /* true if we're still processing headers */
15
   char *header;     /* points to a malloc'ed block for header. */
16
@@ -503,7 +507,11 @@ DK *dk_sign(DK_LIB *dklib, DK_STAT *statp, int canon)
17
     return NULL;
18
   }
19
   dk->canon = canon; /* TC13-simple, TC13-nofws */
20
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
21
   EVP_SignInit(&dk->mdctx, dklib->md);
22
+#else
23
+  EVP_SignInit(dk->mdctx, dklib->md);
24
+#endif
25
 
26
   if (statp)
27
   {
28
@@ -541,7 +549,11 @@ DK *dk_verify(DK_LIB *dklib, DK_STAT *statp)
29
     }
30
     return NULL;
31
   }
32
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
33
   EVP_VerifyInit(&dk->mdctx, dklib->md);
34
+#else
35
+  EVP_VerifyInit(dk->mdctx, dklib->md);
36
+#endif
37
 
38
   if (statp)
39
   {
40
@@ -928,14 +940,22 @@ static void dkhash(DK *dk, const unsigned char *ptr)
41
     {
42
 
43
 #ifndef DK_HASH_BUFF
44
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
45
       EVP_DigestUpdate(&dk->mdctx, "\r\n", 2);
46
 #else
47
+      EVP_DigestUpdate(dk->mdctx, "\r\n", 2);
48
+#endif
49
+#else
50
       /* buffer hack */
51
       dk->hash_buff[dk->hash_buff_len++] = '\r';
52
       dk->hash_buff[dk->hash_buff_len++] = '\n';
53
       if (dk->hash_buff_len >= (DK_BLOCK - 1))
54
       {
55
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
56
         EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len);
57
+#else
58
+        EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len);
59
+#endif
60
         dk->hash_buff_len = 0;
61
       }
62
       /* buffer hack */
63
@@ -955,13 +975,21 @@ static void dkhash(DK *dk, const unsigned char *ptr)
64
       if (dk->canon == DK_CANON_SIMPLE)//if nofws we ignore \r
65
       {
66
 #ifndef DK_HASH_BUFF
67
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
68
         EVP_DigestUpdate(&dk->mdctx, "\r", 1);
69
 #else
70
+        EVP_DigestUpdate(dk->mdctx, "\r", 1);
71
+#endif
72
+#else
73
         /* buffer hack */
74
         dk->hash_buff[dk->hash_buff_len++] = '\r';
75
         if (dk->hash_buff_len >= (DK_BLOCK - 1))
76
         {
77
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
78
           EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len);
79
+#else
80
+          EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len);
81
+#endif
82
           dk->hash_buff_len = 0;
83
         }
84
         /* buffer hack */
85
@@ -977,13 +1005,21 @@ static void dkhash(DK *dk, const unsigned char *ptr)
86
       dk->state --;
87
     }
88
 #ifndef DK_HASH_BUFF
89
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
90
     EVP_DigestUpdate(&dk->mdctx, ptr, 1);
91
 #else
92
+    EVP_DigestUpdate(dk->mdctx, ptr, 1);
93
+#endif
94
+#else
95
     /* buffer hack */
96
     dk->hash_buff[dk->hash_buff_len++] = *ptr;
97
     if (dk->hash_buff_len >= (DK_BLOCK - 1))
98
     {
99
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
100
       EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len);
101
+#else
102
+      EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len);
103
+#endif
104
       dk->hash_buff_len = 0;
105
     }
106
     /* buffer hack */
107
@@ -1746,11 +1782,19 @@ DK_STAT dk_end(DK *dk, DK_FLAGS *dkf)
108
     //clean out hash buffer
109
     dk->hash_buff[dk->hash_buff_len++] = '\r';
110
     dk->hash_buff[dk->hash_buff_len++] = '\n';
111
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
112
     EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len);
113
+#else
114
+    EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len);
115
+#endif
116
     dk->hash_buff_len = 0;
117
 #else
118
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
119
     EVP_DigestUpdate(&dk->mdctx, "\r\n", 2);
120
+#else
121
+    EVP_DigestUpdate(dk->mdctx, "\r\n", 2);
122
 #endif
123
+#endif
124
 #ifdef DK_DEBUG
125
     fprintf(stderr,"\r\n");
126
 #endif
127
@@ -1949,7 +1993,11 @@ DK_STAT dk_end(DK *dk, DK_FLAGS *dkf)
128
       }
129
 
130
       /* using that key, verify that the digest is properly signed */
131
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
132
       i = EVP_VerifyFinal(&dk->mdctx, md_value, md_len, publickey);
133
+#else
134
+      i = EVP_VerifyFinal(dk->mdctx, md_value, md_len, publickey);
135
+#endif
136
 
137
       if (i > 0)
138
       {
139
@@ -2058,7 +2106,11 @@ DK_STAT dk_getsig(DK *dk, void *privatekey, unsigned c
140
 
141
       siglen = EVP_PKEY_size(pkey);
142
       sig = (unsigned char*) OPENSSL_malloc(siglen);
143
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
144
       EVP_SignFinal(&dk->mdctx, sig, &siglen, pkey);
145
+#else
146
+      EVP_SignFinal(dk->mdctx, sig, &siglen, pkey);
147
+#endif
148
       EVP_PKEY_free(pkey);
149
 
150
       bio = BIO_new(BIO_s_mem());
151
@@ -2152,14 +2204,20 @@ DK_STAT dk_free(DK *dk, int doClearErrState)
152
 #ifdef DK_HASH_BUFF
153
   DK_MFREE(dk->hash_buff);
154
 #endif
155
+#if OPENSSL_VERSION_NUMBER < 0x1010000fL
156
   EVP_MD_CTX_cleanup(&dk->mdctx);
157
+#else
158
+  EVP_MD_CTX_free(dk->mdctx);
159
+#endif
160
   DK_MFREE(dk->header);   /* alloc'ing dk->header is not optional. */
161
   dk->dkmarker = ~DKMARK;
162
   DK_MFREE(dk);
163
 
164
   if (doClearErrState)
165
   {
166
+#ifdef HAVE_ERR_REMOVE_STATE
167
      ERR_remove_state(0);
168
+#endif
169
   }
170
   return DK_STAT_OK;
171
 }

Return to bug 232133