vty: msc / codec-list: forbid invalid codec versions

Change-Id: I421c306aa22dfdad0f30c6ba8b482e1eff188a8e
This commit is contained in:
Neels Hofmeyr 2023-03-01 02:41:56 +01:00 committed by neels
parent 72fe0bf142
commit 822b9dca1f
2 changed files with 17 additions and 10 deletions

View File

@ -2742,6 +2742,13 @@ DEFUN_USRATTR(cfg_net_msc_codec_list,
else if (strncmp("fr", argv[i], 2) == 0)
tmp[i].hr = 0;
/* forbid invalid versions */
if (tmp[i].ver < 1 || tmp[i].ver > 7
|| (tmp[i].hr && tmp[i].ver == 2)) {
vty_out(vty, "'%s' is not a valid codec version%s", argv[i], VTY_NEWLINE);
return CMD_WARNING;
}
/* prevent duplicate entries */
for (j = 0; j < i; j++) {
if (gsm_audio_support_cmp(&tmp[j], &tmp[i]) == 0) {

View File

@ -62,49 +62,49 @@ msc 0
...
OsmoBSC(config-msc)# codec-list fr0 fr1
'fr0' is not a valid codec version
OsmoBSC(config-msc)# show running-config
...
msc 0
...
codec-list fr0 fr1
codec-list hr1 hr3 fr1 fr2 fr3
...
OsmoBSC(config-msc)# # ERROR: fr0 should be rejected
OsmoBSC(config-msc)# codec-list hr0 hr1
'hr0' is not a valid codec version
OsmoBSC(config-msc)# show running-config
...
msc 0
...
codec-list hr0 hr1
codec-list hr1 hr3 fr1 fr2 fr3
...
OsmoBSC(config-msc)# # ERROR: hr0 should be rejected
OsmoBSC(config-msc)# codec-list fr8 fr9
'fr8' is not a valid codec version
OsmoBSC(config-msc)# show running-config
...
msc 0
...
codec-list fr8 fr9
codec-list hr1 hr3 fr1 fr2 fr3
...
OsmoBSC(config-msc)# # ERROR: fr8 and fr9 should be rejected
OsmoBSC(config-msc)# codec-list hr8 hr9
'hr8' is not a valid codec version
OsmoBSC(config-msc)# show running-config
...
msc 0
...
codec-list hr8 hr9
codec-list hr1 hr3 fr1 fr2 fr3
...
OsmoBSC(config-msc)# # ERROR: hr8 and hr9 should be rejected
OsmoBSC(config-msc)# codec-list fr2 hr2
'hr2' is not a valid codec version
OsmoBSC(config-msc)# show running-config
...
msc 0
...
codec-list fr2 hr2
codec-list hr1 hr3 fr1 fr2 fr3
...
OsmoBSC(config-msc)# # TODO: should hr2 be rejected
OsmoBSC(config-msc)# codec-list fr1 fr2 fr3 fr4
OsmoBSC(config-msc)# show running-config