mirror of
https://github.com/open5gs/open5gs.git
synced 2026-04-28 11:29:32 +00:00
Some checks failed
Meson Continuous Integration / Build and Test on Ubuntu Latest (push) Has been cancelled
212 lines
8.2 KiB
Markdown
212 lines
8.2 KiB
Markdown
Use mounse07410(vlm_master) git's fork for asn1c
|
|
|
|
commit 5baed98c03a2da619ef9b9d5c73f567ee0ce4d76 (HEAD -> vlm_master, origin/vlm_master, origin/HEAD)
|
|
Merge: f07a28d4 b87598f5
|
|
Author: Mouse <5923577+mouse07410@users.noreply.github.com>
|
|
Date: Mon Mar 30 15:04:31 2026 -0400
|
|
|
|
Merge pull request #485 from mouse07410/copilot/fix-run-sh-compilation-error
|
|
|
|
Fix uninitialized `char ch` causing clang -Werror build failure in XER/JER decoders
|
|
|
|
===========================================
|
|
user@host ~/Documents/git/my$ \
|
|
git clone https://github.com/mouse07410/asn1c.git
|
|
user@host ~/Documents/git/my$ \
|
|
git checkout 5baed98c03a2da619ef9b9d5c73f567ee0ce4d76
|
|
|
|
OR
|
|
|
|
user@host ~/Documents/git/my$ \
|
|
git clone https://github.com/open5gs/asn1c.git
|
|
|
|
user@host Documents/git/my/asn1c$ \
|
|
autoreconf -fi;./configure;make -j8
|
|
|
|
Modify 36413-h30.txt to 36413-h30.asn
|
|
===========================================
|
|
user@host ~/documents/git/open5gs/lib/asn1c/support/s1ap-r17.3.0$ \
|
|
diff 36413-h30.txt 36413-h30.asn
|
|
|
|
Modify 38413-h30.txt to 38413-h30.asn
|
|
===========================================
|
|
user@host ~/documents/git/open5gs/lib/asn1c/support/ngap-r17.3.0$ \
|
|
diff 38413-h30.txt 38413-h30.asn
|
|
|
|
ASN.1 encoder/decoder
|
|
===========================================
|
|
user@host ~/documents/git/open5gs/lib/asn1c/s1ap$ \
|
|
ASN1C_PREFIX=S1AP_ ../../../../my/asn1c/asn1c/asn1c -pdu=all \
|
|
-fcompound-names -findirect-choice -fno-include-deps \
|
|
-no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR \
|
|
-no-gen-OER -no-gen-UPER \
|
|
../support/s1ap-r17.3.0/36413-h30.asn
|
|
|
|
user@host ~/documents/git/open5gs/lib/asn1c/s1ap$ \
|
|
../../../../my/asn1c/asn1c/asn1c -pdu=all \
|
|
-fprefix=S1AP_ -fcompound-names -findirect-choice -fno-include-deps \
|
|
-no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR \
|
|
-no-gen-OER -no-gen-UPER \
|
|
../support/s1ap-r17.3.0/36413-h30.asn
|
|
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/ngap$ \
|
|
ASN1C_PREFIX=NGAP_ ../../../../my/asn1c/asn1c/asn1c -pdu=all \
|
|
-fcompound-names -findirect-choice -fno-include-deps \
|
|
-no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR \
|
|
-no-gen-OER -no-gen-UPER \
|
|
../support/ngap-r17.3.0/38413-h30.asn
|
|
|
|
Fix NGAP_RANNodeNameUTF8String.c (Issues #994 - APC_EXTENSIBLE)
|
|
===============================================================
|
|
diff --git a/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c b/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c
|
|
index 9e469f7f..79ebd028 100644
|
|
--- a/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c
|
|
+++ b/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c
|
|
@@ -46,7 +46,11 @@ NGAP_RANNodeNameUTF8String_constraint(const asn_TYPE_descriptor_t *td, const voi
|
|
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
|
asn_per_constraints_t asn_PER_type_NGAP_RANNodeNameUTF8String_constr_1 CC_NOTUSED = {
|
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
|
+#if 0 /* modified by acetcom */
|
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
|
+#else
|
|
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
|
|
+#endif
|
|
0, 0 /* No PER value map */
|
|
};
|
|
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
|
|
|
Fix NGAP_AMFNameUTF8String.c (Issues #994 - APC_EXTENSIBLE)
|
|
===============================================================
|
|
diff --git a/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c b/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c
|
|
index 1df33a4d..a74f97ea 100644
|
|
--- a/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c
|
|
+++ b/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c
|
|
@@ -46,7 +46,11 @@ NGAP_AMFNameUTF8String_constraint(const asn_TYPE_descriptor_t *td, const void *s
|
|
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
|
asn_per_constraints_t asn_PER_type_NGAP_AMFNameUTF8String_constr_1 CC_NOTUSED = {
|
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
|
+#if 0 /* modified by acetcom */
|
|
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
|
+#else
|
|
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
|
|
+#endif
|
|
0, 0 /* No PER value map */
|
|
};
|
|
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
|
|
|
Check ExtIEs in ProtocolExtensionContainer
|
|
==========================================
|
|
diff --git a/src/smf/ngap-build.c b/src/smf/ngap-build.c
|
|
index 9554be276..051cb6e8a 100644
|
|
--- a/src/smf/ngap-build.c
|
|
+++ b/src/smf/ngap-build.c
|
|
@@ -180,13 +180,13 @@ ogs_pkbuf_t *ngap_build_pdu_session_resource_setup_request_transfer(
|
|
|
|
if (smf_self()->security_indication.
|
|
maximum_integrity_protected_data_rate_downlink) {
|
|
- NGAP_ProtocolExtensionContainer_9625P229_t *extContainer = NULL;
|
|
+ NGAP_ProtocolExtensionContainer_11905P297_t *extContainer = NULL;
|
|
NGAP_SecurityIndication_ExtIEs_t *extIe = NULL;
|
|
NGAP_MaximumIntegrityProtectedDataRate_t
|
|
*MaximumIntegrityProtectedDataRate = NULL;
|
|
|
|
extContainer = CALLOC(1,
|
|
- sizeof(NGAP_ProtocolExtensionContainer_9625P229_t));
|
|
+ sizeof(NGAP_ProtocolExtensionContainer_11905P297_t));
|
|
ogs_assert(extContainer);
|
|
SecurityIndication->iE_Extensions =
|
|
(struct NGAP_ProtocolExtensionContainer *)extContainer;
|
|
|
|
Check common file
|
|
===========================================
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/common$ \
|
|
git diff asn_internal.h
|
|
diff --git a/lib/asn1c/common/asn_internal.h b/lib/asn1c/common/asn_internal.h
|
|
diff -u asn_internal.h ~/asn_internal.h
|
|
--- asn_internal.h 2022-02-26 15:48:33.431509100 +0900
|
|
+++ /home/acetcom/asn_internal.h 2022-02-26 15:43:00.890972555 +0900
|
|
@@ -34,10 +34,53 @@
|
|
#define ASN1C_ENVIRONMENT_VERSION 923 /* Compile-time version */
|
|
int get_asn1c_environment_version(void); /* Run-time version */
|
|
|
|
+#if 0 /* modified by acetcom */
|
|
#define CALLOC(nmemb, size) calloc(nmemb, size)
|
|
#define MALLOC(size) malloc(size)
|
|
#define REALLOC(oldptr, size) realloc(oldptr, size)
|
|
#define FREEMEM(ptr) free(ptr)
|
|
+#else
|
|
+#include "proto/ogs-proto.h"
|
|
+
|
|
+static ogs_inline void *ogs_asn_malloc(size_t size, const char *file_line)
|
|
+{
|
|
+ void *ptr = ogs_malloc(size);
|
|
+ if (!ptr) {
|
|
+ ogs_fatal("asn_malloc() failed in `%s`", file_line);
|
|
+ ogs_assert_if_reached();
|
|
+ }
|
|
+
|
|
+ return ptr;
|
|
+}
|
|
+static ogs_inline void *ogs_asn_calloc(
|
|
+ size_t nmemb, size_t size, const char *file_line)
|
|
+{
|
|
+ void *ptr = ogs_calloc(nmemb, size);
|
|
+ if (!ptr) {
|
|
+ ogs_fatal("asn_calloc() failed in `%s`", file_line);
|
|
+ ogs_assert_if_reached();
|
|
+ }
|
|
+
|
|
+ return ptr;
|
|
+}
|
|
+static ogs_inline void *ogs_asn_realloc(
|
|
+ void *oldptr, size_t size, const char *file_line)
|
|
+{
|
|
+ void *ptr = ogs_realloc(oldptr, size);
|
|
+ if (!ptr) {
|
|
+ ogs_fatal("asn_realloc() failed in `%s`", file_line);
|
|
+ ogs_assert_if_reached();
|
|
+ }
|
|
+
|
|
+ return ptr;
|
|
+}
|
|
+
|
|
+#define CALLOC(nmemb, size) ogs_asn_calloc(nmemb, size, OGS_FILE_LINE)
|
|
+#define MALLOC(size) ogs_asn_malloc(size, OGS_FILE_LINE)
|
|
+#define REALLOC(oldptr, size) ogs_asn_realloc(oldptr, size, OGS_FILE_LINE)
|
|
+#define FREEMEM(ptr) ogs_free(ptr)
|
|
+
|
|
+#endif
|
|
|
|
#define asn_debug_indent 0
|
|
#define ASN_DEBUG_INDENT_ADD(i) do{}while(0)
|
|
|
|
Check meson.build
|
|
===========================================
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/s1ap$ \
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/ngap$ \
|
|
cat Makefile.am.libasncodec
|
|
|
|
To remove ` / ` in Makefile.am.libasncode
|
|
---------------------
|
|
%s/\s*\\\s*$//g
|
|
---------------------
|
|
|
|
Remove unnecessary files
|
|
===========================================
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/s1ap$ \
|
|
rm -f S1AP_E-RAB-IE-ContainerPairList.c \
|
|
S1AP_ProtocolError-IE-ContainerList.c \
|
|
S1AP_ProtocolIE-ContainerPair.c S1AP_ProtocolIE-FieldPair.c \
|
|
S1AP_ProtocolIE-ContainerPairList.c
|
|
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/ngap$ \
|
|
rm -f NGAP_ProtocolIE-ContainerPair.c NGAP_ProtocolIE-FieldPair.c \
|
|
NGAP_ProtocolIE-ContainerPairList.c \
|
|
NGAP_ProtocolIE-ContainerPair.h NGAP_ProtocolIE-ContainerPairList.h \
|
|
NGAP_ProtocolIE-FieldPair.h
|
|
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/s1ap$ \
|
|
rm -f Makefile.am.asn1convert Makefile.am.libasncodec
|
|
|
|
user@host ~/Documents/git/open5gs/lib/asn1c/s1ap$ \
|
|
rm -f converter-example.mk converter-example.c pdu_collection.c
|