From c17cb034e3e9886a984088ef6717faa016d2d7c2 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Fri, 16 Oct 2020 01:12:23 +0100 Subject: [PATCH] Wrap decryption error --- internal/server/auth.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/server/auth.go b/internal/server/auth.go index 3ae5ef0..fcaa2cf 100644 --- a/internal/server/auth.go +++ b/internal/server/auth.go @@ -60,6 +60,7 @@ func decryptClientInfo(fragments authFragments, serverTime time.Time) (info Clie var ErrReplay = errors.New("duplicate random") var ErrBadProxyMethod = errors.New("invalid proxy method") +var ErrBadDecryption = errors.New("decryption/authentication faliure") // AuthFirstPacket checks if the first packet of data is ClientHello or HTTP GET, and checks if it was from a Cloak client // if it is from a Cloak client, it returns the ClientInfo with the decrypted fields. It doesn't check if the user @@ -79,7 +80,7 @@ func AuthFirstPacket(firstPacket []byte, transport Transport, sta *State) (info info, err = decryptClientInfo(fragments, sta.WorldState.Now()) if err != nil { log.Debug(err) - err = fmt.Errorf("transport %v in correct format but not Cloak: %v", transport, err) + err = fmt.Errorf("%w: %v", ErrBadDecryption, err) return } if _, ok := sta.ProxyBook[info.ProxyMethod]; !ok {