aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1
AgeCommit message (Collapse)AuthorFilesLines
2023-03-11rspro: re-order ASN1 choice members to work around wireshark asn.1 bugHarald Welte1-3/+3
It seems that for some reason the asn2wrs.py code generator cannot deal with ASN.1 choices being defined with their numeric values defined in non-ascending order. Other ASN.1 code genreation tools work perfectly fine under such conditions. The decode error happens in the COL_INFO: The numeric value of the choice is mapped to a wrong entry in the string table, resulting in the wrong message type being shown in the INFO column. We apply this patch to the ASN.1 source of the RSPRO protocol definition to fix the decode.
2023-03-11WIP: Osmocom RSPRO dissector supportHarald Welte6-0/+518
The Osmocom RSPRO protocol is a protocol for remote SIM card access, i.e. extending the SIM card interface between phone/mdoem (UE) and a remote SIM card reader. The primary user of this protocol is osmo-remsim software suite, which can be found at https://osmocom.org/projects/osmo-remsim/wiki RSPRO is specified in ASN.1 using BER and runs on top of the IPA multiplex (protocol-gsm_ipa.c). Change-Id: Ibcdb2c92281d05c36e3973de4d7ec4aa0cd9b207
2023-02-25NR-RRC: Fix assign instead of comparisonJohn Thacker1-4/+4
This is mean to use the value to select the correct field length. Fix Coverity CID 1517107, 1517124, 1517136, 1517164, 1517184, 1517195.
2023-02-25Fix item length in ASN.1 templates tooJohn Thacker2-2/+2
Some of the item length changes in !9655 needed to be done with the ASN.1 templates so that they don't get lost on ASN.1 regeneration. Fixup ed8ee831fda2df69657af95dc34a3ea6b3ef4c88
2023-02-20Check that value_string values fit into field widthMartin Mathieson2-2/+2
2023-02-01NGAP: fix dissection NAS PDU IE broken in b801ea0191Pascal Quantin1-1/+1
2023-01-17MinGW: Fix -WclobberedJoão Valverde2-11/+31
2023-01-17NR RRC: upgrade dissector to v17.3.0Pascal Quantin9-144/+417
2023-01-16LTE RRC: upgrade dissector to v17.3.0Pascal Quantin9-76/+96
2023-01-16LPP: upgrade dissector to v17.3.0Pascal Quantin3-138/+155
2023-01-12E2AP: Use tvb_memcpy instead of memcpy(...tvb_get_ptr())Gerald Combs1-1/+1
2023-01-11F1AP: upgrade dissector to v17.3.0Pascal Quantin9-113/+336
2023-01-11E1AP: upgrade dissector to v17.3.0Pascal Quantin8-25/+55
2023-01-11NRPPa: upgrade dissector to v17.3.0Pascal Quantin8-236/+1363
2023-01-11XnAP: upgrade dissector to v17.3.0Pascal Quantin8-499/+588
2023-01-11NGAP: upgrade dissector to v17.3.0Pascal Quantin8-98/+117
2023-01-11M2AP: upgrade dissector to v17.0.1Pascal Quantin8-22/+95
2023-01-11X2AP: upgrade dissector to v17.3.0Pascal Quantin8-12/+33
2023-01-11S1AP: upgrade dissector to v17.3.0Pascal Quantin8-17/+19
2023-01-03code cleaningUwe Heuert1-1/+1
2023-01-03prevent unused functionUwe Heuert1-0/+4
2023-01-03BSI TR-03109 required extensionsUwe Heuert4-1/+149
2022-12-30LCS-AP: Update to 3GPP TS 29.171 V17.2.0Joakim Karlsson7-45/+136
2022-12-22E2AP: Use gnbid to share RAN Function ID mappingsMartin Mathieson2-4/+126
2022-12-15NBAP: Add UEID to HS-DSCH flows added from RadioLinkReconfigurationJohn Thacker1-1/+12
A few HS-DSCH conversations are created when calling add_hsdsch_bind, such as when a RadioLinkReconfigurationPrepare procedure has a id-HSDSCH-MACdFlows-to-Add element. This method should add the CommunicationContextID to the conversation just like the other ways of creating the conversation. This provides a UEID for a unique key for RLC reassembly.
2022-12-14pkixqualified: Clear the oid at the start of each QCStatementJohn Thacker1-0/+3
Clear the object_identifier_id global at the beginning of each QCStatement, in case the statementId BER has errors and does not put a value in the ptr. (call_ber_oid_callback correctly handles being passed a NULL.) Fix #18552.
2022-12-04E2AP: Use S-NSSAI field in KPMMartin Mathieson2-12/+2
2022-12-03wmem: Remove strbuf max size parameterJoão Valverde2-7/+7
This parameter was introduced as a safeguard for bugs that generate an unbounded string but its utility for that purpose is doubtful and the way it is being used creates problems with invalid truncation of UTF-8 strings. Rename wmem_strbuf_sized_new() with a better name.
2022-11-30asn2wrs: disable line directive by defaultJoakim Karlsson8-8/+8
To debug with line directive build with -DENABLE_DEBUG_A2W=ON flag
2022-11-28S1AP: restore g09914ccaPascal Quantin1-3/+2
It was reverted by mistake in g47a1b0f9
2022-11-28S1AP: Wrong ie id used on RequestTypeAdditionalInfoAndersBroman1-4/+4
2022-11-21XNAP: Use bitmask for E-UTRA and NR cell identitiesJohn Thacker1-13/+11
Instead of using tvb_get_bits and proto_tree_add_uint, use a bitmask in the field info and proto_tree_add_item. This means that when epan/print.c writes PDML or JSON, the value written is the correctly masked value (PDML also includes the unmasked value.) When proto_tree_add_uint is used, the value written to PDML and JSON is the original value from the packet buffer, not properly shifted.
2022-11-20NGAP: Use bitmask for NRCellIdentity and EUTRACellIdentityJohn Thacker1-6/+4
Using a bitmask in the field definition allows us to use proto_tree_add_item, which means that when print.c writes PDML and JSON, the value written is the correctly masked value (PDML also includes the unmasked value.) When functions like proto_tree_add_uint are used instead, the value written to PDML and JSON is the original value from the packet buffer, not properly shifted.
2022-11-20S1AP: Use bitmask for cellIdentityJohn Thacker1-3/+3
Instead of using tvb_get_bits32 and proto_tree_add_uint, use a bitmask in the field info and proto_tree_add_item. This means that when epan/print.c writes PDML or JSON, the value written is the correctly masked value (PDML also includes the unmasked value.) When proto_tree_add_uint is used, the value written to PDML and JSON is the original value from the packet buffer, not properly shifted.
2022-11-17X509IF: Fix null pointer dereferencing.João Valverde1-1/+1
Fixes #18652.
2022-11-16X509IF: Remove another fixed length bufferJoão Valverde2-18/+16
2022-11-16X509IF: Fix string truncationJoão Valverde2-14/+14
Use a wmem_strbuf_t to avoid a truncation in the middle of a multibyte character with a fixed length buffer. Fixes #18543.
2022-11-15PCAP: upgrade dissector to v17.0.0Pascal Quantin8-129/+558
In their infinite wisdom, 3GPP succeeded to make non backward compatible ASN.1 description Closes #18646
2022-11-05E2AP: peek at RAN function name using tvb_get_stringz_encMartin Mathieson1-1/+2
2022-11-02E2AP: Add some missing IEsMartin Mathieson2-21/+60
2022-11-01GOOSE: add back goose.floating_point filterPascal Quantin1-3/+2
Let's add it as a hidden filter for IEEE 754 single precision floating point Closes #18491
2022-11-01F1AP: upgrade dissector to v17.2.0Pascal Quantin10-628/+6381
2022-10-31E2AP: Following ans2wrs.py fix, can now extend RANParameter-ID rangeMartin Mathieson1-2/+1
2022-10-28E2AP: Add a comment for constant value taken from later specMartin Mathieson1-0/+1
2022-10-27e2ap: fix a compiler warning due to a strange maxofRICrequestID value.Guy Harris1-1/+1
The minimum and maximum length arguments to dissect_per_constrained_set_of() are currently both ints. According to O-RAN.WG3.E2AP-v02.03, section 9.3.7 "Constant definitions", maxofRICrequestID is 1024, not 2^32-1; however, we were specifying it as 2^32-1 (4294967295). 2^32-1 won't fit into an int, and Apple clang version 14.0.0 (clang-1400.0.29.102) warns about that: ./asn1/e2ap/e2ap.cnf:647:54: error: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Werror,-Wconstant-conversion] 1, maxofRICrequestID, FALSE); ^~~~~~~~~~~~~~~~~ ./asn1/e2ap/packet-e2ap-val.h:7:40: note: expanded from macro 'maxofRICrequestID' #define maxofRICrequestID 4294967295 ^~~~~~~~~~ The handling of MIN and MAX should be done with separate "minimum is MIN" and "maximum is MAX" flags, and we might want either to have asn2wrs.py reject attempts to have constraints with integer minimum and maximum values outside the range [-2^31, 2^31-1], make the types for sizes unsigned, or allow 64-bit constraints (and still limit the constraint values, so we don't have to dive down a bignum rathole). But, for now, we just change maxofRICrequestID to match what the 2022-10 version of the spec, 2.03, appears to say. (I can't find the 2.01 version online, so I don't know whether it was 1024 in 2.01, or if it was changed in 2.02 or 2.03.)
2022-10-27E2AP 2.01Martin Mathieson13-1121/+3716
2022-10-22X2AP: Make it possible to dissct private IEsAndersBroman1-0/+11
2022-10-21Camel: Dissect TimeAndTimezoneAndersBroman2-1/+60
Closes #18485
2022-10-20h248: Add missing dot in H.248 protocol nameStig Bjørlykke1-3/+3
Add the missing dot in H.248 protocol name and dissector table. Closes #18513
2022-10-20LDAP: Validate DNS name string encodingJoão Valverde2-19/+16