1. 19 Jan, 2022 2 commits
    • Thomas Haller's avatar
      libnm: don't clear secrets during NMSimpleConnection:dispose() · 25aa6c05
      Thomas Haller authored
      NMConnection is an interface, implemented by NMSimpleConnection
      and NMRemoteConnection. A connection is basically a set of NMSetting
      Usually you would expect that one NMSetting instance only gets added to
      zero or one NMConnection. It seems a bit ugly, to have one setting tracked by
      multiple NMConnection. Still, technically I am not aware of a single problem
      with doing that, where it not for NMSimpleConnection:dispose() to clear the
      There is no need to clear the secrets of an NMSetting, when the
      NMConnection gets destroyed. Either this destroys the NMSetting instance
      right away (and NMSetting's destructor will clear the secrets anyway), or
      somebody else (e.g. another NMConnection instance), keeps the setting
      alive. In the latter case, it is wrong to clear the secrets at
      this point.
      This was done since commit 6a19e68a ('libnm-core: clear secrets from
      NMSimpleConnection and NMSettingsConnection dispose()'), but let's stop
      doing that.
      This also causes problems in practice, see [1].
      [1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1099#note_1334333
    • Thomas Haller's avatar
      l3cfg: on n-acd instance-reset clear also ready ACD state · b3316063
      Thomas Haller authored
      The n-acd instance gets reset in various cases, for example
      when the MAC address changes or during errors.
      When that happens, we also need to forget all our pending probes,
      because they would reference to a now-defunct n-acd instance.
      When the address is currently in state NM_L3_ACD_ADDR_STATE_READY,
      we possibly have a pending probe. We need to clean that up. Handle
      it the same as in the other cases. Yes, this means we forget about
      that the address was ready. But a reset of the n-acd state is a dramatic
      event. It warrants some drastic start-over.
      See-also: https://bugzilla.redhat.com/show_bug.cgi?id=2026288
      See-also: https://bugzilla.redhat.com/show_bug.cgi?id=2028422
      See-also: !1035
      Fixes: 9a76b07f ('l3cfg: fix assertion failure')
  2. 18 Jan, 2022 38 commits