pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35929?usp=email )
Change subject: gsup_server: Allow receiveing AuthInfo without PdpInfo ......................................................................
gsup_server: Allow receiveing AuthInfo without PdpInfo
Change-Id: Ife5293fd5942875c13bf29a462496bd8ea9212b7 --- M src/gsup_server.erl 1 file changed, 21 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-epdg refs/changes/29/35929/1
diff --git a/src/gsup_server.erl b/src/gsup_server.erl index 065abb4..6930673 100644 --- a/src/gsup_server.erl +++ b/src/gsup_server.erl @@ -228,13 +228,18 @@
% send auth info / requesting authentication tuples handle_info({ipa, Socket, ?IPAC_PROTO_EXT_GSUP, GsupMsgRx = #{message_type := send_auth_info_req, imsi := Imsi}}, State0) -> - #{pdp_info_list := [PdpInfo]} = GsupMsgRx, - #{pdp_context_id := _PDPCtxId, - pdp_address := #{address := #{}, - pdp_type_nr := PdpTypeNr, - pdp_type_org := 241}, - access_point_name := Apn - } = PdpInfo, + case maps:find(pdp_info_list, GsupMsgRx) of + {ok, [PdpInfo]} -> + #{pdp_context_id := _PDPCtxId, + pdp_address := #{address := #{}, + pdp_type_nr := PdpTypeNr, + pdp_type_org := 241}, + access_point_name := Apn + } = PdpInfo; + error -> % Use some sane defaults: + PdpTypeNr = ?GTP_PDP_ADDR_TYPE_NR_IPv4, + Apn = "*" + end, {UE, State1} = find_or_new_gsups_ue(Imsi, State0), case epdg_ue_fsm:auth_request(UE#gsups_ue.pid, {PdpTypeNr, Apn}) of ok -> State2 = State1;