diff options
Diffstat (limited to 'community/modemmanager/0002-sms-part-3gpp-add-flag-for-indicating-PDU-is-transfe.patch')
-rw-r--r-- | community/modemmanager/0002-sms-part-3gpp-add-flag-for-indicating-PDU-is-transfe.patch | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/community/modemmanager/0002-sms-part-3gpp-add-flag-for-indicating-PDU-is-transfe.patch b/community/modemmanager/0002-sms-part-3gpp-add-flag-for-indicating-PDU-is-transfe.patch deleted file mode 100644 index 488d71070de..00000000000 --- a/community/modemmanager/0002-sms-part-3gpp-add-flag-for-indicating-PDU-is-transfe.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 62b440b34c8e00cd9e136c0c5d9cb0a11291511f Mon Sep 17 00:00:00 2001 -From: Clayton Craft <clayton@craftyguy.net> -Date: Fri, 16 Apr 2021 20:42:15 -0700 -Subject: [PATCH 2/2] sms-part-3gpp: add flag for indicating PDU is - transfer-route message - -When the message is a transfer-route MT, there is no SMSC address to -parse out. This flag allows indicating when the PDU is one such message. ---- - src/mm-broadband-modem-mbim.c | 1 + - src/mm-broadband-modem-qmi.c | 5 +++++ - src/mm-sms-part-3gpp.c | 42 +++++++++++++++++++---------------- - src/mm-sms-part-3gpp.h | 1 + - 4 files changed, 30 insertions(+), 19 deletions(-) - -diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c -index df9fc15a..7513ab18 100644 ---- a/src/mm-broadband-modem-mbim.c -+++ b/src/mm-broadband-modem-mbim.c -@@ -5361,6 +5361,7 @@ add_sms_part (MMBroadbandModemMbim *self, - pdu->pdu_data, - pdu->pdu_data_size, - self, -+ FALSE, - &error); - if (part) { - mm_obj_dbg (self, "correctly parsed PDU (%d)", pdu->message_index); -diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c -index 70d1ac57..21fe4118 100644 ---- a/src/mm-broadband-modem-qmi.c -+++ b/src/mm-broadband-modem-qmi.c -@@ -5637,6 +5637,7 @@ add_new_read_sms_part (MMIfaceModemMessaging *self, - guint32 index, - QmiWmsMessageTagType tag, - QmiWmsMessageFormat format, -+ gboolean transfer_route, - GArray *data) - { - MMSmsPart *part = NULL; -@@ -5657,6 +5658,7 @@ add_new_read_sms_part (MMIfaceModemMessaging *self, - (guint8 *)data->data, - data->len, - self, -+ transfer_route, - &error); - break; - case QMI_WMS_MESSAGE_FORMAT_MWI: -@@ -5723,6 +5725,7 @@ wms_raw_read_ready (QmiClientWms *client, - message->memory_index, - tag, - format, -+ FALSE, - data); - } - -@@ -6073,6 +6076,7 @@ wms_indication_raw_read_ready (QmiClientWms *client, - ctx->memory_index, - tag, - format, -+ FALSE, - data); - } - -@@ -6160,6 +6164,7 @@ messaging_event_report_indication_cb (QmiClientNas *client, - memory_index, - tag, - msg_format, -+ TRUE, - raw_data); - return; - } -diff --git a/src/mm-sms-part-3gpp.c b/src/mm-sms-part-3gpp.c -index fbf8e114..51f2cfeb 100644 ---- a/src/mm-sms-part-3gpp.c -+++ b/src/mm-sms-part-3gpp.c -@@ -355,7 +355,7 @@ mm_sms_part_3gpp_new_from_pdu (guint index, - return NULL; - } - -- return mm_sms_part_3gpp_new_from_binary_pdu (index, pdu, pdu_len, log_object, error); -+ return mm_sms_part_3gpp_new_from_binary_pdu (index, pdu, pdu_len, log_object, FALSE, error); - } - - MMSmsPart * -@@ -363,6 +363,7 @@ mm_sms_part_3gpp_new_from_binary_pdu (guint index, - const guint8 *pdu, - gsize pdu_len, - gpointer log_object, -+ gboolean transfer_route, - GError **error) - { - MMSmsPart *sms_part; -@@ -404,25 +405,28 @@ mm_sms_part_3gpp_new_from_binary_pdu (guint index, - - offset = 0; - -- /* ---------------------------------------------------------------------- */ -- /* SMSC, in address format, precedes the TPDU -- * First byte represents the number of BYTES for the address value */ -- PDU_SIZE_CHECK (1, "cannot read SMSC address length"); -- smsc_addr_size_bytes = pdu[offset++]; -- if (smsc_addr_size_bytes > 0) { -- PDU_SIZE_CHECK (offset + smsc_addr_size_bytes, "cannot read SMSC address"); -- /* SMSC may not be given in DELIVER PDUs */ -- address = sms_decode_address (&pdu[1], 2 * (smsc_addr_size_bytes - 1), error); -- if (!address) { -- g_prefix_error (error, "Couldn't read SMSC address: "); -- mm_sms_part_free (sms_part); -- return NULL; -- } -- mm_sms_part_take_smsc (sms_part, g_steal_pointer (&address)); -- mm_obj_dbg (log_object, " SMSC address parsed: '%s'", mm_sms_part_get_smsc (sms_part)); -- offset += smsc_addr_size_bytes; -+ if (!transfer_route) { -+ /* ---------------------------------------------------------------------- */ -+ /* SMSC, in address format, precedes the TPDU -+ * First byte represents the number of BYTES for the address value */ -+ PDU_SIZE_CHECK (1, "cannot read SMSC address length"); -+ smsc_addr_size_bytes = pdu[offset++]; -+ if (smsc_addr_size_bytes > 0) { -+ PDU_SIZE_CHECK (offset + smsc_addr_size_bytes, "cannot read SMSC address"); -+ /* SMSC may not be given in DELIVER PDUs */ -+ address = sms_decode_address (&pdu[1], 2 * (smsc_addr_size_bytes - 1), error); -+ if (!address) { -+ g_prefix_error (error, "Couldn't read SMSC address: "); -+ mm_sms_part_free (sms_part); -+ return NULL; -+ } -+ mm_sms_part_take_smsc (sms_part, g_steal_pointer (&address)); -+ mm_obj_dbg (log_object, " SMSC address parsed: '%s'", mm_sms_part_get_smsc (sms_part)); -+ offset += smsc_addr_size_bytes; -+ } else -+ mm_obj_dbg (log_object, " no SMSC address given"); - } else -- mm_obj_dbg (log_object, " no SMSC address given"); -+ mm_obj_dbg (log_object, " This is a transfer-route message"); - - - /* ---------------------------------------------------------------------- */ -diff --git a/src/mm-sms-part-3gpp.h b/src/mm-sms-part-3gpp.h -index bef416fa..c6f4cf3f 100644 ---- a/src/mm-sms-part-3gpp.h -+++ b/src/mm-sms-part-3gpp.h -@@ -30,6 +30,7 @@ MMSmsPart *mm_sms_part_3gpp_new_from_binary_pdu (guint index, - const guint8 *pdu, - gsize pdu_len, - gpointer log_object, -+ gboolean transfer_route, - GError **error); - guint8 *mm_sms_part_3gpp_get_submit_pdu (MMSmsPart *part, - guint *out_pdulen, --- -2.31.1 - |