FlexNet Inventory Agent Change Log (SaaS)

Versions of the FlexNet inventory agent released for the cloud edition of FlexNet Manager Suite, linked to features and fixes.

Agent version Release date Affected features
17.1.0 (current) September 2021

No FlexNet inventory agent fixes or features.

17.0.1 July 2021
13.1.0 through 17.0.0 Various dates

These releases are deprecated and withdrawn. Upgrading to the latest version is recommended. (Descriptions of released functionality have been rolled forward.)

13.0.1 March 2018
12.4.0 December 2017
12.3.0 August 2017
12.2.0 April 2017
12.1.0 December 2016
12.0.0 September 2016

No FlexNet inventory agent fixes or features.

FlexNet Manager Suite (Cloud)

Current

FlexNet Inventory Agent Release 17.0.1

Docker inventory files automatically cleaned up

The Docker monitor within the FlexNet inventory agent saves one .ndi file in the /var/opt/managesoft/tracker/inventories folder on the Docker host for each container image. To prevent too many of these files accumulating over time, the Docker monitor each day deletes any of these saved .ndi files that are over 7 days old. (As always, archived copies for upload are saved in /var/opt/managesoft/uploads/inventories, and these are deleted after a successful upload to the parent of this inventory beacon. A build-up of files in the uploads path indicates a problem with uploads.)

Fixes

  • Usage tracking now works even for components in the Windows Installer package that are not identified as key components
  • Paths recorded in Oracle comps.xml are now validated to be current before they are reported in inventory
  • Settings in ExcludeDirectory and ExcludeEmbedDirectories preferences are now honored, even if paths are included in Oracle comps.xml files
  • CAL access files (.swacc) can now include multi-byte characters, and are processed appropriately
  • Very long paths for ExcludeEmbedDirectories now work correctly.

Inventory on UNIX-like platforms now includes Java build version

Some builds of Java are licensable, and some are free. The only way to tell which is which is to examine the build number. Until now, the FlexNet inventory agent on UNIX-like platforms has returned the Java version number (such as 1.7.0_55), without the trailing build number, shown in this example as b13:
1.7.0_55-b13

Inventory gathering for Java on UNIX-like platforms has now been enhanced to include the build number in the version number, returned as always within the uploaded .ndi file. This enhancement does not currently affect recognition through the Application Recognition Library, since this uses wild cards while interpreting versions.

On Windows platforms, the FlexNet inventory agent already returns the build number for Java, so that this enhancement for UNIX-like platforms brings cross-platform parity.

Repaired usage time for Windows devices suspended over weekends

Previously, if a Windows device was in a suspended state at 12am on Monday mornings, the report of weekly usage times could not be generated and uploaded, with the result that the previous figures rolled forward into the next reporting period and usage appeared to grow continually. This has now been repaired, and (when usage tracking is enabled) FlexNet inventory agent now triggers the weekly report as soon as the suspended device resumes normal operations. This is particularly valuable for enterprises wanting to use usage as a way to control internal cross-charging for computer use.

Inventory gathering on RHEL 5.11 repaired

We have repaired a previous problem on Red Hat Enterprise Linux (an old release, 5.11), where the FlexNet inventory agent would hang if the /var/run/xenstore.pid file could not be found, thereby blocking further inventory gathering on the device. The FlexNet inventory agent now checks for the presence of the file, and if it missing, creates an entry in the mgstrace.log file:
(Inventory/Tracker/Hardware/Hypervisor): xenstore pid file "/var/run/xenstore.pid" 
                        does not exist, will not try to read "/sys/hypervisor/uuid" as it may hang.
The FlexNet inventory agent then moves on to the next inventory task.

AIX 7.1 inventory now skips missing custom installations

On AIX 7.1, Licensed Program Products (LPP) are saved in a directory in backup file format. You may specify a custom installation location for an application in User-Specified Installation Location (USIL). If, for some reason, your USIL is 'orphaned' (missing), the FlexNet inventory agent would previously fail and block further inventory gathering for LPPs. This has now been repaired so that the FlexNet inventory agent skips problem packages and continues to take inventory of valid packages, uploading the results in the .ndi file as usual. The problem packages are logged in the mgstrace.log file.

