From 68da627b4dc80fe1e67b12a80cfe959e92c133e1 Mon Sep 17 00:00:00 2001 From: JimMoen Date: Wed, 6 Dec 2023 15:28:28 +0800 Subject: [PATCH] feat(channel): add peerport field in ClientInfo --- apps/emqx/src/emqx_channel.erl | 3 ++- apps/emqx/test/emqx_channel_SUITE.erl | 19 ++++++++++++++++++- apps/emqx/test/emqx_proper_types.erl | 1 + 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/emqx/src/emqx_channel.erl b/apps/emqx/src/emqx_channel.erl index 4662eaee5..92715cf80 100644 --- a/apps/emqx/src/emqx_channel.erl +++ b/apps/emqx/src/emqx_channel.erl @@ -213,7 +213,7 @@ caps(#channel{clientinfo = #{zone := Zone}}) -> -spec init(emqx_types:conninfo(), opts()) -> channel(). init( ConnInfo = #{ - peername := {PeerHost, _Port}, + peername := {PeerHost, PeerPort}, sockname := {_Host, SockPort} }, #{ @@ -237,6 +237,7 @@ init( listener => ListenerId, protocol => Protocol, peerhost => PeerHost, + peerport => PeerPort, sockport => SockPort, clientid => undefined, username => undefined, diff --git a/apps/emqx/test/emqx_channel_SUITE.erl b/apps/emqx/test/emqx_channel_SUITE.erl index c6b4c0518..ca038ac85 100644 --- a/apps/emqx/test/emqx_channel_SUITE.erl +++ b/apps/emqx/test/emqx_channel_SUITE.erl @@ -72,6 +72,22 @@ t_chan_info(_) -> conn_state := connected, clientinfo := ClientInfo } = emqx_channel:info(channel()), + ?assertMatch( + #{ + zone := default, + listener := {tcp, default}, + protocol := mqtt, + peerhost := {127, 0, 0, 1}, + peerport := 3456, + sockport := 1883, + clientid := <<"clientid">>, + username := <<"username">>, + is_superuser := false, + is_bridge := false, + mountpoint := undefined + }, + ClientInfo + ), ?assertEqual(clientinfo(), ClientInfo). t_chan_caps(_) -> @@ -1063,7 +1079,8 @@ clientinfo(InitProps) -> listener => {tcp, default}, protocol => mqtt, peerhost => {127, 0, 0, 1}, - sockport => 3456, + peerport => 3456, + sockport => 1883, clientid => <<"clientid">>, username => <<"username">>, is_superuser => false, diff --git a/apps/emqx/test/emqx_proper_types.erl b/apps/emqx/test/emqx_proper_types.erl index 6c2ad56f9..243a39007 100644 --- a/apps/emqx/test/emqx_proper_types.erl +++ b/apps/emqx/test/emqx_proper_types.erl @@ -108,6 +108,7 @@ clientinfo() -> {zone, zone()}, {protocol, protocol()}, {peerhost, ip()}, + {peerport, port()}, {sockport, port()}, {clientid, clientid()}, {username, username()},