mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
Fix key management in security/kleopatra
This was reported upstream also as https://bugs.kde.org/show_bug.cgi?id=415168 there has been a patch languishing there for a long time, which I've now (re)submitted upstream. It fixes all of the reported problem: a previous patch by me in FreeBSD ports only dealt with half of them. PR: 242670 Submitted by: Andre Heinecke Reported by: Gerhard Seibert
This commit is contained in:
parent
f26b249c17
commit
63ddfd1197
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=561468
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= kleopatra
|
||||
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= security kde kde-applications
|
||||
|
||||
MAINTAINER= kde@FreeBSD.org
|
||||
|
@ -1,47 +0,0 @@
|
||||
Submitted upstream as D26393, see also
|
||||
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242670
|
||||
https://bugs.kde.org/show_bug.cgi?id=415168
|
||||
|
||||
diff --git src/commands/command_p.h src/commands/command_p.h
|
||||
index d9acbaae..0a16161e 100644
|
||||
--- src/commands/command_p.h
|
||||
+++ src/commands/command_p.h
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "view/keylistcontroller.h"
|
||||
|
||||
#include <Libkleo/KeyListModel>
|
||||
+#include <Libkleo/KeyRearrangeColumnsProxyModel>
|
||||
|
||||
#include <KMessageBox>
|
||||
|
||||
@@ -73,7 +74,7 @@ public:
|
||||
}
|
||||
KeyListModelInterface *model() const
|
||||
{
|
||||
- return view_ ? dynamic_cast<KeyListModelInterface *>(view_->model()) : nullptr;
|
||||
+ return view_ ? dynamic_cast<KeyListModelInterface *>(dynamic_cast<KeyRearrangeColumnsProxyModel*>(view_->model())) : nullptr;
|
||||
}
|
||||
KeyListController *controller() const
|
||||
{
|
||||
diff --git src/dialogs/lookupcertificatesdialog.cpp src/dialogs/lookupcertificatesdialog.cpp
|
||||
index 4f7b0246..313c4f9f 100644
|
||||
--- src/dialogs/lookupcertificatesdialog.cpp
|
||||
+++ src/dialogs/lookupcertificatesdialog.cpp
|
||||
@@ -37,6 +37,8 @@
|
||||
#include "ui_lookupcertificatesdialog.h"
|
||||
|
||||
#include <Libkleo/KeyListModel>
|
||||
+#include <Libkleo/KeyRearrangeColumnsProxyModel>
|
||||
+
|
||||
#include <KConfigGroup>
|
||||
#include <gpgme++/key.h>
|
||||
|
||||
@@ -99,7 +101,7 @@ private:
|
||||
if (!view) {
|
||||
return std::vector<Key>();
|
||||
}
|
||||
- const auto *const model = dynamic_cast<KeyListModelInterface*>(view->model());
|
||||
+ const auto *const model = dynamic_cast<KeyListModelInterface*>(dynamic_cast<KeyRearrangeColumnsProxyModel*>(view->model()));
|
||||
Q_ASSERT(model);
|
||||
const QItemSelectionModel *const sm = view->selectionModel();
|
||||
Q_ASSERT(sm);
|
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= libkleo
|
||||
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= security kde kde-applications
|
||||
|
||||
MAINTAINER= kde@FreeBSD.org
|
||||
|
98
security/libkleo/files/patch-BR415168
Normal file
98
security/libkleo/files/patch-BR415168
Normal file
@ -0,0 +1,98 @@
|
||||
From 54ef30823adb3d4c9b6c66494142980f5cc9e35b Mon Sep 17 00:00:00 2001
|
||||
From: Andre Heinecke <aheinecke@gnupg.org>
|
||||
Date: Wed, 12 Feb 2020 12:11:32 +0100
|
||||
Subject: [PATCH] De inline keylistmodelinterface virtual dtor
|
||||
|
||||
This attempts to fix a crash on FreeBSD. See: D26393 for
|
||||
more info.
|
||||
|
||||
BUG: 415168
|
||||
---
|
||||
src/CMakeLists.txt | 1 +
|
||||
src/models/keylistmodelinterface.cpp | 35 ++++++++++++++++++++++++++++
|
||||
src/models/keylistmodelinterface.h | 6 +++--
|
||||
3 files changed, 40 insertions(+), 2 deletions(-)
|
||||
create mode 100644 src/models/keylistmodelinterface.cpp
|
||||
|
||||
diff --git src/CMakeLists.txt src/CMakeLists.txt
|
||||
index dc30079..056d33b 100644
|
||||
--- src/CMakeLists.txt
|
||||
+++ src/CMakeLists.txt
|
||||
@@ -29,6 +29,7 @@ set(libkleo_core_SRCS
|
||||
kleo/keyresolver.cpp
|
||||
models/keycache.cpp
|
||||
models/keylistmodel.cpp
|
||||
+ models/keylistmodelinterface.cpp
|
||||
models/keylistsortfilterproxymodel.cpp
|
||||
models/keyrearrangecolumnsproxymodel.cpp
|
||||
models/subkeylistmodel.cpp
|
||||
diff --git src/models/keylistmodelinterface.cpp src/models/keylistmodelinterface.cpp
|
||||
new file mode 100644
|
||||
index 0000000..77fc1e2
|
||||
--- /dev/null
|
||||
+++ src/models/keylistmodelinterface.cpp
|
||||
@@ -0,0 +1,35 @@
|
||||
+/* -*- mode: c++; c-basic-offset:4 -*-
|
||||
+ models/keylistmodelinterface.cpp
|
||||
+
|
||||
+ Copyright (c) 2020 g10 Code GmbH
|
||||
+
|
||||
+ Kleopatra is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 2 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Kleopatra is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program; if not, write to the Free Software
|
||||
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
+
|
||||
+ In addition, as a special exception, the copyright holders give
|
||||
+ permission to link the code of this program with any edition of
|
||||
+ the Qt library by Trolltech AS, Norway (or with modified versions
|
||||
+ of Qt that use the same license as Qt), and distribute linked
|
||||
+ combinations including the two. You must obey the GNU General
|
||||
+ Public License in all respects for all of the code used other than
|
||||
+ Qt. If you modify this file, you may extend this exception to
|
||||
+ your version of the file, but you are not obligated to do so. If
|
||||
+ you do not wish to do so, delete this exception statement from
|
||||
+ your version.
|
||||
+*/
|
||||
+#include "keylistmodelinterface.h"
|
||||
+
|
||||
+Kleo::KeyListModelInterface::~KeyListModelInterface()
|
||||
+{
|
||||
+}
|
||||
diff --git src/models/keylistmodelinterface.h src/models/keylistmodelinterface.h
|
||||
index 3090017..4de3fec 100644
|
||||
--- src/models/keylistmodelinterface.h
|
||||
+++ src/models/keylistmodelinterface.h
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
+#include <kleo_export.h>
|
||||
+
|
||||
namespace GpgME
|
||||
{
|
||||
class Key;
|
||||
@@ -46,10 +48,10 @@ template <typename T> class QList;
|
||||
namespace Kleo
|
||||
{
|
||||
|
||||
-class KeyListModelInterface
|
||||
+class KLEO_EXPORT KeyListModelInterface
|
||||
{
|
||||
public:
|
||||
- virtual ~KeyListModelInterface() {}
|
||||
+ virtual ~KeyListModelInterface();
|
||||
|
||||
static const int FingerprintRole = 0xF1;
|
||||
static const int KeyRole = 0xF2;
|
||||
--
|
||||
2.20.1
|
||||
|
Loading…
Reference in New Issue
Block a user