Gathering Oracle inventory on UNIX-like platforms improved

Handling of memory lock limits for running Oracle scripts has been improved, overcoming errors in running the Oracle Database inventory scripts. The new process is:
  1. Before running the Oracle script, the FlexNet inventory agent saves its current memory lock limit, if present.
  2. It then sets the memory lock limit to unlimited, as required for the Oracle scripts, and runs the script.
  3. When the Oracle script is completed, FlexNet inventory agent restores its previous memory lock limit, and continues operation.
This process means that the FlexNet inventory agent runs with the elevated memory lock limit for the shortest possible time, and only when running the Oracle scripts.
This behavior is now on by default. Although changing the behavior is not recommended, for special needs you can disable it with a new command-line option for ndtrack:
-o UseOracleMemLockLimit=false
(and restore it with the same option set to true). To restate, for reliable normal operation, do not disable this improved behavior.

Supports inventory of Toad for Oracle

FlexNet inventory agent now collects evidence for installations of Toad for Oracle on Windows-based Oracle servers. Two new evidence types are created for upload, and the upload includes edition information collected from SettingsLocations.ini in the Toad installation.

By default, this new functionality is always on. For special reasons, if you need to suppress this behavior, you can add a new switch to the command line for ndtrack:
-o PerformToadForOracleInventory=false
However, the default behavior may be safely left enabled, since it does not create significant load on devices where Toad is not installed.

For more information, see the Features by Release document.

Improved support for network adapters on UNIX-like platforms

The FlexNet inventory agent now collects all IPv4 addresses and subnet masks registered on a network adapter with multiple addresses on a UNIX-like device. Previously, on UNIX-like devices the FlexNet inventory agent returned only the last value from the ifconfig -a command; but this behavior is now changed so that, as it has always done on Windows devices, the FlexNet inventory agent on UNIX-like devices returns all IPv4 addresses from a multiple-address network adapter. These addresses are displayed in inventory listings and inventory properties as a comma-separated list (up to 256 characters).
Tip: IP addresses in the IPv6 address family are not reported in FlexNet inventory for devices running UNIX-like operating systems.

Support for Oracle Fusion Middleware data collection

The FlexNet inventory agent, whether locally installed on the relevant Oracle server or using zero footprint inventory collection from an appropriate inventory beacon, now supports collection of audit-ready data for products in the Oracle Fusion Middleware collection. See the Features by Release document for further details, including relevant controls.

Improved usage tracking resolution

An issue that caused usage tracking records to merge as if they applied to a single device has been corrected. (There is no workaround available for earlier versions of FlexNet inventory agent, and the fix requires upgrading to this release.)

Improved inventory of IBM Db2 and add-ons

The FlexNet inventory agent now uses the db2licm command to improve inventory recognition of IBM Db2 database and its available add-ons. This command is a standard part of the IBM Db2 installation, and requires no special configuration. There is a 120-second timeout if the FlexNet inventory agent does not receive a response from the command, with the duration configurable in the registry, so that a failure in this command does not block all inventory gathering. If, for some unusual reason, you do not want the added accuracy in reporting inventory for IBM Db2 and its add-ons, you can turn off this functionality with a registry key.

FlexNet inventory agent excludes the scanning of Docker image folders on Linux machines running Docker containers

To prevent processing excessive file inventory evidence, the FlexNet inventory agent now does not scan Docker image folders on Linux machines, where possible containers are defined and saved. However, inventory from running Docker containers is still gathered directly by the FlexNet inventory agent, from both Linux servers and Windows Docket hosts, and returned as installer evidence in its own .ndi file.

FlexNet inventory agent generates a unique agent ID for Windows devices

For physical machines, the AgentID is generated based on the hostname and BIOS SerialNumber property. In certain circumstances on Windows devices, the serial number may be invalid, non-unique, or missing. If two or more devices shared the same device name and the serial number falls under this scenario, duplicate AgentIDs resulted. Now, the FlexNet inventory agent generates a unique agent ID for Windows devices with the same name even when serial number is unusable.

