aboutsummaryrefslogtreecommitdiffstats
path: root/epan/disabled_protos.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2017-04-08 12:45:19 -0700
committerGuy Harris <guy@alum.mit.edu>2017-04-08 20:40:08 +0000
commit2c44a7f930967335b442e899c17e1eb46831e3c1 (patch)
tree7ce2db4007feccf638308dc205f509ec385436a3 /epan/disabled_protos.h
parentf1751ef22fc9877e59fad3b1c60826bff8569d94 (diff)
Clean up handling of enabled/disabled protocols/heuristic dissectors.
Add a "report a warning message" routine to the "report_err" code in libwsutil, and rename files and routines appropriately, as they don't only handle errors any more. Have a routine read_enabled_and_disabled_protos() that reads all the files that enable or disable protocols or heuristic dissectors, enables and disables them based on the contents of those files, and reports errors itself (as warnings) using the new "report a warning message" routine. Fix that error reporting to report separately on the disabled protocols, enabled protocols, and heuristic dissectors files. Have a routine to set up the enabled and disabled protocols and heuristic dissectors from the command-line arguments, so it's done the same way in all programs. If we try to enable or disable an unknown heuristic dissector via a command-line argument, report an error. Update a bunch of comments. Update the name of disabled_protos_cleanup(), as it cleans up information for disabled *and* enabled protocols and for heuristic dissectors. Support the command-line flags to enable and disable protocols and heuristic dissectors in tfshark. Change-Id: I9b8bd29947cccdf6dc34a0540b5509ef941391df Reviewed-on: https://code.wireshark.org/review/20966 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/disabled_protos.h')
-rw-r--r--epan/disabled_protos.h81
1 files changed, 11 insertions, 70 deletions
diff --git a/epan/disabled_protos.h b/epan/disabled_protos.h
index 52a791bfa7..f1f436464f 100644
--- a/epan/disabled_protos.h
+++ b/epan/disabled_protos.h
@@ -6,7 +6,6 @@
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
- *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
@@ -30,28 +29,6 @@ extern "C" {
#endif /* __cplusplus */
/*
- * Read in a list of disabled protocols.
- *
- * On success, "*pref_path_return" is set to NULL.
- * On error, "*pref_path_return" is set to point to the pathname of
- * the file we tried to read - it should be freed by our caller -
- * and "*open_errno_return" is set to the error if we couldn't open the file
- * or "*read_errno_return" is set to the error if we got an error reading
- * the file.
- */
-WS_DLL_PUBLIC void
-read_disabled_protos_list(char **gpath_return, int *gopen_errno_return,
- int *gread_errno_return,
- char **path_return, int *open_errno_return,
- int *read_errno_return);
-
-/*
- * Disable protocols as per the stored configuration
- */
-WS_DLL_PUBLIC void
-set_disabled_protos_list(void);
-
-/*
* Write out a list of disabled protocols.
*
* On success, "*pref_path_return" is set to NULL.
@@ -69,29 +46,6 @@ save_disabled_protos_list(char **pref_path_return, int *errno_return);
WS_DLL_PUBLIC void
proto_disable_proto_by_name(const char *name);
-
-/*
- * Read in a list of enabled protocols (who are disabled by default)
- *
- * On success, "*pref_path_return" is set to NULL.
- * On error, "*pref_path_return" is set to point to the pathname of
- * the file we tried to read - it should be freed by our caller -
- * and "*open_errno_return" is set to the error if we couldn't open the file
- * or "*read_errno_return" is set to the error if we got an error reading
- * the file.
- */
-WS_DLL_PUBLIC void
-read_enabled_protos_list(char **gpath_return, int *gopen_errno_return,
- int *gread_errno_return,
- char **path_return, int *open_errno_return,
- int *read_errno_return);
-
-/*
- * Enable protocols (that default to disabled) as per the stored configuration
- */
-WS_DLL_PUBLIC void
-set_enabled_protos_list(void);
-
/*
* Write out a list of enabled protocols (that default to being disabled)
*
@@ -112,28 +66,6 @@ WS_DLL_PUBLIC void
proto_enable_proto_by_name(const char *name);
/*
- * Read in a list of disabled protocols.
- *
- * On success, "*pref_path_return" is set to NULL.
- * On error, "*pref_path_return" is set to point to the pathname of
- * the file we tried to read - it should be freed by our caller -
- * and "*open_errno_return" is set to the error if we couldn't open the file
- * or "*read_errno_return" is set to the error if we got an error reading
- * the file.
- */
-WS_DLL_PUBLIC void
-read_disabled_heur_dissector_list(char **gpath_return, int *gopen_errno_return,
- int *gread_errno_return,
- char **path_return, int *open_errno_return,
- int *read_errno_return);
-
-/*
- * Disable protocols as per the stored configuration
- */
-WS_DLL_PUBLIC void
-set_disabled_heur_dissector_list(void);
-
-/*
* Write out a list of disabled heuristic dissectors.
*
* On success, "*pref_path_return" is set to NULL.
@@ -146,15 +78,24 @@ save_disabled_heur_dissector_list(char **pref_path_return, int *errno_return);
/*
* Enable/disable a particular heuristic dissector by name
+ * On success (found the protocol), return TRUE.
+ * On failure (didn't find the protocol), return FALSE.
*/
-WS_DLL_PUBLIC void
+WS_DLL_PUBLIC gboolean
proto_enable_heuristic_by_name(const char *name, gboolean enable);
/*
+ * Read the files that enable and disable protocols and heuristic
+ * dissectors. Report errors through the UI.
+ */
+WS_DLL_PUBLIC void
+read_enabled_and_disabled_protos(void);
+
+/*
* Free the internal structures
*/
extern void
-disabled_protos_cleanup(void);
+enabled_and_disabled_protos_cleanup(void);
#ifdef __cplusplus
}