Your message dated Sat, 17 Sep 2016 12:28:13 +0000
with message-id <e1blej7-0007om...@franck.debian.org>
and subject line Bug#814785: fixed in ifupdown 0.8.14
has caused the Debian Bug report #814785,
regarding ifupdown: fails to bring up "wpa-roam" interfaces on boot
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
814785: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814785
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: ifupdown
Version: 0.8.10
Severity: normal
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

There appears to be a bit of a chicken-n-egg problem with "wpa-roam"
type interfaces, and any other type of interface which need ifup
before a carrier can be detected:
"/etc/init.d/networking start" will only call ifup on hotplug class
interfaces with a carrier.

A "wpa-roam" type interface will not be able to detect a carrier
until wpa_supplicaant has been started, which is supposed to happen
in the pre-up phase.  But there won't be any pre-up phase unless
ifup is called... catch 22.

This is the relevant part if my /etc/network/interfaces:

 # use wpa_action to control this interface
 allow-hotplug wlan0
 iface wlan0 inet manual
     wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

 # 'default' is used by wpa_cli as the fallback mapping target
 iface default inet dhcp


Note that the udev hotplug script /lib/udev/ifupdown-hotplug works
fine - unconditionally calling ifup on any new hotplug interface. So
"hotplugging" wlan0 after the system is up will bring up the interface
and start wpa_supplicant.

The problem lies in the hotplug fallback code in /etc/init.d/networking,
which AFAIU is supposed to catch interfaces hotplugged/detected *before*
the system was fully operational.  It makes ifup_hotplug depend on carrier
by testing for
   [ "$(cat /sys/class/net/$link/operstate)" = up ]

This code has been like that "forever", and I cannot explain why it
suddenly has become a problem.  I assume this might be related to udevadm
"settle" support, or some other unrelated boot process change.  The main
point is that this code now has become a problem by preventing wlan
interfaces from automatically coming up on boot.

The simple attached patch fixes the problem for me.  But I must admit
that I do not understand the intentions of the original code.  It seems
completely illogical to avoid ifup unless the link is up, but I assume
there is a reason this was found necessary.  In any case, I don't think
that reason can be valid anymore since the /lib/udev/ifupdown-hotplug
behaves differently.

(yes, I know I should probably give up and use networkd or whatever, but
FWIW the simple patch here does allow my to continue using my existin 
ifupdown+wpa_supplicant config)


Bjørn

