mirror of
https://github.com/containers/podman.git
synced 2025-10-17 19:24:04 +08:00
hooks: Fail ReadDir if a configured hook executable is missing
The continue here is from 5676597f (hooks/read: Ignore IsNotExist for JSON files in ReadDir, 2018-04-27, #686), where it was intended to silently ignore missing JSON files. However, the old logic was also silently ignoring not-exist errors from the os.Stat(hook.Hook.Path) from 68eb128f (pkg/hooks: Version the hook structure and add 1.0.0 hooks, 2018-04-27, #686). This commit adjusts the check so JSON not-exist errors continue to be silently ignored while hook executable not-exist errors become fatal. Signed-off-by: W. Trevor King <wking@tremily.us> Closes: #887 Approved by: rhatdan
This commit is contained in:

committed by
Atomic Bot

parent
cae49fca29
commit
947e410fe6
@ -67,13 +67,16 @@ func ReadDir(path string, extensionStages []string, hooks map[string]*current.Ho
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
hook, err := Read(filepath.Join(path, file.Name()), extensionStages)
|
||||
filePath := filepath.Join(path, file.Name())
|
||||
hook, err := Read(filePath, extensionStages)
|
||||
if err != nil {
|
||||
if err == ErrNoJSONSuffix {
|
||||
continue
|
||||
}
|
||||
if os.IsNotExist(err) {
|
||||
continue
|
||||
if err2, ok := err.(*os.PathError); ok && err2.Path == filePath {
|
||||
continue
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user