Unexpected behavior: make_resolv_conf is not undefined if /etc/resolv.conf is not a symlink
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
resolvconf (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The resolvconf package comes with /etc/dhcp/
However, the hook also checks if /etc/resolv.conf is a symlink. This is problematic because if /etc/resolv.conf is not a symlink then the script does not redefine make_resolv_conf() and so dhclient will overwrite /etc/resolv.conf when it configures an interface, even though the resolvconf package is installed.
The behavior I would expect would be /etc/resolv.conf never changing if resolvconf is installed and /etc/resolv.conf is not a symlink.
Debian implements the behavior I would expect.
At the very least, I think that the different behavior in Ubuntu should be documented in the man pages for resolvconf.
As far as I can tell, there's no reason to check for /etc/resolv.conf being a symlink when resolvconf itself already does that.
The patch was introduced by: http://
You are right. In the Debian version, the script is activated by "test -x /sbin/resolvconf" where the presence of /sbin/resolvconf indicates that the resolvconf package is installed. The convention in Debian is: "If the resolvconf package is installed then disable your default resolv. conf-updating behaviors and instead send the information to /sbin/resolvconf". In Debian the convention is furthermore that other packages should NOT check whether or not /etc/resolv.conf is a symlink and do things to /etc/resolv.conf if it isn't a symlink. In Debian, installing resolvconf and deleting the symlink at /etc/resolv.conf is a way of configuring the system such that the file is not updated by anything.
Unlike Debian, Ubuntu includes resolvconf in the base install. Furthermore Ubuntu has been afflicted by mysterious bug #1000244 which is the problem that in rare cases /etc/resolv.conf fails to be a symlink after resolvconf is installed. So perhaps there was a pragmatic reason for Ubuntu to make a change whose effect is to restore dhclient's default behavior when /etc/resolv.conf is not a symlink.
Nevertheless, as the Debian maintainer of resolvconf, I agree with you. :)