-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TS 29.571: regex pattern allows all non-empty strings and will not apply restrictions as intended #106
Comments
TS 29.571 is under CT4 control, so 5G-MAG will need to identify a member with a CT4 delegate in order to propose this change. |
The editor of TS 29.571 is Peter Schmitt of Huawei. @haudiobe will send an e-mail to his CT4 colleague Hanna. |
Spoke internally, here are some questions and comments:
Further note: Peter Schmitt is now the CT Chair and does not attend CT4 very much, so we would probably need to contact another one of the Huawei delegates in CT4 if we do not - we correct this ourselves. |
Answers for @haudiobe:
|
Do you know if any progress on this issue was made at the CT meetings last week, @haudiobe? |
This one seems to have fallen down a black hole. Was anything ever done, @haudiobe? |
This was the response from Peter Schmitt "Dear Hannah; If I Understood correctly the intention is to remove the .+ Need to check if there are other ways to make the regular expression extendable. Best regards I sent another message today. |
Description
Several string types in TS 29.571 use a regular expression
pattern
to restrict the allowed strings and some of these contain a catch all "^(…|.+)$" style pattern. However the inclusion of "^.+$" as one of the options will override any other rules in the regex.This happens on the following defined types defined in TS 29.571:
VarUeId
VarUeIdRm
Gpsi
GpsiRm
Pei
PeiRm
Supi
SupiRm
SupiOrSuci
Suggested solution
The ".+" regex option should be preceded with an assertion operator to exclude the prefixes of other parts of the same regex option. For example for the
VarUeId
an assertion excluding strings starting with "imsi-", "nai-", "msisdn-", "extid-", "gci-" and "gli-" should be included in with the ".+" making that part "(?!(?:imsi|nai|msisdn|extid|gci|gli)-).+" and the whole regex would beThe "(?!…)" operator acts a non-consuming negative assertion meaning that the next part of the string must not match the ellipsis part and this will exclude patterns already matches by previous pattern options. The part matched by the contents of "(?!…)" are not counted towards the final pattern match and are just an assertion about the string contents to match.
Additional context
This issue also applies to some types in the following specifications too:
The text was updated successfully, but these errors were encountered: