mirror of https://github.com/cbeuw/Cloak
Update tests
This commit is contained in:
parent
693544659f
commit
ec76ecfe71
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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++ {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue