- Apr 21, 2021
-
-
Aleksander Morgado authored
-
Aleksander Morgado authored
-
Aleksander Morgado authored
We have a custom modified gtk-doc.make file in our sources, which disables the gtkdoc-rebase on local install step, so we don't want autoreconf to copy a different one when we're bootstrapping. (cherry picked from commit 4ae623c3)
-
- Apr 12, 2021
-
-
Aleksander Morgado authored
mm_manager_get_proxy() may actually return NULL if creating the internal GDBusProxy for the Manager interface fails. (cherry picked from commit 5a735317)
-
Aleksander Morgado authored
ModemManager[6954]: <warn> [1618260091.319919] [br0] invalid sysfs path read for net/br0 ** ERROR:kerneldevice/mm-kernel-device-generic.c:235:ptr_array_add_sysfs_attribute_link_basename: assertion failed: (array && sysfs_path && attribute) Bail out! ERROR:kerneldevice/mm-kernel-device-generic.c:235:ptr_array_add_sysfs_attribute_link_basename: assertion failed: (array && sysfs_path && attribute) Thread 1 "ModemManager" received signal SIGABRT, Aborted. (gdb) bt #0 0x00007ffff7438ef5 in raise () at /usr/lib/libc.so.6 #1 0x00007ffff7422862 in abort () at /usr/lib/libc.so.6 #2 0x00007ffff76c2084 in () at /usr/lib/libglib-2.0.so.0 #3 0x00007ffff771d85d in g_assertion_message_expr () at /usr/lib/libglib-2.0.so.0 #4 0x00005555556a5337 in ptr_array_add_sysfs_attribute_link_basename (array=0x5555557de520, sysfs_path=0x0, attribute=0x555555703bd8 "driver", out_value=0x0) at kerneldevice/mm-kernel-device-generic.c:235 #5 0x00005555556a542b in preload_contents_other (self=0x5555557a6c60) at kerneldevice/mm-kernel-device-generic.c:255 #6 0x00005555556a6485 in preload_contents (self=0x5555557a6c60) at kerneldevice/mm-kernel-device-generic.c:517 #7 0x00005555556a7fb6 in check_preload (self=0x5555557a6c60) at kerneldevice/mm-kernel-device-generic.c:980 #8 0x00005555556a855f in initable_init (initable=0x5555557a6c60, cancellable=0x0, error=0x7fffffffe5c8) at kerneldevice/mm-kernel-device-generic.c:1127 #9 0x00007ffff78a2f41 in g_initable_new_valist () at /usr/lib/libgio-2.0.so.0 #10 0x00007ffff78a2ffa in g_initable_new () at /usr/lib/libgio-2.0.so.0 #11 0x00005555556a8205 in mm_kernel_device_generic_new_with_rules (props=0x5555557a5fa0, rules=0x7fffec001e30, error=0x7fffffffe5c8) at kerneldevice/mm-kernel-device-generic.c:1042 #12 0x00005555556a827d in mm_kernel_device_generic_new (props=0x5555557a5fa0, error=0x7fffffffe5c8) at kerneldevice/mm-kernel-device-generic.c:1063 #13 0x00005555555aba9c in handle_kernel_event (self=0x555555793220, properties=0x5555557a5fa0, error=0x7fffffffe5c8) at mm-base-manager.c:414 (cherry picked from commit 3d5a994c)
-
- Apr 08, 2021
-
-
Aleksander Morgado authored
==226546== Invalid read of size 4 ==226546== at 0x5068CB7: g_error_matches (in /usr/lib/libglib-2.0.so.0.6600.7) ==226546== by 0x1BAC86: load_network_timezone_ready (mm-iface-modem-time.c:218) ==226546== by 0x4EA827E: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.6600.7) ==226546== by 0x17AE2C: at_command_ready (mm-base-modem-at.c:538) ==226546== by 0x4EA827E: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.6600.7) ==226546== by 0x24B475: serial_command_ready (mm-port-serial-at.c:378) ==226546== by 0x4EA827E: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.6600.7) ==226546== by 0x244F94: command_context_complete_and_free (mm-port-serial.c:141) ==226546== by 0x246861: port_serial_got_response (mm-port-serial.c:755) ==226546== by 0x246923: port_serial_timed_out (mm-port-serial.c:785) ==226546== by 0x50863C3: ??? (in /usr/lib/libglib-2.0.so.0.6600.7) ==226546== by 0x5085B83: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6600.7) (cherry picked from commit b766ded3)
-
Aleksander Morgado authored
(cherry picked from commit 3d665d22)
-
- Mar 24, 2021
-
-
Aleksander Morgado authored
(cherry picked from commit 9f7bbf28)
-
Aleksander Morgado authored
Fixes mobile-broadband/ModemManager#351 (cherry picked from commit 96d83392)
-
QGPSURCs are not ignored and causes calls to be rejected in some cases (cherry picked from commit 192e067f)
-
Aleksander Morgado authored
(cherry picked from commit 4b19b969)
-
Aleksander Morgado authored
If using PPP, ModemManager is never in charge of deciding when the connection is finished, because that would end up making ModemManager try to use the TTY port while pppd is still using it. When the modem goes unregistered for some time, we should not force the disconnection of the bearer object, we still need to wait for pppd to tell us the modem is disconnected. Fixes mobile-broadband/ModemManager#331 (cherry picked from commit 3e58fbe5)
-
Aleksander Morgado authored
The g_regex_match_full() method may return FALSE without setting the GError, so that case needs to be considered. In addition to that, the following g_assert() was not doing what it should have been, as it was comparing the address of the variable and not the variable itself; rework the code to avoid that as well: g_assert (access_tech != MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN); (cherry picked from commit 634682b6)
-
Aleksander Morgado authored
The g_regex_match_full() method may return FALSE without setting the GError, so that case needs to be considered. Reported by Jan Mazura. Fixes mobile-broadband/ModemManager#347 (cherry picked from commit d01bca49)
-
Aleksander Morgado authored
E.g. in a Cinterion PLS8-E (REVISION 04.004) to match the following line: ^SCFG: "MEopMode/Prov/Cfg","fallback*" Fix suggested by Jan Mazura. See mobile-broadband/ModemManager#347 (cherry picked from commit 5285e958)
-
- Mar 23, 2021
-
-
Aleksander Morgado authored
The autoptr support in all GUdev types was introduced in commit 272533131c6ed38479a88805, included in libgudev 232. In the MM 1.16 branch we depend on libgudev 147, so avoid implicitly bumping the required version. Fixes mobile-broadband/ModemManager#349
-
- Mar 18, 2021
-
-
Aleksander Morgado authored
The GLists maintained in the logic need to be explicitly freed (just the lists, not the list contents) if we exit early on error or if we end up deciding that the specific ports are available but unsupported by the plugin (e.g. if a plugin that doesn't support net ports finds net ports in the modem). ==225333== 24 bytes in 1 blocks are definitely lost in loss record 2,024 of 5,525 ==225333== at 0x483E77F: malloc (vg_replace_malloc.c:307) ==225333== by 0x506C539: g_malloc (in /usr/lib/libglib-2.0.so.0.6600.7) ==225333== by 0x508DC8F: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.6600.7) ==225333== by 0x50636B4: g_list_append (in /usr/lib/libglib-2.0.so.0.6600.7) ==225333== by 0x17E671: mm_base_modem_organize_ports (mm-base-modem.c:1298) ==225333== by 0x1E4409: mm_plugin_create_modem (mm-plugin.c:1094) ==225333== by 0x162C81: mm_device_create_modem (mm-device.c:481) ==225333== by 0x15DE60: device_support_check_ready (mm-base-manager.c:218) ==225333== by 0x4EA8173: ??? (in /usr/lib/libgio-2.0.so.0.6600.7) ==225333== by 0x4EAC6E8: ??? (in /usr/lib/libgio-2.0.so.0.6600.7) ==225333== by 0x16730F: device_context_run_ready (mm-plugin-manager.c:1533) ==225333== by 0x4EA8173: ??? (in /usr/lib/libgio-2.0.so.0.6600.7) (cherry picked from commit ab007a44)
-
Aleksander Morgado authored
(cherry picked from commit 8a8e0016)
-
Aleksander Morgado authored
No longer used, replaced by the new common conversion methods. (cherry picked from commit c84454c1)
-
Aleksander Morgado authored
These methods worked in a very strict way for some encodings, and in a very very loose way for others. E.g. when converting from hex-encoded UCS-2, we would attempt to convert as much text as we could even if the input string was truly not even close to UCS-2. This kind of "do our best" could make sense when processing e.g. the operator name reported by the modem, as that is some string to show to the user and there may be no strict requirement to have it perfectly fine. But the kind of loose comparison done for UCS-2 doesn't make sense e.g. when converting USSD responses or SMS messages. (cherry picked from commit 0ff3eb7e)
-
Aleksander Morgado authored
(cherry picked from commit ab4c31ec)
-
Aleksander Morgado authored
Also providing support to report errors when attempting to decode the strings. (cherry picked from commit 6bc07b4b)
-
Aleksander Morgado authored
Instead of blindly assuming that we can take whatever string given as valid UTF-8, we'll always attempt to convert from the current modem charset into UTF-8. Before we were doing this for hex-encoded UCS2, but not for example for GSM-7. And due to the now applied GSM-7 conversion, the mf627a/mf627b +COPS parsing unit tests are updated accordingly, because when converting from an input string that contains byte 0x40 ('@' in UTF-8) as if it were GSM-7, the 0x40 is taken as character '¡', encoded as 0xc2,0xa1 in UTF-8). (cherry picked from commit 16df1e17)
-
Aleksander Morgado authored
(cherry picked from commit 63fa9eee)
-
Aleksander Morgado authored
The sequence of commands is exclusively used during the set current bands operation, so there is no point in storing it in the private object data. (cherry picked from commit 3ac248a7)
-
Aleksander Morgado authored
(cherry picked from commit e5363b54)
-
Aleksander Morgado authored
(cherry picked from commit 395ab06c)
-
Aleksander Morgado authored
(cherry picked from commit 5ea4a591)
-
Aleksander Morgado authored
Use the generic mm_modem_charset_bytearray_to_utf8() instead. (cherry picked from commit 033e174e)
-
Aleksander Morgado authored
(cherry picked from commit 8bfdfb18)
-
Aleksander Morgado authored
Use the generic mm_modem_charset_bytearray_from_utf8() instead. (cherry picked from commit 75b37e16)
-
Aleksander Morgado authored
(cherry picked from commit 9c613d33)
-
Aleksander Morgado authored
The //TRANSLIT extension is not always supported by the different iconv() implementations that we may find out there, so let's completely avoid using it. For some of the charsets it actually didn't make much sense anyway, e.g. as converting to UTF-16 or UTF-8 would always be possible without requiring //TRANSLIT to take effect. The //TRANSLIT extension was also being used sometimes in the source charset identification, which was also not fully correct, as we would only expect it in the target charset identification. (cherry picked from commit 6f32c8d3)
-
Aleksander Morgado authored
If the conversion is not fully compatible, the user of the method needs to request transliteration enabled explicitly in order to avoid returning errors in this method. (cherry picked from commit bc449cbe)
-
Aleksander Morgado authored
Until now, this method would automatically apply transliteration; i.e. replacing characters with '?' when no direct translation was available. We can attempt to do that transliteration on strings that are not critical, e.g. the operator name reported by the network. But we should not do that on other types of strings, e.g. on SMS contents that may really have additional purposes than just being human-readable. This commit makes the transliteration option to be explicitly requested by the caller. (cherry picked from commit 5ce97abd)
-
Aleksander Morgado authored
(cherry picked from commit 5480cb67)
-
Aleksander Morgado authored
It makes much more sense than returning a gchar array, as gchar is signed. (cherry picked from commit 34de613d)
-
Aleksander Morgado authored
(cherry picked from commit 6d8610d6)
-
Aleksander Morgado authored
Also, remove the trailing NUL byte that was appended to the output binary stream, as it's not needed in any case. (cherry picked from commit 8c30a6b6)
-
Aleksander Morgado authored
Optionally given explicitly, and -1 can be used to assume it's NUL-terminated. (cherry picked from commit a211981d)
-