- -- System Information:
Debian Release: 8.3
  APT prefers stable
  APT policy: (700, 'stable'), (600, 'unstable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.5.0-rc4+ (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages ifupdown depends on:
ii  adduser              3.113+nmu3
ii  init-system-helpers  1.28
ii  iproute2             4.3.0-1git
ii  libc6                2.21-7
ii  lsb-base             4.1+Debian13+nmu1

Versions of packages ifupdown recommends:
ii  isc-dhcp-client [dhcp-client]  4.3.1-6+deb8u2

Versions of packages ifupdown suggests:
ii  ppp     2.4.6-3.1
pn  rdnssd  <none>

- -- Configuration Files:
/etc/default/networking changed:
VERBOSE=yes

/etc/init.d/networking changed:
PATH="/sbin:/bin"
RUN_DIR="/run/network"
IFSTATE="$RUN_DIR/ifstate"
STATEDIR="$RUN_DIR/state"
[ -x /sbin/ifup ] || exit 0
[ -x /sbin/ifdown ] || exit 0
. /lib/lsb/init-functions
CONFIGURE_INTERFACES=yes
EXCLUDE_INTERFACES=
VERBOSE=no
[ -f /etc/default/networking ] && . /etc/default/networking
verbose=""
[ "$VERBOSE" = yes ] && verbose=-v
process_exclusions() {
    set -- $EXCLUDE_INTERFACES
    exclusions=""
    for d
    do
        exclusions="-X $d $exclusions"
    done
    echo $exclusions
}
process_options() {
    [ -e /etc/network/options ] || return 0
    log_warning_msg "/etc/network/options still exists and it will be IGNORED! 
Please use /etc/sysctl.conf instead."
}
check_ifstate() {
    if [ ! -d "$RUN_DIR" ] ; then
        if ! mkdir -p "$RUN_DIR" ; then
            log_failure_msg "can't create $RUN_DIR"
            exit 1
        fi
        if ! chown root:netdev "$RUN_DIR" ; then
            log_warning_msg "can't chown $RUN_DIR"
        fi
    fi
    if [ ! -r "$IFSTATE" ] ; then
        if ! :> "$IFSTATE" ; then
            log_failure_msg "can't initialise $IFSTATE"
            exit 1
        fi
    fi
}
check_network_file_systems() {
    [ -e /proc/mounts ] || return 0
    if [ -e /etc/iscsi/iscsi.initramfs ]; then
        log_warning_msg "not deconfiguring network interfaces: iSCSI root is 
mounted."
        exit 0
    fi
    while read DEV MTPT FSTYPE REST; do
        case $DEV in
        /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*|curlftpfs*)
            log_warning_msg "not deconfiguring network interfaces: network 
devices still mounted."
            exit 0
            ;;
        esac
        case $FSTYPE in
        
nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
            log_warning_msg "not deconfiguring network interfaces: network file 
systems still mounted."
            exit 0
            ;;
        esac
    done < /proc/mounts
}
check_network_swap() {
    [ -e /proc/swaps ] || return 0
    while read DEV MTPT FSTYPE REST; do
        case $DEV in
        /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
            log_warning_msg "not deconfiguring network interfaces: network swap 
still mounted."
            exit 0
            ;;
        esac
    done < /proc/swaps
}
ifup_hotplug () {
    if [ -d /sys/class/net ]
    then
            ifaces=$(for iface in $(ifquery --list --allow=hotplug)
                            do
                                    link=${iface##:*}
                                    link=${link##.*}
                                    if [ -e "/sys/class/net/$link" ]
                                    then
                                        echo "$iface"
                                    fi
                            done)
            if [ -n "$ifaces" ]
            then
                ifup $ifaces "$@" || true
            fi
    fi
}
case "$1" in
start)
        if init_is_upstart; then
                exit 1
        fi
        process_options
        check_ifstate
        if [ "$CONFIGURE_INTERFACES" = no ]
        then
            log_action_msg "Not configuring network interfaces, see 
/etc/default/networking"
            exit 0
        fi
        set -f
        exclusions=$(process_exclusions)
        log_action_begin_msg "Configuring network interfaces"
        if [ -x /sbin/udevadm ]; then
                if [ -n "$(ifquery --list --exclude=lo)" ] || [ -n "$(ifquery 
--list --allow=hotplug)" ]; then
                        udevadm settle || true
                fi
        fi
        if ifup -a $exclusions $verbose && ifup_hotplug $exclusions $verbose
        then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;
stop)
        if init_is_upstart; then
                exit 0
        fi
        check_network_file_systems
        check_network_swap
        log_action_begin_msg "Deconfiguring network interfaces"
        if ifdown -a --exclude=lo $verbose; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;
reload)
        if init_is_upstart; then
                exit 1
        fi
        process_options
        log_action_begin_msg "Reloading network interfaces configuration"
        state=$(ifquery --state)
        ifdown -a --exclude=lo $verbose || true
        if ifup --exclude=lo $state $verbose ; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;
force-reload|restart)
        if init_is_upstart; then
                exit 1
        fi
        process_options
        log_warning_msg "Running $0 $1 is deprecated because it may not 
re-enable some interfaces"
        log_action_begin_msg "Reconfiguring network interfaces"
        ifdown -a --exclude=lo $verbose || true
        set -f
        exclusions=$(process_exclusions)
        if ifup -a --exclude=lo $exclusions $verbose && ifup_hotplug 
$exclusions $verbose
        then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;
*)
        echo "Usage: /etc/init.d/networking 
{start|stop|reload|restart|force-reload}"
        exit 1
        ;;
esac
exit 0


- -- no debconf information

-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAlbBuHMACgkQ10rqkowbIskXPgCeNrqnFEGhMNEwWGPLh3NGFWa7
jFQAnRHFTXnvO9ZekQOxb188vmkGiZaK
=mxBr
-----END PGP SIGNATURE-----
--- /etc/init.d/networking.OLD	2015-07-19 23:45:52.000000000 +0200
+++ /etc/init.d/networking	2016-02-15 12:00:54.600641776 +0100
@@ -107,12 +107,7 @@
 				    link=${link##.*}
 				    if [ -e "/sys/class/net/$link" ]
 				    then
-					# link detection does not work unless we up the link
-					ip link set "$iface" up || true
-					if [ "$(cat /sys/class/net/$link/operstate)" = up ]
-					then
-					    echo "$iface"
-					fi
+					echo "$iface"
 				    fi
 			    done)
 	    if [ -n "$ifaces" ]

--- End Message ---
--- Begin Message ---
Source: ifupdown
Source-Version: 0.8.14

