From f77373aa1db9ab81c909286177a3daaf510e14fa Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Mon, 21 Jan 2019 18:06:44 +0100 Subject: [PATCH] Plugintools added ip2long & long2ip Former-commit-id: 5c5f9589a32947ce2d9a725e504661a11c8311ee --- pandora_server/lib/PandoraFMS/PluginTools.pm | 26 ++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/PluginTools.pm b/pandora_server/lib/PandoraFMS/PluginTools.pm index 24ba123397..7f59a34945 100644 --- a/pandora_server/lib/PandoraFMS/PluginTools.pm +++ b/pandora_server/lib/PandoraFMS/PluginTools.pm @@ -18,7 +18,7 @@ use warnings; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Request::Common; - +use Socket qw(inet_ntoa inet_aton); use File::Copy; use Scalar::Util qw(looks_like_number); use Time::HiRes qw(time); @@ -40,6 +40,8 @@ our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); our @EXPORT = qw( + __ip_to_long + __long_to_ip api_available api_call api_create_custom_field @@ -128,6 +130,22 @@ sub check_lib_version { return 1; } +############################################################################### +# Returns IP address(v4) in longint format +############################################################################### +sub __ip_to_long { + my $ip_str = shift; + return unpack "N", inet_aton($ip_str); +} + +############################################################################### +# Returns IP address(v4) in longint format +############################################################################### +sub __long_to_ip { + my $ip_long = shift; + return inet_ntoa pack("N", ($ip_long)); +} + ################################################################################ # Convert CSV string to hash ################################################################################ @@ -491,7 +509,11 @@ sub print_agent { if (ref($modules_def) eq "ARRAY") { foreach my $module (@{$modules_def}) { - $xml .= print_module($config, $module,1); + if (ref($module) eq "HASH" && (defined $module->{'name'})) { + $xml .= print_module($config, $module,1); + } elsif (ref($module) eq "HASH" && (defined $module->{'discovery'})) { + $xml .= print_discovery_module($config, $module,1); + } } } elsif (ref($modules_def) eq "HASH" && (defined $modules_def->{'name'})) { $xml .= print_module($config, $modules_def,1);