Skip to content
  • intrigeri's avatar
    Migrate tails-unblock-network to a systemd service, that handles starting NetworkManager. · 3b126b4a
    intrigeri authored
    In the current state of things, this change merely speeds up login a bit since
    this allows us to start this service in a non-blocking way in Tails Greeter,
    without losing the ability to retrieve its status and output later.
    That's the first step towards Will-fix: #8327.
    Also, we move the "start NetworkManager as soon as the network is unblocked"
    logic to tails-unblock-network.service.
    Previously, /usr/local/sbin/tails-unblock-network (started by
    tails-unblock-network.service) would manually start NetworkManager services.
    This feels ugly, since it encodes systemd unit ordering in /usr/local/sbin/,
    while it really belongs to the unit files themselves.
    So, we use:
     * Requires= to trigger the startup of the NM services;
     * Before= to ensure that said startup only happens once the network
       has been unblocked.
    Note that tails-unblock-network.service is *not* WantedBy
    Otherwise, it would try to start on boot before the user has had the chance to
    opt-out from MAC spoofing. And then it would fail, since its EnvironmentFile
    (/var/lib/gdm3/tails.physical_security) does not exist yet.