diff --git a/packages/TODO.zcu b/packages/TODO.zcu
index db086f4433725f1978e8aa05886f35e8e78bbe10..e12f02a4d0b5f06c57b09427bd66c4a4a81f7487 100644
--- a/packages/TODO.zcu
+++ b/packages/TODO.zcu
@@ -1,6 +1,6 @@
 * sjednotit warden-client.conf a warden-server.conf 
 * ipv6
 * zrusit vsude licence a nahradit jedinym radkem s odkazem
-* generovani konfigutracnich souboru z template z balicku a ne primo ze shell skriptu
+* generovani konfiguracnich souboru z template z balicku a ne primo ze shell skriptu
 * verze klienta a serveru jsou mimo sync coz je osklive, proc mam pouzivat c1.1.1 a s0.1.1 ? to nedava smysl ...
 
diff --git a/packages/build-client.sh b/packages/build-client.sh
index 5e176f4e0ac3da5d3e47bf75fdc2ae8f4fbdeec7..47c615e194f4342b8a48e896c62dcae4aa99c0bf 100755
--- a/packages/build-client.sh
+++ b/packages/build-client.sh
@@ -49,7 +49,7 @@ err()
 #-------------------------------------------------------------------------------
 
 # edit when you build new package
-version="1.1.0"
+version="1.1.1"
 
 package_name="warden-client"
 package="$package_name-$version"
diff --git a/src/warden-client/lib/WardenClientReceive.pm b/src/warden-client/lib/WardenClientReceive.pm
index 5ed525a01247b1f744cfb5e633c6a609620d9735..c8f7d456f692a3894e6f822d26d6bbf094252344 100755
--- a/src/warden-client/lib/WardenClientReceive.pm
+++ b/src/warden-client/lib/WardenClientReceive.pm
@@ -36,10 +36,11 @@ package WardenClientReceive;
 use strict;
 use SOAP::Lite;
 use IO::Socket::SSL qw(debug1);
-use SOAP::Transport::TCP;
+#use SOAP::Transport::TCP;
+use SOAP::Transport::HTTP;
 use FindBin;
 
-our $VERSION = "1.2";
+our $VERSION = "1.1";
 
 #-------------------------------------------------------------------------------
 # errMsg - print error message and die
@@ -54,6 +55,52 @@ sub errMsg
 #-------------------------------------------------------------------------------
 # c2s - connect to server, send request and receive response
 #-------------------------------------------------------------------------------
