view simtool/cmdtab.c @ 99:97ba63d9361a

scripts/fcsim1-sst: turn off STK & OTA services In the initial unprogrammed state of the cards from Grcard, SST has services 25 through 29 set to allocated and activated. However, these cards appear to not actually support OTA, ENVELOPE commands do nothing (just return SW 9000), and they were never observed issuing any proactive SIM commands, even after a feature-generous TERMINAL PROFILE. Therefore, let's list these STK & OTA services as allocated, but not activated in our FCSIM1 SST.
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 05 May 2021 04:26:07 +0000
parents 9f1cc3174e45
children 1888d88478c4
line wrap: on
line source

/*
 * This module contains the command table for fc-simtool.
 */

#include "cmdtab.h"

extern int cmd_a38();
extern int cmd_apdu();
extern int cmd_apdu_checksw();
extern int cmd_atr();
extern int cmd_bfsearch();
extern int cmd_bfsearch_full();
extern int cmd_cd();
extern int cmd_change_chv();
extern int cmd_disable_chv1();
extern int cmd_disable_chv1_rpt();
extern int cmd_enable_chv1();
extern int cmd_enable_chv1_rpt();
extern int cmd_envelope();
extern int cmd_envelope_imm();
extern int cmd_erase_file();
extern int cmd_exec();
extern int cmd_exit();
extern int cmd_fetch();
extern int cmd_fix_sysmo_msisdn();
extern int cmd_fplmn_dump();
extern int cmd_fplmn_erase();
extern int cmd_fplmn_erase_all();
extern int cmd_fplmn_write();
extern int cmd_fplmn_write_list();
extern int cmd_get_response();
extern int cmd_grcard1_set_adm();
extern int cmd_grcard1_set_ki();
extern int cmd_grcard1_set_pin();
extern int cmd_grcard2_set_adm5();
extern int cmd_grcard2_set_adm5_hex();
extern int cmd_grcard2_set_comp128();
extern int cmd_grcard2_set_ki();
extern int cmd_grcard2_set_pin();
extern int cmd_grcard2_set_puk();
extern int cmd_grcard2_set_super();
extern int cmd_grcard2_set_super_hex();
extern int cmd_iccid();
extern int cmd_imsi();
extern int cmd_imsi_raw();
extern int cmd_inval_adn();
extern int cmd_lnd_dump();
extern int cmd_lnd_erase();
extern int cmd_lnd_restore();
extern int cmd_lnd_write();
extern int cmd_opl_dump();
extern int cmd_opl_erase();
extern int cmd_opl_write();
extern int cmd_pb_dump();
extern int cmd_pb_dump_rec();
extern int cmd_pb_erase();
extern int cmd_pb_erase_one();
extern int cmd_pb_erase_range();
extern int cmd_pb_restore();
extern int cmd_pb_update();
extern int cmd_pb_update_imm();
extern int cmd_pb_update_imm_hex();
extern int cmd_plmnsel_dump();
extern int cmd_plmnsel_erase();
extern int cmd_plmnsel_erase_all();
extern int cmd_plmnsel_write();
extern int cmd_plmnsel_write_list();
extern int cmd_pnn_dump();
extern int cmd_pnn_erase();
extern int cmd_pnn_write();
extern int cmd_readbin();
extern int cmd_readef();
extern int cmd_readrec();
extern int cmd_rehab_adn();
extern int cmd_rehab_imsi();
extern int cmd_rehab_loci();
extern int cmd_restore_file();
extern int cmd_savebin();
extern int cmd_save_sms_bin();
extern int cmd_select();
extern int cmd_sim_resp();
extern int cmd_sms_erase_all();
extern int cmd_sms_erase_one();
extern int cmd_sms_erase_range();
extern int cmd_smsp_dump();
extern int cmd_smsp_erase_all();
extern int cmd_smsp_erase_one();
extern int cmd_smsp_erase_range();
extern int cmd_smsp_restore();
extern int cmd_smsp_set();
extern int cmd_smsp_set_tag();
extern int cmd_spn();
extern int cmd_sst();
extern int cmd_sws_auth_adm1();
extern int cmd_sws_auth_pin1();
extern int cmd_sws_auth_pin2();
extern int cmd_sws_lookup();
extern int cmd_sws_pin1_disable();
extern int cmd_sws_pin1_enable();
extern int cmd_telecom_sum();
extern int cmd_terminal_profile();
extern int cmd_terminal_resp();
extern int cmd_uicc_dir();
extern int cmd_unblock_chv();
extern int cmd_update_bin();
extern int cmd_update_bin_imm();
extern int cmd_update_rec();
extern int cmd_update_rec_fill();
extern int cmd_update_rec_imm();
extern int cmd_user_sum();
extern int cmd_verify_chv();
extern int cmd_verify_ext();
extern int cmd_verify_hex();
extern int cmd_verify_sjs1_adm1();
extern int cmd_write_acc();
extern int cmd_write_iccid();
extern int cmd_write_iccid_sh18();
extern int cmd_write_iccid_sh19();
extern int cmd_write_imsi();
extern int cmd_write_imsi_sh();
extern int cmd_write_spn();
extern int cmd_write_sst();

