Accept protocol aliases in Decode As (-d tcp.port==4433,ssl)
Change-Id: Idb2e4f9964cf0b5c1237a0d4b5e0954adfd5e6b6 Reviewed-on: https://code.wireshark.org/review/31895 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
This commit is contained in:
parent
62a8d40b5f
commit
78827c8752
|
@ -208,9 +208,11 @@ class case_decrypt_tls(subprocesstest.SubprocessTestCase):
|
||||||
if not features.have_gnutls:
|
if not features.have_gnutls:
|
||||||
self.skipTest('Requires GnuTLS.')
|
self.skipTest('Requires GnuTLS.')
|
||||||
key_file = os.path.join(dirs.key_dir, 'rsasnakeoil2.key')
|
key_file = os.path.join(dirs.key_dir, 'rsasnakeoil2.key')
|
||||||
|
# Test protocol alias while at it (ssl -> tls)
|
||||||
self.assertRun((cmd_tshark,
|
self.assertRun((cmd_tshark,
|
||||||
'-r', capture_file('tls-renegotiation.pcap'),
|
'-r', capture_file('tls-renegotiation.pcap'),
|
||||||
'-o', 'tls.keys_list:0.0.0.0,4433,http,{}'.format(key_file),
|
'-o', 'tls.keys_list:0.0.0.0,4433,http,{}'.format(key_file),
|
||||||
|
'-d', 'tcp.port==4433,ssl',
|
||||||
'-Tfields',
|
'-Tfields',
|
||||||
'-e', 'http.content_length',
|
'-e', 'http.content_length',
|
||||||
'-Y', 'http',
|
'-Y', 'http',
|
||||||
|
|
|
@ -118,7 +118,7 @@ fprint_all_protocols_for_layer_types(FILE *output, gchar *table_name)
|
||||||
* to pass parameters and store results
|
* to pass parameters and store results
|
||||||
*/
|
*/
|
||||||
struct protocol_name_search{
|
struct protocol_name_search{
|
||||||
gchar *searched_name; /* Protocol filter name we are looking for */
|
const char *searched_name; /* Protocol filter name we are looking for */
|
||||||
dissector_handle_t matched_handle; /* Handle for a dissector whose protocol has the specified filter name */
|
dissector_handle_t matched_handle; /* Handle for a dissector whose protocol has the specified filter name */
|
||||||
guint nb_match; /* How many dissectors matched searched_name */
|
guint nb_match; /* How many dissectors matched searched_name */
|
||||||
};
|
};
|
||||||
|
@ -387,8 +387,14 @@ gboolean decode_as_command_option(const gchar *cl_param)
|
||||||
cmdarg_err("No protocol name specified"); /* Note, we don't exit here, but dissector_matching will remain NULL, so we exit below */
|
cmdarg_err("No protocol name specified"); /* Note, we don't exit here, but dissector_matching will remain NULL, so we exit below */
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
header_field_info *hfi = proto_registrar_get_byalias(dissector_str);
|
||||||
|
|
||||||
user_protocol_name.nb_match = 0;
|
user_protocol_name.nb_match = 0;
|
||||||
user_protocol_name.searched_name = dissector_str;
|
if (hfi) {
|
||||||
|
user_protocol_name.searched_name = hfi->abbrev;
|
||||||
|
} else {
|
||||||
|
user_protocol_name.searched_name = dissector_str;
|
||||||
|
}
|
||||||
user_protocol_name.matched_handle = NULL;
|
user_protocol_name.matched_handle = NULL;
|
||||||
|
|
||||||
dissector_table_foreach_handle(table_name, find_protocol_name_func, &user_protocol_name); /* Go and perform the search for this dissector in the this table's dissectors' names and shortnames */
|
dissector_table_foreach_handle(table_name, find_protocol_name_func, &user_protocol_name); /* Go and perform the search for this dissector in the this table's dissectors' names and shortnames */
|
||||||
|
|
Loading…
Reference in New Issue