pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32488 )
(
3 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: layer23: vty: Move imei related commands to common/ ......................................................................
layer23: vty: Move imei related commands to common/
Change-Id: I3c71586c0eb437ce63beaae5adf8fac6c27e2896 --- M src/host/layer23/src/common/vty.c M src/host/layer23/src/mobile/vty_interface.c 2 files changed, 75 insertions(+), 58 deletions(-)
Approvals: osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified
diff --git a/src/host/layer23/src/common/vty.c b/src/host/layer23/src/common/vty.c index 3d8214a..4f9aa20 100644 --- a/src/host/layer23/src/common/vty.c +++ b/src/host/layer23/src/common/vty.c @@ -153,6 +153,7 @@ /* placeholder for layer23 shared MS info to be dumped */ void l23_ms_dump(struct osmocom_ms *ms, struct vty *vty) { + struct gsm_settings *set = &ms->settings; char *service = "";
if (!ms->started) @@ -189,6 +190,14 @@ (ms->shutdown != MS_SHUTDOWN_NONE || !ms->started) ? "down" : "up", (ms->shutdown == MS_SHUTDOWN_NONE) ? service : "", VTY_NEWLINE); + + vty_out(vty, " IMEI: %s%s", set->imei, VTY_NEWLINE); + vty_out(vty, " IMEISV: %s%s", set->imeisv, VTY_NEWLINE); + if (set->imei_random) + vty_out(vty, " IMEI generation: random (%d trailing " + "digits)%s", set->imei_random, VTY_NEWLINE); + else + vty_out(vty, " IMEI generation: fixed%s", VTY_NEWLINE); }
/* CONFIG NODE: */ @@ -796,6 +805,53 @@ return CMD_SUCCESS; }
+DEFUN(cfg_ms_imei, cfg_ms_imei_cmd, "imei IMEI [SV]", + "Set IMEI (enter without control digit)\n15 Digits IMEI\n" + "Software version digit") +{ + struct osmocom_ms *ms = vty->index; + struct gsm_settings *set = &ms->settings; + char *error, *sv = "0"; + + if (argc >= 2) + sv = (char *)argv[1]; + + error = gsm_check_imei(argv[0], sv); + if (error) { + vty_out(vty, "%s%s", error, VTY_NEWLINE); + return CMD_WARNING; + } + + OSMO_STRLCPY_ARRAY(set->imei, argv[0]); + OSMO_STRLCPY_ARRAY(set->imeisv, argv[0]); + OSMO_STRLCPY_ARRAY(set->imeisv + 15, sv); + + return CMD_SUCCESS; +} + +DEFUN(cfg_ms_imei_fixed, cfg_ms_imei_fixed_cmd, "imei-fixed", + "Use fixed IMEI on every power on") +{ + struct osmocom_ms *ms = vty->index; + struct gsm_settings *set = &ms->settings; + + set->imei_random = 0; + + return CMD_SUCCESS; +} + +DEFUN(cfg_ms_imei_random, cfg_ms_imei_random_cmd, "imei-random <0-15>", + "Use random IMEI on every power on\n" + "Number of trailing digits to randomize") +{ + struct osmocom_ms *ms = vty->index; + struct gsm_settings *set = &ms->settings; + + set->imei_random = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(cfg_ms_sim, cfg_ms_sim_cmd, "sim (none|reader|test|sap)", "Set SIM card to attach when powering on\nAttach no SIM\n" "Attach SIM from reader\nAttach build in test SIM\n" @@ -1192,6 +1248,13 @@ vty_out(vty, "%slayer2-socket %s%s", prefix, set->layer2_socket_path, VTY_NEWLINE);
+ vty_out(vty, "%simei %s %s%s", prefix, set->imei, + set->imeisv + strlen(set->imei), VTY_NEWLINE); + if (set->imei_random) + vty_out(vty, "%simei-random %d%s", prefix, set->imei_random, VTY_NEWLINE); + else if (!l23_vty_hide_default) + vty_out(vty, "%simei-fixed%s", prefix, VTY_NEWLINE); + switch (set->sim_type) { case GSM_SIM_TYPE_NONE: vty_out(vty, "%ssim none%s", prefix, VTY_NEWLINE); @@ -1296,6 +1359,9 @@
install_node(&ms_node, config_write_ms_node_cb); install_element(MS_NODE, &cfg_ms_layer2_cmd); + install_element(MS_NODE, &cfg_ms_imei_cmd); + install_element(MS_NODE, &cfg_ms_imei_fixed_cmd); + install_element(MS_NODE, &cfg_ms_imei_random_cmd); install_element(MS_NODE, &cfg_ms_sim_cmd); install_element(MS_NODE, &cfg_ms_testsim_cmd); install_node(&testsim_node, NULL); diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index e0a8ede..0761419 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -932,14 +932,6 @@ } vty_out(vty, " network-selection-mode %s%s", (set->plmn_mode == PLMN_MODE_AUTO) ? "auto" : "manual", VTY_NEWLINE); - vty_out(vty, " imei %s %s%s", set->imei, - set->imeisv + strlen(set->imei), VTY_NEWLINE); - if (set->imei_random) - vty_out(vty, " imei-random %d%s", set->imei_random, - VTY_NEWLINE); - else - if (!l23_vty_hide_default) - vty_out(vty, " imei-fixed%s", VTY_NEWLINE); if (set->emergency_imsi[0]) vty_out(vty, " emergency-imsi %s%s", set->emergency_imsi, VTY_NEWLINE); @@ -1239,53 +1231,6 @@ return CMD_SUCCESS; }
-DEFUN(cfg_ms_imei, cfg_ms_imei_cmd, "imei IMEI [SV]", - "Set IMEI (enter without control digit)\n15 Digits IMEI\n" - "Software version digit") -{ - struct osmocom_ms *ms = vty->index; - struct gsm_settings *set = &ms->settings; - char *error, *sv = "0"; - - if (argc >= 2) - sv = (char *)argv[1]; - - error = gsm_check_imei(argv[0], sv); - if (error) { - vty_out(vty, "%s%s", error, VTY_NEWLINE); - return CMD_WARNING; - } - - strcpy(set->imei, argv[0]); - strcpy(set->imeisv, argv[0]); - strcpy(set->imeisv + 15, sv); - - return CMD_SUCCESS; -} - -DEFUN(cfg_ms_imei_fixed, cfg_ms_imei_fixed_cmd, "imei-fixed", - "Use fixed IMEI on every power on") -{ - struct osmocom_ms *ms = vty->index; - struct gsm_settings *set = &ms->settings; - - set->imei_random = 0; - - return CMD_SUCCESS; -} - -DEFUN(cfg_ms_imei_random, cfg_ms_imei_random_cmd, "imei-random <0-15>", - "Use random IMEI on every power on\n" - "Number of trailing digits to randomize") -{ - struct osmocom_ms *ms = vty->index; - struct gsm_settings *set = &ms->settings; - - set->imei_random = atoi(argv[0]); - - return CMD_SUCCESS; -} - DEFUN(cfg_ms_emerg_imsi, cfg_ms_emerg_imsi_cmd, "emergency-imsi IMSI", "Use special IMSI for emergency calls\n15 digits IMSI") { @@ -2348,9 +2293,6 @@ install_element(MS_NODE, &cfg_ms_mncc_handler_cmd); install_element(MS_NODE, &cfg_ms_no_mncc_handler_cmd); install_element(MS_NODE, &cfg_ms_mode_cmd); - install_element(MS_NODE, &cfg_ms_imei_cmd); - install_element(MS_NODE, &cfg_ms_imei_fixed_cmd); - install_element(MS_NODE, &cfg_ms_imei_random_cmd); install_element(MS_NODE, &cfg_ms_no_emerg_imsi_cmd); install_element(MS_NODE, &cfg_ms_emerg_imsi_cmd); install_element(MS_NODE, &cfg_ms_no_sms_sca_cmd);