The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 1 | # Set net.<iface>.dnsN properties that contain the |
| 2 | # DNS server addresses given by the DHCP server. |
| 3 | |
Irfan Sheriff | 48d5a1d | 2012-05-23 11:51:34 -0700 | [diff] [blame] | 4 | if [[ $interface == p2p* ]] |
| 5 | then |
| 6 | intf=p2p |
| 7 | else |
| 8 | intf=$interface |
| 9 | fi |
| 10 | |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 11 | set_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 Sheriff | 48d5a1d | 2012-05-23 11:51:34 -0700 | [diff] [blame] | 19 | setprop dhcp.${intf}.dns${i} "" |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 20 | done |
Amol Mahesh | 400c611 | 2012-08-28 16:31:29 -0700 | [diff] [blame] | 21 | |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 22 | count=1 |
| 23 | for dnsaddr in ${new_domain_name_servers}; do |
Irfan Sheriff | 48d5a1d | 2012-05-23 11:51:34 -0700 | [diff] [blame] | 24 | setprop dhcp.${intf}.dns${count} ${dnsaddr} |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 25 | count=$(($count + 1)) |
| 26 | done |
Amol Mahesh | 400c611 | 2012-08-28 16:31:29 -0700 | [diff] [blame] | 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}" |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 37 | } |
| 38 | |
| 39 | unset_dns_props() |
| 40 | { |
| 41 | for i in 1 2 3 4; do |
Irfan Sheriff | 48d5a1d | 2012-05-23 11:51:34 -0700 | [diff] [blame] | 42 | setprop dhcp.${intf}.dns${i} "" |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 43 | done |
Amol Mahesh | 400c611 | 2012-08-28 16:31:29 -0700 | [diff] [blame] | 44 | |
| 45 | setprop dhcp.${interface}.domain "" |
The Android Open Source Project | f7c5421 | 2009-03-03 19:29:22 -0800 | [diff] [blame] | 46 | } |
| 47 | |
| 48 | case "${reason}" in |
| 49 | BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT) set_dns_props;; |
| 50 | EXPIRE|FAIL|IPV4LL|RELEASE|STOP) unset_dns_props;; |
| 51 | esac |