Commit Graph

3957 Commits

Author SHA1 Message Date
Bostjan Meglic 474b2d4134 [SBI,NF] Don't treat SBI connection errors as asserts 2023-02-07 22:49:11 +09:00
Sukchan Lee 8973a0bfdc [AMF] Delete UERadioCapability (#2040, #1917)
23.501 (5G NAS stage 2)
5.4.4.1:
"When the AMF receives Registration Request with the Registration type set
to Initial Registration or when it receives the first Registration Request
after E-UTRA/EPC Attach with Registration type set to Mobility Registration
Update, the AMF deletes the UE radio capability."
2023-02-07 22:29:53 +09:00
Sukchan Lee f7a4d64f00 [AMF] Network-Initiated Deregister (#2014, #2021)
I accidentally missed one so I added it again.
2023-02-06 21:09:19 +09:00
Sukchan Lee b88dcecc29 [TEST] Reduce paging wait time 2023-02-05 12:17:43 +09:00
Sukchan Lee b44fa29a7d [AMF/MME] Delete UERadioCapability (#2040, #1917)
o TS24.301(4G/LTE)
  5.5.1 Attach procedure
  5.5.1.2 Attach procedure for EPS services
  5.5.1.2.4 Attach accepted by the network

If the attach request is accepted by the network,
the MME shall delete the stored UE radio capability information
or the UE radio capability ID, if any.

o TS24.501(5G)
  5.5.2 De-registration procedure
  5.5.2.1 General

When the AMF enters the state 5GMM-DEREGISTERED for 3GPP access,
the AMF shall delete the stored UE radio capability information
or the UE radio capability ID, if any.
2023-02-05 12:03:00 +09:00
Sukchan Lee b7905725ac [SBI] HTTP/2 user-agent header (#2048)
Open5GS now checks User-AGENT only in SCP.
2023-02-05 09:50:44 +09:00
Sukchan Lee b6aa3aba5b Follow-up on #2048 2023-02-04 22:41:11 +09:00
Flander Bojan af07cc75ec Support for UPF HA - release/establish new PDU session 2023-02-04 22:40:33 +09:00
Sukchan Lee bae3998c31 [SBI/NF] Follow-up on #2045 2023-02-04 21:35:12 +09:00
Bostjan Meglic c791d97ed7 [NF] Fix double-free crash when NF is under heavy load
<nf>/init.c:<nf>_main() :
ogs_pollset_poll() receives the time of the expiration of next timer as
an argument. If this timeout is in very near future (1 millisecond),
and if there are multiple events that need to be processed by
ogs_pollset_poll(), these could take more than 1 millisecond for
processing, resulting in the timer already passed the expiration.

In case that another NF is under heavy load and responds to an SBI
request with some delay of a few seconds, it can happen that
ogs_pollset_poll() adds SBI responses to the event list for further
processing, then ogs_timer_mgr_expire() is called which will add an
additional event for timer expiration. When all events are processed
one-by-one, the SBI xact would get deleted twice in a row, resulting in
a crash.

0  __GI_abort () at ./stdlib/abort.c:107
1  0x00007f9de91693b1 in ?? () from /lib/x86_64-linux-gnu/libtalloc.so.2
2  0x00007f9de9a21745 in ogs_talloc_free (ptr=0x7f9d906c2c70, location=0x7f9de960bf41 "../lib/sbi/message.c:2423") at ../lib/core/ogs-memory.c:107
3  0x00007f9de95dbf31 in ogs_sbi_discovery_option_free (discovery_option=0x7f9d9090e670) at ../lib/sbi/message.c:2423
4  0x00007f9de95f7c47 in ogs_sbi_xact_remove (xact=0x7f9db630b630) at ../lib/sbi/context.c:1702
5  0x000055a482784846 in amf_state_operational (s=0x7f9d9488bbb0, e=0x7f9d90aecf20) at ../src/amf/amf-sm.c:604
6  0x00007f9de9a33cf0 in ogs_fsm_dispatch (fsm=0x7f9d9488bbb0, event=0x7f9d90aecf20) at ../lib/core/ogs-fsm.c:127
7  0x000055a48275b32e in amf_main (data=0x0) at ../src/amf/init.c:149
8  0x00007f9de9a249eb in thread_worker (arg=0x55a483d41d90) at ../lib/core/ogs-thread.c:67
9  0x00007f9de8fd2b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
10 0x00007f9de9063bb4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
2023-02-04 21:25:46 +09:00
Sukchan Lee 79f73fae2a [Gx/Gy] MAX_CC_REQUESTER_NUMBER(32->64) (#2038)
Incrased MAX_CC_REQUESTER_NUMBER from 32 to 64
2023-02-04 20:53:44 +09:00
Sukchan Lee 8a92c7e219 [AMF] Network-Initiated Deregister (#2014, #2021)
Fixed a bug network-initiated implicit/explict deregistration
2023-02-04 20:43:31 +09:00
Bostjan Meglic 5f9b941d25 Remove not valid UTF-8 characters
These UTF-8 characters are causing issues with static code analysis
tools.

Error: encoding error in ./lib/crypt/zuc.c
'utf-8' codec can't decode byte 0x97 in position 3948: invalid start byte
Python3 requires input character data to be perfectly encoded;
it also requires perfectly correct system encoding settings.
Unfortunately, your data and/or system settings are not.
2023-01-31 00:22:16 +09:00
Sukchan Lee f9ba6637c1 Update Document for Frame Routing (#2035) 2023-01-29 22:54:54 +09:00
Sukchan Lee 8a6c36daca [AMF] Network Initiated De-Register (#2014, #2021)
Resolved Network Initiated Implicit/Explicit De-Registration
2023-01-29 22:44:44 +09:00
Sukchan Lee 131ecb4a44 [CORE] Add defense code to ogs_pkbuf_copy (#2032)
Added a defense code to prevent NF crash when ogs_pkbuf_copy() size is 0.
2023-01-29 16:45:42 +09:00
Sukchan Lee b7386284a7 [NRF] Fixed a crash during NRF discovery (#2034)
Other NF instances are obtained through NRF
or created directly through configuration files.

Other NFs created by the config file should not be passed
through NRF discovery or anything like that.

Since self-created NF Instances do not have an ID,
they are implemented to exclude them from NRF Discovery.
2023-01-29 11:22:45 +09:00
Sukchan Lee 610b998038 [AMX] Fixed a crash due to deregistration (#2021)
Fixed an issue where AMF would crash
if an implicit deregistration occurred twice.
2023-01-29 09:09:52 +09:00
Sukchan Lee f50591a8f7 Added Service-MAP to Requester-Features (#2027)
ALWAYS Added Service-MAP to Requester-Features in Discovery Option
2023-01-29 01:35:47 +09:00
Sukchan Lee 728ca41103 [MME] Fixed crash due to Paging routine (#2017) 2023-01-27 16:42:23 +09:00
mitmitmitm 739cb599d1 [UDR] Read framed routes from DB send them in sm-data
The framed routes are stored in mongo as

 {
     "imsi" : "$IMSI",
     ...,
     "slice" :
     [{
         ...,
         "session" :
             ...,
             "ipv4_framed_routes" : ["10.45.33.0/24", "10.45.35.0/24"],
         }],
     }],
 },
2023-01-26 22:37:58 +09:00
mitmitmitm 11568bbff7 ogs_session_s.framed_routes type change to (char **)
OpenAPI_list_t wasn't optimal as it created a dependency on ogs-sbi.h.
2023-01-26 22:37:58 +09:00
Sukchan Lee 2051bcaefd Follow-up on #2013 2023-01-26 21:25:07 +09:00
Sukchan Lee b82a898646 update it 2023-01-26 21:22:24 +09:00
jmasterfunk84 1e6b1d4f7b
[MME] Implicit Network-initiated Deregistration (#2013)
* [MME] Introduce aging timers

* Creating three new timers
* mirroring work done by gstaa on the AMF
* Implicit detach procedures added
* Fix for detach from unknown UE

* no Purge Timer, no config, expanded code
2023-01-26 21:22:17 +09:00
Sukchan Lee 9e6cff7225 Merge branch 'MMENetworkDeregTimers' of https://github.com/jmasterfunk84/open5gs into jmasterfunk84-MMENetworkDeregTimers 2023-01-26 21:15:32 +09:00
Sukchan Lee 95e5d95faf [AMF] Fixed crashes from malformed 5GS-ID (#2020) 2023-01-26 20:48:55 +09:00
Sukchan Lee 85981effc7 [AMF/AMF] Not assert for ogs_asn_copy_ie() (#2018)
Does not raise an assertion even if open5gs cannot handle the ASN in
ogs_asn_copy_ie()
2023-01-25 23:16:59 +09:00
Sukchan Lee 3715b9ece3 [CORE] OGS_MAX_SDU_LEN->OGS_HUGE_LEN Stack (#2008)
Changed all OGS_MAX_SDU_LEN in the stack to OGS_HUGE_LEN.
2023-01-25 22:24:51 +09:00
jmasterfunk84 ee2eded848
Merge branch 'main' into MMENetworkDeregTimers 2023-01-24 12:47:33 -06:00
jmasterfunk84 e96b6be245 no Purge Timer, no config, expanded code 2023-01-24 12:35:47 -06:00
Sukchan Lee 596a2f1b5e [SBI] Fixed crash if no BW Unit(Xbps) (#2000) 2023-01-24 21:55:06 +09:00
Sukchan Lee 218b31d006 [CORE] Increase SDU buffer to 32k (#2008) 2023-01-24 21:43:20 +09:00
Sukchan Lee 43eb5f3d7f Fixed warning 2023-01-24 19:06:01 +09:00
Sukchan Lee b108ae0aff [PFCP] buffer overflow in ALPINE (#1911, #2009)
A buffer overflow occurred in ALPINE
because the size of the pfcp message structure increased by

    ogs_pfcp_tlv_framed_route_t framed_route[8];
    ogs_pfcp_tlv_framed_ipv6_route_t framed_ipv6_route[8];
2023-01-24 19:03:00 +09:00
Sukchan Lee 11aac6a164 [CORE] Rollback ogs_pkbuf_copy() from (#2012)
In the previous #2012 working, I've added ogs_pkbuf_free() for original
buffer. But, this rasied double free. So, I've rollback it,
2023-01-24 00:17:10 +09:00
Sukchan Lee c6fd4ae6b8 [LOG] remove ogs_expect_or_return()/return_val() 2023-01-24 00:01:36 +09:00
Sukchan Lee ed5cd4d513 [MME] Fixed a crash when no UE context (#2016) 2023-01-23 18:49:12 +09:00
Sukchan Lee 54331d77ee [UPF] URR time threshold log to info (#1997) 2023-01-23 15:58:55 +09:00
Sukchan Lee f8aedb3abe remove old document 2023-01-23 11:08:44 +09:00
Sukchan Lee 184461c411 Update document for v2.5.8 2023-01-23 11:08:30 +09:00
Sukchan Lee 689574a2d9 [AMF/MME] Fixed crash when no NG/S1 context(#2012) 2023-01-23 10:37:22 +09:00
Sukchan Lee a8f83989f4 Follow-up on #2009 2023-01-23 09:29:00 +09:00
mitmitmitm f6439b998c [SMF] Handle framed routes, forward them to UPF and PCF 2023-01-23 09:26:26 +09:00
mitmitmitm 990abbab2c [UPF] Handle framed routes 2023-01-23 09:26:26 +09:00
mitmitmitm 3e980e006f [PCF] Handle framed routes, forward them to BSF 2023-01-23 09:26:26 +09:00
mitmitmitm 88209f52df [BSF] Handle Ipv4FrameRouteList, save it into context 2023-01-23 09:26:26 +09:00
mitmitmitm 337a4e5159 [PFCP] Allow up to 8 framed routes for each IP type 2023-01-23 09:26:26 +09:00
Sukchan Lee ff261681c0 [PROTO] Increase SDU buffer 8k->16k (#2008) 2023-01-21 12:58:43 +09:00
Sukchan Lee df4c83372d [AMF] Fixed MEMORY LEAK (#1925) 2023-01-21 09:02:44 +09:00