mirror of
https://github.com/hashicorp/packer.git
synced 2026-02-26 19:41:06 -05:00
* Drop the iso_checksum_type & iso_checksum_url fields
In favor of simply using iso_checksum that will know what to do.
* fix after master merge
* Update builder_test.go
* Update builder_test.go
* Update builder_test.go
* Update builder_test.go
* Update builder_test.go
* remove checksum lowercasing tests
* Update builder_test.go
* Update builder_test.go
* better docs
* Update builder_test.go
* even better docs
* Update config.go
* Update builder_test.go
* Update step_create_vmx_test.go
* make generate
* better docs
* fix imports
* up tests
* Update _ISOConfig-required.html.md
* Update builder_test.go
* don't use sha1.Sum("none") as a caching path
* Update builder_test.go
* better docs
* Update iso_config_test.go
remove ISOChecksumType/ISOChecksumURL references
* Update step_download_test.go
* add iso_checksum_url and iso_checksum_type fixers + tests
* add concrete examples of checksum values
* add examples of checksumming from local file
* update go-getter dep
* up deps
* use new go-getter version
* up ESX5Driver.VerifyChecksum: use go-getter's checksumming
* ISOConfig.Prepare: get checksum there in case we need it as a string in ESX5Driver.VerifyChecksum
* Update iso_config.go
* get go-getter from v2 branch
* Update driver_esx5.go
add more comments
* Update driver_esx5.go
* show better error message when the checksum is invalid
* Update builder_test.go
put in a valid checksum to fix tests, checksum is md5("packer")
* Update builder_test.go
test invalid and valid checksum
* more test updating
* fix default md5 string to be a valid md5
* TestChecksumFileNameMixedCaseBug: use 'file:' prefix for file checksumming
* Update iso_config_test.go
* Update iso_config_test.go
* Update builder_test.go
* Update builder_test.go
* Update builder_test.go
* Update CHANGELOG.md
* Update CHANGELOG.md
* Update go.mod
* Update go.mod
* Update CHANGELOG.md
50 lines
802 B
Go
50 lines
802 B
Go
// +build gofuzz
|
|
|
|
package pattern
|
|
|
|
import (
|
|
"go/ast"
|
|
goparser "go/parser"
|
|
"go/token"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
var files []*ast.File
|
|
|
|
func init() {
|
|
fset := token.NewFileSet()
|
|
filepath.Walk("/usr/lib/go/src", func(path string, info os.FileInfo, err error) error {
|
|
if err != nil {
|
|
// XXX error handling
|
|
panic(err)
|
|
}
|
|
if !strings.HasSuffix(path, ".go") {
|
|
return nil
|
|
}
|
|
f, err := goparser.ParseFile(fset, path, nil, 0)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
files = append(files, f)
|
|
return nil
|
|
})
|
|
}
|
|
|
|
func Fuzz(data []byte) int {
|
|
p := &Parser{}
|
|
pat, err := p.Parse(string(data))
|
|
if err != nil {
|
|
if strings.Contains(err.Error(), "internal error") {
|
|
panic(err)
|
|
}
|
|
return 0
|
|
}
|
|
_ = pat.Root.String()
|
|
|
|
for _, f := range files {
|
|
Match(pat.Root, f)
|
|
}
|
|
return 1
|
|
}
|