Skip to content


Thomas Haller requested to merge th/supplicant into master

Refactor supplicant handling.

On the surface, the biggest change appears to be that we no longer use GDBusProxy.

However, I think the biggest changes is that the states of NMSupplicantInterface got cleaned up. Creating a supplicant interface is now an async operation (with a callback). Previously, you would first create the NMSupplicantInterface in an initializing state (one of three such states). Now: you create the NMSupplicantInterface instance asynchronously, and once you have it, it's always tied to a name-owner/object-path pair.

The hardest part (in general, but also w.r.t. supplicant) is managing state. This makes NMDeviceEthernet, NMDeviceMacsec and NMDeviceWifi excessivley complicated. By having the states of the supplicant interface better defined, I think the implementation in NMDevice* can be simplified. That is not yet done, NMDevice* are only adjusted to make it work. I think there is potential to simplify them in the future.

Edited by Thomas Haller

Merge request reports