systemd-networkd-resolvconf-update.service incorrectly published domain limited DNS servers to /etc/resolv.conf

Bug #1587762 reported by Andy Whitcroft
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

When configuring networkd to supply DNS information for resolved for a DNS server which is to only be used for specific domains only (routed DNS) the DNS server incorrectly gets added to /etc/resolv.conf as a global DNS server.

Tags: patch resolved
Revision history for this message
Andy Whitcroft (apw) wrote :

As per IRC discussions we want to disable the resolvconf configuration integration when using resolved. We also only want to configure interfaces where the DNS server does not have domain routing enabled.

The attached patch should achieve both of these. We still need to update the tests.

tags: added: patch
Revision history for this message
Andy Whitcroft (apw) wrote :

This is a a sanitised version of the network file I am attempting to use.

Revision history for this message
Martin Pitt (pitti) wrote :
Changed in systemd (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

This needs to be forwarded upstream too, as resolved's own generated resolv.conf also does this. Plus, the test case should get added upstream.

Changed in systemd:
assignee: nobody → Martin Pitt (pitti)
status: New → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :
Changed in systemd:
assignee: Martin Pitt (pitti) → nobody
no longer affects: systemd
Martin Pitt (pitti)
tags: added: resolved
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 230-2git1

---------------
systemd (230-2git1) yakkety; urgency=medium

  [ Martin Pitt ]
  * debian/tests/boot-and-services: Adjust test_tmp_mount() for fixed
    systemctl exit code for "unit not found" in upstream commit ca473d57.
  * debian/tests/boot-and-services, test_no_failed(): Show journal of failed
    units.
  * debian/extra/init-functions.d/40-systemd: Adjust to changed systemctl
    show behaviour in 231: now this fails for nonexisting units instead of
    succeeding with "not-found". Make the code compatible to both for now.
  * resolved: Disable DNSSEC by default again, until the various crashes get
    fixed. (LP: #1587727, #1587740, #1587762, #1587740)
  * Fix networkd integration with resolvconf for domain-limited DNS servers,
    so that these don't appear as global nameservers in resolv.conf. Thanks
    Andy Whitcroft for the initial fix! Add corresponding test case to
    debian/tests/networkd. (LP: #1587762)

  [ Michael Biebl ]
  * Add "systemctl daemon-reload" to lsb init-functions hook if the LoadState
    of a service is "not-found". This will run systemd-sysv-generator, so SysV
    init scripts that aren't installed by the package manager should be picked
    up automatically. (Closes: #825913)

 -- Martin Pitt <email address hidden> Thu, 02 Jun 2016 11:18:32 +0200

Changed in systemd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.