From a32dc00e1e7437e07e70ad3024fd80a867ad06cf Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 28 Jan 2010 16:44:08 -0800 Subject: Expand all possible interfaces with leases for renew Also mark all scripts as executable. --- Makefile.am | 1 + scripts/show-dhcp-leases.pl | 32 ++++++++++++++++++++++ scripts/show-users.pl | 0 scripts/vyatta-identify-interface.pl | 0 scripts/vyatta-op-dns-forwarding.pl | 0 scripts/vyatta-op-dynamic-dns.pl | 0 scripts/vyatta-reboot.pl | 0 scripts/vyatta-tshark-interface-port.pl | 0 templates/release/dhcp/interface/node.tag/node.def | 6 +--- templates/renew/dhcp/interface/node.tag/node.def | 6 +--- 10 files changed, 35 insertions(+), 10 deletions(-) create mode 100755 scripts/show-dhcp-leases.pl mode change 100644 => 100755 scripts/show-users.pl mode change 100644 => 100755 scripts/vyatta-identify-interface.pl mode change 100644 => 100755 scripts/vyatta-op-dns-forwarding.pl mode change 100644 => 100755 scripts/vyatta-op-dynamic-dns.pl mode change 100644 => 100755 scripts/vyatta-reboot.pl mode change 100644 => 100755 scripts/vyatta-tshark-interface-port.pl diff --git a/Makefile.am b/Makefile.am index fd64da3..a2ae002 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,6 +22,7 @@ bin_SCRIPTS += scripts/vyatta-cpu-summary.pl bin_SCRIPTS += scripts/yesno bin_SCRIPTS += scripts/vyatta-gettime.pl bin_SCRIPTS += scripts/show-users.pl +bin_SCRIPTS += scripts/show-dhcp-leases.pl bin_SCRIPTS += scripts/vyatta-boot-image.pl bin_SCRIPTS += scripts/vyatta-sudo bin_SCRIPTS += scripts/vyatta-show-snmp.pl diff --git a/scripts/show-dhcp-leases.pl b/scripts/show-dhcp-leases.pl new file mode 100755 index 0000000..ce0c686 --- /dev/null +++ b/scripts/show-dhcp-leases.pl @@ -0,0 +1,32 @@ +#! /usr/bin/perl + +# **** 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) 2007 Vyatta, Inc. +# All Rights Reserved. +# +# Author: Stephen Hemminger +# Date: January 2010 +# Description: Show DHCP leases +# +# **** End License **** + +use strict; + +opendir (my $dir, "/var/lib/dhcp3"); +my @leases; +while (my $f = readdir $dir) { + ($f =~ /^dhclient_(\w+)_lease$/) && push @leases, $1; +} +closedir $dir; + +print join(' ',@leases), "\n"; diff --git a/scripts/show-users.pl b/scripts/show-users.pl old mode 100644 new mode 100755 diff --git a/scripts/vyatta-identify-interface.pl b/scripts/vyatta-identify-interface.pl old mode 100644 new mode 100755 diff --git a/scripts/vyatta-op-dns-forwarding.pl b/scripts/vyatta-op-dns-forwarding.pl old mode 100644 new mode 100755 diff --git a/scripts/vyatta-op-dynamic-dns.pl b/scripts/vyatta-op-dynamic-dns.pl old mode 100644 new mode 100755 diff --git a/scripts/vyatta-reboot.pl b/scripts/vyatta-reboot.pl old mode 100644 new mode 100755 diff --git a/scripts/vyatta-tshark-interface-port.pl b/scripts/vyatta-tshark-interface-port.pl old mode 100644 new mode 100755 diff --git a/templates/release/dhcp/interface/node.tag/node.def b/templates/release/dhcp/interface/node.tag/node.def index a5cd912..f483278 100644 --- a/templates/release/dhcp/interface/node.tag/node.def +++ b/templates/release/dhcp/interface/node.tag/node.def @@ -1,7 +1,3 @@ help: Release DHCP IP address lease for specified interface -allowed: - local -a array ; - array=( /var/lib/dhcp3/eth* /var/lib/dhcp3/br* /var/lib/dhcp3/bond* ) ; - echo -n ${array[@]##*/} - +allowed: /opt/vyatta/bin/show-dhcp-leases.pl run: sudo /opt/vyatta/bin/sudo-users/vyatta-interfaces.pl --dhcp release --dev "$4" diff --git a/templates/renew/dhcp/interface/node.tag/node.def b/templates/renew/dhcp/interface/node.tag/node.def index ab6494d..7705a83 100644 --- a/templates/renew/dhcp/interface/node.tag/node.def +++ b/templates/renew/dhcp/interface/node.tag/node.def @@ -1,7 +1,3 @@ help: Renew DHCP IP address lease for specified interface -allowed: - local -a array ; - array=( /var/lib/dhcp3/eth* /var/lib/dhcp3/br* /var/lib/dhcp3/bond* ) ; - echo -n ${array[@]##*/} - +allowed: /opt/vyatta/bin/show-dhcp-leases.pl run: sudo /opt/vyatta/bin/sudo-users/vyatta-interfaces.pl --dhcp renew --dev "$4" -- cgit v1.2.3