.. include:: ../vars.rst .. _section-whats-fixed-611: What's Fixed in 6.1.1 ===================== Routing Service Crashed when Running out of Memory -------------------------------------------------- |RS| may have crashed while creating a Stream Reader if the system ran out of memory. This problem has been resolved. [RTI Issue ID ROUTING-680] Crash when Attempting to Route Builtin Security Logging Topic or Monitoring Library Topics ------------------------------------------------------------------------------------------ Routing the Security Logging builtin topic ``DDS:Security:LogTopic`` may have caused a crash if any of the participants involved in the route had security logging enabled (i.e., the property ``com.rti.serv.secure.logging.mode_mask`` was set to use the SECURITY_TOPIC option). Note that you can enable security logging on participants that talk to |RS|, and even route the Security Logging builtin topic that they use. This problem occurred only if the |RS| participant itself had security logging enabled. This issue has been resolved. |RS| will now warn you about attempts to route any topic previously registered with a type plugin other than the Dynamic Data plugin. [RTI Issue ID ROUTING-727] Unbounded Memory Growth when Restarting Routing Service or Creating/Deleting DomainRoutes ----------------------------------------------------------------------------------------- When using |RS| as a library, starting and stopping |RS| instances within the same process may have lead to unbounded memory growth, with a small memory increment every time an instance was stopped. Creating and deleting DomainRoutes within a |RS| instance could have also lead to unbounded memory growth, with a small memory increment every time a DomainRoute was deleted. This issue has been resolved. [RTI Issue ID ROUTING-833] Missing C++ Header File Caused rti::routing::Logger APIs to not Compile ----------------------------------------------------------------------- When using the new APIs for logging in the |RS| C++ SDK, e.g., ``rti::routing::Logger::instance().error``, you need to include the file ``rti/routing/Logger.hpp``. This file depended on ``advlog.1.0/hpp/rti/advlog/Context.hpp``, which was not being shipped. This issue has been resolved. [RTI Issue ID ROUTING-839] Samples not Routed if Memory Management 'sample_buffer_trim_to_size' and 'sample_buffer_min_size' Set ----------------------------------------------------------------------------------------------------- If the memory_management `sample_buffer_trim_to_size` was true and `sample_buffer_min_size` was less than 8, then samples would not be routed on that route. The failure to deserialize the samples was accompanied by errors such as the following: .. code-block:: console REDAInlineMemory_new:invalid initial size, should be larger than the minimal size: 96 DDS_DynamicData2TypePlugin_deserialize:ERROR: Failed to create DynamicData memory manager The issue has been resolved and setting ``sample_buffer_trim_to_size`` and ``sample_buffer_min_size`` will work as expected. [RTI Issue ID ROUTING-845] Using 'Ctrl+C' to Shut Down Examples did not Work as Expected ------------------------------------------------------------- When using ``Ctrl+C`` to shut down some of the |RS| examples, the shut down process was abrupt and didn't clean up properly. This issue has been resolved. [RTI Issue ID ROUTING-858] Incorrect Content Filtering and 'RTICdrTypeCodeUtils_type_has_external_members:!get member' Error ------------------------------------------------------------------------------------------------- You may have seen the following error when using |RS|: .. code-block:: console RTICdrTypeCodeUtils_type_has_external_members:!get member The error was harmless unless you were using ContentFilteredTopics on some of the *DataReaders* communicating with |RS|. In this case, |RS| may have evaluated the filter incorrectly. Samples that should have passed the filter(s) may not have passed, and vice versa. This problem has been resolved. [RTI Issue ID ROUTING-863] Routing Service Remote Shell: Adding to Initial Peers List did not Work, Possible Segmentation Fault ---------------------------------------------------------------------------------------------------- Using the Routing Service remote shell, *rtirssh*, with the ``add_peer`` command to add a peer to a *DomainParticipant’s* initial peers list did not work properly. It may also have caused a segmentation fault. This issue has been resolved. [RTI Issue ID ROUTING-879] Routing Service Crashed when Same '-Dname=value' Pair Provided Twice -------------------------------------------------------------------- When launching |RS| and using the ``-Dvar=value`` command-line option to provide values for XML configuration variables, repeating the same variable twice in the command may have caused a crash. For example, this command included ``-DPUBLIC_ADDRESS=10.10.10.1`` twice: .. code-block:: console >c:\Rti\rti_connext_dds-6.1.0\bin\rtiroutingservice.bat -cfgFile rti_rs_example_tcp_wan.xml -cfgName WanGateway -appName GatewaySiteA -DPUBLIC_ADDRESS=10.10.10.1 -DBIND_PORT=10 -DREMOTE_RS_PEER=1 -DLAN_DOMAIN_ID=2 -DPUBLIC_ADDRESS=10.10.10.1 This problem has been resolved. If the same name/value pair is provided more than once, |RS| no longer crashes and the last value in the command prevails. [RTI Issue ID ROUTING-881] Crash when Routing Service from LM Bundle did not Find License File ------------------------------------------------------------------- If you ran |RS| from an LM bundle and it could not find a license file, the service issued a segmentation fault. This problem has been resolved. [RTI Issue ID ROUTING-906] Routing Service Crashed when XML Configuration had Duplicate Names ------------------------------------------------------------------ Duplicate names in an XML configuration caused |RS| to crash. For example, this configuration has duplicate names: .. code-block:: xml ... ... ... This problem has been resolved. [RTI Issue ID ROUTING-914] Large Per Sample Memory Usage in Routing Service ------------------------------------------------ |RS| had a large out-of-the-box large memory usage. There was 64k bytes of memory allocated per sample, even if the sample's maximum serialized size was smaller than that value. This resulted in a large amount of unnecessary and unused memory allocations. You could have worked around this problem by using the ``memory_management`` settings in the Routing Service configuration. For example: .. code-block:: xml 1200 The ``sample_buffer_min_size`` sets the size of preallocated buffers used to pass samples through |RS|. If more space is needed, it is dynamically allocated as samples are received. The ``sample_buffer_min_size`` should be set to a value greater than or equal to the minimum serialized size of a type. If it is set to a value greater than the maximum serialized size of a type, the maximum will be used to allocate the buffers, instead of the configured value. The issue of excessive memory usage has been resolved and buffers will never be allocated that are larger than the maximum serialized size for a type. [RTI Issue ID ROUTING-938] .. _section-routing-611-fixed-vulnerabilities: Fixes Related to Vulnerabilities -------------------------------- This release fixes some potential vulnerabilities, described below. Potential |RS_HEADING| crash or leak of sensitive information during XML parsing due to vulnerabilities in libxml2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Previous releases of the |RS| XML parser had a third-party dependency on libxml2 2.9.4. That version of libxml2 is known to be affected by a number of publicly disclosed vulnerabilities. These vulnerabilities have been fixed by upgrading to the latest stable version of libxml2, 2.9.12. See :ref:`section-routing-611-third-party-upgrades`. The impact on |RS| of using the previous version varied depending on your |RS| configuration: * With *Connext Secure* (enabling RTPS protection): * Exploitable through a compromised local file system containing malicious XML file. * |RS| could crash or leak sensitive information. An attacker could compromise |RS| integrity. * CVSS v3.1 Score: 7.3 HIGH * CVSS v3.1 Vector: `AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H `_ * Without *Connext Secure* (release mode): * Exploitable through a compromised local file system containing malicious XML file. * Remotely exploitable through malicious RTPS messages. * |RS| could crash or leak sensitive information. An attacker could compromise |RS| integrity. * CVSS v3.1 Score: 8.6 HIGH * CVSS v3.1 Vector: `AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H `_ * Without *Connext Secure* (debug mode): * Exploitable through a compromised local file system containing malicious XML file. * Remotely exploitable through malicious RTPS messages. * |RS| could crash or leak sensitive information. An attacker could compromise |RS| integrity. * CVSS v3.1 Score: 9.8 CRITICAL * CVSS v3.1 Vector: `AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H `_ [RTI Issue ID ROUTING-953]