From: Roy Marples Date: Tue, 10 Mar 2015 13:36:47 +0000 (+0000) Subject: Fix ypbind on BSD X-Git-Tag: v6.8.0~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d05e9437c89028450aa8acb6d47c82f5219c7afc;p=thirdparty%2Fdhcpcd.git Fix ypbind on BSD --- diff --git a/dhcpcd-hooks/50-ypbind.in b/dhcpcd-hooks/50-ypbind.in index 1421a169..a9ebbfa6 100644 --- a/dhcpcd-hooks/50-ypbind.in +++ b/dhcpcd-hooks/50-ypbind.in @@ -12,9 +12,10 @@ best_domain() { local i= - for i in $interfaces; do - if [ -e "$ypbind_dir/$i" ]; then - cat "$ypbind_dir/$i" + for i in "$ypbind_dir/$interface_order".*; do + if [ -f "$i" ]; then + cat "$i" + return 0 fi done return 1 @@ -24,7 +25,6 @@ make_yp_binding() { [ -d "$ypbind_dir" ] || mkdir -p "$ypbind_dir" echo "$new_nis_domain" >"$ypbind_dir/$ifname" - local nd="$(best_domain)" if [ -z "$ypdomain_dir" ]; then false @@ -42,7 +42,8 @@ make_yp_binding() fi fi - if [ $? = 0 -o "$nd" != "$(domainname)" ]; then + local nd="$(best_domain)" + if [ $? = 0 -a "$nd" != "$(domainname)" ]; then domainname "$nd" if [ -n "$ypbind_restart_cmd" ]; then eval $ypbind_restart_cmd @@ -71,7 +72,7 @@ restore_yp_binding() } if [ "$reason" = PREINIT ]; then - rm -f "$ypbind_dir/$ifname" + rm -f "$ypbind_dir/$interface".* elif $if_up || $if_down; then if [ -n "$new_nis_domain" ]; then if valid_domainname "$new_nis_domain"; then