From 39ad134b0ca1918084b2b1fc5856cc0b7a6becfc Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Tue, 30 Aug 2016 15:22:04 +0200 Subject: Revert "libnm-core/team: normalize invalid config to NULL" It's better to fail the validation of any invalid configuration instead of silently ignoring it. This reverts commit 476810c29016d569ac3885542a6c91e7af8a7f6d. --- libnm-core/nm-connection.c | 5 ++--- libnm-core/nm-setting-team-port.c | 12 ++---------- libnm-core/nm-setting-team.c | 12 ++---------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c index f39d41c58e..57f964095e 100644 --- a/libnm-core/nm-connection.c +++ b/libnm-core/nm-connection.c @@ -28,7 +28,6 @@ #include "nm-connection.h" #include "nm-connection-private.h" #include "nm-utils.h" -#include "nm-utils-private.h" #include "nm-setting-private.h" #include "nm-core-internal.h" @@ -916,7 +915,7 @@ _normalize_team_config (NMConnection *self, GHashTable *parameters) if (s_team) { const char *config = nm_setting_team_get_config (s_team); - if (config && !_nm_utils_check_valid_json (config, NULL)) { + if (config && !*config) { g_object_set (s_team, NM_SETTING_TEAM_CONFIG, NULL, NULL); return TRUE; } @@ -932,7 +931,7 @@ _normalize_team_port_config (NMConnection *self, GHashTable *parameters) if (s_team_port) { const char *config = nm_setting_team_port_get_config (s_team_port); - if (config && !_nm_utils_check_valid_json (config, NULL)) { + if (config && !*config) { g_object_set (s_team_port, NM_SETTING_TEAM_PORT_CONFIG, NULL, NULL); return TRUE; } diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c index 0d175d5ebd..123304fee6 100644 --- a/libnm-core/nm-setting-team-port.c +++ b/libnm-core/nm-setting-team-port.c @@ -122,19 +122,11 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) "%s.%s: ", NM_SETTING_TEAM_PORT_SETTING_NAME, NM_SETTING_TEAM_PORT_CONFIG); - /* for backward compatibility, we accept invalid json and normalize it */ - if (!priv->config[0]) { - /* be more forgiving to "" and let it verify() as valid because - * at least anaconda used to write such configs */ - return NM_SETTING_VERIFY_NORMALIZABLE; - } - return NM_SETTING_VERIFY_NORMALIZABLE_ERROR; + /* We treat an empty string as no config for compatibility. */ + return *priv->config ? FALSE : NM_SETTING_VERIFY_NORMALIZABLE; } } - /* NOTE: normalizable/normalizable-errors must appear at the end with decreasing severity. - * Take care to properly order statements with priv->config above. */ - return TRUE; } diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c index a559e0db78..df89694f66 100644 --- a/libnm-core/nm-setting-team.c +++ b/libnm-core/nm-setting-team.c @@ -94,19 +94,11 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) "%s.%s: ", NM_SETTING_TEAM_SETTING_NAME, NM_SETTING_TEAM_CONFIG); - /* for backward compatibility, we accept invalid json and normalize it */ - if (!priv->config[0]) { - /* be more forgiving to "" and let it verify() as valid because - * at least anaconda used to write such configs */ - return NM_SETTING_VERIFY_NORMALIZABLE; - } - return NM_SETTING_VERIFY_NORMALIZABLE_ERROR; + /* We treat an empty string as no config for compatibility. */ + return *priv->config ? FALSE : NM_SETTING_VERIFY_NORMALIZABLE; } } - /* NOTE: normalizable/normalizable-errors must appear at the end with decreasing severity. - * Take care to properly order statements with priv->config above. */ - return TRUE; } -- cgit v1.2.1