From 323031f3d403cfb6a417da25340199756fbd604a Mon Sep 17 00:00:00 2001
From: Tomas Plesnik <plesnik@ics.muni.cz>
Date: Thu, 22 Aug 2013 12:38:33 +0200
Subject: [PATCH] opravena chyba pri stahovani vlastnich udalosti klientem -
 neexistujici sloupec hostname; uprvena logovaci hlaska po odeslani udalosti
 klientovi

---
 src/warden-server/lib/Warden.pm | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/warden-server/lib/Warden.pm b/src/warden-server/lib/Warden.pm
index d9edf83..76be32a 100755
--- a/src/warden-server/lib/Warden.pm
+++ b/src/warden-server/lib/Warden.pm
@@ -22,6 +22,7 @@ use Crypt::X509;
 use SOAP::Lite;
 use Carp;
 use File::Basename;
+use Data::Dumper;
 
 my $lib = File::Basename::dirname(__FILE__);
 use lib $lib;
@@ -316,24 +317,24 @@ sub getNewEvents
       }
     } else {
       if ($requested_type eq '_any_') {
-        $sth = $DBH->prepare("SELECT * FROM events WHERE type != 'test' AND id > ? AND valid = 't' AND hostname NOT LIKE ? ORDER BY id ASC LIMIT ?;");
+        $sth = $DBH->prepare("SELECT * FROM events e, clients c WHERE e.type != 'test' AND e.id > ? AND e.valid = 't' AND e.client_id = c.client_id AND c.hostname NOT LIKE ? ORDER BY id ASC LIMIT ?;");
         if (!defined $sth) {
 	  sendMsg("err",
 	         "Cannot prepare ANY statement in function '$function_name': $DBH->errstr",
 		 "Internal 'prepare' server error");
 	}
         my ($domain) = $cn =~ /([^\.]+\.[^\.]+)$/;
-        $domain = '\%' . $domain;
+        $domain = '%' . $domain;
         $sth->execute($last_id, $domain, $used_limit);
       } else {
-        $sth = $DBH->prepare("SELECT * FROM events WHERE type != 'test' AND id > ? AND type = ? AND valid = 't' AND hostname NOT LIKE ? ORDER BY id ASC LIMIT ?;");
+        $sth = $DBH->prepare("SELECT * FROM events e, clients c WHERE e.type != 'test' AND e.id > ? AND e.type = ? AND e.valid = 't' AND e.client_id = c.client_id AND c.hostname NOT LIKE ? ORDER BY id ASC LIMIT ?;");
         if (!defined $sth) {
 	  sendMsg("err",
 	         "Cannot prepare statement in function '$function_name': $DBH->errstr\n",
 		 "Internal 'prepare' server error");
 	}
         my ($domain) = $cn =~ /([^\.]+\.[^\.]+)$/;
-        $domain = '\%' . $domain;
+	$domain = '%' . $domain;
         $sth->execute($last_id, $requested_type, $domain, $used_limit);
       }
     }
@@ -382,11 +383,11 @@ sub getNewEvents
     if (scalar @events != 0) {
       if (scalar @ids == 1) {
         sendMsg("info",
-	        "Sent 1 event [#$ids[0]] to [IP: '$ip'; CN(AN): $alt_names; Client_limit: '$max_rcv_events_limit', Requested_type: '$requested_type']",
+	        "Sent 1 event [#$ids[0]] to [IP: '$ip'; CN(AN): $alt_names; Client_limit: '$max_rcv_events_limit'; Requested_type: '$requested_type'; ROE: '$client{'receive_own'}']",
 	        undef);
       } else {
         sendMsg("info",
-                "Sent " . scalar @ids . " events [#$ids[0] - #$ids[-1]] to [IP: '$ip'; CN(AN): $alt_names, Client_limit: '$max_rcv_events_limit', Requested_type: '$requested_type']",
+                "Sent " . scalar @ids . " events [#$ids[0] - #$ids[-1]] to [IP: '$ip'; CN(AN): $alt_names; Client_limit: '$max_rcv_events_limit'; Requested_type: '$requested_type'; ROE: '$client{'receive_own'}']",
 	        undef);
       }
     }
-- 
GitLab