============ VERSION 10-GA (2010/12/07) ============ ######## NEW FEATURES ######## * class/general Add "OS Install Date" (in SoftInfo) for HPUX, Linux, MacOS, Solaris. * class/netif Add IPv6 support for Windows. * class/netif Add new attributes ID, Description, and AltDescription. * 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. * 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. * 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. * 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. * 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. * sie/class/general Add new "Location" attribute to General class. * 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. * sie/class/netif Add IPv6 discovery on Solaris and AIX. Also we now use ifconfig cmd for IPv4 discovery. * 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. * sie/class/software Add OS Install Date support for MacOS X and HP-UX. * 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. * 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/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/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. * 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. * 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. * sie/class/general Fix segfault error on AIX during discovery of "boot time" and "up time". Error occured when /etc/utmp was corrupted. * 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. * 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 "Kernel Bit Size" on SunOS 5.6 SPARC to report "32" instead of "64" even on sparcv9 systems. * 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). * sie/class/hardware Grab DevInfo->Vendor from DevInfo->Model after ATA query. This code was Linux specific but is applicable to all ATA. * 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 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 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. * 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(). * 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. * 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. * 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. * 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. * 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. ============ 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 new Process class. * doc/ReleaseNotes Add support for SLES 11.0. * doc/ReleaseNotes Re-write Supported System Matrix to make it easier to determine what Classes and features are supported on each platform. * 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 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/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 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 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 CacheInfo for L1d and L2 on MacOS to not be a copy of L1i data due to typo. * 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/software Fix use of uninitialized variable in SDL intepretor in SdlDataTypeArrayStr(). Not tied to reports of any failures. ============ VERSION 7.1.0-alpha0 (2007/01/01) ============ ######## NEW FEATURES ######## * class/general Add support for "CPU Count - Physical" on Windows systems with Intel CPUs. ######## BUG FIXES ######## * build Add ifdef checks for linux .h files on Fedora 6. * 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. * 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/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/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/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 support $MCSYSINFO_SOFTWARE_SLINK_TARGET_SIZE env var to use target of symlinks for size calc instead of symlink itself. * sie/core Fix CmdReadLine() to detect EOF and set State to CMD_EOF. * 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 possible buffer overflow condition in calls to swprintf() all relating to Software class data. ######## OTHER CHANGES ######## * Misc x*alloc() debug support. Also add ability to build code with DUMA for debugging. ============ 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 Fix bug in expat test that resulting in configure thinking expat was present when it was not. * 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 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-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 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) ============ ######## 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 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 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 ######## * 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/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 Add new "Location" data as part of each "device" entry (where available). * sie/class/hardware Linux systems now correctly identify SATA devices instead of type SCSI. * 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. * sie/class/hardware Add new database of USB vendors/devices IDs which are currently used for Linux hardware discovery. * sie/class/software Give "HelpLink" preference over "URLinfoAbout" on Windows for value of URL. * sie/cli Add new --prefix option. * sie/core Add platform debug info. * sie/core Include new "ClassTypeDesc" in report output. This provides the Device Class Type Description. * sie/core Move all config/mibs files into lib/mibs. * 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. ######## BUG FIXES ######## * 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. * 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. * 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. * 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. * 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 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 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 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 hardware class bug on AIX resulting in incomplete device reporting. * 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/license Fix flexlm probe code to initialize MCSIquery_t structure prior to each use. * 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 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 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 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/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 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 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. ============ VERSION 6.0-GA (2006/01/25) ============ ######## NEW FEATURES ######## * api Update API layer to handle --logfile. * 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 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 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/make Move buildinfo.c files from each executable into libmcsysinfo to satisfy linking on Windows. * build/make Update libmcsysinfo GNUmakefile for cleaner output. * class/siteinfo A sample "siteinfo" file is now installed by default into $prefix/config/siteinfo during installation. * class/software Add Software Product Specific discovery of Tibco Enterprise Message Service. * class/software Add Software Product Specific discover of Sybase Adaptive Server Enterprise. * 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/ReleaseNotes Update Supported Systems list to add MacOS 10.4 as officially supported. * mcsysinfod Look for "DebugFlag=1" in mcsysinfod.cfg at runtime. * 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 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 special software discovery of Apache HTTP Web Server. * sie/class/software Cleanup software related datatypes and consolidate into software specific header files. * 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 Add new URLhelp, URLupdate, and InstSource members of class Software. * 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. * sie/core Add support for "--repsep %p" being translated into "--repsep |" in order to support cases where "|" is intepreted by a shell. * 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. * sie/core Update cpuid.c debugging statements for consistancy. * sie/core Add new GetCpuInfoDmi() function and support changes. * sie/core Replace cpuidasm.s with inline asm(). * 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. ######## BUG FIXES ######## * build Enable standard GCC compiler warnings on Windows. * build Fix configure test for VxVM to correctly set "no" when VxVM is not available. * build Fix mcdadd to not require "-d" option. * 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/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. * 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. * 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. * 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. * 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. * 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 Report "Current Time" in local timezone not UTC. * 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 Fix hardware detection to ignore serial numbers for disks Vendor="HITACHI" and * sie/class/hardware Check disk/CD/DVD devices for "DVD" in model and remove from model string. * sie/class/hardware Add PCI definetion for Fujitsu version of Broadcom BCM5703C. * 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. * sie/class/storvol Fix AIX LVM (aixlvm) driver to correctly report Volume Groups as "StorVolGroup" and Logical Volumes as "StorVolume". * 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 GetHostNameCanonical() to check for hostname==localhost. * sie/core Remove use of global "ProgramName" variable in libmcsysinfo. * sie/core Fix VersionGet(Terse) to not have newline at end of returned string. * sie/core Replace McsiOpts->OutputFile with LogFile to more clearly reflect it's purpose. * 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. * 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 use of ConfDir var with CFconfDirPath() function which now accepts setting ConfDir. * sie/core Fix use of MsgClassFlags to be hidden and require use of mcSysInfo() to set. * 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. * sie/core Add PrimaryUserName to PSI to allow for portability. * 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/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/sun Fix bug which resulted in missing CPU's on Sun Fire 6800 systems (and others) which have LDI node names of "cpu". * sie/platform/sun Fix bug resulting in incorrect "cpuX" device names being used. We were not looking for "cpu_id" and "portid" as LDI properties for the "X" value. * sie/ui Improve runtime startup by having mcsiwrapper pass MCSYSINFO_* env vars containing OS Name, OS Version, etc. mcMiniSysInfo() uses these values if set. If not set, it falls back to running uname(1) and other commands. * 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 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 "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. ######## 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. ============ VERSION 5.1.3-GA (2005/03/10) ============ ######## NEW FEATURES ######## * 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/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". * class/hardware Fix DMI decoding of CACHE size to work properly with larger cache size values (>= 1MB). * 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 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 Fix '--format report' cache bug which caused the cache file path under /tmp to not include the product version. * 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. * build Modify buildinfo to call sysinfowrap.in to obtain bulk of platform variables instead of having duplicate code. * build Use "include @VarsMF@" instead of reading in @VarsMF@ in GNUmakefile's to avoid having to rebuild GNUmakefile's whenever Vars.mf changes. * build Build Solaris SPARC using GCC instead of Sun Studio CC. * 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 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 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/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 Add initial support for Windows configuration. * build/configure Automatically run autoconf to create ./configure in each subdir which has its own configure.in. * 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/filesys Add reporting of swap devices in filesys class output on AIX and HPUX. * class/filesys Add new report attributes SizeKB, AmtAvailKB, AmtUsedKB for FileSystem entries. These values contain sizes in KB instead of MB for greater precision and closer matching to what "df" reports. * class/general Add "OS Install Date" (in SoftInfo) for HPUX, Linux, MacOS, Solaris. * class/general Add support for "CPU Count - Physical" on Windows systems with Intel CPUs. * class/hardware Add support for detecting NVME disk devices on Linux. * 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/netif Add IPv6 support for Windows. * class/netif Add new attributes ID, Description, and AltDescription. * 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/software Add Software Product Specific discover of Sybase Adaptive Server Enterprise. * class/storsys The StorSys Pro license is no longer required. The functionality is provided with the base license. * 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. * config Change .cfg variable ExecPath and SysInfoPath to be comma seperated instead of colon seperated to allow for Windows/DOS pathnames. * doc Update Release Notes to note support for MacOS 10.9 and 10.10. * 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. * 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/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. * 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 include root and running process requirements for software detection. * doc/ReleaseNotes Update Supported Systems list to add MacOS 10.4 as officially supported. * doc/UserGuide Document General Data Class. * doc/UserGuide Add chapter on SiteInfo data. * 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. * 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. * mcsysinfod Look for "DebugFlag=1" in mcsysinfod.cfg at runtime. * 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. * 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 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. * 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 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/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. * sie/class/general Add new "Location" attribute to General class. * 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 Add new "Up Time" value in class General. * sie/class/hardware Add new WWID field to Device. Supported on Linux only for now. * 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. * 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 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 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 Linux systems now correctly identify SATA devices instead of type SCSI. * 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. * sie/class/hardware Add new database of USB vendors/devices IDs which are currently used for Linux hardware discovery. * 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 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/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/netif Add IPv6 discovery support on MacOS X. * sie/class/netif Add IPv6 discovery on Solaris and AIX. Also we now use ifconfig cmd for IPv4 discovery. * 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/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/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. * sie/class/software Add OS Install Date support for MacOS X and HP-UX. * 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. * 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 Give "HelpLink" preference over "URLinfoAbout" on Windows for value of URL. * sie/class/software Add special software discovery of Apache HTTP Web Server. * sie/class/software Cleanup software related datatypes and consolidate into software specific header files. * 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 Add new URLhelp, URLupdate, and InstSource members of class Software. * sie/class/storvol Add new Storage Volume class. * sie/class/storvol Add support for Veritas Vol Mgr in storvol. * sie/class/storvol Add driver to support Solaris Volume Manager and older Solstice DiskSuite. * sie/class/vmguest Improve VmGuest detection of VMware software to support VMware Server 2.0. * sie/class/vmhost Add support for discovery of whether we are running inside Microsoft Hyper-V guest. * 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 --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 Improve ATA debug output. * sie/core Add improved reporting of DMI "Port" data using Internal and External string values from DMI. * sie/core Improve debugging messages. * sie/core Add new config vars ClassesAllowed and ClassesNotAllowed to allow control over what classes can and cannot be run. * sie/core Add support for identifying Windows 8.1 and later. Previously any version of Windows >= 8.1 would be reported as version 8 due to "compatibility" handling by Microsoft. * sie/core Add support for MacOS 10.11 (El Capitan) * sie/core Debug lines now include short timestamp by default. Setting MCSYSINFO_DEBUG_TIMESTAMP enables verbose timestamp as before. * sie/core Add Profile data on each Class. * sie/core Add support for Ubuntu Linux. Includes support for using dpkg(1) for Software class. * 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 platform debug info. * sie/core Include new "ClassTypeDesc" in report output. This provides the Device Class Type Description. * sie/core Move all config/mibs files into lib/mibs. * sie/core More declaration cleanup and conversion to ANSI declarations. * 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. * sie/core Add support for "--repsep %p" being translated into "--repsep |" in order to support cases where "|" is intepreted by a shell. * 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. * sie/core Update cpuid.c debugging statements for consistancy. * sie/core Add new GetCpuInfoDmi() function and support changes. * sie/core Replace cpuidasm.s with inline asm(). * 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/mac Update system models. * sie/doc Add official support for Oracle Enterprise Linux (OEL). * 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 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 Add OS Dist support for reporting HPUX Operating Environment info. * 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 Improve debugging messages. * ui/gui Update SysInfo and MagniComp logos to latest versions. * 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. ######## 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/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 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 Update build system to support alternate objroot and testroot locations. * build Fix some test harness values. * build Builds for Linux x86 are now done solely on Fedora 2 instead of the previous Red Hat Linux 7.1 + Fedora 2. RHL 7.1 is dropped due to the inability to obtain security patches for openssl code which is built into the "nafiler" StoreVol driver. * build Fix build "make install" for lib/sdl to properly install sdl scripts. * 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 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. * 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 Enable standard GCC compiler warnings on Windows. * build Fix configure test for VxVM to correctly set "no" when VxVM is not available. * build Fix mcdadd to not require "-d" option. * 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 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 Fix syntax errors in configure when run in non-MagniComp environments. * 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/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 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 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 bug in expat test that resulting in configure thinking expat was present when it was not. * 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/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/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/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 Intel CPUID code to only set CoreCount and ThreadCount if not already set. * class/general Fix "kernel bits" in General class to report "64" on 64-bit Windows. * 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/partition Fix report of duplicate partitions on Linux. * class/storsys Fix minor memset() warning in nafiler. * class/storsys Fix rare core dump in nafiler due to NULL deref. * class/storsys/nafiler Link in -lcrypto statically with the NetApp driver in order to work across more Linux distros such as SuSe. * config Fix configure to use -DOS_IS_${osname} to replace -D${osname}. * 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/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. * 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 Update release notes to doc Sun X64 serial number support. * doc/ReleaseNotes Clarify IA64 and HPUX/Linux supported system info. * 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 Do not install "GNUmakefile" on windows in "config". * install Use double quotes for mcsysinfod when adding Windows service. * 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 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 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. * 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 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. * mcsiclassx Fix problem in FileUtil handler for Windows paths. * mcsiwrapper Update wrapper for Windows to work again in light of changes made for setuid-root issues on UNIX. * mcsysinfod Don't run with --debug by default anymore. * 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 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. * 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/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. * 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. * 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 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 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. * 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/core Move check for running as uid=0 from sie to mcsiwrapper. * sie/class/core Major changes to how Cmd handles environment variables. Consolidated internally handling of env for Cmd functions. Use stripped env when running commands as uid=0. When Cmd does not need to be run WithPriv use the original effective uid (running user's) or user nobody as last resort. * sie/class/core Replace use of popen() with Cmd in order to restrict env vars and run with appropriate privs. * sie/class/core Implement multiple levels of timestamp on debug messages. Set MCSYSINFO_DEBUG_TIMESTAMP to "0" (no timestamp), "1" (time only), or "2" (date + time). * sie/class/device Fix bug causing corruption of boot label of /dev/vdX devices on Linux. These devices do not support SCSI queries but need extra checks to avoid SCSI query (SID "SCSIdriverIgnore" key). Implemented general check for "vd" driver to avoid SCSI query. Also more carefully check SCSI query version result and not try SCSI query if version == 0 or the version inquiry fails. * sie/class/device Change method of finding existing devices from searching recursively through device tree to using a much faster hash table. This significantly speeds up device discovery on systems with thousands of devices. * sie/class/device Improve filter of CPU names to remove "()" and "(null)" * sie/class/device Fix problem with CPU's with no cache not being reported when they should be. * sie/class/device Implement fix for SMBIOS which report the same Serial for ENCLOSURE and SYSBOARD. In such a case the Serial is cleared from SYSBOARD so that a dup error is not triggered when adding the SYSBOARD device. * sie/class/device Improve debug messages for SCSI query on linux. * sie/class/device Update SMBIOS handling of MEMDEV to use ExtSize attribute when present and per SMBIOS standard. * sie/class/device Fix rare SEGV when building device stat info of /dev on Solaris. In certain cases a timer was left running when a stat failed. When that timer was triggered unexpectedly it would cause a SEGV. * sie/class/device Fix bug causing only 1 "cpuX" device to be reported on x86/x64 systems. This was caused by a fix introduced after 10-H34 to consistantly report cpuX devices using an internal hash table for caching. * sie/class/device Add support for "vda" diskdrive devices as found with certain VMware products running on Linux x86/x64. * 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/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/filesys Fix filesys to report Size for "swap" entries on Linux. * sie/class/filesys Fix FileSys and Partition code to more accurately report filesystem size and usage by using the same GNU method (fsusage) as the GNU df(1) command. * 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/general Fix "CPU Model" on HPUX Itanium to include "2" if CPU is "Itanium 2". * sie/class/general Fix "Memory Size" calc when using SMBIOS MEMDEV dimms which have ExtSize attribute. This bug was part of previous problem not reporting correct size of such dimms. * sie/class/general Fix "System Model" on Solaris SPARC to source model from "banner-name" prop in LDI if available. Adjust overall model value filtering to not convert dash to SPACE whenever a SPACE is already present in model. * sie/class/general Fix reporting of "OS Dist Name" on Solaris 10 U11 and later which should report value as "solaris" but was reporting "oracle". * sie/class/general Fix DMI null deref bug when SysInfo is run as non-root. * sie/class/general Add Sun model entry for "ORCL_SPARC64-X" to use OBP banner for model. * sie/class/general Fix "CPU Speed" on certain Solaris SPARC systems which reported very large values far in excess of possibility. The problem was in the use of 32-bit values obtained from OBP. We now ignore such values and use kstat data. * sie/class/general Add support for recognizing Oracle Enterprise Linux (OEL) as OS Distribution. * sie/class/general On AIX add the ability to use the "Entitled Capacity" value from lparstat in place of "Active Physical CPUs" via the CpuCountPhysLparEntitled config option and MCSYSINFO_CPUCOUNTPHYS_LPAR_ENTITLED=yes env option. * sie/class/general Add OS Dist definitions for MacOS 10.9 and 10.10. * sie/class/general Add code names Mavericks and Yosemite for MacOS. * sie/class/general Add "OS Dist Man" support for CentOS. * sie/class/general Fix bug in General when getting the OS update level on AIX that sometimes caused SysInfo to fail. Bug was due to a timer not being turned off when running oslevel. * 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 "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 "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 "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 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 "Kernel Bits" to show 64 on 64-bit Windows. * 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 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. * 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. * sie/class/general Fix segfault error on AIX during discovery of "boot time" and "up time". Error occured when /etc/utmp was corrupted. * 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. * 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 "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 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 core dump issue on Solaris when retrieving Serial Number on systems with "oem-banner" in OBP. * 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 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 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 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 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 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 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 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 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. * sie/class/general Fix "Number of (Physical) CPUs" to acurately report on X86 systems with hyperthreading CPUs. * sie/class/general - Fix bug introduced after H42 which caused DMI CpuInfo to not be found via * /fix/sie/class/general - Fix bug introduced after H42 which caused DMI CpuInfo to not be found via query. * sie/class/hardware Don't report totaldisk if value == 0. * sie/class/hardware Improve reporting of System Serial on Solaris SPARC by using the prtpicl command. * sie/class/hardware Add override for CPU Model Xeon X5355 * sie/class/hardware Use WWID in preference to Serial# to detect duplicate devices. * sie/class/hardware Add detection of loop when determining the Parent of a device. * sie/class/hardware On Linux add support for netif's which have a controller parent device and a child device. * sie/class/hardware Fix Linux hardware discovery to remove memory leak when searching sysfs for device files. * 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 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 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 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/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 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". * 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 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 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). * sie/class/hardware Grab DevInfo->Vendor from DevInfo->Model after ATA query. This code was Linux specific but is applicable to all ATA. * 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 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 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 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 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 CacheInfo for L1d and L2 on MacOS to not be a copy of L1i data due to typo. * 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 Fix Solaris device names that of form pciVVVV,DDDD to more specific driver based names when data allows. * 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 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 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 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 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 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 hardware class bug on AIX resulting in incomplete device reporting. * 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 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 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 Fix hardware detection to ignore serial numbers for disks Vendor="HITACHI" and * 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 Add PCI definetion for Fujitsu version of Broadcom BCM5703C. * sie/class/hardware Add checks to DMI PORT and CACHE to filter out generic values like "None". * 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. * 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 Add more debug msgs for MAC info. * sie/class/netif Detect and avoid netif names that are garbaled. * sie/class/netif Fix problem with MAC address not being reported on RHEL 7 due to changes to ifconfig output. * sie/class/netif Fix "netif" reporting of IP v4 and v6 addresses to work on RHEL 7. * 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/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. * 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 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(). * 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/network Add support for "Default Gateway IPv6" in Network class on Windows. * 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/partinfo Fix label in Partition output for several items which reported "(MB) (MB)" to be "(MB)". * sie/class/partition On MacOS 10.7+ we can parse output from diskpart(8) to get basic Partition info. Requires diskpart which supports "list -plist" command. * sie/class/partition Add support for reporting Partition data on HPUX (11.23 and later). * sie/class/partition Do not include mounted filesystems in list of partitions by default. To include mounted devices (old behavior) set $MCSYSINFO_PARTINCLUDEMNT=yes or config var PartIncludeMnt=yes. This will prevent Logical Volumes from being reported as Partitions. * 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/patch Fix Patch discovery to work on Windows Vista and later using wmic. * 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/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/softinfo The Report V2 function has been changed to use the autogenerated function for the bulk of the property reporting. * 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 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/software Fix Oracle E-Biz discovery to remove debug code which may cause discovery to fail. * sie/class/software Fix SDL so that DataTree_t can be passed as function vars. * 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 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 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. * 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. * sie/class/software Fix use of uninitialized variable in SDL intepretor in SdlDataTypeArrayStr(). Not tied to reports of any failures. * 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 support $MCSYSINFO_SOFTWARE_SLINK_TARGET_SIZE env var to use target of symlinks for size calc instead of symlink itself. * 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 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 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 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 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 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 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 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. * sie/class/storevol Fix StorVol detection of Logical Volumes on newer Linux like RHEL 6.5 which changed the format of lvdisplay output to put the pathname as "LV Path" and "LV Name" was changed to be the basename. * sie/class/storevol Fix StorVol LV size parsing on Linux to handle new "GiB" value. * 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/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. * 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/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 AIX LVM (aixlvm) driver to correctly report Volume Groups as "StorVolGroup" and Logical Volumes as "StorVolume". * 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/vmhost Search device tree for VmHost signatures. * 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 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/config Update PCI device database (config/pci/pci-id.cf) with new and updated entries. * 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 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 security vulnerability where --configfile could be used to specify a world-writable file which was comprimised * sie/core Fix bug in new AllowedClasses that caused Device to be ommitted when "--list class" is run. * sie/core Add "@" char as a legal character for path names. * sie/core Allow SPACE in path names for config dir, etc. * sie/core Fix safe path tests to support Windows. * sie/core Fix size string reporting of "1.0 TB" to "1 TB". * sie/core Add MCSYSINFO_DEBUG_SIZE=yes to enable SizeStr debug. * sie/core When reading input from a file in place of running a command, we now correctly set success status to 0. * sie/core Fix DMI code for SysInfo and Enclosure to look at multiple Results not just the first. * sie/core Update Windows code to remove TCHAR and use explicit char and ANSI function calls. * sie/core Clean Windows API dynamic function loading code to consolidate most functions and use cleaner pattern. * sie/core Build nafiler with current patched openssl lib. * sie/core Fix possible segfault issue in var.c substitution when a certain error occurs. * sie/core Fix problem with SetUserID() for Cmd on MacOS. Use setuid() and seteuid() instead of setreuid() on all platforms to improve portability. * sie/core Previous change to enable timestamp on each debug line by default caused the timestamp to appear on normal stdout as well. * sie/core Fix segfault issue in AddrStrToHost() on MacOS (and present on other OS) when translating address to hostname. * sie/core Fix StrTrim() to trim leading space not just trailing space. * 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 EnvSet() to work when given a null Env array. This fixes problem with no Env vars being given by mcsysinfod to mcsysinfo(1). * 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 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 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. * sie/core Fix parsing of DevDefine entries to ignore values which have all SPACEs. * sie/core Fix copybytes() to only operate if SrcLen <= DstLen. * 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. * 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. * 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 possible buffer overflow condition in calls to swprintf() all relating to Software class data. * 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 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 Update checks for "MacOS X" to include checks to support "MacOS X Server". * sie/core Fix sie to accept and do nothing with --installpost. * sie/core Fix several problems at startup resulting in not finding our perl on Windows due to mangled file path handling. * sie/core Fix GetHostNameCanonical() to check for hostname==localhost. * sie/core Remove use of global "ProgramName" variable in libmcsysinfo. * sie/core Fix VersionGet(Terse) to not have newline at end of returned string. * sie/core Replace McsiOpts->OutputFile with LogFile to more clearly reflect it's purpose. * 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. * 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 use of ConfDir var with CFconfDirPath() function which now accepts setting ConfDir. * sie/core Fix use of MsgClassFlags to be hidden and require use of mcSysInfo() to set. * 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. * sie/core Add PrimaryUserName to PSI to allow for portability. * 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 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/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/hardware Fix cpuX device naming inconsistancy on Solaris X86 between "sysinfo --class device" and "sysinfo". * 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 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 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/AIX Fix missing "return" values. * 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/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/IA64 Fix "CPU Model" to work on IA64 using DMI data. * 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/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 problem on Linux 2.6 where by SCSI devices where not attached to their controller (parent) devices. * 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/sun Report improved "System Model" on Fujitsu systems. * sie/platform/sun Report "Kernel Bit Size" on Solaris Fujitsu systems. * sie/platform/sun Fix problem with CPU frequency on Solaris Fujitsu systems being incorrectly reported. * 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/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/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 security vulnerability in "sdl" executable that allowed any unprivileged user to access any local file or run a command as root. * 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 Add check for env $MCSYSINFO_DEBUG==yes in UI API. * 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. * 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/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 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 Fix reporting of NetIf addresses to be INET4 instead of INET6 for backwards compat. * 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 '--format report' cache bug which caused the cache file path under /tmp to not include the product version. * ui/class/software Don't set date for InstDate and BuildDate since this should be done in sie now. * 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/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 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/gui Fix Windows SysInfo icon to remove extraneous white noise around edges. * 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 "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. * 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/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 " label to beginning of all debug output lines. Also capture $0 as $ProgramName and re-use $ProgramName to avoid $0 changing. * wrapper Fix wrapper to handle being invoked as a symlink as was possible with pre-6.0 versions. ######## OTHER CHANGES ######## * Misc * Fix compile typing issue in setup/sysreq.c * Misc * Fix Seg fault bug in CleanString introduced in 10-H90. * Misc * Fix bug in SMBIOS when decoding certain MEMDEV (DIMM) devices which have a size capacity larger than 32GB (eg 64GB) where sometimes reported as 32GB. * Misc * Fix DMI open failure on Linux systems with SMBIOS v3 present. We incorrectly used "SMBIOS3" value for DMI starting address instead of "SMBIOS" as intended. * Misc * Report CPU Microcode Version on Linux X86 systems in the Device CPU data * Misc * build: Update configure and tar, bzip2 for Linux x86 to support NFS filesystems with large file support enabled. * 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 Model="OPEN*" since this is a SAN server. The result is disk devices from this type of system are now correctly reported.