author | sandman <sandman> | 2002-12-15 22:04:09 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-15 22:04:09 (UTC) |
commit | a6a23d1c30e395add577eec261ae728f8d783299 (patch) (side-by-side diff) | |
tree | e216789ee24be045fb3f6ffb4dc55ca0b25c8195 /root/usr/bin/changedns | |
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 @@ +#!/bin/sh + +arg0="`basename $0`" # base portion of our filename +arg1="$1" +tmpfile="/tmp/resolv.conf.$$" + +usage ( ) { + echo "usage: $arg0 -a|-r {ip} [{ip}...]" + rm -f $tmpfile + exit 1 +} + + +[ "$#" -le 1 ] && usage + +shift + +cp /etc/resolv.conf $tmpfile + +case "$arg1" in + "-a") + for ip in "$@"; do + echo $ip + grep -sq "^nameserver $ip\$" $tmpfile || echo "nameserver $ip" >>$tmpfile + done + ;; + "-r") + for ip in "$@"; do + grep -v "^nameserver $ip\$" $tmpfile >$tmpfile.2 + mv $tmpfile.2 $tmpfile + done + ;; + *) + usage + ;; +esac + +[ -f $tmpfile ] && cp $tmpfile /etc/resolv.conf +rm -f $tmpfile + +exit 0 + |