Add sudoers_debug_deregister() and use it instead of calling
sudo_debug_deregister() directly.
This commit is contained in:
@@ -602,7 +602,7 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
|
||||
continue;
|
||||
}
|
||||
}
|
||||
sudoers_debug_register(&debug_files, plugin_path);
|
||||
sudoers_debug_register(plugin_path, &debug_files);
|
||||
|
||||
/*
|
||||
* Pull iolog settings out of command_info.
|
||||
@@ -690,11 +690,7 @@ sudoers_io_close(int exit_status, int error)
|
||||
fclose(io_log_files[i].fd.f);
|
||||
}
|
||||
|
||||
sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys);
|
||||
if (sudoers_debug_instance != SUDO_DEBUG_INSTANCE_INITIALIZER) {
|
||||
sudo_debug_deregister(sudoers_debug_instance);
|
||||
sudoers_debug_instance = SUDO_DEBUG_INSTANCE_INITIALIZER;
|
||||
}
|
||||
sudoers_debug_deregister();
|
||||
|
||||
return;
|
||||
}
|
||||
|
@@ -549,7 +549,7 @@ sudoers_policy_open(unsigned int version, sudo_conv_t conversation,
|
||||
continue;
|
||||
}
|
||||
}
|
||||
sudoers_debug_register(&debug_files, plugin_path);
|
||||
sudoers_debug_register(plugin_path, &debug_files);
|
||||
|
||||
/* Call the sudoers init function. */
|
||||
info.settings = settings;
|
||||
@@ -593,11 +593,7 @@ sudoers_policy_close(int exit_status, int error_code)
|
||||
sudo_efree(user_gids);
|
||||
user_gids = NULL;
|
||||
|
||||
sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys);
|
||||
if (sudoers_debug_instance != SUDO_DEBUG_INSTANCE_INITIALIZER) {
|
||||
sudo_debug_deregister(sudoers_debug_instance);
|
||||
sudoers_debug_instance = SUDO_DEBUG_INSTANCE_INITIALIZER;
|
||||
}
|
||||
sudoers_debug_deregister();
|
||||
|
||||
return;
|
||||
}
|
||||
|
@@ -348,7 +348,8 @@ void sudoers_cleanup(void);
|
||||
|
||||
/* sudoers_debug.c */
|
||||
void sudoers_debug_parse_flags(struct sudo_conf_debug_file_list *debug_files, const char *entry);
|
||||
void sudoers_debug_register(struct sudo_conf_debug_file_list *debug_files, const char *plugin_path);
|
||||
void sudoers_debug_register(const char *plugin_path, struct sudo_conf_debug_file_list *debug_files);
|
||||
void sudoers_debug_deregister(void);
|
||||
extern int sudoers_debug_instance;
|
||||
|
||||
/* policy.c */
|
||||
|
@@ -110,8 +110,8 @@ sudoers_debug_parse_flags(struct sudo_conf_debug_file_list *debug_files,
|
||||
* debug subsystem, freeing the debug list when done.
|
||||
*/
|
||||
void
|
||||
sudoers_debug_register(struct sudo_conf_debug_file_list *debug_files,
|
||||
const char *program)
|
||||
sudoers_debug_register(const char *program,
|
||||
struct sudo_conf_debug_file_list *debug_files)
|
||||
{
|
||||
struct sudo_debug_file *debug_file, *debug_next;
|
||||
|
||||
@@ -129,3 +129,17 @@ sudoers_debug_register(struct sudo_conf_debug_file_list *debug_files,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Deregister sudoers_debug_instance if it is registered.
|
||||
*/
|
||||
void
|
||||
sudoers_debug_deregister(void)
|
||||
{
|
||||
debug_decl(sudoers_debug_deregister, SUDOERS_DEBUG_PLUGIN, sudoers_debug_instance)
|
||||
if (sudoers_debug_instance != SUDO_DEBUG_INSTANCE_INITIALIZER) {
|
||||
sudo_debug_exit(__func__, __FILE__, __LINE__, sudo_debug_subsys);
|
||||
sudo_debug_deregister(sudoers_debug_instance);
|
||||
sudoers_debug_instance = SUDO_DEBUG_INSTANCE_INITIALIZER;
|
||||
}
|
||||
}
|
||||
|
@@ -140,7 +140,7 @@ main(int argc, char *argv[])
|
||||
|
||||
/* Initialize the debug subsystem. */
|
||||
sudo_conf_read(NULL, SUDO_CONF_DEBUG);
|
||||
sudoers_debug_register(sudo_conf_debug_files(getprogname()), getprogname());
|
||||
sudoers_debug_register(getprogname(), sudo_conf_debug_files(getprogname()));
|
||||
|
||||
dflag = 0;
|
||||
grfile = pwfile = NULL;
|
||||
|
@@ -171,7 +171,7 @@ main(int argc, char *argv[])
|
||||
|
||||
/* Initialize the debug subsystem. */
|
||||
sudo_conf_read(NULL, SUDO_CONF_DEBUG);
|
||||
sudoers_debug_register(sudo_conf_debug_files(getprogname()), getprogname());
|
||||
sudoers_debug_register(getprogname(), sudo_conf_debug_files(getprogname()));
|
||||
|
||||
/*
|
||||
* Arg handling.
|
||||
|
Reference in New Issue
Block a user