blob: 5d2b8a5eafafb3127b3c8416884e15802c4334c6 [file] [log] [blame]
package main
import (
"flag"
"fmt"
"os"
log "github.com/golang/glog"
"cos.googlesource.com/cos/tools.git/src/pkg/modules"
)
var (
rawSigPath = flag.String("rawsig", "", "Path of the raw signature to append to the kernel module. Required.")
modulePath = flag.String("module", "", "Path of the kernel module needs to be signed. Required.")
outPath = flag.String("outpath", "", "Path of the signed module output destination. The default is to append signature in-place.")
)
func main() {
flag.Parse()
if err := checkFlags(); err != nil {
log.Errorf("failed to parse flags: %v", err)
os.Exit(1)
}
if err := modules.AppendSignature(*outPath, *modulePath, *rawSigPath); err != nil {
log.Errorf("failed to append signature: %v", err)
os.Exit(1)
}
}
func checkFlags() error {
if *rawSigPath == "" {
return fmt.Errorf("flag -rawsig is required")
}
if *modulePath == "" {
return fmt.Errorf("flag -module is required")
}
if *outPath == "" {
outPath = modulePath
}
return nil
}