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