blob: fa4c1e64d919fb5542933a5cbb264e499c630530 [file] [log] [blame]
lh0d3f4db2022-09-17 00:16:39 -07001#!/bin/sh
2# dns event handling script
3#
4
5RESOLV_CONF="/etc/resolv.conf"
6
7usage() {
8 echo "Usage: $0 {set/clean} dns..."
9 exit 1
10}
11
12clean() {
13 # clean /etc/resolv.conf
14 cat /dev/null > $RESOLV_CONF
15}
16
17show() {
18 cat $RESOLV_CONF
19}
20
21takelock()
22{
23 while [ -f "/tmp/dns_lock_fd" ]; do
24 :
25 echo "lock dns file now!"
26 sleep 1;
27 done
28 echo 1 > "/tmp/dns_lock_fd"
29}
30
31givelock()
32{
33 rm /tmp/dns_lock_fd
34}
35
36
37rmV4DNS(){
38 cat /etc/resolv.conf | grep : > /var/dns6
39 cat /var/dns6 > /etc/resolv.conf
40}
41
42rmV6DNS(){
43 cat /etc/resolv.conf | grep -v : > /var/dns4
44 cat /var/dns4 > /etc/resolv.conf
45}
46
47
48count=1
49if [ $# \< $count ] ; then
50 usage
51fi
52
53
54
55 takelock;
56case "$1" in
57
58 set)
59
60 rmV4DNS;
61 i=2
62 total=$#
63 while [ $i -le $total ];
64 do
65 shift
66 dns=$1
67 echo "adding dns " $dns
68 echo nameserver "$dns" >> $RESOLV_CONF
69 i=`expr $i + 1`
70 done
71 show
72 ;;
73
74 setv6)
75
76 rmV6DNS;
77 i=2
78 total=$#
79 while [ $i -le $total ];
80 do
81 shift
82 dns=$1
83 echo "adding dns " $dns
84 echo nameserver "$dns" >> $RESOLV_CONF
85 i=`expr $i + 1`
86 done
87 show
88 ;;
89
90
91 rmv4)
92 rmV4DNS
93 ;;
94 rmv6)
95 rmV6DNS
96 ;;
97
98
99 clean)
100 clean
101 ;;
102
103 *)
104 usage
105 ;;
106esac
107 givelock;