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);