From: Thomas Petazzoni Date: Sun, 9 Sep 2018 13:56:48 +0000 (+0200) Subject: libtorrent: use patch file names generated by git format-patch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d7abf197e21bdc0818aab34fde3d4d0a4d7b4bc0;p=buildroot.git libtorrent: use patch file names generated by git format-patch Signed-off-by: Thomas Petazzoni --- diff --git a/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch b/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch new file mode 100644 index 0000000000..ba0c6127af --- /dev/null +++ b/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch @@ -0,0 +1,54 @@ +From c99179777d8f4cf69c51378b91ae580c49cb57a2 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Mon, 5 Oct 2015 00:40:25 +0100 +Subject: [PATCH] Fix cross compilation, based on OpenWRT patch. + +[Vincent: tweak the patch for version 0.13.6] +[Bernd: tweak the patch for version 0.13.7] + +Signed-off-by: Gustavo Zacarias +Signed-off-by: Vicente Olivert Riera +Signed-off-by: Bernd Kuhls +--- + scripts/checks.m4 | 2 +- + scripts/common.m4 | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/checks.m4 b/scripts/checks.m4 +index 8d77fc5e..c446995b 100644 +--- a/scripts/checks.m4 ++++ b/scripts/checks.m4 +@@ -96,7 +96,7 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [ + AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [ + AC_MSG_CHECKING(whether kqueue supports pipes and ptys) + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include + #include + #include +diff --git a/scripts/common.m4 b/scripts/common.m4 +index ff023928..932b205c 100644 +--- a/scripts/common.m4 ++++ b/scripts/common.m4 +@@ -153,7 +153,7 @@ dnl Need to fix this so that it uses the stuff defined by the system. + AC_DEFUN([TORRENT_CHECK_EXECINFO], [ + AC_MSG_CHECKING(for execinfo.h) + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include + int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} + ])], +@@ -168,7 +168,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [ + AC_DEFUN([TORRENT_CHECK_ALIGNED], [ + AC_MSG_CHECKING(the byte alignment) + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include + int main() { + char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 }; +-- +2.14.4 + diff --git a/package/libtorrent/0001-cross_compile.patch b/package/libtorrent/0001-cross_compile.patch deleted file mode 100644 index 9febfa7f3c..0000000000 --- a/package/libtorrent/0001-cross_compile.patch +++ /dev/null @@ -1,55 +0,0 @@ -From c4cc0ba76c81e1967c648be423f5f0312ac9d87f Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Mon, 5 Oct 2015 00:40:25 +0100 -Subject: [PATCH] Fix cross compilation, based on OpenWRT patch. - -[Vincent: tweak the patch for version 0.13.6] -[Bernd: tweak the patch for version 0.13.7] - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Vicente Olivert Riera -Signed-off-by: Bernd Kuhls ---- - configure.ac | 1 - - scripts/checks.m4 | 2 +- - scripts/common.m4 | 4 ++-- - 3 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/scripts/checks.m4 b/scripts/checks.m4 -index 598f39b..0e5abe0 100644 ---- a/scripts/checks.m4 -+++ b/scripts/checks.m4 -@@ -96,7 +96,7 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [ - AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [ - AC_MSG_CHECKING(whether kqueue supports pipes and ptys) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - #include - #include -diff --git a/scripts/common.m4 b/scripts/common.m4 -index 5127624..cc68269 100644 ---- a/scripts/common.m4 -+++ b/scripts/common.m4 -@@ -223,7 +223,7 @@ dnl Need to fix this so that it uses the stuff defined by the system. - AC_DEFUN([TORRENT_CHECK_EXECINFO], [ - AC_MSG_CHECKING(for execinfo.h) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} - ])], -@@ -238,7 +238,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [ - AC_DEFUN([TORRENT_CHECK_ALIGNED], [ - AC_MSG_CHECKING(the byte alignment) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main() { - char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 }; --- -1.7.1 - diff --git a/package/libtorrent/0002-Added-support-for-openssl-1.1.patch b/package/libtorrent/0002-Added-support-for-openssl-1.1.patch new file mode 100644 index 0000000000..463c8ac9bc --- /dev/null +++ b/package/libtorrent/0002-Added-support-for-openssl-1.1.patch @@ -0,0 +1,112 @@ +From 9af3be81c75b44415a6e7efe19f8f89d55091f84 Mon Sep 17 00:00:00 2001 +From: rakshasa +Date: Tue, 20 Dec 2016 19:51:02 +0900 +Subject: [PATCH] Added support for openssl 1.1. + +Downloaded from upstream commit +https://github.com/rakshasa/libtorrent/commit/7b29b6bd2547e72e22b9b7981df27092842d2a10 + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 4 ++++ + src/utils/diffie_hellman.cc | 36 ++++++++++++++++++++++++++++++++++-- + 2 files changed, 38 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5b1ea237..b885714d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,12 +71,15 @@ AC_ARG_ENABLE(openssl, + [ --disable-openssl Don't use OpenSSL's SHA1 implementation.], + [ + if test "$enableval" = "yes"; then ++dnl move to scripts. + PKG_CHECK_MODULES(OPENSSL, libcrypto, + CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; + LIBS="$LIBS $OPENSSL_LIBS") + + AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) + AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) ++ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) ++ + else + AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.) + fi +@@ -87,6 +90,7 @@ AC_ARG_ENABLE(openssl, + + AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) + AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) ++ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) + ] + ) + +diff --git a/src/utils/diffie_hellman.cc b/src/utils/diffie_hellman.cc +index aa653d45..7ec13165 100644 +--- a/src/utils/diffie_hellman.cc ++++ b/src/utils/diffie_hellman.cc +@@ -54,11 +54,23 @@ DiffieHellman::DiffieHellman(const unsigned char *prime, int primeLength, + m_secret(NULL), m_size(0) { + + #ifdef USE_OPENSSL ++ + m_dh = DH_new(); ++ ++#ifdef USE_OPENSSL_1_1 ++ BIGNUM * const dh_p = BN_bin2bn(prime, primeLength, NULL); ++ BIGNUM * const dh_g = BN_bin2bn(generator, generatorLength, NULL); ++ ++ if (dh_p == NULL || dh_g == NULL || ++ !DH_set0_pqg(m_dh, dh_p, NULL, dh_g)) ++ throw internal_error("Could not generate Diffie-Hellman parameters"); ++#else + m_dh->p = BN_bin2bn(prime, primeLength, NULL); + m_dh->g = BN_bin2bn(generator, generatorLength, NULL); ++#endif + + DH_generate_key(m_dh); ++ + #else + throw internal_error("Compiled without encryption support."); + #endif +@@ -74,7 +86,19 @@ DiffieHellman::~DiffieHellman() { + bool + DiffieHellman::is_valid() const { + #ifdef USE_OPENSSL ++ if (m_dh == NULL) ++ return false; ++ ++#ifdef USE_OPENSSL_1_1 ++ const BIGNUM *pub_key; ++ ++ DH_get0_key(m_dh, &pub_key, NULL); ++ ++ return pub_key != NULL; ++#else + return m_dh != NULL && m_dh->pub_key != NULL; ++#endif ++ + #else + return false; + #endif +@@ -103,8 +127,16 @@ DiffieHellman::store_pub_key(unsigned char* dest, unsigned int length) { + #ifdef USE_OPENSSL + std::memset(dest, 0, length); + +- if ((int)length >= BN_num_bytes(m_dh->pub_key)) +- BN_bn2bin(m_dh->pub_key, dest + length - BN_num_bytes(m_dh->pub_key)); ++ const BIGNUM *pub_key; ++ ++#ifdef USE_OPENSSL_1_1 ++ DH_get0_key(m_dh, &pub_key, NULL); ++#else ++ pub_key = m_dh->pub_key; ++#endif ++ ++ if ((int)length >= BN_num_bytes(pub_key)) ++ BN_bn2bin(pub_key, dest + length - BN_num_bytes(pub_key)); + #endif + } + +-- +2.14.4 + diff --git a/package/libtorrent/0002-openssl110.patch b/package/libtorrent/0002-openssl110.patch deleted file mode 100644 index b0cfc2deef..0000000000 --- a/package/libtorrent/0002-openssl110.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 7b29b6bd2547e72e22b9b7981df27092842d2a10 Mon Sep 17 00:00:00 2001 -From: rakshasa -Date: Tue, 20 Dec 2016 19:51:02 +0900 -Subject: [PATCH] Added support for openssl 1.1. - -Downloaded from upstream commit -https://github.com/rakshasa/libtorrent/commit/7b29b6bd2547e72e22b9b7981df27092842d2a10 - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 4 ++++ - src/utils/diffie_hellman.cc | 36 ++++++++++++++++++++++++++++++++++-- - 2 files changed, 38 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5b1ea237..b885714d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -71,12 +71,15 @@ AC_ARG_ENABLE(openssl, - [ --disable-openssl Don't use OpenSSL's SHA1 implementation.], - [ - if test "$enableval" = "yes"; then -+dnl move to scripts. - PKG_CHECK_MODULES(OPENSSL, libcrypto, - CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; - LIBS="$LIBS $OPENSSL_LIBS") - - AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) - AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) -+ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) -+ - else - AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.) - fi -@@ -87,6 +90,7 @@ AC_ARG_ENABLE(openssl, - - AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) - AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) -+ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) - ] - ) - -diff --git a/src/utils/diffie_hellman.cc b/src/utils/diffie_hellman.cc -index aa653d45..7ec13165 100644 ---- a/src/utils/diffie_hellman.cc -+++ b/src/utils/diffie_hellman.cc -@@ -54,11 +54,23 @@ DiffieHellman::DiffieHellman(const unsigned char *prime, int primeLength, - m_secret(NULL), m_size(0) { - - #ifdef USE_OPENSSL -+ - m_dh = DH_new(); -+ -+#ifdef USE_OPENSSL_1_1 -+ BIGNUM * const dh_p = BN_bin2bn(prime, primeLength, NULL); -+ BIGNUM * const dh_g = BN_bin2bn(generator, generatorLength, NULL); -+ -+ if (dh_p == NULL || dh_g == NULL || -+ !DH_set0_pqg(m_dh, dh_p, NULL, dh_g)) -+ throw internal_error("Could not generate Diffie-Hellman parameters"); -+#else - m_dh->p = BN_bin2bn(prime, primeLength, NULL); - m_dh->g = BN_bin2bn(generator, generatorLength, NULL); -+#endif - - DH_generate_key(m_dh); -+ - #else - throw internal_error("Compiled without encryption support."); - #endif -@@ -74,7 +86,19 @@ DiffieHellman::~DiffieHellman() { - bool - DiffieHellman::is_valid() const { - #ifdef USE_OPENSSL -+ if (m_dh == NULL) -+ return false; -+ -+#ifdef USE_OPENSSL_1_1 -+ const BIGNUM *pub_key; -+ -+ DH_get0_key(m_dh, &pub_key, NULL); -+ -+ return pub_key != NULL; -+#else - return m_dh != NULL && m_dh->pub_key != NULL; -+#endif -+ - #else - return false; - #endif -@@ -103,8 +127,16 @@ DiffieHellman::store_pub_key(unsigned char* dest, unsigned int length) { - #ifdef USE_OPENSSL - std::memset(dest, 0, length); - -- if ((int)length >= BN_num_bytes(m_dh->pub_key)) -- BN_bn2bin(m_dh->pub_key, dest + length - BN_num_bytes(m_dh->pub_key)); -+ const BIGNUM *pub_key; -+ -+#ifdef USE_OPENSSL_1_1 -+ DH_get0_key(m_dh, &pub_key, NULL); -+#else -+ pub_key = m_dh->pub_key; -+#endif -+ -+ if ((int)length >= BN_num_bytes(pub_key)) -+ BN_bn2bin(pub_key, dest + length - BN_num_bytes(pub_key)); - #endif - } -