- handlers/authz.go: domainIDSet removed, nothing called it (U1000). - handlers_outbound_pages_test.go: two refusals whose status code was assigned and never read (SA4006) now check it is 400 - a custom DMARC report mode without an address, export passwords that differ. - view/pages_test.go: !strings.Contains for a missing box (S1003). - Audit plan line ticked, roadmap 6/61. No CHANGELOG line: nothing an operator sees changes. staticcheck ./... clean afterwards. Evidence on the test server: see the previous commit (same tree run). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -57,16 +57,3 @@ func domainNameSet(domains []store.Domain) map[string]bool {
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
// domainIDSet is the set of sending domains a principal is limited to; nil
|
||||
// means no limit (the global role, or a domain user with All).
|
||||
func domainIDSet(p auth.Principal) map[int64]bool {
|
||||
if p.IsGlobal() || p.AllDomains {
|
||||
return nil
|
||||
}
|
||||
m := make(map[int64]bool, len(p.Domains))
|
||||
for _, id := range p.Domains {
|
||||
m[id] = true
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
@@ -172,6 +172,9 @@ func TestDomainSettingsRefusalsStayOnTheSettingsPage(t *testing.T) {
|
||||
lacks(t, "report address refusal", body, `<b>`)
|
||||
|
||||
code, body = post(s.h.HandleDomainDMARC, "reports", url.Values{"dmarc_rua_mode": {"custom"}})
|
||||
if code != http.StatusBadRequest {
|
||||
t.Fatalf("a custom mode without an address = %d", code)
|
||||
}
|
||||
has(t, "report address refusal", body, `Enter the report address or choose another option.`)
|
||||
|
||||
code, body = post(s.h.HandleDomainDMARC, "reports", url.Values{"dmarc_rua_mode": {"hosted"}})
|
||||
@@ -192,6 +195,9 @@ func TestDomainSettingsRefusalsStayOnTheSettingsPage(t *testing.T) {
|
||||
}
|
||||
has(t, "export refusal", body, `The encryption password must be at least 12 characters.`, `<h1 class="title is-3">Domain settings</h1>`)
|
||||
code, body = post(s.h.HandleExportDomain, "export", url.Values{"encrypt": {"1"}, "password": {"long-enough-password"}, "password_confirm": {"another-one-entirely"}})
|
||||
if code != http.StatusBadRequest {
|
||||
t.Fatalf("export passwords that differ = %d", code)
|
||||
}
|
||||
has(t, "export refusal", body, `The two passwords do not match.`)
|
||||
}
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ func TestHealthShowsEveryCheckAndBothActions(t *testing.T) {
|
||||
order := []string{`id="processes"`, `id="sender-check"`, `id="hostname"`, `id="machine"`,
|
||||
`id="sockets"`, `id="certificate"`, `id="notification-mail"`, `id="configuration"`}
|
||||
for i := 1; i < len(order); i++ {
|
||||
if strings.Index(out, order[i-1]) < 0 || strings.Index(out, order[i]) < strings.Index(out, order[i-1]) {
|
||||
if !strings.Contains(out, order[i-1]) || strings.Index(out, order[i]) < strings.Index(out, order[i-1]) {
|
||||
t.Errorf("%s does not come after %s", order[i], order[i-1])
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user