Fixes for issues related to adoption of certain Unix agents

Previously, adoption of Linux RPM-based and AIX devices could use the wrong path for the agent application data folder, or fail to adopt the device successfully. This update resolves this behavior and adoption installs the agent correctly.

Fixes to update the FlexNet inventory agent policy information on some Windows 2008 and Windows 2012 servers

Agent modules that failed to start a required process have been updated with a retry that will use an additional Windows API flag that allows the process to start. The following modules require this update:

  • The policy client (mgspolicy.exe) that needs to start the launcher (ndlaunch.exe)
  • The launcher (ndlaunch.exe) that needs to start the schedule Agent (ndschedag.exe)
  • The schedule Agent (ndschedag.exe) that needs to start the policy client (mgspolicy.exe) or the launcher (ndlaunch.exe) or the inventory agent (ndtrack.exe)

macOS FlexNet inventory agent now collects user information including domain for the currently logged-in user

On macOS, the FlexNet inventory agent now collects information for the currently logged-in user including their domain. This is required with Mac software licensing when using Named User licenses. However, note that macOS does not track the last logged-in user, so that if no one is logged in when FlexNet inventory agent runs, macOS returns system. Therefore, if you want the user name to appear in inventory, carefully review your inventory collection schedules for alignment with user working hours; or instead, use allocations of license entitlements to the user(s) in question. Relying on inventory from macOS may mean that the user name record bounces between the real user name and system, depending on whether the user was logged in at each day's inventory time.

macOS FlexNet inventory agent now collects inventory from Big Sur

FlexNet Manager Suite support for macOS now extends to the latest version, Big Sur, with the same inventory-gathering functionality as available on earlier releases of macOS.
Tip: In fact, tests indicate that FlexNet inventory agent version 14.0.0 and later all collect inventory from macOS Big Sur when running on the Intel architecture. With the forthcoming release of Apple's new Arm chipset in macOS devices, a minimum of version 16.0.1 of FlexNet inventory agent will be required – there are no plans to port older versions of FlexNet inventory agent to the Arm platform.

New timeout when gathering Oracle inventory on UNIX-like platforms

A timeout for inventory collection from Oracle Database and associated options running on UNIX-like platforms now prevents a hung command from stopping the entire inventory-gathering process. For example, on some devices, certain commands might trigger a credentials challenge. Since FlexNet inventory agent does not provide passwords on demand, this previously blocked all further action. Now the timeout means that the FlexNet inventory agent can 'step back' from a blocking action, allow that single inventory command to fail, and then continue on with the rest of its process.

The timeout:
  • Is available with the upgrade of FlexNet inventory agent to version 15.2.0 (or later)
  • Works for both locally-installed FlexNet inventory agent and the Zero-footprint method of remote inventory collection
  • Defaults to 10 seconds, with no set-up or configuration required
  • Can be configured to any value from 1 to 60 seconds, either as a command-line option, or as a setting in the config.ini file that functions as a pseudo-registry on UNIX-like platforms.

The preference name is OracleEnvironmentCmdTimeoutSeconds, and full details are available in the Gathering FlexNet Inventory PDF (or HTML equivalent).

Handles more than 8 CPUs on Windows 2003 servers

The ndtrack executable now successfully gathers WMI inventory on servers running Windows 2003 Enterprise x64 SP2 and having more than 8 CPUs.

FlexNet inventory agent successfully inventories Linux servers with Docker installed

The FlexNet inventory agent now correctly filters Docker container data.

Local Oracle inventory now succeeds when tnsnames.ora is missing on Windows machines

The Windows FlexNet inventory agent no longer requires tnsnames.ora on Windows computers when running local inventory.

Oracle Database In-Memory option is now reported by FlexNet Manager Suite

The version check logic for the query execution for Database In-Memory usage is now fixed, allowing Oracle Database In-Memory to successfully execute in-memory scans, joins, and aggregation. This changed is pushed down through a content update.

Timeout when Oracle user login script hangs during Oracle Database inventory gathering

The FlexNet inventory agent attempts to call an Oracle executable with the current level of access. If the executable prompts for a password, the FlexNet inventory agent previously would hang. A timeout has been added that results in this scenario no longer hanging the FlexNet inventory agent.

Recognition of the Oracle Real Application Clusters (RAC) One Node option

Recognition of Oracle Real Application Clusters (RAC) One Node option supporting versions 11g, 12c, 18c, and 19c.
Note: Ensure that the Rule for InventorySettings.xml in the Inventory extensions version section in the Inventory Settings page is set to version 52 or later.

Enables usage tracking based on Add/Remove programs evidence when "Enable usage tracking" setting is selected

FlexNet inventory agent for Microsoft Windows platforms supports gathering evidence from Add/Remove Programs to help in tracking software usage.

Collect inventory for Docker Containers, Images and Hosts

The FlexNet inventory agent will now detect Docker images and containers when installed on your 64 bit Linux host. Application inventory is collected on running containers. This is achieved using Zero-footprint inventory collection.
  • Image and container discovery
  • Event based container scanning identifies the status of each container
  • Performs a one-time Zero-footprint inventory of application(s) on running containers
  • Collects image ID, repository tags and repository digest information.

Once an inventory for an image has been successfully collected, the FlexNet inventory agent will not inject the tracker into any subsequent containers based on that image. The image is identified by its ID, rather than its tag, so updating a particular image will result in the agent injecting the tracker into containers launched from the updated image.

To enable this feature, you can do either of the following:
  • Enable the setting globally using the Enable detection of Docker and running inventory agent inside Docker containers in the Container Scanning section on the Inventory Settings page
  • Create or set the PerformDockerInventoryScan Tracker setting to the value True in the mgspolicy command line.
Note: The agent component also requires the Docker service to be available on the local host through the default Docker socket. The agent component will not continue to run if it cannot connect the Docker service.

Add identification for Oracle VM VirtualBox

The FlexNet inventory agent will now detect and scan a VirtualBox instance on a computer. This functionality permits identification of the Oracle VM VirtualBox Extension Pack.

Meter 64-bit applications for usage tracking

The FlexNet inventory agent will now correctly meter executables under installation directories identified in Windows 64-bit Add/Remove Programs registry settings.

Remove possibility of usage tracking linking the executable to the wrong application

This update removes the possibility for an executable to map to the wrong application for usage metering on Windows devices. This could occur when multiple applications share the same installation directory, and the UseAddRemove preference is set to "true". For more information on this setting, you may refer to the Gathering FlexNet Inventory guide.

Recognition of Adobe Acrobat 2017 editions

Added the ability to identify Adobe Acrobat 2017 Standard, Pro and Trial editions.

Compatibility with Photon OS

Confirmation of FlexNet inventory agent compatibility with Photon OS 3.0

Support for macOS 10.15

FlexNet inventory agent 14.0.0 introduces support for macOS 10.15 (Catalina):
  • Installation: The installation package supports both:
    • 64-bit systems, to install FlexNet inventory agent on macOS 10.15 and later devices
    • 32-bit systems, so that you can install this FlexNet inventory agent on devices running older 32-bit versions of macOS.
  • Upgrade warning: If previous releases of FlexNet inventory agent are already installed on Apple inventory devices currently running earlier versions of macOS, these installations need to be upgraded to FlexNet inventory agent version 14.0.0 or later before the OS is upgraded to macOS 10.15. If the OS is upgraded without first upgrading the installed FlexNet inventory agents, the existing 32-bit FlexNet inventory agent will no longer be able to run on the upgraded inventory device. As a result, in this scenario it will be impossible for device policy to upgrade the FlexNet inventory agent. Recovering from such a case will require manually upgrading the FlexNet inventory agent to version 14.0.0 or later. However, if you upgrade FlexNet inventory agent first to 14.0.0 or later, and subsequently upgrade the macOS version to 10.15, the 64-bit support in this latest FlexNet inventory agent means that the system continues to operate as usual after the upgrades.

Inventory of Linux KVM virtualization

