From cc4ca24551a8e066c83edc7c7f710feabe4bcee1 Mon Sep 17 00:00:00 2001 From: lvfei Date: Thu, 29 Sep 2022 05:01:38 -0400 Subject: [PATCH] backport upstream patches --- backport-add-test-for-@-in-login-name.patch | 32 +++++++++++++++++++ ...the-login-name-can-have-@-char-in-it.patch | 29 +++++++++++++++++ libssh.spec | 12 ++++++- 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 backport-add-test-for-@-in-login-name.patch create mode 100644 backport-the-login-name-can-have-@-char-in-it.patch diff --git a/backport-add-test-for-@-in-login-name.patch b/backport-add-test-for-@-in-login-name.patch new file mode 100644 index 0000000..3255775 --- /dev/null +++ b/backport-add-test-for-@-in-login-name.patch @@ -0,0 +1,32 @@ +From 964df4dc290c631fe2ece74600e510ca6c0a7385 Mon Sep 17 00:00:00 2001 +From: Norbert Pocs +Date: Mon, 11 Jul 2022 12:34:34 +0200 +Subject: torture_options: Add test for '@' in login name + +Signed-off-by: Norbert Pocs +Reviewed-by: Jakub Jelen +Reviewed-by: Andreas Schneider +--- + tests/unittests/torture_options.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/tests/unittests/torture_options.c b/tests/unittests/torture_options.c +index 1719a3aa..e1d16f02 100644 +--- a/tests/unittests/torture_options.c ++++ b/tests/unittests/torture_options.c +@@ -66,6 +66,13 @@ static void torture_options_set_host(void **state) { + assert_string_equal(session->opts.host, "meditation"); + assert_non_null(session->opts.username); + assert_string_equal(session->opts.username, "guru"); ++ ++ rc = ssh_options_set(session, SSH_OPTIONS_HOST, "at@login@hostname"); ++ assert_true(rc == 0); ++ assert_non_null(session->opts.host); ++ assert_string_equal(session->opts.host, "hostname"); ++ assert_non_null(session->opts.username); ++ assert_string_equal(session->opts.username, "at@login"); + } + + static void torture_options_set_ciphers(void **state) { +-- +cgit v1.2.3 diff --git a/backport-the-login-name-can-have-@-char-in-it.patch b/backport-the-login-name-can-have-@-char-in-it.patch new file mode 100644 index 0000000..999e2fe --- /dev/null +++ b/backport-the-login-name-can-have-@-char-in-it.patch @@ -0,0 +1,29 @@ +From bb5f7e2707c1d04cd080bc64ff748ec89cf614fa Mon Sep 17 00:00:00 2001 +From: Norbert Pocs +Date: Mon, 4 Jul 2022 13:58:06 +0200 +Subject: options: Parse hostname by last '@' + +The login name can have '@' char in it + +Signed-off-by: Norbert Pocs +Reviewed-by: Jakub Jelen +Reviewed-by: Andreas Schneider +--- + src/options.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/options.c b/src/options.c +index b7d54b39..472a20e9 100644 +--- a/src/options.c ++++ b/src/options.c +@@ -513,7 +513,7 @@ int ssh_options_set(ssh_session session, enum ssh_options_e type, + ssh_set_error_oom(session); + return -1; + } +- p = strchr(q, '@'); ++ p = strrchr(q, '@'); + + SAFE_FREE(session->opts.host); + +-- +cgit v1.2.3 diff --git a/libssh.spec b/libssh.spec index 7d9cfd3..b48de75 100644 --- a/libssh.spec +++ b/libssh.spec @@ -1,6 +1,6 @@ Name: libssh Version: 0.9.6 -Release: 3 +Release: 4 Summary: A library implementing the SSH protocol License: LGPLv2+ URL: http://www.libssh.org @@ -14,6 +14,8 @@ Patch1: backport-auth-Fix-error-returned-in-ssh_userauth_try_publicke.pa Patch2: backport-client-Do-not-close-the-socket-if-it-was-set-via-opt.patch Patch3: backport-libsshpp-Fix-openForward-to-not-set-sourcehost-to-NU.patch Patch4: backport-sftp-fix-the-length-calculation-of-packet-in-sftp_wr.patch +Patch5: backport-the-login-name-can-have-@-char-in-it.patch +Patch6: backport-add-test-for-@-in-login-name.patch BuildRequires: cmake gcc-c++ gnupg2 openssl-devel pkgconfig zlib-devel BuildRequires: krb5-devel libcmocka-devel openssh-clients openssh-server @@ -99,6 +101,14 @@ popd %doc ChangeLog README %changelog +* Thu Sep 29 2022 lvfei - 0.9.6-4 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:backport upstream patches: + The login name can have '@' char in it + Add test for '@' in login name + * Fri Sep 02 2022 zengweifeng - 0.9.6-3 - Type:bugfix - Id:NA -- Gitee