From df826eb5cd94775b9614ba1c3c1599720b54c955 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sun, 12 Sep 2021 20:47:24 +0200 Subject: [PATCH] package/libssh2: bump to version 1.10.0 - Drop patches (already in version) and so autoreconf - Update hash of COPYING due to updates in year and authors with https://github.com/libssh2/libssh2/commit/53ff2e6da450ac1801704b35b3360c9488161342 https://github.com/libssh2/libssh2/commit/c998f79384116e9f6633cb69c2731c60d3a442bb https://github.com/libssh2/libssh2/commit/635caa90787220ac3773c1d5ba11f1236c22eae8 - Update indentation in hash file (two spaces) https://www.libssh2.org/changes.html#1.10.0 Signed-off-by: Fabrice Fontaine Signed-off-by: Peter Korsgaard --- .../0001-drop-custom-buildconf-script.patch | 97 ------------- ...002-acinclude.m4-add-mbedtls-to-LIBS.patch | 35 ----- ...003-packet-c-improve-message-parsing.patch | 127 ------------------ package/libssh2/libssh2.hash | 4 +- package/libssh2/libssh2.mk | 8 +- 5 files changed, 3 insertions(+), 268 deletions(-) delete mode 100644 package/libssh2/0001-drop-custom-buildconf-script.patch delete mode 100644 package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch delete mode 100644 package/libssh2/0003-packet-c-improve-message-parsing.patch diff --git a/package/libssh2/0001-drop-custom-buildconf-script.patch b/package/libssh2/0001-drop-custom-buildconf-script.patch deleted file mode 100644 index bf187b26a8..0000000000 --- a/package/libssh2/0001-drop-custom-buildconf-script.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 39a2a444a32896bd2dab37c9b247ccfd11ff4693 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Mon, 30 Oct 2017 19:29:12 +0100 -Subject: [PATCH] buildsystem: drop custom buildconf script, rely on autoreconf - -The buildconf script is currently required, because we need to copy a -header around, because it is used both from the library and the examples -sources. - -However, having a custom 'buildconf'-like script is not needed if we can -ensure that the header / exists by the time it is needed. For That, we -can just append the src/ directory to the headers search path for the -examples. - -And then it means we no longer need to generate the same header twice, -so we remove the second one from configure.ac. - -Now, we can just call "autoreconf -fi" to generate the autotools files, -instead of relying on the canned sequence in "buildconf", since -autoreconf has now long known what to do at the correct moment (future -versions of autotools, automake, autopoint, autoheader etc... may -require an other ordering, or other intermediate steps, etc...). - -Eventually, get rid of buildconf now it is no longer needed. In fact, we -really keep it for legacy, but have it just call autoreconf (and print a -nice user-friendly warning). - -Update gitignore accordingly, too. - -Signed-off-by: "Yann E. MORIN" -Cc: Sam Voss -[Fabrice: Remove .gitignore so patch applies on 1.9.0] -Signed-off-by: Fabrice Fontaine ---- - .gitignore | 2 ++ - buildconf | 24 +++++------------------- - configure.ac | 2 +- - example/.gitignore | 2 -- - example/Makefile.am | 2 +- - 5 files changed, 9 insertions(+), 23 deletions(-) - -diff --git a/buildconf b/buildconf -index 558dcb66..728b3397 100755 ---- a/buildconf -+++ b/buildconf -@@ -1,22 +1,8 @@ - #!/bin/sh - --LIBTOOLIZE="libtoolize" -+echo "***" >&2 -+echo "*** Do not use buildconf. Instead, just use: autoreconf -fi" >&2 -+echo "*** Doing it for you now, but buildconf may disapear in the future." >&2 -+echo "***" >&2 - --if [ "x`which $LIBTOOLIZE`" = "x" ]; then -- LIBTOOLIZE="glibtoolize" --fi -- --if [ "x`which $LIBTOOLIZE`" = "x" ]; then -- echo "Neither libtoolize nor glibtoolize could be found!" -- exit 1 --fi -- --${LIBTOOLIZE} --copy --automake --force --${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS --${AUTOHEADER:-autoheader} --# copy the private libssh2_config.h.in to the examples dir so that --# it can be included without pointing the include path to the private --# source dir --cp src/libssh2_config.h.in example/libssh2_config.h.in --${AUTOCONF:-autoconf} --${AUTOMAKE:-automake} --add-missing --copy -+${AUTORECONF:-autoreconf} -fi "${@}" -diff --git a/configure.ac b/configure.ac -index c6ff7535..6939d0d6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2,7 +2,7 @@ - AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se) - AC_CONFIG_MACRO_DIR([m4]) - AC_CONFIG_SRCDIR([src]) --AC_CONFIG_HEADERS([src/libssh2_config.h example/libssh2_config.h]) -+AC_CONFIG_HEADERS([src/libssh2_config.h]) - AM_MAINTAINER_MODE - m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -diff --git a/example/Makefile.am b/example/Makefile.am -index 5cf5f071..41f65b12 100644 ---- a/example/Makefile.am -+++ b/example/Makefile.am -@@ -13,5 +13,5 @@ if HAVE_SYS_UN_H - noinst_PROGRAMS += x11 - endif - --AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example -+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/example -I../src - LDADD = $(top_builddir)/src/libssh2.la diff --git a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch deleted file mode 100644 index a70b1fe84f..0000000000 --- a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f4846473f0f0ec313f8ed7ff4cd9f59c1741465d Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 20 Mar 2018 20:21:53 +0200 -Subject: [PATCH] acinclude.m4: add mbedtls to LIBS - -This is useful for static builds so that the Libs.private field in -libssh2.pc contains correct info for the benefit of pkg-config users. -Static link with libssh2 requires this information. - -Signed-off-by: Baruch Siach -[Fabrice: Replace $LIBMBEDCRYTO by -lmdedcrypto to avoid adding a full -library path to libssh2.pc as it raises build failures on some packages -such as xerces] -Signed-off-by: Fabrice Fontaine ---- -Upstream status: https://github.com/libssh2/libssh2/pull/242 - - acinclude.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/acinclude.m4 b/acinclude.m4 -index c0e89a1a0c98..02c70845d27c 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -441,6 +441,7 @@ m4_case([$1], - [mbedtls], [ - LIBSSH2_LIB_HAVE_LINKFLAGS([mbedcrypto], [], [#include ], [ - AC_DEFINE(LIBSSH2_MBEDTLS, 1, [Use $1]) -+ LIBS="$LIBS -lmbedcrypto" - found_crypto="$1" - support_clear_memory=yes - ]) --- -2.16.2 - diff --git a/package/libssh2/0003-packet-c-improve-message-parsing.patch b/package/libssh2/0003-packet-c-improve-message-parsing.patch deleted file mode 100644 index 2b73520021..0000000000 --- a/package/libssh2/0003-packet-c-improve-message-parsing.patch +++ /dev/null @@ -1,127 +0,0 @@ -From dedcbd106f8e52d5586b0205bc7677e4c9868f9c Mon Sep 17 00:00:00 2001 -From: Will Cosgrove -Date: Fri, 30 Aug 2019 09:57:38 -0700 -Subject: [PATCH] packet.c: improve message parsing (#402) - -* packet.c: improve parsing of packets - -file: packet.c - -notes: -Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST. -[Retrieved from: -https://github.com/libssh2/libssh2/commit/dedcbd106f8e52d5586b0205bc7677e4c9868f9c] -Signed-off-by: Fabrice Fontaine ---- - src/packet.c | 68 ++++++++++++++++++++++------------------------------ - 1 file changed, 29 insertions(+), 39 deletions(-) - -diff --git a/src/packet.c b/src/packet.c -index 38ab6294..2e01bfc5 100644 ---- a/src/packet.c -+++ b/src/packet.c -@@ -419,8 +419,8 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - size_t datalen, int macstate) - { - int rc = 0; -- char *message = NULL; -- char *language = NULL; -+ unsigned char *message = NULL; -+ unsigned char *language = NULL; - size_t message_len = 0; - size_t language_len = 0; - LIBSSH2_CHANNEL *channelp = NULL; -@@ -472,33 +472,23 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - - case SSH_MSG_DISCONNECT: - if(datalen >= 5) { -- size_t reason = _libssh2_ntohu32(data + 1); -+ uint32_t reason = 0; -+ struct string_buf buf; -+ buf.data = (unsigned char *)data; -+ buf.dataptr = buf.data; -+ buf.len = datalen; -+ buf.dataptr++; /* advance past type */ - -- if(datalen >= 9) { -- message_len = _libssh2_ntohu32(data + 5); -+ _libssh2_get_u32(&buf, &reason); -+ _libssh2_get_string(&buf, &message, &message_len); -+ _libssh2_get_string(&buf, &language, &language_len); - -- if(message_len < datalen-13) { -- /* 9 = packet_type(1) + reason(4) + message_len(4) */ -- message = (char *) data + 9; -- -- language_len = -- _libssh2_ntohu32(data + 9 + message_len); -- language = (char *) data + 9 + message_len + 4; -- -- if(language_len > (datalen-13-message_len)) { -- /* bad input, clear info */ -- language = message = NULL; -- language_len = message_len = 0; -- } -- } -- else -- /* bad size, clear it */ -- message_len = 0; -- } - if(session->ssh_msg_disconnect) { -- LIBSSH2_DISCONNECT(session, reason, message, -- message_len, language, language_len); -+ LIBSSH2_DISCONNECT(session, reason, (const char *)message, -+ message_len, (const char *)language, -+ language_len); - } -+ - _libssh2_debug(session, LIBSSH2_TRACE_TRANS, - "Disconnect(%d): %s(%s)", reason, - message, language); -@@ -539,24 +529,24 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - int always_display = data[1]; - - if(datalen >= 6) { -- message_len = _libssh2_ntohu32(data + 2); -- -- if(message_len <= (datalen - 10)) { -- /* 6 = packet_type(1) + display(1) + message_len(4) */ -- message = (char *) data + 6; -- language_len = _libssh2_ntohu32(data + 6 + -- message_len); -- -- if(language_len <= (datalen - 10 - message_len)) -- language = (char *) data + 10 + message_len; -- } -+ struct string_buf buf; -+ buf.data = (unsigned char *)data; -+ buf.dataptr = buf.data; -+ buf.len = datalen; -+ buf.dataptr += 2; /* advance past type & always display */ -+ -+ _libssh2_get_string(&buf, &message, &message_len); -+ _libssh2_get_string(&buf, &language, &language_len); - } - - if(session->ssh_msg_debug) { -- LIBSSH2_DEBUG(session, always_display, message, -- message_len, language, language_len); -+ LIBSSH2_DEBUG(session, always_display, -+ (const char *)message, -+ message_len, (const char *)language, -+ language_len); - } - } -+ - /* - * _libssh2_debug will actually truncate this for us so - * that it's not an inordinate about of data -@@ -579,7 +569,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, - uint32_t len = 0; - unsigned char want_reply = 0; - len = _libssh2_ntohu32(data + 1); -- if(datalen >= (6 + len)) { -+ if((len <= (UINT_MAX - 6)) && (datalen >= (6 + len))) { - want_reply = data[5 + len]; - _libssh2_debug(session, - LIBSSH2_TRACE_CONN, diff --git a/package/libssh2/libssh2.hash b/package/libssh2/libssh2.hash index 8e048ff508..7267e85987 100644 --- a/package/libssh2/libssh2.hash +++ b/package/libssh2/libssh2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd libssh2-1.9.0.tar.gz -sha256 e15ed284a15e80115467d6d7f030f0d89d8fabbecd78fb6e0f861f0cfc128fd9 COPYING +sha256 2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51 libssh2-1.10.0.tar.gz +sha256 859e60d760a3446ecaf777339f1eef98c527aea40714384d24b882a83ffdd23a COPYING diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index 6147583a9e..cd74784d82 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSSH2_VERSION = 1.9.0 +LIBSSH2_VERSION = 1.10.0 LIBSSH2_SITE = https://www.libssh2.org/download LIBSSH2_LICENSE = BSD LIBSSH2_LICENSE_FILES = COPYING @@ -12,12 +12,6 @@ LIBSSH2_CPE_ID_VENDOR = libssh2 LIBSSH2_INSTALL_STAGING = YES LIBSSH2_CONF_OPTS = --disable-examples-build -# 0003-packet-c-improve-message-parsing.patch -LIBSSH2_IGNORE_CVES += CVE-2019-17498 - -# patch touching configure.ac and acinclude.m4 -LIBSSH2_AUTORECONF = YES - ifeq ($(BR2_PACKAGE_LIBSSH2_MBEDTLS),y) LIBSSH2_DEPENDENCIES += mbedtls LIBSSH2_CONF_OPTS += --with-libmbedcrypto-prefix=$(STAGING_DIR)/usr \ -- 2.30.2