+#sub c2s 
+#{
+#  my $uri		= shift;
+#  my $ssl_key_file	= shift;
+#  my $ssl_cert_file	= shift;
+#  my $ssl_ca_file	= shift;
+#  my $method		= shift;
+#  my $data		= shift;
+#
+#  my $client;
+#  my ($server, $port, $service) = $uri =~ /https:\/\/(.+)\:(\d+)\/(.+)/;
+#  if (!($client = SOAP::Transport::TCP::Client->new(
+#    PeerAddr            => $server,
+#    PeerPort            => $port,
+#    Proto               => 'tcp',
+#    SSL_use_cert        => 1,
+#    SSL_verify_mode     => 0x02,
+#    SSL_key_file        => $ssl_key_file,
+#    SSL_cert_file       => $ssl_cert_file,
+#    SSL_ca_file         => $ssl_ca_file,
+#  ))) {errMsg("Sorry, unable to create socket: " . &SOAP::Transport::TCP::Client::errstr)}
+#
+#  # setting of URI and serialize SOAP envelope and data object
+#  my $soap = SOAP::Lite->uri($uri);
+#  my $envelope;
+#  if (!defined $data) {
+#    $envelope = $soap->serializer->envelope(method => $method);
+#  } else {
+#    $envelope = $soap->serializer->envelope(method => $method, $data);
+#  }
+#
+#  # setting of TCP URI and send serialized SOAP envelope and data
+#  my $tcp_uri = "tcp://$server:$port/$service";
+#  my $result = $client->send_receive(envelope => $envelope, endpoint => $tcp_uri);
+#
+#  # check server response
+#  if (!defined $result) {
+#    errMsg("Error: server returned empty response." . "\n" . "Problem with used SSL ceritificates or Warden server at $server:$port is down.");
+#  } else {
+#    # deserialized response from server -> create SOAP envelope and data object
+#    my $response = $soap->deserializer->deserialize($result);
+#    # check SOAP fault status
+#    $response->fault ? errMsg("Server sent error message:: " . $response->faultstring) : return $response;
+#  }
+#}
+
 sub c2s 
 {
   my $uri		= shift;
@@ -65,19 +112,17 @@ sub c2s
 
   my $client;
   my ($server, $port, $service) = $uri =~ /https:\/\/(.+)\:(\d+)\/(.+)/;
-  if (!($client = SOAP::Transport::TCP::Client->new(
-    PeerAddr            => $server,
-    PeerPort            => $port,
-    Proto               => 'tcp',
-    SSL_use_cert        => 1,
-    SSL_verify_mode     => 0x02,
-    SSL_key_file        => $ssl_key_file,
-    SSL_cert_file       => $ssl_cert_file,
-    SSL_ca_file         => $ssl_ca_file,
-  ))) {errMsg("Sorry, unable to create socket: " . &SOAP::Transport::TCP::Client::errstr)}
+  if (!($client = SOAP::Transport::HTTP::Client->new(
+))) {errMsg("Sorry, unable to create socket: " . &SOAP::Transport::HTTP::Client::errstr)}
+  $client->ssl_opts( 	verify_hostname     => 1,
+        		SSL_use_cert        => 1,
+        		SSL_verify_mode     => 0x02,
+        		SSL_key_file        => $ssl_key_file,
+        		SSL_cert_file       => $ssl_cert_file,
+        		SSL_ca_file         => $ssl_ca_file);
 
   # setting of URI and serialize SOAP envelope and data object
-  my $soap = SOAP::Lite->uri($uri);
+  my $soap     = SOAP::Lite->uri($service)->proxy($uri);
   my $envelope;
   if (!defined $data) {
     $envelope = $soap->serializer->envelope(method => $method);
@@ -86,7 +131,7 @@ sub c2s
   }
 
   # setting of TCP URI and send serialized SOAP envelope and data
-  my $tcp_uri = "tcp://$server:$port/$service";
+  my $tcp_uri = "https://$server:$port/$service";
   my $result = $client->send_receive(envelope => $envelope, endpoint => $tcp_uri);
 
   # check server response
@@ -101,6 +146,8 @@ sub c2s
 }
 
 
+
+
 #-------------------------------------------------------------------------------
 # getNewEvents - get new events from warden server greater than last received ID
 #-------------------------------------------------------------------------------
@@ -145,19 +192,20 @@ sub getNewEvents
 
   # create SOAP data obejct
   my $request_data = SOAP::Data->name(request => \SOAP::Data->value(
-                     SOAP::Data->name(REQUESTED_TYPE => $requested_type),
-                     SOAP::Data->name(LAST_ID => $last_id)
+    SOAP::Data->name(REQUESTED_TYPE => $requested_type),
+    SOAP::Data->name(LAST_ID => $last_id)
   ));
-  # call server method getNewEvents 
   my $response = c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getNewEvents", $request_data);
 
+  # match getNewEvents functions response
+  $response->match('/Envelope/Body/getNewEventsResponse/');
   my ($id, $hostname, $service, $detected, $type, $source_type, $source, $target_proto, $target_port, $attack_scale, $note, $priority, $timeout);
   my @events;
 
   # parse returned SOAP data object
-  my @response_list = $response->valueof('/Envelope/Body/getNewEventsResponse/event/');
-  while (scalar @response_list) {
-    my $response_data = shift(@response_list);
+  my $i = 1;
+  my $response_data = $response->valueof("[$i]");
+  while (defined $response_data) {
     my @event;
 
     # parse items of one event
@@ -181,8 +229,12 @@ sub getNewEvents
 
     # set maximum received ID from current batch
     if ($id > $last_id) {
-      $last_id = $id;
+	    $last_id = $id;
     }
+
+    # go to the next received event
+    $i++;
+    $response_data = $response->valueof("[$i]");
   }
 
   # write last return ID
@@ -192,6 +244,7 @@ sub getNewEvents
     close ID;
   }
 
