libnm: canonicalize local/remote IP address in NMSettingVxlan

This commit is contained in:
Thomas Haller 2020-10-20 13:33:54 +02:00
parent 676fe327d4
commit c7e55b232a
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

View file

@ -378,6 +378,19 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
/*****************************************************************************/
static void
_addrstr_set(char **dst, const char *src)
{
gs_free char *old = NULL;
old = *dst;
if (!src)
*dst = NULL;
else if (!nm_utils_parse_inaddr(AF_UNSPEC, src, dst))
*dst = g_strdup(src);
}
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
@ -454,12 +467,10 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
priv->id = g_value_get_uint(value);
break;
case PROP_LOCAL:
g_free(priv->local);
priv->local = g_value_dup_string(value);
_addrstr_set(&priv->local, g_value_get_string(value));
break;
case PROP_REMOTE:
g_free(priv->remote);
priv->remote = g_value_dup_string(value);
_addrstr_set(&priv->remote, g_value_get_string(value));
break;
case PROP_SOURCE_PORT_MIN:
priv->source_port_min = g_value_get_uint(value);