diff --git a/src/warden-server/doc/CHANGELOG b/src/warden-server/doc/CHANGELOG
index d72926ebf2f1a9cb76499c317be122dbc71fc6ca..7abfe60d716619fa6c26e6b19db67b8e4315b117 100644
--- a/src/warden-server/doc/CHANGELOG
+++ b/src/warden-server/doc/CHANGELOG
@@ -1,8 +1,10 @@
 2012-00-00 v2.1 stable version
 ------------------------------
-- add limit of events that can be downloaded from server to client
-- add receiving of all types of events
-- add validation of types of received events
+- added limit of events that can be downloaded from server to client
+- added receiving of all types of events
+- added validation of types of received events
+- added support for client maximum received events limit option
+  (for more information see client documentation) 
 
 
 2012-07-27 v2.0 stable version
diff --git a/src/warden-server/lib/Warden.pm b/src/warden-server/lib/Warden.pm
index e210653eaf0691bb9f640cd0a040e07438ae94b1..d2409a9dbf56ba22d004948c3d88953c08942f20 100755
--- a/src/warden-server/lib/Warden.pm
+++ b/src/warden-server/lib/Warden.pm
@@ -255,6 +255,7 @@ sub getNewEvents
   # parse SOAP data object
   my $requested_type	= $data->{'REQUESTED_TYPE'};
   my $last_id		= $data->{'LAST_ID'};
+  my $max_rcv_events_limit = $data->{'MAX_RCV_EVENTS_LIMIT'};
 
   my %client = authorizeClient($alt_names, $ip, $requested_type, $client_type, $function_name);
   if(defined %client) {
@@ -262,11 +263,11 @@ sub getNewEvents
       if ($requested_type eq '_any_') {		  # check if client want each or only one type of messages
         $sth = $DBH->prepare("SELECT * FROM events WHERE type != 'test' AND id > ? AND valid = 't' ORDER BY id ASC LIMIT ?;");
         if (!defined $sth) {die("Cannot prepare ROE-ANY statement in $function_name: $DBI::errstr\n")}
-        $sth->execute($last_id, $MAX_EVENTS_LIMIT);
+        ($max_rcv_events_limit < $MAX_EVENTS_LIMIT) ? $sth->execute($last_id, $max_rcv_events_limit) : $sth->execute($last_id, $MAX_EVENTS_LIMIT);
       } else {
         $sth = $DBH->prepare("SELECT * FROM events WHERE type != 'test' AND id > ? AND type = ? AND valid = 't' ORDER BY id ASC LIMIT ?;");
         if (!defined $sth) {die("Cannot prepare ROE statement in $function_name: $DBI::errstr\n")}
-        $sth->execute($last_id, $requested_type, $MAX_EVENTS_LIMIT);
+        ($max_rcv_events_limit < $MAX_EVENTS_LIMIT) ? $sth->execute($last_id, $requested_type, $max_rcv_events_limit) : $sth->execute($last_id, $requested_type, $MAX_EVENTS_LIMIT);
       }
     } else {
       if ($requested_type eq '_any_') {
@@ -274,13 +275,13 @@ sub getNewEvents
         if (!defined $sth) {die("Cannot prepare ANY statement in $function_name: $DBI::errstr\n")}
         my ($domain) = $cn =~ /([^\.]+\.[^\.]+)$/;
         $domain = '\%' . $domain;
-        $sth->execute($last_id, $domain, $MAX_EVENTS_LIMIT);
+        ($max_rcv_events_limit < $MAX_EVENTS_LIMIT) ? $sth->execute($last_id, $domain, $max_rcv_events_limit) : $sth->execute($last_id, $domain, $MAX_EVENTS_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 ?;");
         if (!defined $sth) {die("Cannot prepare statement in $function_name: $DBI::errstr\n")}
         my ($domain) = $cn =~ /([^\.]+\.[^\.]+)$/;
         $domain = '\%' . $domain;
-        $sth->execute($last_id, $requested_type, $domain, $MAX_EVENTS_LIMIT);
+        ($max_rcv_events_limit < $MAX_EVENTS_LIMIT) ? $sth->execute($last_id, $requested_type, $domain, $max_rcv_events_limit) : $sth->execute($last_id, $requested_type, $domain, $MAX_EVENTS_LIMIT);
       }
     }
 
@@ -323,9 +324,9 @@ sub getNewEvents
     # log sent ID of events
     if (scalar @events != 0) {
       if (scalar @ids == 1) {
-        write2log("info", "Sent 1 events [#$ids[0]] to $ip (CN(AN): $alt_names)");
+        write2log("info", "Sent 1 event [#$ids[0]] to $ip (CN(AN): $alt_names) with client limit $max_rcv_events_limit events");
       } else {
-        write2log("info", "Sent " . scalar @ids . " events [#$ids[0] - #$ids[-1]] to $ip (CN(AN): $alt_names)");
+        write2log("info", "Sent " . scalar @ids . " events [#$ids[0] - #$ids[-1]] to $ip (CN(AN): $alt_names) with client limit $max_rcv_events_limit events");
       }
     }
     return @events;
diff --git a/src/warden-server/lib/WardenConf.pm b/src/warden-server/lib/WardenConf.pm
index 68103e459944098b7415a443724d5827a724f0e8..1d1ad54c2f656c2cef3e3122ac78a33ad91daf94 100755
--- a/src/warden-server/lib/WardenConf.pm
+++ b/src/warden-server/lib/WardenConf.pm
@@ -20,10 +20,10 @@ sub loadConf
   my $conf_file = shift;
 
   # preset of default variables
-  our $URI = undef;
-  our $SSL_KEY_FILE = undef;
-  our $SSL_CERT_FILE = undef;
-  our $SSL_CA_FILE = undef;
+  our $URI 		= undef;
+  our $SSL_KEY_FILE 	= undef;
+  our $SSL_CERT_FILE 	= undef;
+  our $SSL_CA_FILE 	= undef;
 
   # read config file
   if ( ! open( TMP, $conf_file) ) {