from-header-binding: what the reviews had left as found, and address extensions
test / test (push) Canceled after 0s
test / test (push) Canceled after 0s
The owner on the three things the reviews' commit left as found: can they be fixed? They can. - Downtime that crossed a UTC midnight was all booked on the day of the restart: it is cut at the midnights between (byDay). - A message with the null envelope sender - a bounce an application writes itself - left a refusal row without a domain, which no domain administrator would see: the row takes the domain the login is bound to. - A log read again after an unclean stop counted its deferrals again: while the tailer catches up, a warning no later than the last one counted is passed over. The mark is kept to the fraction of a second the log gives. And on the check being stricter than Postfix for an address with an extension (invoices+x@ passed in the envelope, was refused in the header): it makes Postfix's second try now, the address without its extension. recipient_delimiter was the distribution's default; it is set in postfix-config.sh, since the check depends on it. e2e sends one through. Test server, this tree: go vet ok, go test 23 packages ok, make e2e ok (339 s). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,13 +88,26 @@ func (s *Store) AddSenderCheckDeferred(at time.Time, n int64) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
stamp := at.UTC().Format(time.RFC3339)
|
||||
// To the fraction of a second the log gives, and of a fixed width so that
|
||||
// the strings compare as the times do.
|
||||
stamp := at.UTC().Format("2006-01-02T15:04:05.000000Z")
|
||||
if stamp > last {
|
||||
return s.SetSetting(settingSenderCheckDeferredAt, stamp)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SenderCheckDeferredAt is when a message was last counted as deferred; zero
|
||||
// if none was.
|
||||
func (s *Store) SenderCheckDeferredAt() (time.Time, error) {
|
||||
v, err := s.GetSetting(settingSenderCheckDeferredAt)
|
||||
if err != nil || v == "" {
|
||||
return time.Time{}, err
|
||||
}
|
||||
at, _ := time.Parse(time.RFC3339Nano, v)
|
||||
return at, nil
|
||||
}
|
||||
|
||||
// SenderCheckStats sums the days up to now: today, the last 30 days and the
|
||||
// last 12 months, each including today.
|
||||
func (s *Store) SenderCheckStats(now time.Time) (SenderCheckStats, error) {
|
||||
|
||||
Reference in New Issue
Block a user