Skip to content

Commit e8608d1

Browse files
committed
[munin-run] cleanup
- format with perltidy - fix some perlciritc warnings
1 parent 91c2bde commit e8608d1

File tree

3 files changed

+58
-55
lines changed

3 files changed

+58
-55
lines changed

.perlcriticrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,6 @@ severity = 5
4444

4545
[Variables::ProhibitUnusedVariables]
4646
severity = 5
47+
48+
[Subroutines::RequireFinalReturn]
49+
terminal_funcs = Pod::Usage::pod2usage

lib/Munin/Node/Config.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ sub parse_config_from_file
4949

5050
# Check permissions of configuration
5151
unless (Munin::Node::OS->check_perms_if_paranoid($file)) {
52-
croak "Fatal error. Bailing out.";
52+
croak "Permissions of file '$file' failed. Bailing out.";
5353
}
5454
return $self->SUPER::parse_config_from_file(@_);
5555
}

script/munin-run

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ use Munin::Node::Service;
3434

3535
use English qw(-no_match_vars);
3636

37-
my $services;
3837
my $servicedir;
3938
my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf";
4039
my $DEBUG = 0;
@@ -44,31 +43,29 @@ my $paranoia = 0;
4443

4544
my $config = Munin::Node::Config->instance();
4645

47-
sub main
48-
{
49-
my ($plugin, $arg) = parse_args();
46+
sub main {
47+
my ( $plugin, $arg ) = parse_args();
5048

5149
# Loads the settings from munin-node.conf.
5250
# Ensures that, where options can be set both in the config and in
5351
# @ARGV, the latter takes precedence.
5452
$paranoia = $config->{paranoia};
5553

56-
my $config = Munin::Node::Config->instance();
5754
$config->parse_config_from_file($conffile);
5855

59-
$services = Munin::Node::Service->new(
56+
my $services = Munin::Node::Service->new(
6057
servicedir => $servicedir,
6158
defuser => $config->{defuser},
6259
defgroup => $config->{defgroup},
6360
pidebug => $PIDEBUG,
6461
);
6562

66-
$config->reinitialize({
67-
%$config,
68-
paranoia => $paranoia,
69-
});
63+
$config->reinitialize( {
64+
%{$config}, ## no critic qw(ValuesAndExpressions::ProhibitCommaSeparatedStatements)
65+
paranoia => $paranoia,
66+
} );
7067

71-
unless ($services->is_a_runnable_service($plugin)) {
68+
unless ( $services->is_a_runnable_service($plugin) ) {
7269
print STDERR "# Unknown service '$plugin'\n";
7370
exit 1;
7471
}
@@ -77,78 +74,81 @@ sub main
7774

7875
# no need for a timeout -- the user can kill this process any
7976
# time they want.
80-
$services->exec_service($plugin, $arg);
77+
$services->exec_service( $plugin, $arg );
8178

8279
# Never reached, but just in case...
8380
print STDERR "# FATAL: Failed to exec.\n";
8481
exit 42;
8582
}
8683

8784

88-
sub parse_args
89-
{
85+
sub parse_args {
86+
9087
# Default configuration values
91-
my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d";
88+
my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d";
9289
my $sconffile;
9390

94-
my ($plugin, $arg);
95-
96-
print_usage_and_exit() unless GetOptions(
97-
"config=s" => \$conffile,
98-
"debug!" => \$DEBUG,
99-
"verbose!" => \$VERBOSE,
100-
"pidebug!" => \$PIDEBUG,
101-
"servicedir=s" => \$servicedir,
102-
"sconfdir=s" => \$sconfdir,
103-
"sconffile=s" => \$sconffile,
104-
"paranoia!" => \$paranoia,
105-
"version" => \&print_version_and_exit,
106-
"help" => \&print_usage_and_exit,
107-
);
91+
my ( $plugin, $arg );
92+
93+
print_usage_and_exit()
94+
unless GetOptions(
95+
"config=s" => \$conffile,
96+
"debug!" => \$DEBUG,
97+
"verbose!" => \$VERBOSE,
98+
"pidebug!" => \$PIDEBUG,
99+
"servicedir=s" => \$servicedir,
100+
"sconfdir=s" => \$sconfdir,
101+
"sconffile=s" => \$sconffile,
102+
"paranoia!" => \$paranoia,
103+
"version" => \&print_version_and_exit,
104+
"help" => \&print_usage_and_exit,
105+
);
108106

109107
print_usage_and_exit() unless $ARGV[0];
110108

111109
# Detaint the plugin name
112-
($plugin) = ($ARGV[0] =~ m/^([-\w.:]+)$/) or die "# ERROR: Invalid plugin name '$ARGV[0].\n";
113-
if ($ARGV[1]) {
114-
($arg) = ($ARGV[1] =~ m/^(\w+)$/)
115-
or die "# ERROR: Invalid characters in argument '$ARGV[1]'.\n";
110+
($plugin) = ( $ARGV[0] =~ m/^([-\w.:]+)$/x )
111+
or die "# ERROR: Invalid plugin name '$ARGV[0]'.\n";
112+
if ( $ARGV[1] ) {
113+
($arg) = ( $ARGV[1] =~ m/^(\w+)$/x )
114+
or die "# ERROR: Invalid characters in argument '$ARGV[1]'.\n";
115+
die "# ERROR: Invalid plugin argument '$ARGV[1]'.\n"
116+
unless grep( /^$ARGV[1]$/x, qw(autoconf config suggest) );
116117
}
117118

118-
# Detaint service directory. FIXME: do more strict detainting?
119+
# Detaint service directory.
119120
if ($servicedir) {
120-
$servicedir =~ /(.*)/;
121-
$servicedir = $1;
121+
die "# ERROR: Invalid servicedir supplied.\n" unless -d $servicedir;
122+
$servicedir =~ /(.*)/x;
123+
$servicedir = $1; ## no critic qw(RegularExpressions::ProhibitCaptureWithoutTest)
122124
}
123125

124126
# Update the config
125-
$config->reinitialize({
126-
%$config,
127-
128-
sconfdir => $sconfdir,
129-
conffile => $conffile,
130-
sconffile => $sconffile,
131-
VERBOSE => $VERBOSE,
132-
DEBUG => $DEBUG,
133-
paranoia => $paranoia,
134-
});
135-
136-
return ($plugin, $arg);
127+
$config->reinitialize( {
128+
%{$config}, ## no critic qw(ValuesAndExpressions::ProhibitCommaSeparatedStatements)
129+
130+
sconfdir => $sconfdir,
131+
conffile => $conffile,
132+
sconffile => $sconffile,
133+
VERBOSE => $VERBOSE,
134+
DEBUG => $DEBUG,
135+
paranoia => $paranoia,
136+
} );
137+
138+
return ( $plugin, $arg );
137139
}
138140

139141

140-
sub print_usage_and_exit
141-
{
142+
sub print_usage_and_exit {
142143
require Pod::Usage;
143-
Pod::Usage::pod2usage(-verbose => 1);
144+
Pod::Usage::pod2usage( -verbose => 1 );
144145
}
145146

146147

147-
sub print_version_and_exit
148-
{
148+
sub print_version_and_exit {
149149
require Pod::Usage;
150150
Pod::Usage::pod2usage(
151-
-verbose => 99,
151+
-verbose => 99,
152152
-sections => 'VERSION|COPYRIGHT',
153153
);
154154
}

0 commit comments

Comments
 (0)