diff --git a/packages/build-client.sh b/packages/build-client.sh index 23bd003106e14c4c2a002786532cd5c586927bc5..844e8e39d4f893f59a04f5264e4c1ef2b7515d9f 100755 --- a/packages/build-client.sh +++ b/packages/build-client.sh @@ -2,7 +2,7 @@ # # build-client.sh # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/packages/build-server.sh b/packages/build-server.sh index feddf86caf3c9a7a2a1ed4ec4c5a9650b74f8105..75a7f2b0c0b6bc6359d45aac5e2210ac1e429583 100755 --- a/packages/build-server.sh +++ b/packages/build-server.sh @@ -2,7 +2,7 @@ # # build-server.sh # -# Copyright (C) 2012 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/getClients.pl b/src/warden-server/bin/getClients.pl index c490b092d9ec5f43e6fe5790d328013ba852ec8d..bb880e377c16240818797a751ed594d10b117dbf 100755 --- a/src/warden-server/bin/getClients.pl +++ b/src/warden-server/bin/getClients.pl @@ -2,7 +2,7 @@ # # getClients.pl # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/getStatus.pl b/src/warden-server/bin/getStatus.pl index c2976c3011ba780f1fedad0868920c3ecc98745e..5b278683f60e25158c913b92daee1057e4d1451d 100755 --- a/src/warden-server/bin/getStatus.pl +++ b/src/warden-server/bin/getStatus.pl @@ -2,7 +2,7 @@ # # getStatus.pl # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/registerReceiver.pl b/src/warden-server/bin/registerReceiver.pl index 3a9af8228b8fd8b4526e33c5a31bbace674ef2bb..05502b75b012a517e343dd297c4f07a32b011851 100755 --- a/src/warden-server/bin/registerReceiver.pl +++ b/src/warden-server/bin/registerReceiver.pl @@ -2,7 +2,7 @@ # # registerReceiver.pl # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/registerSender.pl b/src/warden-server/bin/registerSender.pl index 225f88bd22226adba7b6917ad822cb634d5e6baa..30e1a72ab661f09bdbe85961581e490748c0017a 100755 --- a/src/warden-server/bin/registerSender.pl +++ b/src/warden-server/bin/registerSender.pl @@ -2,7 +2,7 @@ # # registerSender.pl # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/unregisterClient.pl b/src/warden-server/bin/unregisterClient.pl index 711932de56bb3032489af2b20cc9c5b160a78e60..54145db1fbac56c6bbbd09b4abfe71ac57d53162 100755 --- a/src/warden-server/bin/unregisterClient.pl +++ b/src/warden-server/bin/unregisterClient.pl @@ -2,7 +2,7 @@ # # unregisterClient.pl # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/warden-alive b/src/warden-server/bin/warden-alive index f7d8998b5ce8472fef124a008530fe8282fb99cc..657d190f0a96aae0da530537e3f2039ca702e951 100755 --- a/src/warden-server/bin/warden-alive +++ b/src/warden-server/bin/warden-alive @@ -2,7 +2,7 @@ # # warden-alive # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Jan Mach <jan.mach@cesnet.cz> # # Redistribution and use in source and binary forms, with or without diff --git a/src/warden-server/bin/warden-server.pl b/src/warden-server/bin/warden-server.pl index 263e5091ead62cf186e94ac12897e8b5d4f9083d..d585a23321099f8a842f2ddae84be7436c8adf94 100755 --- a/src/warden-server/bin/warden-server.pl +++ b/src/warden-server/bin/warden-server.pl @@ -2,7 +2,7 @@ # # warden-server.pl # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/bin/wardend b/src/warden-server/bin/wardend index 92625b5546d0388f947b7496a1138c06fdd5b55c..470b96fe833d752c876e5a726e922b36c87f8c2d 100755 --- a/src/warden-server/bin/wardend +++ b/src/warden-server/bin/wardend @@ -2,7 +2,7 @@ # # wardend # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/doc/LICENSE b/src/warden-server/doc/LICENSE index df8d7b579763e4b245315ddbe306a13ab22e0eb7..41397ce2aac7e03fac59f38a50036b705044a184 100644 --- a/src/warden-server/doc/LICENSE +++ b/src/warden-server/doc/LICENSE @@ -1,6 +1,6 @@ BSD License -Copyright © 2012 Cesnet z.s.p.o +Copyright © 2011-2012 Cesnet z.s.p.o All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/src/warden-server/lib/WardenConf.pm b/src/warden-server/lib/WardenConf.pm index 5f8156c48fb1b17df9f4ad9d52e294fc61004342..b5ee443645f1702c383f6dc222e0123c89f69daf 100755 --- a/src/warden-server/lib/WardenConf.pm +++ b/src/warden-server/lib/WardenConf.pm @@ -2,7 +2,7 @@ # # WardenConf.pm # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/lib/WardenReg.pm b/src/warden-server/lib/WardenReg.pm index 6ef131d68eb2d136d0865ccd73b41ff5859c6808..12b1fb9c977f55557d6564611601b40a809d6108 100755 --- a/src/warden-server/lib/WardenReg.pm +++ b/src/warden-server/lib/WardenReg.pm @@ -2,7 +2,7 @@ # # WardenReg.pm # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/lib/WardenStatus.pm b/src/warden-server/lib/WardenStatus.pm index abbf837d3805e0f1827492df8959d95939b70331..a5f41d07b7fb81df3b4a85fabb6cd38f9ccb3025 100755 --- a/src/warden-server/lib/WardenStatus.pm +++ b/src/warden-server/lib/WardenStatus.pm @@ -2,7 +2,7 @@ # # WardenStatus.pm # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/sh/create_tables.sh b/src/warden-server/sh/create_tables.sh index 136ca3d831e9ce4ec56389f875b0781734778a47..4e79c674d54b2a835d85f95576e8e0f0cd5cc653 100755 --- a/src/warden-server/sh/create_tables.sh +++ b/src/warden-server/sh/create_tables.sh @@ -2,7 +2,7 @@ # # create_table.sh # -# Copyright (C) 2011 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # diff --git a/src/warden-server/sh/install.sh b/src/warden-server/sh/install.sh index d7032f08ef0ff5416cbe17bb5e4b2f925d8f0eed..726318b7e8a7e644e288df642b7de2609f7249a0 100755 --- a/src/warden-server/sh/install.sh +++ b/src/warden-server/sh/install.sh @@ -2,7 +2,7 @@ # # install.sh # -# Copyright (C) 2012 Cesnet z.s.p.o +# Copyright (C) 2011-2012 Cesnet z.s.p.o # Author(s): Tomas PLESNIK <plesnik@ics.muni.cz> # Jan SOUKAL <soukal@ics.muni.cz> # @@ -31,199 +31,204 @@ # otherwise) arising in any way out of the use of this software, even # if advised of the possibility of such damage. -VERSION="1.0.0" +VERSION="1.1" #------------------------------------------------------------------------------- # FUNCTIONS #------------------------------------------------------------------------------- usage() { - echo "Usage: `basename $0` [-d <directory>] [-u <user>] [-k <ssl_key_file>] [-c <ssl_cert_file>] [-a <ssl_ca_file>] [-hV]" - echo "-d <directory> installation directory (default: /opt)" - echo "-u <user> owner of warden client package (user for running detection scripts)" - echo "-k <ssl_key_file> path to SSL certificate key file" - echo "-c <ssl_cert_file> path to SSL certificate file" - echo "-a <ssl_ca_file> path to CA certificate file" - echo "-h print this help" - echo "-V print script version number and exit" - echo - echo "Example: ./`basename $0` -d /opt -u detector -k /etc/ssl/private/client.key -c /etc/ssl/certs/client.pem -a /etc/ssl/certs/tcs-ca-bundle.pem" - echo - echo "Note: You must be root for running this script." - echo " For more information about installation process, see README file (section Installation)." - echo - exit 0 + echo "Usage: `basename $0` [-d <directory>] [-u <user>] [-k <ssl_key_file>] [-c <ssl_cert_file>] [-a <ssl_ca_file>] [-hV]" + echo "-d <directory> installation directory (default: /opt)" + echo "-u <user> owner of warden client package (user for running detection scripts)" + echo "-k <ssl_key_file> path to SSL certificate key file" + echo "-c <ssl_cert_file> path to SSL certificate file" + echo "-a <ssl_ca_file> path to CA certificate file" + echo "-h print this help" + echo "-V print script version number and exit" + echo + echo "Example: # ./`basename $0` -d /opt -u detector -k /etc/ssl/private/client.key -c /etc/ssl/certs/client.pem -a /etc/ssl/certs/tcs-ca-bundle.pem" + echo + echo "Note: You must be root for running this script." + echo " For more information about installation process, see README file (section Installation)." + echo + exit 0 } version() { - echo "`basename ${0}` - current version is $VERSION" - exit 0 + echo "`basename ${0}` - current version is $VERSION" + exit 0 } err() { - echo "FAILED!" - cat $err - rm -rf $err - echo - echo "Installation FAILED!!!" - exit 1 + echo "FAILED!" + cat $err + rm -rf $err + echo + echo "Installation of $package_version package FAILED!!!" + exit 1 } err_clean() { - echo "FAILED!" - echo " -> Uninstalling client package ... OK" - rm -rf $client_path > /dev/null 2>&1 - cat $err - rm -rf $err - echo - echo "Installation FAILED!!!" - exit 1 + echo "FAILED!" + echo " -> Uninstalling client package ... OK" + rm -rf $client_path > /dev/null 2>&1 + cat $err + rm -rf $err + echo + echo "Installation of $package_version package FAILED!!!" + exit 1 } os_chck() { - OS=`uname` - if [ "$OS" != "Linux" ]; then - echo "Sorry, unsupported operating system detected - \"$OS\"!" - exit 1 - fi + OS=`uname` + if [ "$OS" != "Linux" ]; then + echo "Sorry, unsupported operating system detected - \"$OS\"!" + exit 1 + fi } shell_chck() { - SHELL=`echo $SHELL` - if [ "$SHELL" != "/bin/bash" ]; then - echo "Sorry, this script is usable in Bourne Again Shell (bash) only!" - exit 1 - fi + SHELL=`echo $SHELL` + if [ "$SHELL" != "/bin/bash" ]; then + echo "Sorry, this script is usable in Bourne Again Shell (bash) only!" + exit 1 + fi } root_chck() { - if [ $UID -ne 0 ]; then - echo "You must be root for running this script!" - exit 1 - fi + if [ $UID -ne 0 ]; then + echo "You must be root for running this script!" + exit 1 + fi } params_chck() { - if [ -z $prefix ]; then - prefix=/opt - echo "Warning: parameter -d <directory> is not set - default installation directory is $prefix!" - fi - if [ -z $user ]; then - echo "Parameter -u <user> is not set!" - exit 1 - fi - if [ -z $key ]; then - echo "Parameter -k <ssl_key_file> is not set!" - exit 1 - fi - if [ -z $cert ]; then - echo "Parameter -c <ssl_cert_file> is not set!" - exit 1 - fi - if [ -z $ca_file ]; then - echo "Parameter -a <ssl_ca_file> is not set!" - exit 1 - fi + if [ -z $prefix ]; then + prefix=/opt + echo "Warning: parameter -d <directory> is not set - default installation directory is $prefix!" + fi + if [ -z $user ]; then + echo "Parameter -u <user> is not set!" + exit 1 + fi + if [ -z $key ]; then + echo "Parameter -k <ssl_key_file> is not set!" + exit 1 + fi + if [ -z $cert ]; then + echo "Parameter -c <ssl_cert_file> is not set!" + exit 1 + fi + if [ -z $ca_file ]; then + echo "Parameter -a <ssl_ca_file> is not set!" + exit 1 + fi } -perl_chck() +old_client_chck() { - echo -n "Checking Perl interpreter ... " - which perl 1>/dev/null; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - echo "FAILED!" - echo "Error: Perl interpreter is not installed!" - exit 1 - fi + old_package_version_file="$etc/package_version" + if [ -f $old_package_version_file ]; then + old_package_version=`cat $old_package_version_file` + echo "Sorry, but $old_package_version package is installed!" + echo "For update of warden client package please use update.sh script." + exit 1 + fi } -modules_chck() +perl_chck() { - for module in ${modules[@]}; - do - echo -n "Checking $module module ... " - perl -e "use $module" 2> $err; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - err - fi - done + echo -n "Checking Perl interpreter ... " + which perl 1>/dev/null; ret_val=`echo $?` + if [ $ret_val -eq 0 ]; then + echo "OK" + else + echo "FAILED!" + echo "Error: Perl interpreter is not installed!" + exit 1 + fi } -installation_dir_chck() +modules_chck() { - echo -n "Checking installation directory ... " - if [ ! -d $prefix ]; then - echo "FAILED!" - ls $prefix - exit 1 - else - echo "OK" - fi + for module in ${modules[@]}; + do + echo -n "Checking $module module ... " + perl -e "use $module" 2> $err; ret_val=`echo $?` + if [ $ret_val -eq 0 ]; then + echo "OK" + else + err + fi + done } make_warden_dir() { - echo -n "Making warden client directory ... " - cp -R ./warden-client $prefix 2> $err; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - err_clean - fi - cp -u CHANGELOG INSTALL LICENSE README README.cesnet "$client_path/doc" + echo -n "Creating warden client directory ... " + cp -R $dirname/warden-client $prefix 2> $err; ret_val=`echo $?` + if [ $ret_val -eq 0 ]; then + echo "OK" + else + err_clean + fi + + files=(CHANGELOG INSTALL LICENSE README README.cesnet) + for file in ${files[@]}; + do + cp $dirname/$file "$client_path/doc" + done + cp $dirname/uninstall.sh "$client_path" } copy_key() { - echo -n "Copying certificate key file ... " - cp $key $etc 2> $err; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - err_clean - fi + echo -n "Copying certificate key file ... " + cp $key $etc 2> $err; ret_val=`echo $?` + if [ $ret_val -eq 0 ]; then + echo "OK" + else + err_clean + fi } copy_cert() { - echo -n "Copying certificate file ... " - cp $cert $etc 2> $err; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - err_clean - fi + echo -n "Copying certificate file ... " + cp $cert $etc 2> $err; ret_val=`echo $?` + if [ $ret_val -eq 0 ]; then + echo "OK" + else + err_clean + fi } make_conf_file() { - echo -n "Creating configuration file ... " -echo "# + echo -n "Creating configuration file ... " + echo "# # warden-client.conf - configuration file for the warden sender/receiver client # @@ -247,23 +252,24 @@ echo "# #------------------------------------------------------------------------------- \$SSL_CA_FILE = \"$ca_file\"; " > $conf_file 2> $err; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - err_clean - fi + + if [ $ret_val -eq 0 ]; then + echo "OK" + else + err_clean + fi } change_permissions() { - echo -n "Changing permissions to installed package ... " - chown -R $user: $client_path 2>$err; ret_val=`echo $?` - if [ $ret_val -eq 0 ]; then - echo "OK" - else - err_clean - fi + echo -n "Changing permissions to installed package ... " + chown -R $user: $client_path 2>$err; ret_val=`echo $?` + if [ $ret_val -eq 0 ]; then + echo "OK" + else + err_clean + fi } @@ -273,7 +279,7 @@ change_permissions() #------------------------------------------------------------------------------- # list of used Perl modules -modules=(SOAP::Lite IO::Socket::SSL SOAP::Transport::TCP FindBin) +modules=(SOAP::Lite IO::Socket::SSL SOAP::Transport::TCP FindBin DateTime) # OS test os_chck @@ -283,16 +289,16 @@ shell_chck # read input while getopts "d:u:k:c:a:Vh" options; do - case $options in - d ) prefix=$OPTARG;; - u ) user=$OPTARG;; - k ) key=$OPTARG;; - c ) cert=$OPTARG;; - a ) ca_file=$OPTARG;; - h ) usage;; - V ) version;; - * ) usage;; - esac + case $options in + d ) prefix=$OPTARG;; + u ) user=$OPTARG;; + k ) key=$OPTARG;; + c ) cert=$OPTARG;; + a ) ca_file=$OPTARG;; + h ) usage;; + V ) version;; + * ) usage;; + esac done # root test @@ -302,13 +308,19 @@ root_chck params_chck # create variables +dirname=`dirname $0` +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" err="/tmp/warden-err" +# check if warden-client is installed +old_client_chck + echo echo "------------------------- Dependencies check-in -------------------------" @@ -322,9 +334,6 @@ modules_chck echo echo "------------------------- Installation process --------------------------" -# check installation directory -installation_dir_chck - # make warden client directory make_warden_dir @@ -343,7 +352,7 @@ change_permissions echo echo "Please check configuration file in $conf_file!" echo -echo "Installation was SUCCESSFUL!!!" +echo "Installation of $package_version package was SUCCESSFUL!!!" # cleanup section rm -rf $err