--- a/src/nm-vpnc-service.c 2008-11-28 16:31:34.000000000 +0100
+++ b/src/nm-vpnc-service.c 2008-12-14 16:16:42.000000000 +0100
@@ -58,6 +58,9 @@
/* Ignored option for internal use */
{ NM_VPNC_KEY_SECRET_TYPE, G_TYPE_NONE, 0, 0 },
{ NM_VPNC_KEY_XAUTH_PASSWORD_TYPE, G_TYPE_NONE, 0, 0 },
+ /* Hybrid auth */
+ { NM_VPNC_KEY_AUTHMODE, G_TYPE_STRING, 0, 0 },
+ { NM_VPNC_KEY_CA_FILE, G_TYPE_STRING, 0, 0 },
/* Legacy options that are ignored */
{ LEGACY_NAT_KEEPALIVE, G_TYPE_STRING, 0, 0 },
{ NULL, G_TYPE_NONE, 0, 0 }
diff -Nur -x '*.orig' -x '*~' network-manager-vpnc-0.7~~svn20081015t024626/properties/nm-vpnc-dialog.glade network-manager-vpnc-0.7~~svn20081015t024626.new/properties/nm-vpnc-dialog.glade
--- a/properties/nm-vpnc-dialog.glade 2008-09-08 21:55:33.000000000 +0200
+++ b/properties/nm-vpnc-dialog.glade 2008-10-31 21:05:05.000000000 +0100
@@ -40,59 +40,55 @@
-
+
True
True
- Show passwords
- 0
- True
+ False
1
2
- 4
- 5
+ 2
+ 3
+
-
+
True
- True
- False
+ 0
+ _User password:
+ True
+ group_entry
- 1
- 2
- 3
- 4
+ 2
+ 3
+ GTK_FILL
-
+
True
- 0
- Gro_up password:
- True
- group_entry
+ True
- 3
- 4
- GTK_FILL
+ 1
+ 2
+ 1
+ 2
-
+
True
- 0
- _Gateway:
- True
- gateway_entry
+ True
- GTK_FILL
+ 1
+ 2
@@ -112,56 +108,60 @@
-
+
True
- True
+ 0
+ _Gateway:
+ True
+ gateway_entry
- 1
- 2
+ GTK_FILL
-
+
True
- True
+ 0
+ Gro_up password:
+ True
+ group_entry
- 1
- 2
- 1
- 2
+ 3
+ 4
+ GTK_FILL
-
+
True
- 0
- _User password:
- True
- group_entry
+ True
+ False
- 2
- 3
- GTK_FILL
+ 1
+ 2
+ 3
+ 4
-
+
True
True
- False
+ Show passwords
+ 0
+ True
1
2
- 2
- 3
-
+ 4
+ 5
@@ -199,70 +199,93 @@
True
- 5
+ 7
2
6
6
-
+
+ True
+ True
+
+
+ 1
+ 2
+ 6
+ 7
+
-
+
+ True
+ Location of CA File
+
+
+ 6
+ 7
+
+
+
+
True
True
- Disable Dead Peer Detection
+ Enable Hybrid Authentication
0
True
1
2
- 4
- 5
+ 5
+ 6
-
+
True
-
+ Hybrid Authentication
- 1
- 2
- 2
- 3
+ 5
+ 6
-
+
+
+
+
True
- 0
- Encryption method:
+
- 2
- 3
+ 1
+ 2
+ 3
+ 4
-
+
True
0
- User name:
+ NAT traversal:
- GTK_FILL
-
+ 3
+ 4
-
+
True
True
1
2
+ 1
+ 2
@@ -280,39 +303,63 @@
-
+
True
True
1
2
- 1
- 2
-
+
True
0
- NAT traversal:
+ User name:
- 3
- 4
+ GTK_FILL
+
-
+
+ True
+ 0
+ Encryption method:
+
+
+ 2
+ 3
+
+
+
+
True
1
2
- 3
- 4
+ 2
+ 3
+
+
+
+
+ True
+ True
+ Disable Dead Peer Detection
+ 0
+ True
+
+
+ 1
+ 2
+ 4
+ 5
Index: properties/nm-vpnc.c
===================================================================
--- a/properties/nm-vpnc.c (Revision 4295)
+++ b/properties/nm-vpnc.c (Arbeitskopie)
@@ -500,7 +500,28 @@
g_signal_connect (G_OBJECT (widget), "toggled",
(GCallback) show_toggled_cb,
self);
+
+ /* hybrid auth */
+ widget = glade_xml_get_widget (priv->xml, "enable_hybrid_checkbutton");
+ g_return_val_if_fail (widget != NULL, FALSE);
+ if (s_vpn) {
+ value = nm_setting_vpn_get_data_item (s_vpn, NM_VPNC_KEY_AUTHMODE);
+ if (value && !strcmp("hybrid",value))
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
+ }
+ g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (stuff_changed_cb), self);
+
+ widget = glade_xml_get_widget (priv->xml, "ca_file_entry");
+ g_return_val_if_fail (widget != NULL, FALSE);
+ gtk_size_group_add_widget (priv->group, GTK_WIDGET (widget));
+ if (s_vpn) {
+ value = nm_setting_vpn_get_data_item (s_vpn, NM_VPNC_KEY_CA_FILE);
+ if (value && strlen (value))
+ gtk_entry_set_text (GTK_ENTRY (widget), value);
+ }
+ g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self);
+
return TRUE;
}
@@ -640,7 +661,23 @@
if (str && strlen (str) && (gpw_type != PW_TYPE_UNUSED))
nm_setting_vpn_add_secret (s_vpn, NM_VPNC_KEY_SECRET, str);
}
+
+ /* hybrid auth */
+ widget = glade_xml_get_widget (priv->xml, "enable_hybrid_checkbutton");
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
+ nm_setting_vpn_add_data_item (s_vpn,
+ g_strdup (NM_VPNC_KEY_AUTHMODE),
+ g_strdup ("hybrid"));
+ }
+ widget = glade_xml_get_widget (priv->xml, "ca_file_entry");
+ str = (char *) gtk_entry_get_text (GTK_ENTRY (widget));
+ if (str && strlen (str)) {
+ nm_setting_vpn_add_data_item (s_vpn,
+ g_strdup (NM_VPNC_KEY_CA_FILE),
+ g_strdup (str));
+ }
+
nm_connection_add_setting (connection, NM_SETTING (s_vpn));
return TRUE;
}
--- a/src/nm-vpnc-service.h 2008-11-28 16:31:34.000000000 +0100
+++ b/src/nm-vpnc-service.h 2008-12-14 16:40:25.000000000 +0100
@@ -34,6 +34,8 @@
#define NM_VPNC_KEY_NAT_TRAVERSAL_MODE "NAT Traversal Mode"
#define NM_VPNC_KEY_DPD_IDLE_TIMEOUT "DPD idle timeout (our side)"
#define NM_VPNC_KEY_CISCO_UDP_ENCAPS_PORT "Cisco UDP Encapsulation Port"
+#define NM_VPNC_KEY_AUTHMODE "IKE Authmode"
+#define NM_VPNC_KEY_CA_FILE "CA-File"
#define NM_VPNC_NATT_MODE_NATT "natt"
#define NM_VPNC_NATT_MODE_NONE "none"