Hello community, here is the log from the commit of package libmbim for openSUSE:Factory checked in at 2020-08-23 09:19:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libmbim (Old) and /work/SRC/openSUSE:Factory/.libmbim.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmbim" Sun Aug 23 09:19:45 2020 rev:26 rq:828119 version:1.24.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libmbim/libmbim.changes 2020-06-27 23:20:16.737368313 +0200 +++ /work/SRC/openSUSE:Factory/.libmbim.new.3399/libmbim.changes 2020-08-23 09:19:48.218639383 +0200 @@ -1,0 +2,11 @@ +Wed Aug 19 12:23:25 UTC 2020 - Dominique Leuenberger <[email protected]> + +- Upate to version 1.24.2: + + libmbim-glib: + - Fixed several issues in the logic that merges the service + subscribe list. + - Improved message reading logic to skip malformed MBIM + messages (e.g. AT URCs emitted wrongly in the MBIM port by + some Cinterion modules). + +------------------------------------------------------------------- Old: ---- libmbim-1.24.0.tar.xz New: ---- libmbim-1.24.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libmbim.spec ++++++ --- /var/tmp/diff_new_pack.YIuKZN/_old 2020-08-23 09:19:49.134639891 +0200 +++ /var/tmp/diff_new_pack.YIuKZN/_new 2020-08-23 09:19:49.138639892 +0200 @@ -18,7 +18,7 @@ Name: libmbim -Version: 1.24.0 +Version: 1.24.2 Release: 0 Summary: Mobile Broadband Interface Model (MBIM) protocol License: GPL-2.0-or-later AND LGPL-2.0-or-later ++++++ libmbim-1.24.0.tar.xz -> libmbim-1.24.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/Makefile.in new/libmbim-1.24.2/Makefile.in --- old/libmbim-1.24.0/Makefile.in 2020-06-18 10:42:46.000000000 +0200 +++ new/libmbim-1.24.2/Makefile.in 2020-07-10 10:33:01.000000000 +0200 @@ -163,7 +163,7 @@ DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ COPYING COPYING.LIB ChangeLog INSTALL NEWS README compile \ - config.guess config.sub install-sh ltmain.sh missing + config.guess config.sub depcomp install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/NEWS new/libmbim-1.24.2/NEWS --- old/libmbim-1.24.0/NEWS 2020-05-27 14:00:42.000000000 +0200 +++ new/libmbim-1.24.2/NEWS 2020-07-10 10:32:25.000000000 +0200 @@ -1,4 +1,13 @@ +Overview of changes in libmbim 1.24.2 +---------------------------------------- + + * libmbim-glib: + ** Fixed several issues in the logic that merges the service subscribe list. + ** Improved message reading logic to skip malformed MBIM messages (e.g. AT + URCs emitted wrongly in the MBIM port by some Cinterion modules). + + Overview of changes in libmbim 1.24 ---------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/configure new/libmbim-1.24.2/configure --- old/libmbim-1.24.0/configure 2020-06-18 10:42:45.000000000 +0200 +++ new/libmbim-1.24.2/configure 2020-07-10 10:33:01.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libmbim 1.24.0. +# Generated by GNU Autoconf 2.69 for libmbim 1.24.2. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libmbim' PACKAGE_TARNAME='libmbim' -PACKAGE_VERSION='1.24.0' -PACKAGE_STRING='libmbim 1.24.0' +PACKAGE_VERSION='1.24.2' +PACKAGE_STRING='libmbim 1.24.2' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1411,7 +1411,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 libmbim 1.24.0 to adapt to many kinds of systems. +\`configure' configures libmbim 1.24.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1481,7 +1481,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libmbim 1.24.0:";; + short | recursive ) echo "Configuration of libmbim 1.24.2:";; esac cat <<\_ACEOF @@ -1637,7 +1637,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libmbim configure 1.24.0 +libmbim configure 1.24.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1915,7 +1915,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libmbim $as_me 1.24.0, which was +It was created by libmbim $as_me 1.24.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2783,7 +2783,7 @@ # Define the identity of the package. PACKAGE='libmbim' - VERSION='1.24.0' + VERSION='1.24.2' # Some tools Automake needs. @@ -14424,8 +14424,8 @@ MBIM_MAJOR_VERSION=1 MBIM_MINOR_VERSION=24 -MBIM_MICRO_VERSION=0 -MBIM_VERSION=1.24.0 +MBIM_MICRO_VERSION=2 +MBIM_VERSION=1.24.2 @@ -16462,7 +16462,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libmbim $as_me 1.24.0, which was +This file was extended by libmbim $as_me 1.24.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16528,7 +16528,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libmbim config.status 1.24.0 +libmbim config.status 1.24.2 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/libmbim-1.24.0/configure.ac new/libmbim-1.24.2/configure.ac --- old/libmbim-1.24.0/configure.ac 2020-06-18 10:40:03.000000000 +0200 +++ new/libmbim-1.24.2/configure.ac 2020-07-10 10:32:43.000000000 +0200 @@ -4,7 +4,7 @@ dnl The libmbim version number m4_define([mbim_major_version], [1]) m4_define([mbim_minor_version], [24]) -m4_define([mbim_micro_version], [0]) +m4_define([mbim_micro_version], [2]) m4_define([mbim_version], [mbim_major_version.mbim_minor_version.mbim_micro_version]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/docs/reference/libmbim-glib/html/index.html new/libmbim-1.24.2/docs/reference/libmbim-glib/html/index.html --- old/libmbim-1.24.0/docs/reference/libmbim-glib/html/index.html 2020-06-18 10:43:56.000000000 +0200 +++ new/libmbim-1.24.2/docs/reference/libmbim-glib/html/index.html 2020-07-10 10:35:03.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">libmbim-glib Reference Manual</p></th></tr></table></div> -<div><p class="releaseinfo">for libmbim-glib 1.24.0 +<div><p class="releaseinfo">for libmbim-glib 1.24.2 </p></div> <div><p class="copyright">Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 The libmbim-glib authors</p></div> <div><div class="legalnotice"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/docs/reference/libmbim-glib/html/libmbim-glib-Version-checks.html new/libmbim-1.24.2/docs/reference/libmbim-glib/html/libmbim-glib-Version-checks.html --- old/libmbim-1.24.0/docs/reference/libmbim-glib/html/libmbim-glib-Version-checks.html 2020-06-18 10:43:56.000000000 +0200 +++ new/libmbim-1.24.2/docs/reference/libmbim-glib/html/libmbim-glib-Version-checks.html 2020-07-10 10:35:03.000000000 +0200 @@ -135,7 +135,7 @@ <hr> <div class="refsect2"> <a name="MBIM-MICRO-VERSION:CAPS"></a><h3>MBIM_MICRO_VERSION</h3> -<pre class="programlisting">#define MBIM_MICRO_VERSION (0) +<pre class="programlisting">#define MBIM_MICRO_VERSION (2) </pre> <p>Evaluates to the micro version number of libmbim-glib which this source compiled against.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/docs/reference/libmbim-glib/version.xml new/libmbim-1.24.2/docs/reference/libmbim-glib/version.xml --- old/libmbim-1.24.0/docs/reference/libmbim-glib/version.xml 2020-06-18 10:42:52.000000000 +0200 +++ new/libmbim-1.24.2/docs/reference/libmbim-glib/version.xml 2020-07-10 10:33:03.000000000 +0200 @@ -1 +1 @@ -1.24.0 +1.24.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/src/libmbim-glib/mbim-device.c new/libmbim-1.24.2/src/libmbim-glib/mbim-device.c --- old/libmbim-1.24.0/src/libmbim-glib/mbim-device.c 2020-05-19 13:07:32.000000000 +0200 +++ new/libmbim-1.24.2/src/libmbim-glib/mbim-device.c 2020-06-23 13:41:25.000000000 +0200 @@ -679,6 +679,26 @@ } } +static gboolean +validate_message_type (const MbimMessage *message) +{ + switch (mbim_message_get_message_type (message)) { + case MBIM_MESSAGE_TYPE_OPEN: + case MBIM_MESSAGE_TYPE_CLOSE: + case MBIM_MESSAGE_TYPE_COMMAND: + case MBIM_MESSAGE_TYPE_HOST_ERROR: + case MBIM_MESSAGE_TYPE_OPEN_DONE: + case MBIM_MESSAGE_TYPE_CLOSE_DONE: + case MBIM_MESSAGE_TYPE_COMMAND_DONE: + case MBIM_MESSAGE_TYPE_FUNCTION_ERROR: + case MBIM_MESSAGE_TYPE_INDICATE_STATUS: + return TRUE; + default: + case MBIM_MESSAGE_TYPE_INVALID: + return FALSE; + } +} + static void parse_response (MbimDevice *self) { @@ -692,9 +712,16 @@ message = (const MbimMessage *)self->priv->response; + /* Fully ignore data that is clearly not a MBIM message */ + if (!validate_message_type (message)) { + g_warning ("[%s] discarding %u bytes in MBIM stream as message type validation fails", + self->priv->path_display, self->priv->response->len); + g_byte_array_remove_range (self->priv->response, 0, self->priv->response->len); + return; + } + /* No full message yet */ in_length = mbim_message_get_message_length (message); - if (self->priv->response->len < in_length) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/src/libmbim-glib/mbim-proxy.c new/libmbim-1.24.2/src/libmbim-glib/mbim-proxy.c --- old/libmbim-1.24.0/src/libmbim-glib/mbim-proxy.c 2020-05-19 13:07:32.000000000 +0200 +++ new/libmbim-1.24.2/src/libmbim-glib/mbim-proxy.c 2020-07-10 10:30:10.000000000 +0200 @@ -1293,11 +1293,12 @@ if (mbim_utils_get_traces_enabled ()) { g_debug ("Merged service subscribe list built for device '%s'", mbim_device_get_path (device)); - _mbim_proxy_helper_service_subscribe_list_debug ((const MbimEventEntry * const *)updated, updated_size); + _mbim_proxy_helper_service_subscribe_list_debug ((const MbimEventEntry * const *)ctx->mbim_event_entry_array, + ctx->mbim_event_entry_array_size); } - *out_size = updated_size; - return updated; + *out_size = ctx->mbim_event_entry_array_size; + return ctx->mbim_event_entry_array; } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmbim-1.24.0/src/libmbim-glib/mbim-version.h new/libmbim-1.24.2/src/libmbim-glib/mbim-version.h --- old/libmbim-1.24.0/src/libmbim-glib/mbim-version.h 2020-06-18 10:42:52.000000000 +0200 +++ new/libmbim-1.24.2/src/libmbim-glib/mbim-version.h 2020-07-10 10:33:03.000000000 +0200 @@ -57,7 +57,7 @@ * * Since: 1.2 */ -#define MBIM_MICRO_VERSION (0) +#define MBIM_MICRO_VERSION (2) /** * MBIM_CHECK_VERSION:
