open5gs/src/smf
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
..
app.c A minor typo fix (#2707) 2023-10-28 22:11:58 +09:00
binding.c Revert "[GTP/PFCP]] incorrect dst TEI=0/SEID=0 (#3043)" 2024-03-26 08:04:26 +09:00
binding.h X2 handover with SGW change (#1367, #1459) 2022-05-12 22:52:36 +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 Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
event.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
fd-path.c relocation of user-location-info on top level 2023-05-25 22:42:54 +09:00
fd-path.h relocation of user-location-info on top level 2023-05-25 22:42:54 +09:00
gn-build.c [SMF,MME] Gn: Set Maximum SDU Size QoS field to 1500 2024-01-27 07:11:44 +09:00
gn-build.h Introduce Gn interface (GTPv1C) Support to PGW (#1351) 2022-02-18 22:23:45 +09:00
gn-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
gn-handler.h [SMF] Integrate session tear down cycle into sess->sm (#1500) 2022-04-20 21:42:18 +09:00
gsm-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
gsm-build.h [SMF] Fixed PTI when PDU Session Reject 2022-11-07 16:51:51 +09:00
gsm-handler.c [SMF] crash when malformed NAS message (#3132) 2024-04-13 15:03:09 +09:00
gsm-handler.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
gsm-sm.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
gtp-path.c [SMF] Crash SMF when no GTP-C config (#3094) 2024-03-31 20:25:25 +09:00
gtp-path.h Reorder smf_gtp_node objects free (#1593) 2022-06-10 21:08:15 +09:00
gx-handler.c [SMF] Added Bi-Directional Flow (#2909) 2024-02-17 20:43:15 +01:00
gx-handler.h Document Gx interface spec references 2024-01-25 07:05:33 +09:00
gx-path.c [SMF] Added Bi-Directional Flow (#2909) 2024-02-17 20:43:15 +01:00
gy-handler.c [SMF] Initial implementation of Final-Unit-Indication 2024-04-09 07:13:33 +09:00
gy-handler.h [SMF] Gy: Check Multiple-Services-Credit-Control Result-Code in CCA-I 2024-04-05 21:35:36 +09:00
gy-path.c [SMF] Initial implementation of Final-Unit-Indication 2024-04-09 07:13:33 +09:00
init.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
meson.build [NRF] Fixed library load error 2022-08-26 10:57:11 +09:00
metrics.c [SBI] Fixed Invalid S-NSSAI format (#2337) 2023-05-28 21:53:52 +09:00
metrics.h [SMF] Expose metrics for nr. of PDU session creations 2023-05-25 21:38:15 +09:00
n4-build.c [SMF] Build URR at bearer modification 2024-01-20 08:20:24 +09:00
n4-build.h [PFCP] Implement the Restoration Indication 2023-04-16 12:30:36 +09:00
n4-handler.c [SMF] Initial implementation of Final-Unit-Indication 2024-04-09 07:13:33 +09:00
n4-handler.h [SMF] Initial implementation of Final-Unit-Indication 2024-04-09 07:13:33 +09:00
namf-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
namf-build.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
namf-handler.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
namf-handler.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
nas-path.c Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
nas-path.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
ngap-build.c [Release-17] Upgrade S1AP/NGAP to v17.3.9 2023-02-21 21:48:06 +09:00
ngap-build.h [SMF] Optimiza Session Modification Message 2022-05-15 23:35:41 +09:00
ngap-handler.c UPF HA - release/establish new PDU session in CM_IDLE (#2471) 2023-07-25 22:38:38 +09:00
ngap-handler.h [5GC] Service Request Race Condition(#1226) 2021-11-28 20:54:51 +09:00
ngap-path.c Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
ngap-path.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05: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 [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +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 [SMF] On sess. est. fail, don't reply to AMF twice on the same stream 2023-07-15 23:29:24 +09:00
nsmf-handler.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
nsmf-handler.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
nudm-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nudm-build.h [SMF] Added SMF registrations (#2514, #2524) 2023-08-18 20:21:08 +09:00
nudm-handler.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
nudm-handler.h Use HTTP/2 instead of HTTP/1.1 in 5G Core SBI 2020-11-26 21:44:37 -05:00
pfcp-path.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
pfcp-path.h [PFCP] Implement the Restoration Indication 2023-04-16 12:30:36 +09:00
pfcp-sm.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
s5c-build.c [SMF] Handle APCO IE in S2b GTPv2C CreateSessionRequest/Response 2024-02-28 11:40:31 +00:00
s5c-build.h X2 handover with SGW change (#1367, #1459) 2022-05-12 22:52:36 +09:00
s5c-handler.c [SGWC] Fixed crashing when Create Bearer Response occurs after Delete Bearer Response (#3109) 2024-04-07 22:51:46 +09:00
s5c-handler.h [GTP] Incorrect destination TEID=0 (#3043) 2024-04-06 16:39:32 +09:00
s6b-path.c [SMF] Setup Gy session when creating UE session over S2b interface 2024-02-28 11:42:33 +00:00
sbi-path.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
sbi-path.h UPF HA - release/establish new PDU session in CM_IDLE (#2471) 2023-07-25 22:38:38 +09:00
smf-sm.c [GTP] Incorrect destination TEID=0 (#3043) 2024-04-06 16:39:32 +09:00
smf-sm.h [SMF] Added SMF registrations (#2514, #2524) 2023-08-18 20:21:08 +09:00
timer.c [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00
timer.h [PFCP] Session removal while waiting PFCP reply (#3040) 2024-03-24 09:50:23 +09:00