From ee9fe37aa2e14a2dcb7e12c773a45ac7d8033616 Mon Sep 17 00:00:00 2001 From: Niko Tyni Date: Sat, 14 Apr 2007 18:11:54 +0000 Subject: r1048@rispa: niko | 2007-04-14 21:01:51 +0300 add echoping ldap probe --- lib/Smokeping/probes/EchoPingLDAP.pm | 99 ++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 lib/Smokeping/probes/EchoPingLDAP.pm (limited to 'lib/Smokeping/probes/EchoPingLDAP.pm') diff --git a/lib/Smokeping/probes/EchoPingLDAP.pm b/lib/Smokeping/probes/EchoPingLDAP.pm new file mode 100644 index 0000000..e5aa023 --- /dev/null +++ b/lib/Smokeping/probes/EchoPingLDAP.pm @@ -0,0 +1,99 @@ +package Smokeping::probes::EchoPingLDAP; + +=head1 301 Moved Permanently + +This is a Smokeping probe module. Please use the command + +C + +to view the documentation or the command + +C + +to generate the POD document. + +=cut + +sub pod_hash { + return { + name => < < <<'DOC', +Niko Tyni +DOC + notes => <<'DOC', +The I, I and I EchoPing variables are not valid. + +Plugins, including echoping_ldap, are available starting with echoping version 6. +DOC + see_also => <, +L +DOC + } +} + +use strict; +use base qw(Smokeping::probes::EchoPingPlugin); +use Carp; + +sub plugin_args { + my $self = shift; + my $target = shift; + my @args; + my $req = $target->{vars}{ldap_request}; + push @args, "-r $req" if $req; + + my $base = $target->{vars}{ldap_base}; + push @args, "-b $base" if $base; + + my $scope = $target->{vars}{ldap_scope}; + push @args, "-s $scope" if $scope; + + return @args; +} + +sub ProbeDesc($) { + return "LDAP pings using the echoping_ldap plugin"; +} + +sub targetvars { + my $class = shift; + my $h = $class->SUPER::targetvars; + delete $h->{udp}; + delete $h->{fill}; + delete $h->{size}; + $h->{_mandatory} = [ grep { $_ ne "plugin" } @{$h->{_mandatory}}]; + $h->{plugin}{_default} = 'ldap'; + $h->{plugin}{_example} = '/path/to/ldap.so'; + return $class->_makevars($h, { + ldap_request => { + _doc => < '(objectclass=*)', + }, + ldap_base => { + _doc => < 'dc=current,dc=bugs,dc=debian,dc=org', + }, + ldap_scope => { + _doc => < 'one', + }, + }, + ); +} + +1; -- cgit v1.2.3-24-g4f1b