diff options
-rw-r--r-- | plugins-scripts/Makefile.am | 1 | ||||
-rw-r--r-- | plugins-scripts/t/utils.t | 34 | ||||
-rw-r--r-- | plugins-scripts/utils.pm.in | 31 |
3 files changed, 39 insertions, 27 deletions
diff --git a/plugins-scripts/Makefile.am b/plugins-scripts/Makefile.am index 39291c80..6656881d 100644 --- a/plugins-scripts/Makefile.am +++ b/plugins-scripts/Makefile.am @@ -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) diff --git a/plugins-scripts/t/utils.t b/plugins-scripts/t/utils.t new file mode 100644 index 00000000..469988c9 --- /dev/null +++ b/plugins-scripts/t/utils.t @@ -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}); +} + diff --git a/plugins-scripts/utils.pm.in b/plugins-scripts/utils.pm.in index d4dddae9..e2458359 100644 --- a/plugins-scripts/utils.pm.in +++ b/plugins-scripts/utils.pm.in @@ -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; |