Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mtproto_proxy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
mtproto_proxy
Commits
414e7bc0
Unverified
Commit
414e7bc0
authored
Oct 31, 2018
by
Сергей Прохоров
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix some dialyzer errors
parent
44763922
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
23 deletions
+16
-23
mtp_abridged.erl
src/mtp_abridged.erl
+1
-1
mtp_codec.erl
src/mtp_codec.erl
+5
-2
mtp_down_conn.erl
src/mtp_down_conn.erl
+3
-8
mtp_handler.erl
src/mtp_handler.erl
+5
-10
mtp_intermediate.erl
src/mtp_intermediate.erl
+1
-1
mtp_secure.erl
src/mtp_secure.erl
+1
-1
No files found.
src/mtp_abridged.erl
View file @
414e7bc0
...
...
@@ -56,7 +56,7 @@ try_decode_packet_len(Len, LenStripped, Data, St) ->
{
incomplete
,
St
#st
{
buffer
=
Data
}}
end
.
-
spec
encode_packet
(
binary
(),
codec
())
->
iodata
()
.
-
spec
encode_packet
(
binary
(),
codec
())
->
{
iodata
(),
codec
()}
.
encode_packet
(
Bin
,
St
)
->
Size
=
byte_size
(
Bin
),
Len
=
Size
div
4
,
...
...
src/mtp_codec.erl
View file @
414e7bc0
...
...
@@ -19,8 +19,9 @@
-
export_type
([
codec
/
0
]).
-
type
state
()
::
any
().
-
type
crypto_codec
()
::
mtb_aes_cbc
|
mtp_obfuscated
.
-
type
crypto_codec
()
::
mtp_aes_cbc
|
mtp_obfuscated
|
mtp_noop_codec
.
-
type
packet_codec
()
::
mtp_abridged
|
mtp_full
|
mtp_intermediate
...
...
@@ -58,6 +59,7 @@ decompose(#codec{crypto_mod = CryptoMod, crypto_state = CryptoState,
%% try_decode_packet(Inner) |> try_decode_packet(Outer)
-
spec
try_decode_packet
(
binary
(),
codec
())
->
{
ok
,
binary
(),
codec
()}
|
{
incomplete
,
codec
()}.
try_decode_packet
(
Bin
,
#codec
{
crypto_mod
=
CryptoMod
,
crypto_state
=
CryptoSt
,
packet_mod
=
PacketMod
,
...
...
@@ -80,6 +82,7 @@ try_decode_packet(Bin, #codec{crypto_mod = CryptoMod,
end
.
%% encode_packet(Outer) |> encode_packet(Inner)
-
spec
encode_packet
(
iodata
(),
codec
())
->
{
iodata
(),
codec
()}.
encode_packet
(
Bin
,
#codec
{
packet_mod
=
PacketMod
,
packet_state
=
PacketSt
,
crypto_mod
=
CryptoMod
,
...
...
src/mtp_down_conn.erl
View file @
414e7bc0
...
...
@@ -92,14 +92,9 @@ handle_cast(shutdown, State) ->
handle_info
({
tcp
,
Sock
,
Data
},
#state
{
sock
=
Sock
}
=
S
)
->
mtp_metric
:
count_inc
([
?
APP
,
received
,
bytes
],
byte_size
(
Data
),
#
{
labels
=>
[
downstream
]}),
mtp_metric
:
histogram_observe
([
?
APP
,
tracker_packet_size
,
bytes
],
byte_size
(
Data
),
#
{
labels
=>
[
downstream
]}),
case
handle_downstream_data
(
Data
,
S
)
of
{
ok
,
S1
}
->
{
ok
,
S1
}
=
handle_downstream_data
(
Data
,
S
),
ok
=
inet
:
setopts
(
Sock
,
[{
active
,
once
}]),
{
noreply
,
S1
};
{
error
,
Reason
}
->
lager
:
error
(
"Error sending tunnelled data to in socket:
~p
"
,
[
Reason
]),
{
stop
,
normal
,
S
}
end
;
handle_info
({
tcp_closed
,
Sock
},
#state
{
sock
=
Sock
}
=
State
)
->
{
stop
,
normal
,
State
};
handle_info
({
tcp_error
,
Sock
,
Reason
},
#state
{
sock
=
Sock
}
=
State
)
->
...
...
src/mtp_handler.erl
View file @
414e7bc0
...
...
@@ -44,7 +44,7 @@
transport
::
transport
(),
codec
::
mtp_codec
:
codec
()
|
undefined
,
down
::
mtp_down_conn
:
handle
(),
down
::
mtp_down_conn
:
handle
()
|
undefined
,
dc_id
::
integer
(),
ad_tag
::
binary
(),
...
...
@@ -88,7 +88,7 @@ ranch_init({Ref, Transport, Opts}) ->
{
buffer
,
BufSize
}
]),
gen_server
:
enter_loop
(
?
MODULE
,
[],
State
);
error
->
{
stop
,
error
}
->
exit
(
normal
)
end
.
...
...
@@ -114,7 +114,7 @@ init({Socket, Transport, [Name, Secret, Tag]}) ->
{
error
,
Reason
}
->
mtp_metric
:
count_inc
([
?
APP
,
in_connection_closed
,
total
],
1
,
#
{
labels
=>
[
Name
]}),
lager
:
info
(
"Can't read peername:
~p
"
,
[
Reason
]),
error
{
stop
,
error
}
end
.
handle_call
(_
Request
,
_
From
,
State
)
->
...
...
@@ -123,13 +123,8 @@ handle_call(_Request, _From, State) ->
handle_cast
({
proxy_ans
,
Down
,
Data
},
#state
{
down
=
Down
}
=
S
)
->
%% telegram server -> proxy
case
up_send
(
Data
,
S
)
of
{
ok
,
S1
}
->
{
ok
,
S1
}
=
up_send
(
Data
,
S
),
maybe_check_health
(
bump_timer
(
S1
));
{
error
,
Reason
}
->
lager
:
error
(
"Error sending tunnelled data to in socket:
~p
"
,
[
Reason
]),
{
stop
,
normal
,
S
}
end
;
handle_cast
({
close_ext
,
Down
},
#state
{
down
=
Down
,
sock
=
USock
,
transport
=
UTrans
}
=
S
)
->
lager
:
debug
(
"asked to close connection by downstream"
),
ok
=
UTrans
:
close
(
USock
),
...
...
src/mtp_intermediate.erl
View file @
414e7bc0
...
...
@@ -63,7 +63,7 @@ try_decode_packet_len(Len, Data, #int_st{padding = Pad} = St) ->
{
incomplete
,
St
#int_st
{
buffer
=
Data
}}
end
.
-
spec
encode_packet
(
iodata
(),
codec
())
->
iodata
()
.
-
spec
encode_packet
(
iodata
(),
codec
())
->
{
iodata
(),
codec
()}
.
encode_packet
(
Data
,
#int_st
{
padding
=
Pad
}
=
St
)
->
Size
=
iolist_size
(
Data
),
Packet
=
case
Pad
of
...
...
src/mtp_secure.erl
View file @
414e7bc0
...
...
@@ -24,6 +24,6 @@ new() ->
try_decode_packet
(
Data
,
St
)
->
mtp_intermediate
:
try_decode_packet
(
Data
,
St
).
-
spec
encode_packet
(
iodata
(),
codec
())
->
iodata
()
.
-
spec
encode_packet
(
iodata
(),
codec
())
->
{
iodata
(),
codec
()}
.
encode_packet
(
Data
,
St
)
->
mtp_intermediate
:
encode_packet
(
Data
,
St
).
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment