mirror of
https://github.com/refraction-networking/utls.git
synced 2025-04-03 20:17:36 +03:00
Revert "crypto/tls: add CloseWrite method to Conn"
This reverts commit c6185aa63217c84a1a73c578c155e7d4dec6cec8. That commit seems to be causing flaky failures on the builders. See discussion on the original thread: https://golang.org/cl/25159. Change-Id: I26e72d962d4efdcee28a0bc61a53f246b046df77 Reviewed-on: https://go-review.googlesource.com/31316 Run-TryBot: Adam Langley <agl@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
7f2a0090ec
commit
46ef9b9ab3
2 changed files with 2 additions and 128 deletions
86
tls_test.go
86
tls_test.go
|
@ -11,7 +11,6 @@ import (
|
|||
"fmt"
|
||||
"internal/testenv"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"math"
|
||||
"math/rand"
|
||||
"net"
|
||||
|
@ -459,91 +458,6 @@ func TestConnCloseBreakingWrite(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestConnCloseWrite(t *testing.T) {
|
||||
ln := newLocalListener(t)
|
||||
defer ln.Close()
|
||||
|
||||
go func() {
|
||||
sconn, err := ln.Accept()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
serverConfig := testConfig.Clone()
|
||||
srv := Server(sconn, serverConfig)
|
||||
if err := srv.Handshake(); err != nil {
|
||||
t.Fatalf("handshake: %v", err)
|
||||
}
|
||||
defer srv.Close()
|
||||
|
||||
data, err := ioutil.ReadAll(srv)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(data) > 0 {
|
||||
t.Errorf("Read data = %q; want nothing", data)
|
||||
}
|
||||
|
||||
if err = srv.CloseWrite(); err != nil {
|
||||
t.Errorf("server CloseWrite: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
clientConfig := testConfig.Clone()
|
||||
conn, err := Dial("tcp", ln.Addr().String(), clientConfig)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err = conn.Handshake(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
if err = conn.CloseWrite(); err != nil {
|
||||
t.Errorf("client CloseWrite: %v", err)
|
||||
}
|
||||
|
||||
if _, err := conn.Write([]byte{0}); err != errShutdown {
|
||||
t.Errorf("CloseWrite error = %v; want errShutdown", err)
|
||||
}
|
||||
|
||||
data, err := ioutil.ReadAll(conn)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(data) > 0 {
|
||||
t.Errorf("Read data = %q; want nothing", data)
|
||||
}
|
||||
|
||||
// test CloseWrite called before handshake finished
|
||||
|
||||
ln2 := newLocalListener(t)
|
||||
defer ln2.Close()
|
||||
|
||||
go func() {
|
||||
sconn, err := ln2.Accept()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
serverConfig := testConfig.Clone()
|
||||
srv := Server(sconn, serverConfig)
|
||||
|
||||
srv.Handshake()
|
||||
srv.Close()
|
||||
}()
|
||||
|
||||
netConn, err := net.Dial("tcp", ln2.Addr().String())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
conn = Client(netConn, clientConfig)
|
||||
|
||||
if err = conn.CloseWrite(); err != errEarlyCloseWrite {
|
||||
t.Errorf("CloseWrite error = %v; want errEarlyCloseWrite", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestClone(t *testing.T) {
|
||||
var c1 Config
|
||||
v := reflect.ValueOf(&c1).Elem()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue