libssh: upgrade 0.10.6 -> 0.11.1

* Drop 0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch
  as the issue has been fixed upstream.

* Add a patch to fix build with clang.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Yi Zhao 2024-09-15 20:51:51 +08:00 committed by Khem Raj
parent 0a28a9ef22
commit ef896bcd6c
No known key found for this signature in database
GPG Key ID: BB053355919D3314
4 changed files with 51 additions and 54 deletions

View File

@ -0,0 +1,37 @@
From 98a330971f4344619b698d4603a45bd31d6935d9 Mon Sep 17 00:00:00 2001
From: Yi Zhao <yi.zhao@windriver.com>
Date: Sun, 15 Sep 2024 20:31:55 +0800
Subject: [PATCH] CompilerChecks.cmake: drop -Wunused-variable flag
Drop -Wunused-variable flag to fix build with clang:
libssh/0.11.1/git/src/threads/libgcrypt.c:29:1: error: unused variable 'gcry_threads_pthread' [-Werror,-Wunused-variable]
29 | GCRY_THREAD_OPTION_PTHREAD_IMPL;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libssh/0.11.1/recipe-sysroot/usr/include/gcrypt.h:217:33: note: expanded from macro 'GCRY_THREAD_OPTION_PTHREAD_IMPL'
217 | static struct gcry_thread_cbs gcry_threads_pthread = { \
| ^~~~~~~~~~~~~~~~~~~~
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
CompilerChecks.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CompilerChecks.cmake b/CompilerChecks.cmake
index 9719e699..ec15fa2a 100644
--- a/CompilerChecks.cmake
+++ b/CompilerChecks.cmake
@@ -48,7 +48,7 @@ if (UNIX)
add_c_compiler_flag("-Werror=implicit-int" SUPPORTED_COMPILER_FLAGS)
add_c_compiler_flag("-Wint-conversion" SUPPORTED_COMPILER_FLAGS)
add_c_compiler_flag("-Werror=int-conversion" SUPPORTED_COMPILER_FLAGS)
- add_c_compiler_flag("-Werror=unused-variable" SUPPORTED_COMPILER_FLAGS)
+ #add_c_compiler_flag("-Werror=unused-variable" SUPPORTED_COMPILER_FLAGS)
check_c_compiler_flag("-Wformat" REQUIRED_FLAGS_WFORMAT)
if (REQUIRED_FLAGS_WFORMAT)
--
2.25.1

View File

@ -1,44 +0,0 @@
From 49a8ae4d6f77434ed9f7a601b9df488b921e4a22 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 20 Mar 2023 21:59:19 -0700
Subject: [PATCH] libgcrypt.c: Fix prototype of des3_encrypt/des3_decrypt
This is to match the prototype for callback functions which are now emitted as
errors by clang16
Fixes
TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/libssh/0.10.4-r0/git/src/libgcrypt.c:903:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned int)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
.encrypt = des3_encrypt,
^~~~~~~~~~~~
TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/libssh/0.10.4-r0/git/src/libgcrypt.c:904:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned int)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
.decrypt = des3_decrypt
^~~~~~~~~~~~
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/libgcrypt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libgcrypt.c b/src/libgcrypt.c
index f410d997..e3f66781 100644
--- a/src/libgcrypt.c
+++ b/src/libgcrypt.c
@@ -416,12 +416,12 @@ static int des3_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
}
static void des3_encrypt(struct ssh_cipher_struct *cipher, void *in,
- void *out, unsigned long len) {
+ void *out, size_t len) {
gcry_cipher_encrypt(cipher->key[0], out, len, in, len);
}
static void des3_decrypt(struct ssh_cipher_struct *cipher, void *in,
- void *out, unsigned long len) {
+ void *out, size_t len) {
gcry_cipher_decrypt(cipher->key[0], out, len, in, len);
}

View File

@ -1,4 +1,4 @@
From 69a89e8f015802f61637fed0d3791d20a594f298 Mon Sep 17 00:00:00 2001
From 99fcb71903cca8458bcd6c0d5b676619a9710dab Mon Sep 17 00:00:00 2001
From: Yi Zhao <yi.zhao@windriver.com>
Date: Wed, 15 Mar 2023 16:51:58 +0800
Subject: [PATCH] tests/CMakeLists.txt: do not search ssh/sshd commands on host
@ -9,16 +9,15 @@ not required by unittests, we can skip the search.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
tests/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f5c30061..885c926a 100644
index 89b95d08..e481534c 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -86,6 +86,7 @@ set(TEST_TARGET_LIBRARIES
@@ -96,6 +96,7 @@ set(TEST_TARGET_LIBRARIES
add_subdirectory(unittests)
@ -26,11 +25,14 @@ index f5c30061..885c926a 100644
# OpenSSH Capabilities are required for all unit tests
find_program(SSH_EXECUTABLE NAMES ssh)
if (SSH_EXECUTABLE)
@@ -302,6 +303,7 @@ if (CLIENT_TESTING OR SERVER_TESTING)
@@ -345,6 +346,7 @@ endif (WITH_PKCS11_URI)
file(COPY gss/kdcsetup.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/gss FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
message(STATUS "TORTURE_ENVIRONMENT=${TORTURE_ENVIRONMENT}")
endif ()
message(STATUS "TORTURE_ENVIRONMENT=${TORTURE_ENVIRONMENT}")
+endif ()
configure_file(tests_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/tests_config.h)
--
2.25.1

View File

@ -6,12 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0"
DEPENDS = "zlib openssl"
SRC_URI = "git://git.libssh.org/projects/libssh.git;protocol=https;branch=stable-0.10 \
SRC_URI = "git://git.libssh.org/projects/libssh.git;protocol=https;branch=stable-0.11 \
file://0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch \
file://0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch \
file://run-ptest \
"
SRCREV = "10e09e273f69e149389b3e0e5d44b8c221c2e7f6"
SRC_URI:append:toolchain-clang = " file://0001-CompilerChecks.cmake-drop-Wunused-variable-flag.patch"
SRCREV = "854795c654eda518ed6de6c1ebb4e2107fcb2e73"
S = "${WORKDIR}/git"