Commit Graph

4190 Commits

Author SHA1 Message Date
Sukchan Lee 7da45cde66 [AMF] mac_failed should be initialized (#2679)
amf_ue->mac_failed flag to be cleared during security mode procedure but it was not.
At this point, the only way to cleare the amf_ue->mac_failed flag is by UE Context Release.
But I'd like to connect UEs as fast as possible without UE Context Release.
2023-10-17 22:28:23 +09:00
Pau Espin 79d3c7078f hss: Don't send IDR for Operator-Determined-Barring changes if Subscriber-Status=SERVICE_GRANTED 2023-10-14 11:41:43 +09:00
Pau Espin e108d6297c HSS: Add support for Operator-Determined-Barring field
* Add "subscriber_status" cmd to open5gs-dbctl to set values for
  "subscriber_status" and "operator_determined_barring" DB fields.
* Add webui View+Edit for those same fields.
* open5gs-hssd now takes those values into account and submits
  Operator-Determined-Barring AVP with DB-retrieved value if
subscriber_status is set to OPERATOR_DETERMINED_BARRING.

For more information, see TS 29.272 section 5.2.2.1.3  and 7.3.30.
2023-10-12 07:17:54 +09:00
Pau Espin 963df4beeb cosmetic: webui: Fix trailing whitespace 2023-10-12 07:17:54 +09:00
Pau Espin 77a624c899 cosmetic: open5gs-dbctl: Fix trailing whitespace 2023-10-11 21:30:47 +09:00
Bostjan Meglic b2a2064beb [AF] Use correct structure when sending modification request
Tests were crashing due to AF using the wrong OpenAPI structure, while
the SBI library tried to convert a different structure to JSON.

Before the added support for nullable fields in OpenAPI documents, both
structures were identical.
2023-10-11 21:10:20 +09:00
Bostjan Meglic 50464d174e [openapi] Add support for nullable fields
Depending on the OpenAPI yaml files, fields can be marked as "nullable".
Which means that the field can be either present, not present, or null.

This feature is important for example in SmContextUpdateData structure,
where many fields are described similar as the following:
This IE shall be included for the modification .... For deleting the
field, it shall contain the Null value.
2023-10-11 21:10:20 +09:00
Emanuele Di Pascale 7ea37ef618 smf: don't assert if we run out of IPs
currently if no IP address is available from the configured
subnets in the SMF when attempting to assign an IP to an UE
we assert and the SMF crashes. Handle the error more gracefully
by returning an error cause instead.
2023-10-11 20:42:31 +09:00
Sukchan Lee 53fe8f1e6d [MME] SGaAP-MO-CSFB-INDICATION w/ TAI/ECGI (#2664)
Added TAI/ECGI to the SGaAP-MO-CSFB-INDICATION message.
2023-10-11 20:37:12 +09:00
Pau Espin cb114eca5e cosmetic: HSS: Fix trailing whitespace 2023-10-10 08:04:01 +09:00
Pau Espin 69022386a6 .gitignore: Add install/ dir
Open5GS documentation instructs to install into open5gs.git/install/
during build [1]:
"""
$ cd open5gs
$ meson build --prefix=`pwd`/install
$ ninja -C build
"""

As a result, this directory appears all the time when using git, since
it's not in the .gitignore file. Add it.

[1] https://open5gs.org/open5gs/docs/guide/02-building-open5gs-from-sources/
2023-10-10 08:03:25 +09:00
Sukchan Lee 499c70d8be Update v2.6.6 changelog 2023-10-04 21:02:56 +09:00
Sukchan Lee d16370fad2 Update v2.6.6 changelog 2023-10-04 20:54:41 +09:00
Sukchan Lee 8d2752f8cd Release v2.6.6 2023-10-04 20:36:38 +09:00
Sukchan Lee 3f9ca906da [PCF] Remove SM Policy Association Terminatation (#2650) 2023-10-04 20:27:47 +09:00
Sukchan Lee 2962d6cbed [WebUI] Fixed when running 'npm run build' (#2564)
> Using external babel configuration
> Location: "/tmp/open5gs-2.6.5/webui/.babelrc"
> Failed to build on /tmp/fdd1769d-9793-45ac-a613-b20e09756073
Error: commons.js from UglifyJs
Name expected [commons.js:8066,6]
    at /tmp/open5gs-2.6.5/webui/node_modules/next/dist/server/build/index.js:182:21
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:269:13
    at Compiler.emitRecords (/tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:375:38)
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:262:10
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:368:12
    at next (/tmp/open5gs-2.6.5/webui/node_modules/tapable/lib/Tapable.js:218:11)
    at Compiler.<anonymous> (/tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
    at Compiler.applyPluginsAsyncSeries1 (/tmp/open5gs-2.6.5/webui/node_modules/tapable/lib/Tapable.js:222:13)
    at Compiler.afterEmit (/tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:365:9)
    at /tmp/open5gs-2.6.5/webui/node_modules/webpack/lib/Compiler.js:360:15 {
  errors: [ 'commons.js from UglifyJs\nName expected [commons.js:8066,6]' ],
  warnings: []
}
Error executing command, exiting
2023-10-03 22:05:57 +09:00
Sukchan Lee 309a61742e Update document for v2.6.5 2023-10-02 20:40:04 +09:00
Sukchan Lee b4a237a80c Update document for v2.6.5 2023-10-02 20:11:49 +09:00
Sukchan Lee 661add96c6 Release v2.6.5 2023-10-02 20:06:31 +09:00
Sukchan Lee a525901c01 [SEPP] add sample roaming pcapng 2023-10-02 19:14:35 +09:00
Sukchan Lee 46333a22b5 [DOCS] Update roaming 2023-10-02 19:06:49 +09:00
Sukchan Lee f6c4eb29e2 [Docs] Update roaming document 2023-10-02 18:51:54 +09:00
mitmitmitm d54a28ed6c [ipfw] Fix memory leak when parsing ipv6 2023-09-27 20:35:33 +09:00
Sukchan Lee 445bf26ef2 [AUSF] Fixed crash due to ausf_ue_add (#2637) 2023-09-25 22:33:03 +09:00
Sukchan Lee 5a220f1a83 [WebUI] fixed a EDIT bug after 10 minutes (#2615)
After the page remains inactive for 10 minutes,
clicking on the edit page will result in a blank screen

when you click on edit after 10 minutes,
all user data is lost. After capturing the network packets,
it can be observed that the frontend sends a fresh request
to the backend for data, and the backend responds correctly,
but the page does not refresh correctly.

`function recent(fetchedAt) {
if (fetchedAt === null) return false;

const interval = 10 * 60 * 1000; // 10 minutes
return ((Date.now() - interval) < fetchedAt);
}`
2023-09-25 22:28:59 +09:00
mitmitmitm 5623b1a0a1 [PFCP] Reply with QER_ID instead of FAR_ID type for QER mismatch 2023-09-25 22:02:19 +09:00
Sukchan Lee 0abfb204ea [SBI] crash when enum is unknown (#2622)
j
The crash is caused by ogs_assert(data) in listEntry_create(void *data).
Reason for the failing assertion is that in

OpenAPI_subscription_data_t *OpenAPI_subscription_data_parseFromJSON(
        cJSON *subscription_dataJSON)

in line 501 of file subscription_data.c the event string is transformed
into an integer/enum value, which in case of an unknown event is 0.

Steps to reproduce:

1. Deploy NRF
2. Run curl --http2-prior-knowledge --header "Content-Type: application/json" --data '{"nfStatusNotificationUri": "test@example.com", "reqNotifEvents": ["unknown"], "subscriptionId": "12345"}' "http://<NRF_IP>:<NRF_PORT>/nnrf-nfm/v1/subscriptions"
2023-09-24 09:56:40 +09:00
Sukchan Lee 317d9bf846 [SBI] crash when queryparam with empty key (#2626)
Fixed crashes when path contains query parameter with an empty key
2023-09-24 09:17:42 +09:00
Sukchan Lee d4f2b545a3 [SBI] Fixed invalid format of subscrCond (#2630)
The format of subscrCond must be 'oneOf'.
2023-09-24 09:01:59 +09:00
Matej Gradisar 227dc1a90d [SMF] return a subnet with available IP addresses
Enables to use multiple UE subnets with the same DNN and family
2023-09-19 21:06:00 +09:00
Matej Gradisar d454e2428f [SMF] Check config file for overlapping UE subnets 2023-09-19 21:06:00 +09:00
Sukchan Lee 48de174a3b [WebUI] Fixed install script (#2619)
WebUI Install script fails if directory /usr/lib/node_modules does not already exist
2023-09-19 21:00:44 +09:00
Sukchan Lee 8a3dbd44ae [MME] Protection code for No IMSI (#2613, #2614) 2023-09-16 22:27:21 +09:00
Sukchan Lee a3a683e5a6 [MME] Implement ENBConfigurationUpdate (#2589) 2023-09-16 20:58:58 +09:00
Sukchan Lee aa746794e7 [GTPU] Fixed Stack-Buffer-Overflow in GTPU (#2609) 2023-09-15 07:17:04 +09:00
Sukchan Lee bfe8ae659e Fixed MacOSX compile error (Follow-up on #2581) 2023-09-14 07:04:27 +09:00
Sukchan Lee bd74c259ec [AMF/MME] Fix crash during snow-3g encrypt (#2581)
There was a memory problem in the encryption using snow_3g_f8,
so AMF/MME crashed.

To solve this problem, we used the snow-3g encryption library
created as below.

https://github.com/rcatolino/libressl-snow3g

However, it seems that this library cannot be used to create
integrity hash like snow_3g_f8.

So, we decided to keep both snow-3g libraries for the time being.

1. lib/crypt/snow3g* : for INTEGRITY (NIA1, EIA1)
2. lib/crypt/openssl/snow3g* : for ENCRYPTION (NEA1, EEA1)
2023-09-13 23:22:46 +09:00
Sukchan Lee 05ed95d623 [GTPU] Fixed PDCP SN handling (#2584, #2477)
Scenario is handover on S1AP, data forwarding is enabled, and
the Source ENB is forwarding DL PDCP packets to EPC(SGWU)
with PDCP SN included. SGWU is also forwarding these packets
to the Target ENB.

However the PDCP SN is not present in the forwarded packets
from SGWU to Target ENB.

I modified this part, and there was the same problem in 5GC, fixed it as well.

A lot of code in GTP-U has been modified,
so if you have any problems, please let us know right away.
2023-09-10 22:37:42 +09:00
Sukchan Lee 260eabb317 [SMF] Invalid Message(SmContextCreateData) (#2590)
curl --noproxy '*' --http2-prior-knowledge -X POST --header "Content-Type: multipart/related" --data-binary @pdu http:/192.168.29.231:7777/nsmf-pdusession/v1/sm-contexts
Attaching file 'pdu'

SMF crashes as not able to decode the message properly. SmContextCreateData is not accessible.
2023-09-07 22:38:45 +09:00
Sukchan Lee 2fbc445d32 [PFCP] Fixed Possible heap buffer overflow (#2585)
After examining the call stack and reading the source code, I found that
in /lib/core/ogs-pool.h line 152: (pool)->array[i] = i+1;
then in lib/pfcp/context.c line 78: pdr_random_to_index[ogs_pfcp_pdr_teid_pool.array[i]] = i;
ogs_pfcp_pdr_teid_pool.array[i] may exceed the size of pdr_random_to_index, leading to a heap-buffer-overflow.
2023-09-06 07:14:51 +09:00
Sukchan Lee 2aa12449aa [NRF] Fixed NRF crash when Custom nfType (#2576)
NF Instance Registration to reproduce crash:

curl -v -X PUT -d '{"nfInstanceId":"0b8a8d59-af80-4fb7-8645-b832fd69d94a","nfType":"CUSTOM_INF","nfStatus":"REGISTERED","ipv4Addresses":["127.0.13.37"]}' --http2-prior-knowledge http://127.0.0.10:7777/nnrf-nfm/v1/nf-instances/0b8a8d59-af80-4fb7-8645-b832fd69d94a
2023-09-05 22:11:19 +09:00
Sukchan Lee 2f8ae91b0b Fixed dynamic-stack-buffer-overflow (#2578, #2577) 2023-09-05 21:58:05 +09:00
Gabriel 78f64aaccb Update open5gs-dbctl
This is now consistent with the webui (check /webui/src/components/Subscriber/Edit.js:175)
2023-09-05 07:10:39 +09:00
Sukchan Lee 298fed260b [UDM] Fixed crash for invalid SUCI (#2571)
Modifications were made to resolve the following assertion..

Invalid HNET PKI Value [0] (../lib/sbi/conv.c:135)
ogs_supi_from_supi_or_suci: Expectation `supi' failed. (../lib/sbi/conv.c:262)
udm_ue_add: Assertion `udm_ue->supi' failed. (../src/udm/context.c:144)
backtrace() returned 8 addresses (../lib/core/ogs-abort.c:37)
2023-09-04 07:03:16 +09:00
Sukchan Lee d3a10ed0ca [WebUI] Update NodeJS installation Guide 2023-09-03 20:03:47 +09:00
Sukchan Lee dcdf821542 [AMF] amf_ue_set_suci: Assertion `suci` (#2567)
Cannot convert SUCI in `Not implemented SUPI format [4]`
2023-09-03 17:59:10 +09:00
theodorsm d5eff9e24a Fix typo and remove trailing whitespaces in nas-security 2023-09-02 08:24:24 +09:00
Carlos Giraldo 902a348f1d Update docs.md 2023-08-30 19:58:21 +09:00
Sukchan Lee 7a3d551752 [TLV] Oops! Fixed my mistake on pull #2549 2023-08-26 16:35:27 +09:00
Sukchan Lee 5c726684b3 [TLV] GTP parser crashg from FuzzingLabs
See below for details
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=61780#c1
2023-08-26 16:30:29 +09:00