bgpwtf/cccampix: draw the rest of the fucking owl
Change-Id: I49fd5906e69512e8f2d414f406edc0179522f225
diff --git a/bgpwtf/cccampix/verifier/processor_secretgen.go b/bgpwtf/cccampix/verifier/processor_secretgen.go
new file mode 100644
index 0000000..cefa1cc
--- /dev/null
+++ b/bgpwtf/cccampix/verifier/processor_secretgen.go
@@ -0,0 +1,35 @@
+package main
+
+import (
+ "context"
+ "time"
+
+ "code.hackerspace.pl/hscloud/bgpwtf/cccampix/verifier/model"
+ "github.com/sethvargo/go-password/password"
+)
+
+type secretGen struct {
+}
+
+func newSecretGen() (processor, error) {
+ return &secretGen{}, nil
+}
+
+func (p *secretGen) Name() string {
+ return "SecretGen"
+}
+
+func (p *secretGen) NextRun(now time.Time) time.Time {
+ return now.Add(1 * time.Minute)
+}
+
+func gen() model.SessionConfig {
+ secret := password.MustGenerate(16, 4, 0, false, true)
+ return model.SessionConfig{
+ BGPSecret: secret,
+ }
+}
+
+func (p *secretGen) RunAll(ctx context.Context, m model.Model) error {
+ return m.ConfigureMissingSessions(ctx, gen)
+}