9seconds 7 лет назад
Родитель
Сommit
35b38fe55c
3 измененных файлов: 8 добавлений и 5 удалений
  1. 6
    2
      proxy/proxy.go
  2. 1
    1
      wrappers/mtproto_abridged.go
  3. 1
    2
      wrappers/wrap.go

+ 6
- 2
proxy/proxy.go Просмотреть файл

112
 
112
 
113
 		packet, err := src.Read()
113
 		packet, err := src.Read()
114
 		if err != nil {
114
 		if err != nil {
115
+			src.Logger().Warnw("Cannot read packet", "error", err)
115
 			return
116
 			return
116
 		}
117
 		}
117
 		if _, err = dst.Write(packet); err != nil {
118
 		if _, err = dst.Write(packet); err != nil {
119
+			src.Logger().Warnw("Cannot write packet", "error", err)
118
 			return
120
 			return
119
 		}
121
 		}
120
 	}
122
 	}
121
 }
123
 }
122
 
124
 
123
-func (p *Proxy) directPipe(src io.ReadCloser, dst io.WriteCloser, wait *sync.WaitGroup) {
125
+func (p *Proxy) directPipe(src wrappers.StreamReadCloser, dst wrappers.StreamWriteCloser, wait *sync.WaitGroup) {
124
 	defer func() {
126
 	defer func() {
125
 		src.Close()
127
 		src.Close()
126
 		dst.Close()
128
 		dst.Close()
127
 		wait.Done()
129
 		wait.Done()
128
 	}()
130
 	}()
129
 
131
 
130
-	io.Copy(dst, src)
132
+	if _, err := io.Copy(dst, src); err != nil {
133
+		src.Logger().Warnw("Cannot pump sockets", "error", err)
134
+	}
131
 }
135
 }
132
 
136
 
133
 func NewProxy(conf *config.Config) *Proxy {
137
 func NewProxy(conf *config.Config) *Proxy {

+ 1
- 1
wrappers/mtproto_abridged.go Просмотреть файл

98
 		"counter", m.writeCounter,
98
 		"counter", m.writeCounter,
99
 	)
99
 	)
100
 
100
 
101
-	if len(p)%4 == 0 {
101
+	if len(p)%4 != 0 {
102
 		return 0, errors.Errorf("Incorrect packet length %d", len(p))
102
 		return 0, errors.Errorf("Incorrect packet length %d", len(p))
103
 	}
103
 	}
104
 
104
 

+ 1
- 2
wrappers/wrap.go Просмотреть файл

44
 }
44
 }
45
 
45
 
46
 type StreamWriteCloser interface {
46
 type StreamWriteCloser interface {
47
-	io.Closer
48
-	io.Writer
47
+	io.WriteCloser
49
 	Wrap
48
 	Wrap
50
 }
49
 }
51
 
50
 

Загрузка…
Отмена
Сохранить