Skip to content
Snippets Groups Projects
Commit 22e198b4 authored by Jan Soukal's avatar Jan Soukal
Browse files

dokoncena separace fci c2s a errMsg do WardenClientConf. Viditelnost...

dokoncena separace fci c2s a errMsg do WardenClientConf. Viditelnost promennych z requirovanych modulu vyresena explicitnim volanim.
parent 2c7c7f0c
No related branches found
No related tags found
No related merge requests found
...@@ -2,15 +2,13 @@ ...@@ -2,15 +2,13 @@
package WardenClientCommon; package WardenClientCommon;
require Exporter;
use strict; use strict;
use Carp; use Carp;
use SOAP::Lite;
use IO::Socket::SSL qw(debug1);
use SOAP::Transport::HTTP;
use WardenClientConf qw($LOG_VERBOSE); our $VERSION = "2.1";
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(errMsg c2s);
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# errMsg - print error message and die # errMsg - print error message and die
...@@ -19,7 +17,7 @@ sub errMsg ...@@ -19,7 +17,7 @@ sub errMsg
{ {
my $msg = "Error message: " . shift; my $msg = "Error message: " . shift;
if ($LOG_VERBOSE) { # user wants to log debug information if ($WardenClientConf::LOG_VERBOSE) { # user wants to log debug information
$msg .= "\nStack info: " . Carp::longmess(); $msg .= "\nStack info: " . Carp::longmess();
} }
......
...@@ -9,10 +9,6 @@ ...@@ -9,10 +9,6 @@
package WardenClientConf; package WardenClientConf;
use strict; use strict;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw($URI $SSL_KEY_FILE $SSL_CERT_FILE $SSL_CA_FILE $MAX_RCV_EVENTS_LIMIT $LOG_STDERR $LOG_SYSLOG $LOG_SYSLOG_FACILITY $LOG_VERBOSE);
# preset of default variables # preset of default variables
our $URI = undef; our $URI = undef;
...@@ -26,7 +22,7 @@ our $LOG_SYSLOG_FACILITY = "local7"; ...@@ -26,7 +22,7 @@ our $LOG_SYSLOG_FACILITY = "local7";
our $LOG_VERBOSE = 0; our $LOG_VERBOSE = 0;
our $VERSION = "2.0"; our $VERSION = "2.1";
sub loadConf sub loadConf
{ {
......
...@@ -15,8 +15,7 @@ use SOAP::Transport::HTTP; ...@@ -15,8 +15,7 @@ use SOAP::Transport::HTTP;
use FindBin; use FindBin;
use Sys::Syslog; use Sys::Syslog;
our $VERSION = "2.1";
our $VERSION = "2.0";
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# getNewEvents - get new events from warden server greater than last received ID # getNewEvents - get new events from warden server greater than last received ID
...@@ -34,11 +33,8 @@ sub getNewEvents ...@@ -34,11 +33,8 @@ sub getNewEvents
my $etcdir = $warden_path . "/etc/"; my $etcdir = $warden_path . "/etc/";
my $libdir = $warden_path . "/lib/"; my $libdir = $warden_path . "/lib/";
# use lib "/asdf/aasdf"; # cesta do lib/ adresare wardenu
# use WardenClientConf qw($URI $SSL_KEY_FILE $SSL_CERT_FILE $SSL_CA_FILE $MAX_RCV_EVENTS_LIMIT $LOG_STDERR $LOG_SYSLOG $LOG_SYSLOG_FACILITY $LOG_VERBOSE);
require $libdir . "WardenClientConf.pm"; require $libdir . "WardenClientConf.pm";
# use WardenClientCommon qw (errMsg c2s); require $libdir . "WardenClientCommon.pm";
require $libdir . "WardenClientCommon.pm"
# read the config file # read the config file
my $conf_file = $etcdir . "warden-client.conf"; my $conf_file = $etcdir . "warden-client.conf";
...@@ -53,15 +49,15 @@ sub getNewEvents ...@@ -53,15 +49,15 @@ sub getNewEvents
# get last ID from warden server DB and save it into ID file # get last ID from warden server DB and save it into ID file
my $last_id; my $last_id;
if (-e $id_file) { if (-e $id_file) {
open(ID, "< $id_file") || errMsg("Cannot open ID file $id_file: $!"); open(ID, "< $id_file") || WardenClientCommon::errMsg("Cannot open ID file $id_file: $!");
foreach(<ID>) { foreach(<ID>) {
$last_id = $_; $last_id = $_;
} }
close ID; close ID;
} else { } else {
my $response = c2s($URI, $SSL_KEY_FILE, $SSL_CERT_FILE, $SSL_CA_FILE, "getLastId"); my $response = WardenClientCommon::c2s($WardenClientConf::URI, $WardenClientConf::SSL_KEY_FILE, $WardenClientConf::SSL_CERT_FILE, $WardenClientConf::SSL_CA_FILE, "getLastId");
$last_id = $response->result; $last_id = $response->result;
open(ID, "> $id_file") || errMsg("Cannot open ID file $id_file: $!"); open(ID, "> $id_file") || WardenClientCommon::errMsg("Cannot open ID file $id_file: $!");
print ID $last_id; print ID $last_id;
close ID; close ID;
} }
...@@ -74,12 +70,12 @@ sub getNewEvents ...@@ -74,12 +70,12 @@ sub getNewEvents
request => \SOAP::Data->value( request => \SOAP::Data->value(
SOAP::Data->name(REQUESTED_TYPE => $requested_type), SOAP::Data->name(REQUESTED_TYPE => $requested_type),
SOAP::Data->name(LAST_ID => $last_id), SOAP::Data->name(LAST_ID => $last_id),
SOAP::Data->name(MAX_RCV_EVENTS_LIMIT => $MAX_RCV_EVENTS_LIMIT) SOAP::Data->name(MAX_RCV_EVENTS_LIMIT => $WardenClientConf::MAX_RCV_EVENTS_LIMIT)
) )
); );
# call server method getNewEvents # call server method getNewEvents
my $response = c2s($URI, $SSL_KEY_FILE, $SSL_CERT_FILE, $SSL_CA_FILE, "getNewEvents", $request_data); my $response = WardenClientCommon::c2s($WardenClientConf::URI, $WardenClientConf::SSL_KEY_FILE, $WardenClientConf::SSL_CERT_FILE, $WardenClientConf::SSL_CA_FILE, "getNewEvents", $request_data);
# parse returned SOAP data object # parse returned SOAP data object
my ($id, $hostname, $service, $detected, $type, $source_type, $source, $target_proto, $target_port, $attack_scale, $note, $priority, $timeout); my ($id, $hostname, $service, $detected, $type, $source_type, $source, $target_proto, $target_port, $attack_scale, $note, $priority, $timeout);
...@@ -115,20 +111,20 @@ sub getNewEvents ...@@ -115,20 +111,20 @@ sub getNewEvents
# write last return ID # write last return ID
if (defined $last_id) { # must be defined for first check ID if (defined $last_id) { # must be defined for first check ID
open(ID, "> $id_file") || errMsg("Cannot open ID file $id_file: $!"); open(ID, "> $id_file") || WardenClientCommon::errMsg("Cannot open ID file $id_file: $!");
print ID $last_id; print ID $last_id;
close ID; close ID;
} }
} # End of eval block } # End of eval block
or do { or do {
if ($LOG_STDERR) { if ($WardenClientConf::LOG_STDERR) {
print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n"; print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n";
} }
if ($LOG_SYSLOG) { if ($WardenClientConf::LOG_SYSLOG) {
openlog("Warden:", "pid", "$LOG_SYSLOG_FACILITY"); openlog("Warden:", "pid", "WardenClientConf::LOG_SYSLOG_FACILITY");
syslog("err|$LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n"); syslog("err|WardenClientConf::LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n");
closelog(); closelog();
} }
return; return;
......
...@@ -14,16 +14,7 @@ use IO::Socket::SSL qw(debug1); ...@@ -14,16 +14,7 @@ use IO::Socket::SSL qw(debug1);
use SOAP::Transport::HTTP; use SOAP::Transport::HTTP;
use Sys::Syslog; use Sys::Syslog;
our $VERSION = "2.0"; #first iteration after 'port to Apache' our $VERSION = "2.1";
#----- global configuration variables - default initialization -----------------
our $LOG_STDERR = 1;
our $LOG_SYSLOG = 0;
our $LOG_SYSLOG_FACILITY;
our $LOG_VERBOSE = 0;
#----- end of configuration variables ------------------------------------------
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# saveNewEvent - send new event from detection scripts to warden server # saveNewEvent - send new event from detection scripts to warden server
...@@ -39,11 +30,12 @@ sub saveNewEvent ...@@ -39,11 +30,12 @@ sub saveNewEvent
my $etcdir = $warden_path . "/etc/"; my $etcdir = $warden_path . "/etc/";
my $libdir = $warden_path . "/lib/"; my $libdir = $warden_path . "/lib/";
require $libdir . "WardenClientConf.pm";
require $libdir . "WardenClientCommon.pm";
# read the config file # read the config file
require $libdir . "WardenClientConf.pm";
my $conf_file = $etcdir . "warden-client.conf"; my $conf_file = $etcdir . "warden-client.conf";
my ($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, $max_rcv_events_limit); WardenClientConf::loadConf($conf_file);
($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, $max_rcv_events_limit, $LOG_STDERR, $LOG_SYSLOG, $LOG_SYSLOG_FACILITY) = WardenClientConf::loadConf($conf_file);
# prepare variables of event # prepare variables of event
my @event = @{$event_ref}; my @event = @{$event_ref};
...@@ -76,17 +68,17 @@ sub saveNewEvent ...@@ -76,17 +68,17 @@ sub saveNewEvent
) )
); );
$result = WardenClientConf::c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "saveNewEvent", $event); $result = WardenClientCommon::c2s($WardenClientConf::URI, $WardenClientConf::SSL_KEY_FILE, $WardenClientConf::SSL_CERT_FILE, $WardenClientConf::SSL_CA_FILE, "saveNewEvent", $event);
} # End of eval block } # End of eval block
or do { or do {
if ($LOG_STDERR) { if ($WardenClientConf::LOG_STDERR) {
print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n"; print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n";
} }
if ($LOG_SYSLOG) { if ($WardenClientConf::LOG_SYSLOG) {
openlog("Warden-client:", "pid", "$LOG_SYSLOG_FACILITY"); openlog("Warden-client:", "pid", "$WardenClientConf::LOG_SYSLOG_FACILITY");
syslog("err|$LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n"); syslog("err|$WardenClientConf::LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n");
closelog(); closelog();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment