Skip to content

Various bug fixes: replacement for PR #42 - #48

Open
davidjwbbc wants to merge 8 commits into
5G-MAG:developmentfrom
davidjwbbc:bug-fixes/was-pr-42
Open

Various bug fixes: replacement for PR #42#48
davidjwbbc wants to merge 8 commits into
5G-MAG:developmentfrom
davidjwbbc:bug-fixes/was-pr-42

Conversation

@davidjwbbc

Copy link
Copy Markdown
Collaborator

Closes #43
Closes #46
Closes #47

This PR fixes 3 issues raised by @jordijoangimenez. These issues come from the set raised originally in PR #42 but removes the commits for the API interfaces that we do not wish to implement until 5G-MAG/Standards#182 and 5G-MAG/Standards#191 are resolved.

Improvements have also been made to the original fixes in PR #42 for #46 and #47.

jordijoangimenez and others added 4 commits August 6, 2026 17:01
POST and PUT on /mbs-user-services construct an MBSUserService (or
call UserService::update(), which does the same) from the request
body with no exception boundary around ModelException -- the C++
exception thrown by the generated model when a required field
(extServiceIds, servType, servClass, servAnnModes, servNameDescs) is
missing. Uncaught, it terminates the whole process, taking down every
other active session with it, instead of returning the 400 the
generated OpenAPI schema actually specifies for this case.

Catches ModelException at both call sites and responds via the same
ProblemDetails-shaped NfServer::sendError() path already used
elsewhere in this file for validation failures.
random_string()'s charset included '@', '\', '!' and ';', none of
which are members of RFC 2046 SS5.1.1's bcharsnospace grammar (the
only characters a boundary value may contain, quoted-string wrapper
or not). '\' was the more acute problem in practice -- written
unescaped into the quoted-string Content-Type header parameter, it
let a strictly RFC 2045-compliant quoted-string parser derive a
different (unescaped) boundary value than the literal delimiter text
actually used in the body, desyncing the two and making the whole
entity unparseable -- but all four characters were illegal regardless
of escaping.
rjb1000
rjb1000 previously approved these changes Aug 6, 2026
@rjb1000

rjb1000 commented Aug 6, 2026

Copy link
Copy Markdown

(@davidjwbbc: Let's let @jordijoangimenez review too before merging.)

Comment thread src/mbsf/MultipartMime.cc Outdated
Comment thread src/mbsf/MultipartMime.cc Outdated
Comment thread src/mbsf/MultipartMime.cc
Comment thread src/mbsf/MultipartMime.cc Outdated
Comment thread src/mbsf/MultipartMime.cc Outdated
Comment thread src/mbsf/MultipartMime.cc Outdated
Co-authored-by: Jordi J. Gimenez <[email protected]>
@dsilhavy

dsilhavy commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@davidjwbbc To run one last test and then merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working MBSF MBS Function

Projects

Status: Ready for review

4 participants