Accepting request 792958 from Base:System

- Update to 4.8.24
  * Implement the file edit and view history
  * sftpfs: support keyborad interactive authentication
  * add yabasic (Yet Another BASIC) syntax highlighting
  * File highlighting updates
  * New skins
  * Lots of other fixes
- Remove sftp_interactive_password.patch
- Remove mc-no-common.patch (forwarded request 785833 from polslinux)

OBS-URL: https://build.opensuse.org/request/show/792958
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mc?expand=0&rev=79
This commit is contained in:
Dominique Leuenberger 2020-04-14 13:08:29 +00:00 committed by Git OBS Bridge
commit 654a174b61
8 changed files with 21 additions and 192 deletions

View File

@ -1,2 +0,0 @@
238c4552545dcf3065359bd50753abbb150c1b22ec5a36eaa02c82808293267d mc-4.8.23.tar.bz2
dd7f7ce74183307b0df25b5c3e60ad3293fd3d3d27d2f37dd7a10efce13dff1c mc-4.8.23.tar.xz

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd7f7ce74183307b0df25b5c3e60ad3293fd3d3d27d2f37dd7a10efce13dff1c
size 2552944

2
mc-4.8.24.sha256 Normal file
View File

@ -0,0 +1,2 @@
cfcc4d0546d0c3a88645a8bf71612ed36647ea3264d973b1f28183a0c84bae34 mc-4.8.24.tar.bz2
859f1cc070450bf6eb4d319ffcb6a5ac29deb0ac0d81559fb2e71242b1176d46 mc-4.8.24.tar.xz

3
mc-4.8.24.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:859f1cc070450bf6eb4d319ffcb6a5ac29deb0ac0d81559fb2e71242b1176d46
size 2434988

View File

@ -1,71 +0,0 @@
commit 093571938a6c31706f918b011335b8ab30602336
Author: Andrew Borodin <aborodin@vmail.ru>
Date: Sat Nov 23 17:41:58 2019 +0300
Ticket #4035: fix compile failure on OS X 10.9.
Fix duplication of menu_map definition.
Move menu_map definition to lib/widget/menu.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
diff --git a/lib/widget/menu.c b/lib/widget/menu.c
index b7476b62b..68ae6f6ce 100644
--- a/lib/widget/menu.c
+++ b/lib/widget/menu.c
@@ -46,7 +46,7 @@
/*** global variables ****************************************************************************/
-const global_keymap_t *menu_map;
+const global_keymap_t *menu_map = NULL;
/*** file scope macro definitions ****************************************************************/
diff --git a/lib/widget/menu.h b/lib/widget/menu.h
index c522a16c8..fad6fa639 100644
--- a/lib/widget/menu.h
+++ b/lib/widget/menu.h
@@ -39,6 +39,8 @@ typedef struct WMenuBar
/*** global variables defined in .c file *********************************************************/
+extern const global_keymap_t *menu_map;
+
/*** declarations of public functions ************************************************************/
menu_entry_t *menu_entry_create (const char *name, long command);
diff --git a/src/keybind-defaults.c b/src/keybind-defaults.c
index 10ba341ee..0ba4840df 100644
--- a/src/keybind-defaults.c
+++ b/src/keybind-defaults.c
@@ -28,7 +28,7 @@
#include <config.h>
#include "lib/global.h"
-#include "lib/widget.h" /* dialog_map, input_map, listbox_map */
+#include "lib/widget.h" /* dialog_map, input_map, listbox_map, menu_map */
#include "keybind-defaults.h"
@@ -56,7 +56,6 @@ GArray *diff_keymap = NULL;
const global_keymap_t *main_map = NULL;
const global_keymap_t *main_x_map = NULL;
const global_keymap_t *panel_map = NULL;
-const global_keymap_t *menu_map = NULL;
const global_keymap_t *tree_map = NULL;
const global_keymap_t *help_map = NULL;
diff --git a/src/keybind-defaults.h b/src/keybind-defaults.h
index edb05c67f..6b7266589 100644
--- a/src/keybind-defaults.h
+++ b/src/keybind-defaults.h
@@ -35,7 +35,6 @@ extern GArray *diff_keymap;
extern const global_keymap_t *main_map;
extern const global_keymap_t *main_x_map;
extern const global_keymap_t *panel_map;
-extern const global_keymap_t *menu_map;
extern const global_keymap_t *tree_map;
extern const global_keymap_t *help_map;

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Tue Mar 17 07:57:20 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
- Update to 4.8.24
* Implement the file edit and view history
* sftpfs: support keyborad interactive authentication
* add yabasic (Yet Another BASIC) syntax highlighting
* File highlighting updates
* New skins
* Lots of other fixes
- Remove sftp_interactive_password.patch
- Remove mc-no-common.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jan 15 10:11:03 UTC 2020 - Adam Majer <adam.majer@suse.de> Wed Jan 15 10:11:03 UTC 2020 - Adam Majer <adam.majer@suse.de>

View File

