From a6a23d1c30e395add577eec261ae728f8d783299 Mon Sep 17 00:00:00 2001 From: sandman Date: Sun, 15 Dec 2002 22:04:09 +0000 Subject: 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) --- (limited to 'bin') diff --git a/bin/changedns b/bin/changedns deleted file mode 100755 index 4760a67..0000000 --- a/bin/changedns +++ b/dev/null @@ -1,111 +0,0 @@ -#!/bin/bash - -SN="`basename $0`" # base portion of our filename -AE="-a" # switch to add an entry -RE="-r" # swithc to remove an entry -EL="/tmp/resolv.conf" # expected location of the system nameserver config file -ARGS="$@" # friendly variable name for all args - -usage(){ - echo "usage: -$SN -a {ip} [{ip}...] -$SN -r {ip} [{ip}...]" -} - -#if are there at least two arguments? -if [ "$#" -gt 1 ] -then - - #remove any old resolv.conf file - rm .resolve.conf .resolve.old .resolve.new 2> /dev/null - - #cast current nameserver file into OLD - cat "$EL" > .resolve.old - - #build IP list - for ARG in $ARGS - do - if [ "$ARG" != "$1" ] - then - IP_LIST=`echo "$IP_LIST $ARG"` - fi - done - - #select case on first switch - case "$1" in - - #case '-a' - "$AE" ) - - #for each IP in IP_LIST - for IP in $IP_LIST - do - #add nameserver entery to .newfile - echo "nameserver $IP" >> .resolve.conf - - #cat OLD into grep excluding IP lines, - #storing results into NEW - cat .resolve.old | grep -v "$IP" > .resolve.new - - #set OLD to NEW - cat .resolve.new > .resolve.old - - done - - #cat OLD onto end of .newfile - cat .resolve.new >> .resolve.conf - - #clean up work files - rm .resolve.new .resolve.old - - #move old conf file to old conf file.bak - mv "$EL" "$EL.bak" - - #move .newfile to resolve.conf file - mv .resolve.conf "$EL" - - echo "Added $IP_LIST to $EL" - ;; - - #case '-r' - "$RE" ) - - #for each IP in IP_LIST - for IP in $IP_LIST - do - #cat OLD into grep excluding IP lines, - #storing results into NEW - cat .resolve.old | grep -v "$IP" > .resolve.new - - #set OLD to NEW - cat .resolve.new > .resolve.old - - done - - #move old conf file to old conf file.bak - mv "$EL" "$EL.bak" - - #move .newfile to resolve.conf file - mv .resolve.new "$EL" - - echo "Removed $IP_LIST from $EL" - - ;; - - #case else - * ) - - usage - ;; - - - #end switch - esac - -#else -else - - usage - -#end -fi -- cgit v0.9.0.2