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)
