summaryrefslogtreecommitdiff
path: root/root
authorsandman <sandman>2002-12-15 22:04:09 (UTC)
committer sandman <sandman>2002-12-15 22:04:09 (UTC)
commita6a23d1c30e395add577eec261ae728f8d783299 (patch) (unidiff)
treee216789ee24be045fb3f6ffb4dc55ca0b25c8195 /root
parent6de66e1e2af2b3b06e53dd83338b9dc9df6190df (diff)
downloadopie-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)
Diffstat (limited to 'root') (more/less context) (ignore whitespace changes)
-rwxr-xr-xroot/usr/bin/changedns42
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
4arg1="$1"
5tmpfile="/tmp/resolv.conf.$$"
6
7usage ( ) {
8 echo "usage: $arg0 -a|-r {ip} [{ip}...]"
9 rm -f $tmpfile
10 exit 1
11}
12
13
14[ "$#" -le 1 ] && usage
15
16shift
17
18cp /etc/resolv.conf $tmpfile
19
20case "$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 ;;
36esac
37
38[ -f $tmpfile ] && cp $tmpfile /etc/resolv.conf
39rm -f $tmpfile
40
41exit 0
42