From 32121182ab337870352e4f7196c43a39747b5ed4 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 29 Dec 2017 16:34:52 +0100 Subject: [PATCH] Fix parsing ssh_config --- libssh-0.7.5-fix-config-parsing.patch | 32 +++++++++++++++++++++++++++ libssh.spec | 9 ++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 libssh-0.7.5-fix-config-parsing.patch diff --git a/libssh-0.7.5-fix-config-parsing.patch b/libssh-0.7.5-fix-config-parsing.patch new file mode 100644 index 0000000..3596cf0 --- /dev/null +++ b/libssh-0.7.5-fix-config-parsing.patch @@ -0,0 +1,32 @@ +From 5333be5988c3789e7011598995f4df90d50d84d0 Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" +Date: Sun, 4 Jun 2017 11:54:55 +0300 +Subject: config: Bugfix: Don't skip unseen opcodes + +libssh fails to read the configuration from a config file due to a +wrong check in 'ssh_config_parse_line' procedure in 'config.c'; it's +effectively skipping every opcode (and therefore every option) from +the file. The change fixes that behaviour. + +Signed-off-by: Artyom V. Poptsov +Reviewed-by: Andreas Schneider +--- + src/config.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/config.c b/src/config.c +index 6478fc5f..519926e7 100644 +--- a/src/config.c ++++ b/src/config.c +@@ -219,7 +219,7 @@ static int ssh_config_parse_line(ssh_session session, const char *line, + + opcode = ssh_config_get_opcode(keyword); + if (*parsing == 1 && opcode != SOC_HOST) { +- if (seen[opcode] == 0) { ++ if (seen[opcode] != 0) { + return 0; + } + seen[opcode] = 1; +-- +cgit v1.1 + diff --git a/libssh.spec b/libssh.spec index dabb667..c46bc91 100644 --- a/libssh.spec +++ b/libssh.spec @@ -1,12 +1,14 @@ Name: libssh Version: 0.7.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A library implementing the SSH protocol License: LGPLv2+ URL: http://www.libssh.org Source0: https://red.libssh.org/attachments/download/218/libssh-0.7.5.tar.xz +Patch0: libssh-0.7.5-fix-config-parsing.patch + BuildRequires: cmake BuildRequires: doxygen %if 0%{?fedora} > 25 || 0%{?rhel} > 7 @@ -36,7 +38,7 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep -%setup -q +%autosetup -p1 %build if test ! -e "obj"; then @@ -90,6 +92,9 @@ popd %{_libdir}/libssh_threads.so %changelog +* Fri Dec 29 2017 Andreas Schneider - 0.7.5-4 +- Fix parsing ssh_config + * Thu Aug 03 2017 Fedora Release Engineering - 0.7.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild