From fa889d6d785964453b3eb9d8fd009a2895bf7f85 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Tue, 6 Sep 2011 15:05:26 +0000 Subject: =?UTF-8?q?From=20Liam=20Sharp:=20(Standard)H.239=20=E2=80=93=20su?= =?UTF-8?q?bMessageIdentifier=20value=20strings=20missing=20from=20H245=20?= =?UTF-8?q?dissector.=20Modified=20to=20be=20filterable.=20https://bugs.wi?= =?UTF-8?q?reshark.org/bugzilla/show=5Fbug.cgi=3Fid=3D6312?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/trunk/; revision=38897 --- asn1/h245/h245.cnf | 11 ++++++++++- asn1/h245/packet-h245-template.c | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) (limited to 'asn1/h245') diff --git a/asn1/h245/h245.cnf b/asn1/h245/h245.cnf index 11c9f54f7f..5636b79e96 100644 --- a/asn1/h245/h245.cnf +++ b/asn1/h245/h245.cnf @@ -623,9 +623,18 @@ if (h245_pi != NULL) #.FN_BODY GenericMessage/subMessageIdentifier VAL_PTR = &subMessageIdentifer guint32 subMessageIdentifer; gef_ctx_t *gefx; + + gefx = gef_ctx_get(actx->private_data); + if (gefx) { + /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get + * the value translated and make it fileterable. + */ + if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) { + hf_index = hf_h245_subMessageIdentifier_standard; + } + } %(DEFAULT_BODY)s - gefx = gef_ctx_get(actx->private_data); if (gefx) gefx->subid = ep_strdup_printf("%%u", subMessageIdentifer); #.END diff --git a/asn1/h245/packet-h245-template.c b/asn1/h245/packet-h245-template.c index a2c81201f8..4380db39db 100644 --- a/asn1/h245/packet-h245-template.c +++ b/asn1/h245/packet-h245-template.c @@ -76,6 +76,7 @@ static dissector_handle_t amr_handle = NULL; static void init_h245_packet_info(h245_packet_info *pi); static int hf_h245_pdu_type = -1; static int hf_h245Manufacturer = -1; +static int hf_h245_subMessageIdentifier_standard = -1; static int h245_tap = -1; static int h245dg_tap = -1; h245_packet_info *h245_pi=NULL; @@ -254,6 +255,18 @@ static const value_string h245_RFC_number_vals[] = { { 0, NULL } }; +/* Table 7/H.239 subMessageIdentifier values */ +static const value_string h245_h239subMessageIdentifier_vals[] = { + { 1, "flowControlReleaseRequest" }, + { 2, "flowControlReleaseResponse" }, + { 3, "presentationTokenRequest" }, + { 4, "presentationTokenResponse" }, + { 5, "presentationTokenRelease" }, + { 6, "presentationTokenIndicateOwner" }, + { 0, NULL } +}; + + /* h223 multiplex codes */ static h223_set_mc_handle_t h223_set_mc_handle = NULL; h223_mux_element *h223_me=NULL; @@ -471,6 +484,11 @@ void proto_register_h245(void) { { &hf_h245Manufacturer, { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX, VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }}, + { &hf_h245_subMessageIdentifier_standard, + { "subMessageIdentifier", "h245.subMessageIdentifier.standard", + FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0, + NULL, HFILL }}, + #include "packet-h245-hfarr.c" }; -- cgit v1.2.3