diff options
author | Dan Williams <dcbw@redhat.com> | 2008-09-04 14:32:14 +0000 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2008-09-04 14:32:14 +0000 |
commit | ba15ee5f506b3b87c5f2200be62776970582e82c (patch) | |
tree | d3d29f66c9d9a56865afd568dac53daba8c7faf4 /libnm-util/nm-setting-vpn.h | |
parent | f5dea691d7adbf4446256182cc22f3a0ed983688 (diff) | |
download | NetworkManager-ba15ee5f506b3b87c5f2200be62776970582e82c.tar.gz |
2008-09-04 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-vpn.c
libnm-util/nm-setting-vpn.h
- Split VPN secrets from VPN data so that settings services can actually
figure out that they are secrets and store them accordingly
* system-settings/plugins/keyfile/nm-keyfile-connection.c
system-settings/plugins/keyfile/reader.c
system-settings/plugins/keyfile/reader.h
system-settings/plugins/keyfile/writer.c
- Store VPN secrets separately from VPN data so that they can be fetched
on demand
- Implement the get_secrets() call so that (a) secrets don't leak out
to unprivileged callers, and (b) secrets can be sent to privileged
callers when needed
* vpn-daemons/vpnc/src/nm-vpnc-service.c
- Handle split VPN secrets
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4031 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'libnm-util/nm-setting-vpn.h')
-rw-r--r-- | libnm-util/nm-setting-vpn.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libnm-util/nm-setting-vpn.h b/libnm-util/nm-setting-vpn.h index f87365e63d..ff7a80e4fd 100644 --- a/libnm-util/nm-setting-vpn.h +++ b/libnm-util/nm-setting-vpn.h @@ -55,6 +55,7 @@ GQuark nm_setting_vpn_error_quark (void); #define NM_SETTING_VPN_SERVICE_TYPE "service-type" #define NM_SETTING_VPN_USER_NAME "user-name" #define NM_SETTING_VPN_DATA "data" +#define NM_SETTING_VPN_SECRETS "secrets" typedef struct { NMSetting parent; @@ -72,9 +73,18 @@ typedef struct { * a char * -> char * mapping, and both the key * and value are owned by the hash table, and should * be allocated with functions whose value can be - * freed with g_free() + * freed with g_free(). Should not contain secrets. */ GHashTable *data; + + /* The hash table is created at setting object + * init time and should not be replaced. It is + * a char * -> char * mapping, and both the key + * and value are owned by the hash table, and should + * be allocated with functions whose value can be + * freed with g_free(). Should contain secrets only. + */ + GHashTable *secrets; } NMSettingVPN; typedef struct { |