open5gs/tests/af
Sukchan Lee a9b1b116b3 [SBI] Generate URI via HTTP.location as is (#3058)
A friend in the community was trying to connect an SMF made by another
manufacturer with an SBI interface and found a big problem with Open5GS.

All of the code in the part that generates the Resource URI
from HTTP.location is invalid.

For example, suppose we create a Resource URI with SMContext as below.
{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/{smContextRef}

In this case, Open5GS extracted the {smContextRef} part of the HTTP.location
and appended it to the beginning
{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/.

This implementation may not work properly if the apiRoot changes.
Consider a different port number as shown below.

<HTTP.location>
127.0.0.4:9999/nsmf-pdusession/v1/sm-contexts/1

The SMF may send an apiRoot to the AMF with a changed port number,
in which case the AMF must honor it.

Therefore, instead of extracting only the smContextRef from HTTP.location,
we modified it to use the whole thing to create a Resource URI.

We modified all NFs that use HTTP.location in the same way, not just SMFs.
2024-04-18 21:24:07 +09:00
..
af-sm.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
af-sm.h Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
context.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
context.h [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
event.c Added Service-based NF discovery 2022-09-02 23:04:57 +09:00
event.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
init.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
init.h Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
local.c Added Service-based NF discovery 2022-09-02 23:04:57 +09:00
local.h [SBI] Support service-names in discovery option 2022-08-27 00:12:22 +09:00
meson.build Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
nbsf-build.c SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
nbsf-build.h [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
nbsf-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nbsf-handler.h [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
nnrf-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nnrf-handler.h Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
npcf-build.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
npcf-build.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
npcf-handler.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
npcf-handler.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
sbi-path.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
sbi-path.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00