diff --git a/internal/client/TLS.go b/internal/client/TLS.go index 573e5e5..bffe2aa 100644 --- a/internal/client/TLS.go +++ b/internal/client/TLS.go @@ -3,6 +3,7 @@ package client import ( "crypto/rand" "encoding/binary" + "github.com/cbeuw/Cloak/internal/common" "github.com/cbeuw/Cloak/internal/util" "net" "time" @@ -57,7 +58,7 @@ func genStegClientHello(ai authenticationPayload, serverName string) (ret client } type DirectTLS struct { - *util.TLSConn + *common.TLSConn browser browser } @@ -66,13 +67,13 @@ type DirectTLS struct { func (tls *DirectTLS) Handshake(rawConn net.Conn, authInfo authInfo) (sessionKey [32]byte, err error) { payload, sharedSecret := makeAuthenticationPayload(authInfo, rand.Reader, time.Now()) chOnly := tls.browser.composeClientHello(genStegClientHello(payload, authInfo.MockDomain)) - chWithRecordLayer := util.AddRecordLayer(chOnly, util.Handshake, util.VersionTLS11) + chWithRecordLayer := common.AddRecordLayer(chOnly, common.Handshake, common.VersionTLS11) _, err = rawConn.Write(chWithRecordLayer) if err != nil { return } log.Trace("client hello sent successfully") - tls.TLSConn = &util.TLSConn{Conn: rawConn} + tls.TLSConn = &common.TLSConn{Conn: rawConn} buf := make([]byte, 1024) log.Trace("waiting for ServerHello") diff --git a/internal/client/connector.go b/internal/client/connector.go index edc7b80..0083476 100644 --- a/internal/client/connector.go +++ b/internal/client/connector.go @@ -2,6 +2,7 @@ package client import ( "encoding/binary" + "github.com/cbeuw/Cloak/internal/common" "net" "sync" "sync/atomic" @@ -12,7 +13,7 @@ import ( log "github.com/sirupsen/logrus" ) -func MakeSession(connConfig remoteConnConfig, authInfo authInfo, dialer util.Dialer, isAdmin bool) *mux.Session { +func MakeSession(connConfig remoteConnConfig, authInfo authInfo, dialer common.Dialer, isAdmin bool) *mux.Session { log.Info("Attempting to start a new session") if !isAdmin { // sessionID is usergenerated. There shouldn't be a security concern because the scope of diff --git a/internal/client/websocket.go b/internal/client/websocket.go index fc02c3c..c1d504c 100644 --- a/internal/client/websocket.go +++ b/internal/client/websocket.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "errors" "fmt" + "github.com/cbeuw/Cloak/internal/common" "github.com/cbeuw/Cloak/internal/util" "github.com/gorilla/websocket" "net" @@ -16,7 +17,7 @@ import ( ) type WSOverTLS struct { - *util.WebSocketConn + *common.WebSocketConn cdnDomainPort string } @@ -44,7 +45,7 @@ func (ws *WSOverTLS) Handshake(rawConn net.Conn, authInfo authInfo) (sessionKey return sessionKey, fmt.Errorf("failed to handshake: %v", err) } - ws.WebSocketConn = &util.WebSocketConn{Conn: c} + ws.WebSocketConn = &common.WebSocketConn{Conn: c} buf := make([]byte, 128) n, err := ws.Read(buf) diff --git a/internal/util/dialer.go b/internal/common/dialer.go similarity index 85% rename from internal/util/dialer.go rename to internal/common/dialer.go index cba620f..487bb17 100644 --- a/internal/util/dialer.go +++ b/internal/common/dialer.go @@ -1,4 +1,4 @@ -package util +package common import "net" diff --git a/internal/util/tls.go b/internal/common/tls.go similarity index 99% rename from internal/util/tls.go rename to internal/common/tls.go index b440941..a2cb4a1 100644 --- a/internal/util/tls.go +++ b/internal/common/tls.go @@ -1,4 +1,4 @@ -package util +package common import ( "encoding/binary" diff --git a/internal/util/websocket.go b/internal/common/websocket.go similarity index 98% rename from internal/util/websocket.go rename to internal/common/websocket.go index 574f51c..e2a7096 100644 --- a/internal/util/websocket.go +++ b/internal/common/websocket.go @@ -1,4 +1,4 @@ -package util +package common import ( "errors" diff --git a/internal/multiplex/mux_test.go b/internal/multiplex/mux_test.go index e48b4d7..9d992b1 100644 --- a/internal/multiplex/mux_test.go +++ b/internal/multiplex/mux_test.go @@ -2,7 +2,7 @@ package multiplex import ( "bytes" - "github.com/cbeuw/Cloak/internal/util" + "github.com/cbeuw/Cloak/internal/common" "github.com/cbeuw/connutil" "io" "math/rand" @@ -51,8 +51,8 @@ func makeSessionPair(numConn int) (*Session, *Session, []*connPair) { paris := make([]*connPair, numConn) for i := 0; i < numConn; i++ { c, s := connutil.AsyncPipe() - clientConn := &util.TLSConn{Conn: c} - serverConn := &util.TLSConn{Conn: s} + clientConn := &common.TLSConn{Conn: c} + serverConn := &common.TLSConn{Conn: s} paris[i] = &connPair{ clientConn: clientConn, serverConn: serverConn, diff --git a/internal/server/TLS.go b/internal/server/TLS.go index d40ce15..2ec9ac0 100644 --- a/internal/server/TLS.go +++ b/internal/server/TLS.go @@ -4,8 +4,8 @@ import ( "crypto" "errors" "fmt" + "github.com/cbeuw/Cloak/internal/common" "github.com/cbeuw/Cloak/internal/ecdh" - "github.com/cbeuw/Cloak/internal/util" "net" log "github.com/sirupsen/logrus" @@ -49,7 +49,7 @@ func (TLS) makeResponder(clientHelloSessionId []byte, sharedSecret [32]byte) Res go originalConn.Close() return } - preparedConn = &util.TLSConn{Conn: originalConn} + preparedConn = &common.TLSConn{Conn: originalConn} return } return respond diff --git a/internal/server/state.go b/internal/server/state.go index 5fa8aa4..3fb8d46 100644 --- a/internal/server/state.go +++ b/internal/server/state.go @@ -5,8 +5,8 @@ import ( "encoding/json" "errors" "fmt" + "github.com/cbeuw/Cloak/internal/common" "github.com/cbeuw/Cloak/internal/server/usermanager" - "github.com/cbeuw/Cloak/internal/util" "io/ioutil" "net" "strings" @@ -33,7 +33,7 @@ type rawConfig struct { type State struct { BindAddr []net.Addr ProxyBook map[string]net.Addr - ProxyDialer util.Dialer + ProxyDialer common.Dialer Now func() time.Time AdminUID []byte @@ -46,7 +46,7 @@ type State struct { // TODO: this doesn't have to be a net.Addr; resolution is done in Dial automatically RedirHost net.Addr RedirPort string - RedirDialer util.Dialer + RedirDialer common.Dialer usedRandomM sync.RWMutex usedRandom map[[32]byte]int64 diff --git a/internal/server/websocketAux.go b/internal/server/websocketAux.go index f9aab9e..345c2a8 100644 --- a/internal/server/websocketAux.go +++ b/internal/server/websocketAux.go @@ -2,7 +2,7 @@ package server import ( "errors" - "github.com/cbeuw/Cloak/internal/util" + "github.com/cbeuw/Cloak/internal/common" "github.com/gorilla/websocket" "net" "net/http" @@ -132,6 +132,6 @@ func (ws *wsHandshakeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) log.Errorf("failed to upgrade connection to ws: %v", err) return } - ws.conn = &util.WebSocketConn{Conn: c} + ws.conn = &common.WebSocketConn{Conn: c} ws.finished <- struct{}{} }