diff options
author | Juanjo Martin <juanjo@rti.com> | 2017-11-29 10:42:47 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-11-30 00:37:59 +0000 |
commit | aeb864e685d608183b53113816a8aa1ba0409080 (patch) | |
tree | 7053f9dd9af467a2d6e9162184da7d61a9d7ea6a | |
parent | ec0ffc043fac4792ccf3055ea18190894a520577 (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.c | 69 | ||||
-rw-r--r-- | epan/dissectors/packet-rtps.h | 22 |
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) |