#!/bin/ksh
# IBM_PROLOG_BEGIN_TAG 
# This is an automatically generated prolog. 
#  
# 61haes_r714 src/43haes/usr/sbin/cluster/cspoc/utilities/cl_ldap_server_show.sh 1.1 
#  
# Licensed Materials - Property of IBM 
#  
# COPYRIGHT International Business Machines Corp. 2010,2011 
# All Rights Reserved 
#  
# US Government Users Restricted Rights - Use, duplication or 
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
#  
# IBM_PROLOG_END_TAG 
# @(#)37	1.1  src/43haes/usr/sbin/cluster/cspoc/utilities/cl_ldap_server_show.sh, hacmp, 61haes_r714 11/28/11 15:02:26
. /usr/es/sbin/cluster/cspoc/cl_federatedsec_source
fsec_init

odm_check

[[ -z `odmget -q "group=LDAPServer and name=ServerList" HACMPLDAP` ]] && {  dspmsg -s 129 cspoc.cat 139 "A LDAP server is not defined.\n"; exit 2; }

SERVER_LIST=$(clodmget -n -q "group=LDAPServer and name=ServerList" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $SERVER_LIST ]] && ret_fail "Server list not found." 1 
BIND_DN=$(clodmget -n -q "group=LDAPServer and name=AdminDN" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $BIND_DN ]] && ret_fail "Bind DN not found." 1 
SCHEMA_TYPE=$(clodmget -n -q "group=LDAPServer and name=SchemaType" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $SCHEMA_TYPE ]] && ret_fail "Schema type not found." 1 
BASE_DN=$(clodmget -n -q "group=LDAPServer and name=BaseDN" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $BASE_DN ]] && ret_fail "Base DN not found." 1 
SSL_PORT_NUM=$(clodmget -n -q "group=LDAPServer and name=SSLPortNumber" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $SSL_PORT_NUM ]] && ret_fail "SSL port number not found." 1 
SERV_KDB_PATH=$(clodmget -n -q "group=LDAPServer and name=ServerKdbPath" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $SERV_KDB_PATH ]] && ret_fail "Server key path not found." 1 
VERSION=$(clodmget -n -q "group=LDAPServer and name=Version" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $VERSION ]] && ret_fail "Version not found." 1 
###################
KEY_PW=$(clodmget -n -q "group=LDAPServer and name=ServerKdbPwd" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $KEY_PW ]] && ret_fail "Key password not found." 1 
BIND_PW=$(clodmget -n -q "group=LDAPServer and name=AdminDNPwd" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $BIND_PW ]] && ret_fail "Bind password not found." 1 
BASE_PATH=$(clodmget -n -q "group=LDAPServer and name=BasePath" -f value HACMPLDAP|sort -u 2>/dev/null) 
[[ -z $BASE_PATH ]] && ret_fail "Base path not found." 1 
###################

echo "
LDAP Server(s) = $SERVER_LIST
Admin DN = $BIND_DN
Schema Type = $SCHEMA_TYPE
Suffix / Base DN = $BASE_DN
Server Port Number = $SSL_PORT_NUM
SSL Key Path = $SERV_KDB_PATH
Version = $VERSION
"

#checking whether server is up and running and accessible with the parameters stored
SERVER_LIST_CC=`echo $SERVER_LIST|sed 's/,/ /g'` 
[[ -z $SERVER_LIST_CC ]] && ret_fail "Server list not found." 1 
NODES=`cllsnode -c|sed '1d'|awk -F: '{print $1}'` 
[[ -z $NODES ]] && ret_fail "Nodes not found" 1 
for X in $NODES
do
	TNODE=$X
	[[ -z $TNODE ]] && ret_fail "Node not found." 1 
	for Y in $SERVER_LIST_CC
	do
		cl_rsh -n $TNODE "${BASE_PATH}/bin/ldapsearch -b $BASE_DN -s base -D $BIND_DN -h $Y -K $SERV_KDB_PATH -p $SSL_PORT_NUM -P $KEY_PW -w $BIND_PW -Z objectclass=*" >/dev/null 2>&1 \
		||  dspmsg -s 129 cspoc.cat 126 "WARNING: LDAP server is not accessible in node %s. Check and correct it.\n" "$TNODE"
	done
done
###################

run_on_allnode "rm -rf $FSEC_LOG_DIR" || ret_fail "Removing log directory failed." $?

exit 0
