Bug 659471 - NetworkManager adds hostname to localhost entry in /etc/hosts but shouldn't
Summary: NetworkManager adds hostname to localhost entry in /etc/hosts but shouldn't
Keywords:
Status: CLOSED DUPLICATE of bug 648725
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager
Version: 14
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-02 21:04 UTC by Peter Backes
Modified: 2011-02-25 19:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-02-25 19:09:02 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Peter Backes 2010-12-02 21:04:27 UTC
Description of problem:
After running NetworkManager, the hostname of my machine has been added as a new name for the loopback IP (127.0.0.1) in /etc/hosts, despite the fact that I already have an entry that assigns the hostname to some specific IP address.

It does that because of the check ip4_addr && ip4_addr_matches (*line, ip4_addr) in nm_policy_get_etc_hosts().

My ip4_addr is 192.168.100.100 (eth0) but I have 192.168.1.254 as a secondary IP address for that device (eth0:0). That secondary IP address is mapped to my hostname (helen) in /etc/hosts (see below).

Why can't it just leave the ipv4 stuff as is if it finds the hostname somewhere? Does it really have to check if it's a line for ip4_addr? Let me quote the commit message of http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=f6c383ff14412ea264fa8740dec84f92a89bd385 "If the user has already mapped the hostname to some other address, assume the user knows what they are doing (since they probably do) and leave that mapping alone" That is a true statement indeed!

This really caused some annoyance, since all my outgoing email was sent as user.

Version-Release number of selected component (if applicable):
NetworkManager-0.8.1-10.git20100831.fc14.i686

How reproducible:
always

Steps to Reproduce:
1. have configuration as described above
2. run NetworkManager
3. look at /etc/hosts
  
Actual results:
helen has been added as an additional hostname for the loopback IP:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       helen localhost.localdomain   localhost       localhost4
::1     helen localhost6.localdomain6 localhost6

192.168.1.254   helen.PLASMA.Xg8.DE     helen loghost

Expected results:
hosts is essentially left unmodified and helen not added as an additional hostname for the loopback IP:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain   localhost       localhost4
::1     localhost6.localdomain6 localhost6

192.168.1.254   helen.PLASMA.Xg8.DE     helen loghost

Additional info:
This is similar to the already fixed bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567411 but the ip4_addr_matches (*line, ip4_addr) seems to have been introduced after that fix.

Comment 1 Peter Backes 2010-12-03 02:06:16 UTC
BTW, in case it's not clear from what I wrote: I think it shouldn't add the hostname to the ipv6 ::1 either if there is a ipv4 entry (but no ipv6 entry) that contains it. Since having the hostname on ::1 causes the same breakage (mail system using localhost.localdomain; hostname -f not working properly etc.). It shouldn't change the above /etc/hosts at all IMO if hostname is helen.

Comment 2 Dan Williams 2011-02-25 19:09:02 UTC
NM no longer touches /etc/hosts.

*** This bug has been marked as a duplicate of bug 648725 ***


Note You need to log in before you can comment on or make changes to this bug.