Remove wrap prefix

This commit is contained in:
9seconds
2018-07-08 08:16:21 +03:00
parent a0ba89b105
commit 388f7a23d3
17 changed files with 59 additions and 66 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ func MiddleInit(ctx context.Context, cancel context.CancelFunc, socket net.Conn,
if err != nil {
return nil, nil, err
}
connStream := conn.(wrappers.WrapStreamReadWriteCloser)
connStream := conn.(wrappers.StreamReadWriteCloser)
newConn := wrappers.NewMTProtoAbridged(connStream, opts)
if opts.ConnectionType != mtproto.ConnectionTypeAbridged {
+7 -8
View File
@@ -58,26 +58,26 @@ func (p *Proxy) accept(conn net.Conn) {
log.Errorw("Cannot initialize client connection", "error", err)
return
}
defer client.(wrappers.WrapCloser).Close()
defer client.(io.Closer).Close()
server, err := p.getTelegramConn(ctx, cancel, opts, connID)
if err != nil {
log.Errorw("Cannot initialize server connection", "error", err)
return
}
defer server.(wrappers.WrapCloser).Close()
defer server.(io.Closer).Close()
wait := &sync.WaitGroup{}
wait.Add(2)
if p.conf.UseMiddleProxy() {
clientPacket := client.(wrappers.WrapPacketReadWriteCloser)
serverPacket := server.(wrappers.WrapPacketReadWriteCloser)
clientPacket := client.(wrappers.PacketReadWriteCloser)
serverPacket := server.(wrappers.PacketReadWriteCloser)
go p.middlePipe(clientPacket, serverPacket, wait, &opts.ReadHacks)
go p.middlePipe(serverPacket, clientPacket, wait, &opts.WriteHacks)
} else {
clientStream := client.(wrappers.WrapStreamReadWriteCloser)
serverStream := server.(wrappers.WrapStreamReadWriteCloser)
clientStream := client.(wrappers.StreamReadWriteCloser)
serverStream := server.(wrappers.StreamReadWriteCloser)
go p.directPipe(clientStream, serverStream, wait)
go p.directPipe(serverStream, clientStream, wait)
}
@@ -104,9 +104,8 @@ func (p *Proxy) getTelegramConn(ctx context.Context, cancel context.CancelFunc,
return packetConn, nil
}
func (p *Proxy) middlePipe(src wrappers.WrapPacketReader, dst wrappers.WrapPacketWriter, wait *sync.WaitGroup, hacks *mtproto.Hacks) {
func (p *Proxy) middlePipe(src wrappers.PacketReader, dst wrappers.PacketWriter, wait *sync.WaitGroup, hacks *mtproto.Hacks) {
defer wait.Done()
for {
hacks.SimpleAck = false
hacks.QuickAck = false
+2 -4
View File
@@ -30,14 +30,12 @@ func (t *tgDialer) dial(addr string) (net.Conn, error) {
return conn, nil
}
func (t *tgDialer) dialRWC(addr, connID string) (wrappers.WrapStreamReadWriteCloser, error) {
func (t *tgDialer) dialRWC(addr, connID string) (wrappers.StreamReadWriteCloser, error) {
conn, err := t.dial(addr)
if err != nil {
return nil, err
}
tgConn := wrappers.NewConn(conn, connID, wrappers.ConnPurposeTelegram,
t.conf.PublicIPv4, t.conf.PublicIPv6)
tgConn := wrappers.NewConn(conn, connID, wrappers.ConnPurposeTelegram, t.conf.PublicIPv4, t.conf.PublicIPv6)
return tgConn, nil
}
+2 -2
View File
@@ -32,7 +32,7 @@ type DirectTelegram struct {
baseTelegram
}
func (t *DirectTelegram) Dial(connID string, connOpts *mtproto.ConnectionOpts) (wrappers.WrapStreamReadWriteCloser, error) {
func (t *DirectTelegram) Dial(connID string, connOpts *mtproto.ConnectionOpts) (wrappers.StreamReadWriteCloser, error) {
dc := connOpts.DC
if dc < 0 {
dc = -dc
@@ -43,7 +43,7 @@ func (t *DirectTelegram) Dial(connID string, connOpts *mtproto.ConnectionOpts) (
return t.baseTelegram.dial(dc-1, connID, connOpts.ConnectionProto)
}
func (t *DirectTelegram) Init(connOpts *mtproto.ConnectionOpts, conn wrappers.WrapStreamReadWriteCloser) (wrappers.Wrap, error) {
func (t *DirectTelegram) Init(connOpts *mtproto.ConnectionOpts, conn wrappers.StreamReadWriteCloser) (wrappers.Wrap, error) {
obfs2, frame := obfuscated2.MakeTelegramObfuscated2Frame(connOpts)
if _, err := conn.Write(frame); err != nil {
+5 -5
View File
@@ -19,7 +19,7 @@ type MiddleTelegram struct {
conf *config.Config
}
func (t *MiddleTelegram) Init(connOpts *mtproto.ConnectionOpts, conn wrappers.WrapStreamReadWriteCloser) (wrappers.Wrap, error) {
func (t *MiddleTelegram) Init(connOpts *mtproto.ConnectionOpts, conn wrappers.StreamReadWriteCloser) (wrappers.Wrap, error) {
rpcNonceConn := wrappers.NewMTProtoFrame(conn, rpc.SeqNoNonce)
rpcNonceReq, err := t.sendRPCNonceRequest(rpcNonceConn)
@@ -46,7 +46,7 @@ func (t *MiddleTelegram) Init(connOpts *mtproto.ConnectionOpts, conn wrappers.Wr
return wrappers.NewMTProtoProxy(frameConn, connOpts, t.conf.AdTag)
}
func (t *MiddleTelegram) sendRPCNonceRequest(conn wrappers.WrapPacketWriter) (*rpc.NonceRequest, error) {
func (t *MiddleTelegram) sendRPCNonceRequest(conn wrappers.PacketWriter) (*rpc.NonceRequest, error) {
rpcNonceReq, err := rpc.NewNonceRequest(t.proxySecret)
if err != nil {
return nil, errors.Annotate(err, "Cannot create RPC nonce request")
@@ -58,7 +58,7 @@ func (t *MiddleTelegram) sendRPCNonceRequest(conn wrappers.WrapPacketWriter) (*r
return rpcNonceReq, nil
}
func (t *MiddleTelegram) receiveRPCNonceResponse(conn wrappers.WrapPacketReader, req *rpc.NonceRequest) (*rpc.NonceResponse, error) {
func (t *MiddleTelegram) receiveRPCNonceResponse(conn wrappers.PacketReader, req *rpc.NonceRequest) (*rpc.NonceResponse, error) {
packet, err := conn.Read()
if err != nil {
return nil, errors.Annotate(err, "Cannot read RPC nonce response")
@@ -75,7 +75,7 @@ func (t *MiddleTelegram) receiveRPCNonceResponse(conn wrappers.WrapPacketReader,
return rpcNonceResp, nil
}
func (t *MiddleTelegram) sendRPCHandshakeRequest(conn wrappers.WrapPacketWriter) (*rpc.HandshakeRequest, error) {
func (t *MiddleTelegram) sendRPCHandshakeRequest(conn wrappers.PacketWriter) (*rpc.HandshakeRequest, error) {
req := rpc.NewHandshakeRequest()
if _, err := conn.Write(req.Bytes()); err != nil {
return nil, errors.Annotate(err, "Cannot send RPC handshake request")
@@ -84,7 +84,7 @@ func (t *MiddleTelegram) sendRPCHandshakeRequest(conn wrappers.WrapPacketWriter)
return req, nil
}
func (t *MiddleTelegram) receiveRPCHandshakeResponse(conn wrappers.WrapPacketReader, req *rpc.HandshakeRequest) (*rpc.HandshakeResponse, error) {
func (t *MiddleTelegram) receiveRPCHandshakeResponse(conn wrappers.PacketReader, req *rpc.HandshakeRequest) (*rpc.HandshakeResponse, error) {
packet, err := conn.Read()
if err != nil {
return nil, errors.Annotate(err, "Cannot read RPC handshake response")
+2 -6
View File
@@ -28,7 +28,7 @@ const (
tgUserAgent = "mtg"
)
var middleTelegramProxyConfigSplitter *regexp.Regexp
var middleTelegramProxyConfigSplitter = regexp.MustCompile(`\s+`)
type middleTelegramCaller struct {
baseTelegram
@@ -38,7 +38,7 @@ type middleTelegramCaller struct {
httpClient *http.Client
}
func (t *middleTelegramCaller) Dial(connID string, connOpts *mtproto.ConnectionOpts) (wrappers.WrapStreamReadWriteCloser, error) {
func (t *middleTelegramCaller) Dial(connID string, connOpts *mtproto.ConnectionOpts) (wrappers.StreamReadWriteCloser, error) {
dc := connOpts.DC
if dc == 0 {
dc = 1
@@ -150,7 +150,3 @@ func (t *middleTelegramCaller) call(url string) (*http.Response, error) {
return t.httpClient.Do(req)
}
func init() {
middleTelegramProxyConfigSplitter = regexp.MustCompile(`\s+`)
}
+3 -3
View File
@@ -10,8 +10,8 @@ import (
)
type Telegram interface {
Dial(string, *mtproto.ConnectionOpts) (wrappers.WrapStreamReadWriteCloser, error)
Init(*mtproto.ConnectionOpts, wrappers.WrapStreamReadWriteCloser) (wrappers.Wrap, error)
Dial(string, *mtproto.ConnectionOpts) (wrappers.StreamReadWriteCloser, error)
Init(*mtproto.ConnectionOpts, wrappers.StreamReadWriteCloser) (wrappers.Wrap, error)
}
type baseTelegram struct {
@@ -21,7 +21,7 @@ type baseTelegram struct {
v6Addresses map[int16][]string
}
func (b *baseTelegram) dial(dcIdx int16, connID string, proto mtproto.ConnectionProtocol) (wrappers.WrapStreamReadWriteCloser, error) {
func (b *baseTelegram) dial(dcIdx int16, connID string, proto mtproto.ConnectionProtocol) (wrappers.StreamReadWriteCloser, error) {
addrs := make([]string, 2)
if proto&mtproto.ConnectionProtocolIPv6 != 0 {
+2 -2
View File
@@ -13,7 +13,7 @@ import (
type BlockCipher struct {
buf *bytes.Buffer
conn WrapStreamReadWriteCloser
conn StreamReadWriteCloser
encryptor cipher.BlockMode
decryptor cipher.BlockMode
}
@@ -88,7 +88,7 @@ func (b *BlockCipher) Close() error {
return b.conn.Close()
}
func NewBlockCipher(conn WrapStreamReadWriteCloser, encryptor, decryptor cipher.BlockMode) WrapStreamReadWriteCloser {
func NewBlockCipher(conn StreamReadWriteCloser, encryptor, decryptor cipher.BlockMode) StreamReadWriteCloser {
return &BlockCipher{
buf: &bytes.Buffer{},
conn: conn,
+1 -1
View File
@@ -96,7 +96,7 @@ func (c *Conn) LogError(msg string, data ...interface{}) {
c.logger.Errorw(msg, data...)
}
func NewConn(conn net.Conn, connID string, purpose ConnPurpose, publicIPv4, publicIPv6 net.IP) WrapStreamReadWriteCloser {
func NewConn(conn net.Conn, connID string, purpose ConnPurpose, publicIPv4, publicIPv6 net.IP) StreamReadWriteCloser {
logger := zap.S().With(
"connection_id", connID,
"local_address", conn.LocalAddr(),
+2 -2
View File
@@ -9,7 +9,7 @@ import (
type Ctx struct {
cancel context.CancelFunc
conn WrapStreamReadWriteCloser
conn StreamReadWriteCloser
ctx context.Context
}
@@ -67,7 +67,7 @@ func (c *Ctx) Close() error {
return c.conn.Close()
}
func NewCtx(ctx context.Context, cancel context.CancelFunc, conn WrapStreamReadWriteCloser) WrapStreamReadWriteCloser {
func NewCtx(ctx context.Context, cancel context.CancelFunc, conn StreamReadWriteCloser) StreamReadWriteCloser {
return &Ctx{
ctx: ctx,
cancel: cancel,
+2 -2
View File
@@ -18,7 +18,7 @@ const (
)
type MTProtoAbridged struct {
conn WrapStreamReadWriteCloser
conn StreamReadWriteCloser
opts *mtproto.ConnectionOpts
readCounter uint32
@@ -156,7 +156,7 @@ func (m *MTProtoAbridged) Close() error {
return m.conn.Close()
}
func NewMTProtoAbridged(conn WrapStreamReadWriteCloser, opts *mtproto.ConnectionOpts) WrapPacketReadWriteCloser {
func NewMTProtoAbridged(conn StreamReadWriteCloser, opts *mtproto.ConnectionOpts) PacketReadWriteCloser {
return &MTProtoAbridged{
conn: conn,
opts: opts,
+1 -1
View File
@@ -22,7 +22,7 @@ const (
var emptyIP = [4]byte{0x00, 0x00, 0x00, 0x00}
func NewMiddleProxyCipher(conn WrapStreamReadWriteCloser, req *rpc.NonceRequest, resp *rpc.NonceResponse, secret []byte) WrapStreamReadWriteCloser {
func NewMiddleProxyCipher(conn StreamReadWriteCloser, req *rpc.NonceRequest, resp *rpc.NonceResponse, secret []byte) StreamReadWriteCloser {
localAddr := conn.LocalAddr()
remoteAddr := conn.RemoteAddr()
+2 -2
View File
@@ -20,7 +20,7 @@ const (
var mtprotoFramePadding = []byte{0x04, 0x00, 0x00, 0x00}
type MTProtoFrame struct {
conn WrapStreamReadWriteCloser
conn StreamReadWriteCloser
readSeqNo int32
writeSeqNo int32
}
@@ -142,7 +142,7 @@ func (m *MTProtoFrame) Close() error {
return m.conn.Close()
}
func NewMTProtoFrame(conn WrapStreamReadWriteCloser, seqNo int32) WrapPacketReadWriteCloser {
func NewMTProtoFrame(conn StreamReadWriteCloser, seqNo int32) PacketReadWriteCloser {
return &MTProtoFrame{
conn: conn,
readSeqNo: seqNo,
+2 -2
View File
@@ -13,7 +13,7 @@ import (
const mtprotoIntermediateQuickAckLength = 0x80000000
type MTProtoIntermediate struct {
conn WrapStreamReadWriteCloser
conn StreamReadWriteCloser
opts *mtproto.ConnectionOpts
readCounter uint32
@@ -111,7 +111,7 @@ func (m *MTProtoIntermediate) Close() error {
return m.conn.Close()
}
func NewMTProtoIntermediate(conn WrapStreamReadWriteCloser, opts *mtproto.ConnectionOpts) WrapPacketReadWriteCloser {
func NewMTProtoIntermediate(conn StreamReadWriteCloser, opts *mtproto.ConnectionOpts) PacketReadWriteCloser {
return &MTProtoIntermediate{
conn: conn,
opts: opts,
+2 -2
View File
@@ -11,7 +11,7 @@ import (
)
type MTProtoProxy struct {
conn WrapPacketReadWriteCloser
conn PacketReadWriteCloser
req *rpc.ProxyRequest
readCounter uint32
@@ -129,7 +129,7 @@ func (m *MTProtoProxy) Close() error {
return m.conn.Close()
}
func NewMTProtoProxy(conn WrapPacketReadWriteCloser, connOpts *mtproto.ConnectionOpts, adTag []byte) (WrapPacketReadWriteCloser, error) {
func NewMTProtoProxy(conn PacketReadWriteCloser, connOpts *mtproto.ConnectionOpts, adTag []byte) (PacketReadWriteCloser, error) {
req, err := rpc.NewProxyRequest(connOpts.ClientAddr, conn.LocalAddr(), connOpts, adTag)
if err != nil {
return nil, errors.Annotate(err, "Cannot create new RPC proxy request")
+2 -2
View File
@@ -10,7 +10,7 @@ import (
type StreamCipher struct {
encryptor cipher.Stream
decryptor cipher.Stream
conn WrapStreamReadWriteCloser
conn StreamReadWriteCloser
}
func (s *StreamCipher) Read(p []byte) (int, error) {
@@ -58,7 +58,7 @@ func (s *StreamCipher) Close() error {
return s.conn.Close()
}
func NewStreamCipher(conn WrapStreamReadWriteCloser, encryptor, decryptor cipher.Stream) WrapStreamReadWriteCloser {
func NewStreamCipher(conn StreamReadWriteCloser, encryptor, decryptor cipher.Stream) StreamReadWriteCloser {
return &StreamCipher{
conn: conn,
encryptor: encryptor,
+21 -21
View File
@@ -15,74 +15,74 @@ type Wrap interface {
RemoteAddr() *net.TCPAddr
}
type WrapWriter interface {
type Writer interface {
io.Writer
Wrap
}
type WrapCloser interface {
type Closer interface {
io.Closer
Wrap
}
type WrapWriteCloser interface {
type WriteCloser interface {
io.Closer
WrapWriter
Writer
}
type WrapStreamReader interface {
type StreamReader interface {
io.Reader
Wrap
}
type WrapStreamReadCloser interface {
type StreamReadCloser interface {
io.Closer
WrapStreamReader
StreamReader
}
type WrapStreamReadWriter interface {
type StreamReadWriter interface {
io.Writer
WrapStreamReader
StreamReader
}
type WrapStreamWriteCloser interface {
type StreamWriteCloser interface {
io.Closer
io.Writer
Wrap
}
type WrapStreamReadWriteCloser interface {
type StreamReadWriteCloser interface {
io.Closer
WrapStreamReadWriter
StreamReadWriter
}
type WrapPacketReader interface {
type PacketReader interface {
Read() ([]byte, error)
Wrap
}
type WrapPacketWriter interface {
type PacketWriter interface {
io.Writer
Wrap
}
type WrapPacketReadWriter interface {
type PacketReadWriter interface {
io.Writer
WrapPacketReader
PacketReader
}
type WrapBlockReadCloser interface {
type BlockReadCloser interface {
io.Closer
WrapPacketReader
PacketReader
}
type WrapPacketWriteCloser interface {
type PacketWriteCloser interface {
io.Writer
io.Closer
Wrap
}
type WrapPacketReadWriteCloser interface {
type PacketReadWriteCloser interface {
io.Closer
WrapPacketReadWriter
PacketReadWriter
}