[DBI] Improve YAML policy config by adding SUPI range filtering

Previously, policies were configured via YAML files without MongoDB.
This update enhances the YAML approach by adding the 'supi_range' key to
filter policies based on UE SUPI ranges. When both 'supi_range' and
'plmn_id' are provided, both conditions must be met.

Note that PLMN-ID filtering will be deprecated in a future release.
This commit is contained in:
Sukchan Lee
2025-02-05 21:37:38 +09:00
parent e5545669fc
commit 07cb42110e
34 changed files with 548 additions and 772 deletions

View File

@@ -214,17 +214,17 @@ char *ogs_uint64_to_string(uint64_t x)
return dup;
}
ogs_uint24_t ogs_uint24_from_string(char *str)
ogs_uint24_t ogs_uint24_from_string(char *str, int base)
{
ogs_uint24_t x;
ogs_assert(str);
x.v = ogs_uint64_from_string(str);
x.v = ogs_uint64_from_string(str, base);
return x;
}
uint64_t ogs_uint64_from_string(char *str)
uint64_t ogs_uint64_from_string(char *str, int base)
{
uint64_t x;
@@ -234,7 +234,7 @@ uint64_t ogs_uint64_from_string(char *str)
return 0;
errno = 0;
x = strtoll(str, NULL, 16);
x = strtoll(str, NULL, base);
if ((errno == ERANGE && (x == LONG_MAX || x == LONG_MIN)) ||
(errno != 0 && x == 0)) {

View File

@@ -53,8 +53,17 @@ char *ogs_uint36_to_0string(uint64_t x);
char *ogs_uint64_to_0string(uint64_t x);
char *ogs_uint64_to_string(uint64_t x);
ogs_uint24_t ogs_uint24_from_string(char *str);
uint64_t ogs_uint64_from_string(char *str);
#define ogs_uint24_from_string_decimal(str) \
ogs_uint24_from_string((str), 10)
#define ogs_uint24_from_string_hexadecimal(str) \
ogs_uint24_from_string((str), 16)
ogs_uint24_t ogs_uint24_from_string(char *str, int base);
#define ogs_uint64_from_string_decimal(str) \
ogs_uint64_from_string((str), 10)
#define ogs_uint64_from_string_hexadecimal(str) \
ogs_uint64_from_string((str), 16)
uint64_t ogs_uint64_from_string(char *str, int base);
double *ogs_alloc_double(double value);