GNU bug report logs -
#50029
[PATCH] adb, use openssl 1.1
Previous Next
Reported by: Giovanni Biscuolo <g <at> xelera.eu>
Date: Thu, 12 Aug 2021 17:06:02 UTC
Severity: normal
Tags: patch
Done: Leo Famulari <leo <at> famulari.name>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 50029 in the body.
You can then email your comments to 50029 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#50029
; Package
guix-patches
.
(Thu, 12 Aug 2021 17:06:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Giovanni Biscuolo <g <at> xelera.eu>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Thu, 12 Aug 2021 17:06:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello maintainers,
As promised in [bug#49859] I was able to assemble a patch for adb to use
openssl 1.1 instead of the old and unsopported openssl 1.0.
[0001-gnu-adb-Make-compatible-with-openssl-1.1.patch (text/x-diff, inline)]
From f0c275121a74d7c20b4383e3bb65d6c27ad7a0e7 Mon Sep 17 00:00:00 2001
From: Giovanni Biscuolo <g <at> xelera.eu>
Date: Thu, 12 Aug 2021 18:09:02 +0200
Subject: [PATCH] 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.
Patch from: https://sources.debian.org/data/main/a/android-platform-system-core/1%3A7.0.0%2Br33-1/debian/patches/adb_libssl_11.diff
* gnu/local.mk (dist_patch_DATA): Add adb-libssl_11-compat.patch
* gnu/packages/android.scm: (android-platform-system-core) Add
adb-libssl_11-compat.patch; (adb) Use openssl as input
* gnu/packages/patches/adb-libssl_11-compat.patch: New file
---
gnu/local.mk | 1 +
gnu/packages/android.scm | 3 +-
.../patches/adb-libssl_11-compat.patch | 35 +++++++++++++++++++
3 files changed, 38 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/adb-libssl_11-compat.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 32ac19d20e..ba6b7732c4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -806,6 +806,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-compat.patch \
%D%/packages/patches/aegis-constness-error.patch \
%D%/packages/patches/aegis-perl-tempdir1.patch \
%D%/packages/patches/aegis-perl-tempdir2.patch \
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index eb538f6540..43cd9b72f9 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -148,6 +148,7 @@ use their packages mostly unmodified in our Android NDK build system.")
"libutils-remove-damaging-includes.patch"
"libutils-add-includes.patch"
"adb-add-libraries.patch"
+ "adb-libssl_11-compat.patch"
"libziparchive-add-includes.patch"))))
(define (android-platform-system-extras version)
@@ -388,7 +389,7 @@ various Android core host applications.")
`(("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
diff --git a/gnu/packages/patches/adb-libssl_11-compat.patch b/gnu/packages/patches/adb-libssl_11-compat.patch
new file mode 100644
index 0000000000..9affe58b5d
--- /dev/null
+++ b/gnu/packages/patches/adb-libssl_11-compat.patch
@@ -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 <at> 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);
--
2.32.0
[Message part 3 (text/plain, inline)]
As described in the patch, I got the patch from Debian [1] and
fortunately it applies as-is! (I'm not able to asses the code but I'm
pretty sure Debian maintener did it for me).
I was able to build and install the package and tested it by connecting
to my Android phone with adb via wi-fi: is this a viable test to check
if the patch is OK?
Happy hacking! Gio'
[1] https://sources.debian.org/data/main/a/android-platform-system-core/1%3A7.0.0%2Br33-1/debian/patches/adb_libssl_11.diff
--
Giovanni Biscuolo
Xelera IT Infrastructures
[signature.asc (application/pgp-signature, inline)]
Added indication that bug 50029 blocks46602
Request was from
"Leo Famulari" <leo <at> famulari.name>
to
control <at> debbugs.gnu.org
.
(Sun, 15 Aug 2021 17:44:01 GMT)
Full text and
rfc822 format available.
Reply sent
to
Leo Famulari <leo <at> famulari.name>
:
You have taken responsibility.
(Sun, 15 Aug 2021 22:10:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Giovanni Biscuolo <g <at> xelera.eu>
:
bug acknowledged by developer.
(Sun, 15 Aug 2021 22:10:01 GMT)
Full text and
rfc822 format available.
Message #12 received at 50029-done <at> debbugs.gnu.org (full text, mbox):
On Thu, Aug 12, 2021 at 07:04:42PM +0200, Giovanni Biscuolo wrote:
> Hello maintainers,
>
> As promised in [bug#49859] I was able to assemble a patch for adb to use
> openssl 1.1 instead of the old and unsopported openssl 1.0.
Awesome!
> From f0c275121a74d7c20b4383e3bb65d6c27ad7a0e7 Mon Sep 17 00:00:00 2001
> From: Giovanni Biscuolo <g <at> xelera.eu>
> Date: Thu, 12 Aug 2021 18:09:02 +0200
> Subject: [PATCH] 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.
>
> Patch from: https://sources.debian.org/data/main/a/android-platform-system-core/1%3A7.0.0%2Br33-1/debian/patches/adb_libssl_11.diff
>
> * gnu/local.mk (dist_patch_DATA): Add adb-libssl_11-compat.patch
>
> * gnu/packages/android.scm: (android-platform-system-core) Add
> adb-libssl_11-compat.patch; (adb) Use openssl as input
>
> * gnu/packages/patches/adb-libssl_11-compat.patch: New file
I cleaned up the commit message and renamed the patch to
adb-libssl_11-compatibility.patch and pushed as
05effbbfc2fc6223aafacf8a3cb2b2d970b6bb66
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 13 Sep 2021 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 278 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.