Public bug reported:

In wicd-daemon.py the main() function backs up and restores
/etc/resolv.conf. To back up it does

    shutil.copy2('/etc/resolv.conf', wpath.varlib + 'resolv.conf.orig')

which is like the following shell command.

   cp -p /etc/resolv.conf path/resolv.conf.orig

Note that if /etc/resolv.conf is a symbolic link to another file, the
shutil.copy2() copies the contents to the target; it does not create an
equivalent symbolic link at the target.

To restore, it does

    shutil.move(wpath.varlib + 'resolv.conf.orig', '/etc/resolv.conf')

which is like the following.

    mv path/resolv.conf.orig /etc/resolv.conf

If /etc/resolv.conf was a symbolic link before the backup-and-restore
sequence then afterwards it is a plain file with the contents of the
target of that symlink. Put more bluntly, it clobbers the symlink.

Resolvconf, which is part of the Ubuntu base install since 12.04, makes
use of a symbolic link /etc/resolv.conf ->
../run/resolvconf/resolv.conf. Therefore it appears that wicd-daemon.py
will break any system using resolvconf, i.e., the majority of Ubuntu
systems since 12.04.

I was just reading the wicd code and this bug report arises from that
reading, not from testing. But even if the code in question isn't
currently executed it should be fixed.

** Affects: wicd (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1073695

Title:
  wicd-daemon.py clobbers /etc/resolv.conf

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to