diff options
author | Jim Young <jyoung@gsu.edu> | 2015-07-14 00:28:49 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-07-17 11:27:52 +0000 |
commit | ad82dfd5547e460359eb3597ddb6760a29c40439 (patch) | |
tree | 7e13c660c502985fef6eb075e5efe09c5e020d9a /epan/disabled_protos.c | |
parent | 9d24a26c9b8c78260fca9c4f6ecf480e12010229 (diff) | |
download | wireshark-ad82dfd5547e460359eb3597ddb6760a29c40439.tar.gz |
Add new long options to GUIs to allow arbitrary protocols and heuristics to be disabled via command-line
Future: Allow multiple protocols to be disabled in one option statement
(perhaps using a comma or colon delmited set of names in <proto_name>)
instead of having to specify --disable-protocol <proto_name> multiple times.
Change-Id: I9b8f960acf75298ebb098d9b667fca49dca52306
Reviewed-on: https://code.wireshark.org/review/9631
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/disabled_protos.c')
-rw-r--r-- | epan/disabled_protos.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/epan/disabled_protos.c b/epan/disabled_protos.c index 4d30e13510..602f48d57d 100644 --- a/epan/disabled_protos.c +++ b/epan/disabled_protos.c @@ -356,6 +356,27 @@ skip: } /* + * Disable a particular protocol by name + */ + +void +proto_disable_proto_by_name(const char *name) +{ + protocol_t *protocol; + int proto_id; + + proto_id = proto_get_id_by_filter_name(name); + if (proto_id >= 0 ) { + protocol = find_protocol_by_id(proto_id); + if (proto_is_protocol_enabled(protocol) == TRUE) { + if (proto_can_toggle_protocol(proto_id) == TRUE) { + proto_set_decoding(proto_id, FALSE); + } + } + } +} + +/* * Write out a list of disabled protocols. * * On success, "*pref_path_return" is set to NULL. @@ -792,6 +813,15 @@ save_disabled_heur_dissector_list(char **pref_path_return, int *errno_return) g_free(ff_path); } +void +proto_enable_heuristic_by_name(const char *name, gboolean enable) +{ + heur_dtbl_entry_t* heur = find_heur_dissector_by_unique_short_name(name); + if (heur != NULL) { + heur->enabled = enable; + } +} + /* * Editor modelines - http://www.wireshark.org/tools/modelines.html * |