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 @@
package WardenClientCommon;
require Exporter;
use strict;
use Carp;
use SOAP::Lite;
use IO::Socket::SSL qw(debug1);
use SOAP::Transport::HTTP;
use WardenClientConf qw($LOG_VERBOSE);
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(errMsg c2s);
our $VERSION = "2.1";
#-------------------------------------------------------------------------------
# errMsg - print error message and die
......@@ -19,7 +17,7 @@ sub errMsg
{
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();
}
......
......@@ -9,10 +9,6 @@
package WardenClientConf;
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
our $URI = undef;
......@@ -26,7 +22,7 @@ our $LOG_SYSLOG_FACILITY = "local7";
our $LOG_VERBOSE = 0;
our $VERSION = "2.0";
our $VERSION = "2.1";
sub loadConf
{
......
......@@ -15,8 +15,7 @@ use SOAP::Transport::HTTP;
use FindBin;
use Sys::Syslog;
our $VERSION = "2.0";
our $VERSION = "2.1";
#-------------------------------------------------------------------------------
# getNewEvents - get new events from warden server greater than last received ID
......@@ -34,11 +33,8 @@ sub getNewEvents
my $etcdir = $warden_path . "/etc/";
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";
# use WardenClientCommon qw (errMsg c2s);
require $libdir . "WardenClientCommon.pm"
require $libdir . "WardenClientCommon.pm";
# read the config file
my $conf_file = $etcdir . "warden-client.conf";
......@@ -53,15 +49,15 @@ sub getNewEvents
# get last ID from warden server DB and save it into ID file
my $last_id;
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>) {
$last_id = $_;
}
close ID;
} 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;
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;
close ID;
}
......@@ -74,12 +70,12 @@ sub getNewEvents
request => \SOAP::Data->value(
SOAP::Data->name(REQUESTED_TYPE => $requested_type),
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
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
my ($id, $hostname, $service, $detected, $type, $source_type, $source, $target_proto, $target_port, $attack_scale, $note, $priority, $timeout);
......@@ -115,20 +111,20 @@ sub getNewEvents
# write last return 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;
close ID;
}
} # End of eval block
or do {
if ($LOG_STDERR) {
if ($WardenClientConf::LOG_STDERR) {
print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n";
}
if ($LOG_SYSLOG) {
openlog("Warden:", "pid", "$LOG_SYSLOG_FACILITY");
syslog("err|$LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n");
if ($WardenClientConf::LOG_SYSLOG) {
openlog("Warden:", "pid", "WardenClientConf::LOG_SYSLOG_FACILITY");
syslog("err|WardenClientConf::LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n");
closelog();
}
return;
......
......@@ -14,16 +14,7 @@ use IO::Socket::SSL qw(debug1);
use SOAP::Transport::HTTP;
use Sys::Syslog;
our $VERSION = "2.0"; #first iteration after 'port to Apache'
#----- 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 ------------------------------------------
our $VERSION = "2.1";
#-------------------------------------------------------------------------------
# saveNewEvent - send new event from detection scripts to warden server
......@@ -39,11 +30,12 @@ sub saveNewEvent
my $etcdir = $warden_path . "/etc/";
my $libdir = $warden_path . "/lib/";
require $libdir . "WardenClientConf.pm";
require $libdir . "WardenClientCommon.pm";
# read the config file
require $libdir . "WardenClientConf.pm";
my $conf_file = $etcdir . "warden-client.conf";
my ($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, $max_rcv_events_limit);
($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);
WardenClientConf::loadConf($conf_file);
# prepare variables of event
my @event = @{$event_ref};
......@@ -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
or do {
if ($LOG_STDERR) {
if ($WardenClientConf::LOG_STDERR) {
print STDERR "Warden-client unexpected end in eval block.\n" . $@ . "\n";
}
if ($LOG_SYSLOG) {
openlog("Warden-client:", "pid", "$LOG_SYSLOG_FACILITY");
syslog("err|$LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n");
if ($WardenClientConf::LOG_SYSLOG) {
openlog("Warden-client:", "pid", "$WardenClientConf::LOG_SYSLOG_FACILITY");
syslog("err|$WardenClientConf::LOG_SYSLOG_FACILITY", "Warden-client unexpected end in eval block.\n" . $@ . "\n");
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