Index: plasma-nm-5.15.5/vpn/strongswan/nm-strongswan-service.h
===================================================================
--- plasma-nm-5.15.5/vpn/strongswan/nm-strongswan-service.h
+++ plasma-nm-5.15.5/vpn/strongswan/nm-strongswan-service.h
@@ -37,6 +37,9 @@
#define NM_STRONGSWAN_INNERIP "virtual"
#define NM_STRONGSWAN_ENCAP "encap"
#define NM_STRONGSWAN_IPCOMP "ipcomp"
+#define NM_STRONGSWAN_PROPOSAL "proposal"
+#define NM_STRONGSWAN_IKE "ike"
+#define NM_STRONGSWAN_ESP "esp"
#define NM_STRONGSWAN_AUTH_KEY "key"
#define NM_STRONGSWAN_AUTH_AGENT "agent"
Index: plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui
===================================================================
--- plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui
+++ plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui
@@ -6,8 +6,8 @@
0
0
- 490
- 460
+ 518
+ 581
@@ -287,6 +287,53 @@
+
+ -
+
+
+ Enable Custom Cipher Proposals
+
+
+ true
+
+
+ false
+
+
+
-
+
+
-
+
+
+ IKE:
+
+
+
+ -
+
+
+ A list of proposals for IKE separated by ";"
+
+
+
+ -
+
+
+ ESP:
+
+
+
+ -
+
+
+ A list of proposals for ESP separated by ";"
+
+
+
+
+
+
+
-
Index: plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp
===================================================================
--- plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp
+++ plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp
@@ -49,6 +49,7 @@
// Connect for validity check
connect(d->ui.leGateway, &QLineEdit::textChanged, this, &StrongswanSettingWidget::slotWidgetChanged);
+ connect(d->ui.proposal, &QGroupBox::toggled, this, &SettingWidget::settingChanged);
KAcceleratorManager::manage(this);
@@ -97,6 +98,9 @@
d->ui.innerIP->setChecked(dataMap[NM_STRONGSWAN_INNERIP] == "yes");
d->ui.udpEncap->setChecked(dataMap[NM_STRONGSWAN_ENCAP] == "yes");
d->ui.ipComp->setChecked(dataMap[NM_STRONGSWAN_IPCOMP] == "yes");
+ d->ui.proposal->setChecked(dataMap[NM_STRONGSWAN_PROPOSAL] == "yes");
+ d->ui.ike->setText(dataMap[NM_STRONGSWAN_IKE]);
+ d->ui.esp->setText(dataMap[NM_STRONGSWAN_ESP]);
}
void StrongswanSettingWidget::loadSecrets(const NetworkManager::Setting::Ptr &setting)
@@ -148,6 +152,12 @@
data.insert(NM_STRONGSWAN_INNERIP, d->ui.innerIP->isChecked() ? "yes" : "no");
data.insert(NM_STRONGSWAN_ENCAP, d->ui.udpEncap->isChecked() ? "yes" : "no");
data.insert(NM_STRONGSWAN_IPCOMP, d->ui.ipComp->isChecked() ? "yes" : "no");
+ if (d->ui.proposal->isChecked()) {
+ data.insert(NM_STRONGSWAN_PROPOSAL, "yes");
+ data.insert(NM_STRONGSWAN_IKE, d->ui.ike->text());
+ data.insert(NM_STRONGSWAN_ESP, d->ui.esp->text());
+ } else
+ data.insert(NM_STRONGSWAN_PROPOSAL, "no");
// save it all
setting.setData(data);