From 35b38fe55c9fe19e8cef03d56121c380cd63b23c Mon Sep 17 00:00:00 2001 From: 9seconds Date: Sun, 8 Jul 2018 18:11:23 +0300 Subject: [PATCH] Debug ping --- proxy/proxy.go | 8 ++++++-- wrappers/mtproto_abridged.go | 2 +- wrappers/wrap.go | 3 +-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/proxy/proxy.go b/proxy/proxy.go index d11fc02..a8399eb 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -112,22 +112,26 @@ func (p *Proxy) middlePipe(src wrappers.PacketReadCloser, dst wrappers.PacketWri packet, err := src.Read() if err != nil { + src.Logger().Warnw("Cannot read packet", "error", err) return } if _, err = dst.Write(packet); err != nil { + src.Logger().Warnw("Cannot write packet", "error", err) return } } } -func (p *Proxy) directPipe(src io.ReadCloser, dst io.WriteCloser, wait *sync.WaitGroup) { +func (p *Proxy) directPipe(src wrappers.StreamReadCloser, dst wrappers.StreamWriteCloser, wait *sync.WaitGroup) { defer func() { src.Close() dst.Close() wait.Done() }() - io.Copy(dst, src) + if _, err := io.Copy(dst, src); err != nil { + src.Logger().Warnw("Cannot pump sockets", "error", err) + } } func NewProxy(conf *config.Config) *Proxy { diff --git a/wrappers/mtproto_abridged.go b/wrappers/mtproto_abridged.go index 5ed40d6..e90233c 100644 --- a/wrappers/mtproto_abridged.go +++ b/wrappers/mtproto_abridged.go @@ -98,7 +98,7 @@ func (m *MTProtoAbridged) Write(p []byte) (int, error) { "counter", m.writeCounter, ) - if len(p)%4 == 0 { + if len(p)%4 != 0 { return 0, errors.Errorf("Incorrect packet length %d", len(p)) } diff --git a/wrappers/wrap.go b/wrappers/wrap.go index 923bb20..2023694 100644 --- a/wrappers/wrap.go +++ b/wrappers/wrap.go @@ -44,8 +44,7 @@ type StreamReadWriter interface { } type StreamWriteCloser interface { - io.Closer - io.Writer + io.WriteCloser Wrap }