[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#816076: wicd-daemon: upgrade reconfigures static ethernet interface, and kills ssh sessions.



Package: wicd-daemon
Version: 1.7.4+tb2-1
Severity: serious

Dear Maintainer,

My home server is a headless box, administered from a vnc session tunnelled
over ssh.  It has no wifi adaptor, just a single ethernet port that is
statically configured via /etc/network/interfaces.

During today's package update my ssh connection died partway through, during
setup of wicd-daemon.  Last line was "Installing new version of config file
/etc/wicd/encryption/templates/wpa2-peap ..."

Then ssh refused to re-connect.

I finally got re-connected after discovering that wicd-daemon had
reconfigured eth0 to a different ip address.

(Note that if this had been a remote box, then I might not have been able to
discover the new ip address.  Potentially this might lead require in person
intervention in such cases).

This behaviour is wrong on so many levels.

1. A package upgrade should never bring down an existing in-use interface
without asking the user/admin first.  (There is a reason that ssh takes care to
not kill the existing session during package upgrades.  Consider what would
have happened if that had been a normal ssh session, and aptitude had
stalled part way through asking for user input).

2. I don't think I have ever actually used wicd.  Wicd-daemon should not
assume that just because it is installed it owns all the network interfaces.
It should only be touching interfaces it has configured/or the the user/admin
requests that it configure.

3. Even if it needs to reconfigure all interfaces, and even if we assume that
is owns all the network interfaces, it _must_ respect the admins static
configuration in /etc/network/interfaces , unless the user/admin specifically
requests it to reconfigure that interface.

Personally I think it should respect any and all pre-exisiting interfaces,
unless and until the admin/user asks for them to be changed.  That means
no touching of any interfaces it hasn't configured, including any interfaces
that the user/admin might have configured in non-standard ways, including
interactively.

I have reproduced the above problem using "aptitude reinstall wicd-daemon",
so it is definitely caused by installing the current version of wicd-daemon.

I have been through basically the same problems with network-manager in the
past.  Issues like this are why so many people are hostile to that package.

Thanks for your work on Debian.

Andrew V.
========





For reference, in case these help.


# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 192.168.1.40
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.1.1 203.12.160.35 203.12.160.36



# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.55  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a2b3:ccff:fee2:5ad3  prefixlen 64  scopeid 0x20<link>
        ether a0:b3:cc:e2:5a:d3  txqueuelen 1000  (Ethernet)
        RX packets 342875  bytes 75660357 (72.1 MiB)
        RX errors 0  dropped 60907  overruns 0  frame 0
        TX packets 302442  bytes 162293744 (154.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 18

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 31913079  bytes 22201337028 (20.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31913079  bytes 22201337028 (20.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



# ls -al /etc/wicd/
total 40
drwxr-xr-x   4 root root  4096 Feb 27 14:45 .
drwxr-xr-x 171 root root 12288 Feb 27 14:45 ..
-rw-r--r--   1 root root   927 Nov  4  2014 dhclient.conf.template
-rw-r--r--   1 root root   931 Dec 22  2014 dhclient.conf.template.default
drwxr-xr-x   3 root root  4096 Nov  4  2014 encryption
-rw-------   1 root root   485 Feb 27 14:45 manager-settings.conf
drwxr-xr-x   6 root root  4096 Nov  4  2014 scripts
-rw-------   1 root root   320 Feb 27 14:45 wired-settings.conf
-rw-------   1 root root     0 Feb 27 14:45 wireless-settings.conf



# cat /etc/wicd/wired-settings.conf
[wired-default]
ip = None
broadcast = None
netmask = None
gateway = None
search_domain = None
dns_domain = None
dns1 = None
dns2 = None
dns3 = None
beforescript = None
afterscript = None
predisconnectscript = None
postdisconnectscript = None
encryption_enabled = None
default = True
dhcphostname = <redacted>
lastused = True



# cat /etc/wicd/manager-settings.conf
[Settings]
backend = external
wireless_interface = None
wired_interface = eth0
wpa_driver = wext
always_show_wired_interface = False
use_global_dns = False
global_dns_1 = None
global_dns_2 = None
global_dns_3 = None
global_dns_dom = None
global_search_dom = None
auto_reconnect = True
debug_mode = False
wired_connect_mode = 1
signal_display_type = 0
should_verify_ap = 1
dhcp_client = 0
link_detect_tool = 0
flush_tool = 0
sudo_app = 0
prefer_wired = False
show_never_connect = True


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.3.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages wicd-daemon depends on:
ii  adduser          3.113+nmu3
ii  dbus             1.10.6-1
ii  debconf          1.5.58
ii  ethtool          1:4.2-1
ii  iproute2         4.3.0-1+b1
ii  iputils-ping     3:20121221-5+b2
ii  isc-dhcp-client  4.3.3-8
ii  lsb-base         9.20160110
ii  net-tools        1.60+git20150829.73cef8a-2
ii  psmisc           22.21-2.1+b1
ii  python-dbus      1.2.0-3
ii  python-gobject   3.18.2-2
ii  python-wicd      1.7.4+tb2-1
pn  python:any       <none>
ii  wireless-tools   30~pre9-8
ii  wpasupplicant    2.3-2.3

Versions of packages wicd-daemon recommends:
ii  rfkill                  0.5-1
ii  wicd-gtk [wicd-client]  1.7.4+tb2-1

Versions of packages wicd-daemon suggests:
ii  pm-utils  1.4.1-16

Versions of packages wicd depends on:
ii  wicd-gtk [wicd-client]  1.7.4+tb2-1

Versions of packages wicd-gtk depends on:
ii  python-glade2  2.24.0-4
ii  python-gtk2    2.24.0-4
pn  python:any     <none>

Versions of packages wicd-gtk recommends:
ii  gksu           2.0.2-9
ii  python-notify  0.1.1-4

Versions of packages python-wicd depends on:
pn  python:any  <none>

-- debconf information:
* wicd/users:


Reply to: