]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix ypbind on BSD
authorRoy Marples <roy@marples.name>
Tue, 10 Mar 2015 13:36:47 +0000 (13:36 +0000)
committerRoy Marples <roy@marples.name>
Tue, 10 Mar 2015 13:36:47 +0000 (13:36 +0000)
dhcpcd-hooks/50-ypbind.in

index 1421a169ff47faa79daa1654db1567a2f6e47827..a9ebbfa652fe4e4dbb330614a0f4d180a8d2ee71 100644 (file)
@@ -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