2007-09-25 Dan Williams <dcbw@redhat.com>

* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): handle devices that have a
			deferred activation.  These devices are not really active _yet_,
			but need to be treated as such here.  Don't interrupt them
			automatically.

	* src/nm-device-interface.c
		- (impl_device_activate): handle devices that have a deferred activation
			like activating or active devices.  When multiple active devices
			get committed, the device shouldn't be deactivated until the
			connection details are available to avoid DoS and such.  Currently,
			any active, activating, or deferred activation device is deactivated
			here before starting the new activation request.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2873 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams
2007-09-25 06:34:05 +00:00
parent 1817c62082
commit 2366b6c346
3 changed files with 57 additions and 12 deletions

View File

@@ -223,6 +223,17 @@ impl_device_activate (NMDeviceInterface *device,
}
}
break;
case NM_STATE_DISCONNECTED:
/* Check for devices that have deferred activation requests */
for (iter = nm_manager_get_devices (manager); iter; iter = iter->next) {
NMActRequest *req = nm_device_get_act_request (NM_DEVICE (iter->data));
if (req && nm_act_request_is_deferred (req)) {
old_dev = NM_DEVICE (iter->data);
break;
}
}
break;
default:
break;
}