// SessionResumeScan tests that host is able to resume sessions across all addresses. func sessionResumeScan(addr, hostname string) (grade Grade, output Output, err error) { config := defaultTLSConfig(hostname) config.ClientSessionCache = tls.NewLRUClientSessionCache(1) conn, err := tls.DialWithDialer(Dialer, Network, addr, config) if err != nil { return } if err = conn.Close(); err != nil { return } return multiscan(addr, func(addrport string) (g Grade, o Output, e error) { var conn *tls.Conn if conn, e = tls.DialWithDialer(Dialer, Network, addrport, config); e != nil { return } conn.Close() if o = conn.ConnectionState().DidResume; o.(bool) { g = Good } return }) }
// SessionResumeScan tests that host is able to resume sessions across all addresses. func sessionResumeScan(host string) (grade Grade, output Output, err error) { config := defaultTLSConfig(host) config.ClientSessionCache = tls.NewLRUClientSessionCache(1) conn, err := tls.DialWithDialer(Dialer, Network, host, config) if err != nil { return } if err = conn.Close(); err != nil { return } return multiscan(host, func(addrport string) (g Grade, o Output, e error) { g = Good conn, e1 := tls.DialWithDialer(Dialer, Network, addrport, config) if e1 != nil { return } conn.Close() o = conn.ConnectionState().DidResume if !conn.ConnectionState().DidResume { grade = Bad } return }) }