============ VERSION 6.0-GA (2005/11/03) ============ ######## NEW FEATURES ######## * class/siteinfo A sample "siteinfo" file is now installed by default into $prefix/config/siteinfo during installation. * class/software Add Software Product Specific support for Oracle Application Server. * class/software Add Software Product Specific discovery of Tibco Rendezvous. * class/software Add Software Product Specific discovery of Tibco Enterprise Message Service. * class/software Add Software Product Specific discover of Sybase Adaptive Server Enterprise. * class/software Add Software Product Specific discovery of IBM WebSphere Platform Server. * sie/class/software Add Software Product Specific discovery for BEA WebLogic. * sie/class/software Add special software discovery of Apache HTTP Web Server. * sie/ui/GUI Add SysInfo to GNOME menu system during installation. * sie/wrapper Fix mcsiwrapper to not load in large config/*cf files like pci.cf. This noticably reduces runtime startup. * ui Add --licenselist option to list all SysInfo licenses found regardless of whether they apply to the local system or not. ######## BUG FIXES ######## * build Remove whitespace from cksum values in .sh dist files. This avoids problems whereby the cksum command on the customer system inserts extra whitespace vs. the build system's cksum command. * build Enable standard GCC compiler warnings on Windows. * build/installer Fix Windows installer to better handle silent installs, improve logging, and improve addition of mcsysinfod to SCM. * install Fix Windows installer to wait for uninstall of existing product to complete prior to installing. We were previosly deleting as we were installing which resulted in an unusable installation. * mcsiwrapper Fix wrapper so it can launch mcsysinfod when used with the noui distribution. * mcsysinfod Fix bug in SysInfo Agent which can cause Agent to fail (core dump) whenever it calls mcsysinfo due to Cmd.Argc being one too many. * mcsysinfod Fix Service Add via SCM on Windows 2000 to work more reliably. * sie/class/general Fix Windows OS containing double "Edition Edition" in name. * sie/class/general Fix Windows OS identification for x64 editions, Tablet PC, and Media Center. * sie/class/general Translate all "x86_64" to be "x64" for cross platform consistancy and to match industry standards. This affects CPU Type, App Arch, and Kern Arch. * sie/class/general Report "x86" as App Arch on "x64" systems which is more appropriate since x86 is the lowest common denominator arch. * sie/class/general Fix "Host Addresses" data on Windows to not return garbage sometimes. We were returning address of free()'ed memory. * sie/class/general Correctly report "x64" for App Arch and Kernel Arch on Windows x64 systems. * sie/class/general Report "Kernel bit size" on Windows systems. * sie/class/general Fix "App Architecture" on Windows x64 to report as "x64" instead of "x86". * sie/class/hardware Capture Revision for SCSI Disks on MacOS. * sie/class/hardware Add Opteron and Athlon 64 to CPU identification. * sie/class/hardware Fix fault when hardware class is run on Win XP x64 and getnameinfo() is called. This function is broken on this platform and we now avoid it at runtime. * sie/class/hardware Fix Hardare data on cpu's on Sun's to say "Sun" instead of "SUNW" for Vendor. * sie/class/hardware Fix DMI code for class General and Hardware to work on Windows XP x64 and Windows 2003 by using official GetSystemFirmwareTable() Win32 API call. * sie/class/software Fix fatal error when --class software was run on Windows due to a NULL deref in parsing Registry data. * sie/class/software Fix Software output on Windows to work once again. Previous changes for I18N broke software collection on Windows. * sie/core Fix build on HPUX to once again use +s flag to loader which tells HPUX to look at $SHLIB_PATH for shared library directories. This allows SysInfo to actually run and not give "dld.sl" errors about mcsysinfo.sl. * sie/core Fix sie to accept and do nothing with --installpost. * sie/core Fix several problems at startup resulting in not finding our perl on Windows due to mangled file path handling. * sie/core Fix bug in parsing of config/*.cf files which could sometimes result in spurious "Error parsing file" errors. * sie/core Fix bug in CleanString() which could result in * sie/license Fix "--license" option to show all licenses found regardless of whether they apply to the current system. Each license shown now indicates in the "Applies to this System" line whether the license is applicable to the current system. * sie/platform/windows Fix various compile warnings on Windows. * ui Fix bug causing Software entries to not be displayed under their parent products when using Tree format in the CLI and GUI. ######## OTHER CHANGES ######## * Misc calls to *alloc() functions requesting negative memory. ============ VERSION 6.0-beta0 (2005/09/02) ============ ######## NEW FEATURES ######## * api Update API layer to handle --logfile. * api/mcSysInfo Update mcPrinter object to use new 'name2' and 'prop' self-describing data formats. * build Create new mf/PerlModule.mf where most perlmodules/* include. Use a copy instead of link to work on systems without symlink support (like Windows). * build After building Perl, the distribution is now placed in a single tar.bz2 file instead of left in a directory. This allows for easier handling and management with Perforce. * build Major update to Makefile's and configure to get "make install" to work on Windows. Also created more centralized variables in mf/configvars.mf, moved shell commands from make (mf/Vars.mf) into configure to greatly improve "make" runtime, * build Speed up build time by modifying buildinfo to use its own cache of externally generated variables. This greatly reduces wait time each time make(1) reads a Makefile. * build Move all driver source code into "drivers" subdir. - More fixes for combining everything back into libmcsysinfo. Break libmcsnmp back out as seperate lib. * build Move libmcsysinfo/std/dmi* into libmcsysinfo/dmi/dmi*. * build Move checks from drivers/* makefiles into top level * build/config Add --with-strip and --without-strip to control whether we ran strip(1) during "make install". The default remains not to run strip(1). * build/configure Update configure to add new function and header file checks for certain files not present on Windows. * build/configure Add initial support for Windows configuration. * build/configure Automatically run autoconf to create ./configure in each subdir which has its own configure.in. * build/doc Update doc building so that "make mcd" can use prebuilt tar image of all doc files. * build/make Move buildinfo.c files from each executable into libmcsysinfo to satisfy linking on Windows. * build/make Update libmcsysinfo GNUmakefile for cleaner output. * class/printer Add V2 report output data for class Printer. * config Change .cfg variable ExecPath and SysInfoPath to be comma seperated instead of colon seperated to allow for Windows/DOS pathnames. * doc/RefMan Document new "--logfile" option for mcsysinfo(1). * doc/RefMan Update mcsysinfod ref man to document new --service{add,delete,stop,start} options. * doc/ReleaseNotes Update Supported Systems list to add MacOS 10.4 as officially supported. * doc/ReleaseNotes Document MacOS 10.1 and 10.2 no longer being supported. * mcsysinfod Debugging messages now include process and thread ID (if any). * mcsysinfod Split BSD specific code out and add Win32 WinSock specific functions. * mcsysinfod Create new Log*() functions to allow use of proper OS facility - syslog() or ReportEvent() (Win32). * mcsysinfod Look for "DebugFlag=1" in mcsysinfod.cfg at runtime. - More cleanup of message logging. - Make mcsysinfod work under Windows SCM. * platform/windows Add OS name and version support for Windows. * sie/class/general Add new "Up Time" value in class General. * sie/class/hardware Improve device naming for PORT devices (keyboard, mouse, serial, etc) obtained from DMI. Names now are based on DMI provided data rather than our own. * sie/class/hardware Add new device type DT_SLOT to classify card slots in a system. * sie/class/hardware Hardware discovered by DMI is now under a new top level node called "dmi/0". * sie/class/hardware Improve summary descriptions for DMI devices. * sie/class/hardware Devices are now listed in sorted (alpha) order instead of the ordered provided by the OS. This helps consistancy on OS where the order provided can vary between each run. * sie/class/software Cleanup software related datatypes and consolidate into software specific header files. * sie/class/software Add new Software Product Specific discovery infrastructure with initial implementation to detect Oracle Database. * sie/class/software Add ability to report on multiple versions of the same software package. When report v2 format is enabled, a unique identifier is given for each software package. The identifier currently is name-version-rev. * sie/class/software Output report format V2 self-describing data for class Software. * sie/class/software Add new URLhelp, URLupdate, and InstSource members of class Software. - Add Software support to Windows. - Update Windows code to use LoadLibrary() instead of GetModuleHandle(). * sie/class/software Convert Software class in SIE to handle wide chars for I18N compliance. * sie/core Use new PathStrChr() and PathStrRChr() in place of strchr() and strrchr() for pathnames. These functions handle both forward and reverse slashes. - Fix various @prefix@ to be @prefix_dir@. - BaseDebug() now is just a frontend for McDebug(). * sie/core Add new MakeTempFile() wrapper around mkstemp() or mktemp(). * sie/core Add support for "--repsep %p" being translated into "--repsep |" in order to support cases where "|" is intepreted by a shell. - Various Windows code updates for mcsysinfod, WinFuncGet(), etc. * sie/core Add "--format report" version 2 (self describing) format support for class Software. * sie/core Add new createtime, createtimenum, and sourcehost data to "--format report". * sie/core Document "--reportencvers" option (formerly undocumented as "--formatencvers"). * sie/core Improve debugging messages for CF*() functions. - Various fixes for Windows. * sie/core Update cpuid.c debugging statements for consistancy. * sie/core Add new GetCpuInfoDmi() function and support changes. - More Windows updates. * sie/core Replace cpuidasm.s with inline asm(). * sie/core Merge libmcl, libmcbase, libmcsidriver, and libmissing back into libmcsysinfo in order to support Windows DLLs. This is required since Windows DLL's cannot have any unresolved symbols which we required when we had seperate libraries. * sie/core Add initial Windows support. * sie/core Add Windows functions for directory retrieval. * sie/core Add new StrErr() function to replace SYSERR. Includes support for Windows version. * sie/core Fix various network functions to better handle missing structures. (Windows) * sie/core Check for MCSYSINFO_HOME environment variable as the top level directory where SysInfo is installed. * sie/core Convert Siteinfo class functions to be I18N compliant. Build foundation for I18N functions. * sie/core Add new "Language Locale" reporting to class General. * sie/core Add support for --logfile to log messages to a file for "sie". * sie/doc/InstallGuide Break source installation into seperate chapter. Document Perl build on Windows. * sie/platform/windows Add "Host Addresses" support in class General for Windows. * ui/GUI Add support to GUI to install a MagniComp license file. * wrapper A new wrapper (mcsiwrapper) written in C replaces the previous sysinfowrap shell script. A binary wrapper program is required on Windows which does not have any native support for shell scripts. Execution time on UNIX/Linux/MacOSX systems is also sped up by this. ######## BUG FIXES ######## * api/mcSysInfo Fix parsing of hardware "data" lines to parse proper field number. We previously looked at wrong field order resulting in "data" lines being ignored. * api/mcSysInfo Add proper locking to cache files to avoid data clobber and other ugly possibilities. * build Use new ${prefix_dir} instead of ${prefix} and other changes necessary to handle whitespaces and backslashes in file/dir names (needed for Windows). * build Update various GNUmakefile's to refer to $(WRAPPERNAME) instead of explicit ".sysinfowrap". * build Fix CpuArch/AppArch handling, $PATH, $CC, and others to support Solaris 10 AMD64 builds. * build Fix configure test for VxVM to correctly set "no" when VxVM is not available. * build Cleanup and centralize various *FLAGS make variables to come from ConfigVars.mf instead of being in each GNUmakefile.in. * build Fix mcdadd to not require "-d" option. - Make "mcd" targets work once again. * build/config Always run $plcmd as "/bin/sh $plcmd" since it is not executable by default. Also tidy up and consolidate handling of $plcmd tests. * build/configure Fix configure to properly set cc options when using Sun Studio 10 C Compiler on Solaris AMD64 systems for 64-bit compiles. * build/dist Fix bug in makeself which resulted in distribution files (*.sh) not being extractable with a "bad trap" error. This was due to changes to "trap" syntax in newer OS like RHEL 4. * build/make Fix most program GNUmakefile.in's to include @LDFLAGS@ and consistantly use @CFLAGS@ and link with $(LIBS) for .debug executables. * build/make Insure that $CPPFLAGS is set by @CPPFLAGS to insure that "gcc -E" tests for .h files work. * build/Perl Update "stage3" list of files to strip from perl to include Perl 5.8.7 locations. * class/software Improve performance of adding files to software objects by tracking Last ptr. - Add wchar_t support to McHash functions and modify softinfo functions to specify new MCH_TYPE_WIDESTR. - Fix CFLAGS/LDFLAGS to come from ConfigVars.mf in various remaining GNUmakefile.in's. - Fix misc declarations not be present due to .h issues. * core Various changes to internal function names which conflict with Windows API functions of the same name. * core/api Detect when SIE exists abnormally typically due to a core dump and report an error message. * core/config Config files with an empty value field are no longer reported as an error, but are reported with --debug. * core/hardware Update PCI device database with about 2K more entries. * core/libmcsysinfo Use McDebugFlag instead of DebugFlag in mcsidriver/* files. * core/platform/macos Update list of Mac system models. * doc/RefMan Fix the SYNOPSIS of mcsysinfocli to properly reflect options. * doc/RefMan Update mcsysinfod man page to document new --logfile option and fix OPTION summary section. * drivers/nafiler Fix incorrect mkstemp() usage, changes to compile on Windows. * install Fix uninstall via setup to properly remove mcsysinfod on MacOS X. The problem was we did not correctly determine that we were on MacOS during removal. * install/setup Fix check for available disk space to work once again. * mcSysInfoAPI Remove \r (^M) from SIE inputs. * mcsysinfod Fix a core dump problem in mcsysinfod which can result in incomplete remote data sessions or excessive CPU consumption by mcsysinfod. * mcsysinfod Improve detection of client disconnects. - Fix McProgramName() reference. * mcsysinfod Fix SEGV do to double free of CacheFile. * mcsysinfod Convert to read/write raw socket instead of converting to a FILE handle. This is more portable and was done to support Win32. * mcsysinfod Fix bug resulting in the first set of requested class data being reported, but most of remaining classes not being reported. Bug appears mainly on Solaris 10. Problem was use of fclose() on a popen()'ed file handle. Changed to pclose(). * mcsysinfod Fix several possible problems with incomplete data being provided due to improper terminatation of SIE. No reported problems. * mcsysinfod Use /tmp/mcsysinfod.cache instead of /var/tmp/mcsysinfocache to be consistant with UI caching into /tmp/mcsysinfo.cache.$UID. * misc Fix mcsysinfomotd to use '%' instead of '@' to avoid autoconfigure substitution problems. We also now include the OS name and version in /etc/motd. * platform/Sun Fix "Kernel Bit Size" on Solaris x64 to correctly indicate "64" rather than "32". * setup Shell commands during setup (and potentially during sysinfo runtime) were falsely marked failed when setup was run by root (or any uid==0 user). The result was setup would abort for no apparant reason or indicate it was unable to check disk space. * sie/class/device Add "Speed (MHz)" numeric value for CPU's to report output as alternative to "Speed" for UI's. * sie/class/general Report "Current Time" in local timezone not UTC. - Need to include @CPPFLAGS@ in $CFLAGS in all GNUmakefile.in files. - Split out core of TimeToStr() into TimeToStrFromTm(). - Implement "Boot Time" and "Up Time" for Windows. * sie/class/general Fix random core dump on AIX when retrieving system serial number due to Argc count being passed to CmdOpen() being 1 too many. * sie/class/general Fix bug in OS Distribution function on HPUX which results in SIE core dump due to not correctly terminating Cmd->Argv list in GetDistOE(). * sie/class/hardware Identify framebuffer (graphics card) devices on AIX which where sometimes reported as generic "controller" devices. * sie/class/hardware Fix core dump problem on HPUX (and possibly others) due to free() DevInfo->Model which may not point to original location of allocated memory. * sie/class/hardware Check disk/CD/DVD devices for "DVD" in model and remove from model string. * sie/class/hardware If the Vendor name appears at start of Model, remove Vendor name from Model. * sie/class/hardware In DMI PROC decoding check for "Itanium" not "ia64" to avoid recursion. * sie/class/hardware Add PCI definetion for Fujitsu version of Broadcom BCM5703C. * sie/class/hardware Add Hitachi and HP "OPEN-E" SAN server to the list of devices to ignore serial numbers from when checking for duplicate disks. * sie/class/hardware Fix hardware detection to ignore serial numbers for disks Vendor="HITACHI" and * sie/class/partition Fix reported partition and filesys sizes on AIX to be correct. We were reporting incorrect sizes for filesystems which used 512 byte blocksize vs. the AIX normal 4096 byte blocksize. * sie/class/software Remove SoftFileList_t and replace with NextByPkg and NextAll members of SoftFileData_t. * sie/class/software Fix RPM Software class queries to not fetch file data unless +swfiles is given. This is the documented behavior and saves signficant runtime CPU and memory. * sie/class/software Fix several memory leaks in Software reporting which caused mild excess memory usage. * sie/class/software Improve error handling in Software Add (SoftInfoAdd()) function. * sie/class/software Improve filtering and cleanup of software entries to weed out dups and remove versions and vendor names from product names. - Improve Windows software discovery by looking at "Uninstall" are of the Registry. * sie/class/storvol Update UI to report Storage Volume Groups. * sie/class/storvol Fix the Veritas Volume Manager (vxvm) driver to collect and report on Volume Groups (aka Veritas Disk Groups). * sie/class/storvol Fix AIX aixlvm driver to correctly report AIX Logical Volumes as StorVolPart and Volume Groups as StorVolume. Also fully report on Volume Groups including total size, free size, used sized, etc. * sie/class/storvol Fix HPUXLVM driver to properly report Volume Groups as StorVolGroup and Logical Volumes as StorVolume. * sie/class/storvol Fix AIX LVM (aixlvm) driver to correctly report Volume Groups as "StorVolGroup" and Logical Volumes as "StorVolume". * sie/cli Fix "--list class --msglevel terse" to only print the class names. * sie/cli Fix "--list class" to only list options which are supported on the runtime platform. * sie/core Fix all initialization of Cmd_t types from memset() to CmdInit(). * sie/core Change all use of fgets() of Cmd.FH to new CmdReadLine() for improved portability. - Implement CmdOpen() for Windows. - Fix $perlplatform for Windows. - Add define for EXEC_FILE_EXT. * sie/core Use SLASH_CHAR define in place of /. * sie/core Add new CmdRun() with support for both UNIX and Windows. Deprecates Execute(). * sie/core Use a configurable tmp directory instead of hardcoding /tmp in order to work on Windows. * sie/core Replace global vars McProgram{Name,Path} with functions. * sie/core Replace global use of ConfDir var with CFconfDirPath() function which now accepts setting ConfDir. - Fix misc port issues from Windows port so we build on Linux again. * sie/core Fix use of MsgClassFlags to be hidden and require use of mcSysInfo() to set. * sie/core Fix possible core dump when converting # sectors into # MB. Typically called by SCSI functions to decode SCSI CAPACITY query. * sie/core Add support for printf format "%I64d" and use in preference to "%lld". Also add new LtoaBuf() function to allow us to remove HAVE_PRINTF_XXX from most functions and use it in Ltoa() and LtoaBuf() only. * sie/core Revamp command line option parsing to support new mcsiwrapper need for passing back unparsed options. * sie/core Fix SEGFAULT bug when McDebug() is called with a "%s" in the arguments (not in format). * sie/core Update our DMI interfaces to use more portable "Open" and "GetTable" functions. - Add DMI support to Windows NT - XP (probably not later OS versions). * sie/core Add PrimaryUserName to PSI to allow for portability. * sie/core Convert GetHostName() and GetHostAddrs() to use PSI to allow for support of Windows API. * sie/core Fix StrErr() to work on Linux and other UNIX. * sie/core Only build rpm software discovery code on platforms which support it. * sie/core Fix GetHostNameCanonical() to check for hostname==localhost. * sie/core Fix SIE to always exit with 0 or a positive number instead of using negative numbers on error which caused rounding/decoding problems. SIE continues to exit 0 on success and now exits > 0 on error. * sie/core Only list/show classes which are at least supported by the runtime platform (if not the local system). We previously always attempted to check every possible class SysInfo supports instead of what's just supported on the runtime platform. This list is created during post installation updates. * sie/core Remove use of global "ProgramName" variable in libmcsysinfo. * sie/core Fix VersionGet(Terse) to not have newline at end of returned string. - More Windows logging and mcsysinfod fixes. * sie/core Replace McsiOpts->OutputFile with LogFile to more clearly reflect it's purpose. - Fix TmpDir on Windows to be C:\Temp. * sie/core Integrate system logger logging into libmcsysinfo from mcsysinfod. Cleanup message logging. * sie/mcsysinfod Add new "--logfile" option to log messages to a file. * sie/mcsysinfod Add version to mcsysinfod cache directory path. * sie/mcsysinfod Use Cmd_t instead of popen() for better portability and increased ability to detect failure of "sie". * sie/platform/freebsd Fix build on FreeBSD to static link libm instead of leaving it dynamic. This is needed because FreeBSD 5.4 has a newer libm.so than previous 5.x which breaks backwards compat. * sie/platform/hpux Fix core dump bug in class Software discovery on HPUX systems. Also fixes several problems interpreting quoted text as output by swlist(1m). * sie/platform/hpux Improve Software class extraction on HPUX to be faster. * sie/platform/HPUX Fix file descriptor leak in HPUX disk probe function which can result in incomplete hardware and partition data being reported. * sie/platform/HPUX Enable detection of duplicate serial numbers in hardware class data on HPUX. * sie/platform/linux Improve "OS Dist Name" on Linux hosts which lack LSB support. We previously reported "Red" on Red Hat Linux 7.1 and we now correctly report "Red Hat Linux". * sie/platform/linux Fix "OS Dist" variables in class general to properly parse /etc/issue on Linux systems like SuSe 9.2. * sie/platform/sun Fix bug which resulted in missing CPU's on Sun Fire 6800 systems (and others) which have LDI node names of "cpu". * sie/platform/sun Fix bug resulting in incorrect "cpuX" device names being used. We were not looking for "cpu_id" and "portid" as LDI properties for the "X" value. * sie/ui Improve runtime startup by having mcsiwrapper pass MCSYSINFO_* env vars containing OS Name, OS Version, etc. mcMiniSysInfo() uses these values if set. If not set, it falls back to running uname(1) and other commands. - Changes to get perl CLI running on Windows. * ui/cli Fix bug where "--show hostname,memory,..." would result in the "G E N E R A L ..." banner being displayed for each --show argument. * ui/cli Add "--font" to "--help" output. * ui/GUI Fix quoting of executed commands to handle whitespace. * ui/GUI Fix "Browse..." popup windows for Report and Diag to be a "Save as" diaglog instead of an "Open" dialog. Set initial starting directory and file types. * ui/GUI Set window icon for all popup window types. - Fix "--outfile " to work once again (broken post 5.1). * ui/GUI Re-arrange Report Create, Cancel, etc buttons to be more intuitive. * ui/GUI Fix bug preventing some errors from being displayed in popup error window. * ui/GUI Remove distracting "Nothing more to retrieve" messages from GUI message panel. * ui/GUI Remove unnecessary "print" option from GUI's Help -> Diag Info window. ######## OTHER CHANGES ######## * Misc Model="OPEN*" since this is a SAN server. The result is disk devices from this type of system are now correctly reported. * Misc GNUmakefile.in and only call drivers/* targets which are buildable. * Misc - Tweaks to debug output in Cmd*() functions. ============ VERSION 5.1.3-GA (2005/03/10) ============ ######## NEW FEATURES ######## * build/doc Updates to automate the build of the CHANGES.txt file. Older entries are now archived in the CHANGES-Archive.txt file. * class/storvol Add driver for HPUX LVM. * doc/ReleaseNotes Update ReleaseNotes to document that we now support Red Hat Enterprise Linux 4 on x86_64 (AMD64/EM64T) and IA64. Also that we support Fedora Core 3. * sie/class/storvol Add driver to support Solaris Volume Manager and older Solstice DiskSuite. ######## BUG FIXES ######## * install If the user installs the "noui" product distribution and does not specify "--format report" print an error which spells out they need "--format report" or should install the "Full" product distribution. * sie " at the begging of each debug output line by default. * sie/class/partitions Fix bug in DOS Partition code which reports on parititioning on X86 systems to correctly report Start, Size, and End sectors for larger (~70GB) disks. * sie/core Fix incorrect handling of changing our real UID to 0 when executing some external OS commands. * sie/driver/all Nearly all drivers never properly based their ProgramName onto the message functions which resulted in no program name being displayed in some error and debug messages. * sie/license Improve DEMO license message for storsys-pro to state implicitly that the DEMO license is not for SysInfo base, but this optional feature. * sie/platform/hpux Fix device names for disk drives to be "cXtXdX" instead of "diskX". * sie/platform/linux Fix to make DMI retrieval of hardware info work on Linux 2.6.6 and later IA64 systems. * sie/platform/linux Fix bug which could result in "0 Bytes" being reported for "System Memory". This usually occurs on Linux 2.6 IA64 systems. * sie/platform/linux On Linux 2.6 systems we now query block devices such as /dev/sdX directly instead of using /dev/sgX since the later is deprecated as of 2.6 and not always present. Previous to this fix on many 2.6 systems we reported no SCSI disks. * sie/platform/linux Reduce size of PCI device data read from 256 to 64 bytes in order to avoid hanging poorly compliant devices such as the PCI bus on Dell 6650 servers. * sie/platform/mac Update system model definetions for Apple Mac's. * sie/platform/sun Add "FJSV,pgtb-fjgi" netif entry to sunos.cf. * sie/platform/sun Add support for Solaris 10 on SPARC and X86. * sie/platform/sun Use libdevinfo(3) to get "Cpu Model" on Solaris X86 systems (and SPARC). We previously reported no value for "Cpu Model" on Solaris X86. * sie/platform/sun Improve device identification by using new PCI VendorID and DeviceID data made available via libdevinfo with Solaris 10. * sie/platform/sun Fix core dump problem on Solaris 10 X86 systems when probing for hardware. Bug was in code trying to set CpuInfo->BitSize. * sie/wrapper If "--show" and "--format report" are both given call SIE directly since the UI layer cannot handle this combination. * ui/wrapper " label to beginning of all debug output lines. Also capture $0 as $ProgramName and re-use $ProgramName to avoid $0 changing. ============ VERSION 5.1.2-GA (2005/02/14) ============ ######## NEW FEATURES ######## * doc/UserGuide Add chapter on SiteInfo data. ######## BUG FIXES ######## * build Fix problem with configure getting wrong $objdir value on Linux systems. It was being set to "linux-X.X-x86" where it should be "$osdist-X-x86". * build Add missing libmcsysinfo/os/sunos/netif.c to source dist. * class/hardware Fix DMI decoding of CACHE size to work properly with larger cache size values (>= 1MB). * dist Fix build distribution procedure to run strip(1) on binary executables and libraries to reduce size of distribution. * doc/ReleaseNotes Update to state we now support HPUX 11.23 (11i v2) on PARISC. * sie/class/hardware Fix "Reliant CSB6" pci-id.cf entry from type "raid" to "ata" to properly identify connected disks. * sie/class/storsys Fix storsys drivers to directly check for "nodemo" option in .cfg files so that the option works when "--format report" is specified. * sie/core Fix sie "--license --nodemo --format report" to not report auto-generated demo licenses. * sie/core Fix rpm(1) command to be run as user in order to avoid rpm hangs common when rpm is run as root. This fix also fixes a common bug with running external commands with excessive privs. * sie/platform/sun Fix bug which resulted in some devices being incorrectly attached to the wrong parent device. Bug was in new libdevinfo(7) code introduced in 5.1. * sie/platform/sun Fix problem caused by Solaris 8 SPARC patch which results in internal disks on systems such as the Sun Fire V880 to no longer be discovered. Part of this fix also includes using device names obtained from libdevinfo(7) in preference to our own device name database. This will more align reported device names with the names used by the Solaris kernel. * sie/platform/sun Fix LDI code on Solaris to implement correct decoding of CPU speed values obtained via LDI. We were reporting significantly incorrect speed values on newer, higher speed CPU's. * ui Include the version status in the cache directory path. i.e. Use "5.1.1-H10" instead of "5.1.1". * ui Fix '--format report' cache bug which caused the cache file path under /tmp to not include the product version. * ui Fix caching so that '--format report --repsep X' uses the cache. To do so, we now store and compare the '--repsep X' values. * ui Fix bug where by '--format report' was previously not using the file cache. If '--format report --cache no' is given, then we bypass the cache as before. * ui/cli Add $cfdir as set by "configure --with-cfdir=..." (at build time) to the list of dirs to search for .cfg files. * ui/cli Fix things so that "--nodemo" actually works. The initial/previous patch only partially implemented this feature. * ui/html Fix HTML output of Software class data not to be mixed with other class data. * ui/html Don't display class title for classes which have no data to present. * ui/html Fix bug causing output to be mixed and repeated when reporting on multiple classes simultaneously encoded as html. * ui/html Fix title of reports to correctly contain hostname report refers to. * ui/html Fix bottom of report to correctly provide version of SysInfo which produced report. * ui/mcsysinfocfg When comparing mcsysinfo.cfg variables with command line option equivilents, ignore case. ============ VERSION 5.1-GA (2004/10/19) ============ ######## NEW FEATURES ######## * doc Update Release Notes to clarify Linux + SuSe support. Also add details on Storage System Pro feature license. * license Update End User License Agreement. * sie/class/storvol Add storvol driver for native AIX LVM. * sie/cli Change "--expiretime" to be "--cacheexpire" and keep "--expiretime" as deprecated option. * sie/cli Add new "--nodemo" license to disable the use of any normally used demo licenses. * sie/core Improve ATA debug output. * sie/platform/hpux Integrate changes for support of HPUX on IA64 (Itanium). * sie/platform/hpux Add OS Dist support for reporting HPUX Operating Environment info. ######## BUG FIXES ######## * all Add support for obtaining DMI info on IA64 on Linux. * all When using GCC specify -Wall to better catch coding errors. * all Fix a handful of problems with using variables which may not be properly initialized. * all Fix a handful of problems with missing function calls with missing parameters. * all Fix numerous missing function declarations. * all Use new always Y2K compliant time format for StorSys and StorVol dates. Previously we used "%c" which is not Y2K compliant in some locale's. * all Fix a number of cases where *printf() format types did not exactly match their args. Typically this was cases of "%d" being used where "%ld" should have been used. * all Convert more function declarations to ANSI C format. * build Fix build/configvaredit to work with older versions of perl(1). * build Fix syntax errors in configure when run in non-MagniComp environments. * build Fix configure to correctly search for shared libperl.* files. * build Fix configure to correct set CFLAGS on IRIX once again. * build Fix configure and setup to correctly set "@perl_shared_lib_dir_base@" * build Fix configure to check for all funcs with special AC_FUNC_CHECK macros in order to insure proper HAVE_$FUNC definetions. * build Fix "install" make target to install install.rc and associated files. * class/storsys/nafiler Link in -lcrypto statically with the NetApp driver in order to work across more Linux distros such as SuSe. * core/platform/linux Don't link against -lelf which is not available on all Linux dists like SuSe and is also unused by SysInfo on Linux. * doc/RefMan Update mcsysinfocli manual to refer to "sysinfo --list class" for parameters to "--class". * doc/ReleaseNotes Clarify IA64 and HPUX/Linux supported system info. * gui Fix GUI to actually display StorVol data. It previously was missing that functionality. * gui/class/storsys Fix StorSys general system Properties to properly display values. * install/setup Fix "deterine" typo in setup error messages. * install/setup Determine AppArch with builtin rule for HPUX IA64. * setup Need to properly edit @ProdVersion@ during setup install in order to use proper /tmp cache directory and others. * sie Fix debug message "Executing" to be "Running" in shlib in order to make debugging more consistant. * sie/class/general Fix "Number of (Physical) CPUs" to acurately report on X86 systems with hyperthreading CPUs. * sie/class/general For class general Manufacturer names check the new config/abbrev.cf for the vendor's official short and long names. * sie/class/general On Fedora systems we now correctly report our OS Dist Name as "Fedora Core" instead of "Fedora Core release". * sie/class/hardware Do not attempt to lookup DMI Cache if handle is 0xFFFF. * sie/class/hardware Add checks to DMI PORT and CACHE to filter out generic values like "None". * sie/class/software Fix bug in RPM software discovery which resulted in no software data being reported if RPM command did not complete within 15 seconds. This was due to an incorrect value used for timeout checks. * sie/class/storsys/nafiler Look for multiple NICs on same card/slot and report each seperately. * sie/class/storsys/nafiler Run "ifconfig -a" when debug is enabled to gather more debug data. - Fix Fatal() declara in alloc.c. * sie/class/storsys/nafiler Don't add duplicate disk entries. * sie/class/storsys/nafiler When using rsh(1) specify "-n" to have rsh redirect stdin to /dev/null so as not to cause problems when nafiler is run in terminal background. * sie/class/storsys,storvol Fix drivers to output version info when --debug is given to stderr not to stdout. * sie/core Avoid scanning for drivers when not necessary in order to improve performance. Previously we always scanned for drivers even if the requested class had no drivers. * sie/core Catch cases of "i?86" and map to "x86". * sie/core Change litteral "Ptr" names to others to avoid bug in MacOSX compiler. * sie/core Fix numerous cases of missing params to Capotalize() due to late change to this function. * sie/core Fix a number of cases of incorrect initialization for CmdOpen() calls. * sie/core When --show is given, don't check driver's since they don't support --show and it takes too long. * sie/drivers Fix Driver search path to only have one dir to search. This avoids duplicate calls when discovering drivers. * sie/mcl Fix bug in licensing resulting in bad data being used when multiple valid licenses were found. * sie/nafiler Need to include standard MIB files in distribution or else nafiler won't be able to perform SNMP queries. * sie/platform/AIX Fix missing "return" values. * sie/platform/HPUX Fix class License to work once again on HPUX. Changes since 5.0 broke our ability to find lmstat. * sie/platform/IA64 Fix "CPU Model" to work on IA64 using DMI data. * sie/platform/linux Fix "OS Dist Short Name" to say "rhel" instead of "redhat" on Redhat Enterprise Linux systems. * sie/platform/linux Look for "vendor" and "family" in /proc/cpuinfo for Linux 2.6 systems. * sie/platform/linux Fix disk drive capacity reporting on to use /proc/ide/$disk/capacity in favor of ATA report geometry. This fixes a problem where Linux was reporting incorrect geometry in /proc/ide/$disk/geometry and via ATA Query. * sie/platform/linux Fix problem on Linux 2.6 where by SCSI devices where not attached to their controller (parent) devices. * sie/platform/linux Avoid opening /dev/hdX devices for cd/dvd drives on Linux 2.6 systems to avoid Linux bug which hangs us up. * sie/platform/storsys/nafiler Fix bug in nafiler driver which resulted in missing disks and incorrectly named ctlrs due to parsing bug. * sie/ui Calculate location (if any) of libperl.so when configure is run and have sysinfowrap set LD_LIBRARY_PATH (and equiv) appropriately. This allows for use of perl compiled shared/dynamic. This also removes the $PerlVersion hard coding in sysinfowrap previously used on MacOSX. * srcdist Include mcsysinfod/StartupParameters.plist in source distributions. * ui Fix "supported" english language typo. * ui/cli Fix StorSys CLI reporting to include disk drives which were not previously displayed as they should have been. * ui/cli Fix Storage System summary line in CLI output to include ModelDesc. * ui/gui Insure that the product version gets passed down into the UI Cache functions for use in the cache pathname. Previously it was not, although the CLI worked fine. * ui/GUI Fix problem where by when the GUI exits (such as due to a user request for exit), the windows would shut down, but the process would never actually exit. This is some kind of Tk bug which we now workaround. * ui/GUI Fix bug which caused user to always be prompted to accept license in GUI on startup. Problem was we needed to mkdir $HOME/.mcsysinfo if it doesn't exist. * ui/wrapper Fix "i?86" apparch and cpuarch values to be "x86". ######## OTHER CHANGES ######## * Misc * Release 5.1.1 GA. ============ VERSION 5.1.4-GA (2005/08/23) ============ ######## BUG FIXES ######## * build Fix declaration mismatch for ProgramName in shlib.c detected by GCC 4.0. * build/dist On HPUX IA64 the .sh distribution file fails to extract with "libbz2.sl" missing errors. This is fixed by including a bzip2 binary which does is not dependant on libbz2.sl being present. * class/storvol Fix the HPUX LVM driver to actually run. It was previously not linked and installed properly resulting in dld.sl errors. * core Fix bug in StrCat() which results in incorrect results and/or seg faults. Primarily affects class Software on HPUX. * mcsysinfod Fix SEGV problem with double free of CacheFile value. No reported cases of this, however. * sie/class/device Fix problem were we failed to report a netif device if we are unable to retrieve any netif's from the system's netif table. * sie/class/general Fix DMI decoding of MEMMOD data to indicate values of 0x7D and 0x7E are invalid per the 7/24/2004 SMBIOS spec. * sie/class/hardware Fix bug in DMI memory decoding resulting in the same "location" being reported for each memory device. * sie/class/hardware Improve detection of non-printable strings from DMI. Result is fewer "garbage" strings reported for memory devices and others. * sie/class/netif Improve debug info of netif data by showing ifconfig -a data in debug output. * sie/class/storvol Fix HPUX LVM driver to check filesystem data for each StorVolume. * sie/class/storvol Fix Solaris LVM driver to use StorVolFileSysSet() instead of doing it itself. * sie/class/storvol Fix AIXLVM driver to report the Volume Group each Volume (StorVolume) belongs to. * sie/core Fix core dump bug in NetIf ifconf code due to overwriting memory. Seems to have only been an issue on HPUX PARISC, but other OS may have had the problem. * ui/wrapper Fix wrapper so that during installation via "setup" and during runtime we look for "unknown" and other bogus values from uname -i and uname -p on Linux dists such as Mandrake. * ui/wrapper On Linux make sure --BUILDPLATFORM returns a valid value on non-redhat based dists. ============ VERSION 5.0.0.11-GA (2004/08/25) ============ ######## NEW FEATURES ######## * platform/aix Decode "YL" ODM value as "Physical Location". * sie/class/general Add debug info to GetMan{Short,Long}Sysinfo functions to report results or failures. * sie/platform/sun Show output from prtdiag when debug is enabled and hardware tree is built. * sie/rpm Add /usr/local/bin/rpm as another place to check for rpm. ######## BUG FIXES ######## * api/mcSysInfo Filter out possible recursion data in mcSoftware perl object data. We now check to make sure a software object's parent and children do not contain the node itself. * build/compile Don't use -I/usr/src/sys on freebsd as this causes compilation errors with GCC 3.3.x and later. * setup Fix problem with "setup --uninstall" which caused uninstall to fail when trying to uninstall boot script for mcsysinfod on Sun/HP/IRIX. * sie/class/hardware Fix problem with return values from platform device probe functions returning values which were sometimes interpreted as "no data found". * sie/class/netif Add more debug msgs for MAC info. * sie/core Avoid sending SCSI "SPEED" query to EMC devices to avoid bug in EMC's which causes the EMC to crash. * sie/core Add configure check for statvfs.f_frsize and modify mnt.c to not reference if it's not available. * sie/core Fix incorrect count of Physical # CPU on x86 systems. * sie/core Add --avoidblink option to skip DDC probes of graphics cards known to blink monitors. * sie/platform/aix Don't hardcode "proc0" when retrieving CPU Info. We previously failed to detect CPU Speed on AIX "partitioned" systems which don't have a "proc0". * sie/platform/aix Set correct partition / filesystem type by using the mntctl(2) API. We were previously using fstab->type which is actually the primary mount option (i.e "rw"). * sie/platform/aix Obtain disk drive capacity even with SCSI queries are not available which is the usual case. * sie/platform/hpux Fix "CPU Type" to work with most modern HP systems. We had a bug which used an incorrect System Model value which worked on older systems, but not newer systems. * sie/platform/hpux Fix a bug in the hardware class probe code which resulted in a device not being reported at all if a timeout occured during device probes even if there was plenty of good data to report about the device. This was particuliarly true of some CD drives. * sie/platform/linux Ignore negative data cylinder values from /proc. This fixes bug whereby large "bogus" disk sizes were reported for ATA drives. * sie/platform/mac,freebsd Fix bug which lead to core dump or missing MAC info due to incorrect parameters being passed to SetMacInfoSysCtl(). * sie/platform/sun Report improved "System Model" on Fujitsu systems. * sie/platform/sun Report "Kernel Bit Size" on Solaris Fujitsu systems. * sie/platform/sun Add definetion for Fujitsu Gb Ethernet device so we properly report it. * sie/platform/sun Fix problem with CPU frequency on Solaris Fujitsu systems being incorrectly reported. * sie/platform/sun Fix bug causing incorrect filesystem to be associated with disk partitions when a Solaris install CD was mounted. * sie/platform/sun Fix bug in ./configure which resulted in HAVE_DLPI not being defined during build due to incorrect AC_DEFINE() placement inside of AC_CACHE_CHECK. Result was no netif MAC info was provided on Solaris. * sie/rpm Fix bug in rpm code which resulted in core dumps on Solaris when "rpm" command was found. Bug was due to access to unallocated memory segment during "rpm --querytags". * ui/gui Fix problem with File -> Open... resulting in error + stack trace. * ui/gui Fix bug which caused sysinfo GUI to run system out of memory when displaying "software" class info.