mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-23 03:04:18 +00:00
bridge: Properly check range of STP properties (rh #1160815)
If zero is out of range, only allow it when STP is disabled. https://bugzilla.redhat.com/show_bug.cgi?id=1160815
This commit is contained in:
parent
8c32ea916b
commit
2f82bf537b
|
@ -196,10 +196,14 @@ static inline gboolean
|
|||
check_range (guint32 val,
|
||||
guint32 min,
|
||||
guint32 max,
|
||||
gboolean zero,
|
||||
const char *prop,
|
||||
GError **error)
|
||||
{
|
||||
if ((val != 0) && (val < min || val > max)) {
|
||||
if (zero && val == 0)
|
||||
return TRUE;
|
||||
|
||||
if (val < min || val > max) {
|
||||
g_set_error (error,
|
||||
NM_CONNECTION_ERROR,
|
||||
NM_CONNECTION_ERROR_INVALID_PROPERTY,
|
||||
|
@ -228,6 +232,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
|
|||
if (!check_range (priv->forward_delay,
|
||||
BR_MIN_FORWARD_DELAY,
|
||||
BR_MAX_FORWARD_DELAY,
|
||||
!priv->stp,
|
||||
NM_SETTING_BRIDGE_FORWARD_DELAY,
|
||||
error))
|
||||
return FALSE;
|
||||
|
@ -235,6 +240,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
|
|||
if (!check_range (priv->hello_time,
|
||||
BR_MIN_HELLO_TIME,
|
||||
BR_MAX_HELLO_TIME,
|
||||
!priv->stp,
|
||||
NM_SETTING_BRIDGE_HELLO_TIME,
|
||||
error))
|
||||
return FALSE;
|
||||
|
@ -242,6 +248,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
|
|||
if (!check_range (priv->max_age,
|
||||
BR_MIN_MAX_AGE,
|
||||
BR_MAX_MAX_AGE,
|
||||
!priv->stp,
|
||||
NM_SETTING_BRIDGE_MAX_AGE,
|
||||
error))
|
||||
return FALSE;
|
||||
|
@ -249,6 +256,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
|
|||
if (!check_range (priv->ageing_time,
|
||||
BR_MIN_AGEING_TIME,
|
||||
BR_MAX_AGEING_TIME,
|
||||
!priv->stp,
|
||||
NM_SETTING_BRIDGE_AGEING_TIME,
|
||||
error))
|
||||
return FALSE;
|
||||
|
|
Loading…
Reference in a new issue