+  # return event array of arrays 
   return @events;
 } # End of getNewEvents
 
diff --git a/src/warden-client/lib/WardenClientSend.pm b/src/warden-client/lib/WardenClientSend.pm
index f8cac0e9be7c5d0cc41189ca8adffeeaf7f0850d..75d12479f23fa06c3a4b1c086d7f0084c78c04bc 100755
--- a/src/warden-client/lib/WardenClientSend.pm
+++ b/src/warden-client/lib/WardenClientSend.pm
@@ -35,12 +35,12 @@ package WardenClientSend;
 
 use strict;
 use SOAP::Lite;
+#use SOAP::Lite 'trace', 'debug';
 use IO::Socket::SSL qw(debug1);
-use SOAP::Transport::TCP;
-
+#use SOAP::Transport::TCP;
+use SOAP::Transport::HTTP;
 our $VERSION = "1.1";
 
-
 #-------------------------------------------------------------------------------
 # errMsg - print error message and die
 #-------------------------------------------------------------------------------
@@ -65,23 +65,21 @@ sub c2s
 
   my $client;
   my ($server, $port, $service) = $uri =~ /https:\/\/(.+)\:(\d+)\/(.+)/;
-  if (!($client = SOAP::Transport::TCP::Client->new(
-    PeerAddr            => $server,
-    PeerPort            => $port,
-    Proto               => 'tcp',
-    SSL_use_cert        => 1,
-    SSL_verify_mode     => 0x02,
-    SSL_key_file        => $ssl_key_file,
-    SSL_cert_file       => $ssl_cert_file,
-    SSL_ca_file         => $ssl_ca_file,
-  ))) {errMsg("Sorry, unable to create socket: " . &SOAP::Transport::TCP::Client::errstr)}
+  if (!($client = SOAP::Transport::HTTP::Client->new(
+))) {errMsg("Sorry, unable to create socket: " . &SOAP::Transport::HTTP::Client::errstr)}
+  $client->ssl_opts( 	verify_hostname     => 1,
+        		SSL_use_cert        => 1,
+        		SSL_verify_mode     => 0x02,
+        		SSL_key_file        => $ssl_key_file,
+        		SSL_cert_file       => $ssl_cert_file,
+        		SSL_ca_file         => $ssl_ca_file);
 
   # setting of URI and serialize SOAP envelope and data object
-  my $soap     = SOAP::Lite->uri($uri);
+  my $soap     = SOAP::Lite->uri($service)->proxy($uri);
   my $envelope = $soap->serializer->envelope(method => $method, $data);
-
-  # setting of TCP URI and send serialized SOAP envelope and data
-  my $tcp_uri = "tcp://$server:$port/$service";
+  
+# setting of TCP URI and send serialized SOAP envelope and data
+  my $tcp_uri = "https://$server:$port/$service";
   my $result = $client->send_receive(envelope => $envelope, endpoint => $tcp_uri);
 
   # check server response
