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

WardenClientReceive.pm

Blame
  • WardenClientReceive.pm 4.71 KiB
    #!/usr/bin/perl -w
    #                                                                    
    # WardenClientReceive.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 WardenClientReceive;
    
    use strict;
    use SOAP::Lite;
    use IO::Socket::SSL qw(debug1);
    use SOAP::Transport::HTTP;
    use FindBin;
    use Sys::Syslog;
    
    our $VERSION = "2.1";
    
    #-------------------------------------------------------------------------------
    # getNewEvents - get new events from warden server greater than last received ID
    #-------------------------------------------------------------------------------
    sub getNewEvents
    {
      my @events;  
    
      eval {
    
        my $warden_path = shift;
        my $requested_type = shift;
    
        my $vardir = $warden_path . "/var/";
        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);
    
        # set name of ID file for each client aplication 
        my $caller_name = $FindBin::Script;
        my $id_file = $vardir . $caller_name . ".id";
    
        #-----------------------------------------------------------------------------
        # get last ID from ID file (if exist) or
        # get last ID from warden server DB and save it into ID file
        my $last_id;
        if (-e $id_file) {
          open(ID, "< $id_file") || WardenClientCommon::errMsg("Cannot open ID file $id_file: $!");
          foreach(<ID>) {
            $last_id = $_;
          }
          close ID;
        } else {
          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") || WardenClientCommon::errMsg("Cannot open ID file $id_file: $!");
          print ID $last_id;
          close ID;
        }
    
        #-----------------------------------------------------------------------------
        # get new events from warden server DB based on gathered last ID 
    
        # create SOAP data obejct
        my $request_data = SOAP::Data->name(
          request => \SOAP::Data->value(