From 5a9b680d2e242328329c517c79014b4d5d727cff Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Sat, 21 Feb 2026 23:40:38 +0800 Subject: [PATCH] fix policy --- apps/sdlan/src/quic/sdlan_quic_channel.erl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/apps/sdlan/src/quic/sdlan_quic_channel.erl b/apps/sdlan/src/quic/sdlan_quic_channel.erl index bc3333f..6a11373 100644 --- a/apps/sdlan/src/quic/sdlan_quic_channel.erl +++ b/apps/sdlan/src/quic/sdlan_quic_channel.erl @@ -201,6 +201,20 @@ handle_event(info, {frame, <>}, registered, #st keep_state_and_data end; +%% TODO 处理权限查询 +handle_event(info, {frame, <>}, registered, #state{stream = Stream, network_pid = NetworkPid}) when is_pid(NetworkPid) -> + maybe + PolicyRequest = catch sdlan_pb:decode_msg(Body, sdl_policy_request), + #sdl_policy_request{src_identity_id = SrcIdentityId, dst_identity_id = DstIdentityId, version = Version} ?= PolicyRequest, + PolicyResponsePkt = sdlan_pb:encode_msg(#sdl_policy_response { + src_identity_id = SrcIdentityId, + dst_identity_id = DstIdentityId, + version = Version, + rules = <<1, 80:16, 2, 9090:16>> + }), + quic_send(Stream, <>) + end; + handle_event(info, {frame, <>}, registered, State = #state{stream = Stream, ping_counter = PingCounter}) -> quic_send(Stream, <>), {keep_state, State#state{ping_counter = PingCounter + 1}};