Просмотр исходного кода

Propagate client addr with connection options

tags/0.9
9seconds 7 лет назад
Родитель
Сommit
9f746aa699
2 измененных файлов: 3 добавлений и 0 удалений
  1. 1
    0
      client/direct.go
  2. 2
    0
      mtproto/connection_options.go

+ 1
- 0
client/direct.go Просмотреть файл

32
 		return nil, nil, errors.Annotate(err, "Cannot parse obfuscated frame")
32
 		return nil, nil, errors.Annotate(err, "Cannot parse obfuscated frame")
33
 	}
33
 	}
34
 	connOpts.ConnectionProto = mtproto.ConnectionProtocolAny
34
 	connOpts.ConnectionProto = mtproto.ConnectionProtocolAny
35
+	connOpts.ClientAddr = conn.RemoteAddr().(*net.TCPAddr)
35
 
36
 
36
 	socket := wrappers.NewTimeoutRWC(conn)
37
 	socket := wrappers.NewTimeoutRWC(conn)
37
 	socket = wrappers.NewStreamCipherRWC(socket, obfs2.Encryptor, obfs2.Decryptor)
38
 	socket = wrappers.NewStreamCipherRWC(socket, obfs2.Encryptor, obfs2.Decryptor)

+ 2
- 0
mtproto/connection_options.go Просмотреть файл

2
 
2
 
3
 import (
3
 import (
4
 	"bytes"
4
 	"bytes"
5
+	"net"
5
 
6
 
6
 	"github.com/juju/errors"
7
 	"github.com/juju/errors"
7
 )
8
 )
18
 	DC              int16
19
 	DC              int16
19
 	ConnectionType  ConnectionType
20
 	ConnectionType  ConnectionType
20
 	ConnectionProto ConnectionProtocol
21
 	ConnectionProto ConnectionProtocol
22
+	ClientAddr      *net.TCPAddr
21
 }
23
 }
22
 
24
 
23
 // Different connection types which user requests from Telegram.
25
 // Different connection types which user requests from Telegram.

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