Files
labca/patches/notify-mailer_main.patch
2023-07-12 20:20:38 +02:00

64 lines
1.7 KiB
Diff

diff --git a/cmd/notify-mailer/main.go b/cmd/notify-mailer/main.go
index e4b9ef739..7fd57e8f2 100644
--- a/cmd/notify-mailer/main.go
+++ b/cmd/notify-mailer/main.go
@@ -36,6 +36,7 @@ type mailer struct {
recipients []recipient
targetRange interval
sleepInterval time.Duration
+ pa *policy.AuthorityImpl
parallelSends uint
}
@@ -200,7 +201,7 @@ func (m *mailer) run() error {
continue
}
- err := policy.ValidEmail(w.address)
+ err := m.pa.ValidEmail(w.address)
if err != nil {
m.log.Infof("Skipping %q due to policy violation: %s", w.address, err)
continue
@@ -501,7 +502,9 @@ type Config struct {
NotifyMailer struct {
DB cmd.DBConfig
cmd.SMTPConfig
+ cmd.HostnamePolicyConfig
}
+ PA cmd.PAConfig
Syslog cmd.SyslogConfig
}
@@ -568,6 +571,15 @@ func main() {
log.Infof("While reading the recipient list file %s", probs)
}
+ // Validate PA config and set defaults if needed
+ cmd.FailOnError(cfg.PA.CheckChallenges(), "Invalid PA configuration")
+
+ logger := cmd.NewLogger(cmd.SyslogConfig{StdoutLevel: 7})
+ pa, err := policy.New(cfg.PA.Challenges, logger)
+ cmd.FailOnError(err, "Failed to create PA")
+ err = pa.SetHostnamePolicyFile(cfg.NotifyMailer.HostnamePolicyFile)
+ cmd.FailOnError(err, "Failed to load HostnamePolicyFile")
+
var mailClient bmail.Mailer
if *dryRun {
log.Infof("Starting %s in dry-run mode", cmd.VersionString())
@@ -583,6 +595,7 @@ func main() {
cfg.NotifyMailer.Username,
smtpPassword,
nil,
+ nil,
*address,
log,
metrics.NoopRegisterer,
@@ -603,6 +616,7 @@ func main() {
end: *end,
},
sleepInterval: *sleep,
+ pa: pa,
parallelSends: *parallelSends,
}