Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • NetworkManager NetworkManager
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 193
    • Issues 193
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 21
    • Merge requests 21
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • NetworkManagerNetworkManager
  • NetworkManagerNetworkManager
  • Merge requests
  • !426

[th/supplicant]

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Thomas Haller requested to merge th/supplicant into master Feb 23, 2020
  • Overview 4
  • Commits 4
  • Pipelines 23
  • Changes 15

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 Mar 04, 2020 by Thomas Haller
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: th/supplicant