From 8df9683b6806ab1e10ec5928bb0650b4f4ec9a87 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 10 Mar 2017 02:16:11 +0100 Subject: log: ciphering/security are implicit CM Service Accept Log just as prominently to mark CM Service Accept. Change-Id: I7afe9d4f69e5525ede7a7c380a2c48fb2c5054b6 --- openbsc/src/libmsc/gsm_04_08.c | 21 +++++++++++++++++++++ openbsc/src/libmsc/iucs_ranap.c | 6 ++---- openbsc/src/libmsc/msc_ifaces.c | 3 ++- 3 files changed, 25 insertions(+), 5 deletions(-) (limited to 'openbsc/src') diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index 8dbe2dbea..db7558e2c 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -3784,9 +3784,13 @@ static int msc_vlr_set_ciph_mode(void *msc_conn_ref, switch (conn->via_ran) { case RAN_GERAN_A: + DEBUGP(DMM, "-> CIPHER MODE COMMAND %s\n", + vlr_subscr_name(conn->vsub)); return msc_gsm0808_tx_cipher_mode(conn, ciph, tuple->vec.kc, 8, retrieve_imeisv); case RAN_UTRAN_IU: + DEBUGP(DMM, "-> SECURITY MODE CONTROL %s\n", + vlr_subscr_name(conn->vsub)); return iu_tx_sec_mode_cmd(conn->iu.ue_ctx, tuple, 0, 1); default: @@ -3798,6 +3802,23 @@ static int msc_vlr_set_ciph_mode(void *msc_conn_ref, return -ENOTSUP; } +void msc_rx_sec_mode_compl(struct gsm_subscriber_connection *conn) +{ + struct vlr_ciph_result vlr_res = {}; + + if (!conn || !conn->vsub) { + LOGP(DMM, LOGL_ERROR, + "Rx Security Mode Complete for invalid conn\n"); + return; + } + + DEBUGP(DMM, "<- SECURITY MODE COMPLETE %s\n", + vlr_subscr_name(conn->vsub)); + + vlr_res.cause = VLR_CIPH_COMPL; + vlr_subscr_rx_ciph_res(conn->vsub, &vlr_res); +} + /* VLR informs us that the subscriber data has somehow been modified */ static void msc_vlr_subscr_update(struct vlr_subscr *subscr) { diff --git a/openbsc/src/libmsc/iucs_ranap.c b/openbsc/src/libmsc/iucs_ranap.c index 7215b6c69..7990d9aaa 100644 --- a/openbsc/src/libmsc/iucs_ranap.c +++ b/openbsc/src/libmsc/iucs_ranap.c @@ -32,6 +32,7 @@ #include #include #include +#include /* To continue authorization after a Security Mode Complete */ int gsm0408_authorize(struct gsm_subscriber_connection *conn); @@ -54,8 +55,6 @@ static int iucs_rx_rab_assign(struct gsm_subscriber_connection *conn, int iucs_rx_sec_mode_compl(struct gsm_subscriber_connection *conn, RANAP_SecurityModeCompleteIEs_t *ies) { - struct vlr_ciph_result vlr_res = {}; - OSMO_ASSERT(conn->via_ran == RAN_UTRAN_IU); /* TODO evalute ies */ @@ -67,8 +66,7 @@ int iucs_rx_sec_mode_compl(struct gsm_subscriber_connection *conn, conn->iu.integrity_protection = INTEGRITY_PROTECTION_IK; - vlr_res.cause = VLR_CIPH_COMPL; - vlr_subscr_rx_ciph_res(conn->vsub, &vlr_res); + msc_rx_sec_mode_compl(conn); return 0; } diff --git a/openbsc/src/libmsc/msc_ifaces.c b/openbsc/src/libmsc/msc_ifaces.c index f3d11fbbc..1a7d878a2 100644 --- a/openbsc/src/libmsc/msc_ifaces.c +++ b/openbsc/src/libmsc/msc_ifaces.c @@ -76,7 +76,8 @@ int msc_gsm48_tx_mm_serv_ack(struct gsm_subscriber_connection *conn) gh->proto_discr = GSM48_PDISC_MM; gh->msg_type = GSM48_MT_MM_CM_SERV_ACC; - DEBUGP(DMM, "-> CM SERVICE ACCEPT\n"); + DEBUGP(DMM, "-> CM SERVICE ACCEPT %s\n", + vlr_subscr_name(conn->vsub)); return msc_tx_dtap(conn, msg); } -- cgit v1.2.3