Use key-manager API instead of secure-storage 06/43906/1 accepted/tizen/mobile/20150715.084947 accepted/tizen/tv/20150715.084955 accepted/tizen/wearable/20150715.085039 submit/tizen/20150715.074429
authorJiwan Kim <ji-wan.kim@samsung.com>
Wed, 15 Jul 2015 07:39:03 +0000 (16:39 +0900)
committerJiwan Kim <ji-wan.kim@samsung.com>
Wed, 15 Jul 2015 07:39:03 +0000 (16:39 +0900)
Change-Id: Ia6bc432a406a754075afa3857b1b3145e1de6ed8

CMakeLists.txt
packaging/tel-plugin-imc.spec
src/imc_sim.c

index f96ab0a..4d9fae7 100644 (file)
@@ -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}")
index 594ff34..a85c8a9 100755 (executable)
@@ -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
 
index 8f15453..a2cdf54 100644 (file)
@@ -33,7 +33,7 @@
 #include <user_request.h>
 #include <server.h>
 #include <at.h>
-#include <ss_manager.h>
+#include <ckmc/ckmc-manager.h>
 
 #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);
                                }