A locally-installed FlexNet inventory agent 14.0.0 collects inventory from virtual machines (and hosts, although here you may prefer zero footprint inventory collection by an inventory beacon version 14.0.0 or later) on Linux virtual hosts using Kernel-based Virtual Machine (KVM) infrastructure. To ensure that inventory is imported from every guest VM on the host, the inventory from the host must be gathered by an FlexNet inventory agent 14.0.0 (or later) running as root, or the inventory beacon running zero footprint inventory collection as root. If, for some reason, you choose to execute FlexNet inventory agent as some other, non-root account, only those guest VMs to which that account has access are included in inventory.

FlexNet inventory agent unique identifier

The FlexNet inventory agent now creates a unique identifier on a device when it executes for the first time. This unique identifier, called the AgentID, is used when resolving the inventory data from a device to determine which computer record matches the inventory (earlier versions relied on the domain name and computer name, which are still the fallback used if the AgentID is missing). With the AgentID, multiple devices with same domain name and computer name can now be distinguished from one another, so that separate computer records are created in the inventory database. This feature works for any deployment of the ndtrack executable, including the locally installed FlexNet inventory agent, zero footprint inventory collection managed by an inventory beacon, or the lightweight FlexNet Inventory Scanner.

Java inventory also on UNIX-like platforms

Collection of additional inventory for Java, already supported on Microsoft Windows, is now added for all supported UNIX-like platforms. In the file /var/opt/managesoft/etc/config.ini, the includedirectory preference must be correctly set to allow scanning of the folder where Java is installed – this is set automatically when the installer for FlexNet inventory agent is run; but if you are using third-party deployment, you may need to manage this separately. And as always, with the FlexNet Inventory Scanner, you must include the appropriate setting in the command line, overriding its default value of not doing any file scanning.

Enhanced inventory from Microsoft Azure VMs

Although inventory could be collected from VMs on Microsoft Azure since the earlier 2018 R1 (13.0.0) release, those intermediate releases relied on the parallel use of the Microsoft Azure adapter to complete the inventory picture (especially the host/guest relationships). From this release, the FlexNet inventory agent locally installed on the guest instance reports the full set of Microsoft Azure VM data, so that running the separate adapter is no longer mandatory (however, the Microsoft Azure adapter remains useful for identifying inventory gaps, where the FlexNet inventory agent has not been installed on a guest).

Auto-upgrades of FlexNet inventory agent work in custom installation paths (AIX/Linux)

With previous versions of FlexNet inventory agent on either AIX or Linux operating systems, upgrades (or downgrades) driven by downloaded device policy were available only when the installation was in the default location. From this release, policy-driven upgrades or downgrades are extended to cover installations in custom locations on either AIX or Linux operating systems.

Signing of Linux RPM packages

Signing of Linux RPM (Red Hat Package Manager) packages gives you an additional layer of security if you are managing your own installation of Linux RPM packages for FlexNet inventory agent. (Only RPM packages are now signed, with DEB packages unchanged.) The public key is available from the Product and License Center as a separate download titled Inventory agent 13-1-0+ Linux RPM installer public key.zip. Your company password for the Flexera Customer Community is required to access this download. The fact that the key must be downloaded from a separate, password-protected source gives you some improvement in security.

FlexNet Inventory Agent Release 13.0.1

Local inventory from Oracle pluggable databases

Introduced in Oracle 12c, pluggable databases could previously be inventoried using direct inventory collection managed by an inventory beacon. With this release, this inventory is now also supported using all forms of the FlexNet inventory component locally installed on the Oracle server:
  • The full FlexNet inventory agent, whether deployed by ‘adoption’ or by third-party tools
  • The lightweight FlexNet Inventory Scanner
  • Zero-footprint inventory gathering, where an inventory beacon temporarily installs the inventory component on the target server, runs it, and removes it again (leaving zero installation footprint).
Requires InventorySettings.xml version 27 or later.
Tip: If the container database instance is in standby mode (mounted, but not running), only this instance can be inventoried. When the container instance is running, inventory is gathered from pluggable databases in either read-only or read/write mode.

FlexNet Manager Suite (Cloud)

Current

FlexNet Inventory Agent Release 12.4.0

Gathering inventory from standby Oracle database instances

