From f5934533289e9dbe3726b1943a801573ffe14d9a Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Thu, 13 Mar 2025 13:58:09 -0400 Subject: [PATCH] PDU: Misc Catch All UTF8 Decodes on Unknown Format Types; --- src/dmr_pdu.c | 2 ++ src/p25p1_pdu_data.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dmr_pdu.c b/src/dmr_pdu.c index d37ab5f..0729aec 100644 --- a/src/dmr_pdu.c +++ b/src/dmr_pdu.c @@ -461,6 +461,7 @@ void decode_ip_pdu (dsd_opts * opts, dsd_state * state, uint16_t len, uint8_t * { sprintf (state->dmr_lrrp_gps[slot], " IP Call SRC: %d; Port; %d; DST: %d; Port: %d;", src24, port1, dst24, port2); fprintf (stderr, "Unknown UDP Port;"); + utf8_to_text(state, 0, len-28, input+28); } } @@ -469,6 +470,7 @@ void decode_ip_pdu (dsd_opts * opts, dsd_state * state, uint16_t len, uint8_t * { sprintf (state->dmr_lrrp_gps[slot], " IP Call SRC: %d; DST: %d; Protocol: %d;", src24, dst24, prot); fprintf(stderr, "Unknown IP Protocol: %02X;", prot); + utf8_to_text(state, 0, len-28, input+28); } } diff --git a/src/p25p1_pdu_data.c b/src/p25p1_pdu_data.c index 0ab327c..31a4bae 100644 --- a/src/p25p1_pdu_data.c +++ b/src/p25p1_pdu_data.c @@ -251,8 +251,10 @@ void p25_decode_pdu_data(dsd_opts * opts, dsd_state * state, uint8_t * input, in if (sap == 0 || sap == 4) //User Data or Packet Data (both are UDP typically, same format dmr UDP/IP data) decode_ip_pdu (opts, state, len, input+ptr); - if (sap == 48) //Tier 1 Location Service (or does it depend on the io bit?) + else if (sap == 48) //Tier 1 Location Service (or does it depend on the io bit?) utf8_to_text(state, 0, len-ptr, input+ptr); //TODO, read initial string, i.e., $GPRMC and properly decode + + else utf8_to_text(state, 0, len-ptr, input+ptr); //default catch all } else {