← Back to team overview

desktop-packages team mailing list archive

[Bug 1545302] [NEW] wpa-roam broken by fix for ifupdown #1337873

 

Public bug reported:

The following versions of ifupdown introduced a recursion check using "IFUPDOWN_<interface>" environment variables along with a new locking mechanism for ifup (see #1337873):
0.7.47.2ubuntu4.2 (in Trusty)
0.7.54ubuntu1.1 (in Wily)
0.7.54ubuntu2 (in Xenial)

This recursion check breaks the wpa-roam feature of wpasupplicant,
preventing it from loading the logical interface specified by id_str
after associating with an AP.  Specifically, after upgrading to one of
the above ifupdown versions, the '/sbin/ifup -v --force
"$WPA_IFACE=$WPA_LOGICAL_IFACE"' command run by wpa_action in
functions.sh fails with an "ifup: recursion detected for parent
interface wlan0 in post-up phase" error.

To fix the issue, functions.sh needs to run `unset "IFDOWN_$WPA_IFACE"`
before calling /sbin/ifup to prevent ifup from detecting the recursion.
The attached patch implements this change.

** Affects: wpa (Ubuntu)
     Importance: Undecided
         Status: Confirmed

** Patch added: "patch"
   https://bugs.launchpad.net/bugs/1545302/+attachment/4570963/+files/patch

** Description changed:

- The following versions of ifupdown introduced a recursion check using "IFUPDOWN_<interface>" environment variables along with a new locking mechanism for ifup:
+ The following versions of ifupdown introduced a recursion check using "IFUPDOWN_<interface>" environment variables along with a new locking mechanism for ifup (see #1337873):
  0.7.47.2ubuntu4.2 (in Trusty)
  0.7.54ubuntu1.1 (in Wily)
  0.7.54ubuntu2 (in Xenial)
  
  This recursion check breaks the wpa-roam feature of wpasupplicant,
  preventing it from loading the logical interface specified by id_str
  after associating with an AP.  Specifically, after upgrading to one of
  the above ifupdown versions, the '/sbin/ifup -v --force
  "$WPA_IFACE=$WPA_LOGICAL_IFACE"' command run by wpa_action in
  functions.sh fails with an "ifup: recursion detected for parent
  interface wlan0 in post-up phase" error.
  
  To fix the issue, functions.sh needs to run `unset "IFDOWN_$WPA_IFACE"`
  before calling /sbin/ifup to prevent ifup from detecting the recursion.
  The attached patch implements this change.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to wpa in Ubuntu.
https://bugs.launchpad.net/bugs/1545302

Title:
  wpa-roam broken by fix for ifupdown #1337873

Status in wpa package in Ubuntu:
  Confirmed

Bug description:
  The following versions of ifupdown introduced a recursion check using "IFUPDOWN_<interface>" environment variables along with a new locking mechanism for ifup (see #1337873):
  0.7.47.2ubuntu4.2 (in Trusty)
  0.7.54ubuntu1.1 (in Wily)
  0.7.54ubuntu2 (in Xenial)

  This recursion check breaks the wpa-roam feature of wpasupplicant,
  preventing it from loading the logical interface specified by id_str
  after associating with an AP.  Specifically, after upgrading to one of
  the above ifupdown versions, the '/sbin/ifup -v --force
  "$WPA_IFACE=$WPA_LOGICAL_IFACE"' command run by wpa_action in
  functions.sh fails with an "ifup: recursion detected for parent
  interface wlan0 in post-up phase" error.

  To fix the issue, functions.sh needs to run `unset
  "IFDOWN_$WPA_IFACE"` before calling /sbin/ifup to prevent ifup from
  detecting the recursion.  The attached patch implements this change.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/wpa/+bug/1545302/+subscriptions


Follow ups