| OLD | NEW |
| (Empty) |
| 1 # Sample dhcpcd hook for ypbind | |
| 2 # This script is only suitable for the Linux version. | |
| 3 | |
| 4 # Distributions may want to just have their command here instead of this | |
| 5 if [ -x /etc/rc.d/ypbind ]; then | |
| 6 ypbind_restart_cmd="/etc/rc.d/ypbind restart" | |
| 7 ypbind_stop_cmd="/etc/rc.d/ypbind stop" | |
| 8 elif [ -x /usr/local/etc/rc.d/ypbind ]; then | |
| 9 ypbind_restart_cmd="/usr/local/etc/rc.d/ypbind restart" | |
| 10 ypbind_stop_cmd="/usr/local/etc/rc.d/ypbind stop" | |
| 11 fi | |
| 12 | |
| 13 ypbind_dir="$state_dir/ypbind" | |
| 14 | |
| 15 best_domain() | |
| 16 { | |
| 17 local i= | |
| 18 | |
| 19 for i in $interfaces; do | |
| 20 if [ -e "$ypbind_dir/$i" ]; then | |
| 21 cat "$ypbind_dir/$i" | |
| 22 fi | |
| 23 done | |
| 24 return 1 | |
| 25 } | |
| 26 | |
| 27 make_yp_binding() | |
| 28 { | |
| 29 [ -d "$ypbind_dir" ] || mkdir -p "$ypbind_dir" | |
| 30 echo "$new_nis_domain" >"$ypbind_dir/$interface" | |
| 31 local nd="$(best_domain)" | |
| 32 | |
| 33 local cf=/var/yp/binding/"$new_nis_domain".ypservers | |
| 34 if [ -n "$new_nis_servers" ]; then | |
| 35 local ncf="$cf.$interface" x= | |
| 36 rm -f "$ncf" | |
| 37 for x in $new_nis_servers; do | |
| 38 echo "$x" >>"$ncf" | |
| 39 done | |
| 40 change_file "$cf" "$ncf" | |
| 41 else | |
| 42 # Because this is not an if .. fi then we can use $? below | |
| 43 [ -e "$cf" ] && rm "$cf" | |
| 44 fi | |
| 45 | |
| 46 if [ $? = 0 -o "$nd" != "$(domainname)" ]; then | |
| 47 domainname "$nd" | |
| 48 if [ -n "$ypbind_restart_cmd" ]; then | |
| 49 eval $ypbind_restart_cmd | |
| 50 fi | |
| 51 fi | |
| 52 } | |
| 53 | |
| 54 restore_yp_binding() | |
| 55 { | |
| 56 rm -f "$ypbind_dir/$interface" | |
| 57 local nd="$(best_domain)" | |
| 58 # We need to stop ypbind if there is no best domain | |
| 59 # otherwise it will just stall as we cannot set domainname | |
| 60 # to blank :/ | |
| 61 if [ -z "$nd" ]; then | |
| 62 if [ -n "$ypbind_stop_cmd" ]; then | |
| 63 eval $ypbind_stop_cmd | |
| 64 fi | |
| 65 elif [ "$nd" != "$(domainname)" ]; then | |
| 66 domainname "$nd" | |
| 67 if [ -n "$ypbind_restart_cmd" ]; then | |
| 68 eval $ypbind_restart_cmd | |
| 69 fi | |
| 70 fi | |
| 71 } | |
| 72 | |
| 73 case "$reason" in | |
| 74 PREINIT) | |
| 75 rm -f "$ypbind_dir/$interface" | |
| 76 ;; | |
| 77 TEST) | |
| 78 ;; | |
| 79 *) | |
| 80 if [ -n "$new_nis_domain" ]; then | |
| 81 make_yp_binding | |
| 82 elif [ -n "$old_nis_domain" ]; then | |
| 83 restore_yp_binding | |
| 84 fi | |
| 85 ;; | |
| 86 esac | |
| OLD | NEW |