Attention is currently required from: pespin.
2 comments:
Commit Message:
Patch Set #1, Line 11: does not properly handle the '*' template kind:
why not making handling the "*" case in this patch properly instead?
Because this again brings us to the topic of optional IEs in a `record of`. With the current limitations of TTCN-3, it's not possible to implement handling of `*` properly. See related discussion in https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38586.
File epdg/EPDG_Tests.ttcn:
Patch Set #1, Line 948: [] GSUP.receive(tr_GSUP_CL_REQ(g_pars.imsi, dom := omit, ctype := ctype)) -> value rx_gsup;
if it's possible that the domain is not transmitted, why not changing tr_GSUP_CL_REQ() to accept a " […]
Please take a chance to read the code yourself a bit...
`tr_GSUP_CL_REQ` already does accept a template without any restrictions, so the given parameter can be anything. Otherwise my code passing `omit` here would cause another DTE.
The problem is actually in `f_gen_tr_ies()`, which is called by `tr_GSUP_CL_REQ` to generate a `record of` IEs. This is where the violation of `template (present)` was happening:
```
1300 if (not istemplatekind(cn_domain, "omit")) {
1301 ies[idx] := tr_GSUP_IE_CnDomain(cn_domain);
1302 idx := idx + 1;
1303 }
```
This logic works for `omit`, `?`, and for values, but not for `*`. Before my 51490419 ("library/gsup: improve GSUP_IE templates") this code was passing `*` to `tr_GSUP_IE_CnDomain`, which was wrong and basically eqiovalent to `tr_GSUP_IE_CnDomain(?)`.
NOTE: I am not the author of `f_gen_{tr,ts}_ies` and not planning to refactor it.
To view, visit change 38745. To unsubscribe, or for help writing mail filters, visit settings.