From 812ca1af9937de708d269efa582dcda9391073c2 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Sat, 17 Aug 2019 00:18:19 +0100 Subject: [PATCH] Unexport some client.State fields --- internal/client/TLS.go | 4 ++-- internal/client/auth.go | 2 +- internal/client/state.go | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/client/TLS.go b/internal/client/TLS.go index 787bc89..189d1a0 100644 --- a/internal/client/TLS.go +++ b/internal/client/TLS.go @@ -8,7 +8,7 @@ import ( log "github.com/sirupsen/logrus" ) -type Browser interface { +type browser interface { composeClientHello(chHiddenData) []byte } @@ -39,7 +39,7 @@ func addExtRec(typ []byte, data []byte) []byte { func PrepareConnection(sta *State, conn net.Conn) (sessionKey []byte, err error) { hd, sharedSecret := makeHiddenData(sta) - chOnly := sta.Browser.composeClientHello(hd) + chOnly := sta.browser.composeClientHello(hd) chWithRecordLayer := util.AddRecordLayer(chOnly, []byte{0x16}, []byte{0x03, 0x01}) _, err = conn.Write(chWithRecordLayer) if err != nil { diff --git a/internal/client/auth.go b/internal/client/auth.go index b7e34cc..928fcfd 100644 --- a/internal/client/auth.go +++ b/internal/client/auth.go @@ -29,7 +29,7 @@ func makeHiddenData(sta *State) (ret chHiddenData, sharedSecret []byte) { copy(plaintext, sta.UID) copy(plaintext[16:28], sta.ProxyMethod) plaintext[28] = sta.EncryptionMethod - binary.BigEndian.PutUint64(plaintext[29:37], uint64(sta.Now().Unix())) + binary.BigEndian.PutUint64(plaintext[29:37], uint64(sta.now().Unix())) binary.BigEndian.PutUint32(plaintext[37:41], atomic.LoadUint32(&sta.SessionID)) if sta.Unordered { diff --git a/internal/client/state.go b/internal/client/state.go index 0ec16b3..d3827e0 100644 --- a/internal/client/state.go +++ b/internal/client/state.go @@ -30,12 +30,12 @@ type State struct { RemotePort string Unordered bool - Now func() time.Time SessionID uint32 UID []byte - staticPub crypto.PublicKey - Browser Browser + staticPub crypto.PublicKey + now func() time.Time + browser browser ProxyMethod string EncryptionMethod byte @@ -49,7 +49,7 @@ func InitState(localHost, localPort, remoteHost, remotePort string, nowFunc func LocalPort: localPort, RemoteHost: remoteHost, RemotePort: remotePort, - Now: nowFunc, + now: nowFunc, } return ret } @@ -114,9 +114,9 @@ func (sta *State) ParseConfig(conf string) (err error) { switch strings.ToLower(preParse.BrowserSig) { case "chrome": - sta.Browser = &Chrome{} + sta.browser = &Chrome{} case "firefox": - sta.Browser = &Firefox{} + sta.browser = &Firefox{} default: return errors.New("unsupported browser signature") }