Kaynağa Gözat

Bugfix proxy request handler

tags/0.9
9seconds 7 yıl önce
ebeveyn
işleme
4210cf014e

+ 4
- 4
mtproto/rpc/proxy_request.go Dosyayı Görüntüle

@@ -34,14 +34,14 @@ func (r *ProxyRequest) Bytes(message []byte) []byte {
34 34
 
35 35
 	buf.Write(TagProxyRequest)
36 36
 	buf.Write(flags.Bytes())
37
-	buf.Write(r.ConnectionID[:])
38
-	buf.Write(r.ClientIPPort[:])
39
-	buf.Write(r.OurIPPort[:])
37
+	buf.Write(r.ConnectionID)
38
+	buf.Write(r.ClientIPPort)
39
+	buf.Write(r.OurIPPort)
40 40
 	buf.Write(ProxyRequestExtraSize)
41 41
 	buf.Write(ProxyRequestProxyTag)
42 42
 	buf.WriteByte(byte(len(r.ADTag)))
43 43
 	buf.Write(r.ADTag)
44
-	buf.Write(bytes.Repeat([]byte{0x00}, buf.Len()%4))
44
+	buf.Write(make([]byte, (4-buf.Len()%4)%4))
45 45
 	buf.Write(message)
46 46
 
47 47
 	return buf.Bytes()

+ 3
- 2
mtproto/wrappers/frame.go Dosyayı Görüntüle

@@ -4,6 +4,7 @@ import (
4 4
 	"bytes"
5 5
 	"crypto/aes"
6 6
 	"encoding/binary"
7
+	"fmt"
7 8
 	"hash/crc32"
8 9
 	"io"
9 10
 	"io/ioutil"
@@ -20,7 +21,7 @@ const (
20 21
 	frameRWCMaxMessageLength = 16777216
21 22
 )
22 23
 
23
-var frameRWCPadding = [4]byte{0x04, 0x00, 0x00, 0x00}
24
+var frameRWCPadding = []byte{0x04, 0x00, 0x00, 0x00}
24 25
 
25 26
 type FrameRWC struct {
26 27
 	wrappers.BufferedReader
@@ -48,7 +49,7 @@ func (f *FrameRWC) Write(buf []byte) (int, error) {
48 49
 
49 50
 	checksum := crc32.ChecksumIEEE(writeBuf.Bytes())
50 51
 	binary.Write(writeBuf, binary.LittleEndian, checksum)
51
-	writeBuf.Write(bytes.Repeat(frameRWCPadding[:], paddingLength/4))
52
+	writeBuf.Write(bytes.Repeat(frameRWCPadding, paddingLength/4))
52 53
 
53 54
 	_, err := f.conn.Write(writeBuf.Bytes())
54 55
 	return len(buf), err

+ 0
- 2
telegram/middle.go Dosyayı Görüntüle

@@ -1,7 +1,6 @@
1 1
 package telegram
2 2
 
3 3
 import (
4
-	"fmt"
5 4
 	"io"
6 5
 	"net"
7 6
 	"net/http"
@@ -131,7 +130,6 @@ func (t *middleTelegram) receiveRPCHandshakeResponse(conn io.Reader, req *rpc.Ha
131 130
 	if err = rpcHandshakeResp.Valid(req); err != nil {
132 131
 		return nil, errors.Annotate(err, "Invalid RPC handshake response")
133 132
 	}
134
-	fmt.Println("VICTORY")
135 133
 
136 134
 	return rpcHandshakeResp, nil
137 135
 }

Loading…
İptal
Kaydet