Package: resolvconf
Version: 1.92
Severity: normal
Tags: ipv6 patch

Dear Maintainer,

When using dhcpcd-base, as is now default with ifupdown, the resolvers 
discovered via DHCP are placed above those from RDNSS.
It appears that somewhere along the line dhcpcd changed the filenames used to 
render this information.
Namely, DHCP discovered information is written to ${interface}.dhcp and RDNSS 
information is written to ${interface}.ra

Since these patterns are not called out in the interface-order file, it falls 
through to the glob at the end of the file,
and 'dhcp' comes before 'ra' in alpha sorting.

--
root@minnehaha:~# resolvconf -l
# resolv.conf from eth0.dhcp
nameserver 172.31.3.30
# resolv.conf from eth0.ra
search home.nivex.net int.home.nivex.net
nameserver fd60:e0:a0f4:121::10

root@minnehaha:~# cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "resolvectl status" to see details about the actual nameservers.

nameserver 172.31.3.30
nameserver fd60:e0:a0f4:121::10
search home.nivex.net int.home.nivex.net
--

The simplest solution would be to include patterns for '.ra' near their inet6 
counterparts.
I have included a patch for this that produces the desired result on my system.

--
root@minnehaha:/tmp# resolvconf -l
# resolv.conf from eth0.ra
search home.nivex.net int.home.nivex.net
nameserver fd60:e0:a0f4:121::10
# resolv.conf from eth0.dhcp
nameserver 172.31.3.30

root@minnehaha:/tmp# cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "resolvectl status" to see details about the actual nameservers.

nameserver fd60:e0:a0f4:121::10
nameserver 172.31.3.30
search home.nivex.net int.home.nivex.net
--

However, I think this file is ripe for a larger cleanup effort.
Not only has dhcpcd apparently changed its output format, pump hasn't been a 
thing in many years.

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

Kernel: Linux 6.12.12+bpo-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages resolvconf depends on:
ii  debconf [debconf-2.0]      1.5.89
ii  sysvinit-utils [lsb-base]  3.14-3

resolvconf recommends no packages.

resolvconf suggests no packages.

-- debconf information excluded
--- etc/resolvconf/interface-order      2023-11-26 14:18:54.000000000 +0000
+++ /etc/resolvconf/interface-order     2025-03-17 18:24:58.031040855 +0000
@@ -11,21 +11,25 @@
 em+([0-9])?(_+([0-9]))*
 p+([0-9])p+([0-9])?(_+([0-9]))*
 en+([bcosxpP])*([^.]).inet6
+en+([bcosxpP])*([^.]).ra
 en+([bcosxpP])*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
 en+([bcosxpP])*([^.]).inet
 en+([bcosxpP])*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
 en+([bcosxpP])*
 @(br|eth)*([^.]).inet6
+@(br|eth)*([^.]).ra
 @(br|eth)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
 @(br|eth)*([^.]).inet
 @(br|eth)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
 @(br|eth)*
 wl+([bcosxpP])*([^.]).inet6
+wl+([bcosxpP])*([^.]).ra
 wl+([bcosxpP])*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
 wl+([bcosxpP])*([^.]).inet
 wl+([bcosxpP])*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
 wl+([bcosxpP])*
 @(ath|wifi|wlan)*([^.]).inet6
+@(ath|wifi|wlan)*([^.]).ra
 @(ath|wifi|wlan)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
 @(ath|wifi|wlan)*([^.]).inet
 @(ath|wifi|wlan)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)

Reply via email to