mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-04-24 19:40:47 +02:00
2007-09-26 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting.c - (setting_vpn_properties_update_secrets): implement so VPN secrets actually get updated when the user enters them git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2897 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
6e47b9a495
commit
50f2ce4fc8
2 changed files with 39 additions and 0 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2007-09-26 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* libnm-util/nm-setting.c
|
||||
- (setting_vpn_properties_update_secrets): implement so VPN secrets
|
||||
actually get updated when the user enters them
|
||||
|
||||
2007-09-26 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* libnm-glib/nm-vpn-plugin.c
|
||||
|
|
|
|||
|
|
@ -1327,6 +1327,38 @@ property_value_destroy (gpointer data)
|
|||
g_slice_free (GValue, data);
|
||||
}
|
||||
|
||||
static void
|
||||
add_one_secret (gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
NMSettingVPNProperties *self = (NMSettingVPNProperties *) user_data;
|
||||
GValue * new_value;
|
||||
|
||||
if (!value || !G_VALUE_HOLDS_STRING (value))
|
||||
return;
|
||||
|
||||
new_value = g_slice_new0 (GValue);
|
||||
if (!new_value)
|
||||
return;
|
||||
|
||||
g_value_init (new_value, G_TYPE_STRING);
|
||||
g_value_copy (value, new_value);
|
||||
g_hash_table_insert (self->data, g_strdup (key), new_value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
setting_vpn_properties_update_secrets (NMSetting *setting,
|
||||
GHashTable *secrets)
|
||||
{
|
||||
NMSettingVPNProperties *self = (NMSettingVPNProperties *) setting;
|
||||
SettingMember *m;
|
||||
|
||||
g_return_val_if_fail (self != NULL, FALSE);
|
||||
g_return_val_if_fail (secrets != NULL, FALSE);
|
||||
|
||||
g_hash_table_foreach (secrets, add_one_secret, self);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static SettingMember vpn_properties_table[] = {
|
||||
{ "data", NM_S_TYPE_GVALUE_HASH, G_STRUCT_OFFSET (NMSettingVPNProperties, data), TRUE, FALSE },
|
||||
{ NULL, 0, 0 },
|
||||
|
|
@ -1344,6 +1376,7 @@ nm_setting_vpn_properties_new (void)
|
|||
setting->_members = vpn_properties_table;
|
||||
setting->verify_fn = setting_vpn_properties_verify;
|
||||
setting->hash_fn = setting_vpn_properties_hash;
|
||||
setting->update_secrets_fn = setting_vpn_properties_update_secrets;
|
||||
setting->clear_secrets_fn = default_setting_clear_secrets;
|
||||
setting->destroy_fn = setting_vpn_properties_destroy;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue