-
Notifications
You must be signed in to change notification settings - Fork 197
Description
Hi all,
While working with sros2 and the freshly supported DDS Security logging plugin (see e.g. rmw_connext), I encountered an issue related to the topic name constraints.
For context, the DDS Security specs defines both the security logging message type and topic name in section 9.6; more specifically: The BuiltinLoggingTopic shall have the Topic name “DDS:Security:LogTopic”. As one would expect, it is this topic that e.g. RTI uses.
After reading the 'Topic and Service name mapping to DDS' design doc and more precisely the 'ROS 2 Topic and Service Name Constraints' section it appears that the security topic, as defined by the DDS Sec specs, is not a valid topic name in ROS2 realm since the 'colon' character is not valid. What's even more annoying is that according to the same design doc, section 'DDS Topic Names', the topic name is not valid for DDS either...
After briefly consulting the DDSI-RTPS spec v2.2 and the DDS spec v1.4, I could not find any explicit constraint on topic naming, but the 256 length limit. The constraints ('a', ..., 'z', 'A', ..., 'Z', '0', ..., '9', '_') mentioned in the design doc only appears in 'Annex B - Syntax for Queries and Filters' of the DDS spec v1.4. I therefore wonder if those are actual topic naming constraints...
From there my questions are,
- Is there a mistake in the DDS Security spec or were the naming constraints misinterpreted? (The colon character is invalid vs the topic constraints do not exist). Neither and I'm missing something?
- Assuming the topic
DDS:Security:LogTopicis not a mistake, how could I get to subscribe to it from ROS2? Can we imagine that the colon character joins the list of valid characters? Or could the constraints be disabled much like the ROS specific namespace prefix can be disabled? Maybe using the sameavoid_ros_namespace_conventionfunction?
@ros2/security_working_group