diff --git a/protocol/ashe/engine_test.go b/protocol/ashe/engine_test.go index c21a13a..edf494f 100644 --- a/protocol/ashe/engine_test.go +++ b/protocol/ashe/engine_test.go @@ -17,9 +17,9 @@ const ( ) func TestProtocolAsheTCP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -36,7 +36,6 @@ func TestProtocolAsheTCP(t *testing.T) { cnt int rsz = int(rand.Uint32N(65536)) ) - copy(buf[0:2], []byte{0x00, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -52,7 +51,6 @@ func TestProtocolAsheTCP(t *testing.T) { break } } - copy(buf[0:2], []byte{0x01, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -71,9 +69,9 @@ func TestProtocolAsheTCP(t *testing.T) { } func TestProtocolAsheTCPClientClose(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -85,17 +83,15 @@ func TestProtocolAsheTCPClientClose(t *testing.T) { defer cli.Close() cli.Close() - _, er1 := cli.Write([]byte{0x02, 0x00, 0x00, 0x00}) - doa.Doa(er1 != nil) - buf := make([]byte, 2048) - _, er2 := io.ReadFull(cli, buf[:1]) - doa.Doa(er2 != nil) + doa.Doa(doa.Err(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } func TestProtocolAsheTCPServerClose(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -106,16 +102,15 @@ func TestProtocolAsheTCPServerClose(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "tcp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) doa.Try(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) - _, err := io.ReadFull(cli, buf[:1]) - doa.Doa(err != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } func TestProtocolAsheUDP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.UDP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.UDP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -126,7 +121,7 @@ func TestProtocolAsheUDP(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "udp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) doa.Try(cli.Write([]byte{0x00, 0x00, 0x00, 0x80})) + buf := make([]byte, 128) doa.Try(io.ReadFull(cli, buf[:128])) } diff --git a/protocol/baboon/engine_test.go b/protocol/baboon/engine_test.go index f01737a..5283454 100644 --- a/protocol/baboon/engine_test.go +++ b/protocol/baboon/engine_test.go @@ -19,9 +19,9 @@ const ( ) func TestProtocolBaboonTCP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -38,7 +38,6 @@ func TestProtocolBaboonTCP(t *testing.T) { cnt int rsz = int(rand.Uint32N(65536)) ) - copy(buf[0:2], []byte{0x00, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -54,7 +53,6 @@ func TestProtocolBaboonTCP(t *testing.T) { break } } - copy(buf[0:2], []byte{0x01, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -73,9 +71,9 @@ func TestProtocolBaboonTCP(t *testing.T) { } func TestProtocolBaboonTCPClientClose(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -87,17 +85,15 @@ func TestProtocolBaboonTCPClientClose(t *testing.T) { defer cli.Close() cli.Close() - _, er1 := cli.Write([]byte{0x02, 0x00, 0x00, 0x00}) - doa.Doa(er1 != nil) - buf := make([]byte, 2048) - _, er2 := io.ReadFull(cli, buf[:1]) - doa.Doa(er2 != nil) + doa.Doa(doa.Err(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } func TestProtocolBaboonTCPServerClose(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -108,16 +104,15 @@ func TestProtocolBaboonTCPServerClose(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "tcp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) doa.Try(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) - _, err := io.ReadFull(cli, buf[:1]) - doa.Doa(err != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } func TestProtocolBaboonUDP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.UDP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.UDP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -128,8 +123,8 @@ func TestProtocolBaboonUDP(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "udp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) doa.Try(cli.Write([]byte{0x00, 0x00, 0x00, 0x80})) + buf := make([]byte, 128) doa.Try(io.ReadFull(cli, buf[:128])) } diff --git a/protocol/czar/engine_test.go b/protocol/czar/engine_test.go index 742c8fc..f86bfbe 100644 --- a/protocol/czar/engine_test.go +++ b/protocol/czar/engine_test.go @@ -17,9 +17,9 @@ const ( ) func TestProtocolCzarTCP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -37,7 +37,6 @@ func TestProtocolCzarTCP(t *testing.T) { cnt int rsz = int(rand.Uint32N(65536)) ) - copy(buf[0:2], []byte{0x00, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -53,7 +52,6 @@ func TestProtocolCzarTCP(t *testing.T) { break } } - copy(buf[0:2], []byte{0x01, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -72,9 +70,9 @@ func TestProtocolCzarTCP(t *testing.T) { } func TestProtocolCzarTCPClientClose(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -86,18 +84,16 @@ func TestProtocolCzarTCPClientClose(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "tcp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) cli.Close() - _, er1 := cli.Write([]byte{0x02, 0x00, 0x00, 0x00}) - doa.Doa(er1 != nil) - _, er2 := io.ReadFull(cli, buf[:1]) - doa.Doa(er2 != nil) + doa.Doa(doa.Err(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } func TestProtocolCzarTCPServerClose(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -109,16 +105,15 @@ func TestProtocolCzarTCPServerClose(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "tcp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) doa.Try(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) - _, err := io.ReadFull(cli, buf[:1]) - doa.Doa(err != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } func TestProtocolCzarUDP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.UDP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.UDP() dazeServer := NewServer(DazeServerListenOn, Password) defer dazeServer.Close() @@ -130,7 +125,7 @@ func TestProtocolCzarUDP(t *testing.T) { cli := doa.Try(dazeClient.Dial(ctx, "udp", EchoServerListenOn)) defer cli.Close() - buf := make([]byte, 2048) doa.Try(cli.Write([]byte{0x00, 0x00, 0x00, 0x80})) + buf := make([]byte, 128) doa.Try(io.ReadFull(cli, buf[:128])) } diff --git a/protocol/czar/mux_test.go b/protocol/czar/mux_test.go index ba7a873..87ab21a 100644 --- a/protocol/czar/mux_test.go +++ b/protocol/czar/mux_test.go @@ -7,7 +7,6 @@ import ( "log" "math/rand/v2" "net" - "strings" "testing" "github.com/mohanson/daze" @@ -15,9 +14,9 @@ import ( ) func TestProtocolCzarMux(t *testing.T) { - remote := Tester{daze.NewTester(EchoServerListenOn)} - remote.Mux() - defer remote.Close() + rmt := &Tester{daze.NewTester(EchoServerListenOn)} + rmt.Mux() + defer rmt.Close() mux := NewMuxClient(doa.Try(net.Dial("tcp", EchoServerListenOn))) defer mux.Close() @@ -30,7 +29,6 @@ func TestProtocolCzarMux(t *testing.T) { cnt int rsz = int(rand.Uint32N(65536)) ) - copy(buf[0:2], []byte{0x00, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -46,7 +44,6 @@ func TestProtocolCzarMux(t *testing.T) { break } } - copy(buf[0:2], []byte{0x01, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -65,36 +62,39 @@ func TestProtocolCzarMux(t *testing.T) { } func TestProtocolCzarMuxStreamClientClose(t *testing.T) { - remote := Tester{daze.NewTester(EchoServerListenOn)} - remote.Mux() - defer remote.Close() + rmt := &Tester{daze.NewTester(EchoServerListenOn)} + rmt.Mux() + defer rmt.Close() mux := NewMuxClient(doa.Try(net.Dial("tcp", EchoServerListenOn))) defer mux.Close() cli := doa.Try(mux.Open()) + cli.Close() doa.Doa(doa.Err(cli.Write([]byte{0x00, 0x00, 0x00, 0x80})) == io.ErrClosedPipe) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) == io.ErrClosedPipe) } func TestProtocolCzarMuxStreamServerClose(t *testing.T) { - remote := Tester{daze.NewTester(EchoServerListenOn)} - remote.Mux() - defer remote.Close() + rmt := Tester{daze.NewTester(EchoServerListenOn)} + rmt.Mux() + defer rmt.Close() mux := NewMuxClient(doa.Try(net.Dial("tcp", EchoServerListenOn))) defer mux.Close() cli := doa.Try(mux.Open()) defer cli.Close() - buf := make([]byte, 2048) - doa.Try(cli.Write([]byte{0x02, 0x00, 0x00, 0x80})) + doa.Try(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) + buf := make([]byte, 1) doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) == io.EOF) } func TestProtocolCzarMuxStreamClientReuse(t *testing.T) { - remote := Tester{daze.NewTester(EchoServerListenOn)} - remote.Mux() - defer remote.Close() + rmt := &Tester{daze.NewTester(EchoServerListenOn)} + rmt.Mux() + defer rmt.Close() mux := NewMuxClient(doa.Try(net.Dial("tcp", EchoServerListenOn))) defer mux.Close() @@ -121,9 +121,9 @@ func TestProtocolCzarMuxStreamClientReuse(t *testing.T) { } func TestProtocolCzarMuxClientClose(t *testing.T) { - remote := Tester{daze.NewTester(EchoServerListenOn)} - remote.Mux() - defer remote.Close() + rmt := &Tester{daze.NewTester(EchoServerListenOn)} + rmt.Mux() + defer rmt.Close() mux := NewMuxClient(doa.Try(net.Dial("tcp", EchoServerListenOn))) defer mux.Close() @@ -131,27 +131,24 @@ func TestProtocolCzarMuxClientClose(t *testing.T) { defer cli.Close() mux.con.Close() - buf := make([]byte, 2048) - er0 := doa.Err(mux.Open()) - doa.Doa(strings.Contains(er0.Error(), "use of closed network connection")) - er1 := doa.Err(io.ReadFull(cli, buf[:1])) - doa.Doa(strings.Contains(er1.Error(), "use of closed network connection")) - er2 := doa.Err(cli.Write([]byte{0x00, 0x00, 0x00, 0x80})) - doa.Doa(strings.Contains(er2.Error(), "use of closed network connection")) + doa.Doa(doa.Err(mux.Open()) != nil) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) + doa.Doa(doa.Err(cli.Write([]byte{0x02, 0x00, 0x00, 0x00})) != nil) } -func TestProtocolCzarMuxServerRecvEvilPacket(t *testing.T) { - remote := Tester{daze.NewTester(EchoServerListenOn)} - remote.Mux() - defer remote.Close() - - buf := make([]byte, 2048) - cl1 := doa.Try(net.Dial("tcp", EchoServerListenOn)) - defer cl1.Close() - cl1.Write([]byte{0x00, 0x00, 0x00, 0x00}) - cl1.Write([]byte{0x00, 0x00, 0x00, 0x00}) - _, er1 := io.ReadFull(cl1, buf[:1]) - doa.Doa(er1 != nil) +func TestProtocolCzarMuxServerReopen(t *testing.T) { + rmt := &Tester{daze.NewTester(EchoServerListenOn)} + rmt.Mux() + defer rmt.Close() + + cli := doa.Try(net.Dial("tcp", EchoServerListenOn)) + defer cli.Close() + + cli.Write([]byte{0x00, 0x00, 0x00, 0x00}) + cli.Write([]byte{0x00, 0x00, 0x00, 0x00}) + buf := make([]byte, 1) + doa.Doa(doa.Err(io.ReadFull(cli, buf[:1])) != nil) } type Tester struct { diff --git a/protocol/dahlia/engine_test.go b/protocol/dahlia/engine_test.go index 10968e0..647f9c0 100644 --- a/protocol/dahlia/engine_test.go +++ b/protocol/dahlia/engine_test.go @@ -18,9 +18,9 @@ const ( ) func TestProtocolDahliaTCP(t *testing.T) { - remote := daze.NewTester(EchoServerListenOn) - defer remote.Close() - remote.TCP() + dazeRemote := daze.NewTester(EchoServerListenOn) + defer dazeRemote.Close() + dazeRemote.TCP() dazeServer := NewServer(DazeServerListenOn, EchoServerListenOn, Password) defer dazeServer.Close() @@ -29,7 +29,6 @@ func TestProtocolDahliaTCP(t *testing.T) { dazeClient := NewClient(DazeClientListenOn, DazeServerListenOn, Password) defer dazeClient.Close() dazeClient.Run() - cli := doa.Try(daze.Dial("tcp", DazeClientListenOn)) defer cli.Close() @@ -39,7 +38,6 @@ func TestProtocolDahliaTCP(t *testing.T) { cnt int rsz = int(rand.Uint32N(65536)) ) - copy(buf[0:2], []byte{0x00, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4])) @@ -55,7 +53,6 @@ func TestProtocolDahliaTCP(t *testing.T) { break } } - copy(buf[0:2], []byte{0x01, 0x00}) binary.BigEndian.PutUint16(buf[2:], uint16(rsz)) doa.Try(cli.Write(buf[:4]))