dmarc-day, health-sockets: the reporter's day said; the inbound journal dialled
The owner, 2026-10-17: "Показ времени отчёта по UTC принимаем. Это не проблема. Пояснения добавь. Все мелочи закрой." Designs9b33b80,2bf9056. DMARC: a report's day stays the reporter's, in UTC (RFC 7489 § 7.2); the report's Window now says so under its times (windowNote), and Settings' Time zone box and Help (#settings, #dmarc) name it as the one exception to the panel's zone. formatDMARCWindow counts a window that ends at midnight as ending the day before, so a daily report is one day, not "20 Sep - 21 Sep" (TestDMARCWindowIsTheReportersDay, in Moscow's zone). Health: with the inbound relay on, the inbound journal milter's socket is dialled (InboundJournalSocket through web and handlers Config), fail-open as the send log's, and Overview's card counts it; the send log's socket is named journal-milter, as the mockup names it. The confirmation link's sign-in state is drawn (confirm-email-signin.html); the panel already renders it. guide: /license and /server/components, the DMARC pages' paths and day, selfpost-backup -o / -i / -version, the Inbound log's retention field, PANEL_COOKIE_SECURE, the inbound journal's socket, the DMARC exception to the zone. CHANGELOG [Unreleased]. (The e2e case negative_level1_ratelimit, listed as able to pass falsely, was fixed on 2026-10-14 - the note was stale.) go vet + go test (26 packages) and make e2e on the test server for this tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -328,8 +328,8 @@ type ReportInput struct {
|
||||
DomainID int64
|
||||
Contact string
|
||||
Pass, Fail int
|
||||
Window string // the window in the title: "20 Sep"
|
||||
Period string // the window with its times: "20 Sep 00:00 – 21 Sep 00:00"
|
||||
Window string // the reporter's day, in the title: "20 Sep"
|
||||
Period string // the window with its times, this zone's: "20 Sep 03:00 – 21 Sep 03:00"
|
||||
Received string // "2026-09-21 04:40"
|
||||
PolicyP string
|
||||
PolicySP string
|
||||
@@ -341,6 +341,16 @@ type ReportInput struct {
|
||||
Hub bool
|
||||
}
|
||||
|
||||
// windowNote says, under a report's window, which day the report is of: the
|
||||
// reporter's, in UTC, which the title and the lists name (owner, 2026-10-17:
|
||||
// "Показ времени отчёта по UTC принимаем ... Пояснения добавь").
|
||||
func windowNote(day string) Text {
|
||||
if day == "" {
|
||||
return nil
|
||||
}
|
||||
return Plain("The reporter's day, " + day + ": reports count their days in UTC, and the title and the lists name that day. The times are this panel's zone.")
|
||||
}
|
||||
|
||||
// NewDMARCReport builds the page of one report.
|
||||
func NewDMARCReport(m Meta, in ReportInput) *DMARCReport {
|
||||
title := in.Reporter
|
||||
@@ -359,7 +369,7 @@ func NewDMARCReport(m Meta, in ReportInput) *DMARCReport {
|
||||
report := []Fact{
|
||||
{Label: "Reporter", Value: Plain(in.Reporter)},
|
||||
{Label: "Report id", Value: Plain(in.ReportID), Mono: true, Small: true},
|
||||
{Label: "Window", Value: Plain(in.Period)},
|
||||
{Label: "Window", Value: Plain(in.Period), Note: windowNote(in.Window)},
|
||||
{Label: "Received", Value: Plain(in.Received)},
|
||||
}
|
||||
if in.Contact != "" {
|
||||
|
||||
Reference in New Issue
Block a user