ASNMTAP
view release on metacpan or search on metacpan
lib/ASNMTAP/Asnmtap/Plugins.pm view on Meta::CPAN
_HIDDEN => [ qw(&_checkAccObjRef
&_checkSubArgs0 &_checkSubArgs1 &_checkSubArgs2
&_checkReadOnly0 &_checkReadOnly1 &_checkReadOnly2
&_dumpValue) ] );
@ASNMTAP::Asnmtap::Plugins::EXPORT_OK = ( @{ $ASNMTAP::Asnmtap::Plugins::EXPORT_TAGS{ALL} } );
$ASNMTAP::Asnmtap::Plugins::VERSION = do { my @r = (q$Revision: 3.002.003$ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r };
}
our $ALARM_OFF = 0;
# Constructor & initialisation - - - - - - - - - - - - - - - - - - - - -
sub _init {
$_[0]->SUPER::_init($_[1]);
carp ('ASNMTAP::Asnmtap::Plugins: _init') if ( $_[0]->{_debug} );
# --httpdump & --dumphttp tijdelijk voor backwards compatibiliteit !!!
$_[0]->{_programUsageSuffix} = ' [-S|--status N] [-A|asnmtapEnv [F|T]|[F|T]|[F|T]] [-O|onDemand F|T|N|Y] [-L|--logging <LOGGING>] [-D|--debugfile|--httpdump|--dumphttp <DEBUGFILE>] [-d|--debug F|T|L|M|A|S] '. $_[0]->{_programUsageSuffix};
$_[0]->{_programHelpSuffix} = "
-S, --status=N
N(agios) : Nagios custom plugin output (default)
-A, --asnmtapEnv=[F|T]|[F|T]|[F|T]
F(alse) : all screendebugging off (default)
T(true) : all screendebugging on
|
F(alse) : all file debugging off (default)
T(true) : all file debugging on
|
F(alse) : nok file debugging off (default)
T(true) : nok file debugging on
-O, --onDemand=F|T|N|Y
F(alse)/N(o) : normal plugin execution (default)
T(true)/Y(es) : plugin launched on demand
-L, --logging=LOGGING
write logging to file LOGGING
-D, --debugfile, --httpdump, --dumphttp=DEBUGFILE
write debug to file DEBUGFILE
-d, --debug=F|T|L|M|A|S
F(alse) : screendebugging off (default)
T(true) : normal screendebugging on
L(ong) : long screendebugging on
M(oderator) : long screendebugging on for Moderators
A(dmin) : long screendebugging on for Admins
S(erver Admin): long screendebugging on for Server Admins
" . $_[0]->{_programHelpSuffix};
push ( @{ $_[0]->{_programGetOptions} }, 'status|S:s', 'asnmtapEnv|A:s', 'onDemand|O:s', 'logging|L:s', 'debugfile|D|dumphttp|httpdump:s', 'debug|d:s' );
my ($_programUsageSuffix, $_programHelpSuffix);
foreach ( @{ $_[0]->{_programGetOptions} } ) {
for ($_) {
/^trendline\|T([:=])i$/ && do { $_[0]->{_getOptionsType}->{trendline} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-T|--trendline <TRENDLINE>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-T, --trendline <TRENDLINE>\...
/^timeout\|t([:=])i$/ && do { $_[0]->{_getOptionsType}->{timeout} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-t|--timeout <TIMEOUT>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-t, --timeout=<TIMEOUT>\n time...
/^environment\|e([:=])s$/ && do { $_[0]->{_getOptionsType}->{environment} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-e|--environment <ENVIRONMENT>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-e, --environment=<ENVIR...
/^proxy([:=])s$/ && do { $_[0]->{_getOptionsType}->{proxy} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'--proxy <username:password@proxy:port&domain[,domain]>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "...
/^host\|H([:=])s$/ && do { $_[0]->{_getOptionsType}->{host} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-H|--host <HOST>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-H, --host=<HOST>\n hostname or ip a...
/^url\|U([:=])s$/ && do { $_[0]->{_getOptionsType}->{url} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-U|--url <URL>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-U, --url=<URL>\n"; last; };
/^port\|P([:=])i$/ && do { $_[0]->{_getOptionsType}->{port} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-P|--port <PORT>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-P, --port=<PORT>\n"; last; };
/^community\|C([:=])s$/ && do { $_[0]->{_getOptionsType}->{community} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-C|--community <SNMP COMMUNITY>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-C, --community=<SNMP C...
/^username\|u\|loginname([:=])s$/ && do { $_[0]->{_getOptionsType}->{username} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-u|--username|--loginname <USERNAME>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-u, --username/--l...
/^password\|p\|passwd([:=])s$/ && do { $_[0]->{_getOptionsType}->{password} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-p|--password|--passwd <PASSWORD>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-p, --password/--pass...
/^filename\|F([:=])s$/ && do { $_[0]->{_getOptionsType}->{filename} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-F|--filename <FILENAME>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-F, --filename=<FILENAME>\n ...
/^interval\|i([:=])i$/ && do { $_[0]->{_getOptionsType}->{interval} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-i|--interval <SECONDS>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-i, --interval=<SECONDS>\n in...
/^loglevel\|l([:=])s$/ && do { $_[0]->{_getOptionsType}->{loglevel} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-l|--loglevel <LOGLEVEL>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-l, --loglevel=<LOGLEVEL>\n ...
/^year\|Y([:=])i$/ && do { $_[0]->{_getOptionsType}->{year} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-Y|--year <YEAR>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-Y, --year=<YEAR>\n year, format: [1...
/^quarter\|Q([:=])i$/ && do { $_[0]->{_getOptionsType}->{quarter} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-Q|--quarter <QUARTER>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-Q, --quarter=<QUARTER>\n quar...
/^month\|M([:=])i$/ && do { $_[0]->{_getOptionsType}->{month} = $1; $_programUsageSuffix .= ($1 eq ':' ? ' [' : ' ') .'-M|--month <MONTH>'. ($1 eq ':' ? ']' : ''); $_programHelpSuffix .= "-M, --month=<MONTH>\n month, where...
/^warning\|w([:=])s$/ && do { $_[0]->{_getOptionsType}->{warning} = $1; last; };
/^critical\|c([:=])s$/ && do { $_[0]->{_getOptionsType}->{critical} = $1; last; };
}
}
$_[0]->{_programUsageSuffix} = $_programUsageSuffix .' '. $_[0]->{_programUsageSuffix} if (defined $_programUsageSuffix);
$_[0]->{_programHelpSuffix} = "\n". $_programHelpSuffix . $_[0]->{_programHelpSuffix} if (defined $_programHelpSuffix);
$_[0]->[ $_[0]->[0]{_exit_} = @{$_[0]} ] = 0;
$_[0]->[ $_[0]->[0]{_plugins} = @{$_[0]} ] = (defined $_[1]->{_plugins}) ? $_[1]->{_plugins} : 1;
$_[0]->[ $_[0]->[0]{_timeout} = @{$_[0]} ] = (defined $_[1]->{_timeout}) ? $_[1]->{_timeout} : 10;
$_[0]->[ $_[0]->[0]{_browseragent} = @{$_[0]} ] = (defined $_[1]->{_browseragent}) ? $_[1]->{_browseragent} : 'Mozilla/5.0 (compatible; ASNMTAP; U; ASNMTAP 3.002.003 postfix; nl-BE; rv:3.002.003) Gecko/yyyymmdd libwww-perl/5.813';
$_[0]->[ $_[0]->[0]{_SSLversion} = @{$_[0]} ] = (defined $_[1]->{_SSLversion} and $_[1]->{_SSLversion} =~ /^(?:2|3|23)$/) ? $_[1]->{_SSLversion} : 3;
$_[0]->[ $_[0]->[0]{_clientCertificate} = @{$_[0]} ] = $_[1]->{_clientCertificate} if (defined $_[1]->{_clientCertificate});
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub _getOptions {
$_[0]->SUPER::_getOptions();
carp ('ASNMTAP::Asnmtap::Plugins: _getOptions') if ( $_[0]->{_debug} );
# Default _pluginValues - - - - - - - - - - - - - - - - - - - - - - - -
$_[0]->[ $_[0]->[0]{_pluginValues} = @{$_[0]} ] = {};
$_[0]->{_pluginValues}->{stateValue} = $ERRORS{DEPENDENT};
$_[0]->{_pluginValues}->{stateError} = $STATE{$_[0]->{_pluginValues}->{stateValue}};
$_[0]->{_pluginValues}->{message} = $_[0]->{_programDescription};
$_[0]->{_pluginValues}->{alert} = undef;
$_[0]->{_pluginValues}->{error} = undef;
$_[0]->{_pluginValues}->{result} = undef;
$_[0]->{_pluginValues}->{performanceData} = undef;
my ($startTimeSeconds, $startTimeMicroseconds) = gettimeofday();
$_[0]->{_pluginValues}->{startTime} = $startTimeSeconds .'.'. $startTimeMicroseconds;
$_[0]->{_pluginValues}->{endTime} = $_[0]->{_pluginValues}->{startTime};
# Options that are unknown, ambiguous or supplied with an invalid option value are passed through in @ARGV
if ( @ARGV ) {
$_[0]->{_pluginValues}->{error} = "Unknown option(s) @ARGV";
$_[0]->{_exit_} = 2;
$_[0]->exit(0);
lib/ASNMTAP/Asnmtap/Plugins.pm view on Meta::CPAN
$_[0]->printUsage ('Missing command line argument timeout');
}
if ( exists $_[0]->{_getOptionsArgv}->{trendline} ) {
my $trendline = $1 if ( $_[0]->{_getOptionsArgv}->{trendline} =~ m/^([1-9]?(?:\d*))$/ );
$_[0]->printUsage ('Invalid trendline: '. $_[0]->{_getOptionsArgv}->{trendline}) unless (defined $trendline);
} elsif ( exists $_[0]->{_getOptionsType}->{trendline} and $_[0]->{_getOptionsType}->{trendline} eq '=' ) {
$_[0]->printUsage ('Missing command line argument trendline');
}
if ( exists $_[0]->{_getOptionsArgv}->{environment} ) {
$_[0]->printUsage ('Invalid environment option: '. $_[0]->{_getOptionsArgv}->{environment}) unless ($_[0]->{_getOptionsArgv}->{environment} =~ /^[PSATDL]$/);
for ($_[0]->{_getOptionsArgv}->{environment}) {
/P/ && do { $_[0]->{_getOptionsValues}->{environment} = "Production"; last; };
/S/ && do { $_[0]->{_getOptionsValues}->{environment} = "Simulation"; last; };
/A/ && do { $_[0]->{_getOptionsValues}->{environment} = "Acceptation"; last; };
/T/ && do { $_[0]->{_getOptionsValues}->{environment} = "Test"; last; };
/D/ && do { $_[0]->{_getOptionsValues}->{environment} = "Development"; last; };
/L/ && do { $_[0]->{_getOptionsValues}->{environment} = "Local"; last; };
$_[0]->{_getOptionsValues}->{environment} = undef;
}
} elsif ( exists $_[0]->{_getOptionsType}->{environment} and $_[0]->{_getOptionsType}->{environment} eq '=' ) {
$_[0]->printUsage ('Missing command line argument environment');
}
$_[0]->_init_proxy_and_client_certificate ();
if ( exists $_[0]->{_getOptionsArgv}->{host} ) {
my $host = $1 if ( $_[0]->{_getOptionsArgv}->{host} =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z][-a-zA-Z0-9]+(\.[a-zA-Z][-a-zA-Z0-9]+)*)$/ );
$_[0]->printUsage ('Invalid hostname or ip address: '. $_[0]->{_getOptionsArgv}->{host}) unless (defined $host);
} elsif ( exists $_[0]->{_getOptionsType}->{host} and $_[0]->{_getOptionsType}->{host} eq '=' ) {
$_[0]->printUsage ('Missing command line argument host');
}
if ( exists $_[0]->{_getOptionsArgv}->{url} ) {
# ... TODO ...
} elsif ( exists $_[0]->{_getOptionsType}->{url} and $_[0]->{_getOptionsType}->{url} eq '=' ) {
$_[0]->printUsage ('Missing command line argument url');
}
if ( exists $_[0]->{_getOptionsArgv}->{port} ) {
my $port = $1 if ( $_[0]->{_getOptionsArgv}->{port} =~ m/^([1-9]?(?:\d*))$/ );
$_[0]->printUsage ('Invalid port: '. $_[0]->{_getOptionsArgv}->{port}) unless (defined $port);
} elsif ( exists $_[0]->{_getOptionsType}->{port} and $_[0]->{_getOptionsType}->{port} eq '=' ) {
$_[0]->printUsage ('Missing command line argument port');
}
if ( exists $_[0]->{_getOptionsArgv}->{community} ) {
# ... TODO ...
} elsif ( exists $_[0]->{_getOptionsType}->{community} and $_[0]->{_getOptionsType}->{community} eq '=' ) {
$_[0]->printUsage ('Missing command line argument community');
}
if ( exists $_[0]->{_getOptionsArgv}->{username} ) {
# ... TODO ...
} elsif ( exists $_[0]->{_getOptionsType}->{username} and $_[0]->{_getOptionsType}->{username} eq '=' ) {
$_[0]->printUsage ('Missing command line argument username');
}
if ( exists $_[0]->{_getOptionsArgv}->{password} ) {
# ... TODO ...
} elsif ( exists $_[0]->{_getOptionsType}->{password} and $_[0]->{_getOptionsType}->{password} eq '=' ) {
$_[0]->printUsage ('Missing command line argument password');
}
if ( exists $_[0]->{_getOptionsArgv}->{filename} ) {
# ... TODO ...
} elsif ( exists $_[0]->{_getOptionsType}->{filename} and $_[0]->{_getOptionsType}->{filename} eq '=' ) {
$_[0]->printUsage ('Missing command line argument filename');
}
if ( exists $_[0]->{_getOptionsArgv}->{interval} ) {
my $interval = $1 if ( $_[0]->{_getOptionsArgv}->{interval} =~ m/^([1-9]?(?:\d*))$/ );
$_[0]->printUsage ('Invalid interval: '. $_[0]->{_getOptionsArgv}->{interval}) unless (defined $interval);
} elsif ( exists $_[0]->{_getOptionsType}->{interval} and $_[0]->{_getOptionsType}->{interval} eq '=' ) {
$_[0]->printUsage ('Missing command line argument interval');
}
if ( exists $_[0]->{_getOptionsArgv}->{loglevel} ) {
my $loglevel = $1 if ( $_[0]->{_getOptionsArgv}->{loglevel} =~ m/^(debug|verbose|notice|info|warning|err|crit|alert|emerg)$/ );
$_[0]->printUsage ('Invalid loglevel: '. $_[0]->{_getOptionsArgv}->{loglevel}) unless (defined $loglevel);
} elsif ( exists $_[0]->{_getOptionsType}->{loglevel} and $_[0]->{_getOptionsType}->{loglevel} eq '=' ) {
$_[0]->printUsage ('Missing command line argument loglevel');
}
if ( exists $_[0]->{_getOptionsArgv}->{year} ) {
my $year = $1 if ( $_[0]->{_getOptionsArgv}->{year} =~ m/^((?:19|20|21)\d{2,2})$/ );
$_[0]->printUsage ('Invalid year: '. $_[0]->{_getOptionsArgv}->{year}) unless (defined $year);
} elsif ( exists $_[0]->{_getOptionsType}->{year} and $_[0]->{_getOptionsType}->{year} eq '=' ) {
$_[0]->printUsage ('Missing command line argument year');
}
if ( exists $_[0]->{_getOptionsArgv}->{quarter} ) {
my $quarter = $1 if ( $_[0]->{_getOptionsArgv}->{quarter} =~ m/^([1-4])$/ );
$_[0]->printUsage ('Invalid quarter: '. $_[0]->{_getOptionsArgv}->{quarter}) unless (defined $quarter);
} elsif ( exists $_[0]->{_getOptionsType}->{quarter} and $_[0]->{_getOptionsType}->{quarter} eq '=' ) {
$_[0]->printUsage ('Missing command line argument quarter');
}
if ( exists $_[0]->{_getOptionsArgv}->{month} ) {
my $month = $1 if ( $_[0]->{_getOptionsArgv}->{month} =~ m/^([1-9]|1[0-2])$/ );
$_[0]->printUsage ('Invalid month: '. $_[0]->{_getOptionsArgv}->{month}) unless (defined $month);
} elsif ( exists $_[0]->{_getOptionsType}->{month} and $_[0]->{_getOptionsType}->{month} eq '=' ) {
$_[0]->printUsage ('Missing command line argument month');
}
# Reserved command line options - - - - - - - - - - - - - - - - - - - -
if (exists $_[0]->{_getOptionsArgv}->{warning}) {
my $warning = $1 if ( $_[0]->{_getOptionsArgv}->{warning} =~ /^([1-9]?(?:\d*))$/ );
$_[0]->printUsage ('Invalid warning threshold ranges '. $_[0]->{_getOptionsArgv}->{warning}) unless (defined $warning);
} elsif ( exists $_[0]->{_getOptionsType}->{warning} and $_[0]->{_getOptionsType}->{warning} eq '=' ) {
$_[0]->printUsage ('Missing command line argument warning');
}
if (exists $_[0]->{_getOptionsArgv}->{critical}) {
my $critical = $1 if ($_[0]->{_getOptionsArgv}->{critical} =~ /^([1-9]?(?:\d*))$/ );
$_[0]->printUsage ('Invalid critical threshold range: '. $_[0]->{_getOptionsArgv}->{critical}) unless (defined $critical);
} elsif ( exists $_[0]->{_getOptionsType}->{critical} and $_[0]->{_getOptionsType}->{critical} eq '=' ) {
$_[0]->printUsage ('Missing command line argument critical');
}
# Default _pluginValues - - - - - - - - - - - - - - - - - - - - - - - -
$_[0]->{_pluginValues}->{message} .= ' ('. $_[0]->{_getOptionsValues}->{environment} .')' if ( defined $_[0]->{_getOptionsValues}->{environment} );
($startTimeSeconds, $startTimeMicroseconds) = gettimeofday();
$_[0]->{_pluginValues}->{startTime} = $startTimeSeconds .'.'. $startTimeMicroseconds;
$_[0]->{_pluginValues}->{endTime} = $_[0]->{_pluginValues}->{startTime};
# Timing Out Slow Plugins - part 1/2 - - - - - - - - - - - - - - - - - -
if ( exists $_[0]->{_getOptionsArgv}->{timeout} ) {
$_[0]->{_pluginValues}->{_alarm_} = alarm (0);
if ( $_[0]->{_pluginValues}->{_alarm_} && $_[0]->{_getOptionsArgv}->{timeout} > $_[0]->{_pluginValues}->{_alarm_} ) {
$_[0]->{_getOptionsArgv}->{timeout} = $_[0]->{_pluginValues}->{_alarm_};
}
$_[0]->{_pluginValues}->{_handler_} = $SIG{ALRM};
$SIG{ALRM} = sub { $ALARM_OFF = 1; die "ASNMTAP::Asnmtap::Plugins::ALARM_OFF = 1\n" };
alarm ( $_[0]->{_getOptionsArgv}->{timeout} );
}
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub _init_proxy_and_client_certificate {
my $proxy = ( exists $ENV{ASNMTAP_PROXY} ? $ENV{ASNMTAP_PROXY} : ( exists $_[0]->{_getOptionsArgv}->{proxy} and defined $_[0]->{_getOptionsArgv}->{proxy} ? $_[0]->{_getOptionsArgv}->{proxy} : undef ) );
if ( defined $proxy and $proxy ne '' ) {
my ($proxyServer, $proxyNo, $proxyServerNo, $proxyUsername, $proxyPassword, $proxyUsernamePassword);
($proxyUsernamePassword, $proxyServerNo) = split(/\@/, $proxy );
if ( defined $proxyServerNo ) {
($proxyUsername, $proxyPassword) = split(/\:/, $proxyUsernamePassword, 2);
$_[0]->printUsage ('Username and/or Password missing: : '. $proxy) unless (defined $proxyUsername and defined $proxyPassword);
($proxyServer, $proxyNo) = split(/\&/, $proxyServerNo );
} else {
($proxyServer, $proxyNo) = split(/\&/, $proxy );
}
$_[0]->[ $_[0]->[0]{_proxy} = @{$_[0]} ] = {} unless ( exists $_[0]->{_proxy} );
$_[0]->{_proxy}->{server} = "http://" . $proxyServer;
$_[0]->{_proxy}->{username} = $proxyUsername;
$_[0]->{_proxy}->{password} = $proxyPassword;
$_[0]->{_proxy}->{no} = ( defined $proxyNo ? [ split (/,/, $proxyNo) ] : undef );
$ENV{NO_PROXY} = ( defined $_[0]->{_proxy}->{no} ? join (', ', @{ $_[0]->{_proxy}->{no} }) : '' );
}
# HTTPS: DEFAULT SSL VERSION
$ENV{HTTPS_VERSION} = $_[0]->{_SSLversion};
# HTTPS: DEBUGGING SWITCH / LOW LEVEL SSL DIAGNOSTICS
$ENV{HTTPS_DEBUG} = $_[0]->{_getOptionsValues}->{debug};
if ( defined $proxy and $proxy ne '' ) {
# HTTPS: PROXY SUPPORT
$ENV{HTTPS_PROXY} = $_[0]->{_proxy}->{server};
# HTTPS: PROXY BASIC_AUTH
$ENV{HTTPS_PROXY_USERNAME} = $_[0]->{_proxy}->{username} if (defined $_[0]->{_proxy}->{username});
$ENV{HTTPS_PROXY_PASSWORD} = $_[0]->{_proxy}->{password} if (defined $_[0]->{_proxy}->{password});
}
if (exists $_[0]->{_clientCertificate}) {
if (defined $_[0]->{_clientCertificate}->{certFile} and defined $_[0]->{_clientCertificate}->{keyFile}) {
# CLIENT CERT SUPPORT, PEM encoded certificate and private key files.
$ENV{HTTPS_CERT_FILE} = $_[0]->{_clientCertificate}->{certFile};
$ENV{HTTPS_KEY_FILE} = $_[0]->{_clientCertificate}->{keyFile};
if (defined $_[0]->{_clientCertificate}->{caFile} and defined $_[0]->{_clientCertificate}->{caDir}) {
# CA CERT PEER VERIFICATION, Additionally, if you would like to tell the client where the CA file is.
$ENV{HTTPS_CA_FILE} = $_[0]->{_clientCertificate}->{caFile};
$ENV{HTTPS_CA_DIR} = $_[0]->{_clientCertificate}->{caDir};
}
}
if (defined $_[0]->{_clientCertificate}->{pkcs12File} and defined $_[0]->{_clientCertificate}->{pkcs12Password}) {
# CLIENT PKCS12 CERT SUPPORT, Use of this type of certificate will take precedence over previous certificate settings described.
$ENV{HTTPS_PKCS12_FILE} = $_[0]->{_clientCertificate}->{pkcs12File};
$ENV{HTTPS_PKCS12_PASSWORD} = $_[0]->{_clientCertificate}->{pkcs12Password};
}
}
}
# Object accessor methods - - - - - - - - - - - - - - - - - - - - - - - -
sub appendPerformanceData { &_checkAccObjRef ( $_[0] ); &_checkSubArgs1; $_[0]->{_pluginValues}->{performanceData} .= ' '. $_[1] if ( defined $_[1] ); }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub browseragent { &_checkAccObjRef ( $_[0] ); &_checkSubArgs1; $_[0]->{_browseragent} = $_[1] if ( defined $_[1] ); $_[0]->{_browseragent}; }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub SSLversion {
&_checkAccObjRef ( $_[0] ); &_checkSubArgs1;
if ( defined $_[1] ) {
$_[0]->{_SSLversion} = ($_[1] =~ /^(?:2|3|23)$/ ? $_[1] : 3);
}
$_[0]->{_SSLversion};
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub clientCertificate {
&_checkAccObjRef ( $_[0] ); &_checkSubArgs2;
if ( defined $_[1] ) {
if ( defined $_[2] ) {
$_[0]->{_clientCertificate}->{$_[1]} = $_[2] if ( exists $_[0]->{_clientCertificate}->{$_[1]} );
}
( defined $_[0]->{_clientCertificate}->{$_[1]} ) ? $_[0]->{_clientCertificate}->{$_[1]} : undef;
}
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub pluginValue {
( run in 1.091 second using v1.01-cache-2.11-cpan-5837b0d9d2c )