15 lines
563 B
Go
15 lines
563 B
Go
package checker
|
|
|
|
import "net"
|
|
|
|
// starttlsUpgrader performs the plaintext portion of a STARTTLS upgrade on
|
|
// conn, leaving conn ready for tls.Client(conn, …).Handshake(). On success
|
|
// the returned function returns nil; on failure it returns a descriptive
|
|
// error (wrap errStartTLSNotOffered when the server advertises no STARTTLS).
|
|
type starttlsUpgrader func(conn net.Conn, sni string) error
|
|
|
|
var starttlsUpgraders = map[string]starttlsUpgrader{}
|
|
|
|
func registerStartTLS(protocol string, upgrader starttlsUpgrader) {
|
|
starttlsUpgraders[protocol] = upgrader
|
|
}
|