diff --git a/cmd/csaf_provider/config.go b/cmd/csaf_provider/config.go index dd94a17..12fce85 100644 --- a/cmd/csaf_provider/config.go +++ b/cmd/csaf_provider/config.go @@ -19,15 +19,16 @@ const ( ) type config struct { - Key string `toml:"key"` - Folder string `toml:"folder"` - Web string `toml:"web"` - TLPs []tlp `toml:"tlps"` - UploadSignature bool `toml:"upload_signature"` - OpenPGPURL string `toml:"openpgp_url"` - Domain string `toml:"domain"` - NoPassphrase bool `toml:"no_passphrase"` - Publisher *csaf.Publisher `toml:"publisher"` + Key string `toml:"key"` + Folder string `toml:"folder"` + Web string `toml:"web"` + TLPs []tlp `toml:"tlps"` + UploadSignature bool `toml:"upload_signature"` + OpenPGPURL string `toml:"openpgp_url"` + Domain string `toml:"domain"` + NoPassphrase bool `toml:"no_passphrase"` + DynamicProviderMetaData bool `toml:"dynamic_provider_metadata"` + Publisher *csaf.Publisher `toml:"publisher"` } type tlp string diff --git a/cmd/csaf_provider/transaction.go b/cmd/csaf_provider/transaction.go index 07d601d..2d0c782 100644 --- a/cmd/csaf_provider/transaction.go +++ b/cmd/csaf_provider/transaction.go @@ -59,29 +59,31 @@ func doTransaction( return err } - // Write back provider metadata. - newMetaName, newMetaFile, err := mkUniqFile(metadata) - if err != nil { - os.RemoveAll(newDir) - return err - } + // Write back provider metadata if its dynamic. + if cfg.DynamicProviderMetaData { + newMetaName, newMetaFile, err := mkUniqFile(metadata) + if err != nil { + os.RemoveAll(newDir) + return err + } - if err := pmd.Save(newMetaFile); err != nil { - newMetaFile.Close() - os.Remove(newMetaName) - os.RemoveAll(newDir) - return err - } + if err := pmd.Save(newMetaFile); err != nil { + newMetaFile.Close() + os.Remove(newMetaName) + os.RemoveAll(newDir) + return err + } - if err := newMetaFile.Close(); err != nil { - os.Remove(newMetaName) - os.RemoveAll(newDir) - return err - } + if err := newMetaFile.Close(); err != nil { + os.Remove(newMetaName) + os.RemoveAll(newDir) + return err + } - if err := os.Rename(newMetaName, metadata); err != nil { - os.RemoveAll(newDir) - return err + if err := os.Rename(newMetaName, metadata); err != nil { + os.RemoveAll(newDir) + return err + } } // Switch directories.