https://bugzilla.novell.com/show_bug.cgi?id=804348 https://bugzilla.novell.com/show_bug.cgi?id=804348#c0 Summary: rc.status shouldn't forward to systemctl if argument count greater than one Classification: openSUSE Product: openSUSE 12.2 Version: Final Platform: x86-64 OS/Version: openSUSE 12.2 Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: geoff@cs.hmc.edu QAContact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 /etc/rc.status attempts to create backwards compatibility for init scripts by forwarding arguments to systemctl if (a) SYSTEMD_NO_WRAP is unset and (b) systemd is running. However, some init scripts accept multiple arguments, which systemctl is unable to handle. The result is incorrect behavior. For example, when a laptop is suspended, /etc/init.d/network is called with "restart wlan0". rc.status passes the restart to systemctl, but discards all extra arguments because systemctl's design doesn't consider that possibility (violating good Unix practice in the process, I might add). The cure is to fix rc.status so that it doesn't forward to systemctl if more than one argument was provided. Well, to be fair the CORRECT fix is to modify systemctl, but that's not likely to happen. Reproducible: Always Steps to Reproduce: 1. Try /etc/init.d/network stop wlan0 on a system with multiple network connections (e.g., tun0, eth0, vmnet0) 2. 3. Actual Results: The entire network goes down. Expected Results: Only wlan0 should have stopped. If people are complaining that suspend/resume loses openvpn and vmnet connections, this is the root cause. Well, that and the related bug I'm about to submit. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.