pespin submitted this change.

View Change

Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved
gsup: Fix rx of AuthInfoReq without IP addr val

The var PdpAddress was being reassigned and erlang crashed when running
ttcn3-epdg-test with:
"""
{{badmatch,#{ipv4 => <<0,0,0,0>>}},[{gsup_server,rx_gsup,3,
[{file,"/tmp/osmo-epdg/src/gsup_server.erl"},{line,308}]},
{misc,'-spawn_wait_ret/2-fun-0-',2,
[{file,"/tmp/osmo-epdg/src/misc.erl"},{line,43}]}]}
"""

Fixes: 2d2e43c061652ae6c9fd409e9badc33d5d66e068
Change-Id: Iaa4b45a00e472a324ad98f57a54db04454935130
---
M src/gsup_server.erl
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gsup_server.erl b/src/gsup_server.erl
index c4c28cf..256522e 100644
--- a/src/gsup_server.erl
+++ b/src/gsup_server.erl
@@ -296,13 +296,14 @@
case maps:find(pdp_info_list, GsupMsgRx) of
{ok, [PdpInfo]} ->
#{pdp_context_id := _PDPCtxId,
- pdp_address := #{address := PdpAddress,
+ pdp_address := #{address := PdpAddressRx,
pdp_type_nr := PdpTypeNr,
pdp_type_org := 241},
access_point_name := Apn
} = PdpInfo,
- case maps:is_key(ipv4,PdpAddress) or maps:is_key(ipv6,PdpAddress) of
- true -> ok; %% Address received so do nothing
+ case maps:is_key(ipv4,PdpAddressRx) or maps:is_key(ipv6,PdpAddressRx) of
+ true -> %% Address received, use it
+ PdpAddress = PdpAddressRx;
false -> %% No address received from strongswan, use a default value
PdpTypeNr = ?GTP_PDP_ADDR_TYPE_NR_IPv4,
PdpAddress = #{ipv4 => <<0,0,0,0>>}

To view, visit change 40297. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: erlang/osmo-epdg
Gerrit-Branch: master
Gerrit-Change-Id: Iaa4b45a00e472a324ad98f57a54db04454935130
Gerrit-Change-Number: 40297
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: clufn <callumfarrbennett@yahoo.com>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>