The FlexNet inventory agent, locally installed on an Oracle Database server, collects software inventory from any operational Oracle database instances (as well as collecting hardware inventory, as required for certain license types). From this release, it also gathers inventory from Oracle instances that are in standby (that is, instances that are in MOUNT mode but not READ mode). This includes Oracle Data Guard instances that are in standby, awaiting a possible switch into production.

However, Oracle advises that certain inventory queries are impossible on a standby Oracle database instance. Therefore, the inventory data from an Oracle instance that is only ever inventoried while in standby is less complete than the inventory collected from active Oracle database instances. If the same (standby) database instance is subsequently inventoried while in MOUNT mode, the missing inventory values are added to the instance record in FlexNet Manager Suite. Conversely, if an Oracle database instance has been inventoried while active, and is subsequently inventoried while in standby, the additional values are removed for consistency with the latest inventory.

This functionality is also available in the lightweight FlexNet Inventory Scanner, and in zero footprint inventory collection, where an appropriate inventory beacon downloads and runs the inventory core components on a target device.

FlexNet Manager Suite (Cloud)

Current

FlexNet Inventory Agent Release 12.3.0

Support for IPv6 address families

Support for the FlexNet inventory agent communicating with an inventory beacon includes the following:
  • Both IPv6 and dual stack (IPv6 and IPv4) networks are supported, in addition to existing IPv4 support.
  • Includes both the full FlexNet inventory agent and the lightweight FlexNet Inventory Scanner.
  • Note that link-local IPv6 addresses, which are valid and unique only on a single network link, are not supported, since these are contrary to the policy-driven nature of managed devices. However, both global and unique local scopes are supported.
  • The FlexNet inventory agent uses the first IP address returned after a DNS request, by default – regardless of its address family. There is also a preference you can set to favour either IPv6 or IPv4, for those situations where manual configuration is desirable.
  • Files downloaded to all FlexNet inventory agents cannot use the IPv6 address family, since such details may reach legacy versions of FlexNet inventory agent that cannot process the new address format. Examples include the fail-over list of all inventory beacons, or the networkname property in the C:\Program Files (x86)\Flexera Software\Inventory Beacon\DotNet\conf\BeaconEngine.config file that configures the web server on the inventory beacon. Instead, use either the hostname or fully-qualified domain name of the inventory beacon, so that inventory devices rely (as normal) on DNS results to contact an inventory beacon appropriate for them.
  • CAL device license consumption is only supported using the IPv4 address family

FlexNet Manager Suite (Cloud)

Current

FlexNet Inventory Agent Release 12.2.0

Remediation of security vulnerability

The Common Vulnerabilities and Exposures (CVE) identifier of this vulnerability is CVE-2017-6885. To understand the potential consequences of this vulnerability, please refer to the Common Consequences section of Common Weakness Enumeration CWE-426. The Common Vulnerability Scoring System (CVSS) base score for this vulnerability is 7.8 and the temporal score is 7.0.

This fix applies to both the full FlexNet inventory agent and the lightweight FlexNet Inventory Scanner, and also requires updates of FlexNet Beacon.

FlexNet Manager Suite (Cloud)

Current

FlexNet Inventory Agent Release 12.1.0

Improved HTTPS support on UNIX-like platforms

Communication between the FlexNet inventory agent and inventory beacons may be secured with the HTTPS protocol. For typical (maximum) security, this requires the exchange of server certificates, and checking by the FlexNet inventory agent that the server certificate has not been revoked by the Certificate Authority (CA).

On Windows platforms, certificate checking is determined by Group Policy. In previous releases for FlexNet inventory agent running on UNIX-like platforms, revocation checking was supported using Certificate Revocation Lists (CRLs). This can be time-consuming, since each check can require downloading the entire listing of revoked certificates.

A newer technology is to use OCSP revocation checking. The Online Certificate Status Protocol allows a much faster request to the OCSP server for the revocation status of a single certificate.

This release allows administrators to prioritize OCSP and CRL checking for UNIX-like platforms. It also allows failover from one system to the other with a simple preference setting for the FlexNet inventory agent.

FlexNet Manager Suite (Cloud)

Current