We believe that the bug you reported is fixed in the latest version of
ifupdown, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 814...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guus Sliepen <g...@debian.org> (supplier of updated ifupdown package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 17 Sep 2016 11:40:39 +0200
Source: ifupdown
Binary: ifupdown
Architecture: source amd64
Version: 0.8.14
Distribution: unstable
Urgency: medium
Maintainer: Guus Sliepen <g...@debian.org>
Changed-By: Guus Sliepen <g...@debian.org>
Description:
 ifupdown   - high level tools to configure network interfaces
Closes: 814785 830212 834820 837732
Changes:
 ifupdown (0.8.14) unstable; urgency=medium
 .
   [ Benjamin Drung ]
   * Add InfiniBand parititon key support. Closes: #830212
 .
   [ Richard Laager ]
   * Fix a crash when multiple interfaces are specified for no-scripts.
     Closes: #837732
 .
   [ Bjørn Mork ]
   * Ignore link state when bringing up hotplug interfaces at boot.
     Closes: #814785, #834820
 .
   [ Guus Sliepen ]
   * Add a test case for the no-scripts keyword.
   * Flush automatically assigned addresses on ifup when accept_ra=0.
Checksums-Sha1:
 4ffded0027e12ac71e3ca6bb2b66764a4a0bdf31 1545 ifupdown_0.8.14.dsc
 f4ba709f5db2c25d385a0b48851ea4b6661f7aa7 71968 ifupdown_0.8.14.tar.xz
 b23cfdd218f21aaa5062eb6a11d62b575a9bd60f 64878 ifupdown-dbgsym_0.8.14_amd64.deb
 cb3dfd92dbed2a48c1092edbc9c51ca8cdd51274 74530 ifupdown_0.8.14_amd64.deb
Checksums-Sha256:
 3ea5215e3051d9d304e08457e6db23cf2a51cfe6dc3be5b91ad91f2c26083189 1545 
ifupdown_0.8.14.dsc
 7efed5feb5f160d7b2df50e2e42768d8516c6a65f2541cf65a44e109541efa82 71968 
ifupdown_0.8.14.tar.xz
 41ac11a71c6e284f8d7f335acb8ad234059306ff580792bda11799f95c9a81f4 64878 
ifupdown-dbgsym_0.8.14_amd64.deb
 0c8b566e59fcf5f0046e515bffd4c5478e42bf6187eec1da2c747a483af1d8dc 74530 
ifupdown_0.8.14_amd64.deb
Files:
 be0a0146c2f7d4b9f2a1839eba29d408 1545 admin important ifupdown_0.8.14.dsc
 5e4205e34f1f8e21b8e364e68ae57de0 71968 admin important ifupdown_0.8.14.tar.xz
 faeefd31b042c883bd51bd33a8163b2c 64878 debug extra 
ifupdown-dbgsym_0.8.14_amd64.deb
 02f5cccd5e7d8fa757ff39b5bd445751 74530 admin important 
ifupdown_0.8.14_amd64.deb

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCAAGBQJX3Q/3AAoJED9JDeuHHvn6mJsQAIt/m1vPQImON0DP33O3wM48
3dxx7wJ/y6i4spR94YtMwHkBXJZRc6hEpbxPd+8imraOqmlv+kC1nE0XrtDmZZin
qGPa58tDywD6gGzL0bI8oWlssi/7lNMu6IoQBA6oFvD9nUEmtmABzsWiiuwA3cdH
alympnN8uSrFwWnIgfLsb9LnyGzayNPCk2zgezJMavswQxjitC3nIcoY5bV6sIlC
VqwmCdWqnh9zD8JCWURdbqAsf0JU5IK//Y7aVSVPSN+hi/Y0XkdvGOZK/hcWXt48
1g9RHmOY4lmQ2e/3Id40wklAmgGtEnx+TJqAzOl/KYeoG6/I0WDBcK2mwIPaD0ZV
SOACw2e5okrSShaA9NtOuHuFy379IEPwMGx9decmWa4lCJOYxJO7bEIEwiLIUzXx
VbB5v1RPT0eVgffCjAwMn8aljoZmNJQqhFloqPvT0a5DHcaORfyKmm1BM1B96g7E
OZoJ9uAjI1cxRr+CF0r2vs7PLfB8nbSTD/OAxAlPNqVqoPs4LnW4gGdNMcLBRWF7
8blO22APJGU7czHvhxVsD77F30s3FgQ6zrZASgd9JGj97NK3qN9B13Cc66VpQzC7
Y6AQqbtmmQlSJ2OWfN9ittgZRMcXUB174m0OqTsCSsBQ4y9JECAGwD2tENiYdwx7
5nbNTN6GY1JRWWqZ8wqz
=6pza
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to