Hello community, here is the log from the commit of package libqmi for openSUSE:Factory checked in at 2020-06-08 23:43:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqmi (Old) and /work/SRC/openSUSE:Factory/.libqmi.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqmi" Mon Jun 8 23:43:34 2020 rev:32 rq:811256 version:1.24.14 Changes: -------- --- /work/SRC/openSUSE:Factory/libqmi/libqmi.changes 2020-05-14 23:23:15.192779170 +0200 +++ /work/SRC/openSUSE:Factory/.libqmi.new.3606/libqmi.changes 2020-06-08 23:43:40.709299037 +0200 @@ -1,0 +2,10 @@ +Sat May 30 08:46:17 UTC 2020 - Martin Hauke <[email protected]> + +- Update to version 1.24.14: + * libqmi-glib: + - Fix build with GLib < 2.44. + - Fix UTF-8 string validation when the string contains a + trailing NUL byte (e.g. the Sierra specific "DMS Swi Get + Current Firmware" command). + +------------------------------------------------------------------- Old: ---- libqmi-1.24.12.tar.xz New: ---- libqmi-1.24.14.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqmi.spec ++++++ --- /var/tmp/diff_new_pack.HTwH8S/_old 2020-06-08 23:43:42.233303738 +0200 +++ /var/tmp/diff_new_pack.HTwH8S/_new 2020-06-08 23:43:42.237303751 +0200 @@ -20,7 +20,7 @@ %define _soname libqmi-glib5 Name: libqmi -Version: 1.24.12 +Version: 1.24.14 Release: 0 # NOTE: The file headers state LESSER GPL, which is a mistake. The upstream intended license is LIBRARY GPL 2.0+ Summary: Library to control QMI devices ++++++ libqmi-1.24.12.tar.xz -> libqmi-1.24.14.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/NEWS new/libqmi-1.24.14/NEWS --- old/libqmi-1.24.12/NEWS 2020-05-09 11:02:03.000000000 +0200 +++ new/libqmi-1.24.14/NEWS 2020-05-30 09:13:55.000000000 +0200 @@ -1,4 +1,13 @@ +Overview of changes in libqmi 1.24.14 +---------------------------------------- + + * libqmi-glib: + ** Fix build with GLib < 2.44. + ** Fix UTF-8 string validation when the string contains a trailing NUL byte + (e.g. the Sierra specific "DMS Swi Get Current Firmware" command). + + Overview of changes in libqmi 1.24.12 ---------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/configure new/libqmi-1.24.14/configure --- old/libqmi-1.24.12/configure 2020-05-09 11:04:24.000000000 +0200 +++ new/libqmi-1.24.14/configure 2020-05-30 09:15:49.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libqmi 1.24.12. +# Generated by GNU Autoconf 2.69 for libqmi 1.24.14. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libqmi' PACKAGE_TARNAME='libqmi' -PACKAGE_VERSION='1.24.12' -PACKAGE_STRING='libqmi 1.24.12' +PACKAGE_VERSION='1.24.14' +PACKAGE_STRING='libqmi 1.24.14' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1397,7 +1397,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libqmi 1.24.12 to adapt to many kinds of systems. +\`configure' configures libqmi 1.24.14 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1467,7 +1467,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libqmi 1.24.12:";; + short | recursive ) echo "Configuration of libqmi 1.24.14:";; esac cat <<\_ACEOF @@ -1614,7 +1614,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libqmi configure 1.24.12 +libqmi configure 1.24.14 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1892,7 +1892,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libqmi $as_me 1.24.12, which was +It was created by libqmi $as_me 1.24.14, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2760,7 +2760,7 @@ # Define the identity of the package. PACKAGE='libqmi' - VERSION='1.24.12' + VERSION='1.24.14' # Some tools Automake needs. @@ -12230,8 +12230,8 @@ QMI_MAJOR_VERSION=1 QMI_MINOR_VERSION=24 -QMI_MICRO_VERSION=12 -QMI_VERSION=1.24.12 +QMI_MICRO_VERSION=14 +QMI_VERSION=1.24.14 @@ -13997,7 +13997,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libqmi $as_me 1.24.12, which was +This file was extended by libqmi $as_me 1.24.14, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14063,7 +14063,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libqmi config.status 1.24.12 +libqmi config.status 1.24.14 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/configure.ac new/libqmi-1.24.14/configure.ac --- old/libqmi-1.24.12/configure.ac 2020-05-09 11:03:23.000000000 +0200 +++ new/libqmi-1.24.14/configure.ac 2020-05-30 09:15:06.000000000 +0200 @@ -4,7 +4,7 @@ dnl The QMI version number m4_define([qmi_major_version], [1]) m4_define([qmi_minor_version], [24]) -m4_define([qmi_micro_version], [12]) +m4_define([qmi_micro_version], [14]) m4_define([qmi_version], [qmi_major_version.qmi_minor_version.qmi_micro_version]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/docs/man/qmi-firmware-update.1 new/libqmi-1.24.14/docs/man/qmi-firmware-update.1 --- old/libqmi-1.24.12/docs/man/qmi-firmware-update.1 2020-05-09 11:06:17.000000000 +0200 +++ new/libqmi-1.24.14/docs/man/qmi-firmware-update.1 2020-05-30 09:29:31.000000000 +0200 @@ -1,4 +1,4 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. .TH QMI-FIRMWARE-UPDATE "1" "May 2020" "qmi-firmware-update " "User Commands" .SH NAME qmi-firmware-update \- Update firmware in QMI devices @@ -108,7 +108,7 @@ .IP libqmi\[email protected] .PP -qmi\-firmware\-update 1.24.12 +qmi\-firmware\-update 1.24.14 .IP Copyright (C) 2016\-2019 Bj?rn Mork Copyright (C) 2016\-2019 Aleksander Morgado diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/docs/man/qmi-network.1 new/libqmi-1.24.14/docs/man/qmi-network.1 --- old/libqmi-1.24.12/docs/man/qmi-network.1 2020-05-09 11:06:17.000000000 +0200 +++ new/libqmi-1.24.14/docs/man/qmi-network.1 2020-05-30 09:29:31.000000000 +0200 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. -.TH QMI-NETWORK "1" "May 2020" "qmi-network 1.24.12" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. +.TH QMI-NETWORK "1" "May 2020" "qmi-network 1.24.14" "User Commands" .SH NAME qmi-network \- Simple network management of QMI devices .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/docs/man/qmicli.1 new/libqmi-1.24.14/docs/man/qmicli.1 --- old/libqmi-1.24.12/docs/man/qmicli.1 2020-05-09 11:06:17.000000000 +0200 +++ new/libqmi-1.24.14/docs/man/qmicli.1 2020-05-30 09:29:31.000000000 +0200 @@ -1,4 +1,4 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13. +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. .TH QMICLI "1" "May 2020" "qmicli " "User Commands" .SH NAME qmicli \- Control QMI devices @@ -588,7 +588,7 @@ \fB\-V\fR, \fB\-\-version\fR Print version .PP -qmicli 1.24.12 +qmicli 1.24.14 Copyright \(co 2012\-2019 Aleksander Morgado License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl\-2.0.html> This is free software: you are free to change and redistribute it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/docs/reference/libqmi-glib/html/index.html new/libqmi-1.24.14/docs/reference/libqmi-glib/html/index.html --- old/libqmi-1.24.12/docs/reference/libqmi-glib/html/index.html 2020-05-09 14:20:36.000000000 +0200 +++ new/libqmi-1.24.14/docs/reference/libqmi-glib/html/index.html 2020-05-30 09:33:00.000000000 +0200 @@ -14,7 +14,7 @@ <div class="titlepage"> <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libqmi-glib Reference Manual</p></th></tr></table></div> -<div><p class="releaseinfo">for libqmi-glib 1.24.12 +<div><p class="releaseinfo">for libqmi-glib 1.24.14 </p></div> <div><p class="copyright">Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 The libqmi-glib authors</p></div> <div><div class="legalnotice"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/docs/reference/libqmi-glib/html/libqmi-glib-Version-and-feature-checks.html new/libqmi-1.24.14/docs/reference/libqmi-glib/html/libqmi-glib-Version-and-feature-checks.html --- old/libqmi-1.24.12/docs/reference/libqmi-glib/html/libqmi-glib-Version-and-feature-checks.html 2020-05-09 14:20:36.000000000 +0200 +++ new/libqmi-1.24.14/docs/reference/libqmi-glib/html/libqmi-glib-Version-and-feature-checks.html 2020-05-30 09:33:01.000000000 +0200 @@ -140,7 +140,7 @@ <hr> <div class="refsect2"> <a name="QMI-MICRO-VERSION:CAPS"></a><h3>QMI_MICRO_VERSION</h3> -<pre class="programlisting">#define QMI_MICRO_VERSION (12) +<pre class="programlisting">#define QMI_MICRO_VERSION (14) </pre> <p>Evaluates to the micro version number of libqmi-glib which this source compiled against.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/docs/reference/libqmi-glib/version.xml new/libqmi-1.24.14/docs/reference/libqmi-glib/version.xml --- old/libqmi-1.24.12/docs/reference/libqmi-glib/version.xml 2020-05-09 11:04:31.000000000 +0200 +++ new/libqmi-1.24.14/docs/reference/libqmi-glib/version.xml 2020-05-30 09:15:54.000000000 +0200 @@ -1 +1 @@ -1.24.12 +1.24.14 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/src/libqmi-glib/qmi-utils.c new/libqmi-1.24.14/src/libqmi-glib/qmi-utils.c --- old/libqmi-1.24.12/src/libqmi-glib/qmi-utils.c 2020-05-09 10:13:36.000000000 +0200 +++ new/libqmi-1.24.14/src/libqmi-glib/qmi-utils.c 2020-05-30 09:10:56.000000000 +0200 @@ -131,6 +131,14 @@ g_assert (utf8); g_assert (utf8_len); + /* Ignore all trailing NUL bytes, if any */ + while ((utf8_len > 0) && (utf8[utf8_len - 1] == '\0')) + utf8_len--; + + /* An empty string */ + if (!utf8_len) + return TRUE; + /* First check if valid UTF-8 */ init = (const gchar *)utf8; if (!g_utf8_validate (init, utf8_len, NULL)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/src/libqmi-glib/qmi-version.h new/libqmi-1.24.14/src/libqmi-glib/qmi-version.h --- old/libqmi-1.24.12/src/libqmi-glib/qmi-version.h 2020-05-09 11:04:31.000000000 +0200 +++ new/libqmi-1.24.14/src/libqmi-glib/qmi-version.h 2020-05-30 09:15:54.000000000 +0200 @@ -57,7 +57,7 @@ * * Since: 1.6 */ -#define QMI_MICRO_VERSION (12) +#define QMI_MICRO_VERSION (14) /** * QMI_CHECK_VERSION: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/src/libqmi-glib/test/test-message.c new/libqmi-1.24.14/src/libqmi-glib/test/test-message.c --- old/libqmi-1.24.12/src/libqmi-glib/test/test-message.c 2020-05-09 10:13:36.000000000 +0200 +++ new/libqmi-1.24.14/src/libqmi-glib/test/test-message.c 2020-05-30 09:10:56.000000000 +0200 @@ -177,20 +177,27 @@ static void test_message_printable_common (const guint8 *buffer, guint buffer_len, + guint16 vendor_id, const gchar *expected_in_printable) { + QmiMessageContext *context = NULL; QmiMessage *message; GByteArray *array; GError *error = NULL; gchar *printable; + if (vendor_id != QMI_MESSAGE_VENDOR_GENERIC) { + context = qmi_message_context_new (); + qmi_message_context_set_vendor_id (context, vendor_id); + } + array = g_byte_array_sized_new (buffer_len); g_byte_array_append (array, buffer, buffer_len); message = qmi_message_new_from_raw (array, &error); g_assert_no_error (error); g_assert (message); - printable = qmi_message_get_printable_full (message, NULL, ""); + printable = qmi_message_get_printable_full (message, context, ""); #ifdef TEST_PRINT_MESSAGE g_print ("\n%s\n", printable); #endif @@ -199,6 +206,9 @@ g_byte_array_unref (array); qmi_message_unref (message); + + if (context) + qmi_message_context_unref (context); } static void @@ -214,7 +224,7 @@ 0x06, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x05 }; - test_message_printable_common (buffer, G_N_ELEMENTS (buffer), "ERROR: Reading TLV would overflow"); + test_message_printable_common (buffer, G_N_ELEMENTS (buffer), QMI_MESSAGE_VENDOR_GENERIC, "ERROR: Reading TLV would overflow"); } static void @@ -237,7 +247,7 @@ 0x01 }; - test_message_printable_common (buffer, G_N_ELEMENTS (buffer), "ERROR: Reading TLV would overflow"); + test_message_printable_common (buffer, G_N_ELEMENTS (buffer), QMI_MESSAGE_VENDOR_GENERIC, "ERROR: Reading TLV would overflow"); } static void @@ -254,7 +264,30 @@ 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2A, 0x31, 0x45, 0x0D, 0x0A }; - test_message_printable_common (buffer, sizeof (buffer), "$GPGSA,A,1,,,,,,,,,,,,,,,*1E"); + test_message_printable_common (buffer, sizeof (buffer), QMI_MESSAGE_VENDOR_GENERIC, "$GPGSA,A,1,,,,,,,,,,,,,,,*1E"); +} + +static void +test_message_parse_string_with_trailing_nul (void) +{ + /* The Sierra Wireless (vid 0x1199) specific method to get current firmware + * info uses NUL-terminated strings. + */ + const guint8 buffer[] = { + 0x01, 0x82, 0x00, 0x80, 0x02, 0x03, 0x02, 0x01, 0x00, 0x56, 0x55, 0x76, + 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C, 0x00, 0x30, + 0x30, 0x32, 0x2E, 0x30, 0x37, 0x32, 0x5F, 0x30, 0x30, 0x30, 0x00, 0x17, + 0x08, 0x00, 0x47, 0x45, 0x4E, 0x45, 0x52, 0x49, 0x43, 0x00, 0x16, 0x08, + 0x00, 0x30, 0x30, 0x30, 0x2E, 0x30, 0x30, 0x35, 0x00, 0x15, 0x02, 0x00, + 0x31, 0x00, 0x13, 0x08, 0x00, 0x31, 0x31, 0x30, 0x32, 0x34, 0x37, 0x36, + 0x00, 0x12, 0x15, 0x00, 0x53, 0x57, 0x49, 0x39, 0x58, 0x33, 0x30, 0x43, + 0x5F, 0x30, 0x32, 0x2E, 0x33, 0x33, 0x2E, 0x30, 0x33, 0x2E, 0x30, 0x30, + 0x00, 0x11, 0x15, 0x00, 0x53, 0x57, 0x49, 0x39, 0x58, 0x33, 0x30, 0x43, + 0x5F, 0x30, 0x32, 0x2E, 0x33, 0x33, 0x2E, 0x30, 0x33, 0x2E, 0x30, 0x30, + 0x00, 0x10, 0x07, 0x00, 0x4D, 0x43, 0x37, 0x34, 0x35, 0x35, 0x00 + }; + + test_message_printable_common (buffer, sizeof (buffer), 0x1199, "SWI9X30C_02.33.03.00"); } /*****************************************************************************/ @@ -1587,6 +1620,7 @@ g_test_add_func ("/libqmi-glib/message/parse/wrong-tlv", test_message_parse_wrong_tlv); g_test_add_func ("/libqmi-glib/message/parse/missing-size", test_message_parse_missing_size); g_test_add_func ("/libqmi-glib/message/parse/string-with-crlf", test_message_parse_string_with_crlf); + g_test_add_func ("/libqmi-glib/message/parse/string-with-trailing-nul", test_message_parse_string_with_trailing_nul); g_test_add_func ("/libqmi-glib/message/new/request", test_message_new_request); g_test_add_func ("/libqmi-glib/message/new/request-from-data", test_message_new_request_from_data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libqmi-1.24.12/src/qmicli/qmicli-loc.c new/libqmi-1.24.14/src/qmicli/qmicli-loc.c --- old/libqmi-1.24.12/src/qmicli/qmicli-loc.c 2020-05-09 10:18:59.000000000 +0200 +++ new/libqmi-1.24.14/src/qmicli/qmicli-loc.c 2020-05-30 09:10:56.000000000 +0200 @@ -489,10 +489,11 @@ g_print (" time source: n/a\n"); if (qmi_indication_loc_position_report_output_get_sensor_data_usage (output, &sensor_data_usage, NULL)) { - g_autofree gchar *sensor_data_usage_str = NULL; + gchar *sensor_data_usage_str; sensor_data_usage_str = qmi_loc_sensor_data_usage_build_string_from_mask (sensor_data_usage); g_print (" sensor data usage: %s\n", sensor_data_usage_str); + g_free (sensor_data_usage_str); } else g_print (" sensor data usage: n/a\n");
