diff --git a/plasma-nm-5.15.5/vpn/strongswan/nm-strongswan-service.h b/plasma-nm-5.15.5/vpn/strongswan/nm-strongswan-service.h
--- a/plasma-nm-5.15.5/vpn/strongswan/nm-strongswan-service.h
+++ b/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"
diff --git a/plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui b/plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui
--- a/plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui
+++ b/plasma-nm-5.15.5/vpn/strongswan/strongswanprop.ui
@@ -6,8 +6,8 @@
0
0
- 490
- 460
+ 518
+ 581
@@ -285,6 +285,54 @@
+ -
+
+
+ Cipher proposals
+
+
+
-
+
+
+ Enable custom proposals
+
+
+
+ -
+
+
-
+
+
+ IKE:
+
+
+
+ -
+
+
+ A list of proposals for IKE separated by ";"
+
+
+
+ -
+
+
+ ESP:
+
+
+
+ -
+
+
+ A list of proposals for ESP separated by ";"
+
+
+
+
+
+
+
+
@@ -349,5 +397,37 @@
+
+ proposal
+ toggled(bool)
+ ike
+ setEnabled(bool)
+
+
+ 258
+ 466
+
+
+ 276
+ 499
+
+
+
+
+ proposal
+ toggled(bool)
+ esp
+ setEnabled(bool)
+
+
+ 258
+ 466
+
+
+ 276
+ 536
+
+
+
diff --git a/plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp b/plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp
--- a/plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp
+++ b/plasma-nm-5.15.5/vpn/strongswan/strongswanwidget.cpp
@@ -97,6 +97,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 +151,9 @@
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");
+ data.insert(NM_STRONGSWAN_PROPOSAL, d->ui.proposal->isChecked() ? "yes" : "no");
+ data.insert(NM_STRONGSWAN_IKE, d->ui.ike->text());
+ data.insert(NM_STRONGSWAN_ESP, d->ui.esp->text());
// save it all
setting.setData(data);