1 |
commit: b2131c03d0113af2bc2e404c0ba69100ce859a6a |
2 |
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Nov 7 22:28:41 2019 +0000 |
4 |
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Nov 7 22:28:41 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2131c03 |
7 |
|
8 |
dev-perl/Crypt-OpenSSL-ECDSA: Remove old |
9 |
|
10 |
Closes: https://bugs.gentoo.org/639968 |
11 |
Package-Manager: Portage-2.3.78, Repoman-2.3.17 |
12 |
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org> |
13 |
|
14 |
.../Crypt-OpenSSL-ECDSA-0.80.0-r1.ebuild | 26 --- |
15 |
...L-ECDSA-0.80.0-0001-Port-to-OpenSSL-1.1.0.patch | 193 --------------------- |
16 |
2 files changed, 219 deletions(-) |
17 |
|
18 |
diff --git a/dev-perl/Crypt-OpenSSL-ECDSA/Crypt-OpenSSL-ECDSA-0.80.0-r1.ebuild b/dev-perl/Crypt-OpenSSL-ECDSA/Crypt-OpenSSL-ECDSA-0.80.0-r1.ebuild |
19 |
deleted file mode 100644 |
20 |
index fbb5956d64c..00000000000 |
21 |
--- a/dev-perl/Crypt-OpenSSL-ECDSA/Crypt-OpenSSL-ECDSA-0.80.0-r1.ebuild |
22 |
+++ /dev/null |
23 |
@@ -1,26 +0,0 @@ |
24 |
-# Copyright 1999-2019 Gentoo Authors |
25 |
-# Distributed under the terms of the GNU General Public License v2 |
26 |
- |
27 |
-EAPI=6 |
28 |
- |
29 |
-DIST_AUTHOR=MIKEM |
30 |
-DIST_VERSION=0.08 |
31 |
-inherit perl-module |
32 |
- |
33 |
-DESCRIPTION="OpenSSL ECDSA (Elliptic Curve Digital Signature Algorithm) Perl extension" |
34 |
-SLOT="0" |
35 |
-KEYWORDS="~amd64 ~x86" |
36 |
-IUSE="libressl" |
37 |
- |
38 |
-RDEPEND=" |
39 |
- >=dev-perl/Crypt-OpenSSL-EC-0.50.0 |
40 |
- !libressl? ( dev-libs/openssl:0 ) |
41 |
- libressl? ( dev-libs/libressl ) |
42 |
-" |
43 |
-DEPEND="${RDEPEND} |
44 |
- virtual/perl-ExtUtils-MakeMaker |
45 |
-" |
46 |
- |
47 |
-PATCHES=( |
48 |
- "${FILESDIR}/${P}-0001-Port-to-OpenSSL-1.1.0.patch" |
49 |
-) |
50 |
|
51 |
diff --git a/dev-perl/Crypt-OpenSSL-ECDSA/files/Crypt-OpenSSL-ECDSA-0.80.0-0001-Port-to-OpenSSL-1.1.0.patch b/dev-perl/Crypt-OpenSSL-ECDSA/files/Crypt-OpenSSL-ECDSA-0.80.0-0001-Port-to-OpenSSL-1.1.0.patch |
52 |
deleted file mode 100644 |
53 |
index 071e60caefd..00000000000 |
54 |
--- a/dev-perl/Crypt-OpenSSL-ECDSA/files/Crypt-OpenSSL-ECDSA-0.80.0-0001-Port-to-OpenSSL-1.1.0.patch |
55 |
+++ /dev/null |
56 |
@@ -1,193 +0,0 @@ |
57 |
-From 7a707a2bb0b0c6de1eb98cef74a5d1016f0e8c9a Mon Sep 17 00:00:00 2001 |
58 |
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@××××××.com> |
59 |
-Date: Tue, 11 Oct 2016 16:15:43 +0200 |
60 |
-Subject: [PATCH] Port to OpenSSL 1.1.0 |
61 |
-MIME-Version: 1.0 |
62 |
-Content-Type: text/plain; charset=UTF-8 |
63 |
-Content-Transfer-Encoding: 8bit |
64 |
- |
65 |
-OpenSSL 1.1.0 hid ECDSA structure internals and provided methods |
66 |
-instead. |
67 |
- |
68 |
-This patch uses the methods and provides their copies in the case of |
69 |
-older OpenSSL. Because the new OpenSSL API, ECDSA_SIG_set0(), cannot |
70 |
-set curve parameters individually and ECDSA_SIG_get0() returns yet |
71 |
-another reference, it's necessary to duplicate the other unchanged |
72 |
-paramater when calling set_r() or set_s(). |
73 |
- |
74 |
-This patch also stops exporting ECDSA_METHOD functions that were |
75 |
-removed from the new OpenSSL. |
76 |
- |
77 |
-CPAN RT#118330 |
78 |
- |
79 |
-Signed-off-by: Petr Písař <ppisar@××××××.com> |
80 |
---- |
81 |
- ECDSA.xs | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------- |
82 |
- 1 file changed, 61 insertions(+), 17 deletions(-) |
83 |
- |
84 |
-diff --git a/ECDSA.xs b/ECDSA.xs |
85 |
-index 4016368..648303e 100644 |
86 |
---- a/ECDSA.xs |
87 |
-+++ b/ECDSA.xs |
88 |
-@@ -7,9 +7,34 @@ |
89 |
- |
90 |
- #include <openssl/ecdsa.h> |
91 |
- #include <openssl/err.h> |
92 |
-+#include <openssl/bn.h> |
93 |
- |
94 |
- #include "const-c.inc" |
95 |
- |
96 |
-+ |
97 |
-+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x2070000fL |
98 |
-+#include <openssl/ec.h> |
99 |
-+#else |
100 |
-+static void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, |
101 |
-+ const BIGNUM **ps) { |
102 |
-+ if (pr != NULL) |
103 |
-+ *pr = sig->r; |
104 |
-+ if (ps != NULL) |
105 |
-+ *ps = sig->s; |
106 |
-+} |
107 |
-+ |
108 |
-+static int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) |
109 |
-+{ |
110 |
-+ if (r == NULL || s == NULL) |
111 |
-+ return 0; |
112 |
-+ BN_clear_free(sig->r); |
113 |
-+ BN_clear_free(sig->s); |
114 |
-+ sig->r = r; |
115 |
-+ sig->s = s; |
116 |
-+ return 1; |
117 |
-+} |
118 |
-+#endif |
119 |
-+ |
120 |
- MODULE = Crypt::OpenSSL::ECDSA PACKAGE = Crypt::OpenSSL::ECDSA |
121 |
- |
122 |
- PROTOTYPES: ENABLE |
123 |
-@@ -17,7 +42,9 @@ INCLUDE: const-xs.inc |
124 |
- |
125 |
- BOOT: |
126 |
- ERR_load_crypto_strings(); |
127 |
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && OPENSSL_VERSION_NUMBER < 0x10100000L |
128 |
- ERR_load_ECDSA_strings(); |
129 |
-+#endif |
130 |
- |
131 |
- #ECDSA_SIG * |
132 |
- #ECDSA_SIG_new() |
133 |
-@@ -61,10 +88,16 @@ ECDSA_do_verify(const unsigned char *dgst, const ECDSA_SIG *sig, EC_KEY* eckey); |
134 |
- OUTPUT: |
135 |
- RETVAL |
136 |
- |
137 |
--# These ECDSA_METHOD functions only became available in 1.0.2 |
138 |
-+# These ECDSA_METHOD functions only became available in 1.0.2, |
139 |
-+# but some of them removed again in 1.1.0. |
140 |
- |
141 |
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L |
142 |
- |
143 |
-+int |
144 |
-+ECDSA_size(const EC_KEY *eckey) |
145 |
-+ |
146 |
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L |
147 |
-+ |
148 |
- const ECDSA_METHOD * |
149 |
- ECDSA_OpenSSL() |
150 |
- |
151 |
-@@ -77,9 +110,6 @@ ECDSA_get_default_method() |
152 |
- int |
153 |
- ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth) |
154 |
- |
155 |
--int |
156 |
--ECDSA_size(const EC_KEY *eckey) |
157 |
-- |
158 |
- ECDSA_METHOD * |
159 |
- ECDSA_METHOD_new(ECDSA_METHOD *ecdsa_method=0) |
160 |
- |
161 |
-@@ -95,7 +125,7 @@ ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name) |
162 |
- void |
163 |
- ERR_load_ECDSA_strings() |
164 |
- |
165 |
-- |
166 |
-+#endif |
167 |
- #endif |
168 |
- |
169 |
- |
170 |
-@@ -135,11 +165,13 @@ SV * |
171 |
- get_r(ecdsa_sig) |
172 |
- ECDSA_SIG *ecdsa_sig |
173 |
- PREINIT: |
174 |
-+ const BIGNUM *r; |
175 |
- unsigned char *to; |
176 |
- STRLEN len; |
177 |
- CODE: |
178 |
- to = malloc(sizeof(char) * 128); |
179 |
-- len = BN_bn2bin(ecdsa_sig->r, to); |
180 |
-+ ECDSA_SIG_get0(ecdsa_sig, &r, NULL); |
181 |
-+ len = BN_bn2bin(r, to); |
182 |
- RETVAL = newSVpvn((const char*)to, len); |
183 |
- free(to); |
184 |
- OUTPUT: |
185 |
-@@ -149,11 +181,13 @@ SV * |
186 |
- get_s(ecdsa_sig) |
187 |
- ECDSA_SIG *ecdsa_sig |
188 |
- PREINIT: |
189 |
-+ const BIGNUM *s; |
190 |
- unsigned char *to; |
191 |
- STRLEN len; |
192 |
- CODE: |
193 |
- to = malloc(sizeof(char) * 128); |
194 |
-- len = BN_bn2bin(ecdsa_sig->s, to); |
195 |
-+ ECDSA_SIG_get0(ecdsa_sig, NULL, &s); |
196 |
-+ len = BN_bn2bin(s, to); |
197 |
- RETVAL = newSVpvn((const char*)to, len); |
198 |
- free(to); |
199 |
- OUTPUT: |
200 |
-@@ -164,26 +198,36 @@ set_r(ecdsa_sig, r_SV) |
201 |
- ECDSA_SIG *ecdsa_sig |
202 |
- SV * r_SV |
203 |
- PREINIT: |
204 |
-- char *s; |
205 |
-+ char *string; |
206 |
- STRLEN len; |
207 |
-+ BIGNUM *r; |
208 |
-+ BIGNUM *s; |
209 |
- CODE: |
210 |
-- s = SvPV(r_SV, len); |
211 |
-- if (ecdsa_sig->r) |
212 |
-- BN_free(ecdsa_sig->r); |
213 |
-- ecdsa_sig->r = BN_bin2bn((const unsigned char *)s, len, NULL); |
214 |
-+ string = SvPV(r_SV, len); |
215 |
-+ r = BN_bin2bn((const unsigned char *)string, len, NULL); |
216 |
-+ ECDSA_SIG_get0(ecdsa_sig, NULL, (const BIGNUM**)&s); |
217 |
-+ s = BN_dup(s); |
218 |
-+ if (NULL == s) |
219 |
-+ croak("Could not duplicate unchanged ECDSA paramater"); |
220 |
-+ ECDSA_SIG_set0(ecdsa_sig, r, s); |
221 |
- |
222 |
- void |
223 |
- set_s(ecdsa_sig, s_SV) |
224 |
- ECDSA_SIG *ecdsa_sig |
225 |
- SV * s_SV |
226 |
- PREINIT: |
227 |
-- char *s; |
228 |
-+ char *string; |
229 |
- STRLEN len; |
230 |
-+ BIGNUM *r; |
231 |
-+ BIGNUM *s; |
232 |
- CODE: |
233 |
-- s = SvPV(s_SV, len); |
234 |
-- if (ecdsa_sig->s) |
235 |
-- BN_free(ecdsa_sig->s); |
236 |
-- ecdsa_sig->s = BN_bin2bn((const unsigned char *)s, len, NULL); |
237 |
-+ string = SvPV(s_SV, len); |
238 |
-+ s = BN_bin2bn((const unsigned char *)string, len, NULL); |
239 |
-+ ECDSA_SIG_get0(ecdsa_sig, (const BIGNUM**)&r, NULL); |
240 |
-+ r = BN_dup(r); |
241 |
-+ if (NULL == r) |
242 |
-+ croak("Could not duplicate unchanged ECDSA paramater"); |
243 |
-+ ECDSA_SIG_set0(ecdsa_sig, r, s); |
244 |
- |
245 |
- |
246 |
- |
247 |
--- |
248 |
-2.7.4 |
249 |
- |