1*4882a593SmuzhiyunFrom bb3da0e32be4f2260940edf3ee0f88103dfd0dcc Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Eneas U de Queiroz <cote2004-github@yahoo.com>
3*4882a593SmuzhiyunDate: Tue, 5 Feb 2019 01:12:19 +0200
4*4882a593SmuzhiyunSubject: [PATCH] adb: added patch for openssl 1.1.0 compatibility
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunSigned-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun[Vadim: took only adb related part from
9*4882a593Smuzhiyunhttps://github.com/lede-project/source/commit/f63f20fb93c7e67775cb01d97fc88b5b29452b81]
10*4882a593SmuzhiyunSigned-off-by: Vadim Kochan <vadim4j@gmail.com>
11*4882a593Smuzhiyun---
12*4882a593Smuzhiyun core/adb/adb_auth_host.c | 10 ++++++++++
13*4882a593Smuzhiyun 1 file changed, 10 insertions(+)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundiff --git a/core/adb/adb_auth_host.c b/core/adb/adb_auth_host.c
16*4882a593Smuzhiyunindex 9039d42..debd2ef 100644
17*4882a593Smuzhiyun--- a/core/adb/adb_auth_host.c
18*4882a593Smuzhiyun+++ b/core/adb/adb_auth_host.c
19*4882a593Smuzhiyun@@ -79,7 +79,13 @@ static int RSA_to_RSAPublicKey(RSA *rsa, RSAPublicKey *pkey)
20*4882a593Smuzhiyun     }
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun     BN_set_bit(r32, 32);
23*4882a593Smuzhiyun+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
24*4882a593Smuzhiyun+    const BIGNUM *rsa_n, *rsa_e;
25*4882a593Smuzhiyun+    RSA_get0_key(rsa, &rsa_n, &rsa_e, NULL);
26*4882a593Smuzhiyun+    BN_copy(n, rsa_n);
27*4882a593Smuzhiyun+#else
28*4882a593Smuzhiyun     BN_copy(n, rsa->n);
29*4882a593Smuzhiyun+#endif
30*4882a593Smuzhiyun     BN_set_bit(r, RSANUMWORDS * 32);
31*4882a593Smuzhiyun     BN_mod_sqr(rr, r, n, ctx);
32*4882a593Smuzhiyun     BN_div(NULL, rem, n, r32, ctx);
33*4882a593Smuzhiyun@@ -93,7 +99,11 @@ static int RSA_to_RSAPublicKey(RSA *rsa, RSAPublicKey *pkey)
34*4882a593Smuzhiyun         BN_div(n, rem, n, r32, ctx);
35*4882a593Smuzhiyun         pkey->n[i] = BN_get_word(rem);
36*4882a593Smuzhiyun     }
37*4882a593Smuzhiyun+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
38*4882a593Smuzhiyun+    pkey->exponent = BN_get_word(rsa_e);
39*4882a593Smuzhiyun+#else
40*4882a593Smuzhiyun     pkey->exponent = BN_get_word(rsa->e);
41*4882a593Smuzhiyun+#endif
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun out:
44*4882a593Smuzhiyun     BN_free(n0inv);
45*4882a593Smuzhiyun--
46*4882a593Smuzhiyun2.14.1
47*4882a593Smuzhiyun
48