Fixed regression where hostnames with hyphens were rejected (1581402 - Holger Weiss)

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1528 f882894a-f735-0410-b71e-b25c423dba1c
This commit is contained in:
Ton Voon 2006-10-26 21:02:21 +00:00
parent 287f5e29c6
commit 6728e60669
3 changed files with 39 additions and 27 deletions

View file

@ -20,6 +20,7 @@ TESTS = @SCRIPT_TEST@
test:
perl -I $(top_builddir) -I $(top_srcdir) ../test.pl
perl -I $(top_builddir) -I $(top_srcdir) ../test.pl t/utils.t # utils.t is excluded from above, so manually ask to test
CLEANFILES=$(libexec_SCRIPTS)

34
plugins-scripts/t/utils.t Normal file
View file

@ -0,0 +1,34 @@
#!/usr/bin/perl -w -I ..
#
# utils.pm tests
#
# $Id$
#
#use strict;
use Test::More;
use NPTest;
use lib "..";
use utils;
my $hostname_checks = {
"www.altinity.com" => 1,
"www.888.com" => 1,
"888.com" => 1,
"host-hyphened.com" => 1,
"rubbish" => 1,
"-start.com" => 0,
"endsindot." => 0,
"lots.of.dots.dot.org" => 1,
"10.20.30.40" => 1,
"10.20.30.40.50" => 0,
"10.20.30" => 0,
};
plan tests => scalar keys %$hostname_checks;
foreach my $h (sort keys %$hostname_checks) {
is (utils::is_hostname($h), $hostname_checks->{$h}, "$h should return ".$hostname_checks->{$h});
}

View file

@ -1,32 +1,9 @@
# Utility drawer for Nagios plugins.
# $Id$
#
# $Log$
# Revision 1.9 2006/10/19 18:44:53 tonvoon
# Allow hostnames beginning with digits (O'Shaughnessy Evans - 1567390)
#
# Revision 1.8 2006/06/07 14:23:12 seanius
# removed stale references to PATH_TO_NTPFOO, as it's no longer used.
#
# Revision 1.7 2003/04/13 04:25:36 sghosh
# update for check_mailq - qmail support
#
# Revision 1.6 2003/02/03 20:29:55 sghosh
# change ntpdc to ntpq (Jonathan Rozes,Thomas Schimpke, bug-656237 )
#
# Revision 1.5 2002/10/30 05:07:29 sghosh
# monitor mailq
#
# Revision 1.4 2002/05/27 02:01:09 sghosh
# new var - smbclient
#
# Revision 1.3 2002/05/10 03:49:22 sghosh
# added programs to autoconf
#
# Revision 1.2 2002/05/08 05:10:35 sghosh
# is_hostname added, update CODES to POSIX
#
#
# This will be deprecated soon. Please use Nagios::Plugin from CPAN
# for new plugins
package utils;
require Exporter;
@ -76,7 +53,7 @@ sub usage {
sub is_hostname {
my $host1 = shift;
if ($host1 && $host1 =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*)$/) {
if ($host1 && $host1 =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z0-9][-a-zA-Z0-9]+(\.[a-zA-Z0-9][-a-zA-Z0-9]+)*)$/) {
return 1;
}else{
return 0;