pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35894?usp=email )


Change subject: gsup_server: Fix removal of session from set
......................................................................

gsup_server: Fix removal of session from set

Change-Id: Iec9bce7494e3849c9e94158516f471f97182725b
---
M src/gsup_server.erl
1 file changed, 22 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-epdg 
refs/changes/94/35894/1

diff --git a/src/gsup_server.erl b/src/gsup_server.erl
index fd2a8b5..8a070bf 100644
--- a/src/gsup_server.erl
+++ b/src/gsup_server.erl
@@ -198,7 +198,7 @@
                                }
        end,
        tx_gsup(Socket, Resp),
-       State1 = delete_gsups_ue(Imsi, State0),
+       State1 = delete_gsups_ue_by_imsi(Imsi, State0),
        {noreply, State1};

 % Our GSUP CEAI implementation for "IKEv2 Information Delete Request"
@@ -244,7 +244,7 @@
                },
                tx_gsup(Socket, Resp),
                epdg_ue_fsm:stop(UE#gsups_ue.pid),
-               State2 = delete_gsups_ue(Imsi, State1)
+               State2 = delete_gsups_ue(UE, State1)
        end,
        {noreply, State2};

@@ -331,7 +331,7 @@
        lager:info("GSUP: Rx ~p~n", [GsupMsgRx]),
        UE = find_gsups_ue_by_imsi(Imsi, State0),
        case UE of
-       #gsups_ue{imsi = Imsi} -> State1 = delete_gsups_ue(Imsi, State0);
+       #gsups_ue{imsi = Imsi} -> State1 = delete_gsups_ue(UE, State0);
        undefined -> State1 = State0
        end,
        {noreply, State1};
@@ -401,6 +401,13 @@
                new_gsups_ue(Imsi, State)
        end.

-delete_gsups_ue(Imsi, State) ->
-       SetRemoved = sets:del_element(Imsi, State#gsups_state.ues),
-       State#gsups_state{ues = SetRemoved}.
\ No newline at end of file
+delete_gsups_ue(UE, State) ->
+       SetRemoved = sets:del_element(UE, State#gsups_state.ues),
+       lager:debug("Removed UE ~p from ~p~n", [UE, SetRemoved]),
+       State#gsups_state{ues = SetRemoved}.
+
+delete_gsups_ue_by_imsi(Imsi, State) ->
+       case find_gsups_ue_by_imsi(Imsi, State) of
+       undefined -> State;
+       UE-> delete_gsups_ue(UE, State)
+       end.
\ No newline at end of file

--
To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35894?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: erlang/osmo-epdg
Gerrit-Branch: master
Gerrit-Change-Id: Iec9bce7494e3849c9e94158516f471f97182725b
Gerrit-Change-Number: 35894
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to