openSUSE Commits
Threads by month
- ----- 2024 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2014
- 1 participants
- 1615 discussions
Hello community,
here is the log from the commit of package snapper for openSUSE:Factory checked in at 2014-10-05 20:30:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/snapper (Old)
and /work/SRC/openSUSE:Factory/.snapper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "snapper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/snapper/snapper.changes 2014-10-01 07:40:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.snapper.new/snapper.changes 2014-10-05 20:31:09.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Oct 02 14:46:37 CEST 2014 - aschnell(a)suse.de
+
+- allow to specify command for comparing file
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ snapper-0.2.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.4/client/misc.cc new/snapper-0.2.4/client/misc.cc
--- old/snapper-0.2.4/client/misc.cc 2014-08-01 10:12:17.000000000 +0200
+++ new/snapper-0.2.4/client/misc.cc 2014-10-02 15:46:25.000000000 +0200
@@ -27,6 +27,7 @@
#include <boost/algorithm/string.hpp>
#include <snapper/AppUtil.h>
+#include <snapper/SystemCmd.h>
#include "utils/text.h"
@@ -209,3 +210,27 @@
return username;
}
+
+
+Differ::Differ()
+ : command(DIFFBIN " --new-file --unified"), extensions()
+{
+}
+
+
+void
+Differ::run(const string& f1, const string& f2) const
+{
+ string tmp = command;
+ if (!extensions.empty())
+ tmp += " " + extensions;
+ tmp += " " + quote(f1) + " " + quote(f2);
+
+ SystemCmd cmd(tmp);
+
+ for (const string& line : cmd.stdout())
+ cout << line << endl;
+
+ for (const string& line : cmd.stderr())
+ cerr << line << endl;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.4/client/misc.h new/snapper-0.2.4/client/misc.h
--- old/snapper-0.2.4/client/misc.h 2014-08-01 10:12:17.000000000 +0200
+++ new/snapper-0.2.4/client/misc.h 2014-10-02 15:46:25.000000000 +0200
@@ -49,3 +49,14 @@
string
username(uid_t uid);
+
+
+struct Differ
+{
+ Differ();
+
+ void run(const string& f1, const string& f2) const;
+
+ string command;
+ string extensions;
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.4/client/snapper.cc new/snapper-0.2.4/client/snapper.cc
--- old/snapper-0.2.4/client/snapper.cc 2014-09-12 11:53:52.000000000 +0200
+++ new/snapper-0.2.4/client/snapper.cc 2014-10-02 15:46:25.000000000 +0200
@@ -34,7 +34,6 @@
#include <snapper/SnapperTmpl.h>
#include <snapper/Enum.h>
#include <snapper/AsciiFile.h>
-#include <snapper/SystemCmd.h>
#include <snapper/SnapperDefines.h>
#include <snapper/XAttributes.h>
#ifdef ENABLE_ROLLBACK
@@ -964,6 +963,10 @@
{
cout << _(" Comparing snapshots:") << endl
<< _("\tsnapper diff <number1>..<number2> [files]") << endl
+ << endl
+ << _(" Options for 'diff' command:") << endl
+ << _("\t--diff-cmd <command>\t\tCommand used for comparing files.") << endl
+ << _("\t--extensions, -x <options>\tExtra options passed to the diff command.") << endl
<< endl;
}
@@ -971,15 +974,29 @@
void
command_diff(DBus::Connection* conn, Snapper* snapper)
{
- GetOpts::parsed_opts opts = getopts.parse("diff", GetOpts::no_options);
+ const struct option options[] = {
+ { "diff-cmd", required_argument, 0, 0 },
+ { "extensions", required_argument, 0, 'x' },
+ { 0, 0, 0, 0 }
+ };
+
+ GetOpts::parsed_opts opts = getopts.parse("diff", options);
if (getopts.numArgs() < 1) {
cerr << _("Command 'diff' needs at least one argument.") << endl;
exit(EXIT_FAILURE);
}
+ Differ differ;
+
GetOpts::parsed_opts::const_iterator opt;
+ if ((opt = opts.find("diff-cmd")) != opts.end())
+ differ.command = opt->second;
+
+ if ((opt = opts.find("extensions")) != opts.end())
+ differ.extensions = opt->second;
+
pair<unsigned int, unsigned int> nums(read_nums(getopts.popArg()));
MyComparison comparison(*conn, nums, true);
@@ -988,14 +1005,7 @@
if (getopts.numArgs() == 0)
{
for (Files::const_iterator it1 = files.begin(); it1 != files.end(); ++it1)
- {
- SystemCmd cmd(DIFFBIN " --unified --new-file " + quote(it1->getAbsolutePath(LOC_PRE)) +
- " " + quote(it1->getAbsolutePath(LOC_POST)), false);
-
- const vector<string> lines = cmd.stdout();
- for (vector<string>::const_iterator it2 = lines.begin(); it2 != lines.end(); ++it2)
- cout << it2->c_str() << endl;
- }
+ differ.run(it1->getAbsolutePath(LOC_PRE), it1->getAbsolutePath(LOC_POST));
}
else
{
@@ -1004,15 +1014,8 @@
string name = getopts.popArg();
Files::const_iterator it1 = files.findAbsolutePath(name);
- if (it1 == files.end())
- continue;
-
- SystemCmd cmd(DIFFBIN " --unified --new-file " + quote(it1->getAbsolutePath(LOC_PRE)) +
- " " + quote(it1->getAbsolutePath(LOC_POST)), false);
-
- const vector<string> lines = cmd.stdout();
- for (vector<string>::const_iterator it2 = lines.begin(); it2 != lines.end(); ++it2)
- cout << it2->c_str() << endl;
+ if (it1 != files.end())
+ differ.run(it1->getAbsolutePath(LOC_PRE), it1->getAbsolutePath(LOC_POST));
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.4/doc/snapper.xml.in new/snapper-0.2.4/doc/snapper.xml.in
--- old/snapper-0.2.4/doc/snapper.xml.in 2014-06-02 15:28:35.000000000 +0200
+++ new/snapper-0.2.4/doc/snapper.xml.in 2014-10-02 15:46:25.000000000 +0200
@@ -477,6 +477,22 @@
<replaceable>number2</replaceable>. This will show a diff of the
content of files and directories that have been created, modified or
deleted in the time between the two snapshots have been made.</para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--diff-cmd</option> <replaceable>command</replaceable></term>
+ <listitem>
+ <para>Command used for comparing files. The default is
+ <filename>/usr/bin/diff --new-file --unified</filename>. The two files to
+ compare are passed as parameters to the command.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-x, --extensions</option> <replaceable>options</replaceable></term>
+ <listitem>
+ <para>Extra options passed to the diff command.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</listitem>
</varlistentry>
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package python for openSUSE:Factory checked in at 2014-10-05 20:30:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python (Old)
and /work/SRC/openSUSE:Factory/.python.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python/python-base.changes 2014-07-28 06:31:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python.new/python-base.changes 2014-10-05 20:31:03.000000000 +0200
@@ -1,0 +2,9 @@
+Tue Sep 30 15:06:15 UTC 2014 - jmatejek(a)suse.com
+
+- update to 2.7.8
+ * bugfix-only release, dozens of bugs fixed
+ * fixes CVE-2014-4650 directory traversal in CGIHTTPServer
+ * fixes CVE-2014-7185 (bnc#898572) potential buffer overflow in buffer()
+- dropped upstreamed CVE-2014-4650-CGIHTTPserver-traversal.patch
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python/python-doc.changes 2014-06-25 15:24:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python.new/python-doc.changes 2014-10-05 20:31:03.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 30 15:32:07 UTC 2014 - jmatejek(a)suse.com
+
+- update to 2.7.8
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python/python.changes 2014-06-25 15:24:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python.new/python.changes 2014-10-05 20:31:03.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 30 15:27:40 UTC 2014 - jmatejek(a)suse.com
+
+- update to 2.7.8
+ * bugfix-only release, dozens of bugs fixed
+
+-------------------------------------------------------------------
Old:
----
CVE-2014-4650-CGIHTTPServer-traversal.patch
Python-2.7.7.tar.xz
Python-2.7.7.tar.xz.asc
python-2.7.7-docs-html.tar.bz2
python-2.7.7-docs-pdf-a4.tar.bz2
python-2.7.7-docs-pdf-letter.tar.bz2
New:
----
Python-2.7.8.tar.xz
Python-2.7.8.tar.xz.asc
python-2.7.8-docs-html.tar.bz2
python-2.7.8-docs-pdf-a4.tar.bz2
python-2.7.8-docs-pdf-letter.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-base.spec ++++++
--- /var/tmp/diff_new_pack.Vo2fyt/_old 2014-10-05 20:31:05.000000000 +0200
+++ /var/tmp/diff_new_pack.Vo2fyt/_new 2014-10-05 20:31:05.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-base
-Version: 2.7.7
+Version: 2.7.8
Release: 0
Summary: Python Interpreter base package
License: Python-2.0
@@ -57,8 +57,6 @@
# CVE-2013-1752 patches missing in 2.7.6: imaplib, poplib, smtplib
Patch28: smtplib_maxline-2.7.patch
Patch29: python-2.7.6-poplib.patch
-# CVE-2014-4650 - File disclosure and directory traversal in CGIHTTPServer
-Patch30: CVE-2014-4650-CGIHTTPServer-traversal.patch
# remove link count optimization that breaks mhlib on btrfs (and possibly elsewhere)
Patch31: python-2.7.7-mhlib-linkcount.patch
# COMMON-PATCH-END
@@ -153,7 +151,6 @@
%patch26 -p1
%patch28 -p1
%patch29 -p1
-%patch30 -p1
%patch31 -p1
# drop Autoconf version requirement
++++++ python-doc.spec ++++++
--- /var/tmp/diff_new_pack.Vo2fyt/_old 2014-10-05 20:31:05.000000000 +0200
+++ /var/tmp/diff_new_pack.Vo2fyt/_new 2014-10-05 20:31:05.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: python-doc
-Version: 2.7.7
+Version: 2.7.8
Release: 0
Summary: Additional Package Documentation for Python
License: Python-2.0
@@ -60,8 +60,6 @@
# CVE-2013-1752 patches missing in 2.7.6: imaplib, poplib, smtplib
Patch28: smtplib_maxline-2.7.patch
Patch29: python-2.7.6-poplib.patch
-# CVE-2014-4650 - File disclosure and directory traversal in CGIHTTPServer
-Patch30: CVE-2014-4650-CGIHTTPServer-traversal.patch
# remove link count optimization that breaks mhlib on btrfs (and possibly elsewhere)
Patch31: python-2.7.7-mhlib-linkcount.patch
# COMMON-PATCH-END
@@ -110,7 +108,6 @@
%patch26 -p1
%patch28 -p1
%patch29 -p1
-%patch30 -p1
%patch31 -p1
# drop Autoconf version requirement
++++++ python.spec ++++++
--- /var/tmp/diff_new_pack.Vo2fyt/_old 2014-10-05 20:31:05.000000000 +0200
+++ /var/tmp/diff_new_pack.Vo2fyt/_new 2014-10-05 20:31:05.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: python
-Version: 2.7.7
+Version: 2.7.8
Release: 0
Summary: Python Interpreter
License: Python-2.0
@@ -61,8 +61,6 @@
# CVE-2013-1752 patches missing in 2.7.6: imaplib, poplib, smtplib
Patch28: smtplib_maxline-2.7.patch
Patch29: python-2.7.6-poplib.patch
-# CVE-2014-4650 - File disclosure and directory traversal in CGIHTTPServer
-Patch30: CVE-2014-4650-CGIHTTPServer-traversal.patch
# remove link count optimization that breaks mhlib on btrfs (and possibly elsewhere)
Patch31: python-2.7.7-mhlib-linkcount.patch
# COMMON-PATCH-END
@@ -187,7 +185,6 @@
%patch26 -p1
%patch28 -p1
%patch29 -p1
-%patch30 -p1
%patch31 -p1
# drop Autoconf version requirement
++++++ Python-2.7.7.tar.xz -> Python-2.7.8.tar.xz ++++++
/work/SRC/openSUSE:Factory/python/Python-2.7.7.tar.xz /work/SRC/openSUSE:Factory/.python.new/Python-2.7.8.tar.xz differ: char 26, line 1
++++++ python-2.7.7-docs-html.tar.bz2 -> python-2.7.8-docs-html.tar.bz2 ++++++
++++ 239784 lines of diff (skipped)
++++++ python-2.7.7-docs-pdf-a4.tar.bz2 -> python-2.7.8-docs-pdf-a4.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/python/python-2.7.7-docs-pdf-a4.tar.bz2 /work/SRC/openSUSE:Factory/.python.new/python-2.7.8-docs-pdf-a4.tar.bz2 differ: char 11, line 1
++++++ python-2.7.7-docs-pdf-letter.tar.bz2 -> python-2.7.8-docs-pdf-letter.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/python/python-2.7.7-docs-pdf-letter.tar.bz2 /work/SRC/openSUSE:Factory/.python.new/python-2.7.8-docs-pdf-letter.tar.bz2 differ: char 11, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libreoffice for openSUSE:Factory checked in at 2014-10-05 20:30:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice (Old)
and /work/SRC/openSUSE:Factory/.libreoffice.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes 2014-09-05 09:34:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice.changes 2014-10-05 20:30:51.000000000 +0200
@@ -1,0 +2,36 @@
+Wed Oct 1 12:24:03 UTC 2014 - tchvatal(a)suse.com
+
+- Fix the timestamp on docu (remove)
+- Try to silence postinst warning during verfication
+- Fix wrong obsolete lines
+
+-------------------------------------------------------------------
+Mon Sep 29 13:54:08 UTC 2014 - tchvatal(a)suse.com
+
+- Disable mergedlibs for now as it is not tested enough and broke
+- Added patch:
+ * libreoffice-mergedlibs-circular-deps.patch
+
+-------------------------------------------------------------------
+Sat Sep 27 15:46:43 UTC 2014 - tchvatal(a)suse.com
+
+- Remove configure warning
+
+-------------------------------------------------------------------
+Sat Sep 27 15:38:07 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 4.3.2.2:
+ * Various small bugfixes found from 4.3.1
+
+-------------------------------------------------------------------
+Fri Sep 19 13:53:23 UTC 2014 - tchvatal(a)suse.com
+
+- Try to handle collada coinmp and gltf properly.
+
+-------------------------------------------------------------------
+Fri Sep 19 11:11:42 UTC 2014 - tchvatal(a)suse.com
+
+- Do not remove folders too early in the link-to-ooo-home
+ * this fixes warning about trying to remove dir
+
+-------------------------------------------------------------------
Old:
----
libreoffice-4.3.1.2.tar.xz
libreoffice-help-4.3.1.2.tar.xz
libreoffice-translations-4.3.1.2.tar.xz
New:
----
libreoffice-4.3.2.2.tar.xz
libreoffice-help-4.3.2.2.tar.xz
libreoffice-mergedlibs-circular-deps.patch
libreoffice-translations-4.3.2.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice.spec ++++++
--- /var/tmp/diff_new_pack.C0v5kv/_old 2014-10-05 20:31:00.000000000 +0200
+++ /var/tmp/diff_new_pack.C0v5kv/_new 2014-10-05 20:31:00.000000000 +0200
@@ -29,10 +29,10 @@
%define numbertext_version 0.9.5
# Urls
%define external_url http://dev-www.libreoffice.org/src/
-%define tarball_url http://download.documentfoundation.org/libreoffice/src/4.3.1/
+%define tarball_url http://download.documentfoundation.org/libreoffice/src/4.3.2/
# This is used due to the need for beta releases
Name: libreoffice
-Version: 4.3.1.2
+Version: 4.3.2.2
Release: 0
Summary: A Free Office Suite (Framework)
License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and BSD-4-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT and SUSE-Public-Domain and W3C
@@ -88,6 +88,8 @@
# LO never worked well with it
Patch13: jvmfwk-disable-gcj.diff
Patch14: libreoffice-4.3.0.3-themes-symlinks.patch
+# Mergedlibs are broken as they circdep on each other
+Patch15: libreoffice-mergedlibs-circular-deps.patch
# try to save space by using hardlinks
Patch990: install-with-hardlinks.diff
BuildRequires: ImageMagick
@@ -147,6 +149,7 @@
BuildRequires: libfonts
BuildRequires: libformula
BuildRequires: libfreehand-devel
+BuildRequires: libgltf-devel
BuildRequires: libicu-devel
BuildRequires: libkde4-devel
BuildRequires: liblangtag-devel
@@ -649,7 +652,7 @@
fi \
\
%postun %{1} \
-if [ "$1" = "0" -a -f %{_datadir}/libreoffice/%{1}_list.txt ]; then \
+if [ "$1" = "0" -a -f %{_datadir}/libreoffice/%{1}_list.txt -a -f %{_datadir}/libreoffice/link-to-ooo-home ]; then \
%{_datadir}/libreoffice/link-to-ooo-home --unlink %{_datadir}/libreoffice/%{1}_list.txt || true \
rm -f %{_datadir}/libreoffice/%{1}_list.txt 2> /dev/null || true \
fi \
@@ -748,7 +751,7 @@
} \
%{-p: \
Provides: %{name}-help-%{-p*} = %{version} \
-Obsoletes: %{name}-help-%{-p*} = %{version} \
+Obsoletes: %{name}-help-%{-p*} < %{version} \
} \
} \
\
@@ -861,10 +864,15 @@
%patch12
%patch13 -p1
%patch14 -p1
+%patch15 -p1
%patch990 -p1
# 256x256 icons
tar -xjf %{SOURCE20}
+# Do not generate doxygen timestamp
+echo "HTML_TIMESTAMP = NO" >> odk/docs/cpp/Doxyfile
+echo "HTML_TIMESTAMP = NO" >> odk/docs/idl/Doxyfile
+
%build
# Parallel build settings ...
lo_jobs="%{?jobs:%{jobs}}"
@@ -950,7 +958,7 @@
--enable-release-build \
--enable-split-app-modules \
--enable-split-opt-features \
- --enable-mergelibs \
+ --disable-mergelibs \
--enable-cairo-canvas \
--enable-graphite \
--enable-largefile \
@@ -991,9 +999,11 @@
--enable-neon \
--with-system-ucpp \
--disable-ccache \
- --disable-gltf \
- --disable-coinmp
-# gltf and coinmp disabled until possible to use external pkgs
+ --enable-gltf --with-system-libgltf \
+ --disable-coinmp \
+ --disable-collada
+# disable collada as we can't use system libs yet
+# no coinormp packages for coinmp
# hack to correctly bootstrap python stuff with system python, (deb#501028, i#90701)
sed -i -e "s|@INSTALLDIR@|%{_libdir}/%{name}|" pyuno/source/module/uno.py scripting/source/pyprov/officehelper.py
++++++ libreoffice-4.3.1.2.tar.xz -> libreoffice-4.3.2.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/libreoffice/libreoffice-4.3.1.2.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice-4.3.2.2.tar.xz differ: char 25, line 1
++++++ libreoffice-help-4.3.1.2.tar.xz -> libreoffice-help-4.3.2.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libreoffice-4.3.1.2/ChangeLog-helpcontent2 new/libreoffice-4.3.2.2/ChangeLog-helpcontent2
--- old/libreoffice-4.3.1.2/ChangeLog-helpcontent2 2014-08-26 06:19:53.000000000 +0200
+++ new/libreoffice-4.3.2.2/ChangeLog-helpcontent2 2014-09-16 22:56:37.000000000 +0200
@@ -1,22 +1,28 @@
-2014-08-26 Christian Lohmaier <lohmaier+LibreOffice(a)googlemail.com> [1e90750d571b9bd084703d212d83315581d1e826]
+2014-09-16 Robinson Tryon <qubit(a)runcibility.com> [4f159d6438b2a67b702cea222fa1da53ac8c9a0f]
-Version 4.3.1.2, tag libreoffice-4.3.1.2
+Version\ 4.3.2.2\,\ tag\ libreoffice-4.3.2.2
-Change-Id: I0f53d7787076c0a62b8682eda6f30e933d171717
-2014-08-06 Christian Lohmaier <lohmaier+LibreOffice(a)googlemail.com> [3a76025dab71c913dd6058e2a8b4bc48ba4cbb69]
+2014-09-16 Robinson Tryon <qubit(a)runcibility.com> [061e0eb475af1399d026d9886e5a320de6123805]
-Branch libreoffice-4-3-1
+ Branch libreoffice-4-3-2
-This is 'libreoffice-4-3-1' - the stable branch for the 4.3.1 release.
-Only very safe changes, reviewed by three people are allowed.
+ This is 'libreoffice-4-3-2' - the stable branch for the 4.3.2 release.
+ Only very safe changes, reviewed by three people are allowed.
-If you want to commit more complicated fix for the next 4.3.x release,
-please use the 'libreoffice-4-3' branch.
+ If you want to commit more complicated fix for the next 4.3.x release,
+ please use the 'libreoffice-4-3' branch.
-If you want to build something cool, unstable, and risky, use master.
+ If you want to build something cool, unstable, and risky, use master.
-Change-Id: I9919ac7de62bce87e75845702108978d33f03cd1
+2014-08-21 Andras Timar <andras.timar(a)collabora.com> [888531eda1e60931d7bf6923710cea396de9166d]
+
+remove conditional text, because wiki conversion fails on it
+
+Change-Id: I184d58b0c58feee11010cd174e31641f4dc170ed
+Reviewed-on: https://gerrit.libreoffice.org/11053
+Reviewed-by: David Tardon <dtardon(a)redhat.com>
+Tested-by: David Tardon <dtardon(a)redhat.com>
2014-06-23 Andras Timar <andras.timar(a)collabora.com> [df7ec418465546ee71f8855a44759918b8f362db]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libreoffice-4.3.1.2/helpcontent2/source/text/shared/guide/macro_recording.xhp new/libreoffice-4.3.2.2/helpcontent2/source/text/shared/guide/macro_recording.xhp
--- old/libreoffice-4.3.1.2/helpcontent2/source/text/shared/guide/macro_recording.xhp 2014-08-26 06:07:39.000000000 +0200
+++ new/libreoffice-4.3.2.2/helpcontent2/source/text/shared/guide/macro_recording.xhp 2014-09-16 21:55:40.000000000 +0200
@@ -35,8 +35,6 @@
</bookmark>
<paragraph role="heading" id="hd_id3093440" xml-lang="en-US" level="1" l10n="U" oldref="1"><variable id="macro_recording"><link href="text/shared/guide/macro_recording.xhp" name="Recording a Macro">Recording a Macro</link>
</variable></paragraph>
-<switch select="appl">
-<case select="WRITER"><section id="macrorecorder">
<list type="ordered">
<listitem>
<paragraph role="listitem" id="par_id3154749" xml-lang="en-US" l10n="U" oldref="4">Open the document for which you want to record a macro.</paragraph>
@@ -92,14 +90,6 @@
</list>
<embed href="text/shared/00/00000004.xhp#related"/>
<paragraph role="paragraph" id="par_id3156422" xml-lang="en-US" l10n="C"><link href="text/shared/01/06130000.xhp" name="Macro">Macro</link></paragraph>
-<paragraph role="paragraph" id="par_id3147576" xml-lang="en-US" l10n="U" oldref="2"><link href="text/shared/main0600.xhp" name="macro programming in $[officename]">Programming in %PRODUCTNAME</link></paragraph><comment>how-to running a macro</comment><comment>how-to testing and debugging a macro</comment></section>
-</case>
-<case select="CALC"><embed href="text/shared/guide/macro_recording.xhp#macrorecorder"/>
-</case>
-<case select="BASIC"><embed href="text/shared/guide/macro_recording.xhp#macrorecorder"/>
-</case>
-<default>
-<paragraph role="paragraph" id="par_id7797242" xml-lang="en-US" l10n="NEW">The macro recording functionality is only available for text documents in %PRODUCTNAME Writer and for spreadsheets in %PRODUCTNAME Calc.</paragraph>
-</default>
-</switch></body>
+<paragraph role="paragraph" id="par_id3147576" xml-lang="en-US" l10n="U" oldref="2"><link href="text/shared/main0600.xhp" name="macro programming in $[officename]">Programming in %PRODUCTNAME</link></paragraph>
+</body>
</helpdocument>
++++++ libreoffice-mergedlibs-circular-deps.patch ++++++
From: Bjoern Michaelsen <bjoern.michaelsen(a)canonical.com>
Date: Tue, 23 Sep 2014 13:52:37 +0200
Subject: [PATCH] remove circular deps on mergedlibs
- add dbtools to mergedlibs
---
solenv/gbuild/extensions/pre_MergedLibsList.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -112,6 +112,7 @@ gb_MERGEDLIBS := \
canvastools \
configmgr \
cppcanvas \
+ $(call gb_Helper_optional,DBCONNECTIVITY,dbtools) \
deployment \
deploymentmisc \
$(if $(filter-out MACOSX WNT,$(OS)),desktopbe1) \
--
1.9.1
++++++ libreoffice-translations-4.3.1.2.tar.xz -> libreoffice-translations-4.3.2.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/libreoffice/libreoffice-translations-4.3.1.2.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice-translations-4.3.2.2.tar.xz differ: char 25, line 1
++++++ link-to-ooo-home ++++++
--- /var/tmp/diff_new_pack.C0v5kv/_old 2014-10-05 20:31:02.000000000 +0200
+++ /var/tmp/diff_new_pack.C0v5kv/_new 2014-10-05 20:31:02.000000000 +0200
@@ -37,7 +37,7 @@
# first just remove the symlinks
for file in `cat ${filelist} | grep "/usr/share/libreoffice" | sort`; do
linkfile=${file/${datadir}/${libdir}}
- if [[ -L "${linkfile}" && ! -r "${linkfile}" ]]; then
+ if [[ -L "${linkfile}" && ! -r "${linkfile}" && ! -d "${linkfile}" ]]; then
rm -f "${linkfile}" || exit 1
fi
done
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xen for openSUSE:Factory checked in at 2014-10-05 20:30:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
and /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes 2014-09-25 09:33:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2014-10-05 20:30:37.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Sep 30 09:01:16 MDT 2014 - carnold(a)suse.com
+
+- bnc#897657 - VUL-0: CVE-2014-7188: xen: XSA-108 Improper MSR
+ range used for x2APIC emulation
+ xsa108.patch
+
+-------------------------------------------------------------------
@@ -27,2 +34,2 @@
-- bnc#895802 - VUL-0: xen: XSA-106: Missing privilege level checks
- in x86 emulation of software interrupts
+- bnc#895802 - VUL-0: CVE-2014-7156: xen: XSA-106: Missing
+ privilege level checks in x86 emulation of software interrupts
@@ -30,2 +37,2 @@
-- bnc#895799 - VUL-0: xen: XSA-105: Missing privilege level checks
- in x86 HLT, LGDT, LIDT, and LMSW emulation
+- bnc#895799 - VUL-0: CVE-2014-7155: xen: XSA-105: Missing
+ privilege level checks in x86 HLT, LGDT, LIDT, and LMSW emulation
@@ -33,2 +40,2 @@
-- bnc#895798 - VUL-0: xen: XSA-104: Race condition in
- HVMOP_track_dirty_vram
+- bnc#895798 - VUL-0: CVE-2014-7154: xen: XSA-104: Race condition
+ in HVMOP_track_dirty_vram
New:
----
xsa108.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.rBfrIa/_old 2014-10-05 20:30:41.000000000 +0200
+++ /var/tmp/diff_new_pack.rBfrIa/_new 2014-10-05 20:30:41.000000000 +0200
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
# needssslcertforbuild
Name: xen
@@ -240,6 +241,7 @@
Patch105: xsa105.patch
Patch106: xsa106.patch
Patch107: xsa107.patch
+Patch108: xsa108.patch
# Upstream qemu
Patch250: VNC-Support-for-ExtendedKeyEvent-client-message.patch
Patch251: 0001-net-move-the-tap-buffer-into-TAPState.patch
@@ -636,6 +638,7 @@
%patch105 -p1
%patch106 -p1
%patch107 -p1
+%patch108 -p1
# Upstream qemu patches
%patch250 -p1
%patch251 -p1
++++++ xsa108.patch ++++++
x86/HVM: properly bound x2APIC MSR range
While the write path change appears to be purely cosmetic (but still
gets done here for consistency), the read side mistake permitted
accesses beyond the virtual APIC page.
This is XSA-108.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3101,7 +3101,7 @@ int hvm_msr_read_intercept(unsigned int
*msr_content = vcpu_vlapic(v)->hw.apic_base_msr;
break;
- case MSR_IA32_APICBASE_MSR ... MSR_IA32_APICBASE_MSR + 0x3ff:
+ case MSR_IA32_APICBASE_MSR ... MSR_IA32_APICBASE_MSR + 0xff:
if ( hvm_x2apic_msr_read(v, msr, msr_content) )
goto gp_fault;
break;
@@ -3227,7 +3227,7 @@ int hvm_msr_write_intercept(unsigned int
vlapic_tdt_msr_set(vcpu_vlapic(v), msr_content);
break;
- case MSR_IA32_APICBASE_MSR ... MSR_IA32_APICBASE_MSR + 0x3ff:
+ case MSR_IA32_APICBASE_MSR ... MSR_IA32_APICBASE_MSR + 0xff:
if ( hvm_x2apic_msr_write(v, msr, msr_content) )
goto gp_fault;
break;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mdds for openSUSE:Factory checked in at 2014-10-05 20:30:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mdds (Old)
and /work/SRC/openSUSE:Factory/.mdds.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mdds"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mdds/mdds.changes 2014-04-26 10:08:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mdds.new/mdds.changes 2014-10-05 20:30:35.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Sep 29 13:45:42 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.11.0:
+ * added sorted_string_map
+ * multi_type_vector bugfixes
+
+-------------------------------------------------------------------
Old:
----
mdds_0.10.3.tar.bz2
New:
----
mdds_0.11.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mdds.spec ++++++
--- /var/tmp/diff_new_pack.fZKFYN/_old 2014-10-05 20:30:36.000000000 +0200
+++ /var/tmp/diff_new_pack.fZKFYN/_new 2014-10-05 20:30:36.000000000 +0200
@@ -17,7 +17,7 @@
Name: mdds
-Version: 0.10.3
+Version: 0.11.0
Release: 0
Summary: A collection of multi-dimensional data structure and indexing algorithm
License: MIT
++++++ mdds_0.10.3.tar.bz2 -> mdds_0.11.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/Makefile.in new/mdds_0.11.0/Makefile.in
--- old/mdds_0.10.3/Makefile.in 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/Makefile.in 2014-09-18 20:06:38.000000000 +0200
@@ -19,7 +19,8 @@
multi_type_matrix_test \
rectangle_set_test \
multi_type_vector_test_default \
- multi_type_vector_test_custom
+ multi_type_vector_test_custom \
+ sorted_string_map_test
HEADERS= \
@top_srcdir@/$(INCDIR)/mdds/compat/unique_ptr.hpp \
@@ -43,6 +44,8 @@
@top_srcdir@/$(INCDIR)/mdds/rectangle_set_def.inl \
@top_srcdir@/$(INCDIR)/mdds/rectangle_set.hpp \
@top_srcdir@/$(INCDIR)/mdds/segment_tree.hpp \
+ @top_srcdir@/$(INCDIR)/mdds/sorted_string_map_def.inl \
+ @top_srcdir@/$(INCDIR)/mdds/sorted_string_map.hpp \
@top_srcdir@/$(INCDIR)/mdds/multi_type_vector.hpp \
@top_srcdir@/$(INCDIR)/mdds/multi_type_vector_custom_func1.hpp \
@top_srcdir@/$(INCDIR)/mdds/multi_type_vector_custom_func2.hpp \
@@ -63,7 +66,8 @@
test.st \
test.mtm \
test.mtv \
- test.mtmatrix
+ test.mtmatrix \
+ test.ssmap
TESTS_MEM = \
test.pqt.mem \
@@ -72,6 +76,7 @@
test.st.mem \
test.mtm.mem \
test.mtmatrix \
+ test.ssmap
# You may add $(TESTS_MEM) if valgrind is available on your platform
ALL_TESTS = $(TESTS)
@@ -111,6 +116,9 @@
$(OBJDIR)/multi_type_matrix_test.o: @top_srcdir@/$(SRCDIR)/multi_type_matrix_test.cpp $(DEPENDS)
$(CXX) $(CPPFLAGS) -c -o $@ @top_srcdir@/$(SRCDIR)/multi_type_matrix_test.cpp
+$(OBJDIR)/sorted_string_map_test.o: @top_srcdir@/$(SRCDIR)/sorted_string_map_test.cpp $(DEPENDS)
+ $(CXX) $(CPPFLAGS) -c -o $@ @top_srcdir@/$(SRCDIR)/sorted_string_map_test.cpp
+
flat_segment_tree_test: pre $(OBJDIR)/flat_segment_tree_test.o
$(CXX) $(LDFLAGS) $(OBJDIR)/flat_segment_tree_test.o -o $@
@@ -138,6 +146,9 @@
multi_type_matrix_test: pre $(OBJDIR)/multi_type_matrix_test.o
$(CXX) $(LDFLAGS) $(OBJDIR)/multi_type_matrix_test.o -o $@
+sorted_string_map_test: pre $(OBJDIR)/sorted_string_map_test.o
+ $(CXX) $(LDFLAGS) $(OBJDIR)/sorted_string_map_test.o -o $@
+
multi_type_vector_test: multi_type_vector_test_default multi_type_vector_test_custom multi_type_vector_test_perf
stlperf_test: pre @top_srcdir@/$(SRCDIR)/stlperf_test.cpp
@@ -208,6 +219,12 @@
test.mtmatrix.mem: multi_type_matrix_test
valgrind --tool=memcheck --leak-check=full ./multi_type_matrix_test func
+test.ssmap: sorted_string_map_test
+ ./sorted_string_map_test func
+
+test.ssmap.mem: sorted_string_map_test
+ valgrind --tool=memcheck --leak-check=full ./sorted_string_map_test func
+
test.stl: stlperf_test
./stlperf_test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/NEWS new/mdds_0.11.0/NEWS
--- old/mdds_0.10.3/NEWS 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/NEWS 2014-09-18 20:06:38.000000000 +0200
@@ -1,3 +1,24 @@
+mdds 0.11.0
+
+* sorted_string_map (new)
+
+ * new data structure to support efficient mapping of textural keys
+ to numeric values when the key values are known at compile time.
+
+* multi_type_vector
+
+ * fixed a bug in transfer() where two adjacent blocks of identical
+ type would fail to be merged in some circumstances.
+
+ * added shrink_to_fit() to allow trimming of any excess capacity
+ from all non-empty blocks.
+
+ * fixed a double-free bug in the variant of swap() that allows
+ segmented swapping.
+
+ * improved the exception message when the block position lookup
+ fails to find valid block position, to make it easier to debug.
+
mdds 0.10.3
* multi_type_vector
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/configure new/mdds_0.11.0/configure
--- old/mdds_0.10.3/configure 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/configure 2014-09-18 20:06:38.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mdds 0.10.3.
+# Generated by GNU Autoconf 2.69 for mdds 0.11.0.
#
# Report bugs to <kohei.yoshida(a)gmail.com>.
#
@@ -579,8 +579,8 @@
# Identity of this package.
PACKAGE_NAME='mdds'
PACKAGE_TARNAME='mdds'
-PACKAGE_VERSION='0.10.3'
-PACKAGE_STRING='mdds 0.10.3'
+PACKAGE_VERSION='0.11.0'
+PACKAGE_STRING='mdds 0.11.0'
PACKAGE_BUGREPORT='kohei.yoshida(a)gmail.com'
PACKAGE_URL=''
@@ -1181,7 +1181,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 mdds 0.10.3 to adapt to many kinds of systems.
+\`configure' configures mdds 0.11.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1242,7 +1242,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mdds 0.10.3:";;
+ short | recursive ) echo "Configuration of mdds 0.11.0:";;
esac
cat <<\_ACEOF
@@ -1335,7 +1335,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mdds configure 0.10.3
+mdds configure 0.11.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1352,7 +1352,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mdds $as_me 0.10.3, which was
+It was created by mdds $as_me 0.11.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -1701,7 +1701,7 @@
-VERSION=0.10.3
+VERSION=0.11.0
PACKAGE_TARNAME=mdds
@@ -1745,7 +1745,7 @@
CPPFLAGS_NODEBUG="$CPPFLAGS_NODEBUG -DMDDS_HASH_CONTAINER_BOOST"
fi
-CPPFLAGS="$CPPFLAGS_NODEBUG -DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST -std=c++0x"
+CPPFLAGS="$CPPFLAGS $CPPFLAGS_NODEBUG -DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST -std=c++0x"
if test "$debug_stdcxx" = "yes"; then
CPPFLAGS="$CPPFLAGS -D_GLIBCXX_DEBUG"
@@ -2298,7 +2298,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mdds $as_me 0.10.3, which was
+This file was extended by mdds $as_me 0.11.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2351,7 +2351,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mdds config.status 0.10.3
+mdds config.status 0.11.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -3455,7 +3455,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mdds $as_me 0.10.3, which was
+This file was extended by mdds $as_me 0.11.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3508,7 +3508,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mdds config.status 0.10.3
+mdds config.status 0.11.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -4613,7 +4613,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mdds $as_me 0.10.3, which was
+This file was extended by mdds $as_me 0.11.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4666,7 +4666,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mdds config.status 0.10.3
+mdds config.status 0.11.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -5772,7 +5772,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mdds $as_me 0.10.3, which was
+This file was extended by mdds $as_me 0.11.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5825,7 +5825,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mdds config.status 0.10.3
+mdds config.status 0.11.0
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/mdds_0.10.3/configure.ac new/mdds_0.11.0/configure.ac
--- old/mdds_0.10.3/configure.ac 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/configure.ac 2014-09-18 20:06:38.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(mdds, 0.10.3, kohei.yoshida(a)gmail.com)
+AC_INIT(mdds, 0.11.0, kohei.yoshida(a)gmail.com)
VERSION=AC_PACKAGE_VERSION
AC_SUBST(VERSION)
@@ -49,7 +49,7 @@
CPPFLAGS_NODEBUG="$CPPFLAGS_NODEBUG -DMDDS_HASH_CONTAINER_BOOST"
fi
-CPPFLAGS="$CPPFLAGS_NODEBUG -DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST -std=c++0x"
+CPPFLAGS="$CPPFLAGS $CPPFLAGS_NODEBUG -DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST -std=c++0x"
if test "$debug_stdcxx" = "yes"; then
CPPFLAGS="$CPPFLAGS -D_GLIBCXX_DEBUG"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/global.hpp new/mdds_0.11.0/include/mdds/global.hpp
--- old/mdds_0.10.3/include/mdds/global.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/global.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -1,6 +1,6 @@
/*************************************************************************
*
- * Copyright (c) 2008-2011 Kohei Yoshida
+ * Copyright (c) 2008-2014 Kohei Yoshida
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -25,12 +25,14 @@
*
************************************************************************/
-#ifndef __MDDS_GLOBAL_HPP__
-#define __MDDS_GLOBAL_HPP__
+#ifndef MDDS_GLOBAL_HPP
+#define MDDS_GLOBAL_HPP
#include <exception>
#include <string>
+#define MDDS_ASCII(literal) literal, sizeof(literal)-1
+
namespace mdds {
class general_error : public ::std::exception
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_matrix.hpp new/mdds_0.11.0/include/mdds/multi_type_matrix.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_matrix.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_matrix.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -63,6 +63,11 @@
}
+/**
+ * Matrix that can store double, bool, empty and string types. The string
+ * type is specified by the string trait template parameter. To use
+ * std::string as the string type, use mdds::mtm::std_string_trait.
+ */
template<typename _StringTrait>
class multi_type_matrix
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector.hpp new/mdds_0.11.0/include/mdds/multi_type_vector.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_vector.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -37,9 +37,9 @@
#include <vector>
#include <algorithm>
#include <cassert>
+#include <sstream>
#if defined(MDDS_UNIT_TEST) || defined (MDDS_MULTI_TYPE_VECTOR_DEBUG)
-#include <sstream>
#include <iostream>
using std::cout;
using std::cerr;
@@ -872,6 +872,11 @@
*/
void swap(size_type start_pos, size_type end_pos, multi_type_vector& other, size_type other_pos);
+ /**
+ * Trim excess capacity from all non-empty blocks.
+ */
+ void shrink_to_fit();
+
bool operator== (const multi_type_vector& other) const;
bool operator!= (const multi_type_vector& other) const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector_custom_func1.hpp new/mdds_0.11.0/include/mdds/multi_type_vector_custom_func1.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_vector_custom_func1.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector_custom_func1.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -219,6 +219,18 @@
element_block_func::overwrite_values(block, pos, len);
}
}
+
+ static void shrink_to_fit(base_element_block& block)
+ {
+ switch (get_block_type(block))
+ {
+ case _Block::block_type:
+ _Block::shrink_to_fit(block);
+ break;
+ default:
+ element_block_func::shrink_to_fit(block);
+ }
+ }
};
}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector_custom_func2.hpp new/mdds_0.11.0/include/mdds/multi_type_vector_custom_func2.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_vector_custom_func2.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector_custom_func2.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -266,6 +266,21 @@
element_block_func::overwrite_values(block, pos, len);
}
}
+
+ static void shrink_to_fit(base_element_block& block)
+ {
+ switch (get_block_type(block))
+ {
+ case _Block1::block_type:
+ _Block1::shrink_to_fit(block);
+ break;
+ case _Block2::block_type:
+ _Block2::shrink_to_fit(block);
+ break;
+ default:
+ element_block_func::shrink_to_fit(block);
+ }
+ }
};
}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector_custom_func3.hpp new/mdds_0.11.0/include/mdds/multi_type_vector_custom_func3.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_vector_custom_func3.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector_custom_func3.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -310,6 +310,24 @@
element_block_func::overwrite_values(block, pos, len);
}
}
+
+ static void shrink_to_fit(base_element_block& block)
+ {
+ switch (get_block_type(block))
+ {
+ case _Block1::block_type:
+ _Block1::shrink_to_fit(block);
+ break;
+ case _Block2::block_type:
+ _Block2::shrink_to_fit(block);
+ break;
+ case _Block3::block_type:
+ _Block3::shrink_to_fit(block);
+ break;
+ default:
+ element_block_func::shrink_to_fit(block);
+ }
+ }
};
}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector_def.inl new/mdds_0.11.0/include/mdds/multi_type_vector_def.inl
--- old/mdds_0.10.3/include/mdds/multi_type_vector_def.inl 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector_def.inl 2014-09-18 20:06:38.000000000 +0200
@@ -31,6 +31,19 @@
namespace mdds {
+namespace detail {
+
+inline void throw_block_position_not_found(
+ const char* method_sig, int line, size_t pos, size_t block_size, size_t container_size)
+{
+ std::ostringstream os;
+ os << method_sig << "#" << line << ": block position not found! (logical pos="
+ << pos << ", block size=" << block_size << ", logical size=" << container_size << ")";
+ throw std::out_of_range(os.str());
+}
+
+}
+
MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(double, mtv::element_type_numeric, 0.0, mtv::numeric_element_block)
MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(std::string, mtv::element_type_string, std::string(), mtv::string_element_block)
MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(short, mtv::element_type_short, 0, mtv::short_element_block)
@@ -250,7 +263,7 @@
size_type start_row = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_row, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::set", __LINE__, pos, block_size(), size());
#ifdef MDDS_MULTI_TYPE_VECTOR_DEBUG
std::ostringstream os_prev_block;
@@ -471,7 +484,7 @@
size_type block_index1 = 0, start_row1 = 0;
if (!get_block_position(pos, start_row1, block_index1))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::set", __LINE__, pos, block_size(), size());
return set_cells_impl(pos, end_pos, start_row1, block_index1, it_begin, it_end);
}
@@ -561,7 +574,7 @@
{
size_type block_index = 0, start_pos = 0;
if (!get_block_position(pos, start_pos, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::insert", __LINE__, pos, block_size(), size());
#ifdef MDDS_MULTI_TYPE_VECTOR_DEBUG
std::ostringstream os_prev_block;
@@ -657,7 +670,7 @@
}
if (!get_block_position(pos, start_row, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::get_block_position", __LINE__, pos, block_size(), size());
}
template<typename _CellBlockFunc>
@@ -1184,7 +1197,7 @@
size_type start_row = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_row, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::get", __LINE__, pos, block_size(), size());
const block* blk = m_blocks[block_index];
assert(blk);
@@ -1218,7 +1231,7 @@
size_type start_pos = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_pos, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::release", __LINE__, pos, block_size(), size());
_T value;
release_impl(pos, start_pos, block_index, value);
@@ -1233,7 +1246,7 @@
size_type start_pos = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_pos, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::release", __LINE__, pos, block_size(), size());
return release_impl(pos, start_pos, block_index, value);
}
@@ -1273,7 +1286,7 @@
size_type start_pos_in_block1 = 0;
size_type block_index1 = 0;
if (!get_block_position(start_pos, start_pos_in_block1, block_index1))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::release_range", __LINE__, start_pos, block_size(), size());
return set_empty_impl(start_pos, end_pos, start_pos_in_block1, block_index1, false);
}
@@ -1296,7 +1309,7 @@
size_type start_pos = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_pos, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::position", __LINE__, pos, block_size(), size());
iterator it = get_iterator(block_index, start_pos);
return position_type(it, pos - start_pos);
@@ -1321,7 +1334,7 @@
size_type start_row = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_row, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::position", __LINE__, pos, block_size(), size());
typename blocks_type::const_iterator block_pos = m_blocks.begin();
std::advance(block_pos, block_index);
@@ -1352,7 +1365,7 @@
size_type start_pos_in_block1 = 0;
size_type block_index1 = 0;
if (!get_block_position(start_pos, start_pos_in_block1, block_index1))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::transfer", __LINE__, start_pos, block_size(), size());
#ifdef MDDS_MULTI_TYPE_VECTOR_DEBUG
std::ostringstream os_prev_block;
@@ -1418,7 +1431,7 @@
size_type start_row = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_row, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::get_type", __LINE__, pos, block_size(), size());
const block* blk = m_blocks[block_index];
if (!blk->mp_data)
@@ -1433,7 +1446,7 @@
size_type start_row = 0;
size_type block_index = 0;
if (!get_block_position(pos, start_row, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::is_empty", __LINE__, pos, block_size(), size());
return m_blocks[block_index]->mp_data == NULL;
}
@@ -1445,7 +1458,7 @@
size_type start_pos_in_block1 = 0;
size_type block_index1 = 0;
if (!get_block_position(start_pos, start_pos_in_block1, block_index1))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::set_empty", __LINE__, start_pos, block_size(), size());
return set_empty_impl(start_pos, end_pos, start_pos_in_block1, block_index1, true);
}
@@ -1477,7 +1490,7 @@
size_type start_pos_in_block2 = start_pos_in_block1;
size_type block_index2 = block_index1;
if (!get_block_position(end_pos, start_pos_in_block2, block_index2))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::transfer_impl", __LINE__, end_pos, block_size(), size());
size_type len = end_pos - start_pos + 1;
size_type last_dest_pos = dest_pos + len - 1;
@@ -1545,6 +1558,7 @@
dest.m_blocks.insert(dest.m_blocks.begin()+dest_block_index+1, new block(len));
blk_dest->m_size -= len;
blk_dest = dest.m_blocks[dest_block_index+1];
+ ++dest_block_index; // Must point to the new copied block.
}
else
{
@@ -1558,6 +1572,8 @@
blk_dest->m_size = dest_pos_in_block;
blk_dest = dest.m_blocks[dest_block_index+1];
+
+ ++dest_block_index; // Must point to the new copied block.
}
assert(blk_dest->m_size == len);
@@ -1844,7 +1860,7 @@
size_type start_pos_in_block2 = start_pos_in_block1;
size_type block_index2 = block_index1;
if (!get_block_position(end_pos, start_pos_in_block2, block_index2))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::set_empty_impl", __LINE__, end_pos, block_size(), size());
#ifdef MDDS_MULTI_TYPE_VECTOR_DEBUG
std::ostringstream os_prev_block;
@@ -1974,6 +1990,8 @@
mdds::unique_ptr<element_block_type, element_block_deleter> src_data(blk_src->mp_data);
blk_src->mp_data = other.exchange_elements(
*src_data, src_offset, other_block_index, dst_offset, len);
+ // Release elements in the source block to prevent double-deletion.
+ element_block_func::resize_block(*src_data, 0);
merge_with_adjacent_blocks(block_index);
return;
}
@@ -2270,12 +2288,12 @@
size_type start_row_in_block1 = 0;
size_type block_pos1 = 0;
if (!get_block_position(start_row, start_row_in_block1, block_pos1))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::erase_impl", __LINE__, start_row, block_size(), size());
size_type start_row_in_block2 = start_row_in_block1;
size_type block_pos2 = block_pos1;
if (!get_block_position(end_row, start_row_in_block2, block_pos2))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::erase_impl", __LINE__, end_row, block_size(), size());
if (block_pos1 == block_pos2)
{
@@ -2418,7 +2436,7 @@
size_type start_pos = 0, block_index = 0;
if (!get_block_position(pos, start_pos, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::insert_empty", __LINE__, pos, block_size(), size());
#ifdef MDDS_MULTI_TYPE_VECTOR_DEBUG
std::ostringstream os_prev_block;
@@ -2561,7 +2579,7 @@
size_type start_row2 = start_row1;
size_type block_index2 = block_index1;
if (!get_block_position(end_row, start_row2, block_index2))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::set_cells_impl", __LINE__, end_row, block_size(), size());
if (block_index1 == block_index2)
{
@@ -3587,7 +3605,7 @@
size_type new_end_row = new_size - 1;
size_type start_row_in_block = 0, block_index = 0;
if (!get_block_position(new_end_row, start_row_in_block, block_index))
- throw std::out_of_range("Block position not found!");
+ detail::throw_block_position_not_found("multi_type_vector::resize", __LINE__, new_end_row, block_size(), size());
block* blk = m_blocks[block_index];
size_type end_row_in_block = start_row_in_block + blk->m_size - 1;
@@ -3673,6 +3691,19 @@
}
template<typename _CellBlockFunc>
+void multi_type_vector<_CellBlockFunc>::shrink_to_fit()
+{
+ typename blocks_type::iterator it = m_blocks.begin(), it_end = m_blocks.end();
+ for (; it != it_end; ++it)
+ {
+ block* blk = *it;
+ assert(blk);
+ if (blk->mp_data)
+ element_block_func::shrink_to_fit(*blk->mp_data);
+ }
+}
+
+template<typename _CellBlockFunc>
bool multi_type_vector<_CellBlockFunc>::operator== (const multi_type_vector& other) const
{
if (this == &other)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector_trait.hpp new/mdds_0.11.0/include/mdds/multi_type_vector_trait.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_vector_trait.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector_trait.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -74,6 +74,8 @@
* store primitive values), this method can be left empty.
*/
inline static void overwrite_values(base_element_block& block, size_t pos, size_t len);
+
+ inline static void shrink_to_fit(base_element_block& block);
};
base_element_block* element_block_func_base::create_new_block(element_t type, size_t init_size)
@@ -608,6 +610,48 @@
// Do nothing for the standard types.
}
+void element_block_func_base::shrink_to_fit(base_element_block& block)
+{
+ switch (get_block_type(block))
+ {
+ case element_type_numeric:
+ numeric_element_block::shrink_to_fit(block);
+ break;
+ case element_type_string:
+ string_element_block::shrink_to_fit(block);
+ break;
+ case element_type_short:
+ short_element_block::shrink_to_fit(block);
+ break;
+ case element_type_ushort:
+ ushort_element_block::shrink_to_fit(block);
+ break;
+ case element_type_int:
+ int_element_block::shrink_to_fit(block);
+ break;
+ case element_type_uint:
+ uint_element_block::shrink_to_fit(block);
+ break;
+ case element_type_long:
+ long_element_block::shrink_to_fit(block);
+ break;
+ case element_type_ulong:
+ ulong_element_block::shrink_to_fit(block);
+ break;
+ case element_type_boolean:
+ boolean_element_block::shrink_to_fit(block);
+ break;
+ case element_type_char:
+ char_element_block::shrink_to_fit(block);
+ break;
+ case element_type_uchar:
+ uchar_element_block::shrink_to_fit(block);
+ break;
+ default:
+ throw general_error("shrink_to_fit: failed to print a block of unknown type.");
+ }
+}
+
/**
* Default cell block function definitions. Implementation can use this if
* it only uses the default block types implemented by the library.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/multi_type_vector_types.hpp new/mdds_0.11.0/include/mdds/multi_type_vector_types.hpp
--- old/mdds_0.10.3/include/mdds/multi_type_vector_types.hpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/include/mdds/multi_type_vector_types.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -1,6 +1,6 @@
/*************************************************************************
*
- * Copyright (c) 2012 Kohei Yoshida
+ * Copyright (c) 2012-2014 Kohei Yoshida
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -378,6 +378,24 @@
blk.insert(blk.begin()+pos, it_begin, it_end);
}
+ static size_t capacity(const base_element_block& block)
+ {
+#ifdef MDDS_MULTI_TYPE_VECTOR_USE_DEQUE
+ return 0;
+#else
+ const store_type& blk = get(block).m_array;
+ return blk.capacity();
+#endif
+ }
+
+ static void shrink_to_fit(base_element_block& block)
+ {
+#ifndef MDDS_MULTI_TYPE_VECTOR_USE_DEQUE
+ store_type& blk = get(block).m_array;
+ store_type(blk).swap(blk);
+#endif
+ }
+
private:
static std::pair<const_iterator,const_iterator>
get_iterator_pair(const store_type& array, size_t begin_pos, size_t len)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/sorted_string_map.hpp new/mdds_0.11.0/include/mdds/sorted_string_map.hpp
--- old/mdds_0.10.3/include/mdds/sorted_string_map.hpp 1970-01-01 01:00:00.000000000 +0100
+++ new/mdds_0.11.0/include/mdds/sorted_string_map.hpp 2014-09-18 20:06:38.000000000 +0200
@@ -0,0 +1,101 @@
+/*************************************************************************
+ *
+ * Copyright (c) 2014 Kohei Yoshida
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ ************************************************************************/
+
+#ifndef MDDS_SORTED_STRING_MAP_HPP
+#define MDDS_SORTED_STRING_MAP_HPP
+
+#include <cstdlib>
+
+namespace mdds {
+
+/**
+ * sorted_string_map provides an efficient way to map string keys to
+ * arbitrary values, provided that the keys are known at compile time and
+ * are sorted in ascending order.
+ */
+template<typename _ValueT>
+class sorted_string_map
+{
+public:
+ typedef _ValueT value_type;
+ typedef size_t size_type;
+
+ /**
+ * Single key-value entry. Caller must provide at compile time a static
+ * array of these entries.
+ */
+ struct entry
+ {
+ const char* key;
+ size_type keylen;
+ value_type value;
+ };
+
+ /**
+ * Constructor.
+ *
+ * @param entries pointer to the array of key-value entries.
+ * @param entry_size size of the key-value entry array.
+ * @param null_value null value to return when the find method fails to
+ * find a matching entry.
+ */
+ sorted_string_map(const entry* entries, size_type entry_size, value_type null_value);
+
+ /**
+ * Find a value associated with a specified string key.
+ *
+ * @param input pointer to a C-style string whose value represents the key
+ * to match.
+ * @param len length of the matching string value.
+ *
+ * @return value associated with the key, or the null value in case the
+ * key is not found.
+ */
+ value_type find(const char* input, size_type len) const;
+
+ /**
+ * Return the number of entries in the map. Since the number of entries
+ * is statically defined at compile time, this method always returns the
+ * same value.
+ *
+ * @return the number of entries in the map.
+ */
+ size_type size() const;
+
+private:
+
+ const entry* m_entries;
+ value_type m_null_value;
+ size_type m_entry_size;
+ const entry* m_entry_end;
+};
+
+}
+
+#include "sorted_string_map_def.inl"
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/include/mdds/sorted_string_map_def.inl new/mdds_0.11.0/include/mdds/sorted_string_map_def.inl
--- old/mdds_0.10.3/include/mdds/sorted_string_map_def.inl 1970-01-01 01:00:00.000000000 +0100
+++ new/mdds_0.11.0/include/mdds/sorted_string_map_def.inl 2014-09-18 20:06:38.000000000 +0200
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * Copyright (c) 2014 Kohei Yoshida
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ ************************************************************************/
+
+namespace mdds {
+
+template<typename _ValueT>
+sorted_string_map<_ValueT>::sorted_string_map(const entry* entries, size_type entry_size, value_type null_value) :
+ m_entries(entries),
+ m_null_value(null_value),
+ m_entry_size(entry_size),
+ m_entry_end(m_entries+m_entry_size) {}
+
+template<typename _ValueT>
+typename sorted_string_map<_ValueT>::value_type
+sorted_string_map<_ValueT>::find(const char* input, size_type len) const
+{
+ const entry* p = m_entries;
+ size_type pos = 0;
+ for (; p != m_entry_end; ++p)
+ {
+ const char* key = p->key;
+ size_type keylen = p->keylen;
+ for (; pos < len && pos < keylen; ++pos)
+ {
+ if (input[pos] != key[pos])
+ // Move to the next entry.
+ break;
+ }
+
+ if (pos == len && len == keylen)
+ {
+ // Match found!
+ return p->value;
+ }
+ }
+ return m_null_value;
+}
+
+template<typename _ValueT>
+typename sorted_string_map<_ValueT>::size_type
+sorted_string_map<_ValueT>::size() const
+{
+ return m_entry_size;
+}
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/src/multi_type_vector_test_custom.cpp new/mdds_0.11.0/src/multi_type_vector_test_custom.cpp
--- old/mdds_0.10.3/src/multi_type_vector_test_custom.cpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/src/multi_type_vector_test_custom.cpp 2014-09-18 20:06:38.000000000 +0200
@@ -1395,6 +1395,60 @@
db2.set(1, string("B"));
db1.swap(2, 3, db2, 0);
+
+ // swap blocks of equal size, one managed, and one default.
+
+ db1.clear();
+ db1.resize(10);
+ db2.clear();
+ db2.resize(10);
+
+ db1.set(3, 2.1);
+ db1.set(4, 2.2);
+ db1.set(5, 2.3);
+
+ db2.set(3, new muser_cell(3.1));
+ db2.set(4, new muser_cell(3.2));
+ db2.set(5, new muser_cell(3.3));
+
+ db2.swap(3, 5, db1, 3);
+
+ assert(db1.size() == 10);
+ assert(db1.block_size() == 3);
+ assert(db2.size() == 10);
+ assert(db2.block_size() == 3);
+
+ assert(db1.get<muser_cell*>(3)->value == 3.1);
+ assert(db1.get<muser_cell*>(4)->value == 3.2);
+ assert(db1.get<muser_cell*>(5)->value == 3.3);
+ assert(db2.get<double>(3) == 2.1);
+ assert(db2.get<double>(4) == 2.2);
+ assert(db2.get<double>(5) == 2.3);
+
+ db2.swap(3, 5, db1, 3);
+
+ assert(db1.get<double>(3) == 2.1);
+ assert(db1.get<double>(4) == 2.2);
+ assert(db1.get<double>(5) == 2.3);
+ assert(db2.get<muser_cell*>(3)->value == 3.1);
+ assert(db2.get<muser_cell*>(4)->value == 3.2);
+ assert(db2.get<muser_cell*>(5)->value == 3.3);
+
+ // Same as above, except that the source segment splits the block into 2.
+
+ db1.clear();
+ db1.resize(10);
+ db2.clear();
+ db2.resize(10);
+
+ db1.set(3, 2.1);
+ db1.set(4, 2.2);
+
+ db2.set(3, new muser_cell(3.1));
+ db2.set(4, new muser_cell(3.2));
+ db2.set(5, new muser_cell(3.3));
+
+ db2.swap(3, 4, db1, 3);
}
void mtv_test_custom_block_func3()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/src/multi_type_vector_test_default.cpp new/mdds_0.11.0/src/multi_type_vector_test_default.cpp
--- old/mdds_0.10.3/src/multi_type_vector_test_default.cpp 2014-04-23 21:22:00.000000000 +0200
+++ new/mdds_0.11.0/src/multi_type_vector_test_default.cpp 2014-09-18 20:06:38.000000000 +0200
@@ -4878,6 +4878,76 @@
db1.set(2, 12.8);
it = db1.transfer(1, 2, db2, 1);
+
+ // Reset and start over.
+ db1.clear();
+ db1.resize(20);
+ db2.clear();
+ db2.resize(20);
+
+ db1.set(9, 1.1);
+
+ db2.set(10, 1.2);
+ db2.set(11, 1.3);
+
+ it = db1.transfer(9, 9, db2, 9);
+
+ // The source should be entirely empty after the transfer.
+ assert(db1.block_size() == 1);
+ assert(it == db1.begin());
+ assert(it->__private_data.block_index == 0);
+ assert(it->size == 20);
+ assert(it->type == mtv::element_type_empty);
+ ++it;
+ assert(it == db1.end());
+
+ // Check the destination as well.
+ assert(db2.block_size() == 3);
+ it = db2.begin();
+ assert(it->size == 9);
+ assert(it->__private_data.block_index == 0);
+ assert(it->type == mtv::element_type_empty);
+ ++it;
+ assert(it->size == 3);
+ assert(it->__private_data.block_index == 1);
+ assert(it->type == mtv::element_type_numeric);
+ ++it;
+ assert(it->size == 8);
+ assert(it->__private_data.block_index == 2);
+ assert(it->type == mtv::element_type_empty);
+ ++it;
+ assert(it == db2.end());
+ assert(db2.get<double>(9) == 1.1);
+ assert(db2.get<double>(10) == 1.2);
+ assert(db2.get<double>(11) == 1.3);
+
+ // Reset and start over.
+ db1.clear();
+ db1.resize(20);
+ db2.clear();
+ db2.resize(20);
+
+ db1.set(8, 1.0);
+ db1.set(9, 1.1);
+
+ db2.set(10, 1.2);
+ db2.set(11, 1.3);
+
+ it = db1.transfer(9, 9, db2, 9);
+ assert(it->__private_data.block_index == 2);
+ assert(db1.block_size() == 3);
+ assert(db1.get<double>(8) == 1.0);
+ it = db1.begin();
+ assert(it->size == 8);
+ assert(it->type == mtv::element_type_empty);
+ ++it;
+ assert(it->size == 1);
+ assert(it->type == mtv::element_type_numeric);
+ ++it;
+ assert(it->size == 11);
+ assert(it->type == mtv::element_type_empty);
+ ++it;
+ assert(it == db1.end());
}
void mtv_test_push_back()
@@ -4978,6 +5048,25 @@
assert(it->type == mtv::element_type_numeric);
}
+void mtv_test_capacity()
+{
+ stack_printer __stack_printer__("::mtv_test_capacity");
+ mtv_type db(10, 1.1);
+ assert(db.block_size() == 1);
+ mtv_type::const_iterator it = db.begin();
+ assert(it->type == mtv::element_type_numeric);
+ size_t cap = mtv::numeric_element_block::capacity(*it->data);
+ assert(cap == 10);
+
+ db.set_empty(3, 3);
+ assert(db.block_size() == 3);
+ db.shrink_to_fit();
+ it = db.begin();
+ assert(it->type == mtv::element_type_numeric);
+ cap = mtv::numeric_element_block::capacity(*it->data);
+ assert(cap == 3);
+}
+
}
int main (int argc, char **argv)
@@ -5015,6 +5104,7 @@
mtv_test_block_identifier();
mtv_test_transfer();
mtv_test_push_back();
+ mtv_test_capacity();
cout << "Test finished successfully!" << endl;
return EXIT_SUCCESS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mdds_0.10.3/src/sorted_string_map_test.cpp new/mdds_0.11.0/src/sorted_string_map_test.cpp
--- old/mdds_0.10.3/src/sorted_string_map_test.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/mdds_0.11.0/src/sorted_string_map_test.cpp 2014-09-18 20:06:38.000000000 +0200
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * Copyright (c) 2014 Kohei Yoshida
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ ************************************************************************/
+
+#define MDDS_MULTI_TYPE_VECTOR_DEBUG 1
+#include "mdds/sorted_string_map.hpp"
+#include "mdds/global.hpp"
+
+#include "test_global.hpp"
+
+#include <cassert>
+
+using namespace std;
+
+enum name_type {
+ name_none = 0,
+ name_andy,
+ name_bruce,
+ name_charlie,
+ name_david
+};
+
+void ssmap_test_basic()
+{
+ stack_printer __stack_printer__("::ssmap_test_basic");
+
+ typedef mdds::sorted_string_map<name_type> map_type;
+
+ map_type::entry entries[] =
+ {
+ { MDDS_ASCII("andy"), name_andy },
+ { MDDS_ASCII("andy1"), name_andy },
+ { MDDS_ASCII("andy13"), name_andy },
+ { MDDS_ASCII("bruce"), name_bruce },
+ { MDDS_ASCII("charlie"), name_charlie },
+ { MDDS_ASCII("david"), name_david },
+ };
+
+ size_t entry_count = sizeof(entries)/sizeof(entries[0]);
+ map_type names(entries, entry_count, name_none);
+ for (size_t i = 0; i < entry_count; ++i)
+ {
+ cout << "* key = " << entries[i].key << endl;
+ bool res = names.find(entries[i].key, strlen(entries[i].key)) == entries[i].value;
+ assert(res);
+ }
+
+ // Try invalid keys.
+ assert(names.find("foo", 3) == name_none);
+ assert(names.find("andy133", 7) == name_none);
+}
+
+int main (int argc, char **argv)
+{
+ cmd_options opt;
+ if (!parse_cmd_options(argc, argv, opt))
+ return EXIT_FAILURE;
+
+ if (opt.test_func)
+ {
+ ssmap_test_basic();
+ }
+
+ if (opt.test_perf)
+ {
+ }
+
+ fprintf(stdout, "Test finished successfully!\n");
+ return 0;
+}
+
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package at for openSUSE:Factory checked in at 2014-10-05 20:30:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/at (Old)
and /work/SRC/openSUSE:Factory/.at.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "at"
Changes:
--------
--- /work/SRC/openSUSE:Factory/at/at.changes 2014-10-01 11:22:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.at.new/at.changes 2014-10-05 20:30:33.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 30 13:20:21 UTC 2014 - jengelh(a)inai.de
+
+- Add at-sane-envkeys.diff to skip exporting variables with
+ awkward keys [bsc#899160]
+
+-------------------------------------------------------------------
New:
----
at-sane-envkeys.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ at.spec ++++++
--- /var/tmp/diff_new_pack.gEFpc8/_old 2014-10-05 20:30:35.000000000 +0200
+++ /var/tmp/diff_new_pack.gEFpc8/_new 2014-10-05 20:30:35.000000000 +0200
@@ -60,6 +60,7 @@
Patch24: at-backport-old-privs.patch
#PATCH-FEATURE-UPSTREAM introduce -o <timeformat> argument for atq (bnc#879402)
Patch25: at-atq-timeformat.patch
+Patch26: at-sane-envkeys.diff
BuildRequires: autoconf >= 2.69
BuildRequires: automake
@@ -105,6 +106,7 @@
%patch23 -p1
%patch24 -p1
%patch25
+%patch26 -p1
%build
rm -fv y.tab.c y.tab.h lex.yy.c lex.yy.o y.tab.o
++++++ at-sane-envkeys.diff ++++++
From: Jan Engelhardt <jengelh(a)inai.de>
Date: 2014-09-30 15:15:52.645631792 +0200
X-Status: fixes an upstream issue
Shells generally only allow setting environment variables whose keys
are of the form /^[A-Z_][A-Z0-9_]/i. Exporting anything else is going
to end in disaster (sh throwing syntax errors).
---
at.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
Index: at-3.1.14/at.c
===================================================================
--- at-3.1.14.orig/at.c
+++ at-3.1.14/at.c
@@ -225,6 +225,23 @@ nextjob()
return jobno;
}
+/**
+ * @s: string in the form of "key=value" and \0-terminated
+ * @n: length of key portion
+ */
+static bool legit_key(const char *s, size_t n)
+{
+ /* First char has extra restrictions: must not be a digit */
+ if (!isalpha(*s) && *s != '_')
+ return false;
+ for (; n-- > 0; ++s) {
+ if (!isalnum(*s) && *s != '_')
+ return false;
+ ++s;
+ }
+ return true;
+}
+
static void
writefile(time_t runtimer, char queue)
{
@@ -403,7 +420,10 @@ writefile(time_t runtimer, char queue)
eqp++;
}
- if (export) {
+ if (!export || !legit_key(*atenv, eqp - *atenv)) {
+ continue;
+ }
+
fwrite(*atenv, sizeof(char), eqp - *atenv, fp);
for (ap = eqp; *ap != '\0'; ap++) {
if (*ap == '\n')
@@ -439,7 +459,6 @@ writefile(time_t runtimer, char queue)
fwrite(*atenv, sizeof(char), eqp - *atenv - 1, fp);
fputc('\n', fp);
- }
}
/* Cd to the directory at the time and write out all the
* commands the user supplies from stdin.
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libotf for openSUSE:Factory checked in at 2014-10-05 20:30:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libotf (Old)
and /work/SRC/openSUSE:Factory/.libotf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libotf"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libotf/libotf.changes 2014-06-19 13:08:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libotf.new/libotf.changes 2014-10-05 20:30:32.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Oct 1 20:51:46 UTC 2014 - crrodriguez(a)opensuse.org
+
+ Cleanup buildRequires, removing use of xorg-x11-devel.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libotf.spec ++++++
--- /var/tmp/diff_new_pack.VUZQ3v/_old 2014-10-05 20:30:33.000000000 +0200
+++ /var/tmp/diff_new_pack.VUZQ3v/_new 2014-10-05 20:30:33.000000000 +0200
@@ -31,9 +31,12 @@
Patch: libotf-warning-fixes.diff
# patch not sent upstream, because m17n.org is currently down
Patch1: libotf-automake-1.13.diff
-BuildRequires: freetype2-devel
BuildRequires: libtool
-BuildRequires: xorg-x11-devel
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(freetype2)
+BuildRequires: pkgconfig(x11)
+BuildRequires: pkgconfig(xaw7)
+BuildRequires: pkgconfig(xt)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -52,7 +55,6 @@
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/Other
Requires: %{name} = %{version}
-Requires: freetype2-devel
%description devel
This package contains all necessary include files and libraries needed
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package usb_modeswitch for openSUSE:Factory checked in at 2014-10-05 20:30:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/usb_modeswitch (Old)
and /work/SRC/openSUSE:Factory/.usb_modeswitch.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "usb_modeswitch"
Changes:
--------
--- /work/SRC/openSUSE:Factory/usb_modeswitch/usb_modeswitch.changes 2014-06-05 10:49:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.usb_modeswitch.new/usb_modeswitch.changes 2014-10-05 20:30:31.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Oct 2 10:35:44 UTC 2014 - andrea(a)opensuse.org
+
+- upgraded the data package to version 20140529
+
+-------------------------------------------------------------------
@@ -32,0 +38 @@
+
Old:
----
usb-modeswitch-data-20140327.tar.bz2
New:
----
usb-modeswitch-data-20140529.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ usb_modeswitch.spec ++++++
--- /var/tmp/diff_new_pack.MuOVyP/_old 2014-10-05 20:30:32.000000000 +0200
+++ /var/tmp/diff_new_pack.MuOVyP/_new 2014-10-05 20:30:32.000000000 +0200
@@ -30,7 +30,7 @@
Group: Hardware/Mobile
Url: http://www.draisberghof.de/usb_modeswitch
%define source_name usb-modeswitch
-%define date 20140327
+%define date 20140529
Source0: http://www.draisberghof.de/usb_modeswitch/%{source_name}-%{version}.tar.bz2
Source1: http://www.draisberghof.de/usb_modeswitch/%{source_name}-data-%{date}.tar.b…
Source2: http://www.draisberghof.de/usb_modeswitch/device_reference.txt
++++++ huawei-timing.patch ++++++
--- /var/tmp/diff_new_pack.MuOVyP/_old 2014-10-05 20:30:32.000000000 +0200
+++ /var/tmp/diff_new_pack.MuOVyP/_new 2014-10-05 20:30:32.000000000 +0200
@@ -1,21 +1,21 @@
-diff -u -r usb-modeswitch-data-20120531.org/40-usb_modeswitch.rules usb-modeswitch-data-20120531/40-usb_modeswitch.rules
---- usb-modeswitch-data-20121109.org/40-usb_modeswitch.rules 2012-12-03 14:15:48.751958694 +0200
-+++ usb-modeswitch-data2-0121109/40-usb_modeswitch.rules 2012-12-03 14:16:49.063343878 +0200
-@@ -525,6 +525,9 @@
- # Huawei E173s
- ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c0b", RUN+="usb_modeswitch '%b/%k'"
+diff -uNr usb-modeswitch-data-20140529/40-usb_modeswitch.rules new-usb-modeswitch-data-20140529/40-usb_modeswitch.rules
+--- usb-modeswitch-data-20140529/40-usb_modeswitch.rules 2014-05-29 21:51:51.000000000 +0200
++++ new-usb-modeswitch-data-20140529/40-usb_modeswitch.rules 2014-10-02 13:02:06.847608203 +0200
+@@ -21,7 +21,7 @@
-+# Huawei E173s
-+ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1c00", RUN+="usb_modeswitch -w 3000 '%b/%k'"
-+
- # Huawei GP02 (E587 Variant)
- ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c1b", RUN+="usb_modeswitch '%b/%k'"
-diff -u -r usb-modeswitch-data-20120531.org/usb_modeswitch.d/12d1:1c0b usb-modeswitch-data-20120531/usb_modeswitch.d/12d1:1c0b
---- usb-modeswitch-data-20121109.org/usb_modeswitch.d/12d1:1c0b 2012-12-03 14:15:48.754958714 +0200
-+++ usb-modeswitch-data-20121109/usb_modeswitch.d/12d1:1c0b 2012-12-03 14:17:35.495640324 +0200
+ # Generic entry for all Huawei devices
+-ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"
++ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch -w 3000 '%b/%k'"
+
+ # HP LaserJet Professional P1102
+ ATTR{idVendor}=="03f0", ATTR{idProduct}=="002a", RUN+="usb_modeswitch '%b/%k'"
+diff -uNr usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c0b new-usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c0b
+--- usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c0b 2014-05-29 14:57:00.000000000 +0200
++++ new-usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c0b 2014-10-02 13:01:32.617257701 +0200
@@ -2,3 +2,4 @@
TargetVendor=0x12d1
TargetProductList="1c05,1c07,1c08,1c10"
- MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+ HuaweiNewMode=1
+WaitBefore=3
+\ No newline at end of file
++++++ usb-modeswitch-data-20140327.tar.bz2 -> usb-modeswitch-data-20140529.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/40-usb_modeswitch.rules new/usb-modeswitch-data-20140529/40-usb_modeswitch.rules
--- old/usb-modeswitch-data-20140327/40-usb_modeswitch.rules 2014-03-26 20:58:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/40-usb_modeswitch.rules 2014-05-29 21:51:51.000000000 +0200
@@ -1,6 +1,6 @@
-# Part of usb-modeswitch-data, version 20140327
+# Part of usb-modeswitch-data, version 20140529
#
-# Works with usb_modeswitch versions >= 2.1.0 (introduction of StandardEject)
+# Works with usb_modeswitch versions >= 2.2.0 (introduction of HuaweiNewMode)
#
ACTION!="add|change", GOTO="modeswitch_rules_end"
@@ -20,6 +20,8 @@
ACTION!="add", GOTO="modeswitch_rules_end"
+# Generic entry for all Huawei devices
+ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"
# HP LaserJet Professional P1102
ATTR{idVendor}=="03f0", ATTR{idProduct}=="002a", RUN+="usb_modeswitch '%b/%k'"
@@ -36,6 +38,9 @@
# Yota Router (Quanta 1QDLZZZ0ST2)
ATTR{idVendor}=="0408", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+# SpeedUp SU-8500U
+ATTR{idVendor}=="0408", ATTR{idProduct}=="f001", RUN+="usb_modeswitch '%b/%k'"
+
# Nokia CS-10
ATTR{idVendor}=="0421", ATTR{idProduct}=="060c", RUN+="usb_modeswitch '%b/%k'"
@@ -78,6 +83,12 @@
# Alcatel-Lucent T930S
ATTR{idVendor}=="04cc", ATTR{idProduct}=="225c", RUN+="usb_modeswitch '%b/%k'"
+# Nexperia TM TD-SCDMA
+ATTR{idVendor}=="04cc", ATTR{idProduct}=="226e", RUN+="usb_modeswitch '%b/%k'"
+
+# Nexperia TM TD-SCDMA (Variant)
+ATTR{idVendor}=="04cc", ATTR{idProduct}=="226f", RUN+="usb_modeswitch '%b/%k'"
+
# Samsung GT-B1110
ATTR{idVendor}=="04e8", ATTR{idProduct}=="680c", RUN+="usb_modeswitch '%b/%k'"
@@ -87,6 +98,9 @@
# Samsung U209
ATTR{idVendor}=="04e8", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+# Sunplus Techn. SU-3200U
+ATTR{idVendor}=="04fc", ATTR{idProduct}=="2140", RUN+="usb_modeswitch '%b/%k'"
+
# AVM Fritz!Wlan USB Stick N v2
ATTR{idVendor}=="057c", ATTR{idProduct}=="62ff", RUN+="usb_modeswitch '%b/%k'"
@@ -96,7 +110,7 @@
# Axesstel Modems (w/ initial idProduct 0x0010)
ATTR{idVendor}=="05c6", ATTR{idProduct}=="0010", RUN+="usb_modeswitch '%b/%k'"
-# Prolink P2000 CDMA, Samsung SGH-Z810, Older Option devices, Vertex Wireless 100 Series, AnyDATA devices, Bless UC165, Option GlobeTrotter GX0201, Celot K-300, Celot CT-680, StrongRising device
+# Prolink P2000 CDMA, Samsung SGH-Z810, older Option devices, Vertex Wireless 100 Series, AnyDATA devices, Bless UC165, Option GlobeTrotter GX0201, Celot K-300, Celot CT-680, StrongRising device
ATTR{idVendor}=="05c6", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# HSDPA USB modem from dealextreme
@@ -123,7 +137,7 @@
# InfoCert Business Key (SmartCard/Reader emulation)
ATTR{idVendor}=="072f", ATTR{idProduct}=="100d", RUN+="usb_modeswitch '%b/%k'"
-# D-Link DWM-156 HSUPA 3.75G USB Modem
+# D-Link DWM-156 HSUPA 3.75G USB Modem
ATTR{idVendor}=="07d1", ATTR{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-156 HSUPA 3.75G USB Modem
@@ -324,6 +338,18 @@
# Olivetti Olicard 145, 155
ATTR{idVendor}=="0b3c", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+# Olivetti Olicard 500
+ATTR{idVendor}=="0b3c", ATTR{idProduct}=="f00c", RUN+="usb_modeswitch '%b/%k'"
+
+# Olivetti Olicard 160
+ATTR{idVendor}=="0b3c", ATTR{idProduct}=="f017", RUN+="usb_modeswitch '%b/%k'"
+
+# Ericsson F5521gw
+ATTR{idVendor}=="0bdb", ATTR{idProduct}=="190d", RUN+="usb_modeswitch '%b/%k'"
+
+# Ericsson F5521gw (Variant)
+ATTR{idVendor}=="0bdb", ATTR{idProduct}=="1910", RUN+="usb_modeswitch '%b/%k'"
+
# Atheros Wireless / Netgear WNDA3200
ATTR{idVendor}=="0cf3", ATTR{idProduct}=="20ff", RUN+="usb_modeswitch '%b/%k'"
@@ -336,7 +362,7 @@
# Mobile Action ("Smart Cable")
ATTR{idVendor}=="0df7", ATTR{idProduct}=="0800", RUN+="usb_modeswitch '%b/%k'"
-# MediaTek MT6276M
+# MediaTek MT6276M and others
ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'"
# MediaTek Wimax USB Card
@@ -348,6 +374,9 @@
# Sony Ericsson MD300
ATTR{idVendor}=="0fce", ATTR{idProduct}=="d0cf", RUN+="usb_modeswitch '%b/%k'"
+# Sony Ericsson EC400
+ATTR{idVendor}=="0fce", ATTR{idProduct}=="d0df", RUN+="usb_modeswitch '%b/%k'"
+
# Sony Ericsson MD400
ATTR{idVendor}=="0fce", ATTR{idProduct}=="d0e1", RUN+="usb_modeswitch '%b/%k'"
@@ -426,156 +455,6 @@
# Digicom 8E4455 (and all Pirelli devices - EXPERIMENTAL)
ATTR{idVendor}=="1266", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
-# Huawei E169
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E220, E230, E270, E870
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1003", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei V725 Phone (aka Vodafone 725)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1009", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei U7510 / U7517
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="101e", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei U8220, T-Mobile Pulse (Android smartphone)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1030", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei U8110 / Joy, Vodafone 845 (Android smartphone), for Android SDK
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1031", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E180
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1414", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei, newer modems
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E352
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1449", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone (Huawei) K3806
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14ad", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E173 (Viettel 3G)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14b5", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone (Huawei) K4511
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14b7", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E173u-2, E177
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14ba", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone (Huawei) K4605
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c1", RUN+="usb_modeswitch '%b/%k'"
-
-# K5005 Vodafone/Huawei
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c3", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone/Huawei K3771
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c4", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone (Huawei) K4510
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c5", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei K3770
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14d1", RUN+="usb_modeswitch '%b/%k'"
-
-# T-Mobile NL (Huawei E352)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="14fe", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei EC156, Huawei E372u-8
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E392u-12, E3131 (Variant)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="151a", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei K3765
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1520", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei K4505
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1521", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei R201
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1523", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei K3772
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1526", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E1553
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1553", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E173
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1557", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E171
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="155b", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E3276s-151 and E3251
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="156a", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E3276-s150
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="157c", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E3331
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="157d", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei U2800 Phone
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1805", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E173s
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c0b", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei GP02 (E587 Variant)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c1b", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E173 (Moviestar)
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c24", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei ET302
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1d50", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei ET8282, Huawei ET127
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1da1", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei E353 (3.se) and others
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f01", RUN+="usb_modeswitch '%b/%k'"
-
-# KDDI (Huawei) HWD12 LTE
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f03", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei K3773
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f11", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone K4305
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f15", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone K5150
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f16", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone K4201
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f17", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone K4202
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f18", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone K4606
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f19", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei Kxxxx
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1b", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei Kxxxx
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1c", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei Kxxxx
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1d", RUN+="usb_modeswitch '%b/%k'"
-
-# Vodafone / Huawei Kxxxx
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1e", RUN+="usb_modeswitch '%b/%k'"
-
-# Huawei BM358 WiMAX
-ATTR{idVendor}=="12d1", ATTR{idProduct}=="380b", RUN+="usb_modeswitch '%b/%k'"
-
# Cisco AM10 "Valet Connector"
ATTR{idVendor}=="1307", ATTR{idProduct}=="1169", RUN+="usb_modeswitch '%b/%k'"
@@ -597,6 +476,9 @@
# Novatel Generic MiFi 2352 / Vodafone MiFi 2352
ATTR{idVendor}=="1410", ATTR{idProduct}=="5041", RUN+="usb_modeswitch '%b/%k'"
+# Novatel MiFi 4082
+ATTR{idVendor}=="1410", ATTR{idProduct}=="5055", RUN+="usb_modeswitch '%b/%k'"
+
# Novatel Wireless MC545 HSPA, U679 LTE
ATTR{idVendor}=="1410", ATTR{idProduct}=="5059", RUN+="usb_modeswitch '%b/%k'"
@@ -748,6 +630,9 @@
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1227", RUN+="usb_modeswitch '%b/%k'"
# ZTE MFxxx
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1232", RUN+="usb_modeswitch '%b/%k'"
+
+# ZTE MFxxx
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1233", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF825A
@@ -804,7 +689,7 @@
# BandRich BandLuxe C339
ATTR{idVendor}=="1a8d", ATTR{idProduct}=="2000", RUN+="usb_modeswitch '%b/%k'"
-# Hummer DTM5731, Aircard 901
+# Hummer DTM5731, Aircard 901
ATTR{idVendor}=="1ab7", ATTR{idProduct}=="5700", RUN+="usb_modeswitch '%b/%k'"
# EpiValley SEC-7089 (featured by Alegro and Starcomms / iZAP)
@@ -831,25 +716,34 @@
# Alcatel One Touch X020
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'"
-# Vibe 3G Modem
+# Vibe 3G Modem
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="6061", RUN+="usb_modeswitch '%b/%k'"
+# Emobile D21LC (Variant)
+ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9101", RUN+="usb_modeswitch '%b/%k'"
+
# MyWave SW006 Sport Phone/Modem Combination
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9200", RUN+="usb_modeswitch '%b/%k'"
+# Emobile D21LC
+ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9401", RUN+="usb_modeswitch '%b/%k'"
+
# Longcheer SU9800
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9800", RUN+="usb_modeswitch '%b/%k'"
# Telewell TW-3G HSPA+, FS01BU 3G
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="98ff", RUN+="usb_modeswitch '%b/%k'"
+# Prolink PCM100
+ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9d00", RUN+="usb_modeswitch '%b/%k'"
+
# BSNL Capitel
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9e00", RUN+="usb_modeswitch '%b/%k'"
# Explay Slim
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9e08", RUN+="usb_modeswitch '%b/%k'"
-# MobiData MBD-200HU and others
+# MobiData MBD-200HU and others, Longcheer/Longsoon (aka Omega Technology) devices
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Qisda H21 Flying Beetle
@@ -927,19 +821,22 @@
# Haier CE682 (EVDO)
ATTR{idVendor}=="201e", ATTR{idProduct}=="1023", RUN+="usb_modeswitch '%b/%k'"
-# Haier CE 100
+# Haier CE 100
ATTR{idVendor}=="201e", ATTR{idProduct}=="2009", RUN+="usb_modeswitch '%b/%k'"
# Mediatek MT6229
ATTR{idVendor}=="2020", ATTR{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'"
-# SpeedUp SU-8000U
+# SpeedUp SU-8000
ATTR{idVendor}=="2020", ATTR{idProduct}=="f00e", RUN+="usb_modeswitch '%b/%k'"
+# SpeedUp SU-8000U
+ATTR{idVendor}=="2020", ATTR{idProduct}=="f00f", RUN+="usb_modeswitch '%b/%k'"
+
# Changhong CH690
ATTR{idVendor}=="2077", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
-# Telenet 3G dongle (T&W WU160)
+# Telenet 3G dongle (T&W WU160) and others
ATTR{idVendor}=="2077", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# StrongRising (China Telcom), Air FlexiNet
@@ -972,6 +869,9 @@
# TP-Link MA260
ATTR{idVendor}=="2357", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+# Titan 3.5G
+ATTR{idVendor}=="23a2", ATTR{idProduct}=="1010", RUN+="usb_modeswitch '%b/%k'"
+
# Exiss Mobile E-190 series (made by C-motech)
ATTR{idVendor}=="8888", ATTR{idProduct}=="6500", RUN+="usb_modeswitch '%b/%k'"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/ChangeLog new/usb-modeswitch-data-20140529/ChangeLog
--- old/usb-modeswitch-data-20140327/ChangeLog 2014-03-27 21:53:56.000000000 +0100
+++ new/usb-modeswitch-data-20140529/ChangeLog 2014-05-30 08:08:40.000000000 +0200
@@ -1,8 +1,20 @@
+20140529:
+ ATTENTION: requires usb-modeswitch version >= 2.2.0 due to new para-
+ meter HuaweiNewMode (further reducing config file size);
+ Added devices: Nexperia TM TD-SCDMA, Sunplus SU-3200U, Olivetti
+ Olicard 160 and Olicard 500, Ericsson F5521gw, Sony Ericsson EC400,
+ Huawei EC168, Huawei/Vod. W5101 Router, Huawei E3531, Huawei E3131
+ (Variant), Novatel MiFi 4082, Emobile D12LC, Emobile D21LC, Prolink
+ PCM100, Titan 3.5G, several nameless ZTE modems, several minor device
+ configuration corrections (thanks once again to Lars Melin for the
+ tedious device research and compilation!);
+ Substantial change in handling of Huawei devices - generic udev rule and
+ additional generic configuration files (as fallback for unknown models
+ or as OS-specific catch-all); see README for details
20140327:
Plenty of Huawei and ZTE devices added, several target IDs added (thanks
to Lars Melin for the compilation); fix for Option GI1515 (0af0:d001) to
- be used with usb-modeswitch >= 2.1.1; unified switching message for
- nearly all Huawei devices
+ be used with usb-modeswitch >= 2.1.1
20140129:
Minor bug fix in configs 19d2:0149 and 19d2:2000 (Lars Melin reported)
20140128:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/Makefile new/usb-modeswitch-data-20140529/Makefile
--- old/usb-modeswitch-data-20140327/Makefile 2014-03-26 20:58:46.000000000 +0100
+++ new/usb-modeswitch-data-20140529/Makefile 2014-05-29 12:32:42.000000000 +0200
@@ -1,5 +1,5 @@
PROG = usb-modeswitch-data
-VERS = 20140327
+VERS = 20140529
RM = /bin/rm -f
PREFIX = $(DESTDIR)/usr
ETCDIR = $(DESTDIR)/etc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/README new/usb-modeswitch-data-20140529/README
--- old/usb-modeswitch-data-20140327/README 2013-06-02 16:00:46.000000000 +0200
+++ new/usb-modeswitch-data-20140529/README 2014-05-29 19:13:30.000000000 +0200
@@ -68,6 +68,23 @@
<vid>:<pid>:uPr=CDMA_Mo will match iProduct "CDMA Modem" or "MyCDMA_Mordor"
+Generic config files (per vendor ID):
+=====================================
+
+Introduced in program package 2.2.0, this feature allows config files with a
+name in the form <idVendor>:#<system flavour>. The default flavour is "linux".
+
+The system parameter is taken from "/proc/version". The main use currently is
+a sort of OS switch to treat all Huawei devices differently on Android.
+There is no guarantee though that the /proc/version information will always
+point to Android, so this method may change in future versions.
+
+Annother form of usage is a fallback if the device ID is yet unknown. For
+Huawei devices, the switching method is uniform and not likely to change,
+so it is possible to provide a generic configuration.
+
+Example files: see "12d1:#android" and "12d1:#linux"
+
Parameters used only in config files:
=====================================
@@ -88,6 +105,11 @@
Notes about specific devices:
=============================
+- Huawei devices have a generic entry in the rules file; also there are
+ generic config files for these devices (Linux/Android) as fall-back or
+ as OS-specific mode control. This was suggested and approved by the
+ manufacturer
+
- 1004:607f (LG KP500): switching message derived from report but untested
- 1266:1000 (Royaltek Q110): switching method very likely but unconfirmed
@@ -123,4 +145,4 @@
-Last revised: 2013-06-02, Josua Dietze
+Last revised: 2014-05-29, Josua Dietze
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/REFERENCE new/usb-modeswitch-data-20140529/REFERENCE
--- old/usb-modeswitch-data-20140327/REFERENCE 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/REFERENCE 2014-05-29 21:53:00.000000000 +0200
@@ -0,0 +1,203 @@
+Configuration File Reference for USB_ModeSwitch
+-----------------------------------------------
+
+Last modified: 2014-05-29
+
+
+
+General Rules:
+
+Numbers can be decimal or hexadecimal, Bulk message strings must be
+hexadecimal without prepended "0x". Digits 9-16 (command tag) in
+mass storage messages (starting with "55534243") are random; I set
+them to "12345678". Mind that you should make them unique if more
+than one MessageContent is used.
+
+-> ALL MISTYPED PARAMETERS AND OTHER ENTRIES ARE SILENTLY IGNORED <-
+
+
+
+Parameter Reference:
+
+Note: if there is a short command line flag for a parameter, then it
+is appended to the line. For the full command line parameter reference
+see the usb_modeswitch(1) man page.
+
+
+* DefaultVendor -v <hex number>
+* DefaultProduct -p <hex number>
+
+This is the ID the USB device shows after having been plugged in.
+The program needs this, either on the command line or in the config
+file; if not found -> no action.
+
+Note: newer config files do not contain these parameters because of
+the redundancy with regard to the config file name.
+
+
+* TargetVendor -V <hex number>
+* TargetProduct -P <hex number>
+
+These are the IDs of the USB device after successful mode switching.
+They are optional, but required for a proper success check
+
+
+* TargetProductList <comma separated hex strings without "0x">
+
+Like TargetProduct, but multiple targets
+
+
+* TargetClass -C <hex number>
+
+Some devices don't change their ID, only their layout. To check for a
+successfull mode switch, the class of the first interface is checked
+
+
+* MessageEndpoint -m <hex number>
+* ResponseEndpoint -r <hex number>
+
+A kind of address inside the interface to which the "message"
+(the sequence that does the actual switching) is directed or
+from which the reply is read if NeedResponse is active.
+OBSOLETE since version 0.9.7 due to autodetection, only useful for
+testing
+
+
+* MessageContent -M <hex string>
+
+A hex string containing the "message" sequence; it will be
+sent as a USB bulk transfer
+
+
+* MessageContent2, ...3 -2/-3 <hex string>
+
+Additional "messages". Use with "NeedResponse"!
+
+
+* ReleaseDelay -w <milliseconds>
+
+Waiting time after message transfers. Helps with some sensitive devices
+that don't want any traffic after the mode switch initialisation
+
+
+* NeedResponse <0/1> -n
+
+Some devices were reported to require receiving the response of the
+bulk transfer to do the switching properly. Usually not needed.
+
+
+* DetachStorageOnly <0/1> -d
+
+Some early devices just needed to be detached from the usb-storage
+driver to initiate the mode switching. Now practically obsolete for
+switching, but still comes handy sometimes
+
+
+* StandardEject <0/1> -K
+
+Sends a specific bulk message sequence representing the SCSI commands
+"ALLOW MEDIUM REMOVAL" and "START STOP UNIT", basically an eject
+action. Many modems are using this for mode switching
+
+
+* HuaweiMode <0/1> -H
+
+Some early Huawei devices can be switched by a special control
+message. Don't use with recent devices
+
+
+* HuaweiNewMode <0/1> -J
+
+The standard for all newer Huawei devices. Sends a specific bulk message,
+but different target layouts may be reached with variants of that
+message; use MessageContent for these
+
+
+* SonyMode <0/1> -O
+
+Some Sony-Ericsson devices can be switched by a special control
+message. May take a long time (20+ seconds).
+
+
+* SierraMode <0/1> -S
+* KobilMode <0/1> -T
+* GCTMode <0/1> -G
+* SequansMode <0/1> -N
+* MobileActionMode <0/1> -A
+* QisdaMode <0/1> -B
+* QuantaMode <0/1> -E
+* PantechMode <0/1> -F
+* BlackberryMode <0/1> -Z
+* CiscoMode <0/1> -L
+
+
+Flags to support devices that need special control messages.
+The names are referring to the respective manufacturers.
+
+
+* ResetUSB <0/1> -R
+
+Few devices or systems need a rougher treatment. If the switching seems
+to do something but your system does not reflect it, try this somewhat
+brutal method to do a reset after switching. May also be useful for
+all kinds of experiments
+
+
+* Configuration -u <hex number>
+
+Some devices are doing the "right" thing and provide different layouts
+in the standard-compliant way. They don't "restart", so don't have to be
+rediscovered by the system after the change. Strictly speaking, they are
+not doing a mode switch
+
+
+* Interface -i <hex number>
+* AltSetting -a <hex number>
+
+More USB parameter to help with tricky devices and for doing lots
+of cruel experiments; usually not needed ...
+
+
+Note:
+AltSetting/Configuration changes and ResetUSB are executed after all
+other steps and can be combined or used on their own (e.g. a reset
+might have the same effect as a manual replug)
+
+
+* InquireDevice <0|1> -I (enables inquiry)
+
+Prints out SCSI device attributes in addition to USB device attributes.
+These may be used later to tell apart ambiguous device IDs. Only needed
+for creating new configurations
+
+
+* CheckSuccess -s <number>
+
+Check continuously if the switch succeeded for max <number> seconds.
+If the target ID is given, the check waits for it to appear.
+Otherwise, the check waits for the device to "go away"; most devices
+vanish after switching and can't be accessed anymore. It also checks
+the bus/device count, trying to determine if the device "came back"
+
+Note: this feature is not used in the full-featured Linux package of
+usb_modeswitch where the success check is done by the wrapper script
+
+
+* NoDriverLoading <0|1> (no command line parameter)
+
+The binary tells the wrapper script NOT to check for and initiate
+binding of the serial driver after switching.
+Mostly useful for non-modem devices and newer modems which do not use
+the serial driver.
+
+
+* WaitBefore <seconds> (no command line parameter)
+
+Waiting time before taking any action. Helps with some sensitive setups.
+
+
+* NoMBIMCheck <0|1> (no command line parameter)
+
+Disable the check for new MBIM standard devices, which is always done
+by default.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/gen-rules.tcl new/usb-modeswitch-data-20140529/gen-rules.tcl
--- old/usb-modeswitch-data-20140327/gen-rules.tcl 2014-03-26 21:15:59.000000000 +0100
+++ new/usb-modeswitch-data-20140529/gen-rules.tcl 2014-05-29 21:46:57.000000000 +0200
@@ -9,7 +9,7 @@
# Default version string
-set version "20140327"
+set version "20140529"
if {[lindex $argv 0] == "--set-version" && [regexp {\d\d\d\d\d\d\d\d} [lindex $argv 1]]} {
set version [lindex $argv 1]
@@ -35,7 +35,7 @@
puts -nonewline $wc {# Part of usb-modeswitch-data, version }
puts $wc $version
puts $wc {#
-# Works with usb_modeswitch versions >= 2.1.0 (introduction of StandardEject)
+# Works with usb_modeswitch versions >= 2.2.0 (introduction of HuaweiNewMode)
#
ACTION!="add|change", GOTO="modeswitch_rules_end"
@@ -53,13 +53,18 @@
# Don't continue on "change" event, prevent trigger by changed configuration
ACTION!="add", GOTO="modeswitch_rules_end"
-}
+
+
+# Generic entry for all Huawei devices
+ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"}
+
set vendorList ""
set dvid ""
foreach idfile $filelist {
if {![regexp -nocase {./([0-9A-F]{4}:[0-9A-F]{4})} $idfile d id]} {continue}
+ if [regexp -nocase {^12d1:} $id] {continue}
if [info exists entry($id)] {
append entry($id) ", "
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0408:f000 new/usb-modeswitch-data-20140529/usb_modeswitch.d/0408:f000
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0408:f000 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0408:f000 2014-05-29 15:52:41.000000000 +0200
@@ -1,4 +1,4 @@
# Yota Router (Quanta 1QDLZZZ0ST2)
TargetVendor=0x0408
-TargetProduct=0xd009
-MessageContent="5553424312345678000000000000061b004600000000000000000000000000"
+TargetProduct=0xea03
+QuantaMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0408:f001 new/usb-modeswitch-data-20140529/usb_modeswitch.d/0408:f001
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0408:f001 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0408:f001 2014-05-29 15:51:12.000000000 +0200
@@ -0,0 +1,4 @@
+# SpeedUp SU-8500U
+TargetVendor=0x0408
+TargetProduct=0xea03
+QuantaMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0482:024d new/usb-modeswitch-data-20140529/usb_modeswitch.d/0482:024d
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0482:024d 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0482:024d 2014-05-29 17:50:16.000000000 +0200
@@ -1,3 +1,2 @@
# Kyocera W06K CDMA modem
-TargetClass=0x02
Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/04cc:225c new/usb-modeswitch-data-20140529/usb_modeswitch.d/04cc:225c
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/04cc:225c 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/04cc:225c 2014-05-29 17:50:27.000000000 +0200
@@ -1,3 +1,2 @@
# Alcatel-Lucent T930S
-TargetClass=0xff
Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/04cc:226e new/usb-modeswitch-data-20140529/usb_modeswitch.d/04cc:226e
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/04cc:226e 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/04cc:226e 2014-05-29 15:39:04.000000000 +0200
@@ -0,0 +1,2 @@
+# Nexperia TM TD-SCDMA
+Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/04cc:226f new/usb-modeswitch-data-20140529/usb_modeswitch.d/04cc:226f
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/04cc:226f 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/04cc:226f 2014-05-29 15:39:32.000000000 +0200
@@ -0,0 +1,2 @@
+# Nexperia TM TD-SCDMA (Variant)
+Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/04fc:2140 new/usb-modeswitch-data-20140529/usb_modeswitch.d/04fc:2140
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/04fc:2140 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/04fc:2140 2014-05-29 15:37:54.000000000 +0200
@@ -0,0 +1,4 @@
+# Sunplus Techn. SU-3200U
+TargetVendor=0x04fc
+TargetProduct=0x0615
+MessageContent="55534243123456782400000080000612000024000000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/057c:62ff new/usb-modeswitch-data-20140529/usb_modeswitch.d/057c:62ff
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/057c:62ff 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/057c:62ff 2014-05-29 15:20:34.000000000 +0200
@@ -1,5 +1,5 @@
# AVM Fritz!Wlan USB Stick N v2
TargetVendor=0x057c
-TargetProduct=0x8501
+TargetProductList="8501,8502"
MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000"
NoDriverLoading=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0b3c:f00c new/usb-modeswitch-data-20140529/usb_modeswitch.d/0b3c:f00c
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0b3c:f00c 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0b3c:f00c 2014-05-30 08:03:01.000000000 +0200
@@ -0,0 +1,4 @@
+# Olivetti Olicard 160
+TargetVendor=0x0b3c
+TargetProduct=0xc00a
+MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0b3c:f017 new/usb-modeswitch-data-20140529/usb_modeswitch.d/0b3c:f017
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0b3c:f017 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0b3c:f017 2014-05-30 08:02:50.000000000 +0200
@@ -0,0 +1,4 @@
+# Olivetti Olicard 500
+TargetVendor=0x0b3c
+TargetProduct=0xc00b
+StandardEject=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0bdb:190d new/usb-modeswitch-data-20140529/usb_modeswitch.d/0bdb:190d
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0bdb:190d 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0bdb:190d 2014-05-29 15:38:18.000000000 +0200
@@ -0,0 +1,2 @@
+# Ericsson F5521gw
+Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0bdb:1910 new/usb-modeswitch-data-20140529/usb_modeswitch.d/0bdb:1910
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0bdb:1910 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0bdb:1910 2014-05-29 15:38:24.000000000 +0200
@@ -0,0 +1,2 @@
+# Ericsson F5521gw (Variant)
+Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0e8d:0002:uPr=MT new/usb-modeswitch-data-20140529/usb_modeswitch.d/0e8d:0002:uPr=MT
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0e8d:0002:uPr=MT 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0e8d:0002:uPr=MT 2014-05-29 16:10:53.000000000 +0200
@@ -1,4 +1,4 @@
-# MediaTek MT6276M
+# MediaTek MT6276M and others
TargetVendor=0x0e8d
-TargetProductList="00a1,00a2"
+TargetProductList="00a1,00a2,00a5"
MessageContent="555342431234567800000000000006f0010300000000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0fce:d0cf new/usb-modeswitch-data-20140529/usb_modeswitch.d/0fce:d0cf
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0fce:d0cf 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0fce:d0cf 2014-05-29 15:41:25.000000000 +0200
@@ -1,4 +1,2 @@
# Sony Ericsson MD300
-TargetClass=0x02
-DetachStorageOnly=1
Configuration=3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0fce:d0df new/usb-modeswitch-data-20140529/usb_modeswitch.d/0fce:d0df
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0fce:d0df 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0fce:d0df 2014-05-29 15:40:48.000000000 +0200
@@ -0,0 +1,2 @@
+# Sony Ericsson EC400
+Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/0fd1:1000 new/usb-modeswitch-data-20140529/usb_modeswitch.d/0fd1:1000
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/0fd1:1000 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/0fd1:1000 2014-05-29 17:53:54.000000000 +0200
@@ -1,3 +1,2 @@
# GW D301 (Advinne AMC)
-TargetClass=0xff
Configuration=3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:#android new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:#android
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:#android 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:#android 2014-05-29 19:16:26.000000000 +0200
@@ -0,0 +1,3 @@
+# Huawei generic for Android
+TargetVendor= 0x12d1
+MessageContent="55534243123456780000000000000011063000000100010000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:#linux new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:#linux
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:#linux 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:#linux 2014-05-29 19:16:02.000000000 +0200
@@ -0,0 +1,3 @@
+# Huawei generic for Linux (fall-back for unknown products)
+TargetVendor= 0x12d1
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1009 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1009
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1009 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1009 2014-05-29 14:40:47.000000000 +0200
@@ -1,4 +1,3 @@
# Huawei V725 Phone (aka Vodafone 725)
TargetClass=0xff
HuaweiMode=1
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:101e new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:101e
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:101e 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:101e 2014-05-29 14:57:00.000000000 +0200
@@ -1,3 +1,3 @@
# Huawei U7510 / U7517
TargetClass=0xff
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1413 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1413
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1413 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1413 2014-05-30 08:07:20.000000000 +0200
@@ -0,0 +1,3 @@
+# Huawei EC168
+TargetClass=0xff
+HuaweiMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1414 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1414
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1414 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1414 2014-05-29 15:02:52.000000000 +0200
@@ -1,4 +1,3 @@
# Huawei E180
TargetClass=0xff
HuaweiMode=1
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1446 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1446
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1446 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1446 2014-05-29 19:15:16.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei, newer modems
TargetVendor=0x12d1
TargetProductList="1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac,1506,150c,1511"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1449 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1449
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1449 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1449 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E352
TargetVendor=0x12d1
TargetProduct=0x1444
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14ad new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14ad
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14ad 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14ad 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone (Huawei) K3806
TargetVendor=0x12d1
TargetProduct=0x14ae
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14b5 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14b5
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14b5 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14b5 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E173 (Viettel 3G)
TargetVendor=0x12d1
TargetProductList="14a8,14aa"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14b7 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14b7
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14b7 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14b7 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone (Huawei) K4511
TargetVendor=0x12d1
TargetProduct=0x14cc
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14ba new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14ba
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14ba 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14ba 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E173u-2, E177
TargetVendor=0x12d1
TargetProduct=0x14d2
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c1 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c1
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c1 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c1 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone (Huawei) K4605
TargetVendor=0x12d1
TargetProduct=0x14c6
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c3 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c3
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c3 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c3 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# K5005 Vodafone/Huawei
TargetVendor=0x12d1
TargetProduct=0x14c8
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c4 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c4
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c4 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c4 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone/Huawei K3771
TargetVendor=0x12d1
TargetProduct=0x14ca
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c5 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c5
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14c5 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14c5 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone (Huawei) K4510
TargetVendor=0x12d1
TargetProduct=0x14cb
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14d1 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14d1
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14d1 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14d1 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone / Huawei K3770
TargetVendor=0x12d1
TargetProduct=0x14c9
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14fe new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14fe
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:14fe 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:14fe 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# T-Mobile NL (Huawei E352)
TargetVendor=0x12d1
TargetProductList="1506,150f,151d"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1505 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1505
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1505 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1505 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei EC156, Huawei E372u-8
TargetVendor=0x12d1
TargetProductList="140b,140c,1506,150f,150a"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:151a new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:151a
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:151a 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:151a 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E392u-12, E3131 (Variant)
TargetVendor=0x12d1
TargetProductList="151b,151d"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1520 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1520
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1520 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1520 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei K3765
TargetVendor=0x12d1
TargetProduct=0x1465
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1521 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1521
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1521 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1521 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei K4505
TargetVendor=0x12d1
TargetProduct=0x1464
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1523 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1523
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1523 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1523 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei R201
TargetVendor=0x12d1
TargetProduct=0x1491
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1526 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1526
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1526 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1526 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone / Huawei K3772
TargetVendor=0x12d1
TargetProduct=0x14cf
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1553 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1553
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1553 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1553 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E1553
TargetVendor=0x12d1
TargetProduct=0x1001
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1557 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1557
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1557 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1557 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E173
TargetVendor=0x12d1
TargetProduct=0x14a5
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:155b new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:155b
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:155b 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:155b 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E171
TargetVendor=0x12d1
TargetProduct=0x1506
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:156a new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:156a
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:156a 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:156a 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E3276s-151 and E3251
TargetVendor=0x12d1
TargetProductList="156b,156c"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:157c new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:157c
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:157c 2014-03-26 20:49:36.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:157c 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E3276-s150
TargetVendor=0x12d1
TargetProduct=0x1506
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:157d new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:157d
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:157d 2014-03-26 20:49:36.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:157d 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E3331
TargetVendor=0x12d1
TargetProduct=0x14db
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1583 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1583
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1583 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1583 2014-05-29 16:25:32.000000000 +0200
@@ -0,0 +1,4 @@
+# Vodafone / Huawei W5101 Router
+TargetVendor=0x12d1
+TargetProduct=0x1589
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:15ca new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:15ca
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:15ca 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:15ca 2014-05-29 15:29:09.000000000 +0200
@@ -0,0 +1,4 @@
+# Huawei E3131
+TargetVendor=0x12d1
+TargetProduct=0x1506
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:15e7 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:15e7
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:15e7 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:15e7 2014-05-29 15:28:58.000000000 +0200
@@ -0,0 +1,4 @@
+# Huawei E3531
+TargetVendor=0x12d1
+TargetProduct=0x1506
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1c0b new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c0b
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1c0b 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c0b 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E173s
TargetVendor=0x12d1
TargetProductList="1c05,1c07,1c08,1c10"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1c1b new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c1b
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1c1b 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c1b 2014-05-29 14:57:00.000000000 +0200
@@ -1,5 +1,5 @@
# Huawei GP02 (E587 Variant)
TargetVendor=0x12d1
TargetProduct=0x1506
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
NoDriverLoading=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1c24 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c24
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1c24 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1c24 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Huawei E173 (Moviestar)
TargetVendor=0x12d1
TargetProduct=0x1c12
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1d50 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1d50
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1d50 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1d50 2014-05-29 17:55:18.000000000 +0200
@@ -1,3 +1,2 @@
# Huawei ET302
-TargetClass=0xff
Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f01 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f01
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f01 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f01 2014-05-29 14:57:00.000000000 +0200
@@ -1,5 +1,5 @@
# Huawei E353 (3.se) and others
TargetVendor=0x12d1
TargetProductList="14db,14dc"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
NoDriverLoading=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f03 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f03
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f03 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f03 2014-05-29 14:57:00.000000000 +0200
@@ -1,5 +1,5 @@
# KDDI (Huawei) HWD12 LTE
TargetVendor=0x12d1
TargetProduct=0x14db
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
NoDriverLoading=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f11 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f11
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f11 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f11 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone / Huawei K3773
TargetVendor=0x12d1
TargetProduct=0x14bc
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f15 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f15
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f15 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f15 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone K4305
TargetVendor=0x12d1
TargetProductList="1400,14f7"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f16 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f16
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f16 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f16 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone K5150
TargetVendor=0x12d1
TargetProductList="14f8,1575"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f17 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f17
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f17 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f17 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone K4201
TargetVendor=0x12d1
TargetProduct=0x1576
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f18 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f18
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f18 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f18 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone K4202
TargetVendor=0x12d1
TargetProduct=0x1577
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f19 new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f19
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f19 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f19 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone K4606
TargetVendor=0x12d1
TargetProductList="14fa,1575,1578"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1b new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1b
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1b 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1b 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone / Huawei Kxxxx
TargetVendor=0x12d1
TargetProduct=0x1579
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1c new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1c
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1c 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1c 2014-05-29 15:09:32.000000000 +0200
@@ -1,4 +1,4 @@
-# Vodafone / Huawei Kxxxx
+# Vodafone / Huawei K4203
TargetVendor=0x12d1
TargetProductList="157a,1590"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1d new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1d
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1d 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1d 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone / Huawei Kxxxx
TargetVendor=0x12d1
TargetProductList="157b,1591"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1e new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1e
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/12d1:1f1e 2014-03-26 21:47:31.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/12d1:1f1e 2014-05-29 14:57:00.000000000 +0200
@@ -1,4 +1,4 @@
# Vodafone / Huawei Kxxxx
TargetVendor=0x12d1
TargetProductList="157f,1592"
-MessageContent="55534243123456780000000000000011062000000101000100000000000000"
+HuaweiNewMode=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1410:5055 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1410:5055
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1410:5055 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1410:5055 2014-05-29 16:34:36.000000000 +0200
@@ -0,0 +1,4 @@
+# Novatel MiFi 4082
+TargetVendor=0x1410
+TargetProduct=0x6032
+StandardEject=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/19d2:1232 new/usb-modeswitch-data-20140529/usb_modeswitch.d/19d2:1232
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/19d2:1232 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/19d2:1232 2014-05-29 15:23:22.000000000 +0200
@@ -0,0 +1,4 @@
+# ZTE MFxxx
+TargetVendor=0x19d2
+TargetProductList="1268,2003"
+StandardEject=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1bbb:f017 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1bbb:f017
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1bbb:f017 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1bbb:f017 2014-05-29 15:43:42.000000000 +0200
@@ -1,4 +1,4 @@
# Alcatel OT-X220D, L100V
TargetVendor=0x1bbb
-TargetProductList="0017,011e"
+TargetProductList="0017,011e,0203"
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:9101 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:9101
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:9101 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:9101 2014-05-30 08:00:16.000000000 +0200
@@ -0,0 +1,4 @@
+# Emobile D12LC
+TargetVendor=0x1c9e
+TargetProduct=0x9104
+MessageContent="55534243123456780000000000000606f50402527000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:9401 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:9401
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:9401 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:9401 2014-05-29 15:54:18.000000000 +0200
@@ -0,0 +1,4 @@
+# Emobile D21LC
+TargetVendor=0x1c9e
+TargetProduct=0x9404
+MessageContent="55534243123456780000000000000606f50402527000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:9d00 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:9d00
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:9d00 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:9d00 2014-05-29 15:59:56.000000000 +0200
@@ -0,0 +1,3 @@
+# Prolink PCM100
+TargetClass=0xff
+MessageContent="55534243123456780000000000000606f50402527000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:f000 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:f000
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:f000 2014-03-27 20:16:29.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:f000 2014-05-29 21:32:59.000000000 +0200
@@ -1,5 +1,5 @@
-# MobiData MBD-200HU and others
+# Longcheer/Longsoon (aka Omega Technology) devices
TargetVendor=0x1c9e
-TargetProductList="9000,9603,9605,9607"
-MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
+TargetProductList="9000,9603,9605,9607,9900"
+MessageContent="555342431234567800000000000001ff000000000000000000000000000000"
WaitBefore=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem 2014-05-29 19:24:07.000000000 +0200
@@ -0,0 +1,5 @@
+# MobiData MBD-200HU and others
+TargetVendor=0x1c9e
+TargetProductList="9000,9603,9605,9607,9900"
+MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
+WaitBefore=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1edf:6003 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1edf:6003
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1edf:6003 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1edf:6003 2014-05-29 15:04:30.000000000 +0200
@@ -1,3 +1,2 @@
# AirPlus MCD-800
-TargetClass=0xff
-Configuration=3
+Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1fac:0032 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1fac:0032
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1fac:0032 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1fac:0032 2014-05-29 17:56:50.000000000 +0200
@@ -1,3 +1,2 @@
# Franklin Wireless U210 (Variant)
-TargetClass=0xff
Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/1fac:0151 new/usb-modeswitch-data-20140529/usb_modeswitch.d/1fac:0151
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/1fac:0151 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/1fac:0151 2014-05-29 18:03:34.000000000 +0200
@@ -1,3 +1,2 @@
# Franklin Wireless U600
-TargetClass=0xff
Configuration=2
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/2001:a80b new/usb-modeswitch-data-20140529/usb_modeswitch.d/2001:a80b
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/2001:a80b 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/2001:a80b 2014-05-29 21:29:46.000000000 +0200
@@ -2,3 +2,4 @@
TargetVendor=0x2001
TargetProduct=0x7d00
MessageContent="555342431234567800000000000003f0010100000000000000000000000000"
+NeedResponse=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/2020:f00e new/usb-modeswitch-data-20140529/usb_modeswitch.d/2020:f00e
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/2020:f00e 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/2020:f00e 2014-05-29 15:48:14.000000000 +0200
@@ -1,5 +1,5 @@
-# SpeedUp SU-8000U
+# SpeedUp SU-8000
TargetVendor=0x2020
-TargetProductList="1005,1008"
+TargetProduct=0x1008
StandardEject=1
WaitBefore=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/2020:f00f new/usb-modeswitch-data-20140529/usb_modeswitch.d/2020:f00f
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/2020:f00f 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/2020:f00f 2014-05-29 15:47:39.000000000 +0200
@@ -0,0 +1,5 @@
+# SpeedUp SU-8000U
+TargetVendor=0x2020
+TargetProduct=0x1005
+StandardEject=1
+WaitBefore=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/2077:f000 new/usb-modeswitch-data-20140529/usb_modeswitch.d/2077:f000
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/2077:f000 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/2077:f000 2014-05-29 16:22:32.000000000 +0200
@@ -1,4 +1,5 @@
-# Telenet 3G dongle (T&W WU160)
+# Telenet 3G dongle (T&W WU160) and others
TargetVendor=0x2077
-TargetProduct=0x9000
+TargetProductList="9000,a000"
StandardEject=1
+MessageContent="55534243123456700000000000000616aa0000000000000000000000000000"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/230d:0001 new/usb-modeswitch-data-20140529/usb_modeswitch.d/230d:0001
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/230d:0001 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/230d:0001 2014-05-29 18:04:14.000000000 +0200
@@ -1,3 +1,2 @@
# Linktop LW272/LW273 (BSNL Teracom)
-TargetClass=0xff
Configuration=3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/230d:0007 new/usb-modeswitch-data-20140529/usb_modeswitch.d/230d:0007
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/230d:0007 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/230d:0007 2014-05-29 18:04:19.000000000 +0200
@@ -1,3 +1,2 @@
# Visiontek 82GH 3G
-TargetClass=0xff
Configuration=3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/230d:0101 new/usb-modeswitch-data-20140529/usb_modeswitch.d/230d:0101
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/230d:0101 2014-03-26 20:50:18.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/230d:0101 2014-05-29 18:04:25.000000000 +0200
@@ -1,3 +1,2 @@
# Linktop LW272/LW273
-TargetClass=0xff
Configuration=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/usb-modeswitch-data-20140327/usb_modeswitch.d/23a2:1010 new/usb-modeswitch-data-20140529/usb_modeswitch.d/23a2:1010
--- old/usb-modeswitch-data-20140327/usb_modeswitch.d/23a2:1010 1970-01-01 01:00:00.000000000 +0100
+++ new/usb-modeswitch-data-20140529/usb_modeswitch.d/23a2:1010 2014-05-29 15:36:10.000000000 +0200
@@ -0,0 +1,4 @@
+# Titan 3.5G
+TargetVendor=0x23a2
+TargetProduct=0x1234
+MessageContent="555342431234567800000000000006161f6d62706b00000000000000000000"
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package live555 for openSUSE:Factory checked in at 2014-10-05 20:30:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/live555 (Old)
and /work/SRC/openSUSE:Factory/.live555.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "live555"
Changes:
--------
--- /work/SRC/openSUSE:Factory/live555/live555.changes 2013-05-07 15:32:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.live555.new/live555.changes 2014-10-05 20:30:29.000000000 +0200
@@ -1,0 +2,15 @@
+Thu Oct 2 10:45:02 UTC 2014 - dimstar(a)opensuse.org
+
+- Update to 2014.09.22:
+ + Changed the way in which the "RTSPServer" code handles incoming
+ "OPTIONS" commands that contain a "Session:" header. If the
+ "Session:" header contains a session id that does not exist,
+ then we now return a "Session Not Found" error (even though the
+ handling of the "OPTIONS" command is not session-specific).
+ This new behavior will help proxy servers (that use our
+ "RTSPServer" implementation as a 'back-end' server) better
+ detect when the back-end server has restarted while streaming.
+ + For all other changes since 2013.04.30, please see
+ http://www.live555.com/liveMedia/public/changelog.txt.
+
+-------------------------------------------------------------------
Old:
----
live.2013.04.30.tar.gz
New:
----
live.2014.09.22.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ live555.spec ++++++
--- /var/tmp/diff_new_pack.Une69n/_old 2014-10-05 20:30:30.000000000 +0200
+++ /var/tmp/diff_new_pack.Une69n/_new 2014-10-05 20:30:30.000000000 +0200
@@ -1,6 +1,7 @@
#
-# spec file for package vlc
+# spec file for package live555
#
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 Dominique Leuenberger, Amsterdam, The Netherlands
#
# All modifications and additions to the file contributed by third parties
@@ -15,19 +16,19 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
Name: live555
-Version: 2013.04.30
+Version: 2014.09.22
Release: 1.1
-License: LGPL-2.1
Summary: LIVE555 Streaming Media
-Url: http://www.live555.com/liveMedia/
+License: LGPL-2.1
Group: System/Libraries
+Url: http://www.live555.com/liveMedia/
Source: http://www.live555.com/liveMedia/public/live.%{version}.tar.gz
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch0: %{name}-fpic.patch
BuildRequires: gcc-c++
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Packager: Dominique Leuenberger <dominique-rpm(a)leuenberger.net>
%description
This code forms a set of C++ libraries for multimedia streaming,
@@ -54,7 +55,6 @@
./genMakefiles linux
make %{?_smp_mflags}
-
%install
install -d -m 755 %{buildroot}%{_libdir}/live
install -d -m 755 %{buildroot}%{_includedir}
++++++ live.2013.04.30.tar.gz -> live.2014.09.22.tar.gz ++++++
++++ 27275 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xdm for openSUSE:Factory checked in at 2014-10-05 20:30:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdm (Old)
and /work/SRC/openSUSE:Factory/.xdm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xdm/xdm.changes 2014-08-06 11:41:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xdm.new/xdm.changes 2014-10-05 20:30:28.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Oct 2 09:37:54 UTC 2014 - sndirsch(a)suse.com
+
+- sysconfig.displaymanager/DM list: added lightdm,sddm; removed
+ kdm3,kdm4 (bnc#898876)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xdm.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/var/adm/fillup-templates/sysconfig.displaymanager new/var/adm/fillup-templates/sysconfig.displaymanager
--- old/var/adm/fillup-templates/sysconfig.displaymanager 2014-03-04 13:53:31.000000000 +0100
+++ new/var/adm/fillup-templates/sysconfig.displaymanager 2014-10-02 11:37:16.000000000 +0200
@@ -1,7 +1,7 @@
## Path: Desktop/Display manager
## Description: settings to generate a proper displaymanager config
-## Type: string(kdm,kdm3,kdm4,xdm,gdm,wdm,entrance,console)
+## Type: string(kdm,xdm,gdm,wdm,entrance,console,lightdm,sddm)
## Default: ""
#
# Here you can set the default Display manager (kdm/xdm/gdm/wdm/entrance/console).
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0