mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: adb: Make compatible with OpenSSL 1.1.
OpenSSL version 1.1 brought some API changes which broke the build here, fix that by accessing rsa->n (and e) directly, using RSA_get0_key instead. * gnu/packages/patches/adb-libssl_11-compatibility.patch: New file * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/android.scm (android-platform-system-core)[origin]: Use it. (adb)[inputs]: Replace openssl-1.0 with openssl.
This commit is contained in:
parent
ef9dc9efa4
commit
05effbbfc2
3 changed files with 38 additions and 1 deletions
|
@ -805,6 +805,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/abseil-cpp-fix-gtest.patch \
|
||||
%D%/packages/patches/abseil-cpp-fix-strerror_test.patch \
|
||||
%D%/packages/patches/adb-add-libraries.patch \
|
||||
%D%/packages/patches/adb-libssl_11-compatibility.patch \
|
||||
%D%/packages/patches/aegis-constness-error.patch \
|
||||
%D%/packages/patches/aegis-perl-tempdir1.patch \
|
||||
%D%/packages/patches/aegis-perl-tempdir2.patch \
|
||||
|
|
|
@ -148,6 +148,7 @@ (define-public (android-platform-system-core version)
|
|||
"libutils-remove-damaging-includes.patch"
|
||||
"libutils-add-includes.patch"
|
||||
"adb-add-libraries.patch"
|
||||
"adb-libssl_11-compatibility.patch"
|
||||
"libziparchive-add-includes.patch"))))
|
||||
|
||||
(define (android-platform-system-extras version)
|
||||
|
@ -388,7 +389,7 @@ (define-public adb
|
|||
`(("android-libbase" ,android-libbase)
|
||||
("android-libcutils" ,android-libcutils)
|
||||
("android-liblog" ,android-liblog)
|
||||
("openssl" ,openssl-1.0)))
|
||||
("openssl" ,openssl)))
|
||||
(home-page "https://developer.android.com/studio/command-line/adb.html")
|
||||
(synopsis "Android Debug Bridge")
|
||||
(description
|
||||
|
|
35
gnu/packages/patches/adb-libssl_11-compatibility.patch
Normal file
35
gnu/packages/patches/adb-libssl_11-compatibility.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
This patch is taken from Debian
|
||||
URL: https://sources.debian.org/data/main/a/android-platform-system-core/1%3A7.0.0%2Br33-1/debian/patches/adb_libssl_11.diff
|
||||
Description: adb: Make compatible with openssl 1.1
|
||||
OpenSSL version 1.1 brought some API changes which broke the build here,
|
||||
fix that by accessing rsa->n (and e) directly, using RSA_get0_key instead.
|
||||
Author: Chirayu Desai <chirayudesai1@gmail.com
|
||||
Last-Update: 2016-11-10
|
||||
--- a/adb/adb_auth_host.cpp
|
||||
+++ b/adb/adb_auth_host.cpp
|
||||
@@ -71,6 +71,7 @@
|
||||
BIGNUM* rem = BN_new();
|
||||
BIGNUM* n = BN_new();
|
||||
BIGNUM* n0inv = BN_new();
|
||||
+ BIGNUM* e = BN_new();
|
||||
|
||||
if (RSA_size(rsa) != RSANUMBYTES) {
|
||||
ret = 0;
|
||||
@@ -78,7 +79,7 @@
|
||||
}
|
||||
|
||||
BN_set_bit(r32, 32);
|
||||
- BN_copy(n, rsa->n);
|
||||
+ RSA_get0_key(rsa, &n, &e, NULL);
|
||||
BN_set_bit(r, RSANUMWORDS * 32);
|
||||
BN_mod_sqr(rr, r, n, ctx);
|
||||
BN_div(NULL, rem, n, r32, ctx);
|
||||
@@ -92,7 +93,7 @@
|
||||
BN_div(n, rem, n, r32, ctx);
|
||||
pkey->n[i] = BN_get_word(rem);
|
||||
}
|
||||
- pkey->exponent = BN_get_word(rsa->e);
|
||||
+ pkey->exponent = BN_get_word(e);
|
||||
|
||||
out:
|
||||
BN_free(n0inv);
|
Loading…
Reference in a new issue