============ VERSION 10-GA (2010/12/07) ============ ######## NEW FEATURES ######## * class/general Add "OS Install Date" (in SoftInfo) for HPUX, Linux, MacOS, Solaris. - Fix configure/compile issues for ether_addr and kvmlib.c. * class/netif Add IPv6 support for Windows. * class/netif Add new attributes ID, Description, and AltDescription. - Updates to configure and code to work with Cygwin 1.7. Includes removal of MinGW. * class/netif Change the NetIf class to move all address related info like IP Addr from NetIf itself into NetIfAddr and link this list back to NetIf->Addresses. Report and XML output is still backwards compat. * class/software Add support for setting CategoryType based on Category and BaseDir on HPUX, Linux, Mac, Solaris. * class/storsys The StorSys Pro license is no longer required. The functionality is provided with the base license. - Update docs for v10 release. * class/vmguest Add support for reporting Xen based VM guests including Red Hat VM guests. * class/vmhost Add support for detecting if we are running inside Xen based VM such as Red Hat VM. - Fix several compile issues in accountpw.c under RHEL 5. - Update StrParseKeyValue() to have Flags and use to determine how to handle SepStr for 1 char seperators. * doc Add PDF versions of all document guides and manuals to the distribution. * doc/JavaRef Create new SysInfo Java Reference Manual document and add to SDK distribution. - Tweak SysInfo class to handle default SysInfo dir. - Add new java-examples tree. * doc/ProgGuide Create new Programmer's Guide document to describe how to use new Java API. * doc/ReleaseNotes Add doc info about support for Solaris 11 being added and Solaris 7 -> 8 on x86 32-bit. * doc/ReleaseNotes AIX 5.1 support dropped. * doc/ReleaseNotes Document support for RHEL 6. * doc/ReleaseNotes Add section on Standards compliance. * doc/ReleaseNotes Document support for MacOS 10.6 with 9-H14 and later. * doc/ReleaseNotes Document support for Linux on PPC. * mcsysinfod Add ability for client to request encode type. * mcsysinfod Add ability for client to request no agent caching. * mcsysinfod Improve agent caching to handle --encode report and any --repsep value. * mcsysinfod Add support for inetd mode to support use of launchctl on MacOS 10.6 and later. - Integrate 9-H14 into main (10.0.0). * setup Generate ISO 19770-2 Software Tags (swtags) during installation of SysInfo. The swtag file is placed in root of installation directory and in the system (platform) standard location defined by 19770-2. * sie/class/account Add support for new "Account" class to report system user accounts. * sie/class/device Major revamp of Solaris hardware discovery. On Solaris 8 and later SysInfo now uses libdevinfo(3) as primary discovery. Older Solaris systems retain the older method of using KDT with OBP and libdevinfo supplementing the KDT data. * sie/class/device Report more DevFiles for devices on Solaris 8 and later using additional data gleamed from libdevinfo(3). * sie/class/device Add new "NodePath" and "CompatNames" properties to Device class. * sie/class/device Add new "GenericName" key flag to SID files for "device" lines. This flag tells SysInfo not to use the device entry as the canonical device name. * sie/class/DevInfo Change internal definition of DevInfo to remove DevSpec (Opaque_t) and replace with explicit types DiskDriveData, NetIf, FrameBuffer, Monitor, CpuInfo. This is required to cleanly autogenerate code in other languages like Java. Externally this is transparent to endusers. * sie/class/general Add new "OS License Key" to report the license key used to install or authorize the OS itself. Windows is the only platform supported at this time. * sie/class/general Add new "Description" attribute to contain a description of the system. - Fix SoftFileData_t to SoftFile_t references. * sie/class/general Add new "Location" attribute to General class. - Add generation of SysInfo.java in classdefs. * sie/class/general Add new field "OS Manufacturer" which specifies the company/org who created the OS. Add new field "OS Distribution Manufacturer" which specifies the company/org who created the OS Distribution. * sie/class/hardware Expand the CpuInfo attributes to include CodeName, Family, SPEC, LaunchDate, Lithography, Media, OrderCode, Socket, SysBus, AppArch, HasGraphics, Stepping, MaxMemory, MemoryTypes, MemoryChannels, MaxMemoryBw, PciExpressRev, PciExpressCfgs, PciExpressPorts, Power. * sie/class/hardware Improve Intel CPUID key generation to use 5 and 6 byte keys instead of only 4 bytes. * sie/class/hardware Add SysInfo specific ProcidKey to find Intel CpuInfo data when CPUID lookup fails. * sie/class/hardware Report Intel Stepping value as 2 bytes instead of 1. If the 2nd byte is 0 it is now reported. * sie/class/hardware Add new "Family" attribute for CpuInfo data. Currently supported on X86/X64 systems with SMBIOS. * sie/class/hardware Add new "Family" attribute for CpuInfo data. Currently supported on X86/X64 systems with SMBIOS. * sie/class/jobs Add support for new "Jobs" class. This class is a list of all scheduled jobs/tasks that are scheduled to run automatically. * sie/class/license Add License class support on Windows. Registry is scanned for license Keys. Currently supported are Microsoft and Adobe products. Others may also work if Keys are not encoded and in a commonly used Registry location. * sie/class/license Add new Category type to License with types APP and OS. Add KEY as a new type for LicenseType. Add new attributes SoftVendor and KeyEnc. * sie/class/netif Add IPv6 discovery support on MacOS X. - Move Ifconfig parsing into os/netif.c for each os. - Add SystemLocation and SystemDescription to sample siteinfo file. - Build fixes for MacOS and HPUX. * sie/class/netif Add IPv6 discovery on Solaris and AIX. Also we now use ifconfig cmd for IPv4 discovery. - Tweaks to build once again on Solaris and AIX. - Updates to mcsiclassx build. - Fix configure to look for java under /usr/local/java. * sie/class/netif Add discovery of IPv6 addresses on Linux. IPv4 addresses are also now obtained from ifconfig command for improved non-root data discovery. * sie/class/SoftInfo Add SoftInfoCategory attribute to SoftInfo. * sie/class/software Add OS Install Date support on AIX. * sie/class/software Add CategoryType support on AIX. - Compile fixes for AIX for DevSpec and others. * sie/class/software Add OS Install Date support for MacOS X and HP-UX. * sie/class/software Set CategoryType to "APP" by default for SPS, SDL, and SWTAG methods. * sie/class/software Try to determine CategoryType of OSPKG or DOC for all packages by default on Linux and Solaris by looking at Category. * sie/class/software Add support for discovering ISO 19770-2 (aka SWTAG) software tags. All software which places a swtag file in the platform standard location should be discovered and reported. * sie/class/software Add new SoftInfo attributes ID, EntitlementRequired, LicenseStatus, LicenseStatusStr, ChannelName, ChannelType, ChannelTypeStr, CustomerType, CustomerTypeStr, ReleaseDate, ReleaseDateTime, VendorID. All of these are supported by the new swtag function. * sie/class/software Add support for decoding and reporting Adobe License Key (Serial#) values. * sie/class/software Improve editing of Software Name values to remove Version. We now look to match SoftInfo->Version and SoftInfo->Name for "{digit}.". This helps on Windows where sometimes Version="7.1" but "7.0" is used in Name. - Remove -Iinclude/mcsysinfo from libmcsysinfo/GNUmakefile.in and fix * sie/class/software Add discovery and reporting of OS Install Time in the SoftInfo OS entry under "InstDate". Supported on Windows only for now. * sie/class/software Create a SoftInfo entry for the OS itself. The SoftInfo entry is usually the root (top) node of the software tree and as such will (usually) be reported first. It also has a Category of "OS" to identify it. Some of the information is a duplicate of what is reported in class General. However, more subtle attributes going forward will be reported in the SoftInfo entry. * sie/class/software Report License Key values for Microsoft products including Office. * sie/class/software The OS SoftInfo node now reports the "Product ID" on Windows. * sie/class/software Add new "CATEGORY" type as a SoftInfo EntryType value in addition to existing PKG and PRODUCT. * sie/class/software Add new --swentrytype to restrict reporting to specified types (pkg, product, category). * sie/class/software On Linux change Software entries of type PRODUCT to be CATEGORY which is more accurate. * sie/class/vmhost Add support for discovery of whether we are running inside Microsoft Hyper-V guest. * sie/cli Add new --xmlversion option to specify version of XML output to display. XML Version 2 output is now default. * sie/core Boolean values are now reported in lowercase instead of uppercase in order to be XSD compliant. * sie/core Add support for Linux on s390x (zSeries). * sie/core Changes to support build on Linux on PPC. * sie/core Add initial support for Linux on PPC. * sie/output XML output for "netif" now places each address within an "address" element to support multiple addresses per netif. * ui/gui Update SysInfo and MagniComp logos to latest versions. ######## BUG FIXES ######## * api Fix parsing of Device parameters to use the first value found instead of the last. * build Changed the product SUMMARY of each distribution to remove "MagniComp" from name since it's already in VENDORNAME. * build/configure Fix several configure problems with printf attributes by switching to AC_RUN_IFELSE. * class/device Fix discovery of NetIf's on Linux 2.6.30. Newer kernels do not place the administrative name of a netif in the expected place in /sys We now look for .../net/ethX. * doc/ReleaseNotes Document removal of support for SGI IRIX. * mcsysinfod Change server such that a SEND command giving multiple class types to return is run as a single result instead of once per class. This allows XML results for multiple classes to be contained within a single ... body. * setup Fix setup to check for new PrivRequired in each package to determine if we should warn about whether install is being done without root privs. * setup Don't prompt for license file install for mcsysinfo-sdk and mcsysinfo-javasdk. * setup Look for LICENSE.txt in each package instead of assuming it's in first package. * sie/api Fix mcSysInfo Perl API bug in cache code. When --show is used, only the --show arguments are saved to cache. Next time --show or --class are used only the previously saved --show arg data is displayed. Fix is to disable cache save when --show is given. * sie/class/bios Include BIOS characteristics in XML output. * sie/class/device Fix SID entries for ie, ei, le, ne, qe, pcelx, and elx to be "ether10m" instead of the invalid "ether" key. * sie/class/device Reduce discovery time of hardware on most systems be fixing DevTreeScan() to not be called more than once. * sie/class/device Fix Device Name sanitizing to make add AltName entry for sdX Aliases. * sie/class/device Fix detection of Bus# and BusDev# for disk drives by moving check of SetBusFromName() to be after DevSanitizeDiskDrive(). * sie/class/device Rename Device Names to match the official system network interface name used by ifconfig and netstat. This previously resulted on HPUX reporting a Device name of 'igelan1' but HPUX only recognized this device as 'lan1'. * sie/class/general The "OS Dist Manufacturer" code will get a default value from "OS Manufacturer" if no other method succeeds or exists. * sie/class/general Fix "OS Distribution Version" to report correct data on Windows 7 and 2008 R2. - Implement McRegSearch() function to search Registry. - Fix MC registry functions to display actual error code messages in debug output instead of using "0" value. * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Fix "CPU Count Socketed" on Solaris 9 SPARC to be correct on certain platforms. We previously ignored psrinfo on < Solaris 10 but the psrinfo now appears valid on Solaris 9 so we now use it on that OS version. * sie/class/general Fix how Boot Time and Up Time are discovered on Linux to use getutid() first and then fall back to /proc. Previously we used /proc only which could result in Boot Time values which changed by 1 second in between runs of SysInfo on the same host. - Integrate 9.0.0-H33 into main. * sie/class/general Fix segfault error on AIX during discovery of "boot time" and "up time". Error occured when /etc/utmp was corrupted. - Integrate 9-H27 into main. * sie/class/general Fix CPU Count - Socketed and Physical count on Solaris SPARC UltraSPARC-IV systems. * sie/class/general Fix bug which caused "numcpuoffline" output for report and xml to be reported when the --show option was used but did not specify to report "numcpuoffline" (it was shown anyways). * sie/class/general Add ability to not report System Serial if the true system serial is not known when the env var MCSYSINFO_TRUE_SYSSERIAL is set to "yes". This currently only pertains to Solaris SPARC. * sie/class/general Fix "kernbits" on Solaris x64 to properly report "64". Previously this worked in most cases, but failed on VMware guest instances of Solaris. - Integrate 9-H22 into main. * sie/class/general Fix "CPU Count Virtual" on HPUX to report single value in format output. In H56 we introduced a double output in format report. * sie/class/general Fix "CPU Count Virtual" on HPUX to report single value in format output. In H56 we introduced a double output in format report. * sie/class/general Fix "CPU Count Virtual" on HPUX to use mpsched as data source. Previosly no value was reported. * sie/class/general Fix "CPU Count - Physical" on certain UltraSPARC-T2 systems. The hash table used to track "core id" values was too small resulting in some cores being counted twice. * sie/class/general Add support for setting System Man and Model on Linux from /proc/cpuinfo on PPC. * sie/class/general Fix "CPU Type" on MacOS x86 to report "i686" instead of "i386" to be consistant with CpuInfo data. * sie/class/general Fix "Kernel Bit Size" on SunOS 5.6 SPARC to report "32" instead of "64" even on sparcv9 systems. * sie/class/general Fix possible use of uninitialized variable for "Kernel Bit Size" when using sysconf(2). * sie/class/hardware Filter DMI strings with '7F7F'. * sie/class/hardware Fix loop in Device class data reported on AIX. The DevAdd() function was auto-creating Parent devices with Name "" (empty). - Integrate 9.0.0-H30 to main. * sie/class/hardware Grab DevInfo->Vendor from DevInfo->Model after ATA query. This code was Linux specific but is applicable to all ATA. - More s390 tweaks after testing on real z/VM system. Includes new VmHost detection of z/VM and Hercules. * sie/class/hardware On Linux diskdrive discovery we know look for CtlrBlockSize based on DevInfo as well as Parent DevInfo. - Fixes for building on Linuz s390x. * sie/class/hardware Add "SATABeast2" to CtlrBlockSize to support proper Capacity recognition. * sie/class/hardware Fix detection of CD + DVD drives on Linux. We now check the Vendor data from ATA probe for detection. * sie/class/hardware Fix hardware reporting on AIX to report vhostX devices even though they are virtual and not true physical devices. * sie/class/hardware Search /sys/devices/ide0 on Linux 2.6 systems for hardware. * sie/class/hardware Improve CPU Model detection on Intel X86/X64 CPU's. We now include lookup in our CPUID db to include the CPU Family value. If not found, we revert to prior lookup without Family. This should improve detection of Xeon vs. Core Duo CPU's which often have the same fingerprint. * sie/class/hardware Fix free() of in-use Driver value used in DevInfo and NetIf classes. Result was occasinally a Driver value being reported with non-printable bytes. * sie/class/hardware Fix CPU Model on certain Solaris X86/X64 based systems to remove the CPU Mfg and generic words like "CPU". * sie/class/hardware Fix memory size on certain Solaris SPARC systems which support prtfru data to report correct values. In some cases the Capacity of memory devices were reported as Bytes instead of MB or GB. * sie/class/hardware Fix issue on Solaris with certain RAID devices which have dev alias of "scsiclass,00" from having their Vendor, Model, and other attributes merged into real/raw disk drives. This fix causes SysInfo to not look for existing SysInfo discovered devices with name "scsiclass,00". * sie/class/hardware Discovery MAC Addr on Solaris SPARC when NetIf is not configured. Works on SPARC systems which have "local-mac-address" attribute in LDI. * sie/class/hardware Fix DMI PROC decoding to transform "INTEL" to "Intel" to be consistant with other sources of "Intel". * sie/class/hardware On Linux remove duplicate "psmouse" device. * sie/class/hardware Fix forced setting of class ATA on Linux even if class was already set to SATA. * sie/class/hardware Fix incorrect check for Type and TypeClass being set in ATA code. * sie/class/hardware Don't autogenerate ethX names on Linux if the Linux version is 2.6.25 or later. This is because in later Linux we can detect the proper ethX name if the device is working at the Linux kernel level. If its broken we don't want to autogen the wrong ethX name. * sie/class/hardware Fix Type and TypeClass errors introduced in 9-H4 on Linux. Some devices where reported as GENERIC or DEVICE where previously they had been reported as DISKDRIVE or FLOPPY. * sie/class/hardware Fix possible NULL deref bug in Linux sysfs hardware discovery introduced with 9-H2. * sie/class/hardware On Linux remove duplicate "psmouse" device. * sie/class/hardware Fix reporting of Capacity values on Linux for multi-TB sized "disk" devices which are on "Perc 6/i" controllers. Previously these devices were reported with a max Capacity of "2.0 TB" due to limitations in the SCSI protocol. * sie/class/hardware Fix definetions for standard Sun 10Mb netif devices to properly be reported as such. * sie/class/hardware Improve PCI database support for 10Gb network interface devices. * sie/class/hardware Fix VBE code to work on 64-bit Linux using get-edid style access. * sie/class/hardware On Solaris SPARC fix bug on M3000 where unused nxgeX devices were reported as fjgeX devices. * sie/class/hardware Fix ClassType and Model for "nxge" NetIf on Solaris SPARC to be consistant with version 8 values. * sie/class/hardware Fix TypeClass on Linux of floppy disks to be "FLOPPY" instead of "ATA". * sie/class/hardware Fix Solaris DDB function to properly rename DDB based devices to have unit number. * sie/class/hardware Fix segfault failure on HPUX during Hardware discovery of NetIf devices due to DevRename() of devices changing the ProbeData.AliasNames values. Appears to be related to changes introduced in 9.0.0. * sie/class/hardware Set DevInfo->Model and CpuInfo->Model from General.CpuModel if not yet set in DevSanitize(). * sie/class/hardware Set DevInfo Model value from CpuInfo if not already set. * sie/class/license Fix LicenseDestroy() to work on all known attributes of License_t. - Add new Registry functions on Windows McRegValueType(), McRegBasePath(), McRegProductName(). - Fix Office 2010 key decoding to work using new offset value. * sie/class/MntInfo Remove "(MB)" from label values in MntInfo as they are redundant from values. * sie/class/netif Fix bug causing wrong macaddr to be reported on AIX systems which have virtual netif's. * sie/class/netif Fix Speed value for "79c970" and "VMware Virtual NIC" to be 1Gb. * sie/class/netif Fix problem with duplicate macaddr being reported on Solaris systems with eg0000X interface names as well as similar names with digits after alpha. * sie/class/netif Fix internal NetIf class to use NetIfInit(). - Add --no-test-harness option to build. - Integrate 8-H52 into 9-H8. * sie/class/network Add ability to correctly identify certain virtual netif devices like "vnetX" as type VIRTUAL instead of the default value of PHYSICAL. * sie/class/partition Fix Usage reporting of "partition" data on Solaris to report partitions used by ZFS as "STORVOL" with Manager (new field) "ZFS". Previouisly ZFS partitions where reported as "UNUSED". * sie/class/partition Fix report output for partition class to include the DevPath value in the Name field for "data" output lines. * sie/class/partition Fix partition Size on IA64 EFI partitions under Linux to be correct MB value. * sie/class/siteinfo Fix core dump when siteinfo entry has empty/blank "value" field due to null deref. * sie/class/softinfo The Report V2 function has been changed to use the autogenerated function for the bulk of the property reporting. - Complete work to make Output Overrides work. - Re-work fix in core and UI to make InstDate report properly and still be backwards compatible and consistant. Instead of forcing MM/DD/YYYY we go back to default locale Time format and update uiCliShowSoftware to handle this case. - Add support to mcsiclassx to call StrNewlineEscW() as needed based on "newlines" boolean in XSD. * sie/class/software Update Description for Category and SubCategory. * sie/class/software Fix build dist to include all SDL scripts. Many where accidentially left out. * sie/class/software Force the "Installed Date" (InstDate) field for Software to always be in format MM/DD/YYYY. This insures proper reporting on all platforms and corrects the UI defect of reporting "1969" as install dates in some cases/platforms. - Further improvements to filtering of duplicate Windows products. * sie/class/software Improve filtering of SoftInfo->Version on Windows. * sie/class/software Improve duplicate elimination of Software products on Windows. * sie/class/software Improve cleaning of software Name values to remove Version if it appears inside of Name not just at the end of Name as before. * sie/class/software Fix bug in software discovery on AIX which can lead to infinite loop of discovered packages. This occurs when we auto create a package for a new pkg's parent without a Version for the parent and then later we re-add the parent with a Version. We now update the internal hashtables in this case. * sie/class/software Avoid reporting duplicate software entries for packages/products which have no Version. In particular the "System/YaST" PRODUCT on SLED 11 was being reported multiple times. * sie/class/software Don't truncate software package names which have "NNNANNN" (N=number, A=alpha) patterns. This is true with certain Oracle packages on Solaris. * sie/class/software Fix BEA Weblogic discovery to support discovery of multiple weblogic versions via process list. * sie/class/software Fix BEA Weblogic discovery to support discovery of multiple weblogic versions via process list. * sie/class/software Fix segfault on MacOS due to casting issue in printing debug output for ProcID. New bug in 9.0.0. * sie/class/software Fix SoftInfo discovery on AIX to use lslpp output instead of ODM. This improves reliability and consistancy at a small performance cost. - Solaris 7 + other build fixes. * sie/class/storvol Fix memory corruption issue on aixlvm on systems with 20 or more volume groups as listed by "lsvg". * sie/class/storvol Fix missing vxvm support which was accidentially removed in a prior release on Solaris, HPUX, and AIX. * sie/class/StorVol Remove "(MB)" from Descripton fields of various StorVol attributes. * sie/cli Insure that --encode xml output is always output in alphabetical by Name order. This is required in order to be compliant with SysInfoV2.xsd. * sie/cli The order classes are listed with --class are now the order the data is reported in. Previously the order was fixed. * sie/core Fix Date functions to use sizeof() instead of LengthW(). This could cause some date strings not to be parsed. * sie/core Fix DirFind() and Find() functions to work on Windows. - Fix SwtagMCSI() discovery to work on Windows. * sie/core Improve general performance by adding additional checks in the messaging layer debug functions to determine as early as possible if debug is enabled and if not stop processing the debug message. * sie/core Enable earlier debug messages by checking for new MCSYSINFO_DEBUG=yes environ var. * sie/core Fix several NULL deref bugs in XML output code which resulted in seg faults. * sie/core Fix possible NULL deref in xml output function OutputXmlProp() and OutputXmlPropW(). * sie/core Fix Seg Fault when --debug is used and a command run for debug purposes takes more than 10 seconds to complete on Solaris. * sie/core Fix StrSplit() to honor ArgcPtr limits. This fixes a problem on AIX Patch class parsing which utilizies this. This bug was introduced in 9.0.0-alpha0. * sie/encode Fix XML output to filter reserved chars "&", "<", and ">" to proper XML values. * sie/hardware XML output of CacheInfo is now reported. Previously it was not output in XML. * sie/report Fix report output for wide data to print "name" field if the Name (narrow) data member is empty. We now correctly check NameW to see if it's set. * sie/report Fix ReportDataW() with R_PROP to always output Ident field. Previously this field was not output if Ident or Name was empty. This needs to always be output to be consistant with narrow function ReportData(). * ui/class/software Don't set date for InstDate and BuildDate since this should be done in sie now. ######## OTHER CHANGES ######## * Misc various libmcsysinfo/*/*.c files to use correct mcsysinfo/$file.h. - Create new DateToTm, DateToTime, TimeToTm functions. ============ VERSION 9-GA (2009/03/27) ============ ######## NEW FEATURES ######## * class/hardware Update SMBIOS support to 2.6.0. * class/hardware Add new CpuInfo attributes CoreCount, CoreEnabledCount, and ThreadCount. Currently only supported via SMBIOS 2.5+. * doc/RefMan Document in more detail the device format. * doc/RefMan Document new Process class. * doc/ReleaseNotes Add support for SLES 11.0. - Fix build errors for emcclar. * doc/ReleaseNotes Re-write Supported System Matrix to make it easier to determine what Classes and features are supported on each platform. * doc/UserGuide Add doc on all supported data Classes. * sie/class/general Look for override values for "System Serial Number" and "Chassis Serial Number" in SiteInfo entries of "systemserial" and "chassisserial". * sie/class/general For "Primary User Login" and "Primary User Name" we now look for siteinfo keys "primaryuserlogin" and "primaryusername" and (if found) use as overrides. * sie/class/general Implement new "Chassis Serial Number" attribute for class General. This value is usually only reported on Blade systems. On Blade systems Chassis Serial is the serial of the enclosure and System Serial is the serial of the Blade card. On non Blade systems Chassis Serial is not reported. Currently Chassis Serial is only available on systems which support IPMI access to Baseboard Management Cards (BMC's). * sie/class/hardware Move the probe for monitor EDID data on Linux X86 from within the main SIE to be a seperate SysInfo driver process. This isolates SIE from any unexpected faults and bugs in the VBE code in the Linux kernel. * sie/class/hardware Enhance Monitor_t data with MinVerRefresh, MaxVerRefresh, MinHorRefresh, MaxHorRefresh, and MaxPixelClock values. These were previously reported as "DESC" data. * sie/class/hardware Look at CPUID Intel and AMD data to set CpuInfo CoreCount and ThreadCount. * sie/class/process Implement new class called Process to report all running processes on system. * sie/class/software Add Software discovery support via SDL scripts for: Apache Tomcat, CA BrightStor Server, HP OpenView Data Protector, IBM DB2, IBM Informix C-ASAM, IBM Informix Enterprise Gateway Manager, IBM Informix I-SPY, IBM Informix MaxConnect, IBM Informix Extended Parallel Server, IBM Tivoli App Dependency Discovery Manager, IBM Tivoli COmposite App Manager for WebSphere Data Collector, IBM Tivoli Configuration Discovery and Tracking, IBM Tivoli Configuration Manager, IBM Tivoli Enterprise Console, IBM Tivoli Netcool, IBM Tivoli Provisioning Manager for OS Deployments, Sun Java/JRE. * sie/class/vmguest Improve VmGuest detection of VMware software to support VMware Server 2.0. ######## BUG FIXES ######## * sie/class/device Fix bug in SMBIOS decoding of memory devices where MEMDEV and MEMMOD devices discovery could overwrite each other. This can result in some memory devices not reporting all possible properties such as "Speed". Under some circumstances extra memoryX devices could also be reported which are actually duplicates. This could occur if --class general,device are run together. It's also limited to a select number of SMBIOS configurations. * sie/class/general Fix primaryuserlogin and primaryusername on HPUX which has wtmpx but only updates wtmp. * sie/class/general Fix PrimaryUserLogin and PrimaryUserName on Solaris and other OS which use wtmpx. These attributes are not reported due to fix in 8-H35. * sie/class/general Fix PrimaryUserName and PrimaryUserLogin to work on Solaris and other systems which have wtmpx but not wtmp. * sie/class/general Fix primaryusername and primaryuserlogin on systems which have getutxent() and getutent() to not use these interfaces since they read utmp and not wtmp. * sie/class/general Fix "Kernel Version" on Linux to remove newline if present at end of string. * sie/class/hardware Avoid setting memory Vendor and similar attributes if the DIMM socket is determined to be empty. Applies to SMBIOS MEMARRAY devices. * sie/class/hardware Fix Report output for Monitor data to use R_PROP and have "monitor" token as SubClass. * sie/class/hardware Improve checks to insure canonical Device Name is set using our DevDefine DB. - Fix DeviceCreate() to use proper compare tests for Type and TypeClass. * sie/class/hardware Fix Hardware discovery problems which could result with incorrectly Parent devices and other strange results due to DevFind() looking for NodeID <= 0 instead of NodeID == 0. We also now enforce use of DevFindInit() in DevFind(). Fixes at least one issue with bad Parent reporting on Solaris SPARC. * sie/class/hardware Fix Serial on MacOS diskdrive devices to be copied from Parent if Parent is driver. * sie/class/hardware Fix CacheInfo for L1d and L2 on MacOS to not be a copy of L1i data due to typo. - Fix diffrpt to load our own PM modules at runtime. - Various fixes to port back to MacOS. * sie/class/hardware Fix SMBIOS handling of PORT devices to use SMBIOS Internal location as device name which provides much closer matching to previously discovered devices such as usbX devices. This results in greater attribute reporting for these devices as well. * sie/class/hardware Fix Unit values for SMBIOS device types BIOS, SYSBOARD, ENCLOSURE, MEMARRAY, MEMCTL, PROC, and SLOT to be consistant for each device Type. Previously a device's Unit could change depending on if how many internal functions searched SMBIOS devices each call incrementing the Unit value for the next scan of SMBIOS. * sie/class/network Do not report "(none)" as NisDomain value. - Checkpoint main. Auto-generate ShowInfo data. * sie/class/software Fix use of uninitialized variable in SDL intepretor in SdlDataTypeArrayStr(). Not tied to reports of any failures. * sie/class/storsys Fix bug reading data from NetApp filers via rsh resulting in no data being reported on certan platforms. Fixed result compare of fprintf() return value to account for newline. Fixed lack of data in tmp file by adding fflush() after rsh output read is complete. ============ VERSION 8.0.0-H89 (2014/01/15) ============ ######## BUG FIXES ######## * sie/class/hardware Add HP HSV entries to ignore serial. * sie/class/hardware Additional changes on HPUX to ioscan device handling to properly process new style devices from "ioscan -N". ============ VERSION 8.0.0-H88 (2013/12/18) ============ ######## BUG FIXES ######## * build/configure Update configure to build again on HPUX 11.11 using XOPEN undef. * sie/class/hardware On HPUX 11.31+ use "-N" option to ioscan to get list of devices. Some new devices will only be reported by ioscan with this option. This option causes ioscan to report the new "persistant" style device structure. This can result in a different tree of hardware being reported. * sie/core Fix ListAdd functions to use first slot of List_t if not used already. ============ VERSION 8.0.0-H87 (2013/11/20) ============ ######## BUG FIXES ######## * sie/class/hardware Add IgnoreSerial entry for DGC VRAID controller. ============ VERSION 8.0.0-H85 (2012/07/20) ============ ######## BUG FIXES ######## * sie/class/general Backport Primary User code from v10 to support getting info from SiteInfo and improving wtmp performance. * sie/class/software On AIX add Version to autogenerated software packages. When generating parent use the child's Version. ============ VERSION 8.0.0-H84 (2012/03/30) ============ ######## BUG FIXES ######## * sie/class/general Fix "System Model" on Sun E2900 to report "E2900" instead of "Fire V1280". Affects any SUNW,Netra-T12 system. ============ VERSION 8.0.0-H83 (2012/02/19) ============ ######## BUG FIXES ######## * sie/class/partition Fix parted code on Linux to parse machine parsable "-m" output and to output sector values directly instead of size values which are converted back. We also bundle a parted binary now so older systems can use parted. ============ VERSION 8.0.0-H82 (2012/02/17) ============ ######## BUG FIXES ######## * sie/class/partition Fix bug in parted parsing which could cause a partition "0" to be reported which is bogus. ============ VERSION 8.0.0-H81 (2012/02/16) ============ ######## NEW FEATURES ######## * sie/class/partition Support GPT disk partition labels by parsing the output from the parted(1) command. parted also supports other labels such as MSDOS and hence will be used in preference to builtin DOS partition discovery. ######## BUG FIXES ######## * sie/class/hardware Backport the SysInfo v10 Linux sysfs code to support newer Linux kernels. * sie/class/hardware Implement ability to control what SCSI queries are performed. The config var ScsiQueryTypes specifies the exact list of queries to perform and the config var ScsiQueryTypesIgnore specifies which types to ignore. * sie/class/hardware Fix Linux sysfs Block discovery to check for "partition" file and skip if found. This avoids trying to create device entries for disk partitions. * sie/class/hardware Fix Linux sysfs discovery to not probe DiskDrive devices twice. - Change CFSgetValue() to use 3 argument form from SysInfo v10. - Change CFSgetValue() first arg to be macro. - Change DosPartQuery_t to PartQuery_t. - Backport SizeStrNum() from v10. * sie/class/partition Fix PartInfo data to not report "UNUSED" by default for Usage. * sie/core Fix problem reading SID files which would start to work but after opening a number of SID files the pathname to the SID directory would become corrupted. ============ VERSION 8.0.0-H80 (2011/11/21) ============ ######## BUG FIXES ######## * sie/class/device Add the SpeedNum (numeric CPU Speed) field as the last field of device|cpuinfo lines. * sie/class/general Fix "CPU Count Physical" on HPUX to use machinfo(1m) data to be more accurate on newer HP systems. ============ VERSION 8.0.0-H78 (2011/10/12) ============ ######## BUG FIXES ######## * class/license Fix several possible NULL deref issues in flexlm License code relating to strlen() and strdup(). ============ VERSION 8.0.0-H77 (2011/08/26) ============ ######## BUG FIXES ######## * sie/class/general Fix "hostid" to filter out leading "ff" chars which can occur on Linux sometimes. ============ VERSION 8.0.0-H76 (2011/08/19) ============ ######## BUG FIXES ######## * sie/class/hardware Limit the number of CPU devices reported to match the number of "CPU Count Socketed" if "DevCpuMatchCpuSocketed=yes" is set in a .cfg file. * sie/class/hardware Set disk Target and DeviceNumber values from names like "c1t50060E800548764Dd19s2". - Fix compile error for net/if.h on Solaris 8. ============ VERSION 8.0.0-H75 (2011/07/01) ============ ######## BUG FIXES ######## * sie/class/hardware Look for SCSI timeout value first as a config variable "ScsiTimeout" and then as env "MCSYSINFO_SCSI_TIMEOUT". ============ VERSION 8.0.0-H74 (2011/02/22) ============ ######## NEW FEATURES ######## * sie/class/device Add new config var "IgnoreDisks" which allows customer to list disks to not probe. Works on Linux only right now. ============ VERSION 8.0.0-H73 (2011/02/18) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Fix "CPU Model" discovery on HPUX to use data from machinfo. ============ VERSION 8.0.0-H72 (2011/02/16) ============ ######## BUG FIXES ######## * sie/class/device Add 15-sec timeout when reading DOS partition info. Previously no timeout was set. ============ VERSION 8.0.0-H71 (2011/02/10) ============ ######## NEW FEATURES ######## * sie/class/device Add check for config var "ScsiQuery=no". If set then no SCSI queries are done. - Update CPUID and PCI dbs. ============ VERSION 8.0.0-H70 (2010/12/07) ============ ######## BUG FIXES ######## * sie/class/netif Fix core dump due to MacAddr parsing. - Update pci-id and cpuid sid. ============ VERSION 8.0.0-H69 (2010/08/24) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count Socketed" on Solaris 9 SPARC to be correct on certain platforms. We previously ignored psrinfo on < Solaris 10 but the psrinfo now appears valid on Solaris 9 so we now use it on that OS version. * sie/core Improve general performance by adding additional checks in the messaging layer debug functions to determine as early as possible if debug is enabled and if not stop processing the debug message. * sie/core Enable earlier debug messages by checking for new MCSYSINFO_DEBUG=yes environ var. ============ VERSION 8.0.0-H68 (2010/07/29) ============ ######## BUG FIXES ######## * sie/class/general Fix how Boot Time and Up Time are discovered on Linux to use getutid() first and then fall back to /proc. Previously we used /proc only which could result in Boot Time values which changed by 1 second in between runs of SysInfo on the same host. ============ VERSION 8.0.0-H67 (2010/07/13) ============ ######## BUG FIXES ######## * sie/class/partition Fix Usage reporting of "partition" data on Solaris to report partitions used by ZFS as "STORVOL" with Manager (new field) "ZFS". Previouisly ZFS partitions where reported as "UNUSED". ============ VERSION 8.0.0-H66 (2010/05/10) ============ ######## BUG FIXES ######## * sie/class/hardware Fix missing "cpuX" Device class entries on Solaris SPARC. This was caused by not looking for Device Type in "devtype" and "dev_type" LDI properties. - Update kstat functions to build on latest Solaris 10 releases. * sie/class/storvol Fix memory corruption issue on aixlvm on systems with 20 or more volume groups as listed by "lsvg". * sie/class/storvol Fix timeout issued on AIX with aixlvm by raising timeout to 900 seconds from 15. * sie/core Raise timeout on SysInfo drivers from 15 to 900 seconds by default except for mntinfo which remains at 15. ============ VERSION 8.0.0-H65 (2010/03/08) ============ ######## BUG FIXES ######## * sie/class/general Fix CPU Count - Socketed and Physical count on Solaris SPARC UltraSPARC-IV systems. * sie/class/hardware Search /sys/devices/ide0 on Linux 2.6 systems for hardware. - Update PCI and CPUID db. ============ VERSION 8.0.0-H64 (2010/02/24) ============ ######## BUG FIXES ######## * sie/class/hardware Fix hardware reporting on AIX to report vhostX devices even though they are virtual and not true physical devices. * sie/class/netif Fix bug causing wrong macaddr to be reported on AIX systems which have virtual netif's. * sie/class/siteinfo Fix core dump when siteinfo entry has empty/blank "value" field due to null deref. - Update PCI and CPUID db. ============ VERSION 8.0.0-H63 (2010/02/01) ============ ######## BUG FIXES ######## * sie/class/general Add ability to not report System Serial if the true system serial is not known when the env var MCSYSINFO_TRUE_SYSSERIAL is set to "yes". This currently only pertains to Solaris SPARC. ============ VERSION 8.0.0-H62 (2010/01/05) ============ ######## BUG FIXES ######## * sie/class/netif Fix Speed value for "79c970" and "VMware Virtual NIC" to be 1Gb. * sie/class/netif Fix Speed value for "79c970" and "VMware Virtual NIC" to be 1Gb. ============ VERSION 8.0.0-H61 (2009/12/29) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug on Solaris hardware discovery which ceased reporting cpuX devices on Solaris 10 and later SPARC. Bug was introduced in 8-H53. ============ VERSION 8.0.0-H60 (2009/12/22) ============ ######## BUG FIXES ######## * sie/class/netif Fix problem with duplicate macaddr being reported on Solaris systems with eg0000X interface names as well as similar names with digits after alpha. ============ VERSION 8.0.0-H59 (2009/12/18) ============ ######## BUG FIXES ######## * sie/class/software Fix NULL deref core dump bug introduced in previous HF in debug messaging for creating new parent's of software nodes in some cases. ============ VERSION 8.0.0-H58 (2009/12/17) ============ ######## BUG FIXES ######## * sie/class/software Fix bug in software discovery on AIX which can lead to infinite loop of discovered packages. This occurs when we auto create a package for a new pkg's parent without a Version for the parent and then later we re-add the parent with a Version. We now update the internal hashtables in this case. ============ VERSION 8.0.0-H57 (2009/12/01) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count Virtual" on HPUX to report single value in format output. In H56 we introduced a double output in format report. ============ VERSION 8.0.0-H56 (2009/11/27) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count Virtual" on HPUX to use mpsched as data source. Previosly no value was reported. * sie/class/network Add ability to correctly identify certain virtual netif devices like "vnetX" as type VIRTUAL instead of the default value of PHYSICAL. ============ VERSION 8.0.0-H55 (2009/11/10) ============ ######## BUG FIXES ######## * sie/class/software Don't truncate software package names which have "NNNANNN" (N=number, A=alpha) patterns. This is true with certain Oracle packages on Solaris. * sie/core Fix Seg Fault when --debug is used and a command run for debug purposes takes more than 10 seconds to complete on Solaris. ============ VERSION 8.0.0-H54 (2009/10/19) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug introduced in 8-H53 which causes L1i cache data not to be reported if L0 cache data is not present. ============ VERSION 8.0.0-H53 (2009/10/13) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug resulting in incomplete CPU Cache data being reported on certain Linux systems. Bug was due to auto-generated cpuX devices overwriting SMBIOS CPU/Cache data. * sie/class/hardware Fix unreported and possible seg fault in DMI PROC code where Model and Mfg vars are freed and then possible used again. * sie/class/hardware Report Solaris Virtual Disk device "vdc" (aka "sun4-virtual-disk") as a DISKDRIVE with all appropriate discovery. Previously reported as a GENERIC device. ============ VERSION 8.0.0-H52 (2009/09/17) ============ ######## BUG FIXES ######## * sie/class/hardware Discovery MAC Addr on Solaris SPARC when NetIf is not configured. Works on SPARC systems which have "local-mac-address" attribute in LDI. * sie/class/software Fix BEA Weblogic discovery to work if multiple instances of different Weblogic versions are running. * sie/class/software Fix BEA Weblogic discovery to work if multiple instances of different Weblogic versions are installed when doing a file search. ============ VERSION 8.0.0-H51 (2009/08/24) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count - Physical" on certain UltraSPARC-T2 systems. The hash table used to track "core id" values was too small resulting in some cores being counted twice. * sie/class/hardware Fix DMI PROC decoding to transform "INTEL" to "Intel" to be consistant with other sources of "Intel". * sie/class/partition Fix partition Size on IA64 EFI partitions under Linux to be correct MB value. ============ VERSION 8.0.0-H50 (2009/07/07) ============ ######## BUG FIXES ######## * sie/class/hardware On Linux remove duplicate "psmouse" device. ============ VERSION 8.0.0-H49 (2009/06/25) ============ ######## BUG FIXES ######## * sie/class/software Fix BEA Weblogic discovery to support discovery of multiple weblogic versions via process list. ============ VERSION 8.0.0-H48 (2009/05/25) ============ ######## BUG FIXES ######## * sie/class/hardware Fix duplicate values in "Ident" for memoryX devices created by DMI MEMMOD and MEMDEV. * sie/class/hardware Set Location value for memoryX devices created by DMI MEMOD and MEMDEV. ============ VERSION 8.0.0-H47 (2009/05/15) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count - Socketed" on AIX to use count of processors from lsdev instead of lparstat. ============ VERSION 8.0.0-H46 (2009/05/04) ============ ######## BUG FIXES ######## * sie/class/software If MCSYSINFO_PKG_BASEDIR_BY_FILE=yes on Solaris then BaseDir will be set using the most common package file path if no BASEDIR value is found in the pkginfo file. - Seperate SoftInfoAdd() into SoftInfoAddPkg() and SoftInfoAddList(). ============ VERSION 8.0.0-H45 (2009/04/14) ============ ######## BUG FIXES ######## * install Fix uninstall to avoid "Remove Installation directory failed" when "setup --uninstall" is run with no path or a relative path instead of an absolute path. ============ VERSION 8.0.0-H44 (2009/04/07) ============ ######## BUG FIXES ######## * sie/class/software Fix Oracle DB discovery to support discovery of multiple Oracle DB versions which use a single tnslsnr process. ============ VERSION 8.0.0-H43 (2009/03/03) ============ ######## BUG FIXES ######## * sie/class/hardware Set device Type for 'vscsi' on AIX to be ctlr. * sie/class/hardware Fix missing sda diskdrive devices on SLES 9 SP1 systems running under VMware. This and other rare Linux versions sometimes do not properly build /sys and place sdX devices only under /sys/devices/platform instead of the normal/expected locations. ============ VERSION 8.0.0-H42 (2009/02/23) ============ ######## BUG FIXES ######## * sie/class/general Fix compile problem for WtmpxDirect() which was using UTMP and not UTMPX macros. * sie/class/hardware Augment discovery of CpuInfo data on HPUX using machinfo command. This supplements the data from cstm which doesn't always work. * sie/class/hardware Add exception on AIX such that "vscsiX" devices are reported even if they do not have a Location provided via ODM. * sie/class/hardware Add support for "ether10g" class. * sie/class/netif Add support for "nxge" NetIf on Solaris. * sie/class/software Fix use of uninitialized variable in SDL intepretor in SdlDataTypeArrayStr(). Not tied to reports of any failures. * sie/class/software Fix BaseDir setting on AIX for packages which have only a single directory listed in ODM. Package bos.rte.libnetsvc is one example. * sie/core Fix bug in StrSplit() which could result in extra arguments being returned if the split string ends with an extra space. ============ VERSION 8.0.0-H41 (2009/02/12) ============ ######## BUG FIXES ######## * sie/class/hardware Fix "Capacity" parameter for "framebuffer" devices on MacOS to report proper value. This fix also improves decoding of IOK attributes of type "CFData". * sie/class/hardware Fix CPU Speed to be reported correctly on Sun Enterprise M3000 and similar systems. Also discovery and report CPU cache attributes as well. * sie/class/hardware Create "memoryX" devices for each DIMM on Sun Enterprise M3000 systems. ============ VERSION 8.0.0-H40 (2009/02/10) ============ ######## BUG FIXES ######## * install Fix .sh builder to set limited and explicit $PATH which contains only standard locations and is not overly long. * sie/class/hardware Fix CacheInfo for L1d, L1i, L2 on Mac PPC to be set to proper values. Fixes typo which set only L2 data as L1i. * sie/class/netif Fix setting of Speed and Duplex on AIX for netif's. We need to properly check for mapping of "enX" to "entX" names to insure we check the database for the right dev name. ============ VERSION 8.0.0-H39 (2009/02/02) ============ ######## BUG FIXES ######## * sie/class/hardware Fix Solaris netif discovery of e1000g0 properties Speed and Duplex to work for the first time. * sie/class/hardware Add ability to set MacAddr on Solaris via arp(1) command. This is a backup method in most configurations, but the primary method used when run inside a Solaris guest Zone. ============ VERSION 8.0.0-H38 (2009/01/29) ============ ######## BUG FIXES ######## * sie/class/device Fix bug which could cause bogus and ever changing values for a netif's "broadcast" value. This is due to use of uninitionalized values used when insuring broadcast is set. * sie/class/general Fix primaryuserlogin and primaryusername on HPUX which has wtmpx but only updates wtmp. * sie/class/hardware Fix CpuInfo Manufacturer to be "Intel" on HPUX IA64 platform. * sie/class/netif Fix all output of MAC Address in class Device, NetIf, and VmGuest to be in a consistant format of "xx:xx:xx:xx:xx:xx". ============ VERSION 8.0.0-H37 (2009/01/24) ============ ######## BUG FIXES ######## * doc/ReleaseNotes Document lack of Hardware info within Solaris Zones. * sie/class/general Fix "CPU Count - Socketed" and "CPU Count - Physical" on AIX 5.3 and later to use "Active Physical CPUs in system" instead of "Maximum Physical CPUs in system" after it was discovered that the later (Maximum...) value in some some systems does not report the values we expect. * sie/class/general Fix PrimaryUserLogin and PrimaryUserName on Solaris and other OS which use wtmpx. These attributes are not reported due to fix in 8-H35. * sie/class/hardware Fix bug in internal DevFind() function which used incorrect comparison tests for NodeID matching. This could lead to incorrect device matching resulting in incorrect device attributes. No known cases have been reported. * sie/class/netif Don't attempt to find MAC Address on loopback netif's since they don't have one. * sie/class/netif For DLPI method we now remove virtual unit from device name. e.g. For hme0:1 we look for /dev/hme instead of /dev/hme0:. ============ VERSION 8.0.0-H36 (2009/01/09) ============ ######## NEW FEATURES ######## * doc/RefMan Document in more detail the device format. ######## BUG FIXES ######## * sie/class/general Fix primaryusername and primaryuserlogin on systems which have getutxent() and getutent() to not use these interfaces since they read utmp and not wtmp. * sie/class/general Fix "Kernel Version" on Linux to remove newline if present at end of string. * sie/class/hardware Add test to detect another case of phantom CPU devices via SMBIOS. We now ignore CPU devices which have no Model + Mfg + Version data provided by SMBIOS. * sie/driver Increase general SysInfo driver timeout from 300 to 900 seconds. This helps on systems which have many storvol devices in particular. ============ VERSION 8.0.0-H35 (2009/01/07) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug on Solaris which resulted in netif parameters such as Duplex not being reported on Solaris 7 and later SPARC systems. This was due to a compiler bug resulting in no /dev/$driver parameter being passed to ndd command. * sie/class/hardware Insure that "device|desc" lines which detail IP/Mac data always have "Internet" keyword even if only the macaddr is set. * sie/class/service Add environ check for MCSYSINFO_SERVICE_RCSTARTMSG=yes to enable running of "rc startmsg" commands to probe for services on HPUX. * sie/class/siteinfo Correct report format output to not show the "siteinfo|prop|...|Var|..." line at the end of the "siteinfo|name|...|" line. ============ VERSION 8.0.0-H34 (2009/01/02) ============ ######## NEW FEATURES ######## * sie/class/hardware Set SCSI Bus, SCSI Unit, SCSI LUN values into Device class Unit, DevNum, Port fields on Linux and HPUX. ######## BUG FIXES ######## * sie/class/general Fix "CPU Model" and "CPU Vendor" on Sun SPARC to be reported correctly on Solaris 2.6 - 7 which uses the older OBP interface to obtain this data. We were performing an incorrect return value check for one of our OBP functions. * sie/class/general Fix "Virtual Memory" on AIX to use more reliable source (lsps) instead of direct query via ODM and swapqry(). * sie/class/hardware Fix Vendor names by checking internal list of abbreviations. i.e. "SUNW" becomes "Sun". * sie/class/hardware Set Device Bus, DevNum, and Port for diskdrive devices which have a name of form "cXtXdX" or "cXdX". These values corespond to the SCSI Bus, Target, and LUN. This naming convention is used on Solaris. * sie/class/hardware Improve reporting of Device Serial and other data by augmenting via lscfg command. Also implemented single run of lscfg command instead of multiple runs per SysInfo query. This should improve performance on systems with many devices. * sie/class/netif Fix HPUX to report MAC Address even if no IP address is configured for an interface. ============ VERSION 8.0.0-H33 (2008/12/30) ============ ######## BUG FIXES ######## * sie/class/general Fix core dump on X86/X64 systems which occurs during CPUID discovery when the EBX register contains an unknown Mfg value. This bug was introduced in H28. * sie/class/general Fix "CPU Count Online" on AIX to use lparstat in preference to sysconf() to provide more accurate results. sysconf() on AIX 6.1 was returning "2" instead of "1" on 1 CPU systems. * sie/class/hardware Check Vendor names and truncate after 2 or more SPACE chars appear back to back. This fixes names like "IBM H0". ============ VERSION 8.0.0-H32 (2008/12/26) ============ ######## BUG FIXES ######## * class/general Fix discovery of "Libc Name" on Linux to work properly on newly Linux like Fedora 8. The commands run to determine libc name must be run with privileges and were not previously. * sie/class/hardware Improve CPU Model detection on HPUX by parsing cstm output. * sie/class/hardware Add DriverName mapping on FreeBSD for 3COM 3c905c to the "xl" driver. * sie/class/hardware Report "Itanium 2" instead of "Itanium" for CPU Model values. * sie/class/hardware Fix bug on Red Hat Enterprise Linux 4 on Itanium (IA64) systems which caused no CPU devices to be reported. This was due to an incorrect except test in DMI decoding which filters out CPU devices which DMI present but which really are not present. * sie/class/hardware If a CPU device doesn't have Arch set during sanitize, then try to set Arch from MCSI_CPUTYPE. * sie/class/hardware Improve ability to pull Vendor value out of Model for diskdrive based on known names of Seagate, Maxtor, WDC. * sie/class/hardware Fix network interface device names to use same lanX names recognized by system command like ifconfig and netstat. This allows for consistant naming between class Device and Netif also. * sie/class/hardware On HPUX we now obtain CPU Model and Man from machinfo(8) command as an additional source. This helps with discovery on some systems like the rx2600. * sie/class/hardware Fix Device Vendor names to remove "," and beyond values. * sie/class/hardware Fix compile problem in lrmi.c on Linux 2.6.26 and later. * sie/class/netif Fix bug resulting in bogus Broadcast addr being reported due to uninitialized data structure. * sie/class/netif Add support for setting Duplex for NetIf's on HPUX. * sie/class/netif Automatically calculate Network Address and Broadcast Address if we have the Host Address and Network Mask. This allows us to provide this data on platforms like Windows which do not normally provide Broadcast and Network Address data directly. * sie/class/netif Fix class Device and Netif to discovery and report multiple IP address info on the same (named) interface. i.e. 2 IP assigned to interface "en0". We previously supported this interface aliasing only when the interface name was different (e.g. "eth0.1 eth0.2"). Currently this is working on AIX only. * sie/class/netif Improve accuracy of NetIf Speed and Duplex values reported on Linux. * sie/class/netif Fix Netif class data on HPUX to report Speed and Mac Address. These values were previosly only reported in class Hardware. * sie/class/netif Convert Netmask values of "0x..." to be in "X.X.X.X" format. * sie/class/netif If NetAddr is not set but HostAddr and NetMask are known, calculate NetAddr. * sie/class/netif Fix mac address (macaddr) not being reported on AIX for class netif. It was correctly reported as part of class Hardware. Also added discovery of netif Speed and Duplex on AIX. * sie/class/software Fix 5 SDL parser casting issues none of which are likely to result in any actual defects. ============ VERSION 8.0.0-H31 (2008/12/16) ============ ######## BUG FIXES ######## * doc Properly updated current doc/CHANGES.txt file in each distribution. * sie/class/general Use Sun "sneep" program on Solaris SPARC (if available) to determine System Serial number. * sie/class/general Fix discovery of "OS Dist" data on older Linux which lack the lsb_release command but which have /etc/redhat-release. * sie/class/hardware Filter out Manufacturer/Vendor names for cpu's which have illegal characters. * sie/class/hardware Enhance cpuinfo data on Solaris X86 via CPUID. * sie/class/hardware Add definetion on Solaris for netif device name "e1000g". * sie/class/hardware Fix Solaris device names that of form pciVVVV,DDDD to more specific driver based names when data allows. * sie/class/netif Fix bug on Solaris with netif names like "e1000g" not reporting MAC address. This is due to use of digits in driver portion of device name. ============ VERSION 8.0.0-H30 (2008/12/15) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug on Linux which results in no IP data being reported for a netif like eth1 if there is an eth0 present but not configured up and running. * sie/class/hardware Fix bug on Linux 2.6.25 and later kernels resulting in no diskdrive Vendor, Model, Serial and other data not being reported for SCSI and SATA drives. Bug was due to change in Linux 2.6 kernels in /sysfs from use of "block -> .../sda" symlinks to use of "block:sda" links. * sie/ui Update embedded perl for Solaris SPARC from 5.8.5 to 5.10.0 in order to address issue with long runtimes (appearing to be hangs) for --class all on some systems which have many patched files. ============ VERSION 8.0.0-H29 (2008/12/13) ============ ######## BUG FIXES ######## * sie/class/hardware Fix CPU discovery code based on CPUID to work once again on X86/X64 non-Solaris systems. * sie/class/patch Fix UI bug that caused very long runtimes on Solaris (and possibly other OS) when the "all" class was requested. There was an inefficient parsing of Patch class files in the UI layer resulting in extremely long runtimes. * sie/class/vmguest Add support for GuestMacAddr, GuestHostname, GuestIpAddr on HPVM. * sie/class/vmguest Enable "UUID" reporting for VMware Guests. ============ VERSION 8.0.0-H28 (2008/12/09) ============ ######## BUG FIXES ######## * sie/class/general Fix "System Serial" on Solaris Blade servers like the X6220 to report the Blade Module serial number and not the chassis serial number. ============ VERSION 8.0.0-H27 (2008/12/03) ============ ######## BUG FIXES ######## * sie/class/hardware Fix Solaris hardware discovery to add "scsiclass,00" as type diskdrive to allow proper discovery of diskdrive devices on newer releases of Solaris 10 on some types of hardware. * sie/class/hardware Fix HPUX reporting of "memory/X" devices to be properly classified as device type "memory" instead of "generic". * sie/class/vmguest Fix VmGuest support for VMware to report guest IP Address, Hostname, and MAC address. ============ VERSION 8.0.0-H26 (2008/11/18) ============ ######## BUG FIXES ######## * sie/class/hardware Fix AIX hardware discovery on LPAR VM to discovery harddisk, cd, and ethernet devices by adding exceptions to code which skips adding devices when the "location" field supplied by AIX is empty. ============ VERSION 8.0.0-H25 (2008/11/05) ============ ######## BUG FIXES ######## * sie/class/service Allow use of RC start_msg to discover Service class data on HPUX if the config value RcStartMsg=yes is set in mcsysinfo.cfg. ============ VERSION 8.0.0-H24 (2008/10/10) ============ ######## BUG FIXES ######## * sie/class/general Fix "primaryusername" and "primaryuserlogin" to be faster by validating usernames found during the tabulation phase (once per username) rather than as they are found in wtmp (once per occurance). * sie/class/hardware Fix issue with "avoidblink" flag not being set internally in drivers like vxvm when this flag was set in mcsysinfo.cfg. There previously was no global means of setting MCSIOPT flags internally from a cfg file. ============ VERSION 8.0.0-H22 (2008/09/28) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug in Hardware discovery on Solaris SPARC resulting in little or no info being reported for cpu devices. This is a new bug introduced after 8-H13. * sie/class/service On HPUX remove the method of Service class discovery which ran /etc/rc scripts using the "start_msg" argument. Some non-compliant apps accepted "start_msg" to be to restart the service rather than just print the message about what is to be started. * sie/class/software Fix core dump problem on Software discovery due to null deref in ProcessFind() code. Bug is triggered when no process command (Cmd) is set. ============ VERSION 8.0.0-H21 (2008/09/08) ============ ######## BUG FIXES ######## * sie/class/hardware Another fix for the "Max Recursion Depth" loop bug on Solaris SPARC. This fix disables the artificial system board device creation which is the source of the problem. * sie/class/hardware Fix ProbeKbd() and LDIprobeCpu() on Solaris to use consistant function args. * sie/class/software Fix NULL deref in class "Software" during Oracle DB discovery when adding the db entry to the software tree. ============ VERSION 8.0.0-H19 (2008/09/03) ============ ######## BUG FIXES ######## * sie/class/hardware Fix "Max Recursion Depth" problem on Solaris SPARC which occured on some systems which have artificial "sysboardX" devs created by SysInfo. ============ VERSION 8.0.0-H18 (2008/08/27) ============ ######## BUG FIXES ######## * sie/class/general Fix bug in "CPU Count - Physical" on linux for systems with more than 60 CPU's which caused count to max out at 61. Fix another bug in "CPU Count - Physical" on linux which caused incorrect count on AMD CPU's which Linux thinks has HT (hyper-threading) support enabled. * sie/class/hardware Fix bug in format report output for hardware which would not always report Capacity in v1 (single line) output. * sie/class/hardware Fix FRU parsing on Sun v210, v240, v440 to properly grab memory info. * sie/class/hardware Improve debug msgs on Solaris for hardware discovery. ============ VERSION 8.0.0-H17 (2008/08/25) ============ ######## BUG FIXES ######## * sie/class/general Another fix for "CPU Count - Physical" on Linux systems. Previous fix broke systems with HT CPU's running linux 2.4 kernels. * sie/class/hardware Fix "MAXDEVFILES (48)" warning on HPUX on systems which have more than 48 device files for a given device. ============ VERSION 8.0.0-H16 (2008/08/13) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count - Physical" on Linux to correctly report value by combining "physical id" and "core id" unique instances. * sie/class/general Fix "CPU Count - Physical" on Linux to correctly report value by combining "physical id" and "core id" unique instances. * sie/class/general Edit manshort to remove "," data from value. * sie/class/general Add Xeon 5150 cpuid definetion * sie/class/hardware Fix "CPU Architecture" on Solaris AMD64 and EM64T systems to be "x64" which is consistant with all our other supported platforms. * sie/class/hardware Add ability to read prtfru data on Solaris from file specified by env var. * sie/class/hardware Fix core dump on Solaris SPARC due to NULL deref in LdiSetBoard(). * sie/class/hardware Fix double free bug in VolMgtRelease(). ============ VERSION 8.0.0-H15 (2008/07/25) ============ ######## BUG FIXES ######## * install Fix .sh builder and setup programs to properly honor "--tmpdir" argument. * sie/class/storsys Fix bug reading data from NetApp filers via rsh resulting in no data being reported on certan platforms. Fixed result compare of fprintf() return value to account for newline. Fixed lack of data in tmp file by adding fflush() after rsh output read is complete. ============ VERSION 8.0.0-H14 (2008/07/17) ============ ######## BUG FIXES ######## * setup Fix setup to not look for files in current directory where setup is run from. Previously a file in the current directory with the same name as that expected in a package would result in a size mismatch error. * sie/class/general Fix "System Model" on Sun SPARC systems such as the M5000 which where previously identified as just "Enterprise" models. * sie/class/hardware Preserve Solaris kernel names of devices such as "sdX" and "sddX" as AltName values. ============ VERSION 8.0.0-H13 (2008/06/26) ============ ######## BUG FIXES ######## * sie/class/general Fix "System Manufactorer" to show "Fujitsu" on Fujitsu SPARC systems. * sie/class/hardware Fix identification of "pci14e4,1668" devs on Solaris to be "bge". Eliminates duplicate reports for same interface. * sie/class/software Fix Weblogic discovery to discard "=" at start of path obtained from process list. Multiple processe results are now searched and the first valid one is used. ============ VERSION 8.0.0-H11 (2008/05/16) ============ ######## NEW FEATURES ######## * sie/core Enable and document support for AIX 6.1 and Windows Server 2008. ######## BUG FIXES ######## * sie/class/general Fix "OS Update Level" to report Service Pack version on Windows. * sie/class/general Fix OS Dist ident to work on Windows Server 2008. * sie/class/hardware Correctly identify cpqarray and children devices on Linux 2.6 systems. * sie/class/hardware Correctly identify cpqarray and children devices on Linux 2.6 systems. * sie/core Fix NULL deref bug in DestroyArgv[W]() which likely causes core dump on AIX during software discovery. Other failures may be related as well. * sie/core/hardware Fix CPU Model definetion for "Xeon X5355". ============ VERSION 8.0.0-H10 (2008/04/29) ============ ######## BUG FIXES ######## * sie/class/software Add support for reading $prefix/config/local.cfg if found. * sie/class/software Add ability to set "SoftwareSearchPath" in a .cfg file (local.cfg). This var is used by SPS modules like Weblogic to specify a colon seperated list of directories to search for select SPS modules. This value overrides the search paths built into each SPS module. * sie/class/storsys Fix nafiler core dump due to NULL de-ref in volume sort function. ============ VERSION 8.0.0-H9 (2008/04/22) ============ ######## BUG FIXES ######## * sie/class/software Revert apache http and bea weblogic discovery methods from SDL back to the same SPS modules used in 7.0.1. * sie/class/software Fix Weblogic SDL script to search common directories. ============ VERSION 8.0.0-H8 (2008/04/16) ============ ######## BUG FIXES ######## * sie/class/partition Fix bug on Solaris which caused no ufs partitions to be reported due to error in handling of "rdev" number. ============ VERSION 8.0.0-H7 (2008/04/15) ============ ######## BUG FIXES ######## * sie/class/hardware Add mostly complete cpuid definetions for Intel CPUs. * sie/class/hardware Add mostly complete cpuid definetions for Intel CPUs. ============ VERSION 8.0.0-H6 (2008/04/09) ============ ######## BUG FIXES ######## * sie/class/general Fix CPU Count Physical on Linux to use "core id" from /proc/cpuinfo if present. This is more accurate than "physical id". * sie/class/hardware Change DMI CPU status of "Unused waiting for enabled" to simply be "UNUSED". * sie/class/software Fix Weblogic SDL script to look in ".." from install dir for registry.xml. * sie/class/software Fix possible memory corruption issue on AIX caused during software discovery via ODM. We were calling free() on a value provided by a libc library and which may not have expected this. * sie/class/software Fix Weblogic SDL script to actually work. * sie/core Implement ability to build code with dmalloc. * sie/core Fix ProcessGet() to only run gather ps data once and re-use it for future calls. ============ VERSION 8.0.0-H5 (2008/04/05) ============ ######## BUG FIXES ######## * sie/class/software Fix bug which prevented SDL scripts from being run. ============ VERSION 8.0.0-H4 (2008/03/27) ============ ######## BUG FIXES ######## * class/class/software Fix SDL files missing from distributions. * sie/class/hardware Fix PCI database to remove a bunch of duplicates. Also improve classification of netif devices as ether1g or ether100m. * sie/class/software Fix discovery of Oracle DB to look for it using running processes. This also allows discovery when Oracle is not installed as user "oracle". Multiple instances of Oracle are also discovered if they have a running process. ============ VERSION 8.0.0-H3 (2008/03/16) ============ ######## BUG FIXES ######## * sie/class/hardware Fix definetion of "LSI" SCSI controller. ============ VERSION 8.0.0-H2 (2008/02/18) ============ ######## BUG FIXES ######## * sie/class/general Fix "OS Dist Version" on AIX to report AIX maintenance level (oslevel -r) value instead of nothing. * sie/class/hardware Check for /usr/sbin/prtdiag location on Solaris. * sie/class/hardware Fix classification of IDE and SCSI devices on HPUX to be reported as they are and not as generic "card" devices. * sie/class/hardware Fix another case of Mac Keyboard/Mouse being reported with a Location=External when they are really Internal. * sie/class/software Fix bug in discovery of Oracle DB v10 due to incorrect environment variable ORACLE_BASE setting. * sie/class/software Fix problem with detection of Weblogic v8 not being reported. ============ VERSION 8.0.0-beta1 (2008/01/26) ============ ######## NEW FEATURES ######## * sie/class/printer Add ServerCanHost and ServerIPv4 data to printer class. ######## BUG FIXES ######## * sdl Fix while/break breaking all the way out of script. * sdl Fix CmdClose() generating fatal script error when command exits none-zero. * sdl Fix foreach/break problem causing top level break's to exit from scripts. * setup Fix installer to make sure mcGlobals.pm file is readable by everyone. Fixes a perl error on startup stating that mcGlobals.pm cannot be found when the file is not readable typically do to the install being run with a restrictive umask. * sie/class/filesys Fix filesystem + partition sizes reported on MacOS to be correct. Previously they where completely and consistantly wrong. * sie/class/general Fix "OS Dist" values to work on HP-UX 11i v3. We need to run swlist as root to get required data. * sie/class/general Do not report HostId values of all zeros. Instead report nothing since all zeros indicates an invalid value. * sie/class/general Fix incorrect "CPU Count - Physical" on Solaris SPARC systems due to incorrect check for core_id values in kstat data. * sie/class/general Fix Solaris OBP "romver" reporting to handle 2 digit year values. * sie/class/general Fix "ROM Version" on Solaris SPARC to consistantly report date as YYYY/DD/YY. * sie/class/general Improve CPU Model on Intel CPUs a bit more by fixing X6800 definetion and adding checks to use DMI PROC Family when all else fails. * sie/class/general Fix core dump on Solaris 10 with --debug due to kstat decoding bug introduced in 7.0.1-H24. * sie/class/general Improve CPU Model detection of Intel CPUs by using the speed string found in DMI PROCESSOR Version strings as the basis for the CPU Speed. * sie/class/hardware On MacOS add Location=internal for primary keyboard+mouse. * sie/class/hardware Add special handling for "cciss" devices on Linux to be reported as ccissX instead of with a pci... name. This properly mimicks the behavior from SysInfo on systems without SysFS. * sie/class/hardware Fix Bus Error fault on MacOS during hardware probe due to attempted write to read-only memory local via Capitolize() in IOK. * sie/class/hardware Fix device classification of PCI devices where by the Type and ClassType where sometimes not fully identified. Many devices where classified as "bridge" instead of "ctlr" and "ata". * sie/class/hardware Improve AMD CPU feature detection. * sie/class/printer Fix core dump in Printcap parser due to NULL deref. * sie/class/service Fix service names on Solaris 10 and later to use their full official svcs name in order to uniquely identify services which have similar names like "network/login". * sie/class/software Add "InstDate" and "InstDateTime" support for MacOS by artificially creating data from key directory mtime values. Works about 85% of the time. * sie/class/software Change InstDate and BuildDate fields to consistantly report dates in full locale specific format. Add InstDateTime and BuildDateTime fields which report values as numeric times. * sie/class/software Fix possible NULL deref in software class reporting functions. * sie/class/storsys Avoid creating meaningless core dumps on HPUX when required shared libs are not present for emcclar and emcsym drivers. We now perform checks for all mcsi drivers using ldd(1) to look for missing shared libs. * sie/class/storvol Fix LVM discovery on HPUX to handle multiple volume groups. * sie/class/storvol Fix linuxlvm bug which resulted in only some LVs being reported for VGs with multiple LVs. * sie/core Fix core dump due to overwrite of memory in StrNewlineEscW() which occurred sometimes in class Software on AIX. ============ VERSION 7.0.1-H64 (2008/10/22) ============ ######## BUG FIXES ######## * sie/class/hardware Fix Hardware discovery on Solaris to use "sd" as altname for "scsiclass,00". * sie/class/software Fix core dump problem on Software discovery due to null deref in ProcessFind() code. Bug is triggered when no process command (Cmd) is set. * sie/core Fix ProcessGet() to only run gather ps data once and re-use it for future calls. ============ VERSION 7.0.1-H62 (2008/10/10) ============ ######## BUG FIXES ######## * sie/class/hardware Fix issue with "avoidblink" flag not being set internally in drivers like vxvm when this flag was set in mcsysinfo.cfg. There previously was no global means of setting MCSIOPT flags internally from a cfg file. ============ VERSION 7.0.1-H61 (2008/09/30) ============ ######## BUG FIXES ######## * sie/class/service On HPUX remove the method of Service class discovery which ran /etc/rc scripts using the "start_msg" argument. Some non-compliant apps accepted "start_msg" to be to restart the service rather than just print the message about what is to be started. * sie/class/software Fix NULL deref in class "Software" during Oracle DB discovery when adding the db entry to the software tree. ============ VERSION 7.0.1-H59 (2008/09/07) ============ ######## BUG FIXES ######## * sie/class/general Fix bug in "CPU Count - Physical" on linux for systems with more than 60 CPU's which caused count to max out at 61. Fix another bug in "CPU Count - Physical" on linux which caused incorrect count on AMD CPU's which Linux thinks has HT (hyper-threading) support enabled. * sie/class/hardware Another fix for the "Max Recursion Depth" loop bug on Solaris SPARC. This fix disables the artificial system board device creation which is the source of the problem. * sie/class/hardware Fix "Max Recursion Depth" problem on Solaris SPARC which occured on some systems which have artificial "sysboardX" devs created by SysInfo. ============ VERSION 7.0.1-H56 (2008/08/25) ============ ######## BUG FIXES ######## * sie/class/general Another fix for "CPU Count - Physical" on Linux systems. Previous fix broke systems with HT CPU's running linux 2.4 kernels. * sie/class/hardware Fix "MAXDEVFILES (48)" warning on HPUX on systems which have more than 48 device files for a given device. ============ VERSION 7.0.1-H55 (2008/08/08) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count - Physical" on Linux to correctly report value by combining "physical id" and "core id" unique instances. ============ VERSION 7.0.1-H54 (2008/08/04) ============ ######## BUG FIXES ######## * sie/class/hardware Include missing cpuid-intel-auto.sid. ============ VERSION 7.0.1-H53 (2008/07/28) ============ ######## BUG FIXES ######## * sie/class/general Add Xeon 5150 cpuid definetion * sie/class/general Fix "System Serial" on DMI/SMBIOS systems to correctly use data from "SYSINFO" node before "ENCLOSURE" node. * sie/class/hardware Update Intel CPUID database to include full listing from Intel. * sie/class/hardware Correctly identify cpqarray and children devices on Linux 2.6 systems. * sie/class/hardware Fix recognizition of cciss driver by adding PCI definetion for another vendor+model ID. * sie/class/storsys Fix nafiler core dump due to NULL de-ref in volume sort function. * sie/core Fix NULL deref bug in DestroyArgv[W]() which likely causes core dump on AIX during software discovery. Other failures may be related as well. ============ VERSION 7.0.1-H51 (2008/04/15) ============ ######## BUG FIXES ######## * sie/class/hardware Fix bug on Solaris resulting in no disk drives being reported on certain x64 systems. This was due to the use of a driver name "scsiclass,00" which was not identified as a "diskdrive". * sie/class/partition Fix bug on Solaris which caused no ufs partitions to be reported due to error in handling of "rdev" number. ============ VERSION 7.0.1-H50 (2008/03/27) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count - Physical" on Linux to not use "physical id" values from /proc/cpuinfo as they will provide us with an incorrect count on P3 systems. * sie/class/general Fix CPU Count Physical on Linux to use "core id" from /proc/cpuinfo if present. This is more accurate than "physical id". * sie/class/general Fix CPU Model ident of Intel CPUs to use front-side bus speed in table lookup. * sie/class/hardware Change DMI CPU status of "Unused waiting for enabled" to simply be "UNUSED". * sie/class/software Fix weblogic discovery to add parsing for license.bea license file in addition to registry.xml. Also fix an infinite loop bug in weblogic discovery which occurs if there is a parsing error in the XML. * sie/core Enable build of product with dmalloc. Production distributions are not built with this enabled. ============ VERSION 7.0.1-H49 (2008/03/07) ============ ######## BUG FIXES ######## * sie/class/hardware Fix PCI database to remove a bunch of duplicates. Also improve classification of netif devices as ether1g or ether100m. * sie/class/hardware Check for /usr/sbin/prtdiag location on Solaris. * sie/class/software Fix discovery of Oracle DB to look for it using running processes. This also allows discovery when Oracle is not installed as user "oracle". Multiple instances of Oracle are also discovered if they have a running process. * sie/class/software Fix bug in discovery of Oracle DB v10 due to incorrect environment variable ORACLE_BASE setting. ============ VERSION 7.0.1-H47 (2008/02/14) ============ ######## BUG FIXES ######## * sie/class/software Fix problem with detection of Weblogic v8 not being reported. ============ VERSION 7.0.1-H46 (2008/02/14) ============ ######## BUG FIXES ######## * sie/class/general Fix "OS Dist Version" on AIX to report AIX maintenance level (oslevel -r) value instead of nothing. * sie/class/hardware Fix classification of IDE and SCSI devices on HPUX to be reported as they are and not as generic "card" devices. * sie/class/hardware Fix another case of Mac Keyboard/Mouse being reported with a Location=External when they are really Internal. ============ VERSION 7.0.1-H44 (2008/01/31) ============ ######## BUG FIXES ######## * sie/core Fix several cases of possible memory faults due to calls to swprintf() being given length values in excess of actual buffer length. - Integrate 6.0 to 7.0. - Use LengthW() macro for StrAppendW() calls. ============ VERSION 7.0.1-H43 (2008/01/15) ============ ######## BUG FIXES ######## * sie/class/hardware Fix device names to insure they do not contain white space. * sie/class/hardware Fix DOS partition detection to be more reliable and resilent. * sie/class/hardware Report "cciss" devices by name similar to how they were reported with SysInfo version 6 and earlier releases. This also fixes Linux device names to be based on the driver name rather than the generic "pci..." name. * sie/class/hardware Add support for reporting "internal" or "external" for keyboard and mouse on MacOS. * sie/class/hardware Add "Location" to end of "name" report lines. * sie/class/hardware Enable CPUID functions to work on Mac X86. * sie/class/hardware Report memory slot/DIMMs on HP-UX. * sie/class/hardware Add CpuInfo data for cache and CPU Serial on HP-UX PA systems. - Fix CmdOpen() to close stdin on CMF_READ. - Fic GCC 4.2 "will always eval to true" warnings for PRTS and PRTSW * sie/class/service Fix Service class on Linux to report State value. ============ VERSION 7.0.1-H42 (2008/01/13) ============ ######## BUG FIXES ######## * sie/class/general Fix Serial number on HPUX PARISC to be reported properly on HPUX 11.23 and later systems. * sie/class/service Fix inittab service platforms like AIX to report BootEnabled=YES. * sie/class/service Fix Service class on HPUX to provide StopNum, BootLevels. ============ VERSION 7.0.1-H40 (2008/01/07) ============ ######## BUG FIXES ######## * sie/class/hardware On MacOS add Location=internal for primary keyboard+mouse. * sie/class/hardware Propagate Vendor and Model values on MacOS for keyboard and mouse devices. * sie/class/hardware Properly set device Type for keyboard and mouse devices on MacOS for IOHIDKeyboardDevice and IOHIDPointingDevice. * sie/class/software Add "InstDate" and "InstDateTime" support for MacOS by artificially creating data from key directory mtime values. Works about 85% of the time. ============ VERSION 7.0.1-H38 (2007/12/30) ============ ######## BUG FIXES ######## * setup Fix installer to make sure mcGlobals.pm file is readable by everyone. Fixes a perl error on startup stating that mcGlobals.pm cannot be found when the file is not readable typically do to the install being run with a restrictive umask. * sie/class/filesys Fix filesystem + partition sizes reported on MacOS to be correct. Previously they where completely and consistantly wrong. * sie/class/general Fix "OS Dist" values to work on HP-UX 11i v3. We need to run swlist as root to get required data. - Fix void casting issue in fileio.c to compile with gcc 4.2.2. * sie/class/general Do not report HostId values of all zeros. Instead report nothing since all zeros indicates an invalid value. * sie/class/hardware Add special handling for "cciss" devices on Linux to be reported as ccissX instead of with a pci... name. This properly mimicks the behavior from SysInfo on systems without SysFS. * sie/class/hardware Fix Bus Error fault on MacOS during hardware probe due to attempted write to read-only memory local via Capitolize() in IOK. * sie/class/software Add support for discovery of weblogic 8.1. ######## OTHER CHANGES ######## * Misc - Update Process*() interface to handled ps type at runtime. ============ VERSION 7.0.1-H35 (2007/12/15) ============ ######## BUG FIXES ######## * build Fix compile time warnings in debug statements relating to usage of %x. * sie/class/general Fix incorrect "CPU Count - Physical" on Solaris SPARC systems due to incorrect check for core_id values in kstat data. * sie/class/hardware Fix device classification of PCI devices where by the Type and ClassType where sometimes not fully identified. Many devices where classified as "bridge" instead of "ctlr" and "ata". * sie/class/service Fix service names on Solaris 10 and later to use their full official svcs name in order to uniquely identify services which have similar names like "network/login". ============ VERSION 7.0.1-H33 (2007/11/02) ============ ######## BUG FIXES ######## * sie/class/software Change InstDate and BuildDate fields to consistantly report dates in full locale specific format. Add InstDateTime and BuildDateTime fields which report values as numeric times. ============ VERSION 7.0.1-H32 (2007/11/02) ============ ######## BUG FIXES ######## * sie/class/general Fix Solaris OBP "romver" reporting to handle 2 digit year values. * sie/class/storvol Fix LVM discovery on HPUX to handle multiple volume groups. ============ VERSION 7.0.1-H30 (2007/10/17) ============ ######## BUG FIXES ######## * sie/class/storvol Fix linuxlvm bug which resulted in only some LVs being reported for VGs with multiple LVs. * sie/core Fix core dump due to overwrite of memory in StrNewlineEscW() which occurred sometimes in class Software on AIX. ============ VERSION 7.0.1-H28 (2007/10/09) ============ ######## BUG FIXES ######## * sie/class/storsys Avoid creating meaningless core dumps on HPUX when required shared libs are not present for emcclar and emcsym drivers. We now perform checks for all mcsi drivers using ldd(1) to look for missing shared libs. ============ VERSION 7.0.1-H26 (2007/10/04) ============ ######## BUG FIXES ######## * sie/class/general Improve CPU Model on Intel CPUs a bit more by fixing X6800 definetion and adding checks to use DMI PROC Family when all else fails. * sie/class/general On Sun SPARC fix "ROM Version" date field to be MM/DD/YYYY consistantly. * sie/class/general Fix core dump on Solaris 10 with --debug due to kstat decoding bug introduced in 7.0.1-H24. * sie/class/general Add latest set of Mac system model defs. * sie/class/hardware Improve AMD CPU feature detection. * sie/class/printer Fix core dump in Printcap parser due to NULL deref. ============ VERSION 7.0.1-H23 (2007/09/18) ============ ######## BUG FIXES ######## * sie/class/general Improve CPU Model detection of Intel CPUs by using the speed string found in DMI PROCESSOR Version strings as the basis for the CPU Speed. ============ VERSION 7.0.1-H22 (2007/09/08) ============ ######## BUG FIXES ######## * configure Build Linux distributions with -lexpat always static. This is usually included in most RHL based dists, but not in SuSe. This resulted in "libexpat.so" errors during installation. * sie/class/general Fix "CPU Count Physical" on Sun multi-core CPU systems like the T1. We previously were reporting total CPUs including virtual thread CPUs. We now use kstat to properly count the cores on a system. * sie/class/hardware Add entry to ignore disk serial numbers for "LSI Volume" RAID disks. ============ VERSION 7.0.1-H21 (2007/08/29) ============ ######## BUG FIXES ######## * doc/CHANGES Fix program which auto generates CHANGES.txt to actually work once again. It had one bug which caused most hotfix fixes not to be listed. * sie/class/general Fix "System Model" for some Sun T2000 which have PROM values giving "T200" as model. * sie/class/general Fix bug in "CPU Model" to remove extra unrelated info from CPU Model on some systems with UltraSPARC-T1 CPU. * sie/class/general Correctly rename "pci*" devices on Solaris to their Solaris device names when available. One example is network interfaces. * sie/class/hardware Fix problem with incomplete device hierarchy on Sun T2000's due to missing PCI bus definetions. * sie/class/hardware Fix hardware class on HPUX 11.31 (11i v3) to not core dump due to unexpected extra fields in output from ioscan. ============ VERSION 7.0.1-H20 (2007/08/27) ============ ######## BUG FIXES ######## * setup Implement workaround for "invalid multibyte character" * sie/class/general Fix "CPU Count - Physical" on Linux to use "physical id" field in /proc/cpuinfo to uniquely identify physical CPU count. * sie/class/hardware Fix CPUID on Intel to significantly improve CPU Model identification. We now use both the CPUID Processor Brand and a table based method using data from Intel. Support for newer Intel cache types has been added as well as new detection of features such as EM64T. * sie/class/hardware Support for L0 and L3 CPU cache types has been added with initial discovery via CPUID on Intel data. * sie/class/hardware Clean PCI database by removing network related words from each entries description. ######## OTHER CHANGES ######## * Misc error when mcsysinfo*.sh is extracting. This is a bug in some shell programs when LANG is set to a UTF8 encoding. This bug has been noted on HPUX 11.23. ============ VERSION 7.0.1-H19 (2007/08/08) ============ ######## BUG FIXES ######## * sie/class/general Fix CPU Model on Intel x86/x64 CPUs to decode and use CPUID Processor Brand registers if available. ============ VERSION 7.0.1-H18 (2007/08/06) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Count - Physical" on Linux 1 physical CPU systems with HT to not display "0" as Physical count. * sie/class/printer Fix Printer functions to merge results from multiple sources. Fix PrinterLp to support CUPS style "ipp://..." and "socket://..." URLs in output from "lpstat -v". Add support for Server Port to Printer class output. Fix PrinterLpstat() to use CmdOpen() instead of popen() for improved error handling and consistancy. ============ VERSION 7.0.1-H17 (2007/08/04) ============ ######## BUG FIXES ######## * sie/class/general Fix "CPU Speed" on some HPUX IA64 systems which were previously not reported correctly. * sie/class/general Fix "CPU Model" code to give DMI data precedense over CPUID data. This results in a more accurate CPU Model being reported on newer generation Intel CPUs. * sie/class/hardware Add BCM5708 PCI definetion. * sie/class/printer Look for "name@server" in Printer Queue values and split this into Queue and Server values. * sie/class/vmhost Add VMware host check to Solaris. We previously where not detected being in a VMware host running Solaris. ============ VERSION 7.0.1-H16 (2007/07/26) ============ ######## BUG FIXES ######## * sie/class/general Do not report "Xeon" as CPU Model as this type is now too ambiguous. * sie/class/general Fix "CPU Count - Socketed" on HPUX IA64 systems to properly report count on larger CPU count systems. * sie/class/hardware Fix NULL deref in StrErr() on Windows which was most evident in mntinfo.exe crashing on Vista, but could cause a .exe crash on any Windows platform. * sie/class/software Fix Oracle DB discovery to not check exit status from discovery attempt commands like "env". This makes it more robust in the event of errors in user oracle's env. * sie/class/software Fix problems in HPUX software discovery which could lead to empty Version data being reported. ============ VERSION 7.0.1-H15 (2007/07/22) ============ ######## BUG FIXES ######## * sie/class/general Fix DMI discovery of System Serial, Mfg, and Model by looking in both SYSINFO and ENCLOSURE structures. Also add support for multiple structure retrieval. * sie/class/general Fix "CPU Model" on DMI/SMBIOS platforms to report more specific model. i.e. Now reports "Xeon X5355" instead of "Xeon". ============ VERSION 7.0.1-H14 (2007/07/21) ============ ######## BUG FIXES ######## * class/general On Windows correctly report 32-bit when running on 64-bit capable CPU but with 32-bit Windows is installed. * class/software Fix file handle leaks in SPS modules for BEA Weblogic, IBM Websphere, Oracle AS, and Sybase ASE. * doc/ReleaseNotes Add "RHEL 5" to list of supported OS. * doc/ReleaseNotes Update to reflect support for Red Hat Enterprise Linux 5. * sie/core Fix mchash table bug which caused bad key values to be stored when WIDE keys are used. This caused problems like Solaris software packages not reporting DiskUsage values. * sie/general Fix "OS Distribution" and "OS Distribution Version" to properly report Windows Vista edition names such as "Business" and "Ultimate". ============ VERSION 7.0.1-H13 (2007/07/01) ============ ######## BUG FIXES ######## * setup Fix --installpost to remove mcGlobals.pm.OLD. * setup Fix --uninstall to not fatal error if sysinfo dir is not empty when done. * setup Setup now copies itself to /tmp and re-runs itself from this location. This allows for complete removal even on OS like HPUX when give "Text file busy" when trying to rm a file that is in-use like setup itself. ============ VERSION 7.0.1-H12 (2007/06/29) ============ ######## BUG FIXES ######## * sie/class/netif On Linux use /proc/net/dev as additional list of netif's to augment those found by ifconf. On Linux ifconf does not list any netif's which are not configed with IP addr, but /proc/net/dev lists all netifs. ============ VERSION 7.0.1-H11 (2007/04/22) ============ ######## BUG FIXES ######## * sie/cli When --show and '--msglevel terse' are both set, do not output header meta data. * ui/cli Fix bug which results in all class data being displayed when '--format report --show XXX' is given. We now properly display only the requested 'XXX' item + the meta data. ============ VERSION 7.0.1-H10 (2007/04/22) ============ ######## BUG FIXES ######## * build/configure Fix configure to check env var MCSYSINFO_HAVE_VXVM so that we build VXVM driver. Driver was not being built on Linux X86 distributions. * sie/class/general Fix "CPU Count - Socketed" to accurately report on Solaris SPARC 9 and earlier on multi-core UltraSPARC systems such as the V890. Previously we reported the physical CPU count as the Socketed count on these multi-core systems. * sie/class/netif Fix bug on Windows where the "Network/X" name would sometimes be duplicated for different interfaces due to use of a static buffer. * sie/class/software Fix bug in software report output which resulted in some "software|name|..." lines have missing fields. This resulted in fields like the Vendor field appearing in different sequence from software product to product. ============ VERSION 7.0.1-H9 (2007/03/25) ============ ######## BUG FIXES ######## * class/software When searching for files (including for things like Oracle DB discovery) we now skip all directories which begin with a "." (dot). This avoids searching things like ".snapshot" on netapps and other irrelevant dirs. * sie/class/hardware Fix core dump on Solaris SPARC systems that occasionally occur when "inq-product" is found in OBP and used for device Model. Bug occurs due to free() of bad ptr. * sie/class/software Fix Oracle DB discovery to look for failed return status and abort further queries. Fixes possible hang if user oracle prompts for input. ============ VERSION 7.0.1-H7 (2007/02/13) ============ ######## BUG FIXES ######## * sie/class/general Fix "Up Time" and "Boot Time" on OS which we use getutid() (i.e. Solaris) to work. We had a typo which caused this code to always return a failure. * sie/class/general Fix 64-bit "kernbits" detection on Solaris AMD64 systems. * sie/class/hardware Fix core dump on certain types of Sun SPARC systems such as the 1280 due to write to illegal memory address. ============ VERSION 7.0.1-H4 (2007/01/12) ============ ######## BUG FIXES ######## * sie/core Fix CmdReadLine() to detect EOF and set State to CMD_EOF. * sie/core Fix possible memory buffer overwrite in mchash. * sie/core Implement xfree() front-end to free() and improved ######## OTHER CHANGES ######## * Misc x*alloc() debug support. Also add ability to build code with DUMA for debugging. ============ VERSION 7.0.1-H3 (2006/12/27) ============ ######## NEW FEATURES ######## * class/general Add support for "CPU Count - Physical" on Windows systems with Intel CPUs. ######## BUG FIXES ######## * sie/class/hardware Fix bug which prevented canonical device names defined in .sid files from being set. Bug introduced in 7.0.0. * sie/class/hardware Improve DevFind() to check AltName when looking for Name matches. * sie/core Fix rare (never reported) NULL deref in StrSplit(). ============ VERSION 7.0.1-H2 (2006/12/26) ============ ######## BUG FIXES ######## * sie/core " due to attempted write of non-writable memory. ============ VERSION 7.0.1-H1 (2006/12/09) ============ ######## BUG FIXES ######## * build Add ifdef checks for linux .h files on Fedora 6. * sie/class/filesys On Windows do not run mntinfo driver with --debug as stdout is mixed with stderr. * sie/class/general Fix core dump issue on Solaris when retrieving Serial Number on systems with "oem-banner" in OBP. * sie/class/general Check boottime value to see if it's in the future and if so to not return data for it and related data like uptime. * sie/class/hardware On Windows systems we now skip getting free disk space data on disk devices which have removable media. If we don't do this then Windows will popup a dialog box for the user if no media is loaded. When this happens SysInfo is forced to wait until the dialog is closed. * sie/class/hardware Add check for $MCSYSINFO_DDC_VBE in Linux BuildDDC() to allow user to disable DDC VBE probe. * sie/class/hardware Fix Linux setting of ATA disk drive Capacity values to use /proc data over disk geometry. This is what we previously did in 6.0 and earlier. We also now set DevInfo->CapacityNum in the ATA probe. * sie/class/hardware When run on Solaris check our Zone to see if it's "global" and if not warn about hardware data. * sie/core Fix MchDestroy() to properly destroy everything. * sie/core Add McStatus() call to get string meanings of Status_t values. ============ VERSION 7.0.0-H8 (2006/09/18) ============ ######## BUG FIXES ######## * sie/class/software Fix RPM software discovery to not terminate Desc (Summary) at first newline or period. * sie/class/software Fix Software rpm discovery to not truncate Desc (Summary) at first period, but instead to look for period + SPACE or period + NL. * sie/class/software When using $MCSYSINFO_SOFTWARE_BASEDIR_SUFFIX make sure we don't add it when it's not needed. * sie/class/software Fix Software Websphere discovery to be more consistant in naming and use EntryType of product. ============ VERSION 7.0.0-H6 (2006/09/13) ============ ######## NEW FEATURES ######## * sie/class/general Fix General class data on Man Long, Man Short, System Serial, System Model, and CPU Count - Socketed to use new SMBIOS data on x86 systems. This is available on Solaris 10 U2 06/06 and later X86. ######## BUG FIXES ######## * build/configure Need to set LdSysLibsLast=yes on Linux to get things to build with libexpat. * build/configure Fix bug in expat test that resulting in configure thinking expat was present when it was not. * build/configure Fix configure to properly detect when expat is not present. * sie/class/general Fix CPU Model Intel Family 15 Type 6 to be "Xeon" instead of P3. * sie/class/hardware Fix uninitialized DevFile variable in Linux hardware code. * sie/class/software Check for environ var MCSYSINFO_SOFTWARE_BASEDIR_SUFFIX and if found append to all BaseDir software entry values. * sie/class/software Fix AIX software discovery to calculate BaseDir to be directory with most disk usage if the MCSYSINFO_SOFTWARE_BASEDIR_BY_SIZE environment var is set to "yes". The default remains to calculate based on the highest level common dir. * sie/class/software Fix AIX software discovery to use lslpp(1) command to extract pkg file lists instead of directly extracting from ODM. The direct extract is not portable to newer AIX versions resulting in missing or incomplete file lists. * sie/class/software Fix Sybase ASE to correctly set Version and other data for ASE version 12 in addition to ASE version 15. * sie/class/software Fix AIX ODM software discovery to use lslpp(1) command to list file sets for packages for which we could not find file set data directly via ODM. * sie/class/software Fix Sybase SPS module to ensure that the Desc field is set. * sie/class/software Change "IBM" to "IBM Corporation" for SPS modules. * sie/class/software Fix SPS Oracle AS discovery to look for * sie/class/software Fix SPS Weblogic to properly associate weblogic-server and weblogic-platform. * sie/class/software Remove extra args appearing in Apache HTTPD Version such as "(Unix)". * sie/class/software Fix SPS module for Sybase ASE to not coredump while parsing VPD file when --widechar is used on Solaris. * sie/class/software Fix Sybase ASE SPS module to report ASE with a name of "sybase-ase" consistantly. * sie/class/software Fix missing software size data on AIX due to improper ODM environment initialization. * sie/class/software Fix Sybase ASE SPS module to report ASE with a name of "sybase-ase" consistantly. * sie/class/software Fix missing software size data on AIX due to improper ODM environment initialization. * sie/class/software Make SPS VendorName values consistant. * sie/core Fix core messaging Msg* functions to use proper wide printf functions on a file handle stream if wide mode is enabled for that stream. This fixes the problem where wide debug output on platforms like Linux were not displayed. ######## OTHER CHANGES ######## * Misc "/oracle/.*/java" process. ============ VERSION 7.0.0-H4 (2006/09/01) ============ ######## BUG FIXES ######## * sie/class/hardware Fix PCI device names on Linux 2.4 systems to once again be "pciX/X/X" instead of "pci/X/X". ============ VERSION 7.0.0-H3 (2006/08/30) ============ ######## NEW FEATURES ######## * sie/ui Add new options --sps, --spsignore, --spsemodules, and --spslist. ######## BUG FIXES ######## * sie/class/hardware Fix Linux hardware discovery to set Driver field for SCSI devices. * sie/class/hardware Fix Linux hardware discovery to properly discover ATA diskdrive devices on Linux 2.6.17 and newer kernels which use a modified /sysfs layout vs. the original 2.6.0 layout which previously worked. ============ VERSION 7.0.0-H2 (2006/08/28) ============ ######## NEW FEATURES ######## * doc/ReleaseNotes Update Release notes to document Discovery Process for Software SPS. ######## BUG FIXES ######## * sie/class/general Fix core dump on Solaris SPARC when retrieving serial number on systems without "SN" set in the OBP. * sie/core Re-arrange ShowPlatformDebug() such that debug output is displayed together. ============ VERSION 7.0.0-H1 (2006/08/24) ============ ######## BUG FIXES ######## * build Fix source tarball build to use same version command as used for prebuilt binary. This should result in more exact matching of names. * build/configure Fix --with-perl option to configure to once again work. Fix related perl build issues. * build/configure If expat package is missing then we now treat this as a fatal configure error. * sie/build Add missing Solaris files to source tarball. * sie/class/general Fix core dump on Solaris SPARC due to NULL deref in OBPgetSerial(). * sie/class/hardware Fix NULL deref core dump in DMI BOARD code resulting in reference to DevInfo variable which was not yet created. * sie/class/hardware Fix renaming of PCI "serial" controllers to be "USB..." devices on systems with DMI/SMBIOS. This resulted in occasional renaming and reclassifying serial FC disk controllers as USB devices resulting in the loss of disk devices. * sie/class/software Fix SPS Apache HTTPD discovery to set BaseDir based on dir name of httpd not two levels up. i.e. It's now "/usr/sbin" vs. "/usr" previously. * sie/class/software Fix rare core dump due to divide by zero bug in SoftFileBuildSet(). * sie/class/software Fix Solaris Software scanning to build the DiskUsage data from "contents" file prior to extracting PKG data so it can be set by the PkgExtract() function. * sie/class/software Automatically calculate DiskUsage in post processing stage if not set and BaseDir is available. Previously this was done only in specific cases. * sie/class/software Fix SPS Sybase ASE discovery to support the "vpd.properties" inventory found in ASE 15.0. * sie/class/software Fix SPS Oracle AS discovery to create a top level Product parent node which owns all the AS packages. * sie/class/software Fix SPS Oracle DB discovery to hardcode a VendorName value for Oracle. * sie/class/software Fix SPS discovery of IBM WebSphere AppServer to properly set BaseDir and DiskUsage. * sie/class/software Disable Tibco Rendezvous SPS discovery since it was causing rvd daemon to be run (if not already running). It is also deprecated because newer RV versions use the native OS software registry. * sie/class/software Fix HPUX VendorName handling to cache full name values so they are available for sub-packages. * sie/class/software Fix AIX Software discovery BaseDir to properly alloc memory instead of re-using previos buffer resulting in many bogus BaseDir values. This was a bug introduced by the previous AIX BaseDir fix. * sie/core Fix core dump in SIE during PrivsShow() due to NULL deref when a group cannot be looked up. ######## OTHER CHANGES ######## * Misc remove ".DSP*" and ".." which are commonly used by WebSphere packages. ============ VERSION 7-GA (2006/08/07) ============ ######## NEW FEATURES ######## * build Build Solaris SPARC using GCC instead of Sun Studio CC. * class/network Add new "IP Forwarding Enabled" value as part of Network class data. * doc/ReleaseNotes Update release notes to include root and running process requirements for software detection. * doc/ReleaseNotes Document "Out of Memory!" error on HP-UX. * doc/UserGuide Document General Data Class. * fix/build Fix compile issues for Fedora 5 / GCC 4.1 including use of packed attribute and LRMI assembly. * install Enhance .sh installers to check OS name and App Arch to make sure it's a match. * license Update LICENSE files. * sie/class/general Prefix "Serial Number" and all "Manufacturer" titles with "System". * sie/class/general Add support for providing the Sun recognized System Serial number on Sun X64 hardware running Solaris 10. We now obtain this data via IPMI from the BMC (required). * sie/class/general Output numeric values for General class items uptime, boottime, and currenttime in new field of REPORT output. * sie/class/general Overhaul CPU counting. Changed description "Number of CPUs (Physical)" to be " "CPU Count - Socketed", "Number of CPUs (Virtual)" to be "CPU Count - Virtual", "Number of CPUs (Online)" to be "CPU Count - Online", and "Number of CPUs (Offline)" to be "CPU Count - Offline". The report keys for all of these remain the same. Also added new "CPU Count - Physical" to provide count of each physical CPU including multi-core CPUs. * sie/class/hardware Add disk device Capacity support on Mac. Also improve disk drive and framebuffer device assimilation on Mac. * sie/class/hardware Add new DevInfo->CapacityNum value. Add new DT_PORT device type definetion. * sie/class/hardware Enhanced data on Sun X64 hardware is now provided for the top most system Hardware node. Enhanced data include the product part number and type. * sie/class/hardware On AIX we now check for Hitachi Dynamic Link Manager and use that to determine if a disk is multipathed or not. * sie/class/hardware Add new "Location" data as part of each "device" entry (where available). * sie/class/hardware Improve hardware details on Sun SPARC systems by augmenting data from prtfru(1m) which includes detailed part and serial number info for system boards, CPUs, etc. * sie/class/hardware Add new SATA class type. * sie/class/hardware Linux systems now correctly identify SATA devices instead of type SCSI. * sie/class/hardware Add check to see if disk device looks like a Seagate disk model and if Vendor is not set, set to Seagate. * sie/class/hardware Redesign Linux hardware discovery to use /sys (sysfs) on Linux 2.6 and later. This provides much improved consistancy in what devices are reported and also the device hierarchy. - When debug is enabled run lspci and lsusb on Linux. - Add new PathCanonical() and McDbg() functions. - Misc cleanup of device functions. * sie/class/hardware Add new database of USB vendors/devices IDs which are currently used for Linux hardware discovery. - Revamp PCI ID database generation to support USB db's as well. * sie/class/hardware Add Features flags to each DevInfo_t with initial support for removable, hotswap, and replacable. Values are reported consistantly as device properties. * sie/class/netif DHCP Client configuration for each interface in the NetIf class is not reported for Windows and Linux. * sie/class/network Add "WINS Proxy Enabled" to Network class. * sie/class/patch Create new "Patch" data class for software patches. Solaris is the first OS this is supported on. * sie/class/service Add new "Service" class for detailing System Services. - Fix StrSplit(). - Update TODO. * sie/class/software Add "Install Date" for Software packages on Windows. * sie/class/software Give "HelpLink" preference over "URLinfoAbout" on Windows for value of URL. - Add Windows Patch class support. * sie/class/storvol Added support for Linux LVM via linuxlvm driver. This was the hpuxlvm driver, but the 2 apparantly share very similiar roots. The hpuxlvm driver has thus been renamed the linuxlvm driver which is used on both Linux and HP-UX now. * sie/class/vmguest Add new VmGuest class for detailing VM Guest OSs installed on a system. * sie/class/vmhost Introduce new class "VmHost" for detailing Virtual Machine Host information. * sie/cli Add new --prefix option. * sie/core Updates for MacOS X 10.4 and Intel Mac. * sie/core Add platform debug info. * sie/core Include new "ClassTypeDesc" in report output. This provides the Device Class Type Description. * sie/core Move/migrate all SysInfo Database files * sie/core Move all config/mibs files into lib/mibs. * sie/core Revamp PSI calls to return new Status_t status and results via Query->Out exclusively. * sie/core More declaration cleanup and conversion to ANSI declarations. * sie/general Add support for CPU Model reporting on MacOS. * sie/hardware Improve MacOS hardware tree results by filtering out more driver/pseudo devices. * utilities Add new mcsysinfodeploy script for assisting with deployment of SysInfo to multiple UNIX based systems. ######## BUG FIXES ######## * api Fix Hardware class API code to detect and fix when a device has a Master name equal to it's own name. * build Include LIBS in linker options when linking libmcsysinfo and libmcsnmp in order to satisfy MacOS linker. * build Don't use our own DRIVER_INFO_6 type declare anymore as mingw now includes one. * build Don't cache configure vars relating to product version since we often update hotfix data in these vars. * build Fix nsis/GNUmakefile.in to use BuildDir instead of objdir for SaveVarFile. * build/installer Fix Windows installer to create the "SysInfo with Debugging" menu shortcut to place logfile on users Desktop. * class/filesys If an NFS mount is hung, SysInfo now times out instead of hanging. This is implemented via new "mntinfo" driver which performs all statvfs/statfs calls which are the calls which block when an NFS mount is hung. * class/storsys Fix rare core dump in nafiler due to NULL deref. - Add configure testing for ioctl() support. - Integration of 6.0 changes. * doc/ReleaseNotes Update release notes to doc Sun X64 serial number support. * gui Fix GUI's Report tool to work once again. It was previously trying to run ".mcsiwrapper" instead of "sysinfo". * install Fix installer to work on Fedora 5 and later. Newer OS which use the latest GNU coreutils don't accept "tail +N" by default. * install Fix UNIX installer to not fail with a Chown() error if not run as root with --override. * license If a FULL product license exists, do not auto-create any feature licenses such as for StorSys Pro. This reduces user confusion. * mcsysinfod Fix SysInfo Agent such that it fully divorces itself from the process (shell, init, setup, etc) which invoked it. This fixes a problem where SSH would hang if it was used to invoke the setup installer or if it ran /etc/init.d/mcsysinfo. * setup Fix setup meter progress bar to not reprint entire line to improve performance and reduce overhead. We also no longer use the meter bar if --debug is given. * setup Fix minor bug with extra "-" chars being displayed when showing the SUMMARY field. * sie/class/filesys Fix FileSys, PartInfo, and Hardware class to not hang if an NFS mount is hung. We have moved the statvfs()/statfs() calls which block on hung NFS mounts into a new driver program called mntinfo. SIE now calls mntinfo and parses it's output for all file system related data. If mntinfo hangs SIE will time-out and kill mntinfo then continue. This fix also contains fixes for Cmd_t time-outs to work when the child process blocks. * sie/class/general Fix CPU Type and Kernel/App Arch discovery on MacOS to use uname(1) command instead of utsname(2) function for portability between PowerMac and Intel Mac. * sie/class/general Fix system Memory discovery on MacOS to use hw.memsize for more accurate values, particuliarly on Intel Macs. * sie/class/general Fix system Serial discovery on MacOS to use IOPlatformSerialNumber instead of serial-number. The later is not present on Intel Macs. * sie/class/general Fix Primary User utmp code to build on MacOS 10.4.x. * sie/class/general Correctly report "1" as the value for "CPU Count Physical" on multi-core SPARC systems T1000 and T2000. We previously reported the core count as the Physical count. * sie/class/general Fix OS Dist Version discovery on Solaris to first use uname(2) and parse the "release" value. This works even when Solaris is run on a non-FCS release which may use a code-name for the Solaris version instead of a number. * sie/class/general Fix "OS Dist" discovery on Linux systems which do not have lsb_release to look for "LINUX" as well as "Linux" in /etc/issue. * sie/class/general Avoid possible hang on AIX when obtaining "OS Version" using the oslevel command by using Cmd_t interface without a 60 second timeout. * sie/class/general Fix core dump bug when obtaining OS Dist info from /etc/issue. If /etc/issue is not in the expected format, we were core dumping. * sie/class/general Add timeout handler for GNU libc discovery to prevent hangs on systems which may have other more serious problems. * sie/class/general Fix reporting of "Number of CPUs (Physical)" on AIX systems with LPAR (hardware partitioning) to use LPAR provided value. This means we now report the true physical CPU count. * sie/class/hardware Fix the BitSize reported for Intel CPUs to be based on the Kernel Bit Size rather than hardcoding "32" for most CPUs which is incorrect in lite of EM64T. * sie/class/hardware Fix MacOS hardware discovery code to build disklabel code only if available. This data is not available on MacOS 10.4 and later. * sie/class/hardware Edit DevInfo Model strings to remove quote at end of strings on Solaris systems when we use the DDB database. * sie/class/hardware Fix core dump on Solaris when --deub used and we probe SCSI disks. Debug output was triggering an alignment exception. * sie/class/hardware Add timers wrapped around ioctl() on Solaris systems to reduce chance of a hang during hardware discovery. * sie/class/hardware Fix bug in Sun hardware OBP code which results in random core dumps on newer platforms like the T1000. Problem was due to use of wrong probe function being set for OBPprobeCPU. * sie/class/hardware Fix bug in Sun hardware OBP code which results in random core dumps on newer platforms like the T1000. Problem was due to use of wrong probe function being set for OBPprobeCPU. * sie/class/hardware Fix bug in Solaris SPARC hardware code which resulted in SIE core dump due to a NULL deref of CpuInfo->ArchVer. * sie/class/hardware Detect and fix when a hardware entry lists itself as it's own master. This can cause the GUI to die in a loop if left untreated. * sie/class/hardware Fix crash bug due to NULL deref in DMI enclosure decoding code. * sie/class/hardware Fix hardware class bug on AIX resulting in incomplete device reporting. * sie/class/hardware Fix Monitor EDID decoding of VESA v2 Serial number to correctly treat Serial as an ASCII string instead of a numeric value. * sie/class/hardware If a device Model contains "CD-RW/DVD-ROM X1234" remove the full "CD-RW/DVD-ROM" instead of leaving "/DVD-ROM" in string. We also give preference to classify such devices as DVD instead of CD now. * sie/class/hardware Fix DMI handling of memory speed, mfg, serial, and part number such that these values are only used if the DMI header length is large enough to indicate these fields are present. * sie/class/hardware Fix incorrect speed of network interfaces on Windows by ignoring bogus values obtained via NDIS. * sie/class/hardware Fix memory devices found via SMBIOS to show "empty" in Status field instead of ModelDesc to be consistant. * sie/class/hardware Fix DMI device discovery to report newer memory, CPU, BIOS, and board types to support SMBIOS v2.4 spec. * sie/class/license Fix flexlm probe code to initialize MCSIquery_t structure prior to each use. * sie/class/network Report "Windows Workgroup Name" and "Windows AD Server Names". We were discoverying these values, but not reporting them. * sie/class/network Fix API to parse and report on Windows Domain Name and Windows PDC. Data was discovered, but not being reported. * sie/class/software On HPUX we now use the "title" field for VendorName if the "vendor" tag is set. This results in more consistant and full company names being reported. * sie/class/software Use new "SwMan" definetion from .cf files to set canonical VendorName for software. * sie/class/software Fix Software discovery on AIX to not count multiple versions of the same package when determining a package's DiskUsage. * sie/class/software Improve Oracle DB SPS discovery by doing find for sqlplus in $ORACLE_{BASE,HOME}. * sie/class/software Add MCSYSINFO_SWLIST_{PRODUCT,SUBPRODUCT} env options for HPUX software scanning. * sie/class/software Fix the Apache HTTPD SPS discovery code to provide BaseDir and DiskUsage values. * sie/class/software On HPUX during Software discovery the user can disable the "fileset" level of (full) data from swlist by setting the env var MCSYSINFO_SWLIST_FILESET=no. * sie/class/software Do not report on software packages that have zero length Name values. * sie/class/software Add /usr/apache to directories to search for apache httpd. * sie/class/software Fix bug with missing software packages on Solaris due to hash key calculation bug. * sie/class/software Fix bug in MemToWide() function which resulted in missing software packages being reported when --widechar was enabled and RPM was used as data source. * sie/class/software Fix Software data on HPUX to properly report software versions in the Version field and not the revision field. * sie/class/Software Fix bug in AIX Software discovery where by the BaseDir of each package was never reported due to lack of data from ODM. We now calculate BaseDir based on the most common directory of all files in a package. * sie/class/software Fix rpm software scanner to look for DIRNAMES tag if ROOT tag is not present, in order to determine the package's BaseDir value. * sie/class/software Fix core dump on Solaris when Software is being discovered. Bug was due to insufficient buffer for child (Slave) names in reportsoftinfo.c and insufficient buffer size detection. * sie/class/software Fix Software discovery on HPUX to properly allocate memory for Revision, BaseDir, and VendorName instead of using same memory. This caused problems if SoftwareDestroy() was called. * sie/class/software Fix NULL deref bug causing incomplete Software class data due to not checking for zero length SoftInfo->Name. * sie/class/software Fix bug in Software discovery on HPUX which caused infinite loop. Also fixed bug in same code for parsing quoted text. * sie/class/software Fix Windows bug causing fatal Exception when encountering certain strings from software products found via Registry. Problem was a NULL deref. * sie/class/software Fix Windows bug causing software versions such as "0.1.2" to be reported as ".1.2". * sie/class/software On Windows we now remove "(remove..." and similiar strings from software product names. * sie/class/storsys Fix problem with NetApps not being discoveried at all due to bug introduced in 6.0.2. * sie/class/storvol Add vol group name to VmVendor and VmProduct report lines for StorVolume. * sie/cli Fix possible core dump bug when "--list show" is used. * sie/core Fix several cases where we reset ptrs to alloced memory, yet did not re-alloc the memory resulting in double free's. * sie/core Update Device tree cleansing with new * sie/core When output report data we now search for occurances of the report seperator sequence (--repsep) in each data field. Any exact occurance of this sequence is edited to be all SPACE characters. * sie/core Update checks for "MacOS X" to include checks to support "MacOS X Server". * sie/core Fix NULL deref crash when debug is on and a CmdOpen() uses an env var to read data. * sie/wrapper Fix SetPrivs() to allow non-root setuid() to be permitted. * ui Fix UI handling of strings with '%' to avoid perl printf problems. * ui Remove '%' chars from debug and CLI output messages to avoid perl barfing on it when used in printf(). * ui Remove ",*" from vendor names when building a device summary. * ui Do not refer to ".." for "use lib" calls in sysinfoui as this can lead to a significant performance hit if we are run in $HOME and /home is automounted. * ui Fix Hardware summary line to include device Status. * ui/gui Fix Windows SysInfo icon to remove extraneous white noise around edges. * wrapper Fix wrapper to handle being invoked as a symlink as was possible with pre-6.0 versions. ######## OTHER CHANGES ######## * Misc DeviceRemove() and Pseudo*() functions. * Misc from config/*.cf to lib/sid/*.sid. Revamp * Misc internal CF*() API to new Sid*() API. ============ VERSION 6.0-GA (2006/01/25) ============ ######## 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 Move checks from drivers/* makefiles into top level * 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/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. * 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. * 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 Document MacOS 10.1 and 10.2 no longer being supported. * doc/ReleaseNotes Update Supported Systems list to add MacOS 10.4 as officially supported. * mcsysinfod Look for "DebugFlag=1" in mcsysinfod.cfg at runtime. - More cleanup of message logging. - Make mcsysinfod work under Windows SCM. * 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). * platform/windows Add OS name and version support for Windows. * sie/class/general Add new "Up Time" value in class General. * 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/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/software Add Software Product Specific discovery for BEA WebLogic. * sie/class/software Add special software discovery of Apache HTTP Web Server. * sie/class/software Convert Software class in SIE to handle wide chars for I18N compliance. * 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/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/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/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. * 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. * 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 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 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 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/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. * mcsiwrapper Fix wrapper so it can launch mcsysinfod when used with the noui distribution. * mcSysInfoAPI Remove \r (^M) from SIE inputs. * 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. * 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 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 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 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/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/hardware Fix problem with some "port" devices discovered by DMI not having a description and/or type. Also add DMI definetion for AGP8X and PCI-Express slot types. * 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 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/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/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/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 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/software Remove SoftFileList_t and replace with NextByPkg and NextAll members of SoftFileData_t. * 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/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/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 sie to accept and do nothing with --installpost. * 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 bug in parsing of config/*.cf files which could sometimes result in spurious "Error parsing file" errors. * 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/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/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/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 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/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/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/platform/windows Fix various compile warnings on Windows. * 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 Fix bug causing Software entries to not be displayed under their parent products when using Tree format in the CLI and GUI. * ui/cli Add "--font" to "--help" output. * 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/core Fix problem with fatal error during startup if there is a copy of sysinfo installed as /opt/sysinfo and another installed elsewhere. The later copy will fail with perl errors because we were looking at the /opt/sysinfo copy when we shouldn't. * 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. * 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). ######## 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. ######## NEW FEATURES ######## * api Update API layer to handle --logfile. * api/java Add initial support for Java API to access SysInfo on remote system via SSP (mcsysinfod) agent. * api/mcSysInfo Update mcPrinter object to use new 'name2' and 'prop' self-describing data formats. * build Build Solaris SPARC using GCC instead of Sun Studio CC. * build Move checks from drivers/* makefiles into top level * 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 Use new "libshared" script for building our shared libraries. This is necessary because this process is getting more complex as we add new platforms like Windows. * build Modify buildinfo to call sysinfowrap.in to obtain bulk of platform variables instead of having duplicate code. * build Source distributions are now compressed with bzip2 instead of gzip. * build Use "include @VarsMF@" instead of reading in @VarsMF@ in GNUmakefile's to avoid having to rebuild GNUmakefile's whenever Vars.mf changes. * 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/doc Updates to automate the build of the CHANGES.txt file. Older entries are now archived in the CHANGES-Archive.txt file. * 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/bios Add support for reporting BIOS Version on AIX systems by parsing output from lsmcode(1m). * class/general Add "OS Install Date" (in SoftInfo) for HPUX, Linux, MacOS, Solaris. - Fix configure/compile issues for ether_addr and kvmlib.c. * class/general Add support for "CPU Count - Physical" on Windows systems with Intel CPUs. - Fix buildprep to do special Windows prep. * class/general Add support for "CPU Count - Physical" on Windows systems with Intel CPUs. * class/general Add new field "OS Update Level" to provide OS Update/Maintenance/Service Pack level. * class/hardware Update SMBIOS support to 2.6.0. * class/hardware Add new CpuInfo attributes CoreCount, CoreEnabledCount, and ThreadCount. Currently only supported via SMBIOS 2.5+. * class/hardware Update Apple Mac models. * class/netif Add IPv6 support for Windows. * class/netif Add new attributes ID, Description, and AltDescription. - Updates to configure and code to work with Cygwin 1.7. Includes removal of MinGW. * class/netif Change the NetIf class to move all address related info like IP Addr from NetIf itself into NetIfAddr and link this list back to NetIf->Addresses. Report and XML output is still backwards compat. * class/network Add new "IP Forwarding Enabled" value as part of Network class data. * class/printer Add V2 report output data for class Printer. * class/siteinfo A sample "siteinfo" file is now installed by default into $prefix/config/siteinfo during installation. * class/software Add support for setting CategoryType based on Category and BaseDir on HPUX, Linux, Mac, Solaris. * 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. * class/software Remove SPS modules for Apache and Weblogic as they are deprecated by SDL scripts. * class/storsys The StorSys Pro license is no longer required. The functionality is provided with the base license. - Update docs for v10 release. * class/storvol Add driver for HPUX LVM. * class/vmguest Add support for reporting Xen based VM guests including Red Hat VM guests. * class/vmhost Add support for detecting if we are running inside Xen based VM such as Red Hat VM. - Fix several compile issues in accountpw.c under RHEL 5. - Update StrParseKeyValue() to have Flags and use to determine how to handle SepStr for 1 char seperators. * config Change .cfg variable ExecPath and SysInfoPath to be comma seperated instead of colon seperated to allow for Windows/DOS pathnames. * doc Add PDF versions of all document guides and manuals to the distribution. * doc Update Release Notes to clarify Linux + SuSe support. Also add details on Storage System Pro feature license. * doc/JavaRef Create new SysInfo Java Reference Manual document and add to SDK distribution. - Tweak SysInfo class to handle default SysInfo dir. - Add new java-examples tree. * doc/ProgGuide Create new Programmer's Guide document to describe how to use new Java API. * doc/RefMan Document in more detail the device format. * doc/RefMan Document new Process class. * 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/RefMan Document in more detail the device format. * doc/ReleaseNotes Update to add Ubuntu to supported Linux. Also clarify distributions on each Linux platform that are supported. * doc/ReleaseNotes Add doc info about support for Solaris 11 being added and Solaris 7 -> 8 on x86 32-bit. * doc/ReleaseNotes AIX 5.1 support dropped. * doc/ReleaseNotes Document support for RHEL 6. * doc/ReleaseNotes Add section on Standards compliance. * doc/ReleaseNotes Document support for MacOS 10.6 with 9-H14 and later. * doc/ReleaseNotes Document support for Linux on PPC. * doc/ReleaseNotes Add support for SLES 11.0. - Fix build errors for emcclar. * doc/ReleaseNotes Re-write Supported System Matrix to make it easier to determine what Classes and features are supported on each platform. * doc/ReleaseNotes Update Release notes to document Discovery Process for Software SPS. * doc/ReleaseNotes Update release notes to include root and running process requirements for software detection. * doc/ReleaseNotes Document "Out of Memory!" error on HP-UX. * doc/ReleaseNotes Document MacOS 10.1 and 10.2 no longer being supported. * doc/ReleaseNotes Update Supported Systems list to add MacOS 10.4 as officially supported. * 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. * doc/UserGuide Add doc on all supported data Classes. * doc/UserGuide Document General Data Class. * doc/UserGuide Add chapter on SiteInfo data. * doc/UserGuide Add SDL to User Guide. * fix/build Fix compile issues for Fedora 5 / GCC 4.1 including use of packed attribute and LRMI assembly. * install Enhance .sh installers to check OS name and App Arch to make sure it's a match. * license Update LICENSE files. * license Update End User License Agreement. * mcsysinfod Add ability for client to request encode type. * mcsysinfod Add ability for client to request no agent caching. * mcsysinfod Improve agent caching to handle --encode report and any --repsep value. * mcsysinfod Add support for inetd mode to support use of launchctl on MacOS 10.6 and later. - Integrate 9-H14 into main (10.0.0). * mcsysinfod Look for "DebugFlag=1" in mcsysinfod.cfg at runtime. - More cleanup of message logging. - Make mcsysinfod work under Windows SCM. * 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). * platform/aix Decode "YL" ODM value as "Physical Location". * platform/windows Add OS name and version support for Windows. * setup Generate ISO 19770-2 Software Tags (swtags) during installation of SysInfo. The swtag file is placed in root of installation directory and in the system (platform) standard location defined by 19770-2. * sie/class/account Add support for new "Account" class to report system user accounts. * sie/class/bios Implement new BIOS data class with DMI and OBP platform support. * sie/class/device Add new "DevIgnore" cfg variable to allow customers to ignore device's by name. * sie/class/device Add new config var "IgnoreDisks" which allows customer to list disks to not probe. Works on Linux only right now. - Integrate 9-H36 to 10-H4. * sie/class/device Major revamp of Solaris hardware discovery. On Solaris 8 and later SysInfo now uses libdevinfo(3) as primary discovery. Older Solaris systems retain the older method of using KDT with OBP and libdevinfo supplementing the KDT data. * sie/class/device Report more DevFiles for devices on Solaris 8 and later using additional data gleamed from libdevinfo(3). * sie/class/device Add new "NodePath" and "CompatNames" properties to Device class. * sie/class/device Add new "GenericName" key flag to SID files for "device" lines. This flag tells SysInfo not to use the device entry as the canonical device name. * sie/class/device Add new config var "IgnoreDisks" which allows customer to list disks to not probe. Works on Linux only right now. * sie/class/device Add check for config var "ScsiQuery=no". If set then no SCSI queries are done. - Update CPUID and PCI dbs. * sie/class/DevInfo Change internal definition of DevInfo to remove DevSpec (Opaque_t) and replace with explicit types DiskDriveData, NetIf, FrameBuffer, Monitor, CpuInfo. This is required to cleanly autogenerate code in other languages like Java. Externally this is transparent to endusers. * sie/class/general Add new "OS License Key" to report the license key used to install or authorize the OS itself. Windows is the only platform supported at this time. * sie/class/general Add new "Description" attribute to contain a description of the system. - Fix SoftFileData_t to SoftFile_t references. * sie/class/general Add new "Location" attribute to General class. - Add generation of SysInfo.java in classdefs. * sie/class/general Add new field "OS Manufacturer" which specifies the company/org who created the OS. Add new field "OS Distribution Manufacturer" which specifies the company/org who created the OS Distribution. * sie/class/general Look for override values for "System Serial Number" and "Chassis Serial Number" in SiteInfo entries of "systemserial" and "chassisserial". * sie/class/general For "Primary User Login" and "Primary User Name" we now look for siteinfo keys "primaryuserlogin" and "primaryusername" and (if found) use as overrides. * sie/class/general Implement new "Chassis Serial Number" attribute for class General. This value is usually only reported on Blade systems. On Blade systems Chassis Serial is the serial of the enclosure and System Serial is the serial of the Blade card. On non Blade systems Chassis Serial is not reported. Currently Chassis Serial is only available on systems which support IPMI access to Baseboard Management Cards (BMC's). * sie/class/general Fix General class data on Man Long, Man Short, System Serial, System Model, and CPU Count - Socketed to use new SMBIOS data on x86 systems. This is available on Solaris 10 U2 06/06 and later X86. * sie/class/general Prefix "Serial Number" and all "Manufacturer" titles with "System". * sie/class/general Add support for providing the Sun recognized System Serial number on Sun X64 hardware running Solaris 10. We now obtain this data via IPMI from the BMC (required). * sie/class/general Output numeric values for General class items uptime, boottime, and currenttime in new field of REPORT output. * sie/class/general Overhaul CPU counting. Changed description "Number of CPUs (Physical)" to be " "CPU Count - Socketed", "Number of CPUs (Virtual)" to be "CPU Count - Virtual", "Number of CPUs (Online)" to be "CPU Count - Online", and "Number of CPUs (Offline)" to be "CPU Count - Offline". The report keys for all of these remain the same. Also added new "CPU Count - Physical" to provide count of each physical CPU including multi-core CPUs. * sie/class/general Add new "Up Time" value in class General. * sie/class/general Add debug info to GetMan{Short,Long}Sysinfo functions to report results or failures. * sie/class/general Add OS Dist* support for Windows 8 and Windows Server 2012. * sie/class/general Add new "OS Install Time" (osinstalltime) to the general class. Supported on all platforms. * sie/class/hardware Add Profile data on SCSI "Overall". * sie/class/hardware Expand the CpuInfo attributes to include CodeName, Family, SPEC, LaunchDate, Lithography, Media, OrderCode, Socket, SysBus, AppArch, HasGraphics, Stepping, MaxMemory, MemoryTypes, MemoryChannels, MaxMemoryBw, PciExpressRev, PciExpressCfgs, PciExpressPorts, Power. * sie/class/hardware Improve Intel CPUID key generation to use 5 and 6 byte keys instead of only 4 bytes. * sie/class/hardware Add SysInfo specific ProcidKey to find Intel CpuInfo data when CPUID lookup fails. * sie/class/hardware Report Intel Stepping value as 2 bytes instead of 1. If the 2nd byte is 0 it is now reported. * sie/class/hardware Add new "Family" attribute for CpuInfo data. Currently supported on X86/X64 systems with SMBIOS. * sie/class/hardware Add new "Family" attribute for CpuInfo data. Currently supported on X86/X64 systems with SMBIOS. * sie/class/hardware Move the probe for monitor EDID data on Linux X86 from within the main SIE to be a seperate SysInfo driver process. This isolates SIE from any unexpected faults and bugs in the VBE code in the Linux kernel. * sie/class/hardware Enhance Monitor_t data with MinVerRefresh, MaxVerRefresh, MinHorRefresh, MaxHorRefresh, and MaxPixelClock values. These were previously reported as "DESC" data. * sie/class/hardware Look at CPUID Intel and AMD data to set CpuInfo CoreCount and ThreadCount. * sie/class/hardware Add disk device Capacity support on Mac. Also improve disk drive and framebuffer device assimilation on Mac. * sie/class/hardware Add new DevInfo->CapacityNum value. Add new DT_PORT device type definetion. * sie/class/hardware Enhanced data on Sun X64 hardware is now provided for the top most system Hardware node. Enhanced data include the product part number and type. * sie/class/hardware On AIX we now check for Hitachi Dynamic Link Manager and use that to determine if a disk is multipathed or not. * sie/class/hardware Add new "Location" data as part of each "device" entry (where available). * sie/class/hardware Improve hardware details on Sun SPARC systems by augmenting data from prtfru(1m) which includes detailed part and serial number info for system boards, CPUs, etc. * sie/class/hardware Add new SATA class type. * sie/class/hardware Linux systems now correctly identify SATA devices instead of type SCSI. * sie/class/hardware Add check to see if disk device looks like a Seagate disk model and if Vendor is not set, set to Seagate. * sie/class/hardware Redesign Linux hardware discovery to use /sys (sysfs) on Linux 2.6 and later. This provides much improved consistancy in what devices are reported and also the device hierarchy. - When debug is enabled run lspci and lsusb on Linux. - Add new PathCanonical() and McDbg() functions. - Misc cleanup of device functions. * sie/class/hardware Add new database of USB vendors/devices IDs which are currently used for Linux hardware discovery. - Revamp PCI ID database generation to support USB db's as well. * sie/class/hardware Add Features flags to each DevInfo_t with initial support for removable, hotswap, and replacable. Values are reported consistantly as device properties. * 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/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 Set SCSI Bus, SCSI Unit, SCSI LUN values into Device class Unit, DevNum, Port fields on Linux and HPUX. * sie/class/hardware Add the "dmi/0" tree of devices in class "Hardware" on Solaris x86 systems. * sie/class/hardware Add ability to disable Solaris queries CDROMGDRVSPEED, HDKIOCGETYPE, DKIOCGGEOM, DKIOCINFOC, DKIOCGVTOC. - Change CFSgetValueBool() to support Flags argument. * sie/class/jobs Add support for new "Jobs" class. This class is a list of all scheduled jobs/tasks that are scheduled to run automatically. * sie/class/kernel Update HPUX kernel variables list to include variables interesting for Oracle DB's. * sie/class/license Add License class support on Windows. Registry is scanned for license Keys. Currently supported are Microsoft and Adobe products. Others may also work if Keys are not encoded and in a commonly used Registry location. * sie/class/license Add new Category type to License with types APP and OS. Add KEY as a new type for LicenseType. Add new attributes SoftVendor and KeyEnc. * sie/class/license Upgrade FLEXlm support from FLEXlm 8.1 to version 10.1. Also add FLEXlm support on Solaris x86. * sie/class/netif Add IPv6 discovery support on MacOS X. - Move Ifconfig parsing into os/netif.c for each os. - Add SystemLocation and SystemDescription to sample siteinfo file. - Build fixes for MacOS and HPUX. * sie/class/netif Add IPv6 discovery on Solaris and AIX. Also we now use ifconfig cmd for IPv4 discovery. - Tweaks to build once again on Solaris and AIX. - Updates to mcsiclassx build. - Fix configure to look for java under /usr/local/java. * sie/class/netif Add discovery of IPv6 addresses on Linux. IPv4 addresses are also now obtained from ifconfig command for improved non-root data discovery. * sie/class/netif DHCP Client configuration for each interface in the NetIf class is not reported for Windows and Linux. * sie/class/network Add "WINS Proxy Enabled" to Network class. * sie/class/network Add "Default Gateway IPv6" and "Default Gateway IPv6 Hostname". Update label and description of "Default Gateway" and "Default Gateway Hostname" to include "IPv4". * sie/class/partition Support GPT disk partition labels by parsing the output from the parted(1) command. parted also supports other labels such as MSDOS and hence will be used in preference to builtin DOS partition discovery. * sie/class/patch Create new "Patch" data class for software patches. Solaris is the first OS this is supported on. * sie/class/printer Add ServerCanHost and ServerIPv4 data to printer class. * sie/class/process Implement new class called Process to report all running processes on system. * sie/class/service Add new "Service" class for detailing System Services. - Fix StrSplit(). - Update TODO. * sie/class/SoftInfo Add SoftInfoCategory attribute to SoftInfo. * sie/class/software Add support for discovery of Oracle E-Business Suite. * sie/class/software Add new SDL functions DataTreeGetTree, DataTreeGetIndex, DataTreeGetKeys, and DataTreeGetValues. * sie/class/software Add support for "continue" instruction in SDL loop statements. * sie/class/software Add OS Install Date support on AIX. * sie/class/software Add CategoryType support on AIX. - Compile fixes for AIX for DevSpec and others. * sie/class/software Add OS Install Date support for MacOS X and HP-UX. * sie/class/software Set CategoryType to "APP" by default for SPS, SDL, and SWTAG methods. * sie/class/software Try to determine CategoryType of OSPKG or DOC for all packages by default on Linux and Solaris by looking at Category. * sie/class/software Add support for discovering ISO 19770-2 (aka SWTAG) software tags. All software which places a swtag file in the platform standard location should be discovered and reported. * sie/class/software Add new SoftInfo attributes ID, EntitlementRequired, LicenseStatus, LicenseStatusStr, ChannelName, ChannelType, ChannelTypeStr, CustomerType, CustomerTypeStr, ReleaseDate, ReleaseDateTime, VendorID. All of these are supported by the new swtag function. * sie/class/software If Microsoft Office suite is detected then it is given an EntryType of PRODUCT instead of PKG. Components of Office are still marked as PKG. * sie/class/software Add support for decoding and reporting Adobe License Key (Serial#) values. * sie/class/software Improve editing of Software Name values to remove Version. We now look to match SoftInfo->Version and SoftInfo->Name for "{digit}.". This helps on Windows where sometimes Version="7.1" but "7.0" is used in Name. - Remove -Iinclude/mcsysinfo from libmcsysinfo/GNUmakefile.in and fix * sie/class/software Add discovery and reporting of OS Install Time in the SoftInfo OS entry under "InstDate". Supported on Windows only for now. * sie/class/software Create a SoftInfo entry for the OS itself. The SoftInfo entry is usually the root (top) node of the software tree and as such will (usually) be reported first. It also has a Category of "OS" to identify it. Some of the information is a duplicate of what is reported in class General. However, more subtle attributes going forward will be reported in the SoftInfo entry. * sie/class/software Report License Key values for Microsoft products including Office. * sie/class/software The OS SoftInfo node now reports the "Product ID" on Windows. * sie/class/software Add new "CATEGORY" type as a SoftInfo EntryType value in addition to existing PKG and PRODUCT. * sie/class/software Add new --swentrytype to restrict reporting to specified types (pkg, product, category). * sie/class/software On Linux change Software entries of type PRODUCT to be CATEGORY which is more accurate. * sie/class/software Add Software discovery support via SDL scripts for: Apache Tomcat, CA BrightStor Server, HP OpenView Data Protector, IBM DB2, IBM Informix C-ASAM, IBM Informix Enterprise Gateway Manager, IBM Informix I-SPY, IBM Informix MaxConnect, IBM Informix Extended Parallel Server, IBM Tivoli App Dependency Discovery Manager, IBM Tivoli COmposite App Manager for WebSphere Data Collector, IBM Tivoli Configuration Discovery and Tracking, IBM Tivoli Configuration Manager, IBM Tivoli Enterprise Console, IBM Tivoli Netcool, IBM Tivoli Provisioning Manager for OS Deployments, Sun Java/JRE. * sie/class/software Add "Install Date" for Software packages on Windows. * sie/class/software Give "HelpLink" preference over "URLinfoAbout" on Windows for value of URL. - Add Windows Patch class support. * sie/class/software Add Software Product Specific discovery for BEA WebLogic. * sie/class/software Add special software discovery of Apache HTTP Web Server. * sie/class/software Convert Software class in SIE to handle wide chars for I18N compliance. * 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/storvol Added support for Linux LVM via linuxlvm driver. This was the hpuxlvm driver, but the 2 apparantly share very similiar roots. The hpuxlvm driver has thus been renamed the linuxlvm driver which is used on both Linux and HP-UX now. * sie/class/storvol Add driver to support Solaris Volume Manager and older Solstice DiskSuite. * sie/class/storvol Add storvol driver for native AIX LVM. * sie/class/storvol Add new Storage Volume class. * sie/class/storvol Add support for Veritas Vol Mgr in storvol. * sie/class/vmguest Improve VmGuest detection of VMware software to support VMware Server 2.0. * sie/class/vmguest Add new VmGuest class for detailing VM Guest OSs installed on a system. * sie/class/vmhost Add support for discovery of whether we are running inside Microsoft Hyper-V guest. * sie/class/vmhost Introduce new class "VmHost" for detailing Virtual Machine Host information. * sie/cli Implement new --reportfilter option to control the output of "--encode report" output. See mcsysinfocli(1) reference manual for details. * sie/cli Add new --xmlversion option to specify version of XML output to display. XML Version 2 output is now default. * sie/cli Add new --prefix option. * 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 Add Profile data on each Class. * sie/core Add support for Ubuntu Linux. Includes support for using dpkg(1) for Software class. - Update CPUID database. * sie/core Boolean values are now reported in lowercase instead of uppercase in order to be XSD compliant. * sie/core Add support for Linux on s390x (zSeries). * sie/core Changes to support build on Linux on PPC. * sie/core Add initial support for Linux on PPC. * sie/core Updates for MacOS X 10.4 and Intel Mac. * sie/core Add platform debug info. * sie/core Include new "ClassTypeDesc" in report output. This provides the Device Class Type Description. * sie/core Move/migrate all SysInfo Database files * sie/core Move all config/mibs files into lib/mibs. * sie/core Revamp PSI calls to return new Status_t status and results via Query->Out exclusively. * sie/core More declaration cleanup and conversion to ANSI declarations. * 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/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 Improve ATA debug output. * sie/core Add definetion for ATA mode 6 as ATA/133. * sie/core Add improved reporting of DMI "Port" data using Internal and External string values from DMI. * sie/core Improve debugging messages. * sie/core Enable and document support for AIX 6.1 and Windows Server 2008. * sie/core/mac Update system models. * sie/doc/InstallGuide Break source installation into seperate chapter. Document Perl build on Windows. * sie/general Add support for CPU Model reporting on MacOS. * sie/hardware Improve MacOS hardware tree results by filtering out more driver/pseudo devices. * sie/license Revamp licensing so that status messages such as demo license expiration are provided. Also provide license info for all driver licenses that use licensing. * sie/license Add "Feature" field to license data. * sie/license Revamp mcl license code to allow for broader use by standalone drivers. * sie/output XML output for "netif" now places each address within an "address" element to support multiple addresses per netif. * sie/platform/aix Add support for class general "CPU Type" on AIX. * sie/platform/aix Determine "Kernel Bit Size" on AIX by using sys/systemcfg.h values. We also now determine "Kernel Arch" from the same source. * sie/platform/aix We now provide system serial number of IBM pSeries (RS6000) systems for the first time. * sie/platform/AMD64 Add support for RHEL 3 on AMD64. * 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. * sie/platform/hpux Improve debugging data for class hardware on HPUX. * sie/platform/linux Use lsb_release to identify OS Distribution if command is available. * sie/platform/linux Use first word of full OS Distribution as the Short OS Dist value if none of the special cases (i.e. "rhel" and "redhat") apply. This works for most Linux distributions including "fedora". * sie/platform/sun Show output from prtdiag when debug is enabled and hardware tree is built. * sie/platform/windows Add "Host Addresses" support in class General for Windows. * sie/rpm Add /usr/local/bin/rpm as another place to check for rpm. * sie/ui Add new options --sps, --spsignore, --spsemodules, and --spslist. * sie/ui Improve debugging messages. * 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. * ui/gui Update SysInfo and MagniComp logos to latest versions. * ui/GUI Add support to GUI to install a MagniComp license file. * ui/html Revamp HTML code to support hierarchical trees when column format is specified. * ui/text Revamp text code to support hierarchical trees when column format is specified. * utilities Add new mcsysinfodeploy script for assisting with deployment of SysInfo to multiple UNIX based systems. * 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 ######## * 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. * api Fix parsing of Device parameters to use the first value found instead of the last. * api Fix Hardware class API code to detect and fix when a device has a Master name equal to it's own name. * 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. * api/mcSysInfo Include product version in cache directory path to avoid different sysinfo versions from interferring with each other with installed simultaneously. * 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 Fix declaration problem with ether_ntohost() in sunos.h * build Changed the product SUMMARY of each distribution to remove "MagniComp" from name since it's already in VENDORNAME. * build Add ifdef checks for linux .h files on Fedora 6. - Fix ParseOptions() so that multiple boolean options increase the variable being set by 1. - Add QueryListDestroy() function. - Checkpoint SDL. * build Fix source tarball build to use same version command as used for prebuilt binary. This should result in more exact matching of names. * build Include LIBS in linker options when linking libmcsysinfo and libmcsnmp in order to satisfy MacOS linker. * build Don't use our own DRIVER_INFO_6 type declare anymore as mingw now includes one. * build Don't cache configure vars relating to product version since we often update hotfix data in these vars. * build Add ifdef checks for linux .h files on Fedora 6. * build Fix nsis/GNUmakefile.in to use BuildDir instead of objdir for SaveVarFile. * 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 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 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 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. * 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. * build Revamp build process to use improved "platform" naming during installation from source and "setup". * build Convert internal "KISA" variable to be "CPUARCH" with backwards compat. * build Remove attempt at AC_DEFINE_UNQUOTED($osname, ...) which never worked and now causes errors with newer autoconf. * build Move test for IS_X86 to configure from mcsysinfo/defs.h in order to work with newer platforms which don't have cpp defines we can use. * build Update perl GNUmakefile.in's to add improved error reporting. * build Change ./configure warning about GNU make to state builds will fail without GNU make. * build Fix build issues on Solaris. * build Fix compile time warnings in debug statements relating to usage of %x. * build Use same perl on linux 2.6 as linux 2.4 so we avoid differences in perl versions. * build Change configure.in to look for struct in6_addr. * build Fix configure.in to find struct sockaddr_in6 on HPUX. * build Change configure.in to look for inet_pton() and use our own version if not found. * build/compile Don't use -I/usr/src/sys on freebsd as this causes compilation errors with GCC 3.3.x and later. * 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 test for printf("%ls") in configure. A typo was preventing the test from ever succeeding. This broke sometime just prior to 10-GA. * build/configure Fix configure checks for net/if.h by defining _XOPEN_SOURCE_EXTENDED for HPUX. Also removing the standard header check for net/if.h. * build/configure Fix several configure problems with printf attributes by switching to AC_RUN_IFELSE. * build/configure Fix configure to check env var MCSYSINFO_HAVE_VXVM so that we build VXVM driver. Driver was not being built on Linux X86 distributions. * build/configure Need to set LdSysLibsLast=yes on Linux to get things to build with libexpat. * build/configure Fix bug in expat test that resulting in configure thinking expat was present when it was not. * build/configure Fix configure to properly detect when expat is not present. * build/configure Fix --with-perl option to configure to once again work. Fix related perl build issues. * build/configure If expat package is missing then we now treat this as a fatal configure error. * 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/configure Fix several cases of needing HAVE_* defined for AC_CHECK_LIB cases. These are due to changes in autoconf to generate HAVE_LIBXXX instead of the previous behavior of HAVE_XXX. * build/configure Fix configure to check env var MCSYSINFO_HAVE_VXVM so that we build VXVM driver. Driver was not being built on Linux X86 distributions. * build/configure Update configure to build again on HPUX 11.11 using XOPEN undef. * 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. * 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/installer Fix Windows installer to create the "SysInfo with Debugging" menu shortcut to place logfile on users Desktop. * build/installer Fix Windows installer to better handle silent installs, improve logging, and improve addition of mcsysinfod to SCM. * 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. * build/platform/AMD64 Fix various minor problems with casting and declarations as part of port to RHEL 3 on AMD64. * class/class/software Fix SDL files missing from distributions. * class/device Fix discovery of NetIf's on Linux 2.6.30. Newer kernels do not place the administrative name of a netif in the expected place in /sys We now look for .../net/ethX. * class/filesys If an NFS mount is hung, SysInfo now times out instead of hanging. This is implemented via new "mntinfo" driver which performs all statvfs/statfs calls which are the calls which block when an NFS mount is hung. * class/general Fix "kernel bits" in General class to report "64" on 64-bit Windows. * class/general On Windows correctly report 32-bit when running on 64-bit capable CPU but with 32-bit Windows is installed. * class/general On Windows correctly report 32-bit when running on 64-bit capable CPU but with 32-bit Windows is installed. * class/general Fix discovery of "Libc Name" on Linux to work properly on newly Linux like Fedora 8. The commands run to determine libc name must be run with privileges and were not previously. * class/general Fix Intel CPUID code to only set CoreCount and ThreadCount if not already set. * class/hardware Fix DMI decoding of CACHE size to work properly with larger cache size values (>= 1MB). * class/license Fix several possible NULL deref issues in flexlm License code relating to strlen() and strdup(). * class/license Fix several possible NULL deref issues in flexlm License code relating to strlen() and strdup(). * class/software Fix file handle leaks in SPS modules for BEA Weblogic, IBM Websphere, Oracle AS, and Sybase ASE. * class/software When searching for files (including for things like Oracle DB discovery) we now skip all directories which begin with a "." (dot). This avoids searching things like ".snapshot" on netapps and other irrelevant dirs. * 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. * class/software When searching for files (including for things like Oracle DB discovery) we now skip all directories which begin with a "." (dot). This avoids searching things like ".snapshot" on netapps and other irrelevant dirs. * class/storsys Fix rare core dump in nafiler due to NULL deref. - Add configure testing for ioctl() support. - Integration of 6.0 changes. * class/storsys Fix minor memset() warning in nafiler. * class/storsys/nafiler Link in -lcrypto statically with the NetApp driver in order to work across more Linux distros such as SuSe. * class/storvol Fix the HPUX LVM driver to actually run. It was previously not linked and installed properly resulting in dld.sl errors. * config Fix configure to use -DOS_IS_${osname} to replace -D${osname}. * configure Build Linux distributions with -lexpat always static. This is usually included in most RHL based dists, but not in SuSe. This resulted in "libexpat.so" errors during installation. * core Various changes to internal function names which conflict with Windows API functions of the same name. * core Fix bug in StrCat() which results in incorrect results and/or seg faults. Primarily affects class Software on HPUX. * core Fix command line option parsing of boolean values where setting options to false if given on command line was not actually being done. * 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/linux Don't link against -lelf which is not available on all Linux dists like SuSe and is also unused by SysInfo on Linux. * core/platform/macos Update list of Mac system models. * dist Fix build distribution procedure to run strip(1) on binary executables and libraries to reduce size of distribution. * doc Properly updated current doc/CHANGES.txt file in each distribution. * doc/CHANGES Fix program which auto generates CHANGES.txt to actually work once again. It had one bug which caused most hotfix fixes not to be listed. * doc/CHANGES Fix program which auto generates CHANGES.txt to actually work once again. It had one bug which caused most hotfix fixes not to be listed. * 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. * doc/RefMan Update mcsysinfocli manual to refer to "sysinfo --list class" for parameters to "--class". * doc/ReleaseNotes Document support for MacOS X 10.7 Lion. * doc/releasenotes Add SLED 11 to supported platforms. * doc/releasenotes Update System Requirements to specify Red Hat Enterprise Linux "6.x" instead of just "6". * doc/ReleaseNotes Add "RHEL 5" to list of supported OS. * doc/ReleaseNotes Update to reflect support for Red Hat Enterprise Linux 5. * doc/ReleaseNotes Document removal of support for SGI IRIX. * doc/ReleaseNotes Update release notes to doc Sun X64 serial number support. * doc/ReleaseNotes Update to state we now support HPUX 11.23 (11i v2) on PARISC. * doc/ReleaseNotes Clarify IA64 and HPUX/Linux supported system info. * doc/ReleaseNotes Document lack of Hardware info within Solaris Zones. * drivers/nafiler Fix incorrect mkstemp() usage, changes to compile on Windows. * gui Fix GUI's Report tool to work once again. It was previously trying to run ".mcsiwrapper" instead of "sysinfo". * 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 Remove TAB from checksum value string to eliminate changes in behavior in cksum(1) command between releases. This fixes a Solaris 11 cksum(1) change. * install Fix install tools on Linux x64 to be native 64-bit instead of 32-bit. This allows for installation on Linux 64-bit systems which have no 32-bit libraries installed. * install Fix installer to work on Fedora 5 and later. Newer OS which use the latest GNU coreutils don't accept "tail +N" by default. * install Fix UNIX installer to not fail with a Chown() error if not run as root with --override. * 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. * 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 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. * install Fix uninstall to avoid "Remove Installation directory failed" when "setup --uninstall" is run with no path or a relative path instead of an absolute path. * install Fix .sh builder to set limited and explicit $PATH which contains only standard locations and is not overly long. * install Fix .sh builder and setup programs to properly honor "--tmpdir" argument. * install Do not install "GNUmakefile" on windows in "config". * install Use double quotes for mcsysinfod when adding Windows service. * installer Fix Windows shortcut for "SysInfo with Debug" to use "--cache no". * installer/windows Fix windows installer to give error if Registry write fails. * install/setup Fix check for available disk space to work once again. * install/setup Fix "deterine" typo in setup error messages. * install/setup Determine AppArch with builtin rule for HPUX IA64. * license If a FULL product license exists, do not auto-create any feature licenses such as for StorSys Pro. This reduces user confusion. * mcsiwrapper Fix wrapper so it can launch mcsysinfod when used with the noui distribution. * mcSysInfoAPI Remove \r (^M) from SIE inputs. * mcsysinfod Change server such that a SEND command giving multiple class types to return is run as a single result instead of once per class. This allows XML results for multiple classes to be contained within a single ... body. * mcsysinfod Fix SysInfo Agent such that it fully divorces itself from the process (shell, init, setup, etc) which invoked it. This fixes a problem where SSH would hang if it was used to invoke the setup installer or if it ran /etc/init.d/mcsysinfo. * 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. * 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. * mcsysinfod Don't run with --debug by default anymore. * 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/freebsd Update minimum supported FreeBSD version to be 5.2 due to bugs in vswprintf() in FreeBSD 5.0 and 5.1. These bugs caused segfaults in Software class retrieval. * platform/freebsd Update minimum supported FreeBSD version to be 5.2 due to bugs in vswprintf() in FreeBSD 5.0 and 5.1. These bugs caused segfaults in Software class retrieval. * platform/Sun Fix "Kernel Bit Size" on Solaris x64 to correctly indicate "64" rather than "32". * sdl Fix bug in "continue" to work like "break". * sdl Fix bug causing for() loops to not work when called more than once. * sdl Fix several memory corruption bugs caused by free'ing the same memory twice. * sdl Fix SDL bug with "continue" statement acting as "break". * sdl Fix bug in for() loops used more than once where the starting value in the left most part the for expression was not reset to it's original value at the start of each for() call. * sdl Fix bug freeing memory already freed. * sdl Fix while/break breaking all the way out of script. * sdl Fix CmdClose() generating fatal script error when command exits none-zero. * sdl Fix foreach/break problem causing top level break's to exit from scripts. * setup Fix setup to check for new PrivRequired in each package to determine if we should warn about whether install is being done without root privs. * setup Don't prompt for license file install for mcsysinfo-sdk and mcsysinfo-javasdk. * setup Look for LICENSE.txt in each package instead of assuming it's in first package. * setup Fix --installpost to remove mcGlobals.pm.OLD. * setup Fix --uninstall to not fatal error if sysinfo dir is not empty when done. * setup Setup now copies itself to /tmp and re-runs itself from this location. This allows for complete removal even on OS like HPUX when give "Text file busy" when trying to rm a file that is in-use like setup itself. * setup Fix setup meter progress bar to not reprint entire line to improve performance and reduce overhead. We also no longer use the meter bar if --debug is given. * setup Fix minor bug with extra "-" chars being displayed when showing the SUMMARY field. * 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. * setup Need to properly edit @ProdVersion@ during setup install in order to use proper /tmp cache directory and others. * setup Fix installer to make sure mcGlobals.pm file is readable by everyone. Fixes a perl error on startup stating that mcGlobals.pm cannot be found when the file is not readable typically do to the install being run with a restrictive umask. * setup Implement workaround for "invalid multibyte character" * setup Fix --installpost to remove mcGlobals.pm.OLD. * setup Fix installer to make sure mcGlobals.pm file is readable by everyone. Fixes a perl error on startup stating that mcGlobals.pm cannot be found when the file is not readable typically do to the install being run with a restrictive umask. * setup Fix setup to not look for files in current directory where setup is run from. Previously a file in the current directory with the same name as that expected in a package would result in a size mismatch error. * setup Implement workaround for "invalid multibyte character" * sie " at the begging of each debug output line by default. * sie Fix debug message "Executing" to be "Running" in shlib in order to make debugging more consistant. * sie/api Fix mcSysInfo Perl API bug in cache code. When --show is used, only the --show arguments are saved to cache. Next time --show or --class are used only the previously saved --show arg data is displayed. Fix is to disable cache save when --show is given. * sie/build Add missing Solaris files to source tarball. * sie/class/bios Fix BIOS to report OBP info on Solaris 10 SPARC. * sie/class/bios Include BIOS characteristics in XML output. * sie/class/device Add the SpeedNum (numeric CPU Speed) field as the last field of device|cpuinfo lines. * sie/class/device Add 15-sec timeout when reading DOS partition info. Previously no timeout was set. * sie/class/device Fix CpuInfo->Arch on HPUX to be consistant with class General's CpuType. * sie/class/device Fix class Device and Network on Windows to use the same Index value provided by Windows to name NetIf devices. This allows consistant reporting between the two classes. * sie/class/device Fix SID entries for ie, ei, le, ne, qe, pcelx, and elx to be "ether10m" instead of the invalid "ether" key. * sie/class/device Reduce discovery time of hardware on most systems be fixing DevTreeScan() to not be called more than once. * sie/class/device Fix Device Name sanitizing to make add AltName entry for sdX Aliases. * sie/class/device Fix detection of Bus# and BusDev# for disk drives by moving check of SetBusFromName() to be after DevSanitizeDiskDrive(). * sie/class/device Rename Device Names to match the official system network interface name used by ifconfig and netstat. This previously resulted on HPUX reporting a Device name of 'igelan1' but HPUX only recognized this device as 'lan1'. * sie/class/device Fix bug in SMBIOS decoding of memory devices where MEMDEV and MEMMOD devices discovery could overwrite each other. This can result in some memory devices not reporting all possible properties such as "Speed". Under some circumstances extra memoryX devices could also be reported which are actually duplicates. This could occur if --class general,device are run together. It's also limited to a select number of SMBIOS configurations. * sie/class/device Add "Speed (MHz)" numeric value for CPU's to report output as alternative to "Speed" for UI's. * sie/class/device Add the SpeedNum (numeric CPU Speed) field as the last field of device|cpuinfo lines. * sie/class/device Add 15-sec timeout when reading DOS partition info. Previously no timeout was set. * sie/class/device Fix bug which could cause bogus and ever changing values for a netif's "broadcast" value. This is due to use of uninitionalized values used when insuring broadcast is set. * sie/class/device Data from SMBIOS (primarly on VM guests) may report bad data for CPU Cache size. We now override SMBIOS Cache size values with CPUID values when available. * sie/class/device Make sure all Device Vendor values of "AuthenticAMD" are reported as "AMD" and "GenuineIntel" are reported as "Intel". * sie/class/device Fix reporting of Serial# of some devices on MacOSX (e.g. DVD) to be reported. * sie/class/device Fix reporting of Device attribute "desc" entries on MacOS to not be truncated at first word if they contain a SPACE in their name. * sie/class/filesys On Windows do not run mntinfo driver with --debug as stdout is mixed with stderr. * sie/class/filesys Fix FileSys, PartInfo, and Hardware class to not hang if an NFS mount is hung. We have moved the statvfs()/statfs() calls which block on hung NFS mounts into a new driver program called mntinfo. SIE now calls mntinfo and parses it's output for all file system related data. If mntinfo hangs SIE will time-out and kill mntinfo then continue. This fix also contains fixes for Cmd_t time-outs to work when the child process blocks. * sie/class/filesys On Windows do not run mntinfo driver with --debug as stdout is mixed with stderr. * sie/class/filesys Fix filesystem + partition sizes reported on MacOS to be correct. Previously they where completely and consistantly wrong. * sie/class/filesys Fix filesystem + partition sizes reported on MacOS to be correct. Previously they where completely and consistantly wrong. * sie/class/filesys Fix bug preventing "filesys" class being reported on Linux 3.x kernel systems. * sie/class/general Fix System Arch on Solaris to use "x64" in place of "amd64". * sie/class/general Fix "CPU Count - Physical" on Linux 1 physical CPU systems with HT to not display "0" as Physical count. * sie/class/general Fix "Kernel Bits" on Solaris 10 x86 to correctly report "32" bit on 32-bit systems. * sie/class/general Add support for "OS Update Level" for Solaris and SuSe Linux. * sie/class/general Fix "Kernel Version" on Solaris not to display "System V" portion on Solaris 8 and later. * sie/class/general Fix OS Distribution discovery on SuSe and Novell Linux to use /etc/SuSE-release and /etc/novell-release to get more reliable results. * sie/class/general Fix "CPU Speed" on some HPUX IA64 systems which were previously not reported correctly. * sie/class/general Fix "OS Dist Manufacturer" for Solaris to be "Oracle". * sie/class/general Fix "hostid" to filter out leading "ff" chars which can occur on Linux sometimes. * sie/class/general Fix "OS Dist" on MacOS to return something like "Mac OS X 10.4.7 Tiger" instead of the POSIX standard compliance number like "199505". Fix "OS Distribution Version" to include the Apple name for the release as the second argument. e.g. "10.4.7 Tiger". * sie/class/general Fix "CPU Count Socketed" on Mac Intel to work based on CoreCount and sysctl() physical CPU count. * sie/class/general Fix "CPU Speed" on Mac Intel to report the same consistent "x.yz" value as Hardware instead of "x.y". * sie/class/general Fix "CPU Model" code to give DMI data precedense over CPUID data. This results in a more accurate CPU Model being reported on newer generation Intel CPUs. * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Do not report "Xeon" as CPU Model as this type is now too ambiguous. * sie/class/general Fix "CPU Model" discovery on HPUX to use data from machinfo. - Integrate 9-H36 into 10-H4. * sie/class/general Fix "CPU Count - Socketed" on HPUX IA64 systems to properly report count on larger CPU count systems. * sie/class/general Fix "Kernel Bits" to show 64 on 64-bit Windows. * sie/class/general Fix "OS License Key" on 64-bit Windows to work. Also fixes access to other possible Registry values on 64-bit. * sie/class/general Fix Primary User discovery on Solaris which sometimes may cause a seg fault or report incorrect data. Failure can occur when we directly read wtmp/wtmpx files. We have re-activated support for using getutent()/getutxent() but now we use utmpname()/utmpxname() to specify the wtmp/wtmpx file we want to read. Additional error checking/validation is also performed for all wtmp/wtmpx methods. * sie/class/general Fix DMI discovery of System Serial, Mfg, and Model by looking in both SYSINFO and ENCLOSURE structures. Also add support for multiple structure retrieval. * sie/class/general Fix "CPU Model" on DMI/SMBIOS platforms to report more specific model. i.e. Now reports "Xeon X5355" instead of "Xeon". * sie/class/general The "OS Dist Manufacturer" code will get a default value from "OS Manufacturer" if no other method succeeds or exists. * sie/class/general Fix "OS Distribution Version" to report correct data on Windows 7 and 2008 R2. - Implement McRegSearch() function to search Registry. - Fix MC registry functions to display actual error code messages in debug output instead of using "0" value. * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Fix "CPU Count Socketed" on Solaris 9 SPARC to be correct on certain platforms. We previously ignored psrinfo on < Solaris 10 but the psrinfo now appears valid on Solaris 9 so we now use it on that OS version. * sie/class/general Fix how Boot Time and Up Time are discovered on Linux to use getutid() first and then fall back to /proc. Previously we used /proc only which could result in Boot Time values which changed by 1 second in between runs of SysInfo on the same host. - Integrate 9.0.0-H33 into main. * sie/class/general Fix segfault error on AIX during discovery of "boot time" and "up time". Error occured when /etc/utmp was corrupted. - Integrate 9-H27 into main. * sie/class/general Fix CPU Count - Socketed and Physical count on Solaris SPARC UltraSPARC-IV systems. * sie/class/general Fix bug which caused "numcpuoffline" output for report and xml to be reported when the --show option was used but did not specify to report "numcpuoffline" (it was shown anyways). * sie/class/general Add ability to not report System Serial if the true system serial is not known when the env var MCSYSINFO_TRUE_SYSSERIAL is set to "yes". This currently only pertains to Solaris SPARC. * sie/class/general Fix "kernbits" on Solaris x64 to properly report "64". Previously this worked in most cases, but failed on VMware guest instances of Solaris. - Integrate 9-H22 into main. * sie/class/general Fix "CPU Count Virtual" on HPUX to report single value in format output. In H56 we introduced a double output in format report. * sie/class/general Fix "CPU Count Virtual" on HPUX to report single value in format output. In H56 we introduced a double output in format report. * sie/class/general Fix "CPU Count Virtual" on HPUX to use mpsched as data source. Previosly no value was reported. * sie/class/general Fix "CPU Count - Physical" on certain UltraSPARC-T2 systems. The hash table used to track "core id" values was too small resulting in some cores being counted twice. * sie/class/general Fix "CPU Count - Socketed" to accurately report on Solaris SPARC 9 and earlier on multi-core UltraSPARC systems such as the V890. Previously we reported the physical CPU count as the Socketed count on these multi-core systems. * sie/class/general Add support for setting System Man and Model on Linux from /proc/cpuinfo on PPC. * sie/class/general Fix bug in "CPU Count - Physical" on linux for systems with more than 60 CPU's which caused count to max out at 61. Fix another bug in "CPU Count - Physical" on linux which caused incorrect count on AMD CPU's which Linux thinks has HT (hyper-threading) support enabled. * sie/class/general Fix "CPU Type" on MacOS x86 to report "i686" instead of "i386" to be consistant with CpuInfo data. * sie/class/general Fix "Kernel Bit Size" on SunOS 5.6 SPARC to report "32" instead of "64" even on sparcv9 systems. * sie/class/general Fix possible use of uninitialized variable for "Kernel Bit Size" when using sysconf(2). * sie/class/general Fix primaryuserlogin and primaryusername on HPUX which has wtmpx but only updates wtmp. * sie/class/general Fix PrimaryUserLogin and PrimaryUserName on Solaris and other OS which use wtmpx. These attributes are not reported due to fix in 8-H35. * sie/class/general Fix PrimaryUserName and PrimaryUserLogin to work on Solaris and other systems which have wtmpx but not wtmp. * sie/class/general Fix primaryusername and primaryuserlogin on systems which have getutxent() and getutent() to not use these interfaces since they read utmp and not wtmp. * sie/class/general Fix "Kernel Version" on Linux to remove newline if present at end of string. * sie/class/general Fix "Up Time" and "Boot Time" on OS which we use getutid() (i.e. Solaris) to work. We had a typo which caused this code to always return a failure. * sie/class/general Fix 64-bit "kernbits" detection on Solaris AMD64 systems. * sie/class/general Fix core dump issue on Solaris when retrieving Serial Number on systems with "oem-banner" in OBP. * sie/class/general Check boottime value to see if it's in the future and if so to not return data for it and related data like uptime. * sie/class/general Fix "CPU Count - Physical" on Linux to correct calculate value on hyper-thread systems. * sie/class/general Fix "CPU Count - Physical" Solaris method for using psrinfo to only attempt to run if on Solaris 10 or later. - Fix DoParentAutoCreate to be static. Also not set Category if DoParentAutoCreate is False. * sie/class/general Enhance method for "CPU Count - Physical" on Solaris to first try psrinfo which correctly returns count on multi-core SPARC systems like the T1000. * sie/class/general Another fix for "CPU Count - Physical" on Linux systems. Previous fix broke systems with HT CPU's running linux 2.4 kernels. * sie/class/general Fix CPU Model Intel Family 15 Type 6 to be "Xeon" instead of P3. * sie/class/general Fix core dump on Solaris SPARC when retrieving serial number on systems without "SN" set in the OBP. * sie/class/general Fix core dump on Solaris SPARC due to NULL deref in OBPgetSerial(). * sie/class/general Add "T200" to CpuNumPhysByModel for calculating CPU Count Physical on Solaris SPARC. * sie/class/general Fix core dump issue on Solaris when retrieving Serial Number on systems with "oem-banner" in OBP. * sie/class/general Fix CPU Type and Kernel/App Arch discovery on MacOS to use uname(1) command instead of utsname(2) function for portability between PowerMac and Intel Mac. * sie/class/general Fix system Memory discovery on MacOS to use hw.memsize for more accurate values, particuliarly on Intel Macs. * sie/class/general Fix system Serial discovery on MacOS to use IOPlatformSerialNumber instead of serial-number. The later is not present on Intel Macs. * sie/class/general Fix Primary User utmp code to build on MacOS 10.4.x. * sie/class/general Check boottime value to see if it's in the future and if so to not return data for it and related data like uptime. * sie/class/general Correctly report "1" as the value for "CPU Count Physical" on multi-core SPARC systems T1000 and T2000. We previously reported the core count as the Physical count. * sie/class/general Fix OS Dist Version discovery on Solaris to first use uname(2) and parse the "release" value. This works even when Solaris is run on a non-FCS release which may use a code-name for the Solaris version instead of a number. * sie/class/general Fix "OS Dist" discovery on Linux systems which do not have lsb_release to look for "LINUX" as well as "Linux" in /etc/issue. * sie/class/general Avoid possible hang on AIX when obtaining "OS Version" using the oslevel command by using Cmd_t interface without a 60 second timeout. * sie/class/general Fix core dump bug when obtaining OS Dist info from /etc/issue. If /etc/issue is not in the expected format, we were core dumping. * sie/class/general Add timeout handler for GNU libc discovery to prevent hangs on systems which may have other more serious problems. * sie/class/general Fix "CPU Count - Physical" on Linux to correct calculate value on hyper-thread systems. * sie/class/general Fix reporting of "Number of CPUs (Physical)" on AIX systems with LPAR (hardware partitioning) to use LPAR provided value. This means we now report the true physical CPU count. * sie/class/general Fix "CPU Count - Physical" on Linux to correctly report value by combining "physical id" and "core id" unique instances. * sie/class/general Fix "CPU Count - Physical" Solaris method for using psrinfo to only attempt to run if on Solaris 10 or later. - Fix DoParentAutoCreate to be static. Also not set Category if DoParentAutoCreate is False. * 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/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/general For "System Serial#" add DMI check for system board serial number if no other serial is found. This is needed for "white box" PC's. * sie/class/general Enhance method for "CPU Count - Physical" on Solaris to first try psrinfo which correctly returns count on multi-core SPARC systems like the T1000. * 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/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 "Number of (Physical) CPUs" to acurately report on X86 systems with hyperthreading CPUs. * sie/class/general Add Xeon 5150 cpuid definetion * 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/general Fix DMI function which obtains System Model to check for the system vendor/mfg in the model and remove it if found. * sie/class/general Fix "System Serial" on DMI/SMBIOS systems to correctly use data from "SYSINFO" node before "ENCLOSURE" node. * sie/class/general Fix "CPU Count - Physical" on Linux to not use "physical id" values from /proc/cpuinfo as they will provide us with an incorrect count on P3 systems. * sie/class/general Fix CPU Count Physical on Linux to use "core id" from /proc/cpuinfo if present. This is more accurate than "physical id". * sie/class/general Fix CPU Model ident of Intel CPUs to use front-side bus speed in table lookup. * sie/class/general Fix "OS Dist" values to work on HP-UX 11i v3. We need to run swlist as root to get required data. * sie/class/general Do not report HostId values of all zeros. Instead report nothing since all zeros indicates an invalid value. * sie/class/general Fix incorrect "CPU Count - Physical" on Solaris SPARC systems due to incorrect check for core_id values in kstat data. * sie/class/general Fix Solaris OBP "romver" reporting to handle 2 digit year values. * sie/class/general Fix "ROM Version" on Solaris SPARC to consistantly report date as YYYY/DD/YY. * sie/class/general Improve CPU Model on Intel CPUs a bit more by fixing X6800 definetion and adding checks to use DMI PROC Family when all else fails. * sie/class/general Fix core dump on Solaris 10 with --debug due to kstat decoding bug introduced in 7.0.1-H24. * sie/class/general Improve CPU Model detection of Intel CPUs by using the speed string found in DMI PROCESSOR Version strings as the basis for the CPU Speed. * sie/class/general Fix "System Model" for some Sun T2000 which have PROM values giving "T200" as model. * sie/class/general Fix "CPU Count - Physical" on Linux to use "physical id" field in /proc/cpuinfo to uniquely identify physical CPU count. * sie/class/general Fix CPU Model on Intel x86/x64 CPUs to decode and use CPUID Processor Brand registers if available. * sie/class/general Fix "CPU Count - Physical" on Linux 1 physical CPU systems with HT to not display "0" as Physical count. * sie/class/general Fix "CPU Speed" on some HPUX IA64 systems which were previously not reported correctly. * sie/class/general Fix "CPU Model" code to give DMI data precedense over CPUID data. This results in a more accurate CPU Model being reported on newer generation Intel CPUs. * sie/class/general Do not report "Xeon" as CPU Model as this type is now too ambiguous. * sie/class/general Fix "CPU Count - Socketed" on HPUX IA64 systems to properly report count on larger CPU count systems. * sie/class/general Fix DMI discovery of System Serial, Mfg, and Model by looking in both SYSINFO and ENCLOSURE structures. Also add support for multiple structure retrieval. * sie/class/general Fix "CPU Model" on DMI/SMBIOS platforms to report more specific model. i.e. Now reports "Xeon X5355" instead of "Xeon". * sie/class/general Fix "CPU Count - Socketed" to accurately report on Solaris SPARC 9 and earlier on multi-core UltraSPARC systems such as the V890. Previously we reported the physical CPU count as the Socketed count on these multi-core systems. * sie/class/general Fix "OS Dist Version" on AIX to report AIX maintenance level (oslevel -r) value instead of nothing. * sie/class/general Fix "Up Time" and "Boot Time" on OS which we use getutid() (i.e. Solaris) to work. We had a typo which caused this code to always return a failure. * sie/class/general Fix 64-bit "kernbits" detection on Solaris AMD64 systems. * sie/class/general Backport Primary User code from v10 to support getting info from SiteInfo and improving wtmp performance. * sie/class/general Fix "System Model" on Sun E2900 to report "E2900" instead of "Fire V1280". Affects any SUNW,Netra-T12 system. * sie/class/general Fix "CPU Count Physical" on HPUX to use machinfo(1m) data to be more accurate on newer HP systems. * sie/class/general Fix "hostid" to filter out leading "ff" chars which can occur on Linux sometimes. * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Fix "CPU Speed" discovery on HPUX 11i v3 IA64 to correctly parse new machinfo(1) output format. * sie/class/general Fix "CPU Model" discovery on HPUX to use data from machinfo. * sie/class/general Fix "CPU Count Socketed" on Solaris 9 SPARC to be correct on certain platforms. We previously ignored psrinfo on < Solaris 10 but the psrinfo now appears valid on Solaris 9 so we now use it on that OS version. * sie/class/general Fix how Boot Time and Up Time are discovered on Linux to use getutid() first and then fall back to /proc. Previously we used /proc only which could result in Boot Time values which changed by 1 second in between runs of SysInfo on the same host. * sie/class/general Fix CPU Count - Socketed and Physical count on Solaris SPARC UltraSPARC-IV systems. * sie/class/general Add ability to not report System Serial if the true system serial is not known when the env var MCSYSINFO_TRUE_SYSSERIAL is set to "yes". This currently only pertains to Solaris SPARC. * sie/class/general Fix "CPU Count Virtual" on HPUX to report single value in format output. In H56 we introduced a double output in format report. * sie/class/general Fix "CPU Count Virtual" on HPUX to use mpsched as data source. Previosly no value was reported. * sie/class/general Fix "CPU Count - Physical" on certain UltraSPARC-T2 systems. The hash table used to track "core id" values was too small resulting in some cores being counted twice. * sie/class/general Fix "CPU Count - Socketed" on AIX to use count of processors from lsdev instead of lparstat. * sie/class/general Fix Serial number on HPUX PARISC to be reported properly on HPUX 11.23 and later systems. * sie/class/general Fix compile problem for WtmpxDirect() which was using UTMP and not UTMPX macros. * sie/class/general Fix primaryuserlogin and primaryusername on HPUX which has wtmpx but only updates wtmp. * sie/class/general Fix "CPU Count - Socketed" and "CPU Count - Physical" on AIX 5.3 and later to use "Active Physical CPUs in system" instead of "Maximum Physical CPUs in system" after it was discovered that the later (Maximum...) value in some some systems does not report the values we expect. * sie/class/general Fix PrimaryUserLogin and PrimaryUserName on Solaris and other OS which use wtmpx. These attributes are not reported due to fix in 8-H35. * sie/class/general Fix primaryusername and primaryuserlogin on systems which have getutxent() and getutent() to not use these interfaces since they read utmp and not wtmp. * sie/class/general Fix "Kernel Version" on Linux to remove newline if present at end of string. * sie/class/general Fix "CPU Model" and "CPU Vendor" on Sun SPARC to be reported correctly on Solaris 2.6 - 7 which uses the older OBP interface to obtain this data. We were performing an incorrect return value check for one of our OBP functions. * sie/class/general Fix "Virtual Memory" on AIX to use more reliable source (lsps) instead of direct query via ODM and swapqry(). * sie/class/general Fix core dump on X86/X64 systems which occurs during CPUID discovery when the EBX register contains an unknown Mfg value. This bug was introduced in H28. * sie/class/general Fix "CPU Count Online" on AIX to use lparstat in preference to sysconf() to provide more accurate results. sysconf() on AIX 6.1 was returning "2" instead of "1" on 1 CPU systems. * sie/class/general Use Sun "sneep" program on Solaris SPARC (if available) to determine System Serial number. * sie/class/general Fix discovery of "OS Dist" data on older Linux which lack the lsb_release command but which have /etc/redhat-release. * sie/class/general Fix "OS Dist" values to work on HP-UX 11i v3. We need to run swlist as root to get required data. - Fix void casting issue in fileio.c to compile with gcc 4.2.2. * sie/class/general Fix "System Serial" on Solaris Blade servers like the X6220 to report the Blade Module serial number and not the chassis serial number. * sie/class/general Fix "primaryusername" and "primaryuserlogin" to be faster by validating usernames found during the tabulation phase (once per username) rather than as they are found in wtmp (once per occurance). * sie/class/general Fix bug in "CPU Count - Physical" on linux for systems with more than 60 CPU's which caused count to max out at 61. Fix another bug in "CPU Count - Physical" on linux which caused incorrect count on AMD CPU's which Linux thinks has HT (hyper-threading) support enabled. * sie/class/general Another fix for "CPU Count - Physical" on Linux systems. Previous fix broke systems with HT CPU's running linux 2.4 kernels. * sie/class/general Fix "CPU Count - Physical" on Linux to correctly report value by combining "physical id" and "core id" unique instances. * sie/class/general Fix "CPU Count - Physical" on Linux to correctly report value by combining "physical id" and "core id" unique instances. * sie/class/general Edit manshort to remove "," data from value. * sie/class/general Add Xeon 5150 cpuid definetion * sie/class/general Fix "System Model" on Sun SPARC systems such as the M5000 which where previously identified as just "Enterprise" models. * sie/class/general Fix "System Manufactorer" to show "Fujitsu" on Fujitsu SPARC systems. * sie/class/general Do not report HostId values of all zeros. Instead report nothing since all zeros indicates an invalid value. * sie/class/general Fix "OS Update Level" to report Service Pack version on Windows. * sie/class/general Fix OS Dist ident to work on Windows Server 2008. * sie/class/general Fix CPU Count Physical on Linux to use "core id" from /proc/cpuinfo if present. This is more accurate than "physical id". * sie/class/general Fix incorrect "CPU Count - Physical" on Solaris SPARC systems due to incorrect check for core_id values in kstat data. * sie/class/general Fix "OS Dist Version" on AIX to report AIX maintenance level (oslevel -r) value instead of nothing. * sie/class/general Fix Serial number on HPUX PARISC to be reported properly on HPUX 11.23 and later systems. * sie/class/general Fix Solaris OBP "romver" reporting to handle 2 digit year values. * sie/class/general Improve CPU Model on Intel CPUs a bit more by fixing X6800 definetion and adding checks to use DMI PROC Family when all else fails. * sie/class/general On Sun SPARC fix "ROM Version" date field to be MM/DD/YYYY consistantly. * sie/class/general Fix core dump on Solaris 10 with --debug due to kstat decoding bug introduced in 7.0.1-H24. * sie/class/general Add latest set of Mac system model defs. * sie/class/general Improve CPU Model detection of Intel CPUs by using the speed string found in DMI PROCESSOR Version strings as the basis for the CPU Speed. * sie/class/general Fix "CPU Count Physical" on Sun multi-core CPU systems like the T1. We previously were reporting total CPUs including virtual thread CPUs. We now use kstat to properly count the cores on a system. * sie/class/general Fix "System Model" for some Sun T2000 which have PROM values giving "T200" as model. * sie/class/general Fix bug in "CPU Model" to remove extra unrelated info from CPU Model on some systems with UltraSPARC-T1 CPU. * sie/class/general Correctly rename "pci*" devices on Solaris to their Solaris device names when available. One example is network interfaces. * sie/class/general Fix "Kernel Version" use of uninitialized value. * sie/class/general Fix CPU Speed reporting for General and Hardware to use 2 digit precision when possible and only if last digit is not zero. * sie/class/general Fix CPU Speed to be set from CPUID Brand string if not available via other methods. * sie/class/general Fix "CPU Count - Physical" on Linux to use "physical id" field in /proc/cpuinfo to uniquely identify physical CPU count. * sie/class/general Fix "kernver" (class General) to work on HPUX IA64 systems by using machinfo as alternate source. * sie/class/general Add runtime reporting in debug for Primary User functions involving wtmp. * sie/class/general Fix CPU Model on Intel x86/x64 CPUs to decode and use CPUID Processor Brand registers if available. * sie/class/general Fix "System Model" on Sun E2900 to report "E2900" instead of "Fire V1280". Affects any SUNW,Netra-T12 system. * sie/class/hardware Implement ability to control what SCSI queries are performed. The config var ScsiQueryTypes specifies the exact list of queries to perform and the config var ScsiQueryTypesIgnore specifies which types to ignore. * sie/class/hardware Ignore Serial# value via SCSI for Vendor="Adaptec". * sie/class/hardware Limit the number of CPU devices reported to match the number of "CPU Count Socketed" if "DevCpuMatchCpuSocketed=yes" is set in a .cfg file. * sie/class/hardware Add BCM5708 PCI definetion. * sie/class/hardware Avoid hanging when opening SCSI devices on Linux. This fix is specifically targeted at fixing tape drives that are active causing a hang. The SCSI device is now opened with O_NDELAY. * sie/class/hardware Look for SCSI timeout value first as a config variable "ScsiTimeout" and then as env "MCSYSINFO_SCSI_TIMEOUT". - Integrate 9-H37 to 10-H9 * sie/class/hardware Add time-out opening /dev/sgX on Linux systems with /sysfs. This avoids possible hangs when opening a tapedrive. * sie/class/hardware Revamp DMI/SMBIOS code to pull explicit SMBIOS Types from SMBIOS instead of scanning SMBIOS in order provided by SMBIOS. This allows us to report MEMDEV but not MEMMOD devices. We also now provide SMBIOS device hierarchy. * sie/class/hardware Correctly identify SCSI "Changer" devices as "Tape Library". * sie/class/hardware Fix "CPU Architecture" on Solaris x86 to report the correct iX86 instead of "i386". * sie/class/hardware Fix reporting of sesX and lbX devices on Solaris to only be reported if they have device file data via LDI. * sie/class/hardware Fix "bge" reporting on Solaris to not include "Broadcom" in Model. * sie/class/hardware Fix device detection on Solaris SPARC to not use "inquiry-device-type" as SCSI device type. * sie/class/hardware Add "tapelib" key to .sid files. Add "reqdevfile" and "reqminor" flag support. * sie/class/hardware Fix Capacity reporting of 1 TB or larger values to be reported as "X TB" instead of "X000 GB". * sie/class/hardware Fix reporting of SCSI devices which have a Capacity of > 2 TB to be reported correctly. Previously the Capacity was reported at 2.0 TB even if the real capacity was greater. This was fixed by implementing support for SCSI READ CAPACITY 16. * sie/class/hardware Add check to see if a Device's Serial value contains all zeros. If so the Serial value is ignored and not reported. * sie/class/hardware Fix Device Model setting to allow PCI definetion to override SID definetion. * sie/class/hardware Fix filter for Device Model to check for first word in Vendor and remove it. e.g. If Vendor="Acme Corp" we now will remove "Acme " from start of Model. * sie/class/hardware Fix error in Device debug code for DiskDrive which could cause a segfault when --debug is enabled. * sie/class/hardware Update SCSI ANSI Version definetions to define 0x05 and 0x04. Also SCSI direct device types 0x0E, 0x0F, 0x10, 0x11. * sie/class/hardware Fix SCSI queries on HPUX to use normal 30 second timeout instead of 1 second timeout. * sie/class/hardware Fix SCSI queries for SERIAL number from "SERIAL NUMBER" VPD to work. Also fixed is detected of what VPD PageCodes are supported in general. * sie/class/hardware Fix SCSI "DAD FORMAT" structure to be of proper size (it was short 1 byte). * sie/class/hardware Another fix for the "Max Recursion Depth" loop bug on Solaris SPARC. This fix disables the artificial system board device creation which is the source of the problem. * sie/class/hardware Fix SCSI/ATA and general DISKDRIVE discovery on Windows 7 and later to work. When calling CreateFile() to open a handle to the device the desiredAccess field was being set to GENERIC_READ|GENERIC_WRITE. Win7 doesn't like this and the call fails with Access denied. * sie/class/hardware Fix NULL deref in StrErr() on Windows which was most evident in mntinfo.exe crashing on Vista, but could cause a .exe crash on any Windows platform. * sie/class/hardware Fix Solaris SPARC discovery of CD/DVD to properly report speed on SCSI/ATA devs. * sie/class/hardware Filter DMI strings with '7F7F'. * sie/class/hardware Fix loop in Device class data reported on AIX. The DevAdd() function was auto-creating Parent devices with Name "" (empty). - Integrate 9.0.0-H30 to main. * sie/class/hardware Fix "Max Recursion Depth" problem on Solaris SPARC which occured on some systems which have artificial "sysboardX" devs created by SysInfo. * sie/class/hardware Grab DevInfo->Vendor from DevInfo->Model after ATA query. This code was Linux specific but is applicable to all ATA. - More s390 tweaks after testing on real z/VM system. Includes new VmHost detection of z/VM and Hercules. * sie/class/hardware On Linux diskdrive discovery we know look for CtlrBlockSize based on DevInfo as well as Parent DevInfo. - Fixes for building on Linuz s390x. * sie/class/hardware Add "SATABeast2" to CtlrBlockSize to support proper Capacity recognition. * sie/class/hardware Fix detection of CD + DVD drives on Linux. We now check the Vendor data from ATA probe for detection. * sie/class/hardware Fix hardware reporting on AIX to report vhostX devices even though they are virtual and not true physical devices. * sie/class/hardware Search /sys/devices/ide0 on Linux 2.6 systems for hardware. * sie/class/hardware Improve CPU Model detection on Intel X86/X64 CPU's. We now include lookup in our CPUID db to include the CPU Family value. If not found, we revert to prior lookup without Family. This should improve detection of Xeon vs. Core Duo CPU's which often have the same fingerprint. * sie/class/hardware Fix free() of in-use Driver value used in DevInfo and NetIf classes. Result was occasinally a Driver value being reported with non-printable bytes. * sie/class/hardware Fix CPU Model on certain Solaris X86/X64 based systems to remove the CPU Mfg and generic words like "CPU". * sie/class/hardware Fix memory size on certain Solaris SPARC systems which support prtfru data to report correct values. In some cases the Capacity of memory devices were reported as Bytes instead of MB or GB. * sie/class/hardware Fix issue on Solaris with certain RAID devices which have dev alias of "scsiclass,00" from having their Vendor, Model, and other attributes merged into real/raw disk drives. This fix causes SysInfo to not look for existing SysInfo discovered devices with name "scsiclass,00". * sie/class/hardware Discovery MAC Addr on Solaris SPARC when NetIf is not configured. Works on SPARC systems which have "local-mac-address" attribute in LDI. * sie/class/hardware Fix DMI PROC decoding to transform "INTEL" to "Intel" to be consistant with other sources of "Intel". * sie/class/hardware On Linux remove duplicate "psmouse" device. * sie/class/hardware Fix forced setting of class ATA on Linux even if class was already set to SATA. * sie/class/hardware Fix incorrect check for Type and TypeClass being set in ATA code. * sie/class/hardware Don't autogenerate ethX names on Linux if the Linux version is 2.6.25 or later. This is because in later Linux we can detect the proper ethX name if the device is working at the Linux kernel level. If its broken we don't want to autogen the wrong ethX name. * sie/class/hardware Fix Type and TypeClass errors introduced in 9-H4 on Linux. Some devices where reported as GENERIC or DEVICE where previously they had been reported as DISKDRIVE or FLOPPY. * sie/class/hardware Fix possible NULL deref bug in Linux sysfs hardware discovery introduced with 9-H2. * sie/class/hardware On Linux remove duplicate "psmouse" device. * sie/class/hardware Fix reporting of Capacity values on Linux for multi-TB sized "disk" devices which are on "Perc 6/i" controllers. Previously these devices were reported with a max Capacity of "2.0 TB" due to limitations in the SCSI protocol. * sie/class/hardware Fix definetions for standard Sun 10Mb netif devices to properly be reported as such. * sie/class/hardware Improve PCI database support for 10Gb network interface devices. * sie/class/hardware Fix VBE code to work on 64-bit Linux using get-edid style access. * sie/class/hardware On Solaris SPARC fix bug on M3000 where unused nxgeX devices were reported as fjgeX devices. * sie/class/hardware Fix ClassType and Model for "nxge" NetIf on Solaris SPARC to be consistant with version 8 values. * sie/class/hardware Fix duplicate values in "Ident" for memoryX devices created by DMI MEMMOD and MEMDEV. * sie/class/hardware Set Location value for memoryX devices created by DMI MEMOD and MEMDEV. * sie/class/hardware Fix TypeClass on Linux of floppy disks to be "FLOPPY" instead of "ATA". * sie/class/hardware Fix Solaris DDB function to properly rename DDB based devices to have unit number. * sie/class/hardware Fix segfault failure on HPUX during Hardware discovery of NetIf devices due to DevRename() of devices changing the ProbeData.AliasNames values. Appears to be related to changes introduced in 9.0.0. * sie/class/hardware Set DevInfo->Model and CpuInfo->Model from General.CpuModel if not yet set in DevSanitize(). * sie/class/hardware Set DevInfo Model value from CpuInfo if not already set. * sie/class/hardware Avoid setting memory Vendor and similar attributes if the DIMM socket is determined to be empty. Applies to SMBIOS MEMARRAY devices. * sie/class/hardware Fix core dump on Solaris SPARC systems that occasionally occur when "inq-product" is found in OBP and used for device Model. Bug occurs due to free() of bad ptr. * sie/class/hardware Fix Report output for Monitor data to use R_PROP and have "monitor" token as SubClass. * sie/class/hardware Improve checks to insure canonical Device Name is set using our DevDefine DB. - Fix DeviceCreate() to use proper compare tests for Type and TypeClass. * sie/class/hardware Fix Hardware discovery problems which could result with incorrectly Parent devices and other strange results due to DevFind() looking for NodeID <= 0 instead of NodeID == 0. We also now enforce use of DevFindInit() in DevFind(). Fixes at least one issue with bad Parent reporting on Solaris SPARC. * sie/class/hardware Fix Serial on MacOS diskdrive devices to be copied from Parent if Parent is driver. * sie/class/hardware Fix CacheInfo for L1d and L2 on MacOS to not be a copy of L1i data due to typo. - Fix diffrpt to load our own PM modules at runtime. - Various fixes to port back to MacOS. * sie/class/hardware Fix SMBIOS handling of PORT devices to use SMBIOS Internal location as device name which provides much closer matching to previously discovered devices such as usbX devices. This results in greater attribute reporting for these devices as well. * sie/class/hardware Fix Unit values for SMBIOS device types BIOS, SYSBOARD, ENCLOSURE, MEMARRAY, MEMCTL, PROC, and SLOT to be consistant for each device Type. Previously a device's Unit could change depending on if how many internal functions searched SMBIOS devices each call incrementing the Unit value for the next scan of SMBIOS. * sie/class/hardware Add definetion on Solaris for netif device name "e1000g". * sie/class/hardware Fix Solaris device names that of form pciVVVV,DDDD to more specific driver based names when data allows. * sie/class/hardware Fix core dump on certain types of Sun SPARC systems such as the 1280 due to write to illegal memory address. * sie/class/hardware Fix bug which prevented canonical device names defined in .sid files from being set. Bug introduced in 7.0.0. * sie/class/hardware On Windows systems we now skip getting free disk space data on disk devices which have removable media. If we don't do this then Windows will popup a dialog box for the user if no media is loaded. When this happens SysInfo is forced to wait until the dialog is closed. * sie/class/hardware Add check for $MCSYSINFO_DDC_VBE in Linux BuildDDC() to allow user to disable DDC VBE probe. * sie/class/hardware Fix Linux setting of ATA disk drive Capacity values to use /proc data over disk geometry. This is what we previously did in 6.0 and earlier. We also now set DevInfo->CapacityNum in the ATA probe. * sie/class/hardware When run on Solaris check our Zone to see if it's "global" and if not warn about hardware data. * sie/class/hardware Fix uninitialized DevFile variable in Linux hardware code. * sie/class/hardware Fix bug which prevented canonical device names defined in .sid files from being set. Bug introduced in 7.0.0. * sie/class/hardware Fix PCI device names on Linux 2.4 systems to once again be "pciX/X/X" instead of "pci/X/X". * sie/class/hardware Fix Linux hardware discovery to set Driver field for SCSI devices. * sie/class/hardware Fix Linux hardware discovery to properly discover ATA diskdrive devices on Linux 2.6.17 and newer kernels which use a modified /sysfs layout vs. the original 2.6.0 layout which previously worked. * sie/class/hardware Improve DevFind() to check AltName when looking for Name matches. * sie/class/hardware Fix NULL deref core dump in DMI BOARD code resulting in reference to DevInfo variable which was not yet created. * sie/class/hardware Fix renaming of PCI "serial" controllers to be "USB..." devices on systems with DMI/SMBIOS. This resulted in occasional renaming and reclassifying serial FC disk controllers as USB devices resulting in the loss of disk devices. * sie/class/hardware On Windows systems we now skip getting free disk space data on disk devices which have removable media. If we don't do this then Windows will popup a dialog box for the user if no media is loaded. When this happens SysInfo is forced to wait until the dialog is closed. * sie/class/hardware Fix the BitSize reported for Intel CPUs to be based on the Kernel Bit Size rather than hardcoding "32" for most CPUs which is incorrect in lite of EM64T. * sie/class/hardware Add check for $MCSYSINFO_DDC_VBE in Linux BuildDDC() to allow user to disable DDC VBE probe. * sie/class/hardware Fix MacOS hardware discovery code to build disklabel code only if available. This data is not available on MacOS 10.4 and later. * sie/class/hardware Edit DevInfo Model strings to remove quote at end of strings on Solaris systems when we use the DDB database. * sie/class/hardware Fix "MAXDEVFILES (48)" warning on HPUX on systems which have more than 48 device files for a given device. * sie/class/hardware Fix Linux setting of ATA disk drive Capacity values to use /proc data over disk geometry. This is what we previously did in 6.0 and earlier. We also now set DevInfo->CapacityNum in the ATA probe. * sie/class/hardware Fix core dump on Solaris when --deub used and we probe SCSI disks. Debug output was triggering an alignment exception. * sie/class/hardware Add timers wrapped around ioctl() on Solaris systems to reduce chance of a hang during hardware discovery. * sie/class/hardware Fix bug in Sun hardware OBP code which results in random core dumps on newer platforms like the T1000. Problem was due to use of wrong probe function being set for OBPprobeCPU. * sie/class/hardware Fix bug in Sun hardware OBP code which results in random core dumps on newer platforms like the T1000. Problem was due to use of wrong probe function being set for OBPprobeCPU. * sie/class/hardware When run on Solaris check our Zone to see if it's "global" and if not warn about hardware data. * sie/class/hardware Fix bug in Solaris SPARC hardware code which resulted in SIE core dump due to a NULL deref of CpuInfo->ArchVer. * sie/class/hardware Detect and fix when a hardware entry lists itself as it's own master. This can cause the GUI to die in a loop if left untreated. * sie/class/hardware Fix rare core dump bug due to use of %lld for McDebug(). Solaris 7 x86 was the only observed platform where this caused a core dump. * sie/class/hardware Fix crash bug due to NULL deref in DMI enclosure decoding code. * sie/class/hardware Fix hardware class bug on AIX resulting in incomplete device reporting. * sie/class/hardware Fix Monitor EDID decoding of VESA v2 Serial number to correctly treat Serial as an ASCII string instead of a numeric value. * sie/class/hardware If a device Model contains "CD-RW/DVD-ROM X1234" remove the full "CD-RW/DVD-ROM" instead of leaving "/DVD-ROM" in string. We also give preference to classify such devices as DVD instead of CD now. * sie/class/hardware Fix DMI handling of memory speed, mfg, serial, and part number such that these values are only used if the DMI header length is large enough to indicate these fields are present. * sie/class/hardware Fix incorrect speed of network interfaces on Windows by ignoring bogus values obtained via NDIS. * sie/class/hardware Fix memory devices found via SMBIOS to show "empty" in Status field instead of ModelDesc to be consistant. * sie/class/hardware Fix DMI device discovery to report newer memory, CPU, BIOS, and board types to support SMBIOS v2.4 spec. * sie/class/hardware Fix problem with some "port" devices discovered by DMI not having a description and/or type. Also add DMI definetion for AGP8X and PCI-Express slot types. * sie/class/hardware Fix reporting of hardware data on X86 based systems to correctly report DMI devices once again. This bug was introduced in 6.0-alpha3. * 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/hardware Improve assocating DMI devices with devices already identify by other OS means. * 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/hardware Include missing cpuid-intel-auto.sid. * 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/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 Report memory speed from DMI as "DDRxxx" instead of "PCxxx". * 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 Update Intel CPUID database to include full listing from Intel. * sie/class/hardware Add PCI definetion for Fujitsu version of Broadcom BCM5703C. * sie/class/hardware Fix "Reliant CSB6" pci-id.cf entry from type "raid" to "ata" to properly identify connected disks. * 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/hardware Don't report totaldisk if value == 0. * 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/hardware Correctly identify cpqarray and children devices on Linux 2.6 systems. * sie/class/hardware Fix recognizition of cciss driver by adding PCI definetion for another vendor+model ID. * sie/class/hardware Fix bug on Solaris resulting in no disk drives being reported on certain x64 systems. This was due to the use of a driver name "scsiclass,00" which was not identified as a "diskdrive". * sie/class/hardware Change DMI CPU status of "Unused waiting for enabled" to simply be "UNUSED". * sie/class/hardware On MacOS add Location=internal for primary keyboard+mouse. * sie/class/hardware Add special handling for "cciss" devices on Linux to be reported as ccissX instead of with a pci... name. This properly mimicks the behavior from SysInfo on systems without SysFS. * sie/class/hardware Fix Bus Error fault on MacOS during hardware probe due to attempted write to read-only memory local via Capitolize() in IOK. * sie/class/hardware Fix device classification of PCI devices where by the Type and ClassType where sometimes not fully identified. Many devices where classified as "bridge" instead of "ctlr" and "ata". * sie/class/hardware Fix PCI database to remove a bunch of duplicates. Also improve classification of netif devices as ether1g or ether100m. * sie/class/hardware Improve AMD CPU feature detection. * sie/class/hardware Check for /usr/sbin/prtdiag location on Solaris. * sie/class/hardware Fix problem with incomplete device hierarchy on Sun T2000's due to missing PCI bus definetions. * sie/class/hardware Fix hardware class on HPUX 11.31 (11i v3) to not core dump due to unexpected extra fields in output from ioscan. * sie/class/hardware Fix CPUID on Intel to significantly improve CPU Model identification. We now use both the CPUID Processor Brand and a table based method using data from Intel. Support for newer Intel cache types has been added as well as new detection of features such as EM64T. * sie/class/hardware Clean PCI database by removing network related words from each entries description. * sie/class/hardware Add BCM5708 PCI definetion. * sie/class/hardware Fix classification of IDE and SCSI devices on HPUX to be reported as they are and not as generic "card" devices. * sie/class/hardware Fix NULL deref in StrErr() on Windows which was most evident in mntinfo.exe crashing on Vista, but could cause a .exe crash on any Windows platform. * sie/class/hardware Fix another case of Mac Keyboard/Mouse being reported with a Location=External when they are really Internal. * sie/class/hardware HPUX 11i v3 has a bug which causes a system crash when a SCSI query is attempted on an IDE device like a CD/DVD drive. We have implemented a work around to skip SCSI query on such devices on HPUX 11iv3 and later. * sie/class/hardware Fix possible segfault on Solaris due to double memory free in Solaris volmgr. * sie/class/hardware Fix core dump on Solaris SPARC systems that occasionally occur when "inq-product" is found in OBP and used for device Model. Bug occurs due to free() of bad ptr. * sie/class/hardware Fix core dump on certain types of Sun SPARC systems such as the 1280 due to write to illegal memory address. * sie/class/hardware Fix device names to insure they do not contain white space. * sie/class/hardware Fix DOS partition detection to be more reliable and resilent. * sie/class/hardware Report "cciss" devices by name similar to how they were reported with SysInfo version 6 and earlier releases. This also fixes Linux device names to be based on the driver name rather than the generic "pci..." name. * sie/class/hardware Add HP HSV entries to ignore serial. * sie/class/hardware Additional changes on HPUX to ioscan device handling to properly process new style devices from "ioscan -N". * sie/class/hardware On HPUX 11.31+ use "-N" option to ioscan to get list of devices. Some new devices will only be reported by ioscan with this option. This option causes ioscan to report the new "persistant" style device structure. This can result in a different tree of hardware being reported. * sie/class/hardware Add IgnoreSerial entry for DGC VRAID controller. * sie/class/hardware Add support for reporting "internal" or "external" for keyboard and mouse on MacOS. * sie/class/hardware Backport the SysInfo v10 Linux sysfs code to support newer Linux kernels. * sie/class/hardware Implement ability to control what SCSI queries are performed. The config var ScsiQueryTypes specifies the exact list of queries to perform and the config var ScsiQueryTypesIgnore specifies which types to ignore. * sie/class/hardware Fix Linux sysfs Block discovery to check for "partition" file and skip if found. This avoids trying to create device entries for disk partitions. * sie/class/hardware Fix Linux sysfs discovery to not probe DiskDrive devices twice. - Change CFSgetValue() to use 3 argument form from SysInfo v10. - Change CFSgetValue() first arg to be macro. - Change DosPartQuery_t to PartQuery_t. - Backport SizeStrNum() from v10. * sie/class/hardware Add "Location" to end of "name" report lines. * sie/class/hardware Limit the number of CPU devices reported to match the number of "CPU Count Socketed" if "DevCpuMatchCpuSocketed=yes" is set in a .cfg file. * sie/class/hardware Set disk Target and DeviceNumber values from names like "c1t50060E800548764Dd19s2". - Fix compile error for net/if.h on Solaris 8. * sie/class/hardware Look for SCSI timeout value first as a config variable "ScsiTimeout" and then as env "MCSYSINFO_SCSI_TIMEOUT". * sie/class/hardware Enable CPUID functions to work on Mac X86. * sie/class/hardware Fix missing "cpuX" Device class entries on Solaris SPARC. This was caused by not looking for Device Type in "devtype" and "dev_type" LDI properties. - Update kstat functions to build on latest Solaris 10 releases. * sie/class/hardware Report memory slot/DIMMs on HP-UX. * sie/class/hardware Search /sys/devices/ide0 on Linux 2.6 systems for hardware. - Update PCI and CPUID db. * sie/class/hardware Fix hardware reporting on AIX to report vhostX devices even though they are virtual and not true physical devices. * sie/class/hardware Add CpuInfo data for cache and CPU Serial on HP-UX PA systems. - Fix CmdOpen() to close stdin on CMF_READ. - Fic GCC 4.2 "will always eval to true" warnings for PRTS and PRTSW * sie/class/hardware Fix bug on Solaris hardware discovery which ceased reporting cpuX devices on Solaris 10 and later SPARC. Bug was introduced in 8-H53. * sie/class/hardware Fix bug introduced in 8-H53 which causes L1i cache data not to be reported if L0 cache data is not present. * sie/class/hardware Fix bug resulting in incomplete CPU Cache data being reported on certain Linux systems. Bug was due to auto-generated cpuX devices overwriting SMBIOS CPU/Cache data. * sie/class/hardware Fix unreported and possible seg fault in DMI PROC code where Model and Mfg vars are freed and then possible used again. * sie/class/hardware Report Solaris Virtual Disk device "vdc" (aka "sun4-virtual-disk") as a DISKDRIVE with all appropriate discovery. Previously reported as a GENERIC device. * sie/class/hardware Discovery MAC Addr on Solaris SPARC when NetIf is not configured. Works on SPARC systems which have "local-mac-address" attribute in LDI. * sie/class/hardware Fix DMI PROC decoding to transform "INTEL" to "Intel" to be consistant with other sources of "Intel". * sie/class/hardware On Linux remove duplicate "psmouse" device. * sie/class/hardware Fix duplicate values in "Ident" for memoryX devices created by DMI MEMMOD and MEMDEV. * sie/class/hardware Set Location value for memoryX devices created by DMI MEMOD and MEMDEV. * sie/class/hardware Set device Type for 'vscsi' on AIX to be ctlr. * sie/class/hardware Fix missing sda diskdrive devices on SLES 9 SP1 systems running under VMware. This and other rare Linux versions sometimes do not properly build /sys and place sdX devices only under /sys/devices/platform instead of the normal/expected locations. * sie/class/hardware Augment discovery of CpuInfo data on HPUX using machinfo command. This supplements the data from cstm which doesn't always work. * sie/class/hardware Add exception on AIX such that "vscsiX" devices are reported even if they do not have a Location provided via ODM. * sie/class/hardware Add support for "ether10g" class. * sie/class/hardware Fix "Capacity" parameter for "framebuffer" devices on MacOS to report proper value. This fix also improves decoding of IOK attributes of type "CFData". * sie/class/hardware Fix CPU Speed to be reported correctly on Sun Enterprise M3000 and similar systems. Also discovery and report CPU cache attributes as well. * sie/class/hardware Create "memoryX" devices for each DIMM on Sun Enterprise M3000 systems. * sie/class/hardware Fix CacheInfo for L1d, L1i, L2 on Mac PPC to be set to proper values. Fixes typo which set only L2 data as L1i. * sie/class/hardware Fix Solaris netif discovery of e1000g0 properties Speed and Duplex to work for the first time. * sie/class/hardware Add ability to set MacAddr on Solaris via arp(1) command. This is a backup method in most configurations, but the primary method used when run inside a Solaris guest Zone. * sie/class/hardware Fix CpuInfo Manufacturer to be "Intel" on HPUX IA64 platform. * sie/class/hardware On MacOS add Location=internal for primary keyboard+mouse. * sie/class/hardware Fix bug in internal DevFind() function which used incorrect comparison tests for NodeID matching. This could lead to incorrect device matching resulting in incorrect device attributes. No known cases have been reported. * sie/class/hardware Add test to detect another case of phantom CPU devices via SMBIOS. We now ignore CPU devices which have no Model + Mfg + Version data provided by SMBIOS. * sie/class/hardware Fix bug on Solaris which resulted in netif parameters such as Duplex not being reported on Solaris 7 and later SPARC systems. This was due to a compiler bug resulting in no /dev/$driver parameter being passed to ndd command. * sie/class/hardware Insure that "device|desc" lines which detail IP/Mac data always have "Internet" keyword even if only the macaddr is set. * sie/class/hardware Fix Vendor names by checking internal list of abbreviations. i.e. "SUNW" becomes "Sun". * sie/class/hardware Set Device Bus, DevNum, and Port for diskdrive devices which have a name of form "cXtXdX" or "cXdX". These values corespond to the SCSI Bus, Target, and LUN. This naming convention is used on Solaris. * sie/class/hardware Improve reporting of Device Serial and other data by augmenting via lscfg command. Also implemented single run of lscfg command instead of multiple runs per SysInfo query. This should improve performance on systems with many devices. * sie/class/hardware Propagate Vendor and Model values on MacOS for keyboard and mouse devices. * sie/class/hardware Check Vendor names and truncate after 2 or more SPACE chars appear back to back. This fixes names like "IBM H0". * sie/class/hardware Improve CPU Model detection on HPUX by parsing cstm output. * sie/class/hardware Properly set device Type for keyboard and mouse devices on MacOS for IOHIDKeyboardDevice and IOHIDPointingDevice. * sie/class/hardware Add DriverName mapping on FreeBSD for 3COM 3c905c to the "xl" driver. * sie/class/hardware Report "Itanium 2" instead of "Itanium" for CPU Model values. * sie/class/hardware Fix bug on Red Hat Enterprise Linux 4 on Itanium (IA64) systems which caused no CPU devices to be reported. This was due to an incorrect except test in DMI decoding which filters out CPU devices which DMI present but which really are not present. * sie/class/hardware If a CPU device doesn't have Arch set during sanitize, then try to set Arch from MCSI_CPUTYPE. * sie/class/hardware Improve ability to pull Vendor value out of Model for diskdrive based on known names of Seagate, Maxtor, WDC. * sie/class/hardware Fix network interface device names to use same lanX names recognized by system command like ifconfig and netstat. This allows for consistant naming between class Device and Netif also. * sie/class/hardware On HPUX we now obtain CPU Model and Man from machinfo(8) command as an additional source. This helps with discovery on some systems like the rx2600. * sie/class/hardware Fix Device Vendor names to remove "," and beyond values. * sie/class/hardware Fix compile problem in lrmi.c on Linux 2.6.26 and later. * sie/class/hardware Filter out Manufacturer/Vendor names for cpu's which have illegal characters. * sie/class/hardware Enhance cpuinfo data on Solaris X86 via CPUID. * sie/class/hardware Add definetion on Solaris for netif device name "e1000g". * sie/class/hardware Add special handling for "cciss" devices on Linux to be reported as ccissX instead of with a pci... name. This properly mimicks the behavior from SysInfo on systems without SysFS. * sie/class/hardware Fix Solaris device names that of form pciVVVV,DDDD to more specific driver based names when data allows. * sie/class/hardware Fix bug on Linux which results in no IP data being reported for a netif like eth1 if there is an eth0 present but not configured up and running. * sie/class/hardware Fix bug on Linux 2.6.25 and later kernels resulting in no diskdrive Vendor, Model, Serial and other data not being reported for SCSI and SATA drives. Bug was due to change in Linux 2.6 kernels in /sysfs from use of "block -> .../sda" symlinks to use of "block:sda" links. * sie/class/hardware Fix CPU discovery code based on CPUID to work once again on X86/X64 non-Solaris systems. * sie/class/hardware Fix Solaris hardware discovery to add "scsiclass,00" as type diskdrive to allow proper discovery of diskdrive devices on newer releases of Solaris 10 on some types of hardware. * sie/class/hardware Fix HPUX reporting of "memory/X" devices to be properly classified as device type "memory" instead of "generic". * sie/class/hardware Fix AIX hardware discovery on LPAR VM to discovery harddisk, cd, and ethernet devices by adding exceptions to code which skips adding devices when the "location" field supplied by AIX is empty. * sie/class/hardware Fix issue with "avoidblink" flag not being set internally in drivers like vxvm when this flag was set in mcsysinfo.cfg. There previously was no global means of setting MCSIOPT flags internally from a cfg file. * sie/class/hardware Fix Bus Error fault on MacOS during hardware probe due to attempted write to read-only memory local via Capitolize() in IOK. * sie/class/hardware Fix bug in Hardware discovery on Solaris SPARC resulting in little or no info being reported for cpu devices. This is a new bug introduced after 8-H13. * sie/class/hardware Another fix for the "Max Recursion Depth" loop bug on Solaris SPARC. This fix disables the artificial system board device creation which is the source of the problem. * sie/class/hardware Fix ProbeKbd() and LDIprobeCpu() on Solaris to use consistant function args. * sie/class/hardware Fix "Max Recursion Depth" problem on Solaris SPARC which occured on some systems which have artificial "sysboardX" devs created by SysInfo. * sie/class/hardware Fix bug in format report output for hardware which would not always report Capacity in v1 (single line) output. * sie/class/hardware Fix FRU parsing on Sun v210, v240, v440 to properly grab memory info. * sie/class/hardware Improve debug msgs on Solaris for hardware discovery. * sie/class/hardware Fix "MAXDEVFILES (48)" warning on HPUX on systems which have more than 48 device files for a given device. * sie/class/hardware Fix "CPU Architecture" on Solaris AMD64 and EM64T systems to be "x64" which is consistant with all our other supported platforms. * sie/class/hardware Add ability to read prtfru data on Solaris from file specified by env var. * sie/class/hardware Fix core dump on Solaris SPARC due to NULL deref in LdiSetBoard(). * sie/class/hardware Fix double free bug in VolMgtRelease(). * sie/class/hardware Preserve Solaris kernel names of devices such as "sdX" and "sddX" as AltName values. * sie/class/hardware Fix identification of "pci14e4,1668" devs on Solaris to be "bge". Eliminates duplicate reports for same interface. * sie/class/hardware Correctly identify cpqarray and children devices on Linux 2.6 systems. * sie/class/hardware Correctly identify cpqarray and children devices on Linux 2.6 systems. * sie/class/hardware Add mostly complete cpuid definetions for Intel CPUs. * sie/class/hardware Add mostly complete cpuid definetions for Intel CPUs. * sie/class/hardware Change DMI CPU status of "Unused waiting for enabled" to simply be "UNUSED". * sie/class/hardware Fix PCI database to remove a bunch of duplicates. Also improve classification of netif devices as ether1g or ether100m. * sie/class/hardware Fix definetion of "LSI" SCSI controller. * sie/class/hardware Check for /usr/sbin/prtdiag location on Solaris. * sie/class/hardware Fix classification of IDE and SCSI devices on HPUX to be reported as they are and not as generic "card" devices. * sie/class/hardware Fix another case of Mac Keyboard/Mouse being reported with a Location=External when they are really Internal. * sie/class/hardware Fix device names to insure they do not contain white space. * sie/class/hardware Enable CPUID functions to work on Mac X86. * sie/class/hardware Report memory slot/DIMMs on HP-UX. * sie/class/hardware Add CpuInfo data for cache and CPU Serial on HP-UX PA systems. * sie/class/hardware Fix device classification of PCI devices where by the Type and ClassType where sometimes not fully identified. Many devices where classified as "bridge" instead of "ctlr" and "ata". * sie/class/hardware Fix Hardware discovery on Solaris to use "sd" as altname for "scsiclass,00". * sie/class/hardware Improve AMD CPU feature detection. * sie/class/hardware Fix issue with "avoidblink" flag not being set internally in drivers like vxvm when this flag was set in mcsysinfo.cfg. There previously was no global means of setting MCSIOPT flags internally from a cfg file. * sie/class/hardware Add entry to ignore disk serial numbers for "LSI Volume" RAID disks. * sie/class/hardware Fix problem with incomplete device hierarchy on Sun T2000's due to missing PCI bus definetions. * sie/class/hardware Fix hardware class on HPUX 11.31 (11i v3) to not core dump due to unexpected extra fields in output from ioscan. * sie/class/hardware Add IgnoreSerial entry for DGC VRAID controller. * sie/class/hardware Fix issue with SMBIOS on some systems which report "Disabled" status for a CPU which does not exist. Such CPUs are now skipped. * sie/class/hardware Fix hardware detection of "harddisk" devices on HP Arrays. Such "Logical Volume" disks provide same Serial# as the controller and need to be excepted from serial# checks. * sie/class/hardware Fix issue in uiCLI causing class Hardware to not be reported on Windows 8. * sie/class/Hardware Implement new "SCSImodelIgnore" SID configuration value to disable specific SCSI queries by device model. * sie/class/hardware Improve accuracy of "CPU Speed" on x86 by using the CPU Speed value from the CPUID Brand string whenever possible. * sie/class/hardware Add MCSYSINFO_MONITOR_PROBE and CFS MonitorProbe options to disable monitor probing (EDID DDC VBE) on Linux. * sie/class/hardware Fix SolarFlare and Mellonax 10G cards to report 10Gb/s as speed. * sie/class/hardware Fix problem on Linux with no Size being reported for "cciss" RAID devices. Newer Linux kernels changed device path symantecs resulting in SysInfo not being able to detect the device type. * sie/class/hardware Add pci-103c-3230||cciss entry. * sie/class/hardware Fix CPUID on Intel to significantly improve CPU Model identification. We now use both the CPUID Processor Brand and a table based method using data from Intel. Support for newer Intel cache types has been added as well as new detection of features such as EM64T. * sie/class/hardware Filter out extra "CPUx" devices on MacOS to report no more than the total number of virtual CPU count. On MacOS 10.8 IOK is reporting double the virtual CPU count number of CPUx. We now look for CPUx devices which have no children and don't report such devices. * sie/class/hardware Fix reporting of wrong "SpeedNum" value for CPU devices on MacOS. The sysctl() method on MacOS 10.8 returns bad (negative) values. * sie/class/hardware Improve Hardware discovery performance on Solaris by not trying to actively "poke" devices if running Solaris 8 and later. * sie/class/hardware Add timeout handler on Solaris for Hardware discovery when we "poke" devices. * sie/class/hardware Fix some possible (but not reported) buffer overrun potention bugs in Solaris hardware discovery. * sie/class/hardware Support for L0 and L3 CPU cache types has been added with initial discovery via CPUID on Intel data. * sie/class/hardware Clean PCI database by removing network related words from each entries description. * sie/class/hardware Fix class Device naming of NETIF devices on Mac to use the "BSD Name" (os name) of the device in order to match the class NETIF names. * sie/class/hardware Report the Speed of a NETIF Device on Mac. * sie/class/hardware Change PCI vendor id for 0x11ab to "Marvell". * sie/class/hardware On Mac the Device class no includes output from ioreg and system_profiler with --debug. * sie/class/job Fix parsing bug of cron files which could cause some cron jobs not to be reported or report incomplete "Program Cmd" values. * sie/class/job Fix crontab parsing to allow for TAB. * sie/class/license Fix possible coredump in flexlm scans due to null deref in lmstat output. * sie/class/license Fix LicenseDestroy() to work on all known attributes of License_t. - Add new Registry functions on Windows McRegValueType(), McRegBasePath(), McRegProductName(). - Fix Office 2010 key decoding to work using new offset value. * sie/class/license Fix flexlm probe code to initialize MCSIquery_t structure prior to each use. * sie/class/MntInfo Remove "(MB)" from label values in MntInfo as they are redundant from values. * sie/class/netif Fix netif device names to support emX and pXpY conventions on Linux like RHEL 6.1. This fix also will honor similar new conventions which may arise. * sie/class/netif Fix "MTU" for netif's to be reported once again on AIX. This stopped working when we started doing #undef _XOPEN_SOURCE_EXTENDED to fix a problem on HPUX. This broke AIX and possible other platforms. * sie/class/netif Fix debug output on Windows to include "ipconfig /all" output. * sie/class/netif Fix segfault issue on Linux during NetIf discovery on older Linux which have very sensitive memory allocation methods. * sie/class/netif Fix possible core dump issue in NetIf related discovery when parsing ifconfig(1) output primarily on Linux. Also added enhanced loop detection in NetIfAdd() code. * sie/class/netif Fix core dump when reading certain dhcp lease files on Linux. We incorrectly where subtracting string pointers instead of time_t values in DhcpSanitize(). * sie/class/netif Fix error in debug message statements in HPUX lanadmin parser which could result in core dump when debug is enabled. * sie/class/netif Fix MAC address discovery on HPUX via lanadmin to insert leading '00' elements as necessary since the address displayed by lanadmin may ommit leading '00'. * sie/class/netif Improve validity checks of DLPI Mac Addr discovery to check for garbage content. * sie/class/netif Fix MACaddr discovery on HPUX to work when DLPI fails. The DLPI discovery was setting MACaddr but as a zero length string which prevented the lanadmin parser from setting the discovered MACaddr. The generic DLPI MACaddr discovery has been fixed to check for MACaddr strings which are < 11 chars. - Integrate 9-H35 into main (10.0.0). * sie/class/netif Fix NetIf Address ordering to list INET4 addresses first for best backward compatibility. * sie/class/netif Fix bug causing wrong macaddr to be reported on AIX systems which have virtual netif's. * sie/class/netif On Linux use /proc/net/dev as additional list of netif's to augment those found by ifconf. On Linux ifconf does not list any netif's which are not configed with IP addr, but /proc/net/dev lists all netifs. * sie/class/netif Fix Speed value for "79c970" and "VMware Virtual NIC" to be 1Gb. * sie/class/netif Fix problem with duplicate macaddr being reported on Solaris systems with eg0000X interface names as well as similar names with digits after alpha. * sie/class/netif Fix internal NetIf class to use NetIfInit(). - Add --no-test-harness option to build. - Integrate 8-H52 into 9-H8. * sie/class/netif Fix bug on Windows where the "Network/X" name would sometimes be duplicated for different interfaces due to use of a static buffer. * sie/class/netif Fix bug on Solaris with netif names like "e1000g" not reporting MAC address. This is due to use of digits in driver portion of device name. * sie/class/netif Add more debug msgs for MAC info. * sie/class/netif On Linux use /proc/net/dev as additional list of netif's to augment those found by ifconf. On Linux ifconf does not list any netif's which are not configed with IP addr, but /proc/net/dev lists all netifs. * sie/class/netif Fix core dump due to MacAddr parsing. - Update pci-id and cpuid sid. * sie/class/netif Fix bug causing wrong macaddr to be reported on AIX systems which have virtual netif's. * sie/class/netif Fix Speed value for "79c970" and "VMware Virtual NIC" to be 1Gb. * sie/class/netif Fix Speed value for "79c970" and "VMware Virtual NIC" to be 1Gb. * sie/class/netif Fix problem with duplicate macaddr being reported on Solaris systems with eg0000X interface names as well as similar names with digits after alpha. * sie/class/netif Add support for "nxge" NetIf on Solaris. * sie/class/netif Fix setting of Speed and Duplex on AIX for netif's. We need to properly check for mapping of "enX" to "entX" names to insure we check the database for the right dev name. * sie/class/netif Fix all output of MAC Address in class Device, NetIf, and VmGuest to be in a consistant format of "xx:xx:xx:xx:xx:xx". * sie/class/netif Don't attempt to find MAC Address on loopback netif's since they don't have one. * sie/class/netif For DLPI method we now remove virtual unit from device name. e.g. For hme0:1 we look for /dev/hme instead of /dev/hme0:. * sie/class/netif Fix HPUX to report MAC Address even if no IP address is configured for an interface. * sie/class/netif Fix bug resulting in bogus Broadcast addr being reported due to uninitialized data structure. * sie/class/netif Add support for setting Duplex for NetIf's on HPUX. * sie/class/netif Automatically calculate Network Address and Broadcast Address if we have the Host Address and Network Mask. This allows us to provide this data on platforms like Windows which do not normally provide Broadcast and Network Address data directly. * sie/class/netif Fix class Device and Netif to discovery and report multiple IP address info on the same (named) interface. i.e. 2 IP assigned to interface "en0". We previously supported this interface aliasing only when the interface name was different (e.g. "eth0.1 eth0.2"). Currently this is working on AIX only. * sie/class/netif Improve accuracy of NetIf Speed and Duplex values reported on Linux. * sie/class/netif Fix Netif class data on HPUX to report Speed and Mac Address. These values were previosly only reported in class Hardware. * sie/class/netif Convert Netmask values of "0x..." to be in "X.X.X.X" format. * sie/class/netif If NetAddr is not set but HostAddr and NetMask are known, calculate NetAddr. * sie/class/netif Fix mac address (macaddr) not being reported on AIX for class netif. It was correctly reported as part of class Hardware. Also added discovery of netif Speed and Duplex on AIX. * sie/class/netif Fix bug on Solaris with netif names like "e1000g" not reporting MAC address. This is due to use of digits in driver portion of device name. * sie/class/netif Fix missing inet6 addresses on Linux when an interface has only inet6 and no inet4. * sie/class/netif Fix problem on HPUX with no IP address being reported for each NetIf. This bug introduced in H25. * sie/class/netif Add debug error if a NetIf HostAddr or GatewayAddr cannot be resolved to a HostName. * sie/class/netif Fix IPv6 on Solaris 11 to work properly when both IPv6 and IPv4 addresses are configured on one interface. * sie/class/netif Fix IPv6 on Solaris to report interfaces with IPv6 only. * sie/class/netif Allow reporting of different interface Flags and MTU for each address record on the same interface. The NetIf class has been extended to support this by adding "MtuSize" and "Flags" to NetIfAddr. * sie/class/network Add ability to correctly identify certain virtual netif devices like "vnetX" as type VIRTUAL instead of the default value of PHYSICAL. * sie/class/network Do not report "(none)" as NisDomain value. - Checkpoint main. Auto-generate ShowInfo data. * sie/class/network Report "Windows Workgroup Name" and "Windows AD Server Names". We were discoverying these values, but not reporting them. * sie/class/network Fix API to parse and report on Windows Domain Name and Windows PDC. Data was discovered, but not being reported. * sie/class/network Add ability to correctly identify certain virtual netif devices like "vnetX" as type VIRTUAL instead of the default value of PHYSICAL. * sie/class/network Add support for "Default Gateway IPv6" in Network class on Windows. * sie/class/partition Fix PartInfo data to not report "UNUSED" by default for Usage. * sie/class/partition Fix Usage reporting of "partition" data on Solaris to report partitions used by ZFS as "STORVOL" with Manager (new field) "ZFS". Previouisly ZFS partitions where reported as "UNUSED". * sie/class/partition Fix report output for partition class to include the DevPath value in the Name field for "data" output lines. * sie/class/partition Fix partition Size on IA64 EFI partitions under Linux to be correct MB value. * 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/partition Fix bug on Solaris which caused no ufs partitions to be reported due to error in handling of "rdev" number. * sie/class/partition Fix parted code on Linux to parse machine parsable "-m" output and to output sector values directly instead of size values which are converted back. We also bundle a parted binary now so older systems can use parted. * sie/class/partition Fix bug in parted parsing which could cause a partition "0" to be reported which is bogus. * sie/class/partition Fix PartInfo data to not report "UNUSED" by default for Usage. * sie/class/partition Fix Usage reporting of "partition" data on Solaris to report partitions used by ZFS as "STORVOL" with Manager (new field) "ZFS". Previouisly ZFS partitions where reported as "UNUSED". * sie/class/partition Fix partition Size on IA64 EFI partitions under Linux to be correct MB value. * sie/class/partition Fix bug on Solaris which caused no ufs partitions to be reported due to error in handling of "rdev" number. * sie/class/partition - Fix duplicate partitions being reported * /fix/sie/class/partition - Fix duplicate partitions being reported due to bug introduced to avoid hang when an NFS mount is fixed. * 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/class/patch Fix Patch discovery to work on Windows Vista and later using wmic. * sie/class/patch Fix UI bug that caused very long runtimes on Solaris (and possibly other OS) when the "all" class was requested. There was an inefficient parsing of Patch class files in the UI layer resulting in extremely long runtimes. * sie/class/printer Fix Printer functions to merge results from multiple sources. Fix PrinterLp to support CUPS style "ipp://..." and "socket://..." URLs in output from "lpstat -v". Add support for Server Port to Printer class output. Fix PrinterLpstat() to use CmdOpen() instead of popen() for improved error handling and consistancy. * sie/class/printer Look for "name@server" in Printer Queue values and split this into Queue and Server values. * sie/class/printer Display the site provided description of each print queue in the summary line. We were previously trying to use the wrong variable to display this info. * sie/class/printer Fix core dump in Printcap parser due to NULL deref. * sie/class/printer Fix Printer functions to merge results from multiple sources. Fix PrinterLp to support CUPS style "ipp://..." and "socket://..." URLs in output from "lpstat -v". Add support for Server Port to Printer class output. Fix PrinterLpstat() to use CmdOpen() instead of popen() for improved error handling and consistancy. * sie/class/printer Fix core dump in Printcap parser due to NULL deref. * sie/class/service On HPUX remove the method of Service class discovery which ran /etc/rc scripts using the "start_msg" argument. Some non-compliant apps accepted "start_msg" to be to restart the service rather than just print the message about what is to be started. * sie/class/service Fix service names on Solaris 10 and later to use their full official svcs name in order to uniquely identify services which have similar names like "network/login". * sie/class/service Fix Service class on Linux to report State value. * sie/class/service Fix inittab service platforms like AIX to report BootEnabled=YES. * sie/class/service Fix Service class on HPUX to provide StopNum, BootLevels. * sie/class/service Add environ check for MCSYSINFO_SERVICE_RCSTARTMSG=yes to enable running of "rc startmsg" commands to probe for services on HPUX. * sie/class/service Allow use of RC start_msg to discover Service class data on HPUX if the config value RcStartMsg=yes is set in mcsysinfo.cfg. * sie/class/service On HPUX remove the method of Service class discovery which ran /etc/rc scripts using the "start_msg" argument. Some non-compliant apps accepted "start_msg" to be to restart the service rather than just print the message about what is to be started. * sie/class/service Fix service names on Solaris 10 and later to use their full official svcs name in order to uniquely identify services which have similar names like "network/login". * sie/class/service Fix Service class on Linux to report State value. * sie/class/service Fix inittab service platforms like AIX to report BootEnabled=YES. * sie/class/service Fix Service class on HPUX to provide StopNum, BootLevels. - Fix CmdOpen() to close stdin on CMF_READ. - Fic GCC 4.2 "will always eval to true" warnings for PRTS and PRTSW - Add CMF_QUIET flag to Cmd_t. - Add 3c905 PCI def. - Consolidate _PACK_ definetion to defs.h. * sie/class/siteinfo Fix null deref problem in siteinfo parsing. * sie/class/siteinfo By default now a sample Siteinfo value called "SampleKey" is enabled in the $InstallDir/config/siteinfo file. * sie/class/siteinfo Fix core dump when siteinfo entry has empty/blank "value" field due to null deref. * sie/class/siteinfo Fix bug so that a user's $HOME/.mcsysinfo/siteinfo file is now read (if present). We were previously checking //.mcsysinfo/siteinfo. This bug was due to using $HOME which is reset to HOME=/ by our wrapper. * sie/class/siteinfo Fix core dump when siteinfo entry has empty/blank "value" field due to null deref. - Update PCI and CPUID db. * sie/class/siteinfo Correct report format output to not show the "siteinfo|prop|...|Var|..." line at the end of the "siteinfo|name|...|" line. * sie/class/softinfo The Report V2 function has been changed to use the autogenerated function for the bulk of the property reporting. - Complete work to make Output Overrides work. - Re-work fix in core and UI to make InstDate report properly and still be backwards compatible and consistant. Instead of forcing MM/DD/YYYY we go back to default locale Time format and update uiCliShowSoftware to handle this case. - Add support to mcsiclassx to call StrNewlineEscW() as needed based on "newlines" boolean in XSD. * sie/class/software Fix Oracle E-Biz discovery to remove debug code which may cause discovery to fail. * sie/class/software Fix Oracle DB discovery to not check exit status from discovery attempt commands like "env". This makes it more robust in the event of errors in user oracle's env. * sie/class/software Fix SDL so that DataTree_t can be passed as function vars. - Switch SDL from ezxml to libxml2 in order to handle Oracle E-Biz XML. * sie/class/software Fix bug in SDL handling of "$array[x]" values which could cause core dump or incorrect results. * sie/class/software Fix SDL Exit() function to work properly and not loop. * sie/class/software Fix problems in HPUX software discovery which could lead to empty Version data being reported. * sie/class/software Fix SoftInfo Name values on AIX to remove any version string which may appear. Use any longer version string found for the new Version value. This is necessary when lslpp reports on packages installed by rpm. * sie/class/software Improve Windows software duplicate detection between MSI and Registry methods by looking for previous (current run) discovered entries for the same entry. * sie/class/software Update Description for Category and SubCategory. * sie/class/software Fix build dist to include all SDL scripts. Many where accidentially left out. * sie/class/software Force the "Installed Date" (InstDate) field for Software to always be in format MM/DD/YYYY. This insures proper reporting on all platforms and corrects the UI defect of reporting "1969" as install dates in some cases/platforms. - Further improvements to filtering of duplicate Windows products. * sie/class/software Improve filtering of SoftInfo->Version on Windows. * sie/class/software Improve duplicate elimination of Software products on Windows. * sie/class/software Improve cleaning of software Name values to remove Version if it appears inside of Name not just at the end of Name as before. * sie/class/software Fix bug in software discovery on AIX which can lead to infinite loop of discovered packages. This occurs when we auto create a package for a new pkg's parent without a Version for the parent and then later we re-add the parent with a Version. We now update the internal hashtables in this case. * sie/class/software Avoid reporting duplicate software entries for packages/products which have no Version. In particular the "System/YaST" PRODUCT on SLED 11 was being reported multiple times. * sie/class/software Don't truncate software package names which have "NNNANNN" (N=number, A=alpha) patterns. This is true with certain Oracle packages on Solaris. * sie/class/software Fix bug in software report output which resulted in some "software|name|..." lines have missing fields. This resulted in fields like the Vendor field appearing in different sequence from software product to product. * sie/class/software Fix BEA Weblogic discovery to support discovery of multiple weblogic versions via process list. * sie/class/software Fix BEA Weblogic discovery to support discovery of multiple weblogic versions via process list. * sie/class/software Fix segfault on MacOS due to casting issue in printing debug output for ProcID. New bug in 9.0.0. * sie/class/software Fix SoftInfo discovery on AIX to use lslpp output instead of ODM. This improves reliability and consistancy at a small performance cost. - Solaris 7 + other build fixes. * sie/class/software Fix use of uninitialized variable in SDL intepretor in SdlDataTypeArrayStr(). Not tied to reports of any failures. * sie/class/software Fix Oracle DB discovery to look for failed return status and abort further queries. Fixes possible hang if user oracle prompts for input. * sie/class/software Enable support for multiple versions of the same package to be reported when discovered via SPS modules. * sie/class/software Implement $MCSYSINFO_SOFTWARE_CATEGORY_AIX support in AIX. * sie/class/software Fix SPS interface to support multiple packages per module. Also add per module runtime reporting via debug. * sie/class/software Fix AIX Software discovery to properly handle DiskUsage calculation for multiple version packages. * sie/class/software Fix AIX Software discovery to support $MCSYSINFO_SOFTWARE_SLINK_TARGET_SIZE env var to use target of symlinks for size calc instead of symlink itself. * sie/class/software Fix Software discovery on AIX to not overwrite BaseDir if pkg has multiple versions installed. * sie/class/software Fix RPM software discovery to not terminate Desc (Summary) at first newline or period. * sie/class/software Fix Software rpm discovery to not truncate Desc (Summary) at first period, but instead to look for period + SPACE or period + NL. * sie/class/software When using $MCSYSINFO_SOFTWARE_BASEDIR_SUFFIX make sure we don't add it when it's not needed. * sie/class/software Fix Software Websphere discovery to be more consistant in naming and use EntryType of product. * sie/class/software Check for environ var MCSYSINFO_SOFTWARE_BASEDIR_SUFFIX and if found append to all BaseDir software entry values. * sie/class/software Fix AIX software discovery to calculate BaseDir to be directory with most disk usage if the MCSYSINFO_SOFTWARE_BASEDIR_BY_SIZE environment var is set to "yes". The default remains to calculate based on the highest level common dir. * sie/class/software Fix AIX software discovery to use lslpp(1) command to extract pkg file lists instead of directly extracting from ODM. The direct extract is not portable to newer AIX versions resulting in missing or incomplete file lists. * sie/class/software Fix Sybase ASE to correctly set Version and other data for ASE version 12 in addition to ASE version 15. * sie/class/software Fix AIX ODM software discovery to use lslpp(1) command to list file sets for packages for which we could not find file set data directly via ODM. * sie/class/software Fix Sybase SPS module to ensure that the Desc field is set. * sie/class/software Change "IBM" to "IBM Corporation" for SPS modules. * sie/class/software Fix SPS Oracle AS discovery to look for * sie/class/software Fix SPS Weblogic to properly associate weblogic-server and weblogic-platform. * sie/class/software Remove extra args appearing in Apache HTTPD Version such as "(Unix)". * sie/class/software Fix SPS module for Sybase ASE to not coredump while parsing VPD file when --widechar is used on Solaris. * sie/class/software Fix Sybase ASE SPS module to report ASE with a name of "sybase-ase" consistantly. * sie/class/software Fix missing software size data on AIX due to improper ODM environment initialization. * sie/class/software Fix Sybase ASE SPS module to report ASE with a name of "sybase-ase" consistantly. * sie/class/software Fix missing software size data on AIX due to improper ODM environment initialization. * sie/class/software Make SPS VendorName values consistant. * sie/class/software Fix SPS Apache HTTPD discovery to set BaseDir based on dir name of httpd not two levels up. i.e. It's now "/usr/sbin" vs. "/usr" previously. * sie/class/software Fix rare core dump due to divide by zero bug in SoftFileBuildSet(). * sie/class/software Fix Solaris Software scanning to build the DiskUsage data from "contents" file prior to extracting PKG data so it can be set by the PkgExtract() function. * sie/class/software Automatically calculate DiskUsage in post processing stage if not set and BaseDir is available. Previously this was done only in specific cases. * sie/class/software Fix SPS Sybase ASE discovery to support the "vpd.properties" inventory found in ASE 15.0. * sie/class/software Fix SPS Oracle AS discovery to create a top level Product parent node which owns all the AS packages. * sie/class/software Fix SPS Oracle DB discovery to hardcode a VendorName value for Oracle. * sie/class/software Fix SPS discovery of IBM WebSphere AppServer to properly set BaseDir and DiskUsage. * sie/class/software Disable Tibco Rendezvous SPS discovery since it was causing rvd daemon to be run (if not already running). It is also deprecated because newer RV versions use the native OS software registry. * sie/class/software Fix HPUX VendorName handling to cache full name values so they are available for sub-packages. * sie/class/software Fix AIX Software discovery BaseDir to properly alloc memory instead of re-using previos buffer resulting in many bogus BaseDir values. This was a bug introduced by the previous AIX BaseDir fix. * sie/class/software On HPUX we now use the "title" field for VendorName if the "vendor" tag is set. This results in more consistant and full company names being reported. * sie/class/software Use new "SwMan" definetion from .cf files to set canonical VendorName for software. * sie/class/software Fix Software discovery on AIX to not count multiple versions of the same package when determining a package's DiskUsage. * sie/class/software Improve Oracle DB SPS discovery by doing find for sqlplus in $ORACLE_{BASE,HOME}. * sie/class/software Add MCSYSINFO_SWLIST_{PRODUCT,SUBPRODUCT} env options for HPUX software scanning. * sie/class/software Fix the Apache HTTPD SPS discovery code to provide BaseDir and DiskUsage values. * sie/class/software On HPUX during Software discovery the user can disable the "fileset" level of (full) data from swlist by setting the env var MCSYSINFO_SWLIST_FILESET=no. * sie/class/software Do not report on software packages that have zero length Name values. * sie/class/software Add /usr/apache to directories to search for apache httpd. * sie/class/software Fix bug with missing software packages on Solaris due to hash key calculation bug. * sie/class/software Fix bug in MemToWide() function which resulted in missing software packages being reported when --widechar was enabled and RPM was used as data source. * sie/class/software Fix Software data on HPUX to properly report software versions in the Version field and not the revision field. * sie/class/Software Fix bug in AIX Software discovery where by the BaseDir of each package was never reported due to lack of data from ODM. We now calculate BaseDir based on the most common directory of all files in a package. * sie/class/software Fix rpm software scanner to look for DIRNAMES tag if ROOT tag is not present, in order to determine the package's BaseDir value. * sie/class/software Fix core dump on Solaris when Software is being discovered. Bug was due to insufficient buffer for child (Slave) names in reportsoftinfo.c and insufficient buffer size detection. * sie/class/software Fix Software discovery on HPUX to properly allocate memory for Revision, BaseDir, and VendorName instead of using same memory. This caused problems if SoftwareDestroy() was called. * sie/class/software Fix NULL deref bug causing incomplete Software class data due to not checking for zero length SoftInfo->Name. * sie/class/software Fix bug in Software discovery on HPUX which caused infinite loop. Also fixed bug in same code for parsing quoted text. * sie/class/software Fix Windows bug causing fatal Exception when encountering certain strings from software products found via Registry. Problem was a NULL deref. * sie/class/software Fix Windows bug causing software versions such as "0.1.2" to be reported as ".1.2". * sie/class/software On Windows we now remove "(remove..." and similiar strings from software product names. * sie/class/software Enable support for multiple versions of the same package to be reported when discovered via SPS modules. * 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 Implement $MCSYSINFO_SOFTWARE_CATEGORY_AIX support in AIX. * sie/class/software Fix SPS interface to support multiple packages per module. Also add per module runtime reporting via debug. * sie/class/software Fix Software output on Windows to work once again. Previous changes for I18N broke software collection on Windows. * sie/class/software Enhance AIX Software discovery to support BaseDir calculation based on largest file count in a directory. * 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 Fix AIX Software discovery to properly handle DiskUsage calculation for multiple version packages. * sie/class/software Fix AIX Software discovery to support $MCSYSINFO_SOFTWARE_FILEONLY_SIZE env var to use filesize only for size calc. * 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/software Fix SPS Weblogic to not use fgetws() since XML parser doesn't support widechar. * sie/class/software Remove SoftFileList_t and replace with NextByPkg and NextAll members of SoftFileData_t. * 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/software If one of the software build functions failed, then we were returning no software data even if one had succeded. We now return software data with just one function returning data. * sie/class/software Fix weblogic discovery to add parsing for license.bea license file in addition to registry.xml. Also fix an infinite loop bug in weblogic discovery which occurs if there is a parsing error in the XML. * sie/class/software Add "InstDate" and "InstDateTime" support for MacOS by artificially creating data from key directory mtime values. Works about 85% of the time. * sie/class/software Fix discovery of Oracle DB to look for it using running processes. This also allows discovery when Oracle is not installed as user "oracle". Multiple instances of Oracle are also discovered if they have a running process. * sie/class/software Change InstDate and BuildDate fields to consistantly report dates in full locale specific format. Add InstDateTime and BuildDateTime fields which report values as numeric times. * sie/class/software Fix possible NULL deref in software class reporting functions. * sie/class/software Fix bug in discovery of Oracle DB v10 due to incorrect environment variable ORACLE_BASE setting. * sie/class/software Fix problem with detection of Weblogic v8 not being reported. * sie/class/software Fix bug in software report output which resulted in some "software|name|..." lines have missing fields. This resulted in fields like the Vendor field appearing in different sequence from software product to product. * sie/class/software Fix Oracle DB discovery to look for failed return status and abort further queries. Fixes possible hang if user oracle prompts for input. * sie/class/software On AIX add Version to autogenerated software packages. When generating parent use the child's Version. * sie/class/software Fix NULL deref core dump bug introduced in previous HF in debug messaging for creating new parent's of software nodes in some cases. * sie/class/software Fix bug in software discovery on AIX which can lead to infinite loop of discovered packages. This occurs when we auto create a package for a new pkg's parent without a Version for the parent and then later we re-add the parent with a Version. We now update the internal hashtables in this case. * sie/class/software Don't truncate software package names which have "NNNANNN" (N=number, A=alpha) patterns. This is true with certain Oracle packages on Solaris. * sie/class/software Fix core dump problem on Software discovery due to null deref in ProcessFind() code. Bug is triggered when no process command (Cmd) is set. * sie/class/software Fix BEA Weblogic discovery to work if multiple instances of different Weblogic versions are running. * sie/class/software Fix BEA Weblogic discovery to work if multiple instances of different Weblogic versions are installed when doing a file search. * sie/class/software Fix BEA Weblogic discovery to support discovery of multiple weblogic versions via process list. * sie/class/software If MCSYSINFO_PKG_BASEDIR_BY_FILE=yes on Solaris then BaseDir will be set using the most common package file path if no BASEDIR value is found in the pkginfo file. - Seperate SoftInfoAdd() into SoftInfoAddPkg() and SoftInfoAddList(). * sie/class/software Fix Oracle DB discovery to support discovery of multiple Oracle DB versions which use a single tnslsnr process. * sie/class/software Fix use of uninitialized variable in SDL intepretor in SdlDataTypeArrayStr(). Not tied to reports of any failures. * sie/class/software Fix BaseDir setting on AIX for packages which have only a single directory listed in ODM. Package bos.rte.libnetsvc is one example. * sie/class/software Add "InstDate" and "InstDateTime" support for MacOS by artificially creating data from key directory mtime values. Works about 85% of the time. * sie/class/software Fix 5 SDL parser casting issues none of which are likely to result in any actual defects. * sie/class/software Fix core dump problem on Software discovery due to null deref in ProcessFind() code. Bug is triggered when no process command (Cmd) is set. * sie/class/software Fix NULL deref in class "Software" during Oracle DB discovery when adding the db entry to the software tree. * sie/class/software Fix Weblogic discovery to discard "=" at start of path obtained from process list. Multiple processe results are now searched and the first valid one is used. * sie/class/software Add support for reading $prefix/config/local.cfg if found. * sie/class/software Add support for discovery of weblogic 8.1. * sie/class/software Add ability to set "SoftwareSearchPath" in a .cfg file (local.cfg). This var is used by SPS modules like Weblogic to specify a colon seperated list of directories to search for select SPS modules. This value overrides the search paths built into each SPS module. * sie/class/software Revert apache http and bea weblogic discovery methods from SDL back to the same SPS modules used in 7.0.1. * sie/class/software Fix Weblogic SDL script to search common directories. * sie/class/software Fix Weblogic SDL script to look in ".." from install dir for registry.xml. * sie/class/software Fix possible memory corruption issue on AIX caused during software discovery via ODM. We were calling free() on a value provided by a libc library and which may not have expected this. * sie/class/software Fix Weblogic SDL script to actually work. * sie/class/software Fix bug which prevented SDL scripts from being run. * sie/class/software Fix discovery of Oracle DB to look for it using running processes. This also allows discovery when Oracle is not installed as user "oracle". Multiple instances of Oracle are also discovered if they have a running process. * sie/class/software Fix bug in discovery of Oracle DB v10 due to incorrect environment variable ORACLE_BASE setting. * sie/class/software Fix problem with detection of Weblogic v8 not being reported. * sie/class/software Change InstDate and BuildDate fields to consistantly report dates in full locale specific format. Add InstDateTime and BuildDateTime fields which report values as numeric times. * sie/class/software Fix NULL deref in class "Software" during Oracle DB discovery when adding the db entry to the software tree. * sie/class/software Fix error in SWTAG parsing which caused no tags to be found in parsed xml tree. * sie/class/software On AIX add Version to autogenerated software packages. When generating parent use the child's Version. * sie/class/storsys Fix bug reading data from NetApp filers via rsh resulting in no data being reported on certan platforms. Fixed result compare of fprintf() return value to account for newline. Fixed lack of data in tmp file by adding fflush() after rsh output read is complete. * sie/class/storsys Fix problem with NetApps not being discoveried at all due to bug introduced in 6.0.2. * 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/class/storsys Fix nafiler core dump due to NULL de-ref in volume sort function. * sie/class/storsys Avoid creating meaningless core dumps on HPUX when required shared libs are not present for emcclar and emcsym drivers. We now perform checks for all mcsi drivers using ldd(1) to look for missing shared libs. * sie/class/storsys Fix bug reading data from NetApp filers via rsh resulting in no data being reported on certan platforms. Fixed result compare of fprintf() return value to account for newline. Fixed lack of data in tmp file by adding fflush() after rsh output read is complete. * sie/class/storsys Fix nafiler core dump due to NULL de-ref in volume sort function. * sie/class/storsys Avoid creating meaningless core dumps on HPUX when required shared libs are not present for emcclar and emcsym drivers. We now perform checks for all mcsi drivers using ldd(1) to look for missing shared libs. * 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/class/storvol Fix memory corruption issue on aixlvm on systems with 20 or more volume groups as listed by "lsvg". * sie/class/storvol Fix missing vxvm support which was accidentially removed in a prior release on Solaris, HPUX, and AIX. * sie/class/StorVol Remove "(MB)" from Descripton fields of various StorVol attributes. * sie/class/storvol Add vol group name to VmVendor and VmProduct report lines for StorVolume. * 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/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/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 LVM discovery on HPUX to handle multiple volume groups. * sie/class/storvol Fix linuxlvm bug which resulted in only some LVs being reported for VGs with multiple LVs. * sie/class/storvol Fix memory corruption issue on aixlvm on systems with 20 or more volume groups as listed by "lsvg". * sie/class/storvol Fix timeout issued on AIX with aixlvm by raising timeout to 900 seconds from 15. * sie/class/storvol Fix LVM discovery on HPUX to handle multiple volume groups. * sie/class/storvol Fix linuxlvm bug which resulted in only some LVs being reported for VGs with multiple LVs. * sie/class/vmguest Add support for GuestMacAddr, GuestHostname, GuestIpAddr on HPVM. * sie/class/vmguest Enable "UUID" reporting for VMware Guests. * sie/class/vmguest Fix VmGuest support for VMware to report guest IP Address, Hostname, and MAC address. * sie/class/vmhost Add VMware host check to Solaris. We previously where not detected being in a VMware host running Solaris. * sie/cli Insure that --encode xml output is always output in alphabetical by Name order. This is required in order to be compliant with SysInfoV2.xsd. * sie/cli The order classes are listed with --class are now the order the data is reported in. Previously the order was fixed. * sie/cli When --show and '--msglevel terse' are both set, do not output header meta data. * sie/cli Fix possible core dump bug when "--list show" is used. * 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/cli When --show and '--msglevel terse' are both set, do not output header meta data. * sie/config Update PCI device database (config/pci/pci-id.cf) with new and updated entries. * sie/config Move pci files from config/pci-* to config/pci/pci-*. * sie/core Add support for Linux 3.x kernel based systems. Document support for Fedora 15 + 16 and Ubuntu 11. * sie/core Fix StrToArgv to have STRUTIL_NO_TRIM_SPACE option and use this from LDI VirtualTree. - Fix minor warning in mkdirhier.c * sie/core Fix parsing of DevDefine entries to ignore values which have all SPACEs. * sie/core Fix copybytes() to only operate if SrcLen <= DstLen. - Latest CPUID and pci ID db. * sie/core Improve Cmd functions on Windows. * sie/core Fix bug in StrSplit() which could return incorrect Arg count value if the input String contains leading whitespace. * sie/core Fix mcregex Error String to be properly formated. * sie/core Fix StrEdit() to avoid buffer overrun. * sie/core Fix parser for .cfg and .rcf files to remove end double quote if the value is only 1 char. * sie/core Validate --repsep to insure alpha chars are not specified. * sie/core Fix Date functions to use sizeof() instead of LengthW(). This could cause some date strings not to be parsed. * sie/core Fix DirFind() and Find() functions to work on Windows. - Fix SwtagMCSI() discovery to work on Windows. * sie/core Fix mchash table bug which caused bad key values to be stored when WIDE keys are used. This caused problems like Solaris software packages not reporting DiskUsage values. * sie/core Improve general performance by adding additional checks in the messaging layer debug functions to determine as early as possible if debug is enabled and if not stop processing the debug message. * sie/core Enable earlier debug messages by checking for new MCSYSINFO_DEBUG=yes environ var. * sie/core Fix several NULL deref bugs in XML output code which resulted in seg faults. * sie/core Fix possible NULL deref in xml output function OutputXmlProp() and OutputXmlPropW(). * sie/core Fix Seg Fault when --debug is used and a command run for debug purposes takes more than 10 seconds to complete on Solaris. * sie/core Fix StrSplit() to honor ArgcPtr limits. This fixes a problem on AIX Patch class parsing which utilizies this. This bug was introduced in 9.0.0-alpha0. * sie/core Fix CmdReadLine() to detect EOF and set State to CMD_EOF. - Minor cleanup of REG_OK values. - Checkpoint SDL. * sie/core Fix possible memory buffer overwrite in mchash. * sie/core " due to attempted write of non-writable memory. * sie/core Fix MchDestroy() to properly destroy everything. * sie/core Fix CmdReadLine() to detect EOF and set State to CMD_EOF. * sie/core Fix possible buffer overflow condition in calls to swprintf() all relating to Software class data. - Fix uninitialized variable. - Add missing freebsd-declare.h. - Update buildfinish for ia64. - Fix SunOS CPU functions to use new Status_t convention. - Fix casting/warning errors in ipmitool. - Fix buildprep file mode issues. - Fix SPS Oracle AS build on Windows. * sie/core Fix possible memory buffer overwrite in mchash. * sie/core Implement xfree() front-end to free() and improved * sie/core Fix core messaging Msg* functions to use proper wide printf functions on a file handle stream if wide mode is enabled for that stream. This fixes the problem where wide debug output on platforms like Linux were not displayed. * sie/core Re-arrange ShowPlatformDebug() such that debug output is displayed together. * sie/core Fix core dump in SIE during PrivsShow() due to NULL deref when a group cannot be looked up. * sie/core Fix rare (never reported) NULL deref in StrSplit(). * sie/core " due to attempted write of non-writable memory. * sie/core Fix several cases where we reset ptrs to alloced memory, yet did not re-alloc the memory resulting in double free's. * sie/core Update Device tree cleansing with new * sie/core When output report data we now search for occurances of the report seperator sequence (--repsep) in each data field. Any exact occurance of this sequence is edited to be all SPACE characters. * sie/core Fix MchDestroy() to properly destroy everything. * sie/core Update checks for "MacOS X" to include checks to support "MacOS X Server". * sie/core Add McStatus() call to get string meanings of Status_t values. * sie/core Fix NULL deref crash when debug is on and a CmdOpen() uses an env var to read data. * sie/core Fix possible buffer overflow condition in calls to swprintf() all relating to Software class data. * sie/core Fix sie to accept and do nothing with --installpost. * 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 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/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/core Use My*() functions to get OS info for CFKVvar() in preference to using uname and other specific methods. Result is cleaner and slightly faster runtime startup. * 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 Fix incorrect handling of changing our real UID to 0 when executing some external OS commands. * 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/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/core Look for ".*123456789" as a REGEX in DMI strings and ignore these values as they are probably uninitialized by the vendor. * sie/core Avoid possible stack corruption in Report*() functions by using improved initialization code. Also fix casting and declarations in strutil.c. * sie/core Fix PCIid_t to be unsigned int from unsigned long to to compatible with sscanf(xxx, "%x"). This fixes a bug with PCI device naming on 64-bit systems such as AMD64. * sie/core Ignore values of "none" from DMI for such things as System Serial Number. * sie/core Avoid sending SCSI "SPEED" query to EMC devices to avoid bug in EMC's which causes the EMC to crash. * sie/core Translate Application Arch of "iX86" to be "x86". We were previously incorrectly reporting KernArch/CpuArch's such as "i686" as the App Arch. * sie/core Translate internal references of "iX86" to "x86". * sie/core Cleanup sie GNUmakefile file list. * 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/core Fix NULL deref bug in DestroyArgv[W]() which likely causes core dump on AIX during software discovery. Other failures may be related as well. * sie/core Fix mcsiwrapper in 7.0 to run as root and remove setuid-root from all other binaries. * sie/core Enable build of product with dmalloc. Production distributions are not built with this enabled. * sie/core Fix core dump due to overwrite of memory in StrNewlineEscW() which occurred sometimes in class Software on AIX. * sie/core Fix mchash table bug which caused bad key values to be stored when WIDE keys are used. This caused problems like Solaris software packages not reporting DiskUsage values. * sie/core Fix several cases of possible memory faults due to calls to swprintf() being given length values in excess of actual buffer length. - Integrate 6.0 to 7.0. - Use LengthW() macro for StrAppendW() calls. * sie/core Fix ListAdd functions to use first slot of List_t if not used already. * sie/core Fix problem reading SID files which would start to work but after opening a number of SID files the pathname to the SID directory would become corrupted. * sie/core Improve general performance by adding additional checks in the messaging layer debug functions to determine as early as possible if debug is enabled and if not stop processing the debug message. * sie/core Enable earlier debug messages by checking for new MCSYSINFO_DEBUG=yes environ var. * sie/core Raise timeout on SysInfo drivers from 15 to 900 seconds by default except for mntinfo which remains at 15. * sie/core Fix Seg Fault when --debug is used and a command run for debug purposes takes more than 10 seconds to complete on Solaris. * sie/core Fix bug in StrSplit() which could result in extra arguments being returned if the split string ends with an extra space. * sie/core Fix ProcessGet() to only run gather ps data once and re-use it for future calls. * sie/core Fix NULL deref bug in DestroyArgv[W]() which likely causes core dump on AIX during software discovery. Other failures may be related as well. * sie/core Implement ability to build code with dmalloc. * sie/core Fix ProcessGet() to only run gather ps data once and re-use it for future calls. * sie/core Fix a possible memory fault error in StrCatW() due to specifying incorrect buffer length to swprintf(). - Use LengthW() macro for StrAppendW() calls. * sie/core Fix core dump due to overwrite of memory in StrNewlineEscW() which occurred sometimes in class Software on AIX. * sie/core Fix "drop privileges" fatal error. Due to bug in mcMiniSysInfo and effects UI. * sie/core Add more reported data to Cmd timeout handler. * sie/core Fix problem with invoking SysInfo with "./mcsysinfo ..." not finding the correct ProductDir. Bug introduced in 10-H39. * sie/core Fix Path* functions to use CfProductGetDir() in place of relative paths to invocation program. Effective only when there is a problem with the config files not being properly installed. * sie/core Fix instances of readlink() in lslpp.c, softfile.c, and mcsiwrapper.c which failed to NULL terminate the link path. Some OS like older MacOS do not NULL terminate the link buffer. * sie/core Fix EnvSet() to work when given a null Env array. This fixes problem with no Env vars being given by mcsysinfod to mcsysinfo(1). - Fix internal license.mcl to have 128 max CPU from 4 for version 10. * sie/core Undo last change to use /etc/mcsysinfo/${version}/product.cfg and switch to dynamic check at runtime using the mcsiwrapper canonical path. This fix also removes suid from all binaries except mcsiwrapper. * sie/core Fix security bug which allowed for root exploit. * sie/core Use our own getnameinfo() on Solaris to avoid SEGV faults after getnameinfo() calls due to apparant bug in Solaris 10 0606 version of this function. * sie/core Do not install signal handler for SIGSEGV so we can still get core dumps. * sie/core Fix AddrStrToHost() to work with IPv6 by using getnameinfo(3) where available. * sie/core Update AddrStrToHost() based on gethostbyaddr(3) to support IPv6. Other implementations already support IPv6. * sie/core Updates to support MacOS 10.8 Mountain Lion. * sie/core Add Signal Handler to catch and report faults. * sie/core/hardware Fix CPU Model definetion for "Xeon X5355". * sie/driver Increase general SysInfo driver timeout from 300 to 900 seconds. This helps on systems which have many storvol devices in particular. * 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/drivers Fix Driver search path to only have one dir to search. This avoids duplicate calls when discovering drivers. * sie/encode Fix XML output to filter reserved chars "&", "<", and ">" to proper XML values. * sie/general Fix "OS Distribution" and "OS Distribution Version" to properly report Windows Vista edition names such as "Business" and "Ultimate". * sie/general Fix "OS Distribution" and "OS Distribution Version" to properly report Windows Vista edition names such as "Business" and "Ultimate". * sie/hardware Add System Model Macmini2,1 to map as "Mac mini". * sie/hardware XML output of CacheInfo is now reported. Previously it was not output in XML. * 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/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/mcl Fix bug in licensing resulting in bad data being used when multiple valid licenses were found. * 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/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/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/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 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/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 Fix device names for disk drives to be "cXtXdX" instead of "diskX". * sie/platform/HPUX Fix class License to work once again on HPUX. Changes since 5.0 broke our ability to find lmstat. * sie/platform/hpux Do not report psuedo devices such as "tgt" disk target drivers in class device. * 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/IA64 Fix "CPU Model" to work on IA64 using DMI data. * 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/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/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/linux Check disk geometry results from /proc and ignore any which start with a '-' which indicates Linux is confused about the disks geometry. * sie/platform/mac Update system model definetions for Apple Mac's. * 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/storsys/nafiler Fix bug in nafiler driver which resulted in missing disks and incorrectly named ctlrs due to parsing bug. * 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/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/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. * 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 several possible bugs in Solaris code discovered from ANSI C declaration conversion. * 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/platform/windows Fix various compile warnings on Windows. * sie/report Fix report output for wide data to print "name" field if the Name (narrow) data member is empty. We now correctly check NameW to see if it's set. * sie/report Fix ReportDataW() with R_PROP to always output Ident field. Previously this field was not output if Ident or Name was empty. This needs to always be output to be consistant with narrow function ReportData(). * 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". * sie/sdl Fix SDL parser trying to free memory that's already freed. We now explicitly mark all allocated symbols and free only symbols marked as allocated. * 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. * 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. * sie/ui Update embedded perl for Solaris SPARC from 5.8.5 to 5.10.0 in order to address issue with long runtimes (appearing to be hangs) for --class all on some systems which have many patched files. * sie/ui Add check for env $MCSYSINFO_DEBUG==yes in UI API. * sie/wrapper Fix SetPrivs() to allow non-root setuid() to be permitted. * sie/wrapper Instead of using command line perl script to determine perl -I args, write the script to a file and then run that file. This is required for Windows which doesn't handle perl code on the command line. * sie/wrapper If "--show" and "--format report" are both given call SIE directly since the UI layer cannot handle this combination. * srcdist Include mcsysinfod/StartupParameters.plist in source distributions. * ui Fix reporting of NetIf addresses to be INET4 instead of INET6 for backwards compat. * ui Fix UI handling of strings with '%' to avoid perl printf problems. * ui Remove '%' chars from debug and CLI output messages to avoid perl barfing on it when used in printf(). * ui Remove ",*" from vendor names when building a device summary. * ui Do not refer to ".." for "use lib" calls in sysinfoui as this can lead to a significant performance hit if we are run in $HOME and /home is automounted. * ui Fix Hardware summary line to include device Status. * ui Fix bug causing Software entries to not be displayed under their parent products when using Tree format in the CLI and GUI. * 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 Fix "supported" english language typo. * ui Improve wrapper to provide more baseline information to other parts of build process. * ui Translate 'device' to 'hardware' when specified with --class. This insures proper handling by mcSysInfo(). * ui Fix various typos in Perl code which resulted in perl warnings when run with 'strict' checks. * ui/class/software Don't set date for InstDate and BuildDate since this should be done in sie now. * ui/cli Fix bug which results in all class data being displayed when '--format report --show XXX' is given. We now properly display only the requested 'XXX' item + the meta data. * ui/cli Add "--font" to "--help" output. * 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 $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/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/cli Fix bug which results in all class data being displayed when '--format report --show XXX' is given. We now properly display only the requested 'XXX' item + the meta data. * ui/core Fix problem with fatal error during startup if there is a copy of sysinfo installed as /opt/sysinfo and another installed elsewhere. The later copy will fail with perl errors because we were looking at the /opt/sysinfo copy when we shouldn't. * ui/gui Fix Windows SysInfo icon to remove extraneous white noise around edges. * 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. * 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 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/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. * 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. * ui/wrapper On Linux make sure --BUILDPLATFORM returns a valid value on non-redhat based dists. * ui/wrapper " label to beginning of all debug output lines. Also capture $0 as $ProgramName and re-use $ProgramName to avoid $0 changing. * ui/wrapper Fix "i?86" apparch and cpuarch values to be "x86". * wrapper Fix wrapper to handle being invoked as a symlink as was possible with pre-6.0 versions. ######## OTHER CHANGES ######## * Misc various libmcsysinfo/*/*.c files to use correct mcsysinfo/$file.h. - Create new DateToTm, DateToTime, TimeToTm functions. * Misc x*alloc() debug support. Also add ability to build code with DUMA for debugging. * Misc x*alloc() debug support. Also add ability to build code with DUMA for debugging. * Misc "/oracle/.*/java" process. * Misc remove ".DSP*" and ".." which are commonly used by WebSphere packages. * Misc DeviceRemove() and Pseudo*() functions. * Misc from config/*.cf to lib/sid/*.sid. Revamp * Misc internal CF*() API to new Sid*() API. * Misc calls to *alloc() functions requesting negative memory. * 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. * Misc * Release 5.1.1 GA. * Misc - Update LICENSE.* to 7.1. - Version 7.1.0-beta0 * Misc error when mcsysinfo*.sh is extracting. This is a bug in some shell programs when LANG is set to a UTF8 encoding. This bug has been noted on HPUX 11.23. * Misc - Update Process*() interface to handled ps type at runtime. * Misc - Fix "make install" for "config" not installing *.in files. Does not effect installs using setup. - Fix "make install" to not install dev files. Added "make install.dev" for installing dev files. * Misc error when mcsysinfo*.sh is extracting. This is a bug in some shell programs when LANG is set to a UTF8 encoding. This bug has been noted on HPUX 11.23.