diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2020-05-04 21:22:41 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2020-05-05 00:16:38 +0700 |
commit | b7bc2e67465199a4310c6ec75a95e297a76674a2 (patch) | |
tree | dd8ebe8b30f5278cb1cdb064598be0deb72ed897 /library | |
parent | 135b45eed9871ad8cb5f794908811fdcdf9b5506 (diff) |
library: relax length constraints applied to SI Rest Octets
As it turned out, the length constraints introduced in [1] were
too strict. In particular, the use of FIELDLENGTH attribute made
it impossible to assign an octetstring of a smaller size and then
pad the remaining octets with '2B'O. TITAN would just use '00'O
instead, ignoring all my attempts to talk some sense into it.
[1] I183d3ba9000e3ced8ecce74a4390b80075ddf25d
Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
Diffstat (limited to 'library')
-rw-r--r-- | library/GSM_SystemInformation.ttcn | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 07ca8e65..de1fcf76 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -119,10 +119,8 @@ module GSM_SystemInformation { type record SystemInformationType1 { CellChannelDescription cell_chan_desc, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(1)" - }; + RestOctets rest_octets length(0..1) + } with { variant "" }; /* 44.018 9.1.32 */ type record SystemInformationType2 { @@ -135,18 +133,14 @@ module GSM_SystemInformation { type record SystemInformationType2bis { NeighbourCellDescription extd_bcch_freq_list, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(1)" - }; + RestOctets rest_octets length(0..1) + } with { variant "" }; /* 44.018 9.1.34 */ type record SystemInformationType2ter { NeighbourCellDescription2 extd_bcch_freq_list, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(4)" - }; + RestOctets rest_octets length(0..4) + } with { variant "" }; /* 44.018 9.1.35 */ type record SystemInformationType3 { @@ -156,10 +150,8 @@ module GSM_SystemInformation { CellOptions cell_options, CellSelectionParameters cell_sel_par, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(4)" - }; + RestOctets rest_octets length(0..4) + } with { variant "" }; template SystemInformationType3 t_SI3 := { cell_id := ?, @@ -179,7 +171,7 @@ module GSM_SystemInformation { RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, MobileAllocationT cbch_mobile_alloc optional, - RestOctets rest_octets /* 0 .. 10 octets (see 10.5.2.35) */ + RestOctets rest_octets length(0..10) /* see 10.5.2.35 */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; /* 44.018 9.1.37 */ @@ -203,10 +195,8 @@ module GSM_SystemInformation { LocationAreaIdentification lai, CellOptionsSacch cell_options, BIT8 ncc_permitted, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(7)" - }; + RestOctets rest_octets length(0..7) + } with { variant "" }; type union SystemInformationUnion { SystemInformationType1 si1, |