1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 05:40:11 +01:00

Only write provider metadata back if it is marked as dynamic in config.

This commit is contained in:
Sascha L. Teichmann 2021-12-01 21:10:02 +01:00
parent fbe20dbf60
commit 45299f7e44
2 changed files with 32 additions and 29 deletions

View file

@ -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

View file

@ -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.