int masp_ccci_signfmt_verify_file(char *file_path, unsigned int *data_offset, unsigned int *data_sec_len) { unsigned int ret = SEC_OK; SEC_IMG_HEADER img_hdr; *data_offset = 0; *data_sec_len = 0; ret = sec_signfmt_verify_file(file_path, &img_hdr, data_offset, data_sec_len); /* image is not signed */ if( ret == ERR_SIGN_FORMAT_MAGIC_WRONG ) { if((sec_modem_auth_enabled() == 0) && (sec_schip_enabled() == 0)) { SMSG(true,"[%s] image has no sec header\n",MOD); ret = SEC_OK; goto _out; } else { SMSG(true,"[%s] (img not signed) sec_modem_auth_enabled() = %d\n",MOD,sec_modem_auth_enabled()); SMSG(true,"[%s] (img not signed) sec_schip_enabled() = %d\n",MOD,sec_schip_enabled()); ret = ERR_SIGN_FORMAT_MAGIC_WRONG; goto _out; } } if( ret != SEC_OK ) { SMSG(true,"[%s] file '%s' verify failed\n",MOD,file_path); goto _out; } SMSG(true,"[%s] data_offset is %d\n",MOD,*data_offset); SMSG(true,"[%s] data_sec_len is %d\n",MOD,*data_sec_len); _out: return ret; }
void sec_update_lks(unsigned char tr, unsigned char dn, unsigned char fb_ulk) { if(fb_ulk)//FB { lks = 0; } else if(sec_schip_enabled())//SC { lks = 1; } else if(!sec_boot_enabled())//NSC { lks = 0; } else if(0 == tr && 2 == dn)//SWSEC { lks = 0; } else//SWSEC { lks = 1; } }
static int sec_proc_show(struct seq_file *m, void *v) { seq_printf(m, "%d\n", sec_schip_enabled()); return 0; }