aboutsummaryrefslogtreecommitdiffstats
path: root/src/sim
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-03-21 13:40:28 +0100
committerHarald Welte <laforge@osmocom.org>2020-03-21 16:31:17 +0100
commit58d173ade11d9d5fa7865edc4277450ff5794f52 (patch)
tree45a1cd8cde4c4e81a03458266992c650f90fdfec /src/sim
parent429adecfd8e817b1d3d4eb9590ee0e351696bad9 (diff)
osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards
an USIM application can very well exist on a UICC without supporting classic DF.GSM access. However, most commonly, both are found on cards. Change-Id: I6180a3f81a7d3006e8ece4302c2433db2588bfaa
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/card_fs_uicc.c11
-rw-r--r--src/sim/card_fs_usim.c9
2 files changed, 10 insertions, 10 deletions
diff --git a/src/sim/card_fs_uicc.c b/src/sim/card_fs_uicc.c
index c73fc9a2..5dcaaa12 100644
--- a/src/sim/card_fs_uicc.c
+++ b/src/sim/card_fs_uicc.c
@@ -231,7 +231,7 @@ const struct tlv_definition ts102221_fcp_tlv_def = {
/* Annex E - TS 101 220 */
static const uint8_t __attribute__((__unused__)) adf_uicc_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x01 };
-struct osim_card_profile *osim_cprof_uicc(void *ctx)
+struct osim_card_profile *osim_cprof_uicc(void *ctx, bool have_df_gsm)
{
struct osim_card_profile *cprof;
struct osim_file_desc *mf;
@@ -255,5 +255,14 @@ struct osim_card_profile *osim_cprof_uicc(void *ctx)
return NULL;
}
+ if (have_df_gsm) {
+ /* DF.GSM as sub-directory of MF */
+ rc = osim_int_cprof_add_gsm(mf);
+ if (rc != 0) {
+ talloc_free(cprof);
+ return NULL;
+ }
+ }
+
return cprof;
}
diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c
index 97f712ac..d5d27364 100644
--- a/src/sim/card_fs_usim.c
+++ b/src/sim/card_fs_usim.c
@@ -345,14 +345,5 @@ struct osim_card_app_profile *osim_aprof_usim(void *ctx)
/* OMA BCAST Smart Card Profile */
add_df_with_ef(uadf, 0x5F80, "DF.BCAST", NULL, 0);
-#if 0
- /* DF.GSM as sub-directory of MF */
- rc = osim_int_cprof_add_gsm(mf);
- if (rc != 0) {
- talloc_free(cprof);
- return NULL;
- }
-#endif
-
return aprof;
}