mirror of
https://github.com/empayre/fleet.git
synced 2024-11-07 17:28:54 +00:00
36 lines
1.0 KiB
Go
36 lines
1.0 KiB
Go
package inmem
|
|
|
|
import "github.com/kolide/kolide/server/kolide"
|
|
|
|
func (d *Datastore) NewYARASignatureGroup(ysg *kolide.YARASignatureGroup) (*kolide.YARASignatureGroup, error) {
|
|
d.mtx.Lock()
|
|
defer d.mtx.Unlock()
|
|
ysg.ID = d.nextID(ysg)
|
|
d.yaraSignatureGroups[ysg.ID] = ysg
|
|
return ysg, nil
|
|
}
|
|
|
|
func (d *Datastore) NewYARAFilePath(fileSectionName, sigGroupName string) error {
|
|
d.mtx.Lock()
|
|
defer d.mtx.Unlock()
|
|
d.yaraFilePaths[fileSectionName] = append(d.yaraFilePaths[fileSectionName], sigGroupName)
|
|
return nil
|
|
}
|
|
|
|
func (d *Datastore) YARASection() (*kolide.YARASection, error) {
|
|
d.mtx.Lock()
|
|
defer d.mtx.Unlock()
|
|
result := &kolide.YARASection{
|
|
Signatures: make(map[string][]string),
|
|
FilePaths: make(map[string][]string),
|
|
}
|
|
for _, ysg := range d.yaraSignatureGroups {
|
|
result.Signatures[ysg.SignatureName] = append(result.Signatures[ysg.SignatureName], ysg.Paths...)
|
|
}
|
|
for fileSection, sigSection := range d.yaraFilePaths {
|
|
result.FilePaths[fileSection] = append(result.FilePaths[fileSection], sigSection...)
|
|
}
|
|
|
|
return result, nil
|
|
}
|