diff -Nur -x '*.orig' -x '*~' network-manager-vpnc-0.7~~svn20081015t024626/properties/nm-vpnc.c network-manager-vpnc-0.7~~svn20081015t024626.new/properties/nm-vpnc.c
--- network-manager-vpnc-0.7~~svn20081015t024626/properties/nm-vpnc.c	2008-10-15 23:25:23.000000000 +0200
+++ network-manager-vpnc-0.7~~svn20081015t024626.new/properties/nm-vpnc.c	2008-10-31 21:03:38.000000000 +0100
@@ -381,6 +381,27 @@
 	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 = g_hash_table_lookup (s_vpn->data, NM_VPNC_KEY_AUTHMODE);
+		if (!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 = g_hash_table_lookup (s_vpn->data, 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;
 }
@@ -518,6 +539,22 @@
 			                     g_strdup (str));
 		}
 	}
+	
+	/* hybrid auth */
+	widget = glade_xml_get_widget (priv->xml, "enable_hybrid_checkbutton");
+	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
+		g_hash_table_insert (s_vpn->data,
+				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)) {
+		g_hash_table_insert (s_vpn->data,
+		                     g_strdup (NM_VPNC_KEY_CA_FILE),
+		                     g_strdup (str));
+	}
 
 	nm_connection_add_setting (connection, NM_SETTING (s_vpn));
 	return TRUE;
