M cmd/web/main.go => cmd/web/main.go +1 -1
@@ 79,7 79,7 @@ func checkOneHandler(w http.ResponseWriter, r *http.Request) {
}
rclient.HSet(context.Background(), "mitm_monitor_hosts", fqdn, "0")
t.ExecuteTemplate(w, "success.html", result)
- } else if !result.AllChecked {
+ } else if !result.AllChecked && !result.AnyChecked {
dedupeTlsa(&result)
t.ExecuteTemplate(w, "setup.html", result)
} else {
M common/common.go => common/common.go +3 -1
@@ 142,12 142,13 @@ type CheckResult struct {
Dnssec bool
Daneok bool
AllChecked bool
+ AnyChecked bool
Tlsa map[string]dane.TLSAinfo
Err error
}
func CheckOne(hostname string) CheckResult {
- finalResult := CheckResult{hostname, true, true, true, map[string]dane.TLSAinfo{}, nil}
+ finalResult := CheckResult{hostname, true, true, true, false, map[string]dane.TLSAinfo{}, nil}
resolver, err := dane.GetResolver("")
if err != nil {
finalResult.Err = err
@@ 232,6 233,7 @@ func CheckOne(hostname string) CheckResult {
for _, info := range finalResult.Tlsa {
for _, rdata := range info.Rdata {
finalResult.AllChecked = finalResult.AllChecked && rdata.Checked
+ finalResult.AnyChecked = finalResult.AnyChecked || rdata.Ok
}
}