Harden contract validation, STARTTLS edge cases, and rule output
This commit is contained in:
parent
a925e4f162
commit
fa212f0fae
9 changed files with 104 additions and 39 deletions
|
|
@ -36,6 +36,10 @@ func starttlsIMAP(conn net.Conn, sni string) error {
|
|||
supportsSTARTTLS = true
|
||||
}
|
||||
if strings.HasPrefix(line, "A001 ") {
|
||||
rest := strings.TrimSpace(line[len("A001 "):])
|
||||
if !strings.HasPrefix(strings.ToUpper(rest), "OK") {
|
||||
return fmt.Errorf("CAPABILITY rejected by server: %s", rest)
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue