diff --git a/internal/multiplex/mux_test.go b/internal/multiplex/mux_test.go index 9f6b2fb..e48b4d7 100644 --- a/internal/multiplex/mux_test.go +++ b/internal/multiplex/mux_test.go @@ -37,11 +37,10 @@ type connPair struct { func makeSessionPair(numConn int) (*Session, *Session, []*connPair) { sessionKey := [32]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31} sessionId := 1 - obfuscator, _ := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey) clientConfig := SessionConfig{ Obfuscator: obfuscator, Valve: nil, - UnitRead: util.ReadTLS, Unordered: false, } serverConfig := clientConfig @@ -51,7 +50,9 @@ func makeSessionPair(numConn int) (*Session, *Session, []*connPair) { paris := make([]*connPair, numConn) for i := 0; i < numConn; i++ { - clientConn, serverConn := connutil.AsyncPipe() + c, s := connutil.AsyncPipe() + clientConn := &util.TLSConn{Conn: c} + serverConn := &util.TLSConn{Conn: s} paris[i] = &connPair{ clientConn: clientConn, serverConn: serverConn, diff --git a/internal/multiplex/obfs_test.go b/internal/multiplex/obfs_test.go index 097bbf1..4afea28 100644 --- a/internal/multiplex/obfs_test.go +++ b/internal/multiplex/obfs_test.go @@ -39,7 +39,7 @@ func TestGenerateObfs(t *testing.T) { } t.Run("plain", func(t *testing.T) { - obfuscator, err := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, err := MakeObfuscator(E_METHOD_PLAIN, sessionKey) if err != nil { t.Errorf("failed to generate obfuscator %v", err) } else { @@ -47,7 +47,7 @@ func TestGenerateObfs(t *testing.T) { } }) t.Run("plain no record layer", func(t *testing.T) { - obfuscator, err := MakeObfuscator(E_METHOD_PLAIN, sessionKey, false) + obfuscator, err := MakeObfuscator(E_METHOD_PLAIN, sessionKey) if err != nil { t.Errorf("failed to generate obfuscator %v", err) } else { @@ -55,7 +55,7 @@ func TestGenerateObfs(t *testing.T) { } }) t.Run("aes-gcm", func(t *testing.T) { - obfuscator, err := MakeObfuscator(E_METHOD_AES_GCM, sessionKey, true) + obfuscator, err := MakeObfuscator(E_METHOD_AES_GCM, sessionKey) if err != nil { t.Errorf("failed to generate obfuscator %v", err) } else { @@ -63,7 +63,7 @@ func TestGenerateObfs(t *testing.T) { } }) t.Run("aes-gcm no record layer", func(t *testing.T) { - obfuscator, err := MakeObfuscator(E_METHOD_AES_GCM, sessionKey, false) + obfuscator, err := MakeObfuscator(E_METHOD_AES_GCM, sessionKey) if err != nil { t.Errorf("failed to generate obfuscator %v", err) } else { @@ -71,7 +71,7 @@ func TestGenerateObfs(t *testing.T) { } }) t.Run("chacha20-poly1305", func(t *testing.T) { - obfuscator, err := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey, true) + obfuscator, err := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey) if err != nil { t.Errorf("failed to generate obfuscator %v", err) } else { @@ -79,7 +79,7 @@ func TestGenerateObfs(t *testing.T) { } }) t.Run("unknown encryption method", func(t *testing.T) { - _, err := MakeObfuscator(0xff, sessionKey, true) + _, err := MakeObfuscator(0xff, sessionKey) if err == nil { t.Errorf("unknown encryption mehtod error expected") } @@ -104,7 +104,7 @@ func BenchmarkObfs(b *testing.B) { c, _ := aes.NewCipher(key[:]) payloadCipher, _ := cipher.NewGCM(c) - obfs := MakeObfs(key, payloadCipher, true) + obfs := MakeObfs(key, payloadCipher) b.ResetTimer() for i := 0; i < b.N; i++ { n, err := obfs(testFrame, obfsBuf) @@ -119,7 +119,7 @@ func BenchmarkObfs(b *testing.B) { c, _ := aes.NewCipher(key[:16]) payloadCipher, _ := cipher.NewGCM(c) - obfs := MakeObfs(key, payloadCipher, true) + obfs := MakeObfs(key, payloadCipher) b.ResetTimer() for i := 0; i < b.N; i++ { n, err := obfs(testFrame, obfsBuf) @@ -131,7 +131,7 @@ func BenchmarkObfs(b *testing.B) { } }) b.Run("plain", func(b *testing.B) { - obfs := MakeObfs(key, nil, true) + obfs := MakeObfs(key, nil) b.ResetTimer() for i := 0; i < b.N; i++ { n, err := obfs(testFrame, obfsBuf) @@ -145,7 +145,7 @@ func BenchmarkObfs(b *testing.B) { b.Run("chacha20Poly1305", func(b *testing.B) { payloadCipher, _ := chacha20poly1305.New(key[:16]) - obfs := MakeObfs(key, payloadCipher, true) + obfs := MakeObfs(key, payloadCipher) b.ResetTimer() for i := 0; i < b.N; i++ { n, err := obfs(testFrame, obfsBuf) @@ -176,9 +176,9 @@ func BenchmarkDeobfs(b *testing.B) { c, _ := aes.NewCipher(key[:]) payloadCipher, _ := cipher.NewGCM(c) - obfs := MakeObfs(key, payloadCipher, true) + obfs := MakeObfs(key, payloadCipher) n, _ := obfs(testFrame, obfsBuf) - deobfs := MakeDeobfs(key, payloadCipher, true) + deobfs := MakeDeobfs(key, payloadCipher) b.ResetTimer() for i := 0; i < b.N; i++ { @@ -194,9 +194,9 @@ func BenchmarkDeobfs(b *testing.B) { c, _ := aes.NewCipher(key[:16]) payloadCipher, _ := cipher.NewGCM(c) - obfs := MakeObfs(key, payloadCipher, true) + obfs := MakeObfs(key, payloadCipher) n, _ := obfs(testFrame, obfsBuf) - deobfs := MakeDeobfs(key, payloadCipher, true) + deobfs := MakeDeobfs(key, payloadCipher) b.ResetTimer() for i := 0; i < b.N; i++ { @@ -209,9 +209,9 @@ func BenchmarkDeobfs(b *testing.B) { } }) b.Run("plain", func(b *testing.B) { - obfs := MakeObfs(key, nil, true) + obfs := MakeObfs(key, nil) n, _ := obfs(testFrame, obfsBuf) - deobfs := MakeDeobfs(key, nil, true) + deobfs := MakeDeobfs(key, nil) b.ResetTimer() for i := 0; i < b.N; i++ { @@ -226,9 +226,9 @@ func BenchmarkDeobfs(b *testing.B) { b.Run("chacha20Poly1305", func(b *testing.B) { payloadCipher, _ := chacha20poly1305.New(key[:16]) - obfs := MakeObfs(key, payloadCipher, true) + obfs := MakeObfs(key, payloadCipher) n, _ := obfs(testFrame, obfsBuf) - deobfs := MakeDeobfs(key, payloadCipher, true) + deobfs := MakeDeobfs(key, payloadCipher) b.ResetTimer() for i := 0; i < b.N; i++ { diff --git a/internal/multiplex/session_test.go b/internal/multiplex/session_test.go index 38f397a..30dfff0 100644 --- a/internal/multiplex/session_test.go +++ b/internal/multiplex/session_test.go @@ -2,7 +2,6 @@ package multiplex import ( "bytes" - "github.com/cbeuw/Cloak/internal/util" "math/rand" "strconv" "sync/atomic" @@ -12,13 +11,11 @@ import ( var seshConfigOrdered = SessionConfig{ Obfuscator: nil, Valve: nil, - UnitRead: util.ReadTLS, } var seshConfigUnordered = SessionConfig{ Obfuscator: nil, Valve: nil, - UnitRead: util.ReadTLS, Unordered: true, } @@ -37,7 +34,7 @@ func TestRecvDataFromRemote(t *testing.T) { var sessionKey [32]byte rand.Read(sessionKey[:]) t.Run("plain ordered", func(t *testing.T) { - obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) @@ -64,7 +61,7 @@ func TestRecvDataFromRemote(t *testing.T) { } }) t.Run("aes-gcm ordered", func(t *testing.T) { - obfuscator, _ := MakeObfuscator(E_METHOD_AES_GCM, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_AES_GCM, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) @@ -91,7 +88,7 @@ func TestRecvDataFromRemote(t *testing.T) { } }) t.Run("chacha20-poly1305 ordered", func(t *testing.T) { - obfuscator, _ := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) @@ -119,7 +116,7 @@ func TestRecvDataFromRemote(t *testing.T) { }) t.Run("plain unordered", func(t *testing.T) { - obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey) seshConfigUnordered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) @@ -156,7 +153,7 @@ func TestRecvDataFromRemote_Closing_InOrder(t *testing.T) { var sessionKey [32]byte rand.Read(sessionKey[:]) - obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) @@ -287,7 +284,7 @@ func TestRecvDataFromRemote_Closing_OutOfOrder(t *testing.T) { var sessionKey [32]byte rand.Read(sessionKey[:]) - obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) @@ -346,7 +343,7 @@ func TestParallel(t *testing.T) { var sessionKey [32]byte rand.Read(sessionKey[:]) - obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) @@ -417,7 +414,7 @@ func BenchmarkRecvDataFromRemote_Ordered(b *testing.B) { rand.Read(sessionKey[:]) b.Run("plain", func(b *testing.B) { - obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_PLAIN, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) @@ -430,7 +427,7 @@ func BenchmarkRecvDataFromRemote_Ordered(b *testing.B) { }) b.Run("aes-gcm", func(b *testing.B) { - obfuscator, _ := MakeObfuscator(E_METHOD_AES_GCM, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_AES_GCM, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) @@ -443,7 +440,7 @@ func BenchmarkRecvDataFromRemote_Ordered(b *testing.B) { }) b.Run("chacha20-poly1305", func(b *testing.B) { - obfuscator, _ := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey, true) + obfuscator, _ := MakeObfuscator(E_METHOD_CHACHA20_POLY1305, sessionKey) seshConfigOrdered.Obfuscator = obfuscator sesh := MakeSession(0, seshConfigOrdered) n, _ := sesh.Obfs(f, obfsBuf) diff --git a/internal/multiplex/stream_test.go b/internal/multiplex/stream_test.go index ccb49db..a6f10d3 100644 --- a/internal/multiplex/stream_test.go +++ b/internal/multiplex/stream_test.go @@ -2,7 +2,6 @@ package multiplex import ( "bytes" - "github.com/cbeuw/Cloak/internal/util" "io" "math/rand" "net" @@ -15,12 +14,11 @@ import ( func setupSesh(unordered bool) *Session { var sessionKey [32]byte rand.Read(sessionKey[:]) - obfuscator, _ := MakeObfuscator(0x00, sessionKey, true) + obfuscator, _ := MakeObfuscator(0x00, sessionKey) seshConfig := SessionConfig{ Obfuscator: obfuscator, Valve: nil, - UnitRead: util.ReadTLS, Unordered: unordered, } return MakeSession(0, seshConfig) diff --git a/internal/multiplex/switchboard_test.go b/internal/multiplex/switchboard_test.go index f0b9959..7d65b02 100644 --- a/internal/multiplex/switchboard_test.go +++ b/internal/multiplex/switchboard_test.go @@ -1,7 +1,6 @@ package multiplex import ( - "github.com/cbeuw/Cloak/internal/util" "github.com/cbeuw/connutil" "math/rand" "testing" @@ -55,7 +54,6 @@ func TestSwitchboard_Send(t *testing.T) { seshConfig := SessionConfig{ Obfuscator: nil, Valve: nil, - UnitRead: util.ReadTLS, Unordered: false, } doTest(seshConfig) @@ -64,7 +62,6 @@ func TestSwitchboard_Send(t *testing.T) { seshConfig := SessionConfig{ Obfuscator: nil, Valve: nil, - UnitRead: util.ReadTLS, Unordered: true, } doTest(seshConfig) @@ -76,7 +73,6 @@ func BenchmarkSwitchboard_Send(b *testing.B) { seshConfig := SessionConfig{ Obfuscator: nil, Valve: nil, - UnitRead: util.ReadTLS, } sesh := MakeSession(0, seshConfig) sesh.sb.addConn(hole) @@ -102,7 +98,6 @@ func TestSwitchboard_TxCredit(t *testing.T) { seshConfig := SessionConfig{ Obfuscator: nil, Valve: MakeValve(1<<20, 1<<20), - UnitRead: util.ReadTLS, } sesh := MakeSession(0, seshConfig) hole := connutil.Discard() diff --git a/internal/server/activeuser_test.go b/internal/server/activeuser_test.go index 0a4a7a4..b92bfeb 100644 --- a/internal/server/activeuser_test.go +++ b/internal/server/activeuser_test.go @@ -5,7 +5,6 @@ import ( "encoding/base64" mux "github.com/cbeuw/Cloak/internal/multiplex" "github.com/cbeuw/Cloak/internal/server/usermanager" - "github.com/cbeuw/Cloak/internal/util" "os" "testing" ) @@ -13,12 +12,11 @@ import ( func getSeshConfig(unordered bool) mux.SessionConfig { var sessionKey [32]byte rand.Read(sessionKey[:]) - obfuscator, _ := mux.MakeObfuscator(0x00, sessionKey, true) + obfuscator, _ := mux.MakeObfuscator(0x00, sessionKey) seshConfig := mux.SessionConfig{ Obfuscator: obfuscator, Valve: nil, - UnitRead: util.ReadTLS, Unordered: unordered, } return seshConfig