mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-31 14:25:52 +00:00
change cache check so that debugging can see which file caused failure
Currently the cache tracks the most recent timestamp of parsed files and then compares that to the cache timestamp. This unfortunately prevents the parser from being able to know which files caused the cache check failure. Rework the cache check so that there is a debug option, and that the cache file timestamp is set first so that we can output a deug message for each file that causes a cache check failure. Signed-off-by: John Johansen <john.johansen@canonical.com> [tyhicks: Forward ported to trunk and minor cleanups] Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Acked-by: Steve Beattie <steve@nxnw.org>
This commit is contained in:
committed by
Tyler Hicks
parent
afb3cd0b06
commit
2b240461a7
@@ -138,7 +138,7 @@ static int include_dir_cb(DIR *dir unused, const char *name, struct stat *st,
|
||||
if (!(yyin = fopen(path,"r")))
|
||||
yyerror(_("Could not open '%s' in '%s'"), path, d->filename);
|
||||
PDEBUG("Opened include \"%s\" in \"%s\"\n", path, d->filename);
|
||||
update_mru_tstamp(yyin);
|
||||
update_mru_tstamp(yyin, path);
|
||||
push_include_stack(path);
|
||||
yypush_buffer_state(yy_create_buffer(yyin, YY_BUF_SIZE));
|
||||
}
|
||||
@@ -174,7 +174,7 @@ void include_filename(char *filename, int search)
|
||||
|
||||
if (S_ISREG(my_stat.st_mode)) {
|
||||
yyin = include_file;
|
||||
update_mru_tstamp(include_file);
|
||||
update_mru_tstamp(include_file, fullpath);
|
||||
PDEBUG("Opened include \"%s\"\n", fullpath);
|
||||
push_include_stack(fullpath);
|
||||
yypush_buffer_state(yy_create_buffer( yyin, YY_BUF_SIZE ));
|
||||
|
Reference in New Issue
Block a user