| 206 | } |
| 207 | |
| 208 | func removeStaleShadowPlugins(dir string) { |
| 209 | entries, errRead := os.ReadDir(dir) |
| 210 | if errRead != nil { |
| 211 | return |
| 212 | } |
| 213 | for _, entry := range entries { |
| 214 | if entry == nil || entry.IsDir() { |
| 215 | continue |
| 216 | } |
| 217 | name := entry.Name() |
| 218 | if strings.HasPrefix(name, shadowPluginPrefix) || strings.HasPrefix(name, shadowPluginTempPrefix) { |
| 219 | removeShadowPlugin(filepath.Join(dir, name)) |
| 220 | } |
| 221 | } |
| 222 | } |
| 223 | |
| 224 | func shadowPluginPath(dir string, id string, digest string, extension string) string { |
| 225 | if len(digest) > shadowPluginDigestLength { |