--- 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"