[network-manager-vpnc] properties: error out on unparsable strings
- From: Lubomir Rintel <lkundrak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-vpnc] properties: error out on unparsable strings
- Date: Tue, 1 Sep 2015 10:53:29 +0000 (UTC)
commit 6abf8bc722574f8a7e236534171ce757ddab62b4
Author: Lubomir Rintel <lkundrak v3 sk>
Date: Tue Sep 1 09:02:42 2015 +0200
properties: error out on unparsable strings
If we're unable to convert a string to UTF-8, error out rather than
silently ignoring the string:
# unlink /usr/lib64/gconv/ISO8859-15.so
# make check
FAIL: (basic) error importing properties/tests/pcf/iso885915.pcf: Umwandlung von Zeichensatz
»ISO-8859-15« in »UTF-8« wird nicht unterstützt
properties/nm-vpnc.c | 74 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 54 insertions(+), 20 deletions(-)
---
diff --git a/properties/nm-vpnc.c b/properties/nm-vpnc.c
index 48f9125..0f4f438 100644
--- a/properties/nm-vpnc.c
+++ b/properties/nm-vpnc.c
@@ -1306,14 +1306,16 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
nm_connection_add_setting (connection, NM_SETTING (s_ip4));
/* Interface Name */
- buf = key_file_get_string_helper (keyfile, "main", "InterfaceName", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "InterfaceName", error);
if (buf) {
g_object_set (G_OBJECT (s_con), NM_SETTING_CONNECTION_INTERFACE_NAME, buf, NULL);
g_free (buf);
}
+ if (*error)
+ goto error;
/* Gateway */
- buf = key_file_get_string_helper (keyfile, "main", "Host", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "Host", error);
if (buf) {
nm_setting_vpn_add_data_item (s_vpn, NM_VPNC_KEY_GATEWAY, buf);
g_free (buf);
@@ -1323,11 +1325,12 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
NM_VPNC_IMPORT_EXPORT_ERROR_NOT_VPNC,
"does not look like a %s VPN connection (no Host)",
VPNC_PLUGIN_NAME);
- goto error;
}
+ if (*error)
+ goto error;
/* Group name */
- buf = key_file_get_string_helper (keyfile, "main", "GroupName", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "GroupName", error);
if (buf) {
nm_setting_vpn_add_data_item (s_vpn, NM_VPNC_KEY_ID, buf);
g_free (buf);
@@ -1337,25 +1340,32 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
NM_VPNC_IMPORT_EXPORT_ERROR_BAD_DATA,
"does not look like a %s VPN connection (no GroupName)",
VPNC_PLUGIN_NAME);
- goto error;
}
+ if (*error)
+ goto error;
/* Optional settings */
/* Connection name */
- buf = key_file_get_string_helper (keyfile, "main", "Description", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "Description", error);
+ if (*error)
+ goto error;
if (buf) {
g_object_set (s_con, NM_SETTING_CONNECTION_ID, buf, NULL);
g_free (buf);
}
- buf = key_file_get_string_helper (keyfile, "main", "Username", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "Username", error);
+ if (*error)
+ goto error;
if (buf) {
nm_setting_vpn_add_data_item (s_vpn, NM_VPNC_KEY_XAUTH_USER, buf);
g_free (buf);
}
- buf = key_file_get_string_helper (keyfile, "main", "UserPassword", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "UserPassword", error);
+ if (*error)
+ goto error;
if (buf) {
nm_setting_vpn_add_secret (s_vpn, NM_VPNC_KEY_XAUTH_PASSWORD, buf);
nm_setting_set_secret_flags (NM_SETTING (s_vpn),
@@ -1365,7 +1375,9 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
g_free (buf);
}
- bool_value = key_file_get_boolean_helper (keyfile, "main", "SaveUserPassword", NULL);
+ bool_value = key_file_get_boolean_helper (keyfile, "main", "SaveUserPassword", error);
+ if (*error)
+ goto error;
flags = NM_SETTING_SECRET_FLAG_AGENT_OWNED;
if (bool_value) {
nm_setting_vpn_add_data_item (s_vpn,
@@ -1376,7 +1388,9 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
}
nm_setting_set_secret_flags (NM_SETTING (s_vpn), NM_VPNC_KEY_XAUTH_PASSWORD, flags, NULL);
- buf = key_file_get_string_helper (keyfile, "main", "GroupPwd", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "GroupPwd", error);
+ if (*error)
+ goto error;
if (buf) {
nm_setting_vpn_add_secret (s_vpn, NM_VPNC_KEY_SECRET, buf);
nm_setting_set_secret_flags (NM_SETTING (s_vpn),
@@ -1386,7 +1400,9 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
g_free (buf);
} else {
/* Handle encrypted passwords */
- buf = key_file_get_string_helper (keyfile, "main", "enc_GroupPwd", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "enc_GroupPwd", error);
+ if (*error)
+ goto error;
if (buf) {
char *decrypted;
@@ -1409,7 +1425,7 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
if (key_file_has_key_helper (keyfile, "main", "X-NM-SaveGroupPassword")) {
flags = NM_SETTING_SECRET_FLAG_AGENT_OWNED;
- bool_value = key_file_get_boolean_helper (keyfile, "main", "X-NM-SaveGroupPassword", NULL);
+ bool_value = key_file_get_boolean_helper (keyfile, "main", "X-NM-SaveGroupPassword", error);
if (bool_value) {
nm_setting_vpn_add_data_item (s_vpn,
NM_VPNC_KEY_SECRET_TYPE,
@@ -1420,17 +1436,23 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
nm_setting_set_secret_flags (NM_SETTING (s_vpn), NM_VPNC_KEY_SECRET, flags, NULL);
} else {
+ if (*error)
+ goto error;
/* If the key isn't present, assume "saved" */
nm_setting_vpn_add_data_item (s_vpn, NM_VPNC_KEY_SECRET_TYPE, NM_VPNC_PW_TYPE_SAVE);
}
- buf = key_file_get_string_helper (keyfile, "main", "NTDomain", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "NTDomain", error);
+ if (*error)
+ goto error;
if (buf) {
nm_setting_vpn_add_data_item (s_vpn, NM_VPNC_KEY_DOMAIN, buf);
g_free (buf);
}
- bool_value = key_file_get_boolean_helper (keyfile, "main", "SingleDES", NULL);
+ bool_value = key_file_get_boolean_helper (keyfile, "main", "SingleDES", error);
+ if (*error)
+ goto error;
if (bool_value)
nm_setting_vpn_add_data_item (s_vpn, NM_VPNC_KEY_SINGLE_DES, "yes");
@@ -1445,13 +1467,19 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
NM_VPNC_KEY_NAT_TRAVERSAL_MODE,
NM_VPNC_NATT_MODE_CISCO);
- bool_value = key_file_get_boolean_helper (keyfile, "main", "EnableNat", NULL);
+ bool_value = key_file_get_boolean_helper (keyfile, "main", "EnableNat", error);
+ if (*error)
+ goto error;
if (bool_value) {
gboolean natt = FALSE;
gboolean force_natt = FALSE;
- natt = key_file_get_boolean_helper (keyfile, "main", "X-NM-Use-NAT-T", NULL);
- force_natt = key_file_get_boolean_helper (keyfile, "main", "X-NM-Force-NAT-T", NULL);
+ natt = key_file_get_boolean_helper (keyfile, "main", "X-NM-Use-NAT-T", error);
+ if (*error)
+ goto error;
+ force_natt = key_file_get_boolean_helper (keyfile, "main", "X-NM-Force-NAT-T", error);
+ if (*error)
+ goto error;
/* force-natt takes precence over plain natt */
if (force_natt) {
@@ -1478,11 +1506,15 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
}
}
- bool_value = key_file_get_boolean_helper (keyfile, "main", "EnableLocalLAN", NULL);
+ bool_value = key_file_get_boolean_helper (keyfile, "main", "EnableLocalLAN", error);
+ if (*error)
+ goto error;
if (bool_value)
g_object_set (s_ip4, NM_SETTING_IP_CONFIG_NEVER_DEFAULT, TRUE, NULL);
- buf = key_file_get_string_helper (keyfile, "main", "DHGroup", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "DHGroup", error);
+ if (*error)
+ goto error;
if (buf) {
if (!strcmp (buf, "1") || !strcmp (buf, "2") || !strcmp (buf, "5")) {
char *tmp;
@@ -1493,7 +1525,9 @@ import (NMVpnEditorPlugin *plugin, const char *path, GError **error)
g_free (buf);
}
- buf = key_file_get_string_helper (keyfile, "main", "X-NM-Routes", NULL);
+ buf = key_file_get_string_helper (keyfile, "main", "X-NM-Routes", error);
+ if (*error)
+ goto error;
if (buf) {
add_routes (s_ip4, buf);
g_free (buf);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]