extern int current_ef_inval();
extern int current_ef_rehab();

struct cmdtab cmdtab[] = {
	{"a38", 1, 1, 1, cmd_a38},
	{"apdu", 1, 1, 0, cmd_apdu},
	{"apdu-checksw", 2, 2, 0, cmd_apdu_checksw},
	{"atr", 0, 0, 0, cmd_atr},
	{"bfsearch", 1, 18, 1, cmd_bfsearch},
	{"bfsearch-full", 0, 0, 1, cmd_bfsearch_full},
	{"bfsearch-mf", 0, 0, 1, cmd_bfsearch_full},
	{"cd", 1, 1, 0, cmd_cd},
	{"change-chv1", 2, 2, 0, cmd_change_chv},
	{"change-chv2", 2, 2, 0, cmd_change_chv},
	{"change-pin1", 2, 2, 0, cmd_change_chv},
	{"change-pin2", 2, 2, 0, cmd_change_chv},
	{"cur-ef-inval", 0, 0, 0, current_ef_inval},
	{"cur-ef-rehab", 0, 0, 0, current_ef_rehab},
	{"disable-chv1", 1, 1, 0, cmd_disable_chv1},
	{"disable-chv1-rpt", 1, 1, 0, cmd_disable_chv1_rpt},
	{"disable-pin1", 1, 1, 0, cmd_disable_chv1},
	{"disable-pin1-rpt", 1, 1, 0, cmd_disable_chv1_rpt},
	{"enable-chv1", 1, 1, 0, cmd_enable_chv1},
	{"enable-chv1-rpt", 1, 1, 0, cmd_enable_chv1_rpt},
	{"enable-pin1", 1, 1, 0, cmd_enable_chv1},
	{"enable-pin1-rpt", 1, 1, 0, cmd_enable_chv1_rpt},
	{"envelope", 1, 1, 0, cmd_envelope},
	{"envelope-imm", 1, 1, 0, cmd_envelope_imm},
	{"erase-file", 1, 2, 0, cmd_erase_file},
	{"exec", 1, 1, 0, cmd_exec},
	{"exit", 0, 1, 0, cmd_exit},
	{"fetch", 1, 1, 1, cmd_fetch},
	{"fix-sysmo-msisdn", 0, 0, 0, cmd_fix_sysmo_msisdn},
	{"fplmn-dump", 0, 0, 1, cmd_fplmn_dump},
	{"fplmn-erase", 1, 2, 0, cmd_fplmn_erase},
	{"fplmn-erase-all", 0, 0, 0, cmd_fplmn_erase_all},
	{"fplmn-write", 2, 2, 0, cmd_fplmn_write},
	{"fplmn-write-list", 1, 1, 0, cmd_fplmn_write_list},
	{"get-response", 1, 1, 1, cmd_get_response},
	{"grcard1-set-adm1", 2, 2, 0, cmd_grcard1_set_adm},
	{"grcard1-set-adm2", 2, 2, 0, cmd_grcard1_set_adm},
	{"grcard1-set-ki", 1, 1, 0, cmd_grcard1_set_ki},
	{"grcard1-set-pin1", 2, 2, 0, cmd_grcard1_set_pin},
	{"grcard1-set-pin2", 2, 2, 0, cmd_grcard1_set_pin},
	{"grcard2-set-adm5", 1, 1, 0, cmd_grcard2_set_adm5},
	{"grcard2-set-adm5-hex", 1, 1, 0, cmd_grcard2_set_adm5_hex},
	{"grcard2-set-comp128", 1, 2, 0, cmd_grcard2_set_comp128},
	{"grcard2-set-ki", 1, 1, 0, cmd_grcard2_set_ki},
	{"grcard2-set-pin1", 1, 1, 0, cmd_grcard2_set_pin},
	{"grcard2-set-pin2", 1, 1, 0, cmd_grcard2_set_pin},
	{"grcard2-set-puk1", 1, 1, 0, cmd_grcard2_set_puk},
	{"grcard2-set-puk2", 1, 1, 0, cmd_grcard2_set_puk},
	{"grcard2-set-super", 1, 1, 0, cmd_grcard2_set_super},
	{"grcard2-set-super-hex", 1, 1, 0, cmd_grcard2_set_super_hex},
	{"iccid", 0, 0, 1, cmd_iccid},
	{"imsi", 0, 0, 1, cmd_imsi},
	{"imsi-raw", 0, 0, 1, cmd_imsi_raw},
	{"inval-adn", 0, 0, 0, cmd_inval_adn},
	{"lnd-dump", 0, 0, 1, cmd_lnd_dump},
	{"lnd-erase", 0, 0, 0, cmd_lnd_erase},
	{"lnd-restore", 1, 1, 0, cmd_lnd_restore},
	{"lnd-write", 1, 2, 0, cmd_lnd_write},
	{"opl-dump", 0, 0, 1, cmd_opl_dump},
	{"opl-erase", 1, 2, 0, cmd_opl_erase},
	{"opl-write", 5, 5, 0, cmd_opl_write},
	{"pb-dump", 1, 1, 1, cmd_pb_dump},
	{"pb-dump-rec", 2, 3, 1, cmd_pb_dump_rec},
	{"pb-erase", 1, 1, 0, cmd_pb_erase},
	{"pb-erase-one", 2, 2, 0, cmd_pb_erase_one},
	{"pb-erase-range", 3, 3, 0, cmd_pb_erase_range},
	{"pb-restore", 2, 2, 0, cmd_pb_restore},
	{"pb-update", 2, 2, 0, cmd_pb_update},
	{"pb-update-imm", 3, 4, 0, cmd_pb_update_imm},
	{"pb-update-imm-hex", 4, 4, 0, cmd_pb_update_imm_hex},
	{"plmnsel-dump", 0, 0, 1, cmd_plmnsel_dump},
	{"plmnsel-erase", 1, 2, 0, cmd_plmnsel_erase},
	{"plmnsel-erase-all", 0, 0, 0, cmd_plmnsel_erase_all},
	{"plmnsel-write", 2, 2, 0, cmd_plmnsel_write},
	{"plmnsel-write-list", 1, 1, 0, cmd_plmnsel_write_list},
	{"pnn-dump", 0, 0, 1, cmd_pnn_dump},
	{"pnn-erase", 1, 2, 0, cmd_pnn_erase},
	{"pnn-write", 2, 3, 0, cmd_pnn_write},
	{"quit", 0, 1, 0, cmd_exit},
	{"readbin", 2, 2, 1, cmd_readbin},
	{"readef", 1, 1, 1, cmd_readef},
	{"readrec", 1, 2, 1, cmd_readrec},
	{"rehab-adn", 0, 0, 0, cmd_rehab_adn},
	{"rehab-imsi", 0, 0, 0, cmd_rehab_imsi},
	{"rehab-loci", 0, 0, 0, cmd_rehab_loci},
	{"restore-file", 2, 2, 0, cmd_restore_file},
	{"savebin", 2, 2, 0, cmd_savebin},
	{"save-sms-bin", 1, 1, 0, cmd_save_sms_bin},
	{"select", 1, 1, 1, cmd_select},
	{"sim-resp", 0, 0, 1, cmd_sim_resp},
	{"sms-erase-all", 0, 0, 0, cmd_sms_erase_all},
	{"sms-erase-one", 1, 1, 0, cmd_sms_erase_one},
	{"sms-erase-range", 2, 2, 0, cmd_sms_erase_range},
	{"smsp-dump", 0, 0, 1, cmd_smsp_dump},
	{"smsp-erase-all", 0, 0, 0, cmd_smsp_erase_all},
	{"smsp-erase-one", 1, 1, 0, cmd_smsp_erase_one},
	{"smsp-erase-range", 2, 2, 0, cmd_smsp_erase_range},
	{"smsp-restore", 1, 1, 0, cmd_smsp_restore},
	{"smsp-set", 2, 6, 0, cmd_smsp_set},
	{"smsp-set-tag", 3, 7, 0, cmd_smsp_set_tag},
	{"spn", 0, 0, 1, cmd_spn},
	{"sst", 0, 0, 1, cmd_sst},
	{"sws-auth-adm1", 0, 0, 0, cmd_sws_auth_adm1},
	{"sws-auth-pin1", 0, 0, 0, cmd_sws_auth_pin1},
	{"sws-auth-pin2", 0, 0, 0, cmd_sws_auth_pin2},
	{"sws-lookup", 1, 18, 1, cmd_sws_lookup},
	{"sws-pin1-disable", 0, 0, 0, cmd_sws_pin1_disable},
	{"sws-pin1-enable", 0, 0, 0, cmd_sws_pin1_enable},
	{"telecom-sum", 0, 0, 0, cmd_telecom_sum},
	{"terminal-profile", 1, 1, 0, cmd_terminal_profile},
	{"terminal-resp", 1, 1, 0, cmd_terminal_resp},
	{"uicc-dir", 0, 0, 1, cmd_uicc_dir},
	{"unblock-chv1", 2, 2, 0, cmd_unblock_chv},
	{"unblock-chv2", 2, 2, 0, cmd_unblock_chv},
	{"unblock-pin1", 2, 2, 0, cmd_unblock_chv},
	{"unblock-pin2", 2, 2, 0, cmd_unblock_chv},
	{"update-bin", 2, 2, 0, cmd_update_bin},
	{"update-bin-imm", 2, 2, 0, cmd_update_bin_imm},
	{"update-rec", 2, 2, 0, cmd_update_rec},
	{"update-rec-fill", 2, 2, 0, cmd_update_rec_fill},
	{"update-rec-imm", 2, 2, 0, cmd_update_rec_imm},
	{"user-sum", 0, 0, 1, cmd_user_sum},
	{"verify-chv1", 1, 1, 0, cmd_verify_chv},
	{"verify-chv2", 1, 1, 0, cmd_verify_chv},
	{"verify-ext", 2, 2, 0, cmd_verify_ext},
	{"verify-hex", 2, 2, 0, cmd_verify_hex},
	{"verify-pin1", 1, 1, 0, cmd_verify_chv},
	{"verify-pin2", 1, 1, 0, cmd_verify_chv},
	{"verify-sjs1-adm1", 1, 1, 0, cmd_verify_sjs1_adm1},
	{"write-acc", 1, 1, 0, cmd_write_acc},
	{"write-iccid", 1, 1, 0, cmd_write_iccid},
	{"write-iccid-sh18", 1, 1, 0, cmd_write_iccid_sh18},
	{"write-iccid-sh19", 1, 1, 0, cmd_write_iccid_sh19},
	{"write-imsi", 1, 1, 0, cmd_write_imsi},
	{"write-imsi-sh", 1, 1, 0, cmd_write_imsi_sh},
	{"write-spn", 2, 2, 0, cmd_write_spn},
	{"write-sst", 1, 1, 0, cmd_write_sst},
	{0, 0, 0, 0, 0}
};