aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/adb/patches/010-openssl-1.1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/adb/patches/010-openssl-1.1.patch')
-rw-r--r--package/utils/adb/patches/010-openssl-1.1.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/utils/adb/patches/010-openssl-1.1.patch b/package/utils/adb/patches/010-openssl-1.1.patch
new file mode 100644
index 0000000000..e4df372a34
--- /dev/null
+++ b/package/utils/adb/patches/010-openssl-1.1.patch
@@ -0,0 +1,28 @@
+--- a/adb/adb_auth_host.c
++++ b/adb/adb_auth_host.c
+@@ -83,7 +83,13 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
+ }
+
+ BN_set_bit(r32, 32);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ const BIGNUM *rsa_n, *rsa_e;
++ RSA_get0_key(rsa, &rsa_n, &rsa_e, NULL);
++ BN_copy(n, rsa_n);
++#else
+ BN_copy(n, rsa->n);
++#endif
+ BN_set_bit(r, RSANUMWORDS * 32);
+ BN_mod_sqr(rr, r, n, ctx);
+ BN_div(NULL, rem, n, r32, ctx);
+@@ -97,7 +103,11 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
+ BN_div(n, rem, n, r32, ctx);
+ pkey->n[i] = BN_get_word(rem);
+ }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ pkey->exponent = BN_get_word(rsa_e);
++#else
+ pkey->exponent = BN_get_word(rsa->e);
++#endif
+
+ out:
+ BN_free(n0inv);