# S332ESSO.def: Collects Oracle Enterprise Single Sign-On Information # $Id: S332ESSO.def,v 1.3 2009/04/29 20:40:15 mschenke Exp $ # ARCS : $Header: /u02/webapps/workbench/cvs/RDA_4/src/scripting/lib/modules/S332ESSO.def,v 1.3 2009/04/29 20:40:15 mschenke Exp $ # # Change History # 20090429 MSC Improve the documentation. =head1 NAME S332ESSO - Collects Oracle Enterprise Single Sign-On (PassLogix) Information =head1 DESCRIPTION This module collects Oracle Enterprise Single Sign-On (PassLogix)-related information. This module is only applicable to Microsoft Windows systems. The following reports can be generated and are regrouped under C: =cut echo tput('bold'),'Processing ESSO module ...',tput('off') # Initialisation var $DATA_DIR = getEnv('APPDATA') var $TAIL = getSetting('RDA_TAIL',1000) var $TOC = '%TOC%' var $TOP = '[[#Top][Back to top]]' toc '1:Oracle Enterprise Single Sign-On' # Load the common macros run library() =head2 noregistry - No Registry Information Indicates that it requires C registry information to perform the collection. =cut if !getRegValue('HKLM\software\Passlogix','Path') {report noregistry write 'RDA could not access Oracle Enterprise Single Sign-On information \ from the registry.' if isCreated(true) toc '2:[[',getFile(),'][rda_report][No Registry Information]]' echo 'Oracle Enterprise Single Sign-On registry information not found' return } =head2 registry - Registry Information Collects Oracle Enterprise Single Sign-On registry information. =cut report registry debug 'Inside ESSO module, gathering registry information' prefix write '---+!! Oracle Enterprise Single Sign-On Registry information' call writeRegistry('HKLM\software\Passlogix') if isCreated(true) toc '2:[[',getFile(),'][rda_report][Registry Information]]' =head2 appdata - Application Files Collects application files. =cut pretoc '2:Application Files' debug 'Inside ESSO module, gathering application files' var $dir = catDir($DATA_DIR,'PassLogix') call sort_files(3,0,grepDir($dir,'\.(ini|xml|log)$','ip')) =head2 secfiles - Secrets Directory Contents Collects contents of F directory. =cut debug 'Inside ESSO module, gathering contents of secrets directory' var $dir = catDir($DATA_DIR,'PassLogix','Secrets') if testDir('d',$dir) {report secfiles write '---+ Secrets Directory Contents' write '---## Information taken from ',encode($dir) call statDir('an',$dir) if isCreated(true) toc '3:[[',getFile(),'][rda_report][Secrets Directory Contents]]' } unpretoc =head2 syncstat - Synchronization Status RDA runs the synchronization and then checks if the last modification date of file F<%APPDATA%/Passlogix/aelist.ini> has been modified. =cut if getRegValue('HKLM\software\Passlogix','Path') {var $INST_DIR = catDir(last) if getSetting('ESSO_CHECK_SYNC',1) {debug 'Inside ESSO module, testing sychronization' if testFile('f',catFile($INST_DIR,'ssoshell.exe')) {report syncstat var $cmd = concat(lastCommand(),' /syncmgr /download') var $fil = catFile($DATA_DIR,'PassLogix','aelist.ini') write '---+ Synchronization Status' write '---## Using: ',encode($cmd) write 'Current time is ',gmtime('%d-%b-%Y %H:%M:%S') write '---++ File Status before the Synchronization' call statFile('p',$fil) if loadCommand($cmd) {write '---++ Synchronization Output' call writeLastFile() write '---++ File Status after the Synchronization' call statFile('p',$fil) } else {write '---++ Synchronization Error' call writeLastFile() } toc '2:[[',getFile(),'][rda_report][Synchronization Status]]' } } =head2 versions - Executable and Library Versions Collects the executable and library versions. =cut report versions debug 'Inside ESSO module, gathering executable and library versions' prefix {write '---+!! Version Information' write $TOC } loop $fil (grepDir($INST_DIR,'\.(dll|exe)$','dir')) {write '---+ Version Information from ',basename($fil) call statFile('p',$fil) write '%BR%' var %inf = getVersionInfo($fil) loop $key (keys(%inf)) write '|*',replace($key,'\012','',true),' *|',\ replace($inf{$key},'\012','',true),' |' write $TOP } if isCreated(true) toc '2:[[',getFile(),'][rda_report][Executable and Library Versions]]' =head2 instdir - Installation Directory Contents When requested, attaches the content of Oracle Enterprise Single Sign-On installation directory. It does not generate this report when it does not find an archiving utility. =cut if and(testDir('dr',$INST_DIR),getSetting('ESSO_COLLECT_DIR')) {var $dst = catFile(getSetting('RPT_DIRECTORY'),\ concat(getSetting('RPT_GROUP'),'_ESSO_pass.zip')) if testCommand('zip -h') {var $cmd = concat('zip -9 -q -r "',$dst,'" "',$INST_DIR,'"') } elsif findCommand('jar') {var $cmd = concat(last,' -cfM "',$dst,'" -C "',$INST_DIR,'" .') } else {var $cmd = undef echo 'Unable to find an utility for archiving the installation directory.' } if $cmd {debug 'Inside ESSO module, gathering install directory contents' if loadCommand($cmd) {report instdir write '---+!! Contents of PassLogix Directory' write '---## Information taken from ',encode($INST_DIR) var $bas = basename($dst) write '|[[',$bas,'][_blank][',encode($bas),']]|',\ getLastModify($dst,'%d-%b-%Y %H:%M:%S'),'| ',\ getSize($dst),'|' toc '2:[[',getFile(),'][rda_report][Installation Directory Contents]]' } } } } =head1 SEE ALSO L =begin credits =over 10 =item RDA 4.16: Octavian Morariu. =back =end credits =head1 COPYRIGHT NOTICE Copyright (c) 2002-2009, Oracle. All rights reserved. =head1 TRADEMARK NOTICE Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. =cut