- 28 Oct, 2017 1 commit
-
-
Lev Walkin authored
-
- 26 Oct, 2017 6 commits
-
-
Lev Walkin authored
-
Lev Walkin authored
-
Vasil Velichkov authored
-
Vasil Velichkov authored
constr_SET_OF.c:315:13: runtime error: null pointer passed as argument 1, which is declared to never be null Also move some asserts into dedicated function because b->buf could be NULL while a->length is greater then zero
-
Vasil Velichkov authored
A length determinant was not added when the SEQUENCE OF was empty according to the X.691 #20.6 and #11.9.4.1. This fixes a failure in 16-SEQUENCE-bundle Decoding 1 bytes of T yielded RC_WMORE after byte 0 Original random structure: T ::= { list: list ::= { } guard: 01 }
-
Vasil Velichkov authored
when the 32bit build is dislabed. On MacOS with Xcode 9.0 the make check fails because the ar cannot build empty static libraries Fixes #228
-
- 24 Oct, 2017 14 commits
-
-
Lev Walkin authored
-
Lev Walkin authored
-
Bi-Ruei, Chiu authored
-
Bi-Ruei, Chiu authored
Information object set RANAP-ELEMENTARY-PROCEDURES is a union of RANAP-ELEMENTARY-PROCEDURES-CLASS-1 and RANAP-ELEMENTARY-PROCEDURES-CLASS-2. Each time _asn1f_assign_cell_value() parses an object, value of an incremented counter is assigned to '_type_unique_index' field for distinquishing different items. However, these two information object sets have their own counters. It has chance that generated variables have the same name and also the same '_type_unique_index'. And they collide if they join up into one set. S1AP's ASN.1 is lucky without this problem, while RANAP has. By adding the number of items of the first set to '_type_unique_index' field of items of the second set can solve this issue.
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
- 22 Oct, 2017 2 commits
-
-
Lev Walkin authored
-
Lev Walkin authored
-
- 21 Oct, 2017 17 commits
-
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Lev Walkin authored
-
Bi-Ruei, Chiu authored
-
Bi-Ruei, Chiu authored
-
Bi-Ruei, Chiu authored
There will be two selector functions generated for the following ASN.1 excerpt. InitiatingMessage ::= SEQUENCE { procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) } This pull request enables different function names by adding field name after type name.
-
Bi-Ruei, Chiu authored
For example, there are many 'enum value_PR' and 'struct value' generated if a class is instantiated as many instances. typedef enum value_PR { value_PR_NOTHING, /* No components present */ ..... } value_PR; typedef struct ProtocolIE_Field_6563P5 { .... struct value { value_PR present; union value_u { } choice; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } value; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } ProtocolIE_Field_6563P5_t;
-
Bi-Ruei, Chiu authored
E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= { { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory }, ... } result in 'FATAL: Information Object Set E-RABToBeSetupItemBearerSUReqIEs contains no objects at line xxxx' If it contains more than one entry then there is no problem. E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= { { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory }, ... }
-
Bi-Ruei, Chiu authored
One of the most tricky ASN.1 excerpt : E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= { { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory }, ... } E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} } E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} } ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE (SIZE (lowerBound..upperBound)) OF ProtocolIE-SingleContainer {{IEsSetParam}} ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field {{IEsSetParam}} ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { id S1AP-PROTOCOL-IES.&id ({IEsSetParam}), criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) }
-
Bi-Ruei, Chiu authored
-
Bi-Ruei, Chiu authored
-