mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-09 06:10:29 +01:00
ifcfg-rh: allow missing (empty TEAM_CONFIG), which is valid configuration
When config is NULL libteam will use its own default configuration.
Commit 76c3bd9898 changed that and refused to
create 'team' setting making connection invalid. It didn't set an error as
well, which resulted in
ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-team ...
ifcfg-rh: error: (unknown)
GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
This commit is contained in:
parent
3fb13c63c3
commit
3e70fb20d4
2 changed files with 10 additions and 3 deletions
|
|
@ -136,7 +136,10 @@ _internal_new_connection (SCPluginIfcfg *self,
|
|||
PLUGIN_PRINT (IFCFG_PLUGIN_NAME, " error: %s",
|
||||
(local && local->message) ? local->message : "(unknown)");
|
||||
}
|
||||
g_propagate_error (error, local);
|
||||
if (local)
|
||||
g_propagate_error (error, local);
|
||||
else
|
||||
g_set_error (error, IFCFG_PLUGIN_ERROR, 0, "(unknown)");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4193,6 +4193,7 @@ bond_connection_from_ifcfg (const char *file,
|
|||
return connection;
|
||||
}
|
||||
|
||||
/* Check 'error' for errors. Missing config (NULL return value) is a valid case. */
|
||||
static char *
|
||||
read_team_config (shvarFile *ifcfg, const char *key, GError **error)
|
||||
{
|
||||
|
|
@ -4225,6 +4226,7 @@ make_team_setting (shvarFile *ifcfg,
|
|||
{
|
||||
NMSettingTeam *s_team;
|
||||
char *value;
|
||||
GError *local_err = NULL;
|
||||
|
||||
s_team = NM_SETTING_TEAM (nm_setting_team_new ());
|
||||
|
||||
|
|
@ -4237,9 +4239,11 @@ make_team_setting (shvarFile *ifcfg,
|
|||
g_object_set (s_team, NM_SETTING_TEAM_INTERFACE_NAME, value, NULL);
|
||||
g_free (value);
|
||||
|
||||
value = read_team_config (ifcfg, "TEAM_CONFIG", error);
|
||||
if (!value)
|
||||
value = read_team_config (ifcfg, "TEAM_CONFIG", &local_err);
|
||||
if (local_err) {
|
||||
g_propagate_error (error, local_err);
|
||||
goto error;
|
||||
}
|
||||
g_object_set (s_team, NM_SETTING_TEAM_CONFIG, value, NULL);
|
||||
g_free (value);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue