diff options
author | Jeevaka Badrappan <jeevaka.badrappan@elektrobit.com> | 2010-11-29 08:57:39 -0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-11-29 14:57:04 -0600 |
commit | 5154d5e38de1c44856da34377b63e590ad69b7d6 (patch) | |
tree | a69c742c60993f15a1b8fbe8e9e7067797f4d61e /src/sim.c | |
parent | 4a4e664062e8bc824c2c568ab6743ae2e0679b2f (diff) | |
download | ofono-5154d5e38de1c44856da34377b63e590ad69b7d6.tar.bz2 |
sim: be more paranoid for triggering EFest read
Diffstat (limited to 'src/sim.c')
-rw-r--r-- | src/sim.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -1441,11 +1441,18 @@ static void sim_efust_read_cb(int ok, int length, int record, /* * Check whether the SIM provides EFest file - * According to 31.102, section 4.2.24 and 4.2.44 the EFest file - * must be present if EFfdn or EFbdn are present + * According to 3GPP TS 31.102 section 4.2.47, EFest file + * shall be present if FDN or BDN or EST is available + * Lets be paranoid and check for the special cases as well + * where EST is not available(FDN or BDN available), but EFest + * is present */ if (sim_ust_is_available(sim->efust, sim->efust_length, - SIM_UST_SERVICE_ENABLED_SERVICE_TABLE)) { + SIM_UST_SERVICE_ENABLED_SERVICE_TABLE) || + sim_ust_is_available(sim->efust, sim->efust_length, + SIM_UST_SERVICE_FDN) || + sim_ust_is_available(sim->efust, sim->efust_length, + SIM_UST_SERVICE_BDN)) { ofono_sim_read(sim, SIM_EFEST_FILEID, OFONO_SIM_FILE_STRUCTURE_TRANSPARENT, sim_efest_read_cb, sim); |