diff options
Diffstat (limited to 'scripts/vyatta-system-nameservers')
-rwxr-xr-x | scripts/vyatta-system-nameservers | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/scripts/vyatta-system-nameservers b/scripts/vyatta-system-nameservers deleted file mode 100755 index 9c688e80..00000000 --- a/scripts/vyatta-system-nameservers +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/bash -# -# Module: vyatta-system-nameservers -# -# **** License **** -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# This code was originally developed by Vyatta, Inc. -# Portions created by Vyatta are Copyright (C) 2008 Vyatta, Inc. -# All Rights Reserved. -# -# Author: Mohit Mehta -# Date: September 2008 -# Description: CLI back-end script for setting/deleting system nameservers -# -# **** End License **** -# - -print_usage() { - echo "Usage:" - echo -e "\t$0 update <ip of name-server>" - echo -e "\t$0 delete <ip of name-server>" -} - -restart_dnsmasq () { - # restart dnsmasq if dns-forwarding is configured - if cli-shell-api existsActive service dns forwarding; then - /opt/vyatta/sbin/vyatta-dns-forwarding.pl --update-dnsforwarding >&/dev/null - fi -} - -update_system_nameservers () { - nameserver=$1 - touch /etc/resolv.conf - # if name-server already in /etc/resolv.conf then exit - if grep -q "$nameserver\($\|[[:space:]]\)" /etc/resolv.conf; then - exit 0 - else - # find last instance of cli inserted nameserver - # insert currently received nameserver immediately after that - # this is done to keep system set nameservers priority over dhcp received nameservers - cli_ns_array=($(awk '{if (/(dhcp)/) exit 0; if (!$3) print $2}' /etc/resolv.conf)) - cli_ns_array_len=${#cli_ns_array[*]} - line_num=0 - if [ $cli_ns_array_len -gt 0 ]; then - grepped_ns_line=`grep "${cli_ns_array[$cli_ns_array_len-1]}$" -n /etc/resolv.conf` - echo ${grepped_ns_line%%:*} > /etc/resolv_tmp.conf - line_num=`cat /etc/resolv_tmp.conf` - fi - head -$line_num /etc/resolv.conf > /etc/resolv_tmp.conf - echo "nameserver $nameserver" >> /etc/resolv_tmp.conf - total_lines=`cat /etc/resolv.conf | wc -l` - rest_lines=`expr $total_lines - $line_num` - tail -$rest_lines /etc/resolv.conf >> /etc/resolv_tmp.conf - mv -f /etc/resolv_tmp.conf /etc/resolv.conf - fi - restart_dnsmasq -} - -delete_system_nameserver () { - nameserver=$1 - touch /etc/resolv.conf - # remove specified nameserver - sed -i "/$nameserver$/d" /etc/resolv.conf - restart_dnsmasq -} - -# -# main -# - -case "$1" in - update) - if [ $# -ne 2 ]; then - print_usage - exit 1 - fi - update_system_nameservers $2 - exit 0 - ;; - - delete) - if [ $# -ne 2 ]; then - print_usage - exit 1 - fi - delete_system_nameserver $2 - exit 0 - ;; - - *) - print_usage - exit 1 - ;; -esac |