From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson To: passt-dev@passt.top Subject: [PATCH 07/18] tests: Correctly handle domain search list in dhclient-script Date: Fri, 15 Jul 2022 15:21:30 +1000 Message-ID: <20220715052141.890703-8-david@gibson.dropbear.id.au> In-Reply-To: <20220715052141.890703-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8524548167832605524==" --===============8524548167832605524== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Currently our small custom dhclient-script only handles the 'domain-name' option, which can just list a single domain, not the 'domain-search' option, which can handle several. Correct it to handle both. We also weren't emptying the resolv.conf file before we began, which could lead to surprising contents after multiple DHCP transactions. Signed-off-by: David Gibson --- test/passt.mbuto | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/passt.mbuto b/test/passt.mbuto index b33c0a8..c515a0c 100755 --- a/test/passt.mbuto +++ b/test/passt.mbuto @@ -34,13 +34,13 @@ set >> \$LOG =20 [ -n "\${new_ip_address}" ] && ip addr add \${new_ip_address}/\${ne= w_subnet_mask} dev \${interface} [ -n "\${new_routers}" ] && for r in \${new_routers}; do ip rout= e add default via \${r} dev \${interface}; done +:> /etc/resolv.conf [ -n "\${new_domain_name_servers}" ] && for d in \${new_domain_name_servers}= ; do echo "nameserver \${d}" >> /etc/resolv.conf; done -[ -n "\${new_domain_name}" ] && (printf "search"; for d in \${new_do= main_name}; do printf " %s" "\${d}"; done; printf "\n") >> /etc/resolv.conf - +[ -n "\${new_domain_name}" ] && echo "search \${new_domain_name}" >>= /etc/resolf.conf +[ -n "\${new_domain_search}" ] && (printf "search"; for d in \${new_do= main_search}; do printf " %s" "\${d}"; done; printf "\n") >> /etc/resolv.conf [ -n "\${new_ip6_address}" ] && ip addr add \${new_ip6_address}/\${n= ew_ip6_prefixlen} dev \${interface} [ -n "\${new_dhcp6_name_servers}" ] && for d in \${new_dhcp6_name_servers};= do echo "nameserver \${d}%\${interface}" >> /etc/resolv.conf; done [ -n "\${new_dhcp6_domain_search}" ] && (printf "search"; for d in \${new_dh= cp6_domain_search}; do printf " %s" "\${d}"; done; printf "\n") >> /etc/resol= v.conf - [ -n "\${new_host_name}" ] && hostname "\${new_host_name}" exit 0 EOF --=20 2.36.1 --===============8524548167832605524==--