Extraction Hardening
This commit is contained in:
@@ -214,9 +214,11 @@ type TopDataWikiConfig struct {
|
||||
|
||||
type ExtractConfig struct {
|
||||
IgnoreExtensions []string `json:"ignore_extensions" yaml:"ignore_extensions"`
|
||||
Archives []string `json:"archives,omitempty" yaml:"archives,omitempty"`
|
||||
Layout string `json:"layout" yaml:"layout"`
|
||||
HAKDiscovery string `json:"hak_discovery" yaml:"hak_discovery"`
|
||||
CleanupStale *bool `json:"cleanup_stale,omitempty" yaml:"cleanup_stale,omitempty"`
|
||||
ConsumeArchives *bool `json:"consume_archives,omitempty" yaml:"consume_archives,omitempty"`
|
||||
DeleteModuleArchiveAfterSuccess bool `json:"delete_module_archive_after_success,omitempty" yaml:"delete_module_archive_after_success,omitempty"`
|
||||
}
|
||||
|
||||
@@ -506,6 +508,7 @@ func (p *Project) ValidateLayout() error {
|
||||
default:
|
||||
failures = append(failures, fmt.Errorf("extract.hak_discovery %q is not supported", effective.Extract.HAKDiscovery))
|
||||
}
|
||||
failures = append(failures, validateGlobList("extract.archives", effective.Extract.Archives)...)
|
||||
if _, err := time.ParseDuration(effective.Autogen.Cache.MaxAge); err != nil {
|
||||
failures = append(failures, fmt.Errorf("autogen.cache.max_age must be a duration: %w", err))
|
||||
}
|
||||
@@ -963,6 +966,7 @@ func normalizeConfig(cfg *Config) {
|
||||
cfg.HAKs[i].Include = normalizeStringSlice(cfg.HAKs[i].Include)
|
||||
}
|
||||
cfg.Extract.IgnoreExtensions = normalizeStringSlice(cfg.Extract.IgnoreExtensions)
|
||||
cfg.Extract.Archives = normalizeStringSlice(cfg.Extract.Archives)
|
||||
for i := range cfg.Autogen.Producers {
|
||||
cfg.Autogen.Producers[i].Include = normalizeStringSlice(cfg.Autogen.Producers[i].Include)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user