@ -1,7 +1,7 @@
# #
# spec file for package mc # spec file for package mc
# #
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2020 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: mc Name: mc
Version: 4.8.23 Version: 4.8.24
Release: 0 Release: 0
Summary: Midnight Commander Summary: Midnight Commander
License: GPL-3.0-or-later License: GPL-3.0-or-later
@ -57,8 +57,6 @@ Patch64: mc-extd-sound.patch
Patch69: mc-extd-xdg.patch Patch69: mc-extd-xdg.patch
Patch71: mc-ext-audio.patch Patch71: mc-ext-audio.patch
Patch100: xls2csv_update.patch Patch100: xls2csv_update.patch
Patch101: sftp_interactive_password.patch
Patch102: mc-no-common.patch
BuildRequires: audiofile-devel BuildRequires: audiofile-devel
BuildRequires: e2fsprogs-devel BuildRequires: e2fsprogs-devel
BuildRequires: gettext >= 0.18.1 BuildRequires: gettext >= 0.18.1
@ -114,8 +112,6 @@ echo "`grep %{name}-%{version}.tar.xz %{SOURCE6} | head -n1 | cut -c1-64` %{SOU
%patch52 -p1 %patch52 -p1
%patch60 -p1 %patch60 -p1
%patch100 -p1 %patch100 -p1
%patch101 -p1
%patch102 -p1
%build %build
autoreconf -fvi autoreconf -fvi

View File

@ -1,110 +0,0 @@
commit 7910ef3ee50a847edf72d755381699f169d46278
Author: Adam Majer <amajer@suse.de>
Date: Mon Jun 25 15:06:38 2018 +0200
Ticket #3921: Enable keyboard interactive authentication
If SSH server does not support cleartext tunneled password
authentication and only 'keyboard interactive' authentication
instead, then we need to use different authentication
function along with a interactive callback.
Signed-off-by: Adam Majer <amajer@suse.de>
diff --git a/src/vfs/sftpfs/connection.c b/src/vfs/sftpfs/connection.c
index 537159129..a6b7d1b2c 100644
--- a/src/vfs/sftpfs/connection.c
+++ b/src/vfs/sftpfs/connection.c
@@ -292,6 +292,53 @@ sftpfs_open_connection_ssh_key (struct vfs_s_super *super, GError ** mcerror)
return ret_value;
}
+
+/**
+ * Keyboard-interactive password helper for opening connection to host by
+ * sftpfs_open_connection_ssh_password
+ *
+ * Uses global kbi_super (data with existing connection) and kbi_passwd (password)
+ *
+ * @param name username
+ * @param name_len length of @name
+ * @param instruction unused
+ * @param instruction_len unused
+ * @param num_prompts number of possible problems to process
+ * @param prompts array of prompts to process
+ * @param responses array of responses, one per prompt
+ * @param abstract unused
+ */
+
+static const char *kbi_passwd;
+static const struct vfs_s_super *kbi_super;
+static
+LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC (keyboard_interactive_helper)
+{
+ int i;
+ int len;
+
+ (void) instruction;
+ (void) instruction_len;
+ (void) abstract;
+
+ if (!kbi_super || !kbi_passwd)
+ return;
+
+ if (strncmp (name, kbi_super->path_element->user, name_len) != 0)
+ return;
+
+ // assume these are password prompts
+ len = strlen (kbi_passwd);
+ for (i = 0; i < num_prompts; ++i)
+ {
+ if (strncmp (prompts[i].text, "Password: ", prompts[i].length) == 0)
+ {
+ responses[i].text = strdup (kbi_passwd);
+ responses[i].length = len;
+ }
+ }
+}
+
/* --------------------------------------------------------------------------------------------- */
/**
* Open connection to host using password.
@@ -323,6 +370,18 @@ sftpfs_open_connection_ssh_password (struct vfs_s_super *super, GError ** mcerro
LIBSSH2_ERROR_EAGAIN);
if (rc == 0)
return TRUE;
+
+ kbi_super = super;
+ kbi_passwd = super->path_element->password;
+ while ((rc =
+ libssh2_userauth_keyboard_interactive (sftpfs_super->session,
+ super->path_element->user,
+ keyboard_interactive_helper)) ==
+ LIBSSH2_ERROR_EAGAIN);
+ kbi_super = NULL;
+ kbi_passwd = NULL;
+ if (rc == 0)
+ return TRUE;
}
p = g_strdup_printf (_("sftp: Enter password for %s "), super->path_element->user);
@@ -337,6 +396,19 @@ sftpfs_open_connection_ssh_password (struct vfs_s_super *super, GError ** mcerro
passwd)) == LIBSSH2_ERROR_EAGAIN)
;
+ if (rc != 0)
+ {
+ kbi_super = super;
+ kbi_passwd = passwd;
+ while ((rc =
+ libssh2_userauth_keyboard_interactive (sftpfs_super->session,
+ super->path_element->user,
+ keyboard_interactive_helper)) ==
+ LIBSSH2_ERROR_EAGAIN);
+ kbi_super = NULL;
+ kbi_passwd = NULL;
+ }
+
if (rc == 0)
{
ret_value = TRUE;