forked from osmocom/wireshark
![Michael Mann](/assets/img/avatar_default.png)
We save a list of dissectors that are disabled through the Enabled Protocols dialog. This is because we assume dissectors are enabled by default. For dissectors that are disabled by default, we have no way to keep them enabled through the Enabled Protocols dialog. A dissector that defaults to being disabled has to be reset to enabled each time Wireshark is launched. Add a list similar to the disabled list for enabling dissectors that are disabled by default. This mostly applies to post-dissectors. Change-Id: I31a8d97a9fdbc472fe2a8666384e0f8786bb8e9f Reviewed-on: https://code.wireshark.org/review/19405 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
159 lines
4.9 KiB
C
159 lines
4.9 KiB
C
/* disabled_protos.h
|
|
* Declarations of routines for reading and writing protocols file that determine
|
|
* enabling and disabling of protocols.
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* 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
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef DISABLED_PROTOS_H
|
|
#define DISABLED_PROTOS_H
|
|
|
|
#ifdef __cplusplus
|
|
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.
|
|
* 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 "*errno_return" is set to the error.
|
|
*/
|
|
WS_DLL_PUBLIC void
|
|
save_disabled_protos_list(char **pref_path_return, int *errno_return);
|
|
|
|
/*
|
|
* Disable a particular protocol by name
|
|
*/
|
|
|
|
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)
|
|
*
|
|
* 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 "*errno_return" is set to the error.
|
|
*/
|
|
WS_DLL_PUBLIC void
|
|
save_enabled_protos_list(char **pref_path_return, int *errno_return);
|
|
|
|
|
|
/*
|
|
* Enable a particular protocol by name. This will only enable
|
|
* protocols that are disabled by default. All others will be ignored.
|
|
*/
|
|
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.
|
|
* 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 "*errno_return" is set to the error.
|
|
*/
|
|
WS_DLL_PUBLIC void
|
|
save_disabled_heur_dissector_list(char **pref_path_return, int *errno_return);
|
|
|
|
/*
|
|
* Enable/disable a particular heuristic dissector by name
|
|
*/
|
|
WS_DLL_PUBLIC void
|
|
proto_enable_heuristic_by_name(const char *name, gboolean enable);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* DISABLED_PROTOS_H */
|