mirror of https://gerrit.osmocom.org/libosmocore
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
This commit is contained in:
parent
429adecfd8
commit
58d173ade1
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -341,7 +341,7 @@ static int osim_uicc_scan_apps(struct osim_chan_hdl *st)
|
|||
|
||||
|
||||
extern struct osim_card_profile *osim_cprof_sim(void *ctx);
|
||||
extern struct osim_card_profile *osim_cprof_uicc(void *ctx);
|
||||
extern struct osim_card_profile *osim_cprof_uicc(void *ctx, bool have_df_gsm);
|
||||
|
||||
static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid)
|
||||
{
|
||||
|
@ -652,7 +652,7 @@ int main(int argc, char **argv)
|
|||
|
||||
rc = osim_uicc_scan_apps(chan);
|
||||
if (rc >= 0) {
|
||||
chan->card->prof = osim_cprof_uicc(chan->card);
|
||||
chan->card->prof = osim_cprof_uicc(chan->card, true);
|
||||
chan->cwd = chan->card->prof->mf;
|
||||
} else if (rc == -0x6e00) {
|
||||
/* CLA not supported: must be classic SIM, not USIM */
|
||||
|
|
Loading…
Reference in New Issue