diff --git a/vpn/l2tp/l2tpadvanced.ui b/vpn/l2tp/l2tpadvanced.ui
--- a/vpn/l2tp/l2tpadvanced.ui
+++ b/vpn/l2tp/l2tpadvanced.ui
@@ -7,7 +7,7 @@
0
0
382
- 151
+ 254
@@ -23,13 +23,16 @@
-
+
+ false
+
- Group Name:
+ Gateway ID:
-
-
+
false
@@ -37,13 +40,16 @@
-
+
+ false
+
- Gateway ID:
+ Pre-shared Key:
-
-
+
false
@@ -51,19 +57,52 @@
-
+
+ false
+
- Pre-shared Key:
+ Phase1 algorithms:
-
-
+
+
+ false
+
+
+
+ -
+
false
+
+ Phase2 algorithms:
+
- -
+
-
+
+
+ false
+
+
+
+ -
+
+
+ false
+
+
+ Enforce UDP encapsulation
+
+
+ true
+
+
+
+ -
QDialogButtonBox::Cancel|QDialogButtonBox::Ok
@@ -93,7 +132,7 @@
cbEnableTunnelToHost
toggled(bool)
- groupName
+ presharedKey
setEnabled(bool)
@@ -102,23 +141,119 @@
209
- 39
+ 91
cbEnableTunnelToHost
toggled(bool)
- presharedKey
+ ike
setEnabled(bool)
- 159
- 14
+ 190
+ 16
209
- 91
+ 65
+
+
+
+
+ cbEnableTunnelToHost
+ toggled(bool)
+ esp
+ setEnabled(bool)
+
+
+ 190
+ 16
+
+
+ 209
+ 65
+
+
+
+
+ cbEnableTunnelToHost
+ toggled(bool)
+ cbForceEncaps
+ setEnabled(bool)
+
+
+ 190
+ 16
+
+
+ 209
+ 65
+
+
+
+
+ cbEnableTunnelToHost
+ toggled(bool)
+ label_2
+ setEnabled(bool)
+
+
+ 190
+ 16
+
+
+ 75
+ 87
+
+
+
+
+ cbEnableTunnelToHost
+ toggled(bool)
+ label
+ setEnabled(bool)
+
+
+ 190
+ 16
+
+
+ 86
+ 49
+
+
+
+
+ cbEnableTunnelToHost
+ toggled(bool)
+ label_3
+ setEnabled(bool)
+
+
+ 190
+ 16
+
+
+ 64
+ 125
+
+
+
+
+ cbEnableTunnelToHost
+ toggled(bool)
+ label_4
+ setEnabled(bool)
+
+
+ 190
+ 16
+
+
+ 64
+ 163
diff --git a/vpn/l2tp/l2tpadvancedwidget.cpp b/vpn/l2tp/l2tpadvancedwidget.cpp
--- a/vpn/l2tp/l2tpadvancedwidget.cpp
+++ b/vpn/l2tp/l2tpadvancedwidget.cpp
@@ -48,8 +48,14 @@
if (setting->data().value(NM_L2TP_KEY_IPSEC_ENABLE) == "yes") {
m_ui->cbEnableTunnelToHost->setChecked(true);
m_ui->gatewayId->setText(setting->data().value(NM_L2TP_KEY_IPSEC_GATEWAY_ID));
- m_ui->groupName->setText(setting->data().value(NM_L2TP_KEY_IPSEC_GROUP_NAME));
m_ui->presharedKey->setText(setting->data().value(NM_L2TP_KEY_IPSEC_PSK));
+ m_ui->ike->setText(setting->data().value(NM_L2TP_KEY_IPSEC_IKE));
+ m_ui->esp->setText(setting->data().value(NM_L2TP_KEY_IPSEC_ESP));
+ if (setting->data().value(NM_L2TP_KEY_IPSEC_FORCEENCAPS) == "yes" ) {
+ m_ui->cbForceEncaps->setChecked(true);
+ } else {
+ m_ui->cbForceEncaps->setChecked(false);
+ }
} else {
m_ui->cbEnableTunnelToHost->setChecked(false);
}
@@ -66,13 +72,21 @@
result.insert(NM_L2TP_KEY_IPSEC_GATEWAY_ID, m_ui->gatewayId->text());
}
- if (!m_ui->groupName->text().isEmpty()) {
- result.insert(NM_L2TP_KEY_IPSEC_GROUP_NAME, m_ui->groupName->text());
- }
-
if (!m_ui->presharedKey->text().isEmpty()) {
result.insert(NM_L2TP_KEY_IPSEC_PSK, m_ui->presharedKey->text());
}
+
+ if (!m_ui->ike->text().isEmpty()) {
+ result.insert(NM_L2TP_KEY_IPSEC_IKE, m_ui->ike->text());
+ }
+
+ if (!m_ui->esp->text().isEmpty()) {
+ result.insert(NM_L2TP_KEY_IPSEC_ESP, m_ui->esp->text());
+ }
+
+ if (m_ui->cbForceEncaps->isChecked()) {
+ result.insert(NM_L2TP_KEY_IPSEC_FORCEENCAPS, "yes");
+ }
}
return result;
diff --git a/vpn/l2tp/nm-l2tp-service.h b/vpn/l2tp/nm-l2tp-service.h
--- a/vpn/l2tp/nm-l2tp-service.h
+++ b/vpn/l2tp/nm-l2tp-service.h
@@ -17,21 +17,22 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * (C) Copyright 2008 Red Hat, Inc.
+ * Copyright 2008, 2014 Red Hat, Inc.
*/
-#ifndef NM_L2TP_SERVICE_H
-#define NM_L2TP_SERVICE_H
+#ifndef NM_L2TP_SERVICE_DEFINES_H
+#define NM_L2TP_SERVICE_DEFINES_H
-#define NM_DBUS_SERVICE_L2TP_PPP "org.freedesktop.NetworkManager.l2tp-ppp"
-#define NM_DBUS_PATH_L2TP_PPP "/org/freedesktop/NetworkManager/l2tp/ppp"
-#define NM_DBUS_INTERFACE_L2TP_PPP "org.freedesktop.NetworkManager.l2tp.ppp"
+#define NM_DBUS_SERVICE_L2TP "org.freedesktop.NetworkManager.l2tp"
/* For the NM <-> VPN plugin service */
-#define NM_DBUS_SERVICE_L2TP "org.freedesktop.NetworkManager.l2tp"
#define NM_DBUS_INTERFACE_L2TP "org.freedesktop.NetworkManager.l2tp"
#define NM_DBUS_PATH_L2TP "/org/freedesktop/NetworkManager/l2tp"
+/* For the VPN plugin service <-> PPP plugin */
+#define NM_DBUS_INTERFACE_L2TP_PPP "org.freedesktop.NetworkManager.l2tp.ppp"
+#define NM_DBUS_PATH_L2TP_PPP "/org/freedesktop/NetworkManager/l2tp/ppp"
+
#define NM_L2TP_KEY_GATEWAY "gateway"
#define NM_L2TP_KEY_USER "user"
#define NM_L2TP_KEY_PASSWORD "password"
@@ -58,10 +59,14 @@
#define NM_L2TP_KEY_NO_ACCOMP "noaccomp"
#define NM_L2TP_KEY_LCP_ECHO_FAILURE "lcp-echo-failure"
#define NM_L2TP_KEY_LCP_ECHO_INTERVAL "lcp-echo-interval"
+#define NM_L2TP_KEY_UNIT_NUM "unit"
#define NM_L2TP_KEY_IPSEC_ENABLE "ipsec-enabled"
#define NM_L2TP_KEY_IPSEC_GATEWAY_ID "ipsec-gateway-id"
#define NM_L2TP_KEY_IPSEC_GROUP_NAME "ipsec-group-name"
#define NM_L2TP_KEY_IPSEC_PSK "ipsec-psk"
+#define NM_L2TP_KEY_IPSEC_IKE "ipsec-ike"
+#define NM_L2TP_KEY_IPSEC_ESP "ipsec-esp"
+#define NM_L2TP_KEY_IPSEC_FORCEENCAPS "ipsec-forceencaps"
-#endif /* NM_L2TP_SERVICE_H */
+#endif /* NM_L2TP_SERVICE_DEFINES_H */