author | sandman <sandman> | 2002-12-15 22:04:09 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-15 22:04:09 (UTC) |
commit | a6a23d1c30e395add577eec261ae728f8d783299 (patch) (unidiff) | |
tree | e216789ee24be045fb3f6ffb4dc55ca0b25c8195 /root | |
parent | 6de66e1e2af2b3b06e53dd83338b9dc9df6190df (diff) | |
download | opie-a6a23d1c30e395add577eec261ae728f8d783299.zip opie-a6a23d1c30e395add577eec261ae728f8d783299.tar.gz opie-a6a23d1c30e395add577eec261ae728f8d783299.tar.bz2 |
moved changedns to /usr/bin (so ifup/down actually find it), and rewrote it
(runs with busybox now and doesn't write to temporary files in the current
directory, which could be anywhere)
-rwxr-xr-x | root/usr/bin/changedns | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/root/usr/bin/changedns b/root/usr/bin/changedns new file mode 100755 index 0000000..8270e86 --- a/dev/null +++ b/root/usr/bin/changedns | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | arg0="`basename $0`"# base portion of our filename | ||
4 | arg1="$1" | ||
5 | tmpfile="/tmp/resolv.conf.$$" | ||
6 | |||
7 | usage ( ) { | ||
8 | echo "usage: $arg0 -a|-r {ip} [{ip}...]" | ||
9 | rm -f $tmpfile | ||
10 | exit 1 | ||
11 | } | ||
12 | |||
13 | |||
14 | [ "$#" -le 1 ] && usage | ||
15 | |||
16 | shift | ||
17 | |||
18 | cp /etc/resolv.conf $tmpfile | ||
19 | |||
20 | case "$arg1" in | ||
21 | "-a") | ||
22 | for ip in "$@"; do | ||
23 | echo $ip | ||
24 | grep -sq "^nameserver $ip\$" $tmpfile || echo "nameserver $ip" >>$tmpfile | ||
25 | done | ||
26 | ;; | ||
27 | "-r") | ||
28 | for ip in "$@"; do | ||
29 | grep -v "^nameserver $ip\$" $tmpfile >$tmpfile.2 | ||
30 | mv $tmpfile.2 $tmpfile | ||
31 | done | ||
32 | ;; | ||
33 | *) | ||
34 | usage | ||
35 | ;; | ||
36 | esac | ||
37 | |||
38 | [ -f $tmpfile ] && cp $tmpfile /etc/resolv.conf | ||
39 | rm -f $tmpfile | ||
40 | |||
41 | exit 0 | ||
42 | |||