This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/26107 ) Change subject: utran: use new UTRAN encryption enum ...................................................................... utran: use new UTRAN encryption enum Depends: libosmocore.git I4b9baff2c2fbd0e339fc769cc69cce58d3a72cdf Change-Id: If6978d7ed1a78facc2591cfc30fda2721629bffa --- M src/libmsc/gsm_04_08.c M src/libmsc/msc_net_init.c M src/libmsc/ran_msg_iu.c M tests/msc_vlr/msc_vlr_test_umts_authen.c M tests/msc_vlr/msc_vlr_tests.h 5 files changed, 17 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index fc1b2e2..075ef0f 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -51,6 +51,7 @@ #include <osmocom/core/fsm.h> #include <osmocom/gsm/tlv.h> #include <osmocom/crypt/auth.h> +#include <osmocom/crypt/utran_cipher.h> #include <osmocom/msc/msub.h> #include <osmocom/msc/msc_roles.h> @@ -414,7 +415,7 @@ net->vlr, msc_a, vlr_lu_type, tmsi, imsi, &old_lai, &msc_a->via_cell.lai, is_utran || net->authentication_required, - is_utran ? net->uea_encryption_mask > 0x01 : net->a5_encryption_mask > 0x01, + is_utran ? net->uea_encryption_mask > (1 << OSMO_UTRAN_UEA0) : net->a5_encryption_mask > 0x01, lu->key_seq, osmo_gsm48_classmark1_is_r99(&lu->classmark1), is_utran, @@ -805,7 +806,7 @@ req->cm_service_type, &mi, &msc_a->via_cell.lai, is_utran || net->authentication_required, - is_utran ? net->uea_encryption_mask > 0x01 : net->a5_encryption_mask > 0x01, + is_utran ? net->uea_encryption_mask > (1 << OSMO_UTRAN_UEA0) : net->a5_encryption_mask > 0x01, req->cipher_key_seq, osmo_gsm48_classmark2_is_r99(cm2, cm2_len), is_utran); @@ -931,7 +932,7 @@ VLR_PR_ARQ_T_CM_RE_ESTABLISH_REQ, 0, &mi, &msc_a->via_cell.lai, is_utran || net->authentication_required, - is_utran ? net->uea_encryption_mask > 0x01 : net->a5_encryption_mask > 0x01, + is_utran ? net->uea_encryption_mask > (1 << OSMO_UTRAN_UEA0) : net->a5_encryption_mask > 0x01, req->cipher_key_seq, osmo_gsm48_classmark2_is_r99(cm2, cm2_len), is_utran); @@ -1293,7 +1294,7 @@ net->vlr, msc_a, VLR_PR_ARQ_T_PAGING_RESP, 0, &mi, &msc_a->via_cell.lai, is_utran || net->authentication_required, - is_utran ? net->uea_encryption_mask > 0x01 : net->a5_encryption_mask > 0x01, + is_utran ? net->uea_encryption_mask > (1 << OSMO_UTRAN_UEA0) : net->a5_encryption_mask > 0x01, pr->key_seq, osmo_gsm48_classmark2_is_r99(cm2, classmark2_len), is_utran); diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index d53156b..af23fe5 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -24,6 +24,7 @@ #include "config.h" #include <osmocom/core/tdef.h> +#include <osmocom/crypt/utran_cipher.h> #include <osmocom/msc/gsm_data.h> #include <osmocom/msc/vlr.h> @@ -68,7 +69,7 @@ /* Permit a compile-time default of A5/3 and A5/1 */ net->a5_encryption_mask = (1 << 3) | (1 << 1); /* Permit a compile-time default of UEA2 and UEA1 */ - net->uea_encryption_mask = (1 << 2) | (1 << 1); + net->uea_encryption_mask = (1 << OSMO_UTRAN_UEA2) | (1 << OSMO_UTRAN_UEA1); net->mncc_guard_timeout = 180; net->ncss_guard_timeout = 30; diff --git a/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index 81147cf..8ffdd93 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -27,6 +27,7 @@ #include <osmocom/core/prim.h> #include <osmocom/core/byteswap.h> #include <osmocom/crypt/auth.h> +#include <osmocom/crypt/utran_cipher.h> #include <osmocom/gsm/gsm48.h> #include <osmocom/ranap/ranap_common_cn.h> @@ -377,10 +378,10 @@ LOG_RAN_IU_ENC(caller_fi, LOGL_DEBUG, "Tx RANAP SECURITY MODE COMMAND to RNC, IK=%s, CK=%s\n", osmo_hexdump_nospc(cm->vec->ik, 16), - cm->utran.uea_encryption_mask > 0x01 ? osmo_hexdump_nospc(cm->vec->ck, 16) : "NONE"); + cm->utran.uea_encryption_mask > (1 << OSMO_UTRAN_UEA0) ? osmo_hexdump_nospc(cm->vec->ck, 16) : "NONE"); /* TODO: Do we need to check if the UE supports all of the algorithms and build an intersection like * in the case of A5? */ - return ranap_new_msg_sec_mod_cmd2(cm->vec->ik, cm->utran.uea_encryption_mask > 0x01 ? cm->vec->ck : NULL, + return ranap_new_msg_sec_mod_cmd2(cm->vec->ik, cm->utran.uea_encryption_mask > (1 << OSMO_UTRAN_UEA0) ? cm->vec->ck : NULL, RANAP_KeyStatus_new, 0x06, cm->utran.uea_encryption_mask); } diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.c b/tests/msc_vlr/msc_vlr_test_umts_authen.c index 655183b..f132cdf 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.c +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.c @@ -50,7 +50,7 @@ "d3d36ff71c949e83c22072799e9687c5ec32a81d96afcbf4b4fb" "0c7ac3e9e9b7db05"; bool encryption = (via_ran == OSMO_RAT_GERAN_A && net->a5_encryption_mask > 0x1) - || (via_ran == OSMO_RAT_UTRAN_IU && net->uea_encryption_mask > 0x1); + || (via_ran == OSMO_RAT_UTRAN_IU && net->uea_encryption_mask > (1 << OSMO_UTRAN_UEA0)); net->authentication_required = true; net->vlr->cfg.assign_tmsi = true; @@ -333,7 +333,7 @@ static void test_umts_authen_utran() { comment_start(); - net->uea_encryption_mask = 0x01; + net->uea_encryption_mask = (1 << OSMO_UTRAN_UEA0); _test_umts_authen(OSMO_RAT_UTRAN_IU); comment_end(); } @@ -341,7 +341,7 @@ static void test_umts_auth_ciph_utran() { comment_start(); - net->uea_encryption_mask = 0x06; + net->uea_encryption_mask = (1 << OSMO_UTRAN_UEA1) | (1 << OSMO_UTRAN_UEA2); _test_umts_authen(OSMO_RAT_UTRAN_IU); comment_end(); } @@ -361,7 +361,7 @@ struct vlr_subscr *vsub; const char *imsi = "901700000010650"; bool encryption = (via_ran == OSMO_RAT_GERAN_A && net->a5_encryption_mask > 0x1) - || (via_ran == OSMO_RAT_UTRAN_IU && net->uea_encryption_mask > 0x1); + || (via_ran == OSMO_RAT_UTRAN_IU && net->uea_encryption_mask > (1 << OSMO_UTRAN_UEA0)); net->authentication_required = true; net->vlr->cfg.assign_tmsi = true; @@ -588,7 +588,7 @@ static void test_umts_authen_resync_utran() { comment_start(); - net->uea_encryption_mask = 0x01; + net->uea_encryption_mask = (1 << OSMO_UTRAN_UEA0); _test_umts_authen_resync(OSMO_RAT_UTRAN_IU); comment_end(); } @@ -596,7 +596,7 @@ static void test_umts_auth_ciph_resync_utran() { comment_start(); - net->uea_encryption_mask = 0x06; + net->uea_encryption_mask = (1 << OSMO_UTRAN_UEA1) | (1 << OSMO_UTRAN_UEA2); _test_umts_authen_resync(OSMO_RAT_UTRAN_IU); comment_end(); } diff --git a/tests/msc_vlr/msc_vlr_tests.h b/tests/msc_vlr/msc_vlr_tests.h index a2b2f22..1f83013 100644 --- a/tests/msc_vlr/msc_vlr_tests.h +++ b/tests/msc_vlr/msc_vlr_tests.h @@ -26,6 +26,7 @@ #include <stdbool.h> #include <stdio.h> +#include <osmocom/crypt/utran_cipher.h> #include <osmocom/msc/gsm_data.h> #include <osmocom/msc/vlr.h> #include <osmocom/msc/msub.h> -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/26107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If6978d7ed1a78facc2591cfc30fda2721629bffa Gerrit-Change-Number: 26107 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus <lynxis at fe80.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211117/3701e3c8/attachment.htm>