func()

in pkg/generator/cef/cef.go [100:129]


func (c *CEF) randomize() {
	c.CEFVersion = randInt(c.CEFVersions)
	c.Vendor = randString(c.Vendors)
	c.Product = randString(c.Products)
	c.Version = randString(c.Versions)
	c.Class = randString(c.Classes)
	c.Name = randString(c.Names)
	c.Severity = randInt(c.Severities)

	c.Extensions = c.Extensions[:0]
	if c.Max == 0 {
		return
	}
	have := make(map[string]bool)
	for _, x := range c.Exclude {
		have[x] = true
	}
	for _, m := range c.Must {
		c.addExtension(m, have)
	}
	perm := rand.Perm(len(extensions))
	max := rand.Intn(c.Max)
	for _, p := range perm {
		if len(c.Extensions) >= max {
			break
		}
		c.addExtension(extensions[p], have)
	}
	rand.Shuffle(len(c.Extensions), func(i, j int) { c.Extensions[i], c.Extensions[j] = c.Extensions[j], c.Extensions[i] })
}