make sure we don't try to load an iso into memory because of a user mistake
This commit is contained in:
parent
9fe1366eeb
commit
2a9f49a5c6
|
@ -58,6 +58,11 @@ func (c *ISOConfig) Prepare(ctx *interpolate.Context) (warnings []string, errs [
|
||||||
|
|
||||||
// If iso_checksum has no value use iso_checksum_url instead.
|
// If iso_checksum has no value use iso_checksum_url instead.
|
||||||
if c.ISOChecksum == "" {
|
if c.ISOChecksum == "" {
|
||||||
|
if strings.HasSuffix(strings.ToLower(c.ISOChecksumURL), ".iso") {
|
||||||
|
errs = append(errs, fmt.Errorf("Error parsing checksum:"+
|
||||||
|
" .iso is not a valid checksum extension"))
|
||||||
|
return warnings, errs
|
||||||
|
}
|
||||||
u, err := url.Parse(c.ISOChecksumURL)
|
u, err := url.Parse(c.ISOChecksumURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs,
|
errs = append(errs,
|
||||||
|
|
|
@ -239,6 +239,16 @@ func TestISOConfigPrepare_ISOChecksumURL(t *testing.T) {
|
||||||
if i.ISOChecksum != "bar0" {
|
if i.ISOChecksum != "bar0" {
|
||||||
t.Fatalf("should've found \"bar0\" got: %s", i.ISOChecksum)
|
t.Fatalf("should've found \"bar0\" got: %s", i.ISOChecksum)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test that we won't try to read an iso into memory because of a user
|
||||||
|
// error
|
||||||
|
i = testISOConfig()
|
||||||
|
i.ISOChecksumURL = "file:///not_read.iso"
|
||||||
|
i.ISOChecksum = ""
|
||||||
|
warns, err = i.Prepare(nil)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatalf("should have error because iso is bad filetype: %s", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestISOConfigPrepare_ISOChecksumType(t *testing.T) {
|
func TestISOConfigPrepare_ISOChecksumType(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue