#!/bin/bash
# $Copyright$
# Copyright 2015 FUJITSU LIMITED
# All rights reserved

# Exit status codes:
# 0     OK
# 1     generic or unspecified error (no appropriate libcrypto found) 
# 255   invalid argument(s) 


# Source ServerView function library
. /etc/srvmagt/functions
SetSvEnv
LinkCreated=

if [ "$SV_ARCH" = "x86_64" -a "$SV_NICKNAME" != "RHEL5" -a "$SV_NICKNAME" != "OVM32" ]; then 
	LibCrypto="/usr/lib64/libcrypto.so.0.9.8"
	if [ "$SV_SYSTEM" = "suse" ]; then
		LIBS_CRY="/lib64/libcrypto.so.1.0.2 /lib64/libcrypto.so.1.0.1 /lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.0.9.8 /usr/lib64/libcrypto.so.0.9.7"
	elif [ "$SV_SYSTEM" = "turbolinux" ]; then
		LIBS_CRY="/usr/lib64/libcrypto.so.0.9.8 /usr/lib64/libcrypto.so.0.9.7"
	else
		LIBS_CRY="/usr/lib64/libcrypto.so.10 /lib64/libcrypto.so.6 /lib64/libcrypto.so.4"
	fi

else # 32 bit 
	LibCrypto="/usr/lib/libcrypto.so.0.9.7"
	if [ "$SV_SYSTEM" = "suse" ]; then
		LIBS_CRY="/lib/libcrypto.so.1.0.2 /lib/libcrypto.so.1.0.1 /lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.7"
	elif [ "$SV_SYSTEM" = "turbolinux" ]; then
		LIBS_CRY="/usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.7"
	else
		LIBS_CRY="/usr/lib/libcrypto.so.10 /lib/libcrypto.so.6 /lib/libcrypto.so.4"
	fi
fi


if [ ! -e $LibCrypto ]; then
	for name in $LIBS_CRY; do
		[ ! -e $LibCrypto ] && [ -e $name ] && ln -s $name $LibCrypto
	done
	[ ! -e $LibCrypto ] && echo "Cannot establish my libcrypto.so link to something appropriate" && exit 1
	LinkCreated=true
fi

/etc/srvmagt/SCConfig $*
ret=$?

[ "$LinkCreated" ] && rm -f $LibCrypto

exit $ret
 


 