aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-01-28 14:13:30 -0500
committerMichael Mann <mmann78@netscape.net>2016-02-04 13:43:11 +0000
commit0cd0844b52036f0343500e446dbbc0ee250dc8ae (patch)
tree264bd4b1f1a1de2ec58ed93e74a18379a4231f4c
parent8b0c2c3837c54b9196effdb06113c959b0a04af9 (diff)
Have CIP dissectors find the CIP Class dissector table, rather than have a externed global variable.
Change-Id: Id8156680d67d65d87c156df05e8a66e2531728d2 Reviewed-on: https://code.wireshark.org/review/13709 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r--epan/dissectors/packet-cip.c2
-rw-r--r--epan/dissectors/packet-cip.h1
-rw-r--r--epan/dissectors/packet-cipsafety.c2
-rw-r--r--epan/dissectors/packet-enip.c2
4 files changed, 5 insertions, 2 deletions
diff --git a/epan/dissectors/packet-cip.c b/epan/dissectors/packet-cip.c
index c505065e90..249494b9ee 100644
--- a/epan/dissectors/packet-cip.c
+++ b/epan/dissectors/packet-cip.c
@@ -607,7 +607,7 @@ static expert_field ei_mal_fwd_close_missing_data = EI_INIT;
static expert_field ei_mal_opt_attr_list = EI_INIT;
static expert_field ei_mal_opt_service_list = EI_INIT;
-dissector_table_t subdissector_class_table;
+static dissector_table_t subdissector_class_table;
static dissector_table_t subdissector_symbol_table;
/* Translate function to string - CIP Service codes */
diff --git a/epan/dissectors/packet-cip.h b/epan/dissectors/packet-cip.h
index b348bfd88e..d79cff64a9 100644
--- a/epan/dissectors/packet-cip.h
+++ b/epan/dissectors/packet-cip.h
@@ -340,7 +340,6 @@ extern attribute_info_t* cip_get_attribute(guint class_id, guint instance, guint
/*
** Exported variables
*/
-extern dissector_table_t subdissector_class_table;
extern const value_string cip_sc_rr[];
extern const value_string cip_reset_type_vals[];
extern value_string_ext cip_gs_vals_ext;
diff --git a/epan/dissectors/packet-cipsafety.c b/epan/dissectors/packet-cipsafety.c
index 17248b5e19..cbf4df742f 100644
--- a/epan/dissectors/packet-cipsafety.c
+++ b/epan/dissectors/packet-cipsafety.c
@@ -45,6 +45,7 @@ static int proto_cip_class_s_supervisor = -1;
static int proto_cip_class_s_validator = -1;
static int proto_cip = -1;
+static dissector_table_t subdissector_class_table;
static dissector_handle_t cip_class_s_validator_handle;
/* CIP Safety field identifiers */
@@ -2595,6 +2596,7 @@ proto_reg_handoff_cipsafety(void)
dissector_add_for_decode_as("enip.io", cipsafety_handle );
proto_cip = proto_get_id_by_filter_name( "cip" );
+ subdissector_class_table = find_dissector_table("cip.class.iface");
}
diff --git a/epan/dissectors/packet-enip.c b/epan/dissectors/packet-enip.c
index 7cff1451da..551181d3e8 100644
--- a/epan/dissectors/packet-enip.c
+++ b/epan/dissectors/packet-enip.c
@@ -326,6 +326,7 @@ static expert_field ei_mal_dlr_active_gateway_address = EI_INIT;
static dissector_table_t subdissector_srrd_table;
static dissector_table_t subdissector_sud_table;
static dissector_table_t subdissector_io_table;
+static dissector_table_t subdissector_class_table;
static dissector_handle_t data_handle;
static dissector_handle_t arp_handle;
@@ -3891,6 +3892,7 @@ proto_reg_handoff_enip(void)
dissector_add_uint("ethertype", ETHERTYPE_DLR, dlr_handle);
proto_cipsafety = proto_get_id_by_filter_name( "cipsafety" );
+ subdissector_class_table = find_dissector_table("cip.class.iface");
} /* end of proto_reg_handoff_enip() */