From: Jiwan Kim Date: Wed, 15 Jul 2015 07:39:03 +0000 (+0900) Subject: Use key-manager API instead of secure-storage X-Git-Tag: accepted/tizen/mobile/20150715.084947^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Ftelephony%2Ftel-plugin-imc.git;a=commitdiff_plain;h=a92f3c26a8953e747568c89504353df01cb3b473 Use key-manager API instead of secure-storage Change-Id: Ia6bc432a406a754075afa3857b1b3145e1de6ed8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index f96ab0a..4d9fae7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,7 @@ SET(INCLUDEDIR "\${prefix}/include") # Set required packages INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED glib-2.0 tcore dlog db-util libxml-2.0 vconf secure-storage) +pkg_check_modules(pkgs REQUIRED glib-2.0 tcore dlog db-util libxml-2.0 vconf key-manager) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") diff --git a/packaging/tel-plugin-imc.spec b/packaging/tel-plugin-imc.spec index 594ff34..a85c8a9 100755 --- a/packaging/tel-plugin-imc.spec +++ b/packaging/tel-plugin-imc.spec @@ -1,6 +1,6 @@ %define major 0 %define minor 1 -%define patchlevel 86 +%define patchlevel 87 Name: tel-plugin-imc Version: %{major}.%{minor}.%{patchlevel} @@ -16,7 +16,7 @@ BuildRequires: pkgconfig(tcore) BuildRequires: pkgconfig(db-util) BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(secure-storage) +BuildRequires: pkgconfig(key-manager) Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig diff --git a/src/imc_sim.c b/src/imc_sim.c index 8f15453..a2cdf54 100644 --- a/src/imc_sim.c +++ b/src/imc_sim.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include "imc_common.h" #include "imc_sms.h" @@ -43,8 +43,7 @@ #define SIM_PIN_MAX_RETRY_COUNT 3 #define SMS_STATE_READY 1 -#define SIM_SSM_GROUP_ID "secure-storage::telephony_sim" -#define SIM_SSM_FILE_IMSI1 "imsi1" +#define SIM_STORE_ALIAS "telephony_sim_imsi1" #define SWAPBYTES16(x) \ { \ @@ -449,7 +448,6 @@ static enum tel_sim_access_result _decode_status_word(unsigned short status_word return rst; } -#if 0 static gboolean _sim_check_identity(CoreObject *co_sim, struct tel_sim_imsi *imsi) { gboolean is_changed = TRUE; @@ -457,6 +455,10 @@ static gboolean _sim_check_identity(CoreObject *co_sim, struct tel_sim_imsi *ims char *imsi_buf = NULL; int ret_val = 0; + char *passwd = NULL; + ckmc_raw_buffer_s *ckmc_buffer; + + dbg("Entry"); if (NULL == imsi) { err("imsi is NULL"); @@ -468,26 +470,34 @@ static gboolean _sim_check_identity(CoreObject *co_sim, struct tel_sim_imsi *ims memcpy(&new_imsi[6], imsi->msin, strlen(imsi->msin)); new_imsi[6 + strlen(imsi->msin)] = '\0'; - ret_val = ssa_get(SIM_SSM_FILE_IMSI1, &imsi_buf, SIM_SSM_GROUP_ID, NULL); - if (ret_val >= 0 && imsi_buf != NULL) { + ret_val = ckmc_get_data(SIM_STORE_ALIAS, passwd, &ckmc_buffer); + imsi_buf = (char*)ckmc_buffer->data; + if (ret_val == CKMC_ERROR_NONE && imsi_buf != NULL) { if (strncmp(imsi_buf, new_imsi, 16) == 0) is_changed = FALSE; - free(imsi_buf); + ckmc_buffer_free(ckmc_buffer); } if (is_changed) { + ckmc_policy_s policy; + ckmc_raw_buffer_s store_buffer; + + policy.password = passwd; + policy.extractable = true; + store_buffer.data = (unsigned char*)new_imsi; + store_buffer.size = strlen(new_imsi) + 1; + dbg("NEW SIM"); /* Update file */ - ret_val = ssa_put(SIM_SSM_FILE_IMSI1, new_imsi, strlen(new_imsi) + 1, SIM_SSM_GROUP_ID, NULL); - if (ret_val < 0) - err("ssa_put failed. ret_val=[%d]", ret_val); + ret_val = ckmc_save_data(SIM_STORE_ALIAS, store_buffer, policy); + if (ret_val != CKMC_ERROR_NONE) + err("ckmc_save_data failed. ret_val=[%d]", ret_val); } /* Update sim identification */ tcore_sim_set_identification(co_sim, is_changed); return TRUE; } -#endif static TReturn __sim_update_file(CoreObject *o, UserRequest *ur, enum tel_sim_file_id ef, char *encoded_data, unsigned int encoded_len, int rec_index) @@ -1772,7 +1782,7 @@ static void _response_get_file_data(TcorePending *p, int data_len, const void *d if (dr == FALSE) { err("IMSI decoding failed"); } else { - //_sim_check_identity(o, imsi); + _sim_check_identity(o, imsi); tcore_sim_set_imsi(o, imsi); }