Re: [PATCH] policy: don't autoconnect disabled modems
- From: Dan Williams <dcbw redhat com>
- To: Daniel Gnoutcheff <daniel gnoutcheff name>
- Cc: networkmanager-list gnome org
- Subject: Re: [PATCH] policy: don't autoconnect disabled modems
- Date: Tue, 16 Aug 2011 16:34:51 -0500
On Tue, 2011-08-02 at 15:48 -0400, Daniel Gnoutcheff wrote:
> Normally, a device disabled via nm_device_interface_set_enabled() will
> shift into the UNAVAILABLE state. Modems, however, don't do that.
> Rather, they pretend that they are in the DISCONNECTED state, presumably
> to make it easier to re-enable them. To avoid accidentally re-enabling
> and autoconnecting a disabled modem, we need to explicitly make
> nm_device_interface_get_enabled() == true a prerequisite for
> autoconnecting.
Applied, thanks!
Dan
> ---
> src/nm-policy.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/src/nm-policy.c b/src/nm-policy.c
> index 20729fd..a42a0fa 100644
> --- a/src/nm-policy.c
> +++ b/src/nm-policy.c
> @@ -896,6 +896,9 @@ schedule_activate_check (NMPolicy *policy, NMDevice *device, guint delay_seconds
> if (state < NM_DEVICE_STATE_DISCONNECTED)
> return;
>
> + if (!nm_device_interface_get_enabled (NM_DEVICE_INTERFACE (device)))
> + return;
> +
> if (!nm_device_autoconnect_allowed (device))
> return;
>
> @@ -1054,6 +1057,12 @@ nsps_changed (NMDeviceWimax *device, NMWimaxNsp *nsp, gpointer user_data)
> }
> #endif
>
> +static void
> +modem_enabled_changed (NMDeviceModem *device, gpointer user_data)
> +{
> + schedule_activate_check ((NMPolicy *) (user_data), NM_DEVICE (device), 0);
> +}
> +
> typedef struct {
> gulong id;
> NMDevice *device;
> @@ -1088,6 +1097,8 @@ device_added (NMManager *manager, NMDevice *device, gpointer user_data)
> _connect_device_signal (policy, device, "nsp-added", nsps_changed);
> _connect_device_signal (policy, device, "nsp-removed", nsps_changed);
> #endif
> + } else if (NM_IS_DEVICE_MODEM (device)) {
> + _connect_device_signal (policy, device, NM_DEVICE_MODEM_ENABLE_CHANGED, modem_enabled_changed);
> }
> }
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]