From 9b6def2fc92a229f6446e7b10676ca8ca9bf49ab Mon Sep 17 00:00:00 2001 From: John Southworth Date: Tue, 1 Nov 2011 11:31:39 -0500 Subject: Wait for user to hit enter before continuing with a reboot --- scripts/vyatta-reboot.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/vyatta-reboot.pl b/scripts/vyatta-reboot.pl index f738986..3dc212c 100755 --- a/scripts/vyatta-reboot.pl +++ b/scripts/vyatta-reboot.pl @@ -116,7 +116,7 @@ if ($action eq "reboot") { do_reboot($login); } else { if (defined($ENV{VYATTA_PROCESS_CLIENT} && $ENV{VYATTA_PROCESS_CLIENT} eq 'gui2_rest') || - prompt("Proceed with reboot? (Yes/No) [No] ", -yn1d=>"n")) { + prompt("Proceed with reboot? (Yes/No) [No] ", -ynd=>"n")) { do_reboot($login); } else { print "Reboot canceled\n"; -- cgit v1.2.3 From 0e7340bf6b421b698578a908fa67ca6f629d698c Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 9 Nov 2011 08:13:45 -0800 Subject: Fix perlcritic warning about bareword file handle dhcpv6-show-leases use 3 arg open and local file handle --- scripts/dhcpv6-client-show-leases.pl | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/dhcpv6-client-show-leases.pl b/scripts/dhcpv6-client-show-leases.pl index 546668c..44be689 100644 --- a/scripts/dhcpv6-client-show-leases.pl +++ b/scripts/dhcpv6-client-show-leases.pl @@ -74,13 +74,11 @@ my %ghash = (); foreach my $lease_filename (@lease_files) { my @lines=(); - if (!open(LEASE_FILE, "; - close(LEASE_FILE); + @lines = <$f>; + close $f; chomp @lines; my $level = 0; -- cgit v1.2.3 From 02396d787f4f693622b3d0aef675473ff417a783 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 9 Nov 2011 08:17:28 -0800 Subject: cleanup rename-image 1. Get rid of perl critic warnings about use of bare file handles and open 2. Use perl rather than system() to copy and move files and check for errors. 3. Use perl rather than system() to access syslog. --- scripts/rename-image.pl | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'scripts') diff --git a/scripts/rename-image.pl b/scripts/rename-image.pl index 8632334..be30967 100644 --- a/scripts/rename-image.pl +++ b/scripts/rename-image.pl @@ -24,6 +24,8 @@ use strict; use warnings; use Getopt::Long; use File::Temp qw/ tempfile tempdir /; +use File::Copy; +use Sys::Syslog qw/:standard :macros/; my $UNION_BOOT = '/live/image/boot'; my $XEN_DEFAULT_IMAGE = "$UNION_BOOT/%%default_image"; @@ -99,16 +101,14 @@ my $tmpfh; my $tmpfilename; ($tmpfh, $tmpfilename) = tempfile(); -if (!open (GRUBFH, "<${image_path}/grub/grub.cfg")) { - printf("Can't open grub file.\n"); - exit 1; -} +open (my $grubfh, '<', "${image_path}/grub/grub.cfg") + or die "Can't open grub file.\n"; # This is sensitive to the format of menu entries and boot paths # in the grub config file. # my $line; -while ($line = ) { +while ($line = <$grubfh>) { $line =~ s/\/boot\/$old_name/\/boot\/$new_name/g; $line =~ s/Vyatta $old_name/Vyatta $new_name/; $line =~ s/Vyatta image $old_name/Vyatta image $new_name/; @@ -117,13 +117,14 @@ while ($line = ) { } close($tmpfh); -close(GRUBFH); +close($grubfh); -system("mv $image_path/$old_name $image_path/$new_name"); -system("cp $tmpfilename $image_path/grub/grub.cfg"); +mv("$image_path/$old_name", "$image_path/$new_name") + or die "rename $old_name to $new_name failed: $!\n"; +cp($tmpfilename, "$image_path/grub/grub.cfg") + or die "copy $tmpfilename to grub.cfg failed: $!\n"; -system("logger -p local3.warning -t 'SystemImage' 'System image $old_name has been renamed $new_name'"); +syslog("warning", "System image $old_name has been renamed $new_name"); printf("Done.\n"); - -- cgit v1.2.3 From e81cb347e56e9b3cec8faa119aacbc0ef7ce9cef Mon Sep 17 00:00:00 2001 From: Gaurav Sinha Date: Wed, 9 Nov 2011 16:31:09 -0800 Subject: :Fixing bug 4086, added support for showing domain overrides --- scripts/vyatta-op-dns-forwarding.pl | 51 ++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/vyatta-op-dns-forwarding.pl b/scripts/vyatta-op-dns-forwarding.pl index 99b5eac..a20cf45 100755 --- a/scripts/vyatta-op-dns-forwarding.pl +++ b/scripts/vyatta-op-dns-forwarding.pl @@ -67,8 +67,24 @@ sub get_nameserver_stats { $show_stats_output .= "Nameserver statistics\n"; $show_stats_output .= "---------------------\n"; - my @grepped_lines = `grep ': server' $dnsmasq_log`; + #To show overridden domain servers seperately, we need to compare IPs + #configured for the domain overrides in the config with the stats. + + my $vyatta_config = new Vyatta::Config; + $vyatta_config->setLevel("service dns forwarding"); + + my @domains = $vyatta_config->listOrigNodes("domain"); + my @domain_servers_list; + #build a list of servers that are overriding global nameservers + if (@domains) { + foreach my $domain (@domains) { + push(@domain_servers_list, $vyatta_config->returnOrigValue("domain $domain server")); + } + } + my $found_overrides = 0; + my $show_stats_overrides; + my @grepped_lines = `grep ': server' $dnsmasq_log`; foreach my $lines (@grepped_lines) { my @each_line = split(/\s+/, $lines); my $nameserver_word = $each_line[5]; @@ -79,9 +95,17 @@ sub get_nameserver_stats { my $queries_sent = $queries_sent_split[0]; my $queries_retried_failed = $each_line[12]; - $show_stats_output .= "Server: $nameserver\nQueries sent: $queries_sent\nQueries retried or failed: $queries_retried_failed\n\n"; - + if (grep {$_ eq $nameserver}@domain_servers_list) { + if (!$found_overrides) { + $found_overrides = 1; + $show_stats_overrides .= "\nDomain Override Servers\n\n"; + } + $show_stats_overrides .= "Server: $nameserver\nQueries sent: $queries_sent\nQueries retried or failed: $queries_retried_failed\n\n"; + } else { + $show_stats_output .= "Server: $nameserver\nQueries sent: $queries_sent\nQueries retried or failed: $queries_retried_failed\n\n"; + } } + $show_stats_output .= $show_stats_overrides; } sub print_stats { @@ -162,17 +186,36 @@ sub get_dns_nameservers { $show_nameservers_output .= "-----------------------------------------------\n"; $show_nameservers_output .= " Nameservers configured for DNS forwarding\n"; $show_nameservers_output .= "-----------------------------------------------\n"; + + my $line_flag; + ## server=/test.com/1.1.1.1 foreach my $line (@dnsmasq_conf_nameservers) { my @split_line = split(/=/, $line); my @nameserver_array = split(/\s+/, $split_line[1]); my $nameserver = $nameserver_array[0]; + my $domain; + my @domain_tokens; + + if ($nameserver_array[2] eq "domain-override") + { + #$nameserver has /test.com/1.1.1.1, seperate it. + @domain_tokens = split(/\//, $nameserver); + if (!defined($line_flag)) { + $line_flag = 1; + $show_nameservers_output .= "\n"; + $show_nameservers_output .= "Domain Overrides\n"; + $show_nameservers_output .= "\n"; + } + } $active_nameservers[$active_nameserver_count] = $nameserver; $active_nameserver_count++; my $nameserver_via = $nameserver_array[2]; if (@nameserver_array > 3){ my $dhcp_interface = $nameserver_array[3]; $show_nameservers_output .= "$nameserver available via '$nameserver_via $dhcp_interface'\n"; - } else { + } elsif (@domain_tokens) { + $show_nameservers_output .= "$domain_tokens[1] uses $domain_tokens[2] via '$nameserver_via'\n"; + } else { $show_nameservers_output .= "$nameserver available via '$nameserver_via'\n"; } } -- cgit v1.2.3