Don't delete certinfo when delete manifest info 94/78594/1
authorSangyoon Jang <s89.jang@samsung.com>
Tue, 5 Jul 2016 07:00:30 +0000 (16:00 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Tue, 5 Jul 2016 11:48:30 +0000 (20:48 +0900)
Cert info should be deleted by installer explicitly.
But, for consistency, delete certinfo when calling old(deprecated) apis.

Change-Id: Ieca6b88d7ba3d78a719f2ef1fceb39c381d8cbc9
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
parser/pkgmgr_parser.c
parser/pkgmgr_parser_db.c

index 03066e6..b9220fc 100644 (file)
@@ -2180,6 +2180,13 @@ DEPRECATED API int pkgmgr_parser_parse_manifest_for_upgrade(const char *manifest
                mfx->csc_path = strdup(csc_path);
        }
 
+       /*Delete from cert table*/
+       ret = pkgmgrinfo_delete_certinfo(mfx->package);
+       if (ret) {
+               _LOGD("Cert Info  DB Delete Failed\n");
+               return -1;
+       }
+
        ret = pkgmgr_parser_update_manifest_info_in_db(mfx);
        retvm_if(ret == PMINFO_R_ERROR, PMINFO_R_ERROR, "DB Insert failed");
 
@@ -2249,6 +2256,13 @@ DEPRECATED API int pkgmgr_parser_parse_usr_manifest_for_upgrade(const char *mani
                mfx->csc_path = strdup(csc_path);
        }
 
+       /*Delete from cert table*/
+       ret = pkgmgrinfo_delete_certinfo(mfx->package);
+       if (ret) {
+               _LOGD("Cert Info  DB Delete Failed\n");
+               return -1;
+       }
+
        ret = pkgmgr_parser_update_manifest_info_in_usr_db(mfx, uid);
        retvm_if(ret == PMINFO_R_ERROR, PMINFO_R_ERROR, "DB Insert failed");
        _LOGD("DB Update Success\n");
@@ -2317,6 +2331,13 @@ API int pkgmgr_parser_parse_manifest_for_uninstallation(const char *manifest, ch
        if (ret == -1)
                _LOGD("Creating category parser failed\n");
 
+       /*Delete from cert table*/
+       ret = pkgmgrinfo_delete_certinfo(mfx->package);
+       if (ret) {
+               _LOGD("Cert Info  DB Delete Failed\n");
+               return -1;
+       }
+
        ret = pkgmgr_parser_delete_manifest_info_from_db(mfx);
        if (ret == -1)
                _LOGD("DB Delete failed\n");
@@ -2354,6 +2375,13 @@ API int pkgmgr_parser_parse_usr_manifest_for_uninstallation(const char *manifest
        if (ret == -1)
                _LOGD("Creating category parser failed\n");
 
+       /*Delete from cert table*/
+       ret = pkgmgrinfo_delete_certinfo(mfx->package);
+       if (ret) {
+               _LOGD("Cert Info  DB Delete Failed\n");
+               return -1;
+       }
+
        ret = pkgmgr_parser_delete_manifest_info_from_usr_db(mfx, uid);
        if (ret == -1)
                _LOGD("DB Delete failed\n");
index 72dbc5b..2e8da26 100644 (file)
@@ -2126,12 +2126,6 @@ static int __delete_manifest_info_from_db(manifest_x *mfx, uid_t uid)
        int ret = -1;
        GList *tmp;
        application_x *app;
-       /*Delete from cert table*/
-       ret = pkgmgrinfo_delete_certinfo(mfx->package);
-       if (ret) {
-               _LOGD("Cert Info  DB Delete Failed\n");
-               return -1;
-       }
 
        /*Delete from Package Info DB*/
        sqlite3_snprintf(MAX_QUERY_LEN, query,