Skip to content
Snippets Groups Projects
Select Git revision
  • 46c6a890f291b69c93d5bf72f25a33c367da5dc3
  • master default protected
  • devel
  • hruska-feature-clients-api
  • malostik-#5066-deduplicate-idea-ids
  • warden-postgresql-port
  • hruska-feature-#6799-filter-keys
  • hruska-feature-5066-duplicateIdeaID
  • warden-client-3.0-beta3
  • warden-server-3.0-beta3
  • warden-client-2.2-final
  • warden-server-2.2-final
  • warden-client-3.0-beta2
  • warden-server-3.0-beta2
  • warden-client-2.2
  • warden-server-2.2-patch3
  • warden-client-3.0-beta1
  • warden-server-3.0-beta1
  • warden-server-2.2-patch1
  • warden-client-3.0-beta0
  • warden-server-3.0-beta0
  • warden-server-2.2
  • warden-server-2.1-patch1
  • warden-client-2.1
  • warden-server-2.1
  • warden-server-2.1-beta6
  • warden-server-2.1-beta5
  • warden-server-2.1-beta4
28 results

WardenClientSend.pm

Blame
  • WardenClientSend.pm 2.65 KiB
    #!/usr/bin/perl -w
    #
    # WardenClientSend.pm
    #
    # Copyright (C) 2011-2012 Cesnet z.s.p.o
    #
    # Use of this source is governed by a BSD-style license, see LICENSE file.  
    
    package WardenClientSend;
    
    use strict;
    use SOAP::Lite;
    use IO::Socket::SSL qw(debug1);
    use SOAP::Transport::HTTP;
    use Sys::Syslog;
    
    our $VERSION = "2.1";
    
    #-------------------------------------------------------------------------------
    # saveNewEvent - send new event from detection scripts to warden server
    #-------------------------------------------------------------------------------
    sub saveNewEvent
    {
      my $result;
    
      eval {
        my $warden_path = shift;
        my $event_ref = shift;
    
        my $etcdir = $warden_path . "/etc/";
        my $libdir = $warden_path . "/lib/";
    
        require $libdir . "WardenClientConf.pm";
        require $libdir . "WardenClientCommon.pm";  
    
        # read the config file
        my $conf_file = $etcdir . "warden-client.conf";
        WardenClientConf::loadConf($conf_file);
    
        # prepare variables of event 
        my @event        = @{$event_ref};
        my $service      = $event[0];
        my $detected     = $event[1];
        my $type         = $event[2];
        my $source_type  = $event[3];
        my $source       = $event[4];
        my $target_proto = $event[5];
        my $target_port  = $event[6];
        my $attack_scale = $event[7];
        my $note         = $event[8];
        my $priority     = $event[9];
        my $timeout      = $event[10];
    
        # create SOAP data object
        my $event = SOAP::Data->name(
          event => \SOAP::Data->value(
            SOAP::Data->name(SERVICE      => $service),
            SOAP::Data->name(DETECTED     => $detected),
            SOAP::Data->name(TYPE         => $type),
            SOAP::Data->name(SOURCE_TYPE  => $source_type),
            SOAP::Data->name(SOURCE       => $source),
            SOAP::Data->name(TARGET_PROTO => $target_proto),
            SOAP::Data->name(TARGET_PORT  => $target_port),
            SOAP::Data->name(ATTACK_SCALE => $attack_scale),
            SOAP::Data->name(NOTE         => $note),
            SOAP::Data->name(PRIORITY     => $priority),
            SOAP::Data->name(TIMEOUT      => $timeout)
          )
        );