diff --git a/src/warden-client/sh/install.sh b/src/warden-client/sh/install.sh
index 8d0e21b9a634184771888ff21f65bc4642b0cb11..726318b7e8a7e644e288df642b7de2609f7249a0 100755
--- a/src/warden-client/sh/install.sh
+++ b/src/warden-client/sh/install.sh
@@ -156,7 +156,8 @@ old_client_chck()
 perl_chck()
 {
 	echo -n "Checking Perl interpreter ... "
-	if which perl 1> /dev/null; then
+	which perl 1>/dev/null; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
 		echo "OK"
 	else
 		echo "FAILED!"
@@ -171,7 +172,8 @@ modules_chck()
 	for module in ${modules[@]};
 	do
 		echo -n "Checking $module module ... "
-		if perl -e "use $module" 2> $err; then
+		perl -e "use $module" 2> $err; ret_val=`echo $?`
+		if [ $ret_val -eq 0 ]; then
 			echo "OK"
 		else
 			err
@@ -183,7 +185,8 @@ modules_chck()
 make_warden_dir()
 {
 	echo -n "Creating warden client directory ... "
-	if cp -R ${dirname}/warden-client $prefix 2> $err; then
+	cp -R $dirname/warden-client $prefix 2> $err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
 		echo "OK"
 	else
 		err_clean
@@ -192,16 +195,17 @@ make_warden_dir()
 	files=(CHANGELOG INSTALL LICENSE README README.cesnet)
 	for file in ${files[@]};
 	do
-		cp ${dirname}/$file "${client_path}/doc"
+		cp $dirname/$file "$client_path/doc"
 	done
-	cp ${dirname}/uninstall.sh "$client_path"
+	cp $dirname/uninstall.sh "$client_path"
 }
 
 
 copy_key()
 {
 	echo -n "Copying certificate key file ... "
-	if cp $key $etc 2> $err; then
+	cp $key $etc 2> $err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
 		echo "OK"
 	else
 		err_clean
@@ -212,7 +216,8 @@ copy_key()
 copy_cert()
 {
 	echo -n "Copying certificate file ... "
-	if cp $cert $etc 2> $err; then
+	cp $cert $etc 2> $err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
 		echo "OK"
 	else
 		err_clean
@@ -235,17 +240,17 @@ make_conf_file()
 #-------------------------------------------------------------------------------
 # SSL_KEY_FILE - path to client SSL certificate key file
 #-------------------------------------------------------------------------------
-\$SSL_KEY_FILE = \"${etc}/${key_file}\";
+\$SSL_KEY_FILE = \"$etc/$key_file\";
 
 #-------------------------------------------------------------------------------
 # SSL_CERT_FILE - path to client SSL certificate file
 #-------------------------------------------------------------------------------
-\$SSL_CERT_FILE = \"${etc}/${cert_file}\";
+\$SSL_CERT_FILE = \"$etc/$cert_file\";
 
 #-------------------------------------------------------------------------------
 # SSL_CA_FILE - path to CA certificate file
 #-------------------------------------------------------------------------------
-\$SSL_CA_FILE = \"${ca_file}\";
+\$SSL_CA_FILE = \"$ca_file\";
 " > $conf_file 2> $err; ret_val=`echo $?`
 
 	if [ $ret_val -eq 0 ]; then
@@ -259,10 +264,8 @@ make_conf_file()
 change_permissions()
 {
 	echo -n "Changing permissions to installed package ... "
-	chown -R $user: $client_path 2> $err || err_clean
-	chmod 400 ${etc}/$key_file ${etc}/$cert_file || err_clean
-	chmod 644 ${etc}/package_version || err_clean
-	if chmod 600 $conf_file; then
+	chown -R $user: $client_path 2>$err; ret_val=`echo $?`
+	if [ $ret_val -eq 0 ]; then
 		echo "OK"
 	else
 		err_clean
@@ -306,13 +309,13 @@ params_chck
 
 # create variables
 dirname=`dirname $0`
-package_version=`cat ${dirname}/warden-client/etc/package_version`
+package_version=`cat $dirname/warden-client/etc/package_version`
 key_file=`basename $key`
 cert_file=`basename $cert`
 [[ $prefix == */ ]] && prefix="${prefix%?}" # remove last char (slash) from prefix
-client_path="${prefix}/warden-client"
-etc="${client_path}/etc"
-conf_file="${etc}/warden-client.conf"
+client_path="$prefix/warden-client"
+etc="$client_path/etc"
+conf_file="$etc/warden-client.conf"
 err="/tmp/warden-err"
 
 # check if warden-client is installed
@@ -349,8 +352,6 @@ change_permissions
 echo
 echo "Please check configuration file in $conf_file!"
 echo
-echo "Warden client directory: $client_path"
-echo
 echo "Installation of $package_version package was SUCCESSFUL!!!"
 
 # cleanup section
diff --git a/src/warden-server/doc/warden-apache.readme b/src/warden-server/doc/warden-apache.readme
index 4698aaab835e418c59453944ff9834ab47f4341e..7db3050bc20a2d58e0756313f41fcbfff1476342 100644
--- a/src/warden-server/doc/warden-apache.readme
+++ b/src/warden-server/doc/warden-apache.readme
@@ -1,46 +1,74 @@
-apache2
-mysql-server
-a2enmod ssl
-libapache2-mod-perl2
-mysql -u root -p < warden.sql
-libcrypt-x509-perl
-libmime-base64-perl
-apache2-mpm-prefork
-
-<IfModule mpm_prefork_module>
-    StartServers          2
-    MinSpareServers       4
-    MaxSpareServers       8
-    ServerLimit           700
-    MaxClients            700
-    MaxRequestsPerChild   0
-</IfModule>
-Timeout 10
-KeepAlive Off
-
-
-Instalace Apache
-Povoleni SSL
-Instalace mod_perl
-Apache - Virtual Host <*:443> - pro jine jeste povolit port
-Include cesty do Apache
-Nastaveni spravnych Adres - klient, server
-Nastaveni db na serveru
-Pouziti jineho cert server/client
-Instalace 2 balicku
-Instalace prefork
-nastavni apache2.conf
-================
-Instalace DB
-restore db z adr. etc/warden.sql 
-
-====
-Instalace serveru do jine cesty nez /opt -> nevytvari adresar, nemaze pri odinstalaci
+Strucny technicky navod pro preklopeni Warden serveru pod Apache a mod_perl
+===========================================================================
 
+INSTALACE
+=========
 
+1) Instalace Apache a MySQL DB
+	
+	aptitude install apache2 mysql-server
 
+2) Povoleni mod_ssl
 
+	an2enmod ssl
 
+3) Instalace knihovny mod_perl
+
+	libapache2-mod-perl2
+
+4) Instalace podpory metody prefork pro Apache
+
+	apache2-mpm-prefork
+
+5) Instalace nove pridanych modulu
+
+	aptitude install libcrypt-x509-perl libmime-base64-perl
+
+
+Konfigurace
+===========
+
+1) Nastaveni APACHE 
+
+	a) /etc/apache2/sites-enables/default
+		- konfigurace sekce <VirtualHost *:443>
+		- includovani potrebnych parametru ze souboru {warden-server}/etc/warden-apache.conf
+			Include /opt/warden-server/etc/warden-apache.conf
+	
+	b) Nastaveni vykonovych parametru Apache (/etc/apache2/apache2.conf)
+		- modul prefork (nastavujte dle vykonu vaseho serveru)
+		= pro 12C, 16GB RAM funguje dobre
+
+			<IfModule mpm_prefork_module>
+			    StartServers          2
+			    MinSpareServers       4
+			    MaxSpareServers       8
+			    ServerLimit           700
+			    MaxClients            700
+			    MaxRequestsPerChild   0
+			</IfModule>
+
+
+		- parametry spojeni
+			
+			Timeout 10
+			KeepAlive Off
+
+
+	c) restartovani Apache po kazde zmene Warden.pm (serverova cast)
+
+
+2) Nastaveni DB
+
+	a) (volitelne) Vytvoreni noveho uzivatele
+	b) Vytvoreni databazove struktury
+
+		mysql -u uzivatel -p heslo < {warden-server}/doc/warden.mysql
+
+3) Nastaveni warden-server.conf, warden-client.conf, {warden-server}/etc/warden-apache.conf
+
+	a) Zkontrolovat spravnost IP adres, portu a hlavne cest k certifikatum + nove udaje pro pripojeni do DB
+	b) Pro klienta a server na jednom stroji jsou zrejme treba 2 ruzne certifikaty (me to jinak nejde, zkuste;))