blob: d19c6a930e142bcb937d733b83e93b950909a68f [file] [log] [blame]
The Android Open Source Projectf7c54212009-03-03 19:29:22 -08001# Set net.<iface>.dnsN properties that contain the
2# DNS server addresses given by the DHCP server.
3
Irfan Sheriff48d5a1d2012-05-23 11:51:34 -07004if [[ $interface == p2p* ]]
5 then
6 intf=p2p
7 else
8 intf=$interface
9fi
10
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080011set_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
Irfan Sheriff48d5a1d2012-05-23 11:51:34 -070019 setprop dhcp.${intf}.dns${i} ""
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080020 done
Amol Mahesh400c6112012-08-28 16:31:29 -070021
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080022 count=1
23 for dnsaddr in ${new_domain_name_servers}; do
Irfan Sheriff48d5a1d2012-05-23 11:51:34 -070024 setprop dhcp.${intf}.dns${count} ${dnsaddr}
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080025 count=$(($count + 1))
26 done
Amol Mahesh400c6112012-08-28 16:31:29 -070027
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}"
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080037}
38
39unset_dns_props()
40{
41 for i in 1 2 3 4; do
Irfan Sheriff48d5a1d2012-05-23 11:51:34 -070042 setprop dhcp.${intf}.dns${i} ""
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080043 done
Amol Mahesh400c6112012-08-28 16:31:29 -070044
45 setprop dhcp.${interface}.domain ""
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080046}
47
48case "${reason}" in
49BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT) set_dns_props;;
50EXPIRE|FAIL|IPV4LL|RELEASE|STOP) unset_dns_props;;
51esac