1# Set net.<iface>.dnsN properties that contain the 2# DNS server addresses given by the DHCP server. 3 4if [[ $interface == p2p* ]] 5 then 6 intf=p2p 7 else 8 intf=$interface 9fi 10 11set_dns_props() 12{ 13 case "${new_domain_name_servers}" in 14 "") return 0;; 15 esac 16 17 count=1 18 for i in 1 2 3 4; do 19 setprop dhcp.${intf}.dns${i} "" 20 done 21 22 count=1 23 for dnsaddr in ${new_domain_name_servers}; do 24 setprop dhcp.${intf}.dns${count} ${dnsaddr} 25 count=$(($count + 1)) 26 done 27 28 separator=" " 29 if [ -z "$new_domain_name" ]; then 30 separator="" 31 else 32 if [ -z "$new_domain_search" ]; then 33 separator="" 34 fi 35 fi 36 setprop dhcp.${interface}.domain "${new_domain_name}$separator${new_domain_search}" 37} 38 39unset_dns_props() 40{ 41 for i in 1 2 3 4; do 42 setprop dhcp.${intf}.dns${i} "" 43 done 44 45 setprop dhcp.${interface}.domain "" 46} 47 48case "${reason}" in 49BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT) set_dns_props;; 50EXPIRE|FAIL|IPV4LL|RELEASE|STOP) unset_dns_props;; 51esac 52