kde-frameworks/networkmanager-qt: Add EAP-PWD support.
authorNils Freydank <holgersson@posteo.de>
Sat, 16 Dec 2017 12:19:25 +0000 (13:19 +0100)
committerMichael Palimaka <kensington@gentoo.org>
Sat, 16 Dec 2017 13:04:07 +0000 (00:04 +1100)
Wrt upstream bug https://bugs.kde.org/show_bug.cgi?id=387685.

Closes: https://github.com/gentoo/gentoo/pull/6565
Package-Manager: Portage-2.3.18, Repoman-2.3.6

kde-frameworks/networkmanager-qt/files/networkmanager-qt-add_EAP-PWD.patch [new file with mode: 0644]
kde-frameworks/networkmanager-qt/networkmanager-qt-5.41.0-r1.ebuild [new file with mode: 0644]

diff --git a/kde-frameworks/networkmanager-qt/files/networkmanager-qt-add_EAP-PWD.patch b/kde-frameworks/networkmanager-qt/files/networkmanager-qt-add_EAP-PWD.patch
new file mode 100644 (file)
index 0000000..adba0ed
--- /dev/null
@@ -0,0 +1,58 @@
+From f185da94f628e4384607703928e26fcf2f34fa7a Mon Sep 17 00:00:00 2001
+From: Jan Grulich <jgrulich@redhat.com>
+Date: Mon, 11 Dec 2017 14:24:14 +0100
+Subject: 802-11-x: support for PWD EAP method
+
+---
+ src/settings/security8021xsetting.cpp | 7 ++++++-
+ src/settings/security8021xsetting.h   | 2 +-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/settings/security8021xsetting.cpp b/src/settings/security8021xsetting.cpp
+index 0fc9bde..38323b0 100644
+--- a/src/settings/security8021xsetting.cpp
++++ b/src/settings/security8021xsetting.cpp
+@@ -569,7 +569,8 @@ QStringList NetworkManager::Security8021xSetting::needSecrets(bool requestNew) c
+             !privateKeyPasswordFlags().testFlag(NotRequired)) {
+         secrets << QLatin1String(NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD);
+     } else if ((eapMethods().contains(EapMethodTtls) || eapMethods().contains(EapMethodPeap) ||
+-                eapMethods().contains(EapMethodLeap) || eapMethods().contains(EapMethodFast)) &&
++                eapMethods().contains(EapMethodLeap) || eapMethods().contains(EapMethodFast) ||
++                eapMethods().contains(EapMethodPwd)) &&
+                (password().isEmpty() || requestNew) && !passwordFlags().testFlag(NotRequired)) {
+         secrets << QLatin1String(NM_SETTING_802_1X_PASSWORD);
+         secrets << QLatin1String(NM_SETTING_802_1X_PASSWORD_RAW);
+@@ -655,6 +656,8 @@ void NetworkManager::Security8021xSetting::fromMap(const QVariantMap &setting)
+                 eapMethods << EapMethodSim;
+             } else if (method == "fast") {
+                 eapMethods << EapMethodFast;
++            } else if (method == "pwd") {
++                eapMethods << EapMethodPwd;
+             }
+         }
+@@ -862,6 +865,8 @@ QVariantMap NetworkManager::Security8021xSetting::toMap() const
+                 methods << "sim";
+             } else if (method == EapMethodFast) {
+                 methods << "fast";
++            } else if (method == EapMethodPwd) {
++                methods << "pwd";
+             }
+         }
+diff --git a/src/settings/security8021xsetting.h b/src/settings/security8021xsetting.h
+index 8b1f5a3..5289771 100644
+--- a/src/settings/security8021xsetting.h
++++ b/src/settings/security8021xsetting.h
+@@ -37,7 +37,7 @@ class NETWORKMANAGERQT_EXPORT Security8021xSetting : public Setting
+ public:
+     typedef QSharedPointer<Security8021xSetting> Ptr;
+     typedef QList<Ptr> List;
+-    enum EapMethod {EapMethodUnknown = 0, EapMethodLeap, EapMethodMd5, EapMethodTls, EapMethodPeap, EapMethodTtls, EapMethodSim, EapMethodFast};
++    enum EapMethod {EapMethodUnknown = 0, EapMethodLeap, EapMethodMd5, EapMethodTls, EapMethodPeap, EapMethodTtls, EapMethodSim, EapMethodFast, EapMethodPwd};
+     enum PeapVersion {PeapVersionUnknown = -1, PeapVersionZero, PeapVersionOne};
+     enum PeapLabel {PeapLabelUnknown = 0, PeapLabelForce};
+     enum FastProvisioning {FastProvisioningUnknown = -1, FastProvisioningDisabled, FastProvisioningAllowUnauthenticated, FastProvisioningAllowAuthenticated, FastProvisioningAllowBoth};
+-- 
+cgit v0.11.2
+
diff --git a/kde-frameworks/networkmanager-qt/networkmanager-qt-5.41.0-r1.ebuild b/kde-frameworks/networkmanager-qt/networkmanager-qt-5.41.0-r1.ebuild
new file mode 100644 (file)
index 0000000..5d77844
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit kde5
+
+DESCRIPTION="NetworkManager bindings for Qt"
+LICENSE="LGPL-2"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="teamd"
+
+PATCHES=( "${FILESDIR}"/${PN}-add_EAP-PWD.patch )
+
+COMMON_DEPEND="
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtnetwork)
+       || (
+               >=net-misc/networkmanager-1.4.0-r1[consolekit,teamd=]
+               >=net-misc/networkmanager-1.4.0-r1[elogind,teamd=]
+               >=net-misc/networkmanager-1.4.0-r1[systemd,teamd=]
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       virtual/pkgconfig
+"
+RDEPEND="${COMMON_DEPEND}
+       !net-libs/libnm-qt:5
+"
+
+src_test() {
+       # bug: 625276
+       local myctestargs=( -E "(managertest|settingstest|activeconnectiontest)" )
+
+       kde5_src_test
+}