aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanjo Martin <juanjo@rti.com>2017-11-29 10:42:47 +0100
committerMichael Mann <mmann78@netscape.net>2017-11-30 00:37:59 +0000
commitaeb864e685d608183b53113816a8aa1ba0409080 (patch)
tree7053f9dd9af467a2d6e9162184da7d61a9d7ea6a
parentec0ffc043fac4792ccf3055ea18190894a520577 (diff)
RTPS: Added new endpoints for the Security spec
Change-Id: Ia827c43b161a2b64804b0eac220b428eb853d255 Reviewed-on: https://code.wireshark.org/review/24647 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r--epan/dissectors/packet-rtps.c69
-rw-r--r--epan/dissectors/packet-rtps.h22
2 files changed, 51 insertions, 40 deletions
diff --git a/epan/dissectors/packet-rtps.c b/epan/dissectors/packet-rtps.c
index a579ca59d7..77559482ef 100644
--- a/epan/dissectors/packet-rtps.c
+++ b/epan/dissectors/packet-rtps.c
@@ -431,7 +431,8 @@ static int hf_rtps_flag_participant_stateless_message_writer = -1;
static int hf_rtps_flag_participant_stateless_message_reader = -1;
static int hf_rtps_flag_secure_participant_volatile_message_writer = -1;
static int hf_rtps_flag_secure_participant_volatile_message_reader = -1;
-
+static int hf_rtps_flag_participant_secure_writer = -1;
+static int hf_rtps_flag_participant_secure_reader = -1;
static int hf_rtps_flag_typeflag_final = -1;
static int hf_rtps_flag_typeflag_mutable = -1;
static int hf_rtps_flag_typeflag_nested = -1;
@@ -587,6 +588,8 @@ static const value_string entity_id_vals[] = {
{ ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER, "ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER" },
{ ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER, "ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER" },
{ ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER, "ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER" },
+ { ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER, "ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER"},
+ { ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER, "ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER"},
/* vendor specific - RTI */
{ ENTITYID_RTI_BUILTIN_LOCATOR_PING_WRITER, "ENTITYID_RTI_BUILTIN_LOCATOR_PING_WRITER" },
@@ -1413,6 +1416,8 @@ static const int* STATUS_INFO_FLAGS[] = {
};
static const int* BUILTIN_ENDPOINT_FLAGS[] = {
+ &hf_rtps_flag_participant_secure_reader, /* Bit 27 */
+ &hf_rtps_flag_participant_secure_writer, /* Bit 26 */
&hf_rtps_flag_secure_participant_volatile_message_reader, /* Bit 25 */
&hf_rtps_flag_secure_participant_volatile_message_writer, /* Bit 24 */
&hf_rtps_flag_participant_stateless_message_reader, /* Bit 23 */
@@ -1594,15 +1599,21 @@ static void append_status_info(packet_info *pinfo,
*
* First letter table:
*
- * writerEntityId value | Letter
- * ---------------------------------------------------+--------------
- * ENTITYID_UNKNOWN | ?
- * ENTITYID_PARTICIPANT | P
- * ENTITYID_SEDP_BUILTIN_TOPIC_WRITER | t
- * ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER | w
- * ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER | r
- * ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER | p
- * ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER | m
+ * writerEntityId value | Letter
+ * ----------------------------------------------------------+--------
+ * ENTITYID_UNKNOWN | ?
+ * ENTITYID_PARTICIPANT | P
+ * ENTITYID_SEDP_BUILTIN_TOPIC_WRITER | t
+ * ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER | w
+ * ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER | r
+ * ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER | p
+ * ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER | m
+ * ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER | s
+ * ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER | V
+ * ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER | M
+ * ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER | W
+ * ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER | R
+
*
* The letter is followed by:
* status_info &1 | status_info & 2 | Text
@@ -1621,6 +1632,7 @@ static void append_status_info(packet_info *pinfo,
switch(writer_id) {
case ENTITYID_PARTICIPANT:
+ case ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER:
writerId = "P";
break;
case ENTITYID_BUILTIN_TOPIC_WRITER:
@@ -1647,6 +1659,12 @@ static void append_status_info(packet_info *pinfo,
case ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER:
writerId = "M";
break;
+ case ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER:
+ writerId = "W";
+ break;
+ case ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER:
+ writerId = "R";
+ break;
default:
/* Unknown writer ID, don't format anything */
break;
@@ -2025,24 +2043,7 @@ gboolean rtps_util_add_entity_id(proto_tree *tree, tvbuff_t *tvb, gint offset,
/* is a built-in entity if the bit M and R (5 and 6) of the entityKind are set */
/* return ((entity_kind & 0xc0) == 0xc0); */
- return ( entity_id == ENTITYID_BUILTIN_TOPIC_WRITER ||
- entity_id == ENTITYID_BUILTIN_TOPIC_READER ||
- entity_id == ENTITYID_BUILTIN_PUBLICATIONS_WRITER ||
- entity_id == ENTITYID_BUILTIN_PUBLICATIONS_READER ||
- entity_id == ENTITYID_BUILTIN_SUBSCRIPTIONS_WRITER ||
- entity_id == ENTITYID_BUILTIN_SUBSCRIPTIONS_READER ||
- entity_id == ENTITYID_BUILTIN_SDP_PARTICIPANT_WRITER ||
- entity_id == ENTITYID_BUILTIN_SDP_PARTICIPANT_READER ||
- entity_id == ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER ||
- entity_id == ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER ||
- entity_id == ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER ||
- entity_id == ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER ||
- entity_id == ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER ||
- entity_id == ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER ||
- entity_id == ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER ||
- entity_id == ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER ||
- entity_id == ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER ||
- entity_id == ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER ||
+ return ( ((entity_kind & 0xc0) == 0xc0) ||
entity_id == ENTITYID_RTI_BUILTIN_SERVICE_REQUEST_WRITER ||
entity_id == ENTITYID_RTI_BUILTIN_SERVICE_REQUEST_READER ||
entity_id == ENTITYID_RTI_BUILTIN_LOCATOR_PING_WRITER ||
@@ -11503,14 +11504,22 @@ void proto_register_rtps(void) {
"Participant Stateless Message Reader", "rtps.flag.participant_stateless_message_reader",
FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x00800000, NULL, HFILL }
},
- { &hf_rtps_flag_secure_participant_volatile_message_writer, {
+ { &hf_rtps_flag_secure_participant_volatile_message_writer,{
"Secure Participant Volatile Message Writer", "rtps.flag.secure_participant_volatile_message_writer",
FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x01000000, NULL, HFILL }
},
- { &hf_rtps_flag_secure_participant_volatile_message_reader, {
+ { &hf_rtps_flag_secure_participant_volatile_message_reader,{
"Secure Participant Volatile Message Reader", "rtps.flag.secure_participant_volatile_message_reader",
FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x02000000, NULL, HFILL }
},
+ { &hf_rtps_flag_participant_secure_writer,{
+ "Participant Secure Writer", "rtps.flag.participant_secure_writer",
+ FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x04000000, NULL, HFILL }
+ },
+ { &hf_rtps_flag_participant_secure_reader,{
+ "Participant Secure Reader", "rtps.flag.participant_secure_reader",
+ FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x08000000, NULL, HFILL }
+ },
{ &hf_rtps_type_object_type_id_disc,
{ "TypeId (_d)", "rtps.type_object.type_id.discr",
FT_INT16, BASE_DEC, 0x0, 0,
diff --git a/epan/dissectors/packet-rtps.h b/epan/dissectors/packet-rtps.h
index 6a7c87f5bf..c1529ec4b2 100644
--- a/epan/dissectors/packet-rtps.h
+++ b/epan/dissectors/packet-rtps.h
@@ -341,16 +341,18 @@ typedef struct _rtps_dissector_data {
#define ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_READER (0x000200c7)
/* Secure DDS */
-#define ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER (0xff0003c2)
-#define ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER (0xff0003c7)
-#define ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER (0xff0004c2)
-#define ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER (0xff0004c7)
-#define ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER (0xff0200c2)
-#define ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER (0xff0200c7)
-#define ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER (0x000201c3)
-#define ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER (0x000201c4)
-#define ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER (0xff0202c2)
-#define ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER (0xff0202c7)
+#define ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER (0x000201c3)
+#define ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER (0x000201c4)
+#define ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER (0xff0003c2)
+#define ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER (0xff0003c7)
+#define ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER (0xff0004c2)
+#define ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER (0xff0004c7)
+#define ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER (0xff0200c2)
+#define ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER (0xff0200c7)
+#define ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER (0xff0202c2)
+#define ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER (0xff0202c7)
+#define ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER (0xff0101c2)
+#define ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER (0xff0101c7)
/* Vendor-specific: RTI */
#define ENTITYID_RTI_BUILTIN_SERVICE_REQUEST_WRITER (0x00020082)