osmo-msc/src
Neels Hofmeyr 16c42b5fba subscr_conn: store complete_layer3_type in conn, not FSM event arg
Instead of jumping through hoops to pass the Complete Layer 3 operation that
created this conn via FSM event dispatch parameters, put it right in the
gsm_subscriber_connection struct, where it always belonged.

Move definition of the enum complete_layer3_type to gsm_data.h, where
gsm_subscriber_connection is defined.

Introduce msc_subscr_conn_update_id() to set the complete_layer3_type of the
conn as soon as a Complete Layer 3 message is received.

In msc_subscr_conn_update_id(), already include an mi_string argument to
prepare for an upcoming patch where the FSM will be allocated much earlier when
the Mobile Identity is not known yet, and we'll also update the fi->id here.

The odd logging change in the msc_vlr_tests output uncovers a wrong use of the
osmo_fsm_inst_dispatch() data argument for SUBSCR_CONN_E_CN_CLOSE events: if a
child FSM signals unsuccessful result, instead of the failure cause, it passed
the complete_layer3_type, as requested upon FSM allocation, which was then
misinterpreted as a failure cause. Now a child FSM failure will pass NULL
instead, while other SUBSCR_CONN_E_CN_CLOSE events may still pass a valid cause
value.

Related: OS#3122
Change-Id: Iae30dd57a8861c4eaaf56999f872d4e635ba97fb
2018-04-03 02:13:16 +02:00
..
libgsupclient drop some dead definitions (gsm_data.h, gsup_client.c) 2018-04-02 23:59:50 +02:00
libmsc subscr_conn: store complete_layer3_type in conn, not FSM event arg 2018-04-03 02:13:16 +02:00
libvlr dissolve libcommon: drop gsm_subscriber_base.c, move vlr_subscr_* to vlr.c 2018-03-22 17:06:28 +01:00
osmo-msc use osmo_init_logging2() with proper talloc ctx 2018-03-30 23:20:03 +02:00
utils use osmo_init_logging2() with proper talloc ctx 2018-03-30 23:20:03 +02:00
Makefile.am remove empty libcommon-cs 2018-03-22 17:11:30 +01:00