summaryrefslogtreecommitdiff
path: root/libnm-util/nm-setting-vpn.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2008-09-04 14:32:14 +0000
committerDan Williams <dcbw@redhat.com>2008-09-04 14:32:14 +0000
commitba15ee5f506b3b87c5f2200be62776970582e82c (patch)
treed3d29f66c9d9a56865afd568dac53daba8c7faf4 /libnm-util/nm-setting-vpn.h
parentf5dea691d7adbf4446256182cc22f3a0ed983688 (diff)
downloadNetworkManager-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.h12
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 {