Update tests

This commit is contained in:
Andy Wang 2020-04-08 21:47:31 +01:00
parent 693544659f
commit ec76ecfe71
6 changed files with 34 additions and 45 deletions

View File

@ -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,

View File

@ -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++ {

View File

@ -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)

View File

@ -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)

View File

@ -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()

View File

@ -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