- if (exist == 0)
- *cert_value = certinfo->auth_im_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select author_im_cert from package_cert_info " \
- "where package='%s'", certinfo->auth_im_cert);
- free(certinfo->auth_im_cert);
- certinfo->auth_im_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->auth_im_cert;
- }
- break;
- case PMINFO_AUTHOR_ROOT_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->auth_root_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->auth_root_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select author_root_cert from package_cert_info " \
- "where package='%s'", certinfo->auth_root_cert);
- free(certinfo->auth_root_cert);
- certinfo->auth_root_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->auth_root_cert;
- }
- break;
- case PMINFO_DISTRIBUTOR_SIGNER_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->dist_signer_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->dist_signer_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select dist_signer_cert from package_cert_info " \
- "where package='%s'", certinfo->dist_signer_cert);
- free(certinfo->dist_signer_cert);
- certinfo->dist_signer_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->dist_signer_cert;
- }
- break;
- case PMINFO_DISTRIBUTOR_INTERMEDIATE_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->dist_im_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->dist_im_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select dist_im_cert from package_cert_info " \
- "where package='%s'", certinfo->dist_im_cert);
- free(certinfo->dist_im_cert);
- certinfo->dist_im_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->dist_im_cert;
- }
- break;
- case PMINFO_DISTRIBUTOR_ROOT_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->dist_root_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->dist_root_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select dist_root_cert from package_cert_info " \
- "where package='%s'", certinfo->dist_root_cert);
- free(certinfo->dist_root_cert);
- certinfo->dist_root_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->dist_root_cert;
- }
- break;
- case PMINFO_DISTRIBUTOR2_SIGNER_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->dist2_signer_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->dist2_signer_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select dist2_signer_cert from package_cert_info " \
- "where package='%s'", certinfo->dist2_signer_cert);
- free(certinfo->dist2_signer_cert);
- certinfo->dist2_signer_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->dist2_signer_cert;
- }
- break;
- case PMINFO_DISTRIBUTOR2_INTERMEDIATE_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->dist2_im_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->dist2_im_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select dist2_im_cert from package_cert_info " \
- "where package='%s'", certinfo->dist2_im_cert);
- free(certinfo->dist2_im_cert);
- certinfo->dist2_im_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->dist2_im_cert;
- }
- break;
- case PMINFO_DISTRIBUTOR2_ROOT_CERT:
- snprintf(query, MAX_QUERY_LEN, "select exists(select * from package_cert_info where package='%s')", certinfo->dist2_root_cert);
- if (SQLITE_OK !=
- sqlite3_exec(cert_db, query, __validate_cb, (void *)&exist, &error_message)) {
- _LOGE("Don't execute query = %s error message = %s\n", query,
- error_message);
- sqlite3_free(error_message);
- return PMINFO_R_ERROR;
- }
- if (exist == 0)
- *cert_value = certinfo->dist2_root_cert;
- else {
- memset(query, '\0', MAX_QUERY_LEN);
- snprintf(query, MAX_QUERY_LEN, "select dist2_root_cert from package_cert_info " \
- "where package='%s'", certinfo->dist2_root_cert);
- free(certinfo->dist2_root_cert);
- certinfo->dist2_root_cert = NULL;
- ret = __exec_certinfo_query(query, (void *)certinfo);
- if (ret == -1) {
- _LOGE("Cert Info DB Information retrieval failed\n");
- return PMINFO_R_ERROR;
- }
- *cert_value = certinfo->dist2_root_cert;
- }
- break;