mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-27 07:00:09 +01:00
device: ppp: check that connection has a PPPoE parent
NMDevicePPP only handles connections with the pppoe.parent property set. match_connection() already checks this when we creating a new device. We should also perform the same check in check_connection_compatible(). Fixes:6c3195931e('core: implement activation of PPP devices') https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/203 (cherry picked from commit17f4a1e794) (cherry picked from commit5ca888d693)
This commit is contained in:
parent
d4141a1806
commit
ae4e82c30f
1 changed files with 20 additions and 0 deletions
|
|
@ -117,6 +117,25 @@ ppp_ip4_config (NMPPPManager *ppp_manager,
|
|||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
check_connection_compatible (NMDevice *device, NMConnection *connection, GError **error)
|
||||
{
|
||||
NMSettingPppoe *s_pppoe;
|
||||
|
||||
if (!NM_DEVICE_CLASS (nm_device_ppp_parent_class)->check_connection_compatible (device, connection, error))
|
||||
return FALSE;
|
||||
|
||||
s_pppoe = nm_connection_get_setting_pppoe (connection);
|
||||
if ( !s_pppoe
|
||||
|| !nm_setting_pppoe_get_parent (s_pppoe)) {
|
||||
nm_utils_error_set_literal (error, NM_UTILS_ERROR_CONNECTION_AVAILABLE_INCOMPATIBLE,
|
||||
"the connection doesn't specify a PPPoE parent interface");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static NMActStageReturn
|
||||
act_stage2_config (NMDevice *device, NMDeviceStateReason *out_failure_reason)
|
||||
{
|
||||
|
|
@ -280,6 +299,7 @@ nm_device_ppp_class_init (NMDevicePppClass *klass)
|
|||
|
||||
device_class->act_stage2_config = act_stage2_config;
|
||||
device_class->act_stage3_ip_config_start = act_stage3_ip_config_start;
|
||||
device_class->check_connection_compatible = check_connection_compatible;
|
||||
device_class->create_and_realize = create_and_realize;
|
||||
device_class->deactivate = deactivate;
|
||||
device_class->get_generic_capabilities = get_generic_capabilities;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue