fix network code
This commit is contained in:
parent
0a0688d230
commit
f7371377ed
@ -20,7 +20,7 @@
|
||||
handle_request("POST", "/test/auth_token", _, PostParams) ->
|
||||
lager:debug("[test_handler] get post params: ~p", [PostParams]),
|
||||
Data = #{
|
||||
<<"network_id">> => 8,
|
||||
<<"network_id">> => <<"x7qpl9rtf3sd5gh8jk2mn6bv">>,
|
||||
<<"upgrade_type">> => 0,
|
||||
<<"upgrade_prompt">> => <<"simple upgrade">>,
|
||||
<<"upgrade_address">> => <<"upgrade_address">>
|
||||
@ -36,27 +36,47 @@ handle_request("POST", "/test/upgrade", _, PostParams) ->
|
||||
},
|
||||
{ok, 200, sdlan_util:json_data(Data)};
|
||||
|
||||
handle_request("POST", "/test/get_user_network", _, PostParams) ->
|
||||
lager:debug("[test_handler] get post params: ~p", [PostParams]),
|
||||
Data = #{
|
||||
<<"network">> => [
|
||||
#{
|
||||
<<"name">> => <<"test1">>,
|
||||
<<"code">> => <<"x7qpl9rtf3sd5gh8jk2mn6bv">>
|
||||
},
|
||||
#{
|
||||
<<"name">> => <<"test2">>,
|
||||
<<"code">> => <<"p8km3wz7es2df9gh4jk1lo5">>
|
||||
},
|
||||
#{
|
||||
<<"name">> => <<"test3">>,
|
||||
<<"code">> => <<"9fg2hj5kl8pr3ty6vb1nm7x">>
|
||||
}
|
||||
]
|
||||
},
|
||||
{ok, 200, sdlan_util:json_data(Data)};
|
||||
|
||||
handle_request("GET", "/test/get_all_networks", _, _) ->
|
||||
{ok, 200, sdlan_util:json_data([<<"8">>, <<"9">>, <<"10">>])};
|
||||
{ok, 200, sdlan_util:json_data([<<"x7qpl9rtf3sd5gh8jk2mn6bv">>, <<"p8km3wz7es2df9gh4jk1lo5">>, <<"9fg2hj5kl8pr3ty6vb1nm7x">>])};
|
||||
|
||||
handle_request("GET", "/test/get_network", #{<<"id">> := Id}, _) ->
|
||||
Networks = #{
|
||||
<<"8">> => #{
|
||||
<<"id">> => <<"8">>,
|
||||
<<"x7qpl9rtf3sd5gh8jk2mn6bv">> => #{
|
||||
<<"id">> => <<"x7qpl9rtf3sd5gh8jk2mn6bv">>,
|
||||
<<"name">> => <<"test1">>,
|
||||
<<"ipaddr">> => <<"10.211.179.0/24">>,
|
||||
<<"owner_id">> => 1234,
|
||||
<<"disabled_clients">> => []
|
||||
},
|
||||
<<"9">> => #{
|
||||
<<"id">> => <<"9">>,
|
||||
<<"p8km3wz7es2df9gh4jk1lo5">> => #{
|
||||
<<"id">> => <<"p8km3wz7es2df9gh4jk1lo5">>,
|
||||
<<"name">> => <<"test2">>,
|
||||
<<"ipaddr">> => <<"10.211.180.0/24">>,
|
||||
<<"owner_id">> => 1234,
|
||||
<<"disabled_clients">> => []
|
||||
},
|
||||
<<"10">> => #{
|
||||
<<"id">> => <<"10">>,
|
||||
<<"9fg2hj5kl8pr3ty6vb1nm7x">> => #{
|
||||
<<"id">> => <<"9fg2hj5kl8pr3ty6vb1nm7x">>,
|
||||
<<"name">> => <<"test3">>,
|
||||
<<"ipaddr">> => <<"10.211.181.0/24">>,
|
||||
<<"owner_id">> => 1234,
|
||||
|
||||
@ -123,15 +123,15 @@ handle_info({tcp, Sock, <<PacketId:32, ?PACKET_REGISTER_SUPER, Body/binary>>}, S
|
||||
%% Mac地址不能是广播地址
|
||||
true = not (sdlan_util:is_multicast_mac(Mac) orelse sdlan_util:is_broadcast_mac(Mac)),
|
||||
|
||||
AuthResult = case {NetworkCode, Token} of
|
||||
{<<>>, Token} ->
|
||||
AuthResult = if
|
||||
Token /= <<>> ->
|
||||
sdlan_api:auth_token(ClientId, Token, Version);
|
||||
{NetworkCode, <<>>} ->
|
||||
NetworkCode /= <<>> ->
|
||||
sdlan_api:check_network_code(ClientId, NetworkCode, Version)
|
||||
end,
|
||||
|
||||
case AuthResult of
|
||||
{ok, #{<<"result">> := #{<<"network_id">> := NetworkId, <<"upgrade_type">> := UpgradeType, <<"upgrade_prompt">> := UpgradePrompt, <<"upgrade_address">> := UpgradeAddress}}} when is_integer(NetworkId) ->
|
||||
{ok, #{<<"result">> := #{<<"network_id">> := NetworkId, <<"upgrade_type">> := UpgradeType, <<"upgrade_prompt">> := UpgradePrompt, <<"upgrade_address">> := UpgradeAddress}}} when is_binary(NetworkId) ->
|
||||
lager:debug("[sdlan_channel] client_id: ~p, mac: ~p, token: ~p, version: ~p, registerd, alloc network_id: ~p", [ClientId, sdlan_util:format_mac(Mac), Token, Version, NetworkId]),
|
||||
%% 建立到network的对应关系
|
||||
case sdlan_network:get_pid(NetworkId) of
|
||||
@ -141,7 +141,7 @@ handle_info({tcp, Sock, <<PacketId:32, ?PACKET_REGISTER_SUPER, Body/binary>>}, S
|
||||
RsaPubKey = sdlan_cipher:rsa_pem_decode(PubKey),
|
||||
EncodedAesKey = rsa_encode(AesKey, RsaPubKey),
|
||||
|
||||
RegisterSuperAck = sdlan_pb:encode_msg(#sdl_register_super_ack {
|
||||
RegisterSuperAck = sdlan_pb:encode_msg(Ack = #sdl_register_super_ack {
|
||||
dev_addr = #sdl_dev_addr{
|
||||
network_id = NetworkId,
|
||||
net_addr = NetAddr,
|
||||
@ -153,6 +153,7 @@ handle_info({tcp, Sock, <<PacketId:32, ?PACKET_REGISTER_SUPER, Body/binary>>}, S
|
||||
upgrade_prompt = UpgradePrompt,
|
||||
upgrade_address = UpgradeAddress
|
||||
}),
|
||||
lager:debug("ack is: ~p", [Ack]),
|
||||
|
||||
%% 发送确认信息
|
||||
Reply = <<PacketId:32, ?PACKET_REGISTER_SUPER_ACK, RegisterSuperAck/binary>>,
|
||||
@ -230,7 +231,7 @@ handle_info({tcp, Sock, <<PacketId:32, ?PACKET_QUERY_INFO, Body/binary>>}, State
|
||||
end;
|
||||
|
||||
handle_info({tcp, _Sock, <<0:32, ?PACKET_PING>>}, State = #state{transport = Transport, socket = Sock, client_id = ClientId, ping_counter = PingCounter}) ->
|
||||
lager:debug("[sdlan_channel] client_id: ~p, get ping", [ClientId]),
|
||||
%lager:debug("[sdlan_channel] client_id: ~p, get ping", [ClientId]),
|
||||
Transport:send(Sock, <<0:32, ?PACKET_PONG>>),
|
||||
{noreply, State#state{ping_counter = PingCounter + 1}};
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
-export([start_link/2]).
|
||||
-export([get_name/1, get_pid/1, assign_ip_addr/5, peer_info/3, unregister/3, debug_info/1, get_network_id/1, get_used_map/1]).
|
||||
-export([forward/5, update_hole/6, disable_client/2, get_channel/2, dropout_client/2, reload/1]).
|
||||
-export([test_event/1]).
|
||||
-export([test_event/1, simple_debug/0]).
|
||||
|
||||
%% gen_server callbacks
|
||||
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
|
||||
@ -73,6 +73,10 @@
|
||||
%%% API
|
||||
%%%===================================================================
|
||||
|
||||
simple_debug() ->
|
||||
Pid = get_pid(<<"x7qpl9rtf3sd5gh8jk2mn6bv">>),
|
||||
debug_info(Pid).
|
||||
|
||||
%% -- MARK: 测试函数
|
||||
test_event(Pid) ->
|
||||
gen_server:cast(Pid, test_event).
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user