commit:     897bcef18a8a0d41aebb4fbcc07b2d3811d7543b
Author:     Nils Freydank <holgersson <AT> posteo <DOT> de>
AuthorDate: Sat Dec 16 13:16:37 2017 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sat Dec 16 13:17:00 2017 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=897bcef1

kde-plasma/plasma-nm: kde-plasma/plasma-nm: Add EAP-PWD support.

Wrt upstream bug https://bugs.kde.org/show_bug.cgi?id=387685.

Package-Manager: Portage-2.3.14, Repoman-2.3.6

 .../plasma-nm/files/plasma-nm-add_EAP-PWD.patch    | 201 +++++++++++++++++++++
 kde-plasma/plasma-nm/plasma-nm-5.11.49.9999.ebuild |   4 +-
 2 files changed, 204 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/plasma-nm/files/plasma-nm-add_EAP-PWD.patch 
b/kde-plasma/plasma-nm/files/plasma-nm-add_EAP-PWD.patch
new file mode 100644
index 0000000000..896a8144d5
--- /dev/null
+++ b/kde-plasma/plasma-nm/files/plasma-nm-add_EAP-PWD.patch
@@ -0,0 +1,201 @@
+From b98333458ca1edd1cafb2a5b83d45f46faf14103 Mon Sep 17 00:00:00 2001
+From: Jan Grulich <[email protected]>
+Date: Wed, 13 Dec 2017 08:51:06 +0100
+Subject: 802-1x: Add support for EAP-PWD
+
+BUG:387685
+---
+ libs/editor/settings/security802-1x.cpp | 49 +++++++++++++++++++++++++++++----
+ libs/editor/settings/ui/802-1x.ui       | 49 +++++++++++++++++++++++++++++----
+ 3 files changed, 88 insertions(+), 12 deletions(-)
+
+diff --git a/libs/editor/settings/security802-1x.cpp 
b/libs/editor/settings/security802-1x.cpp
+index d6405bf..461a38c 100644
+--- a/libs/editor/settings/security802-1x.cpp
++++ b/libs/editor/settings/security802-1x.cpp
+@@ -40,6 +40,7 @@ Security8021x::Security8021x(const 
NetworkManager::Setting::Ptr &setting, bool w
+     m_ui->leapPassword->setPasswordOptionsEnabled(true);
+     m_ui->md5Password->setPasswordOptionsEnabled(true);
+     m_ui->peapPassword->setPasswordOptionsEnabled(true);
++    m_ui->pwdPassword->setPasswordOptionsEnabled(true);
+     m_ui->tlsPrivateKeyPassword->setPasswordOptionsEnabled(true);
+     m_ui->ttlsPassword->setPasswordOptionsEnabled(true);
+ 
+@@ -49,18 +50,20 @@ Security8021x::Security8021x(const 
NetworkManager::Setting::Ptr &setting, bool w
+ 
+         m_ui->auth->setItemData(0, 
NetworkManager::Security8021xSetting::EapMethodTls);
+         m_ui->auth->setItemData(1, 
NetworkManager::Security8021xSetting::EapMethodLeap);
+-        m_ui->auth->setItemData(2, 
NetworkManager::Security8021xSetting::EapMethodFast);
+-        m_ui->auth->setItemData(3, 
NetworkManager::Security8021xSetting::EapMethodTtls);
+-        m_ui->auth->setItemData(4, 
NetworkManager::Security8021xSetting::EapMethodPeap);
++        m_ui->auth->setItemData(2, 
NetworkManager::Security8021xSetting::EapMethodPwd);
++        m_ui->auth->setItemData(3, 
NetworkManager::Security8021xSetting::EapMethodFast);
++        m_ui->auth->setItemData(4, 
NetworkManager::Security8021xSetting::EapMethodTtls);
++        m_ui->auth->setItemData(5, 
NetworkManager::Security8021xSetting::EapMethodPeap);
+     } else {
+         m_ui->auth->removeItem(2); // LEAP
+         m_ui->stackedWidget->removeWidget(m_ui->leapPage);
+ 
+         m_ui->auth->setItemData(0, 
NetworkManager::Security8021xSetting::EapMethodMd5);
+         m_ui->auth->setItemData(1, 
NetworkManager::Security8021xSetting::EapMethodTls);
+-        m_ui->auth->setItemData(2, 
NetworkManager::Security8021xSetting::EapMethodFast);
+-        m_ui->auth->setItemData(3, 
NetworkManager::Security8021xSetting::EapMethodTtls);
+-        m_ui->auth->setItemData(4, 
NetworkManager::Security8021xSetting::EapMethodPeap);
++        m_ui->auth->setItemData(2, 
NetworkManager::Security8021xSetting::EapMethodPwd);
++        m_ui->auth->setItemData(3, 
NetworkManager::Security8021xSetting::EapMethodFast);
++        m_ui->auth->setItemData(4, 
NetworkManager::Security8021xSetting::EapMethodTtls);
++        m_ui->auth->setItemData(5, 
NetworkManager::Security8021xSetting::EapMethodPeap);
+     }
+ 
+     // Set PEAP authentication as default
+@@ -88,6 +91,8 @@ Security8021x::Security8021x(const 
NetworkManager::Setting::Ptr &setting, bool w
+     connect(m_ui->leapPassword, &PasswordField::passwordOptionChanged, this, 
&Security8021x::slotWidgetChanged);
+     connect(m_ui->fastAllowPacProvisioning, &QCheckBox::stateChanged, this, 
&Security8021x::slotWidgetChanged);
+     connect(m_ui->pacFile, &KUrlRequester::textChanged, this, 
&Security8021x::slotWidgetChanged);
++    connect(m_ui->pwdUsername, &KLineEdit::textChanged, this, 
&Security8021x::slotWidgetChanged);
++    connect(m_ui->pwdPassword, &PasswordField::textChanged, this, 
&Security8021x::slotWidgetChanged);
+     connect(m_ui->fastUsername, &KLineEdit::textChanged, this, 
&Security8021x::slotWidgetChanged);
+     connect(m_ui->fastPassword, &PasswordField::textChanged, this, 
&Security8021x::slotWidgetChanged);
+     connect(m_ui->fastPassword, &PasswordField::passwordOptionChanged, this, 
&Security8021x::slotWidgetChanged);
+@@ -175,6 +180,18 @@ void Security8021x::loadConfig(const 
NetworkManager::Setting::Ptr &setting)
+         } else {
+             m_ui->leapPassword->setPasswordOption(PasswordField::AlwaysAsk);
+         }
++
++    } else if 
(eapMethods.contains(NetworkManager::Security8021xSetting::EapMethodPwd)) {
++        
m_ui->auth->setCurrentIndex(m_ui->auth->findData(NetworkManager::Security8021xSetting::EapMethodPwd));
++        m_ui->pwdUsername->setText(securitySetting->identity());
++
++        if 
(securitySetting->passwordFlags().testFlag(NetworkManager::Setting::None)) {
++            
m_ui->pwdPassword->setPasswordOption(PasswordField::StoreForAllUsers);
++        } else if 
(securitySetting->passwordFlags().testFlag(NetworkManager::Setting::AgentOwned))
 {
++            m_ui->pwdPassword->setPasswordOption(PasswordField::StoreForUser);
++        } else {
++            m_ui->pwdPassword->setPasswordOption(PasswordField::AlwaysAsk);
++        }
+     } else if 
(eapMethods.contains(NetworkManager::Security8021xSetting::EapMethodFast)) {
+         
m_ui->auth->setCurrentIndex(m_ui->auth->findData(NetworkManager::Security8021xSetting::EapMethodFast));
+         m_ui->fastAnonIdentity->setText(securitySetting->anonymousIdentity());
+@@ -256,6 +273,8 @@ void Security8021x::loadSecrets(const 
NetworkManager::Setting::Ptr &setting)
+             m_ui->leapPassword->setText(securitySetting->password());
+         } else if 
(eapMethods.contains(NetworkManager::Security8021xSetting::EapMethodFast)) {
+             m_ui->fastPassword->setText(securitySetting->password());
++        } else if 
(eapMethods.contains(NetworkManager::Security8021xSetting::EapMethodPwd)) {
++            m_ui->pwdPassword->setText(securitySetting->password());
+         } else if 
(eapMethods.contains(NetworkManager::Security8021xSetting::EapMethodTtls)) {
+             m_ui->ttlsPassword->setText(securitySetting->password());
+         } else if 
(eapMethods.contains(NetworkManager::Security8021xSetting::EapMethodPeap)) {
+@@ -366,6 +385,22 @@ QVariantMap Security8021x::setting() const
+         } else {
+             setting.setPasswordFlags(NetworkManager::Setting::NotSaved);
+         }
++    } else if (method == NetworkManager::Security8021xSetting::EapMethodPwd) {
++        if (!m_ui->pwdUsername->text().isEmpty()) {
++            setting.setIdentity(m_ui->pwdUsername->text());
++        }
++
++        if (m_ui->pwdPassword->passwordOption() == 
PasswordField::StoreForAllUsers) {
++            setting.setPasswordFlags(NetworkManager::Setting::None);
++        } else if (m_ui->pwdPassword->passwordOption() == 
PasswordField::StoreForUser) {
++            setting.setPasswordFlags(NetworkManager::Setting::AgentOwned);
++        } else {
++            setting.setPasswordFlags(NetworkManager::Setting::NotSaved);
++        }
++
++        if (!m_ui->pwdPassword->text().isEmpty()) {
++            setting.setPassword(m_ui->pwdPassword->text());
++        }
+     } else if (method == NetworkManager::Security8021xSetting::EapMethodFast) 
{
+         if (!m_ui->fastAnonIdentity->text().isEmpty()) {
+             setting.setAnonymousIdentity(m_ui->fastAnonIdentity->text());
+@@ -580,6 +615,8 @@ bool Security8021x::isValid() const
+         // TODO Validate other certificates??
+     } else if (method == NetworkManager::Security8021xSetting::EapMethodLeap) 
{
+         return !m_ui->leapUsername->text().isEmpty() && 
(!m_ui->leapPassword->text().isEmpty() || m_ui->leapPassword->passwordOption() 
== PasswordField::AlwaysAsk);
++    } else if (method == NetworkManager::Security8021xSetting::EapMethodPwd) {
++        return !m_ui->pwdUsername->text().isEmpty() && 
(!m_ui->pwdPassword->text().isEmpty() || m_ui->pwdPassword->passwordOption() == 
PasswordField::AlwaysAsk);
+     } else if (method == NetworkManager::Security8021xSetting::EapMethodFast) 
{
+         if (!m_ui->fastAllowPacProvisioning->isChecked() && 
!m_ui->pacFile->url().isValid()) {
+             return false;
+diff --git a/libs/editor/settings/ui/802-1x.ui 
b/libs/editor/settings/ui/802-1x.ui
+index aaa46fa..202cdf8 100644
+--- a/libs/editor/settings/ui/802-1x.ui
++++ b/libs/editor/settings/ui/802-1x.ui
+@@ -50,6 +50,11 @@
+      </item>
+      <item>
+       <property name="text">
++       <string>PWD</string>
++      </property>
++     </item>
++     <item>
++      <property name="text">
+        <string>FAST</string>
+       </property>
+      </item>
+@@ -298,6 +303,40 @@
+        </item>
+       </layout>
+      </widget>
++     <widget class="QWidget" name="pwdPage">
++      <layout class="QFormLayout" name="formLayout_8">
++       <item row="0" column="0">
++        <widget class="QLabel" name="label_33">
++         <property name="text">
++          <string>Username:</string>
++         </property>
++         <property name="buddy">
++          <cstring>md5UserName</cstring>
++         </property>
++        </widget>
++       </item>
++       <item row="0" column="1">
++        <widget class="KLineEdit" name="pwdUsername"/>
++       </item>
++       <item row="1" column="0">
++        <widget class="QLabel" name="label_34">
++         <property name="text">
++          <string>Password:</string>
++         </property>
++         <property name="buddy">
++          <cstring>md5Password</cstring>
++         </property>
++        </widget>
++       </item>
++       <item row="1" column="1">
++        <widget class="PasswordField" name="pwdPassword">
++         <property name="passwordModeEnabled" stdset="0">
++          <bool>true</bool>
++         </property>
++        </widget>
++       </item>
++      </layout>
++     </widget>
+      <widget class="QWidget" name="fastPage">
+       <layout class="QFormLayout" name="formLayout_4">
+        <item row="0" column="0">
+@@ -696,16 +735,16 @@
+    <header>kcombobox.h</header>
+   </customwidget>
+   <customwidget>
+-   <class>KUrlRequester</class>
+-   <extends>QWidget</extends>
+-   <header>kurlrequester.h</header>
+-  </customwidget>
+-  <customwidget>
+    <class>KLineEdit</class>
+    <extends>QLineEdit</extends>
+    <header>klineedit.h</header>
+   </customwidget>
+   <customwidget>
++   <class>KUrlRequester</class>
++   <extends>QWidget</extends>
++   <header>kurlrequester.h</header>
++  </customwidget>
++  <customwidget>
+    <class>PasswordField</class>
+    <extends>QLineEdit</extends>
+    <header>passwordfield.h</header>
+-- 
+cgit v0.11.2
+

diff --git a/kde-plasma/plasma-nm/plasma-nm-5.11.49.9999.ebuild 
b/kde-plasma/plasma-nm/plasma-nm-5.11.49.9999.ebuild
index a6ff8ff294..d6d9be0027 100644
--- a/kde-plasma/plasma-nm/plasma-nm-5.11.49.9999.ebuild
+++ b/kde-plasma/plasma-nm/plasma-nm-5.11.49.9999.ebuild
@@ -10,6 +10,8 @@ LICENSE="GPL-2 LGPL-2.1"
 KEYWORDS=""
 IUSE="modemmanager openconnect teamd"
 
+PATCHES=( "${FILESDIR}"/${PN}-add_EAP-PWD.patch )
+
 DEPEND="
        $(add_frameworks_dep kcompletion)
        $(add_frameworks_dep kconfig)
@@ -28,7 +30,7 @@ DEPEND="
        $(add_frameworks_dep kwidgetsaddons)
        $(add_frameworks_dep kwindowsystem)
        $(add_frameworks_dep kxmlgui)
-       $(add_frameworks_dep networkmanager-qt 'teamd=')
+       $(add_frameworks_dep networkmanager-qt 'teamd=' '5.41.0-r1')
        $(add_frameworks_dep plasma)
        $(add_frameworks_dep solid)
        $(add_qt_dep qtdbus)

Reply via email to