[systemd-commits] stable Branch 'v219-stable' - 65 commits - configure.ac hwdb/20-bluetooth-vendor-product.hwdb hwdb/20-OUI.hwdb hwdb/20-pci-vendor-model.hwdb hwdb/20-sdio-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb hwdb/60-keyboard.hwdb hwdb/70-mouse.hwdb hwdb/70-touchpad.hwdb hwdb/sdio.ids Makefile.am man/bootchart.conf.xml man/bootup.xml man/busctl.xml man/coredump.conf.xml man/crypttab.xml man/custom-html.xsl man/file-hierarchy.xml man/journald.conf.xml man/kernel-command-line.xml man/locale.conf.xml man/localectl.xml man/logind.conf.xml man/machinectl.xml man/machine-id.xml man/modules-load.d.xml man/os-release.xml man/resolved.conf.xml man/sd_bus_message_append.xml man/sd_bus_open_user.xml man/sd_event_add_signal.xml man/sd_journal_get_catalog.xml man/sd_journal_get_cursor.xml man/sd_journal_print.xml man/standard-conf.xml man/sysctl.d.xml man/systemctl.xml man/systemd-activate.xml man/systemd-analyze.xml man/systemd.automount.xml man/systemd-bus-proxyd at .service.xml man/systemd-bus- proxyd.xml man/systemd-cat.xml man/systemd-cryptsetup-generator.xml man/systemd-cryptsetup at .service.xml man/systemd-debug-generator.xml man/systemd-efi-boot-generator.xml man/systemd.exec.xml man/systemd-firstboot.xml man/systemd-fstab-generator.xml man/systemd.generator.xml man/systemd-getty-generator.xml man/systemd-gpt-auto-generator.xml man/systemd-hibernate-resume-generator.xml man/systemd-journald.service.xml man/systemd.journal-fields.xml man/systemd.kill.xml man/systemd-localed.service.xml man/systemd-machine-id-setup.xml man/systemd.mount.xml man/systemd.netdev.xml man/systemd.network.xml man/systemd-nspawn.xml man/systemd.path.xml man/systemd-quotacheck.service.xml man/systemd-remount-fs.service.xml man/systemd.service.xml man/systemd-sleep.conf.xml man/systemd-socket-proxyd.xml man/systemd.socket.xml man/systemd.swap.xml man/systemd-sysctl.service.xml man/systemd-system.conf.xml man/systemd-system-update-generator.xml man/systemd-sysv-generator.xml man/systemd.unit.xml ma n/systemd-update-utmp.service.xml man/systemd-user-sessions.service.xml man/systemd-vconsole-setup.service.xml man/systemd.xml man/timesyncd.conf.xml man/tmpfiles.d.xml man/vconsole.conf.xml README src/bootchart src/bus-proxyd src/cgtop src/console src/core src/firstboot src/gpt-auto-generator src/import src/journal src/journal-remote src/libsystemd src/login src/network src/nspawn src/resolve src/shared src/systemctl src/sysusers src/test src/timesync src/tmpfiles src/udev src/vconsole

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Sat Mar 14 21:01:17 PDT 2015


 Makefile.am                                 |    5 
 README                                      |    2 
 configure.ac                                |    8 
 hwdb/20-OUI.hwdb                            |  247 +++++++
 hwdb/20-bluetooth-vendor-product.hwdb       |   42 +
 hwdb/20-pci-vendor-model.hwdb               |  936 ++++++++++++++++++----------
 hwdb/20-sdio-vendor-model.hwdb              |   30 
 hwdb/20-usb-vendor-model.hwdb               |  181 ++++-
 hwdb/60-keyboard.hwdb                       |    5 
 hwdb/70-mouse.hwdb                          |    2 
 hwdb/70-touchpad.hwdb                       |    4 
 hwdb/sdio.ids                               |   10 
 man/bootchart.conf.xml                      |    3 
 man/bootup.xml                              |    2 
 man/busctl.xml                              |    6 
 man/coredump.conf.xml                       |    3 
 man/crypttab.xml                            |   20 
 man/custom-html.xsl                         |   13 
 man/file-hierarchy.xml                      |    2 
 man/journald.conf.xml                       |    3 
 man/kernel-command-line.xml                 |    2 
 man/locale.conf.xml                         |    8 
 man/localectl.xml                           |    8 
 man/logind.conf.xml                         |   10 
 man/machine-id.xml                          |    4 
 man/machinectl.xml                          |   11 
 man/modules-load.d.xml                      |    2 
 man/os-release.xml                          |    2 
 man/resolved.conf.xml                       |    3 
 man/sd_bus_message_append.xml               |    2 
 man/sd_bus_open_user.xml                    |    2 
 man/sd_event_add_signal.xml                 |    4 
 man/sd_journal_get_catalog.xml              |    2 
 man/sd_journal_get_cursor.xml               |    2 
 man/sd_journal_print.xml                    |   14 
 man/standard-conf.xml                       |   42 +
 man/sysctl.d.xml                            |    8 
 man/systemctl.xml                           |    8 
 man/systemd-activate.xml                    |    2 
 man/systemd-analyze.xml                     |    4 
 man/systemd-bus-proxyd.xml                  |    2 
 man/systemd-bus-proxyd at .service.xml         |    2 
 man/systemd-cat.xml                         |    2 
 man/systemd-cryptsetup-generator.xml        |    8 
 man/systemd-cryptsetup at .service.xml         |    2 
 man/systemd-debug-generator.xml             |    6 
 man/systemd-efi-boot-generator.xml          |    8 
 man/systemd-firstboot.xml                   |   14 
 man/systemd-fstab-generator.xml             |   10 
 man/systemd-getty-generator.xml             |    5 
 man/systemd-gpt-auto-generator.xml          |   12 
 man/systemd-hibernate-resume-generator.xml  |    2 
 man/systemd-journald.service.xml            |    2 
 man/systemd-localed.service.xml             |    8 
 man/systemd-machine-id-setup.xml            |    2 
 man/systemd-nspawn.xml                      |    4 
 man/systemd-quotacheck.service.xml          |    2 
 man/systemd-remount-fs.service.xml          |    6 
 man/systemd-sleep.conf.xml                  |    3 
 man/systemd-socket-proxyd.xml               |    8 
 man/systemd-sysctl.service.xml              |    8 
 man/systemd-system-update-generator.xml     |    6 
 man/systemd-system.conf.xml                 |    5 
 man/systemd-sysv-generator.xml              |    6 
 man/systemd-update-utmp.service.xml         |    2 
 man/systemd-user-sessions.service.xml       |    9 
 man/systemd-vconsole-setup.service.xml      |    8 
 man/systemd.automount.xml                   |    6 
 man/systemd.exec.xml                        |   20 
 man/systemd.generator.xml                   |    2 
 man/systemd.journal-fields.xml              |    2 
 man/systemd.kill.xml                        |    4 
 man/systemd.mount.xml                       |   14 
 man/systemd.netdev.xml                      |    2 
 man/systemd.network.xml                     |   10 
 man/systemd.path.xml                        |    4 
 man/systemd.service.xml                     |    5 
 man/systemd.socket.xml                      |   32 
 man/systemd.swap.xml                        |   10 
 man/systemd.unit.xml                        |    8 
 man/systemd.xml                             |   11 
 man/timesyncd.conf.xml                      |    3 
 man/tmpfiles.d.xml                          |   29 
 man/vconsole.conf.xml                       |    6 
 src/bootchart/bootchart.conf                |    7 
 src/bus-proxyd/bus-proxyd.c                 |    2 
 src/bus-proxyd/proxy.c                      |   16 
 src/bus-proxyd/proxy.h                      |    1 
 src/cgtop/cgtop.c                           |    2 
 src/console/consoled-manager.c              |    2 
 src/core/automount.c                        |    2 
 src/core/busname.c                          |    2 
 src/core/dbus.c                             |    2 
 src/core/device.c                           |    2 
 src/core/manager.c                          |   35 -
 src/core/mount.c                            |    2 
 src/core/path.c                             |   14 
 src/core/scope.c                            |    2 
 src/core/service.c                          |   10 
 src/core/slice.c                            |    2 
 src/core/snapshot.c                         |    2 
 src/core/socket.c                           |    8 
 src/core/swap.c                             |    2 
 src/core/system.conf                        |    7 
 src/core/target.c                           |    2 
 src/core/timer.c                            |   14 
 src/core/unit.c                             |   25 
 src/core/unit.h                             |   12 
 src/firstboot/firstboot.c                   |    6 
 src/gpt-auto-generator/gpt-auto-generator.c |   15 
 src/import/import-tar.c                     |    1 
 src/journal-remote/journal-remote-parse.c   |    3 
 src/journal-remote/journal-remote-parse.h   |    1 
 src/journal-remote/journal-remote-write.c   |    2 
 src/journal-remote/journal-remote.c         |  101 ++-
 src/journal-remote/microhttpd-util.c        |    4 
 src/journal/coredump.conf                   |    7 
 src/journal/journal-file.c                  |    7 
 src/journal/journal-file.h                  |    2 
 src/journal/journalctl.c                    |   25 
 src/journal/journald.conf                   |    7 
 src/journal/sd-journal.c                    |   26 
 src/libsystemd/sd-event/sd-event.c          |    3 
 src/libsystemd/sd-rtnl/sd-rtnl.c            |    7 
 src/login/inhibit.c                         |    2 
 src/login/logind.conf                       |    7 
 src/network/networkd-netdev.c               |    2 
 src/nspawn/nspawn.c                         |    6 
 src/resolve/resolved.conf.in                |    5 
 src/shared/architecture.c                   |    8 
 src/shared/barrier.c                        |    2 
 src/shared/condition.c                      |    2 
 src/shared/missing.h                        |   16 
 src/shared/path-util.c                      |    4 
 src/shared/path-util.h                      |    1 
 src/shared/selinux-util.c                   |    1 
 src/shared/socket-util.c                    |   52 -
 src/shared/unit-name.c                      |    2 
 src/systemctl/systemctl.c                   |   51 -
 src/sysusers/sysusers.c                     |   23 
 src/test/test-hashmap.c                     |    2 
 src/timesync/timesyncd.conf.in              |    7 
 src/tmpfiles/tmpfiles.c                     |    4 
 src/udev/udevd.c                            |   26 
 src/vconsole/90-vconsole.rules.in           |    7 
 145 files changed, 1782 insertions(+), 824 deletions(-)

New commits:
commit 4acdc3835b2c9d395f1df95bb1dd5620a4a0e7e5
Author: Michael Biebl <biebl at debian.org>
Date:   Sat Mar 14 16:48:54 2015 +0100

    service: don't add After= dependencies on .busname units if kdbus support is disabled
    
    (cherry picked from commit 6962fd3bd28cb5d3aaff69c1e3b6cc006e7c8426)

diff --git a/src/core/service.c b/src/core/service.c
index 7781b4e..ae5e610 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -556,14 +556,16 @@ static int service_add_extras(Service *s) {
                 s->notify_access = NOTIFY_MAIN;
 
         if (s->bus_name) {
+#ifdef ENABLE_KDBUS
                 const char *n;
 
-                r = unit_watch_bus_name(UNIT(s), s->bus_name);
+                n = strjoina(s->bus_name, ".busname");
+                r = unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, n, NULL, true);
                 if (r < 0)
                         return r;
+#endif
 
-                n = strjoina(s->bus_name, ".busname");
-                r = unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, n, NULL, true);
+                r = unit_watch_bus_name(UNIT(s), s->bus_name);
                 if (r < 0)
                         return r;
         }

commit 19e98bf405a8105db71a4e3247b0397509825a6e
Author: Will Woods <wwoods at redhat.com>
Date:   Fri Mar 13 17:24:46 2015 -0400

    selinux: fix SEGV during switch-root if SELinux policy loaded
    
    If you've got SELinux policy loaded, label_hnd is your labeling handle.
    When systemd is shutting down, we free that handle via mac_selinux_finish().
    
    But: switch_root() calls mkdir_p_label(), which tries to look up a label
    using that freed handle, and so we get a bunch of garbage and eventually
    SEGV in libselinux.
    
    (This doesn't happen in the switch-root from initramfs to real root because
    there's no SELinux policy loaded in initramfs, so label_hnd is NULL and we
    never attempt any lookups.)
    
    So: make sure that mac_selinux_finish() actually sets label_hnd to NULL, so
    nobody tries to use it after it becomes invalid.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1185604
    (cherry picked from commit f5ce2b49585a14cefb6d02f61c8dcdf7628a8605)

diff --git a/src/shared/selinux-util.c b/src/shared/selinux-util.c
index a2233e0..a46ddf8 100644
--- a/src/shared/selinux-util.c
+++ b/src/shared/selinux-util.c
@@ -117,6 +117,7 @@ void mac_selinux_finish(void) {
                 return;
 
         selabel_close(label_hnd);
+        label_hnd = NULL;
 #endif
 }
 

commit 01c9c40501ba72a595160137ab31a80bd42f62c6
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Mar 13 21:25:37 2015 -0500

    man: fix name of systemd.resource-control(5)
    
    (cherry picked from commit ee41f6028189819c728316e917ca09b9eb0a7850)

diff --git a/man/systemctl.xml b/man/systemctl.xml
index b5e4cdf..50e6bc9 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -1721,7 +1721,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
       <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>systemd.resource-management</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>,

commit 0cdbfc2734a4e1b3b926be66c31a37e50c9d1733
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Mar 13 21:24:30 2015 -0500

    man: link to fd.o for dbus stuff
    
    (cherry picked from commit 3b5cfcdb580f5b766ff7fb1a2839bd37d74a98de)

diff --git a/man/busctl.xml b/man/busctl.xml
index cc1844b..807fc78 100644
--- a/man/busctl.xml
+++ b/man/busctl.xml
@@ -465,7 +465,7 @@ o "/org/freedesktop/systemd1/job/42684"</programlisting>
     <title>See Also</title>
 
     <para>
-      <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
       <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>,
       <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
diff --git a/man/custom-html.xsl b/man/custom-html.xsl
index 32299db..706b95a 100644
--- a/man/custom-html.xsl
+++ b/man/custom-html.xsl
@@ -91,6 +91,19 @@
   <xsl:call-template name="inline.charseq"/>
 </xsl:template>
 
+<xsl:template match="citerefentry[@project='dbus']">
+  <a>
+    <xsl:attribute name="href">
+      <xsl:text>http://dbus.freedesktop.org/doc/</xsl:text>
+      <xsl:value-of select="refentrytitle"/>
+      <xsl:text>.</xsl:text>
+      <xsl:value-of select="manvolnum"/>
+      <xsl:text>.html</xsl:text>
+    </xsl:attribute>
+    <xsl:call-template name="inline.charseq"/>
+  </a>
+</xsl:template>
+
 <xsl:template match="refsect1/title|refsect1/info/title">
   <!-- the ID is output in the block.object call for refsect1 -->
   <h2>
diff --git a/man/systemd-bus-proxyd.xml b/man/systemd-bus-proxyd.xml
index 2c77640..e0efe99 100644
--- a/man/systemd-bus-proxyd.xml
+++ b/man/systemd-bus-proxyd.xml
@@ -101,7 +101,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     <title>See Also</title>
 
     <para>
-      <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
       <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>
     </para>
diff --git a/man/systemd-bus-proxyd at .service.xml b/man/systemd-bus-proxyd at .service.xml
index 141b43f..dc4f07f 100644
--- a/man/systemd-bus-proxyd at .service.xml
+++ b/man/systemd-bus-proxyd at .service.xml
@@ -73,7 +73,7 @@
 
     <para>
       <citerefentry><refentrytitle>systemd-bus-proxyd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
       <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>
     </para>
diff --git a/man/systemd-machine-id-setup.xml b/man/systemd-machine-id-setup.xml
index 22bad3e..182717f 100644
--- a/man/systemd-machine-id-setup.xml
+++ b/man/systemd-machine-id-setup.xml
@@ -122,7 +122,7 @@
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>dbus-uuidgen</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='dbus'><refentrytitle>dbus-uuidgen</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>

commit 285bc1b0a3d2a6e0b87a7778de8227216feb897e
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Mar 13 21:22:39 2015 -0500

    man: fix a bunch of links
    
    All hail linkchecker!
    
    (cherry picked from commit 3ba3a79df4ae094d1008c04a9af8d1ff970124c4)
    
    Conflicts:
    	man/systemd-efi-boot-generator.xml

diff --git a/man/busctl.xml b/man/busctl.xml
index 251233b..cc1844b 100644
--- a/man/busctl.xml
+++ b/man/busctl.xml
@@ -288,7 +288,7 @@
         url="http://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
         File Format</ulink> description. Make sure to redirect the
         output to STDOUT to a file. Tools like
-        <citerefentry><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
         may be used to dissect and view the generated
         files.</para></listitem>
       </varlistentry>
@@ -472,7 +472,7 @@ o "/org/freedesktop/systemd1/job/42684"</programlisting>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-bus-proxyd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>
 </refentry>
diff --git a/man/crypttab.xml b/man/crypttab.xml
index aeacc57..3e249ad 100644
--- a/man/crypttab.xml
+++ b/man/crypttab.xml
@@ -75,7 +75,7 @@
 
     <para>Setting up encrypted block devices using this file supports
     three encryption modes: LUKS, TrueCrypt and plain. See
-    <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     for more information about each mode. When no mode is specified in
     the options field and the block device contains a LUKS signature,
     it is opened as a LUKS device; otherwise, it is assumed to be in
@@ -117,7 +117,7 @@
         <term><option>cipher=</option></term>
 
         <listitem><para>Specifies the cipher to use. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values and the default value of this option. A
         cipher with unpredictable IV values, such as
         <literal>aes-cbc-essiv:sha256</literal>, is
@@ -129,7 +129,7 @@
 
         <listitem><para>Specifies the hash to use for password
         hashing. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values and the default value of this
         option.</para></listitem>
       </varlistentry>
@@ -140,7 +140,7 @@
         <listitem><para>Use a detached (separated) metadata device or
         file where the LUKS header is stored. This option is only
         relevant for LUKS devices. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values and the default value of this
         option.</para></listitem>
       </varlistentry>
@@ -150,7 +150,7 @@
 
         <listitem><para>Specifies the number of bytes to skip at the
         start of the key file. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values and the default value of this
         option.</para></listitem>
       </varlistentry>
@@ -160,7 +160,7 @@
 
         <listitem><para>Specifies the maximum number of bytes to read
         from the key file. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values and the default value of this option. This
         option is ignored in plain encryption mode, as the key file
         size is then given by the key size.</para></listitem>
@@ -174,7 +174,7 @@
         given passphrase or key, but another would, the setup of the
         device will fail regardless. This option implies
         <option>luks</option>. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values. The default is to try all key slots in
         sequential order.</para></listitem>
       </varlistentry>
@@ -221,7 +221,7 @@
         <term><option>size=</option></term>
 
         <listitem><para>Specifies the key size in bits. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for possible values and the default value of this
         option.</para></listitem>
       </varlistentry>
@@ -278,7 +278,7 @@
         volume provided in the second field. Please note that there is
         no protection for the hidden volume if the outer volume is
         mounted instead. See
-        <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for more information on this limitation.</para></listitem>
       </varlistentry>
 
@@ -383,7 +383,7 @@ hidden     /mnt/tc_hidden  /dev/null    tcrypt-hidden,tcrypt-keyfile=/etc/keyfil
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>mkswap</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>mke2fs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
diff --git a/man/file-hierarchy.xml b/man/file-hierarchy.xml
index e9c894f..364e130 100644
--- a/man/file-hierarchy.xml
+++ b/man/file-hierarchy.xml
@@ -397,7 +397,7 @@
         <term><filename>/dev/shm</filename></term>
         <listitem><para>Place for POSIX shared memory segments, as
         created via
-        <citerefentry><refentrytitle>shm_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+        <citerefentry project='die-net'><refentrytitle>shm_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
         This directory is flushed on boot, and is a
         <literal>tmpfs</literal> file system. Since all users have
         write access to this directory, special care should be taken
diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
index 3741cf9..919bd13 100644
--- a/man/kernel-command-line.xml
+++ b/man/kernel-command-line.xml
@@ -336,7 +336,7 @@
         <listitem>
           <para>Enables resume from hibernation using the specified
           device. All
-          <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-like
+          <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-like
           paths are supported. For details, see
           <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
         </listitem>
diff --git a/man/locale.conf.xml b/man/locale.conf.xml
index 48c0006..2c32d16 100644
--- a/man/locale.conf.xml
+++ b/man/locale.conf.xml
@@ -91,7 +91,7 @@
     might be checked for locale configuration as well, however only as
     fallback.</para>
 
-    <para><citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+    <para><citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     may be used to alter the settings in this file during runtime from
     the command line. Use
     <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
@@ -121,7 +121,7 @@
     Note that <varname>LC_ALL</varname> may not be configured in this
     file. For details about the meaning and semantics of these
     settings, refer to
-    <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+    <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
@@ -142,8 +142,8 @@ LC_MESSAGES=en_US.UTF-8</programlisting>
       <title>See Also</title>
       <para>
         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
       </para>
diff --git a/man/localectl.xml b/man/localectl.xml
index aae6e06..7def047 100644
--- a/man/localectl.xml
+++ b/man/localectl.xml
@@ -124,7 +124,7 @@
         <listitem><para>Set the system locale. This takes one or more
         assignments such as "LANG=de_DE.utf8",
         "LC_MESSAGES=en_GB.utf8", and so on. See
-        <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details on the available settings and their meanings. Use
         <command>list-locales</command> for a list of available
         locales (see below). </para></listitem>
@@ -204,10 +204,10 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>kbd</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
       <ulink url="http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html">
         The XKB Configuration Guide
diff --git a/man/logind.conf.xml b/man/logind.conf.xml
index ca2b187..d02d573 100644
--- a/man/logind.conf.xml
+++ b/man/logind.conf.xml
@@ -126,7 +126,7 @@
 
         <para>Note that setting <varname>KillUserProcesses=1</varname>
         will break tools like
-        <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
+        <citerefentry project='die-net'><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
       </varlistentry>
 
       <varlistentry>
diff --git a/man/machine-id.xml b/man/machine-id.xml
index 83e0b26..92d67a3 100644
--- a/man/machine-id.xml
+++ b/man/machine-id.xml
@@ -75,7 +75,7 @@
     globally unique ID in the network, which does not change even if
     the local network configuration changes. Due to this and its
     greater length, it is a more useful replacement for the
-    <citerefentry><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     call that POSIX specifies.</para>
 
     <para>The
@@ -127,7 +127,7 @@ id[8] = (id[8] & 0x3F) | 0x80;</programlisting>
       <para>
         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
diff --git a/man/modules-load.d.xml b/man/modules-load.d.xml
index 34a937d..4b722aa 100644
--- a/man/modules-load.d.xml
+++ b/man/modules-load.d.xml
@@ -94,7 +94,7 @@ virtio-net</programlisting>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-delta</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/os-release.xml b/man/os-release.xml
index 1b71a49..8f4ab10 100644
--- a/man/os-release.xml
+++ b/man/os-release.xml
@@ -316,7 +316,7 @@ BUG_REPORT_URL="https://bugzilla.redhat.com/"</programlisting>
       <title>See Also</title>
       <para>
         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>lsb_release</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+        <citerefentry project='die-net'><refentrytitle>lsb_release</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>
diff --git a/man/sd_bus_message_append.xml b/man/sd_bus_message_append.xml
index 0c49a0c..11fa07c 100644
--- a/man/sd_bus_message_append.xml
+++ b/man/sd_bus_message_append.xml
@@ -245,7 +245,7 @@ sd_bus_message_append(m, "ynqiuxtd", y, n, q, i, u, x, t, d);</programlisting>
       <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_bus_ref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
diff --git a/man/sd_bus_open_user.xml b/man/sd_bus_open_user.xml
index e7a7659..2bbb010 100644
--- a/man/sd_bus_open_user.xml
+++ b/man/sd_bus_open_user.xml
@@ -208,7 +208,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
       <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_bus_ref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
diff --git a/man/sd_event_add_signal.xml b/man/sd_event_add_signal.xml
index 0299aa5..7c8df7d 100644
--- a/man/sd_event_add_signal.xml
+++ b/man/sd_event_add_signal.xml
@@ -86,7 +86,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     the <parameter>source</parameter> parameter. The
     <parameter>signal</parameter> parameter specifies the signal to be handled
     (see
-    <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>).
+    <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>).
     The <parameter>handler</parameter> must reference a function to
     call when the signal is delivered or be <constant>NULL</constant>.
     The handler function will be passed the
@@ -94,7 +94,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     freely by the caller. The handler also receives a pointer to a
     <structname>const struct signalfd_siginfo</structname> containing
     the information about the received signal. See
-    <citerefentry><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry>
     for further information.</para>
 
     <para>Only a single handler may be installed for a specific
diff --git a/man/sd_journal_get_catalog.xml b/man/sd_journal_get_catalog.xml
index 1dcbadd..c19eb11 100644
--- a/man/sd_journal_get_catalog.xml
+++ b/man/sd_journal_get_catalog.xml
@@ -130,7 +130,7 @@
       <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/sd_journal_get_cursor.xml b/man/sd_journal_get_cursor.xml
index 2b7f443..a400d8b 100644
--- a/man/sd_journal_get_cursor.xml
+++ b/man/sd_journal_get_cursor.xml
@@ -84,7 +84,7 @@
     time) available entry. The call takes two arguments: a journal
     context object and a pointer to a string pointer where the cursor
     string will be placed. The string is allocated via libc
-    <citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     and should be freed after use with
     <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
 
diff --git a/man/sd_journal_print.xml b/man/sd_journal_print.xml
index 068b10e..0cd0b45 100644
--- a/man/sd_journal_print.xml
+++ b/man/sd_journal_print.xml
@@ -119,7 +119,7 @@
     <function>sd_journal_print()</function> but takes a variable
     argument list encapsulated in an object of type
     <varname>va_list</varname> (see
-    <citerefentry><refentrytitle>stdarg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>stdarg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     for more information) instead of the format string. It is
     otherwise equivalent in behavior.</para>
 
@@ -145,7 +145,7 @@
     <function>sd_journal_send()</function> but takes an array of
     <varname>struct iovec</varname> (as defined in
     <filename>uio.h</filename>, see
-    <citerefentry><refentrytitle>readv</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>readv</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     for details) instead of the format string. Each structure should
     reference one field of the entry to submit. The second argument
     specifies the number of structures in the array.
@@ -154,7 +154,7 @@
     necessary.</para>
 
     <para><function>sd_journal_perror()</function> is a similar to
-    <citerefentry><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+    <citerefentry project='die-net'><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     and writes a message to the journal that consists of the passed
     string, suffixed with ": " and a human readable representation of
     the current error code stored in
@@ -219,7 +219,7 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
     <title>Async signal safety</title>
     <para><function>sd_journal_sendv()</function> is "async signal
     safe" in the meaning of
-    <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+    <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
     </para>
 
     <para><function>sd_journal_print</function>,
@@ -249,11 +249,11 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
       <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_journal_stream_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/sysctl.d.xml b/man/sysctl.d.xml
index 5a35cfe..8a13179 100644
--- a/man/sysctl.d.xml
+++ b/man/sysctl.d.xml
@@ -57,7 +57,7 @@
     <para>At boot,
     <citerefentry><refentrytitle>systemd-sysctl.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     reads configuration files from the above directories to configure
-    <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     kernel parameters.</para>
   </refsect1>
 
@@ -162,9 +162,9 @@ net.bridge.bridge-nf-call-arptables = 0
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-sysctl.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-delta</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sysctl.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>sysctl.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemctl.xml b/man/systemctl.xml
index 338c1d3..b5e4cdf 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -1703,9 +1703,9 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
         <varname>$VISUAL</varname> are present or if it is set to an empty
         string or if their execution failed, systemctl will try to execute well
         known editors in this order:
-        <citerefentry><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+        <citerefentry project='die-net'><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+        <citerefentry project='die-net'><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+        <citerefentry project='die-net'><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
         </para></listitem>
       </varlistentry>
     </variablelist>
diff --git a/man/systemd-activate.xml b/man/systemd-activate.xml
index e64894a..cb68a79 100644
--- a/man/systemd-activate.xml
+++ b/man/systemd-activate.xml
@@ -165,7 +165,7 @@
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>
 </refentry>
diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
index 1ff81d3..1983150 100644
--- a/man/systemd-analyze.xml
+++ b/man/systemd-analyze.xml
@@ -145,7 +145,7 @@
     <para><command>systemd-analyze dot</command> generates textual
     dependency graph description in dot format for further processing
     with the GraphViz
-    <citerefentry><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+    <citerefentry project='die-net'><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     tool. Use a command line like <command>systemd-analyze dot | dot
     -Tsvg > systemd.svg</command> to generate a graphical dependency
     tree. Unless <option>--order</option> or
@@ -229,7 +229,7 @@
         <command>dot</command> command (see above), this selects which
         relationships are shown in the dependency graph. Both options
         require a
-        <citerefentry><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         pattern as an argument, which will be matched against the
         left-hand and the right-hand, respectively, nodes of a
         relationship.</para>
diff --git a/man/systemd-cat.xml b/man/systemd-cat.xml
index 38ddf66..9b1a880 100644
--- a/man/systemd-cat.xml
+++ b/man/systemd-cat.xml
@@ -171,7 +171,7 @@
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-cryptsetup-generator.xml b/man/systemd-cryptsetup-generator.xml
index 1974cd7..b627035 100644
--- a/man/systemd-cryptsetup-generator.xml
+++ b/man/systemd-cryptsetup-generator.xml
@@ -185,7 +185,7 @@
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>crypttab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
diff --git a/man/systemd-cryptsetup at .service.xml b/man/systemd-cryptsetup at .service.xml
index bd03637..ea52485 100644
--- a/man/systemd-cryptsetup at .service.xml
+++ b/man/systemd-cryptsetup at .service.xml
@@ -78,7 +78,7 @@
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>crypttab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
      </para>
   </refsect1>
 
diff --git a/man/systemd-efi-boot-generator.xml b/man/systemd-efi-boot-generator.xml
index fd7ba79..3431c3c 100644
--- a/man/systemd-efi-boot-generator.xml
+++ b/man/systemd-efi-boot-generator.xml
@@ -62,7 +62,7 @@
     does not communicate the used ESP to the OS, on systems where
     <filename>/boot</filename> is an explicitly configured mount (for
     example, listed in
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
     or where the <filename>/boot</filename> mount point is non-empty.
     Since this generator creates an automount unit, the mount will
     only be activated on-demand, when accessed.</para>
@@ -79,7 +79,7 @@
       <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>gummiboot</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-firstboot.xml b/man/systemd-firstboot.xml
index 67d38ba..67289da 100644
--- a/man/systemd-firstboot.xml
+++ b/man/systemd-firstboot.xml
@@ -91,7 +91,7 @@
 
     <para>Note that this tool operates directly on the file system and
     does not involve any running system services, unlike
-    <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+    <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
     <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     or
     <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
@@ -125,7 +125,7 @@
         <varname>LANG=</varname> and <varname>LC_MESSAGES</varname>
         settings. The argument should be a valid locale identifier,
         such as <literal>de_DE.UTF-8</literal>. This controls the
-        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
         configuration file.</para></listitem>
       </varlistentry>
 
@@ -163,7 +163,7 @@
 
         <listitem><para>Sets the password of the system's root user.
         This creates a
-        <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>
         file. This setting exists in two forms:
         <option>--root-password=</option> accepts the password to set
         directly on the command line,
@@ -171,7 +171,7 @@
         Note that it is not recommended specifying passwords on the
         command line as other users might be able to see them simply
         by invoking
-        <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
+        <citerefentry project='die-net'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -244,13 +244,13 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml
index 022efb4..bdc2dc1 100644
--- a/man/systemd-fstab-generator.xml
+++ b/man/systemd-fstab-generator.xml
@@ -54,7 +54,7 @@
 
     <para><filename>systemd-fstab-generator</filename> is a generator
     that translates <filename>/etc/fstab</filename> (see
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     for details) into native systemd units early at boot and when
     configuration of the system manager is reloaded. This will
     instantiate mount and swap units as necessary.</para>
@@ -173,7 +173,7 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml
index 8d2eaca..bcc64ec 100644
--- a/man/systemd-gpt-auto-generator.xml
+++ b/man/systemd-gpt-auto-generator.xml
@@ -66,7 +66,7 @@
     Partitions Specification</ulink>. Note that this generator has no
     effect on non-GPT systems, on systems where the units are
     explicitly configured (for example, listed in
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
     or where the mount points are non-empty.</para>
 
     <para>This generator will only look for root partitions on the
@@ -169,9 +169,9 @@
       <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-efi-boot-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-hibernate-resume-generator.xml b/man/systemd-hibernate-resume-generator.xml
index a21782c..d811b9b 100644
--- a/man/systemd-hibernate-resume-generator.xml
+++ b/man/systemd-hibernate-resume-generator.xml
@@ -73,7 +73,7 @@
         <listitem><para>Takes a path to the resume device. Both
         persistent block device paths like
         <filename>/dev/disk/by-foo/bar</filename> and
-        <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-style
+        <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-style
         specifiers like <literal>FOO=bar</literal> are
         supported.</para></listitem>
       </varlistentry>
diff --git a/man/systemd-journald.service.xml b/man/systemd-journald.service.xml
index 6b250b6..8280d6c 100644
--- a/man/systemd-journald.service.xml
+++ b/man/systemd-journald.service.xml
@@ -241,7 +241,7 @@
       <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>setfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>setfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
       <command>pydoc systemd.journal</command>.
     </para>
diff --git a/man/systemd-localed.service.xml b/man/systemd-localed.service.xml
index 8999166..06aa78c 100644
--- a/man/systemd-localed.service.xml
+++ b/man/systemd-localed.service.xml
@@ -64,7 +64,7 @@
     unused.</para>
 
     <para>The tool
-    <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     is a command line client to this service.</para>
 
     <para>See the <ulink
@@ -77,10 +77,10 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 4a936d3..65b4c2f 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -598,7 +598,7 @@
 
         <listitem><para>Control the architecture ("personality")
         reported by
-        <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
         in the container. Currently, only <literal>x86</literal> and
         <literal>x86-64</literal> are supported. This is useful when
         running a 32-bit container on a 64-bit host. If this setting
@@ -735,7 +735,7 @@
       <citerefentry project='archlinux'><refentrytitle>pacman</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-quotacheck.service.xml b/man/systemd-quotacheck.service.xml
index 2179f11..9d49762 100644
--- a/man/systemd-quotacheck.service.xml
+++ b/man/systemd-quotacheck.service.xml
@@ -86,7 +86,7 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>quotacheck</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>quotacheck</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-fsck at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
diff --git a/man/systemd-remount-fs.service.xml b/man/systemd-remount-fs.service.xml
index 7b88ac3..8e60e31 100644
--- a/man/systemd-remount-fs.service.xml
+++ b/man/systemd-remount-fs.service.xml
@@ -56,7 +56,7 @@
 
     <para><filename>systemd-remount-fs.service</filename> is an
     early-boot service that applies mount options listed in
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     to the root file system, the <filename>/usr</filename> file system
     and the kernel API file systems. This is required so that the
     mount options of these file systems -- which are pre-mounted by
@@ -80,8 +80,8 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-socket-proxyd.xml b/man/systemd-socket-proxyd.xml
index 1c78b65..0b852e6 100644
--- a/man/systemd-socket-proxyd.xml
+++ b/man/systemd-socket-proxyd.xml
@@ -72,7 +72,7 @@
     to a configured server for each client, and then bidirectionally
     forwards data between the two.</para>
     <para>This utility's behavior is similar to
-    <citerefentry><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+    <citerefentry project='die-net'><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
     The main differences for <command>systemd-socket-proxyd</command>
     are support for socket activation with
     <literal>Accept=false</literal> and an event-driven
@@ -183,9 +183,9 @@ $ curl http://localhost:80/]]></programlisting>
       <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>nginx</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>curl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      <citerefentry project='die-net'><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>nginx</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>curl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>
 </refentry>
diff --git a/man/systemd-sysctl.service.xml b/man/systemd-sysctl.service.xml
index f35a18a..d4c1a7e 100644
--- a/man/systemd-sysctl.service.xml
+++ b/man/systemd-sysctl.service.xml
@@ -56,11 +56,11 @@
 
     <para><filename>systemd-sysctl.service</filename> is an early-boot
     service that configures
-    <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     kernel parameters.</para>
 
     <para>See
-    <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     for information about the configuration of this service.</para>
   </refsect1>
 
@@ -68,8 +68,8 @@
     <title>See Also</title>
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
     </para>
   </refsect1>
 
diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
index c7bcfae..1b74ed3 100644
--- a/man/systemd-system.conf.xml
+++ b/man/systemd-system.conf.xml
@@ -172,7 +172,7 @@
         <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details. Takes a whitespace-separated list of capability
         names as read by
-        <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+        <citerefentry project='mankier'><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
         Capabilities listed will be included in the bounding set, all
         others are removed. If the list of capabilities is prefixed
         with ~, all but the listed capabilities will be included, the
diff --git a/man/systemd-update-utmp.service.xml b/man/systemd-update-utmp.service.xml
index b842d29..c8a9cb7 100644
--- a/man/systemd-update-utmp.service.xml
+++ b/man/systemd-update-utmp.service.xml
@@ -69,7 +69,7 @@
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>utmp</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd-vconsole-setup.service.xml b/man/systemd-vconsole-setup.service.xml
index 59bb5e4..7c6ed08 100644
--- a/man/systemd-vconsole-setup.service.xml
+++ b/man/systemd-vconsole-setup.service.xml
@@ -57,9 +57,9 @@
     <para><filename>systemd-vconsole-setup.service</filename> is an
     early-boot service that configures the virtual console font and
     console keymap. Internally it calls
-    <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+    <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     and
-    <citerefentry><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+    <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
 
     <para>See
     <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
@@ -105,8 +105,8 @@
     <para>
       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+      <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     </para>
   </refsect1>
diff --git a/man/systemd.automount.xml b/man/systemd.automount.xml
index 3db65d9..b5b5885 100644
--- a/man/systemd.automount.xml
+++ b/man/systemd.automount.xml
@@ -96,7 +96,7 @@
 
     <para>Automount units may either be configured via unit files, or
     via <filename>/etc/fstab</filename> (see
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     for details).</para>
 
     <para>For details how systemd parses
@@ -145,8 +145,8 @@
         <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+        <citerefentry project='die-net'><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
       </para>
   </refsect1>
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index fdb1578..56b53e6 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -663,7 +663,7 @@
         <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details. Takes a whitespace-separated list of capability
         names as read by
-        <citerefentry><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+        <citerefentry project='mankier'><refentrytitle>cap_from_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
         e.g. <constant>CAP_SYS_ADMIN</constant>,
         <constant>CAP_DAC_OVERRIDE</constant>,
         <constant>CAP_SYS_PTRACE</constant>. Capabilities listed will
@@ -711,7 +711,7 @@
         set for the executed process. Take a capability string
         describing the effective, permitted and inherited capability
         sets as documented in
-        <citerefentry><refentrytitle>cap_from_text</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+        <citerefentry project='mankier'><refentrytitle>cap_from_text</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
         Note that these capability sets are usually influenced (and
         filtered) by the capabilities attached to the executed file.
         Due to that <varname>CapabilityBoundingSet=</varname> is
@@ -881,7 +881,7 @@
         <option>private</option>, which control whether mounts in the
         file system namespace set up for this unit's processes will
         receive or propagate mounts or unmounts. See
-        <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>2</manvolnum></citerefentry>
         for details. Defaults to <option>shared</option>. Use
         <option>shared</option> to ensure that mounts and unmounts are
         propagated from the host to the container and vice versa. Use
@@ -929,7 +929,7 @@
         authorize the transition. This directive is ignored if SELinux
         is disabled. If prefixed by <literal>-</literal>, all errors
         will be ignored. See
-        <citerefentry><refentrytitle>setexeccon</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>setexeccon</refentrytitle><manvolnum>3</manvolnum></citerefentry>
         for details.</para></listitem>
       </varlistentry>
 
@@ -1076,7 +1076,7 @@
         prefixed with <constant>~</constant> the listed address
         families will be applied as blacklist, otherwise as whitelist.
         Note that this restricts access to the
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>2</manvolnum></citerefentry>
         system call only. Sockets passed into the process by other
         means (for example, by using socket activation with socket
         units, see
@@ -1104,7 +1104,7 @@
         <term><varname>Personality=</varname></term>
 
         <listitem><para>Controls which kernel architecture
-        <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
         shall report, when invoked by unit processes. Takes one of
         <constant>x86</constant> and <constant>x86-64</constant>. This
         is useful when running 32-bit services on a 64-bit host
@@ -1166,7 +1166,7 @@
         <term><varname>$LANG</varname></term>
 
         <listitem><para>Locale. Can be set in
-        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
         or on the kernel command line (see
         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
         and
@@ -1184,7 +1184,7 @@
         login shell. The variables are set for the units that have
         <varname>User=</varname> set, which includes user
         <command>systemd</command> instances. See
-        <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+        <citerefentry project='die-net'><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
         </para></listitem>
       </varlistentry>
 
diff --git a/man/systemd.generator.xml b/man/systemd.generator.xml
index ccb6987..9b39e73 100644
--- a/man/systemd.generator.xml
+++ b/man/systemd.generator.xml
@@ -333,7 +333,7 @@ find $dir</programlisting>
       <citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-efi-boot-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
diff --git a/man/systemd.journal-fields.xml b/man/systemd.journal-fields.xml
index 1fd46de..7d6c5c7 100644
--- a/man/systemd.journal-fields.xml
+++ b/man/systemd.journal-fields.xml
@@ -134,7 +134,7 @@
           derived from glibc's
           <varname>program_invocation_short_name</varname> variable,
           see
-          <citerefentry><refentrytitle>program_invocation_short_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.)</para>
+          <citerefentry project='die-net'><refentrytitle>program_invocation_short_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>.)</para>
         </listitem>
 
       </varlistentry>
diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml
index c974e22..e57f0e7 100644
--- a/man/systemd.kill.xml
+++ b/man/systemd.kill.xml
@@ -135,7 +135,7 @@
         of shutting down a unit (see above), and is usually followed
         by <constant>SIGKILL</constant> (see above and below). For a
         list of valid signals, see
-        <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+        <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
         Defaults to <constant>SIGTERM</constant>. </para></listitem>
       </varlistentry>
 
@@ -176,7 +176,7 @@
         <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>
       </para>
   </refsect1>
 
diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
index 5cbde8b..fcb9a44 100644
--- a/man/systemd.mount.xml
+++ b/man/systemd.mount.xml
@@ -68,7 +68,7 @@
     <para>Additional options are listed in
     <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
     which define the execution environment the
-    <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     binary is executed in, and in
     <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
     which define the way the processes are terminated, and in
@@ -78,7 +78,7 @@
     particularly useful for mount units specifying a
     <literal>Type=</literal> option or using configuration not
     specified in <filename>/etc/fstab</filename>;
-    <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     will refuse options that are not listed in
     <filename>/etc/fstab</filename> if it is not run as UID 0.</para>
 
@@ -118,7 +118,7 @@
 
     <para>Mount units may either be configured via unit files, or via
     <filename>/etc/fstab</filename> (see
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     for details). Mounts listed in <filename>/etc/fstab</filename>
     will be converted into native units dynamically at boot and when
     the configuration of the system manager is reloaded. In general,
@@ -231,7 +231,7 @@
         <term><varname>What=</varname></term>
         <listitem><para>Takes an absolute path of a device node, file
         or other resource to mount. See
-        <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for details. If this refers to a device node, a dependency on
         the respective device unit is automatically created. (See
         <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
@@ -251,7 +251,7 @@
       <varlistentry>
         <term><varname>Type=</varname></term>
         <listitem><para>Takes a string for the file system type. See
-        <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for details. This setting is optional.</para></listitem>
       </varlistentry>
 
@@ -270,7 +270,7 @@
         the options specified in <varname>Options=</varname> is
         relaxed, and unknown mount options are tolerated. This
         corresponds with
-        <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
+        <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
         <parameter>-s</parameter> switch. Defaults to
         off.</para></listitem>
       </varlistentry>
@@ -321,7 +321,7 @@
         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry project='man-pages'><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
       </para>
diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 24f8416..9738627 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -286,7 +286,7 @@
             separated by a <literal>/</literal> character. Specify
             this key more than once to configure several addresses.
             The format of the address must be as described in
-            <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+            <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
             This is a short-hand for an [Address] section only
             containing an Address key (see below). This option may be
             specified more than once.
@@ -312,7 +312,7 @@
           <listitem>
             <para>The gateway address, which must be in the format
             described in
-            <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+            <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
             This is a short-hand for a [Route] section only containing
             a Gateway key. This option may be specified more than
             once.</para>
@@ -323,7 +323,7 @@
           <listitem>
             <para>A DNS server address, which must be in the format
             described in
-            <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+            <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
             This option may be specified more than once.</para>
           </listitem>
         </varlistentry>
@@ -429,7 +429,7 @@
           <listitem>
             <para>The broadcast address, which must be in the format
             described in
-            <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+            <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
             This key only applies to IPv4 addresses. If it is not
             given, it is derived from the <literal>Address</literal>
             key.</para>
diff --git a/man/systemd.path.xml b/man/systemd.path.xml
index 08a7ec8..d02bc92 100644
--- a/man/systemd.path.xml
+++ b/man/systemd.path.xml
@@ -74,7 +74,7 @@
     (see below).</para>
 
     <para>Internally, path units use the
-    <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>
     API to monitor file systems. Due to that, it suffers by the same
     limitations as inotify, and for example cannot be used to monitor
     files or directories changed by other machines on remote NFS file
@@ -187,7 +187,7 @@
         <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
       </para>
   </refsect1>
diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
index 3938345..2f54193 100644
--- a/man/systemd.socket.xml
+++ b/man/systemd.socket.xml
@@ -265,7 +265,7 @@
         <listitem><para>Takes a one of <option>default</option>,
         <option>both</option> or <option>ipv6-only</option>. Controls
         the IPV6_V6ONLY socket option (see
-        <citerefentry><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details). If <option>both</option>, IPv6 sockets bound
         will be accessible via both IPv4 and IPv6. If
         <option>ipv6-only</option>, they will be accessible via IPv6
@@ -294,7 +294,7 @@
         this socket to. If set, traffic will only be accepted from the
         specified network interfaces. This controls the
         SO_BINDTODEVICE socket option (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details). If this option is used, an automatic dependency
         from this socket unit on the network interface device unit
         (<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
@@ -380,7 +380,7 @@
         <filename>/proc/sys/net/ipv4/tcp_keepalive_time</filename>)
         for all TCP streams accepted on this socket. This controls the
         SO_KEEPALIVE socket option (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         and the <ulink
         url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
         Keepalive HOWTO</ulink> for details.) Defaults to
@@ -392,7 +392,7 @@
         <listitem><para>Takes time (in seconds) as argument . The connection needs to remain
         idle before TCP starts sending keepalive probes. This controls the TCP_KEEPIDLE
         socket option (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         and the <ulink
         url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
         Keepalive HOWTO</ulink> for details.)
@@ -405,7 +405,7 @@
         individual keepalive probes, if the socket option SO_KEEPALIVE
         has been set on this socket seconds as argument. This controls
         the TCP_KEEPINTVL socket option (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         and the <ulink
         url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
         Keepalive HOWTO</ulink> for details.) Defaults value is 75
@@ -418,7 +418,7 @@
         unacknowledged probes to send before considering the
         connection dead and notifying the application layer. This
         controls the TCP_KEEPCNT socket option (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         and the <ulink
         url="http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/">TCP
         Keepalive HOWTO</ulink> for details.) Defaults value is
@@ -431,7 +431,7 @@
         algorithm works by combining a number of small outgoing
         messages, and sending them all at once. This controls the
         TCP_NODELAY socket option (see
-        <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         Defaults to <option>false</option>.</para></listitem>
       </varlistentry>
 
@@ -440,7 +440,7 @@
         <listitem><para>Takes an integer argument controlling the
         priority for all traffic sent from this socket. This controls
         the SO_PRIORITY socket option (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details.).</para></listitem>
       </varlistentry>
 
@@ -453,7 +453,7 @@
         established. When this option is set, the
         <constant>TCP_DEFER_ACCEPT</constant> socket option will be
         used (see
-        <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>),
+        <citerefentry project='die-net'><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>),
         and the kernel will ignore initial ACK packets without any
         data. The argument specifies the approximate amount of time
         the kernel should wait for incoming data before falling back
@@ -480,7 +480,7 @@
         <listitem><para>Takes an integer argument controlling the
         receive or send buffer sizes of this socket, respectively.
         This controls the SO_RCVBUF and SO_SNDBUF socket options (see
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details.). The usual suffixes K, M, G are supported and
         are understood to the base of 1024.</para></listitem>
       </varlistentry>
@@ -490,7 +490,7 @@
         <listitem><para>Takes an integer argument controlling the IP
         Type-Of-Service field for packets generated from this socket.
         This controls the IP_TOS socket option (see
-        <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details.). Either a numeric string or one of
         <option>low-delay</option>, <option>throughput</option>,
         <option>reliability</option> or <option>low-cost</option> may
@@ -503,9 +503,9 @@
         Time-To-Live/IPv6 Hop-Count field for packets generated from
         this socket. This sets the IP_TTL/IPV6_UNICAST_HOPS socket
         options (see
-        <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         and
-        <citerefentry><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details.)</para></listitem>
       </varlistentry>
 
@@ -515,7 +515,7 @@
         mark of packets generated by this socket. This can be used in
         the firewall logic to filter packets from this socket. This
         sets the SO_MARK socket option. See
-        <citerefentry><refentrytitle>iptables</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>iptables</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for details.</para></listitem>
       </varlistentry>
 
@@ -526,7 +526,7 @@
         <citerefentry><refentrytitle>bind</refentrytitle><manvolnum>2</manvolnum></citerefentry>s
         to this TCP or UDP port. This controls the SO_REUSEPORT socket
         option. See
-        <citerefentry><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>
         for details.</para></listitem>
       </varlistentry>
 
@@ -578,7 +578,7 @@
         control the mq_maxmsg field or the mq_msgsize field,
         respectively, when creating the message queue. Note that
         either none or both of these variables need to be set. See
-        <citerefentry><refentrytitle>mq_setattr</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+        <citerefentry project='die-net'><refentrytitle>mq_setattr</refentrytitle><manvolnum>3</manvolnum></citerefentry>
         for details.</para></listitem>
       </varlistentry>
 
diff --git a/man/systemd.swap.xml b/man/systemd.swap.xml
index 23b9c71..5016f45 100644
--- a/man/systemd.swap.xml
+++ b/man/systemd.swap.xml
@@ -69,7 +69,7 @@
     <para>Additional options are listed in
     <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
     which define the execution environment the
-    <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     binary is executed in, and in
     <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
     which define the way the processes are terminated, and in
@@ -100,7 +100,7 @@
 
     <para>Swap units may either be configured via unit files, or via
     <filename>/etc/fstab</filename> (see
-    <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+    <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     for details). Swaps listed in <filename>/etc/fstab</filename> will
     be converted into native units dynamically at boot and when the
     configuration of the system manager is reloaded. See
@@ -161,7 +161,7 @@
         <term><varname>What=</varname></term>
         <listitem><para>Takes an absolute path of a device node or
         file to use for paging. See
-        <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for details. If this refers to a device node, a dependency on
         the respective device unit is automatically created. (See
         <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
@@ -187,7 +187,7 @@
         device. This may be used for controlling discard options among
         other functionality, if the swap backing device supports the
         discard or trim operation. (See
-        <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>
         for more information.) </para></listitem>
       </varlistentry>
 
@@ -229,7 +229,7 @@
         <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>swapon</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
       </para>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index a452f87..c2e374a 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -826,7 +826,7 @@
         <varname>cris</varname> to test
         against a specific architecture. The architecture is
         determined from the information returned by
-        <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
         and is thus subject to
         <citerefentry><refentrytitle>personality</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
         Note that a <varname>Personality=</varname> setting in the
@@ -1438,7 +1438,7 @@ PrivateTmp=yes</programlisting>
       <citerefentry><refentrytitle>systemd-analyze</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     </para>
   </refsect1>
 
diff --git a/man/systemd.xml b/man/systemd.xml
index 9b92140..d006b0b 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -1012,9 +1012,9 @@
         <listitem><para>Set the system locale to use. This overrides
         the settings in <filename>/etc/locale.conf</filename>. For
         more information see
-        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
         and
-        <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+        <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
         </para></listitem>
       </varlistentry>
     </variablelist>
@@ -1077,7 +1077,7 @@
     <para>
       The <ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd Homepage</ulink>,
       <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
diff --git a/man/vconsole.conf.xml b/man/vconsole.conf.xml
index 17bea8b..27196d4 100644
--- a/man/vconsole.conf.xml
+++ b/man/vconsole.conf.xml
@@ -129,9 +129,9 @@ FONT=eurlatgr</programlisting>
       <para>
         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+        <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+        <citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+        <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
         <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
       </para>
   </refsect1>

commit 1261a8df61818d48c6bc9445a16b40e24ffaa74e
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Mar 13 21:10:13 2015 -0500

    gpt-auto-generator: allow type check to fail
    
    add_mount() is OK with unknow file type, but we have to initalize
    the variable to NULL not to pass garbage on error.
    
    (cherry picked from commit a0b1209c4a59754f428894e0485413542da50014)

diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index 869a230..e0a5bb3 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -290,7 +290,7 @@ static int probe_and_add_mount(
                 const char *post) {
 
         _cleanup_blkid_free_probe_ blkid_probe b = NULL;
-        const char *fstype;
+        const char *fstype = NULL;
         int r;
 
         assert(id);
@@ -323,14 +323,11 @@ static int probe_and_add_mount(
         r = blkid_do_safeprobe(b);
         if (r == -2 || r == 1) /* no result or uncertain */
                 return 0;
-        else if (r != 0) {
-                if (errno == 0)
-                        errno = EIO;
-                log_error_errno(errno, "Failed to probe %s: %m", what);
-                return -errno;
-        }
+        else if (r != 0)
+                return log_error_errno(errno ?: EIO, "Failed to probe %s: %m", what);
 
-        blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
+        /* add_mount is OK with fstype being NULL. */
+        (void) blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
 
         return add_mount(
                         id,

commit 12e474fdf33ffc500aacad39fe19aa57b344f9cb
Author: Tom Gundersen <teg at jklm.no>
Date:   Fri Mar 13 15:49:07 2015 +0100

    sd-rtnl: never set serial to 0
    
    In the unlikely event that we wrap the counter, skip 0 as this is used
    for broadcasts.
    
    Suggested by Richard Maw.
    
    (cherry picked from commit 913b0eef1a01e0c78f0453b0174e75d5caae1023)

diff --git a/src/libsystemd/sd-rtnl/sd-rtnl.c b/src/libsystemd/sd-rtnl/sd-rtnl.c
index 7cdcc5d..5df39e1 100644
--- a/src/libsystemd/sd-rtnl/sd-rtnl.c
+++ b/src/libsystemd/sd-rtnl/sd-rtnl.c
@@ -262,7 +262,7 @@ static void rtnl_seal_message(sd_rtnl *rtnl, sd_rtnl_message *m) {
         assert(m);
         assert(m->hdr);
 
-        m->hdr->nlmsg_seq = rtnl->serial++;
+        m->hdr->nlmsg_seq = rtnl->serial++ ? : rtnl->serial++;
 
         rtnl_message_seal(m);
 

commit 4bbc153799e5b29d19c1ec699abfa3d562d8be46
Author: Mathieu Chevrier <chevrier.mathieu at gmail.com>
Date:   Fri Mar 13 00:33:44 2015 -0400

    gpt-auto-generator: fix detection of /srv
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89226
    (cherry picked from commit d736e4f3e76daca4ab1b1fc444737e5ee20a27cd)

diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index 5c58b58..869a230 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -548,7 +548,7 @@ static int enumerate_partitions(dev_t devnum) {
                         srv_rw = !(flags & GPT_FLAG_READ_ONLY),
 
                         free(srv);
-                        srv = strdup(node);
+                        srv = strdup(subnode);
                         if (!srv)
                                 return log_oom();
                 }

commit 1d6c7cfcd4e9f4117264e1611ce881a871b92a56
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Mar 13 00:25:31 2015 -0400

    man: update example 2 in systemd.network(5)
    
    none/both/v4/v6 are deprecated in favour of no/yes/ipv4/ipv6.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89221
    (cherry picked from commit 9c8ca3f7a69f82ca181b3cd2d5e1d3e621938abb)

diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 485876b..24f8416 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -643,7 +643,7 @@ Gateway=192.168.0.1</programlisting>
 Name=en*
 
 [Network]
-DHCP=both</programlisting>
+DHCP=yes</programlisting>
     </example>
 
     <example>

commit 706ce3faab879d4cb20906ad6d27e962ab3e4ad0
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Mar 13 00:02:28 2015 -0400

    journal-remote: process events without delay
    
    journal-remote buffers input, and then parses it handling one journal entry at a time.
    It was possible for useful data to be left in the buffer after some entries were
    processesed. But all data would be already read from the fd, so there would be
    no reason for the event loop to call the handler again. After some new data came in,
    the handler would be called again, and would then process the "old" data in the buffer.
    
    Fix this by enabling a handler wherever we process input data and do not exhaust data
    from the input buffer (i.e. when EAGAIN was not encountered). The handler runs until
    we encounter EAGAIN.
    
    Looping over the input data is done in this roundabout way to allow the event loop
    to dispatch other events in the meanwhile. If the loop was inside the handler, a
    source which produced data fast enough could completely monopolize the process.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89516
    (cherry picked from commit 043945b93824e33e040954612aaa934cd1a43a1b)

diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c
index 6c096de..7e62954 100644
--- a/src/journal-remote/journal-remote-parse.c
+++ b/src/journal-remote/journal-remote-parse.c
@@ -41,6 +41,7 @@ void source_free(RemoteSource *source) {
         writer_unref(source->writer);
 
         sd_event_source_unref(source->event);
+        sd_event_source_unref(source->buffer_event);
 
         free(source);
 }
diff --git a/src/journal-remote/journal-remote-parse.h b/src/journal-remote/journal-remote-parse.h
index 22db550..06a5029 100644
--- a/src/journal-remote/journal-remote-parse.h
+++ b/src/journal-remote/journal-remote-parse.h
@@ -54,6 +54,7 @@ typedef struct RemoteSource {
         Writer *writer;
 
         sd_event_source *event;
+        sd_event_source *buffer_event;
 } RemoteSource;
 
 RemoteSource* source_new(int fd, bool passive_fd, char *name, Writer *writer);
diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
index d1486e7..b7cc6d7 100644
--- a/src/journal-remote/journal-remote.c
+++ b/src/journal-remote/journal-remote.c
@@ -289,6 +289,8 @@ static int dispatch_raw_source_event(sd_event_source *event,
                                      int fd,
                                      uint32_t revents,
                                      void *userdata);
+static int dispatch_raw_source_until_block(sd_event_source *event,
+                                           void *userdata);
 static int dispatch_blocking_source_event(sd_event_source *event,
                                           void *userdata);
 static int dispatch_raw_connection_event(sd_event_source *event,
@@ -376,8 +378,15 @@ static int add_source(RemoteServer *s, int fd, char* name, bool own_name) {
 
         r = sd_event_add_io(s->events, &source->event,
                             fd, EPOLLIN|EPOLLRDHUP|EPOLLPRI,
-                            dispatch_raw_source_event, s);
-        if (r == -EPERM) {
+                            dispatch_raw_source_event, source);
+        if (r == 0) {
+                /* Add additional source for buffer processing. It will be
+                 * enabled later. */
+                r = sd_event_add_defer(s->events, &source->buffer_event,
+                                       dispatch_raw_source_until_block, source);
+                if (r == 0)
+                        sd_event_source_set_enabled(source->buffer_event, SD_EVENT_OFF);
+        } else if (r == -EPERM) {
                 log_debug("Falling back to sd_event_add_defer for fd:%d (%s)", fd, name);
                 r = sd_event_add_defer(s->events, &source->event,
                                        dispatch_blocking_source_event, source);
@@ -997,15 +1006,18 @@ static void server_destroy(RemoteServer *s) {
  **********************************************************************
  **********************************************************************/
 
-static int dispatch_raw_source_event(sd_event_source *event,
-                                     int fd,
-                                     uint32_t revents,
-                                     void *userdata) {
+static int handle_raw_source(sd_event_source *event,
+                             int fd,
+                             uint32_t revents,
+                             RemoteServer *s) {
 
-        RemoteServer *s = userdata;
         RemoteSource *source;
         int r;
 
+        /* Returns 1 if there might be more data pending,
+         * 0 if data is currently exhausted, negative on error.
+         */
+
         assert(fd >= 0 && fd < (ssize_t) s->sources_size);
         source = s->sources[fd];
         assert(source->fd == fd);
@@ -1036,11 +1048,48 @@ static int dispatch_raw_source_event(sd_event_source *event,
                 return 1;
 }
 
+static int dispatch_raw_source_until_block(sd_event_source *event,
+                                           void *userdata) {
+        RemoteSource *source = userdata;
+        int r;
+
+        /* Make sure event stays around even if source is destroyed */
+        sd_event_source_ref(event);
+
+        r = handle_raw_source(event, source->fd, EPOLLIN, server);
+        if (r != 1)
+                /* No more data for now */
+                sd_event_source_set_enabled(event, SD_EVENT_OFF);
+
+        sd_event_source_unref(event);
+
+        return r;
+}
+
+static int dispatch_raw_source_event(sd_event_source *event,
+                                     int fd,
+                                     uint32_t revents,
+                                     void *userdata) {
+        RemoteSource *source = userdata;
+        int r;
+
+        assert(source->event);
+        assert(source->buffer_event);
+
+        r = handle_raw_source(event, fd, EPOLLIN, server);
+        if (r == 1)
+                /* Might have more data. We need to rerun the handler
+                 * until we are sure the buffer is exhausted. */
+                sd_event_source_set_enabled(source->buffer_event, SD_EVENT_ON);
+
+        return r;
+}
+
 static int dispatch_blocking_source_event(sd_event_source *event,
                                           void *userdata) {
         RemoteSource *source = userdata;
 
-        return dispatch_raw_source_event(event, source->fd, EPOLLIN, server);
+        return handle_raw_source(event, source->fd, EPOLLIN, server);
 }
 
 static int accept_connection(const char* type, int fd,

commit 62ae285fd7265de8ef410b876a8aec047a93ea37
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Thu Mar 12 21:29:28 2015 -0400

    journal-remote: downgrade routine messages to debug
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89486
    (cherry picked from commit 0e72da6fe8671d49b4d458519f5ac7600fd04f03)

diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c
index afded7e..6c096de 100644
--- a/src/journal-remote/journal-remote-parse.c
+++ b/src/journal-remote/journal-remote-parse.c
@@ -443,7 +443,7 @@ int process_source(RemoteSource *source, bool compress, bool seal) {
                 return r;
 
         /* We have a full event */
-        log_trace("Received a full event from source@%p fd:%d (%s)",
+        log_trace("Received full event from source@%p fd:%d (%s)",
                   source, source->fd, source->name);
 
         if (!source->iovw.count) {
diff --git a/src/journal-remote/journal-remote-write.c b/src/journal-remote/journal-remote-write.c
index df30049..99820fa 100644
--- a/src/journal-remote/journal-remote-write.c
+++ b/src/journal-remote/journal-remote-write.c
@@ -156,7 +156,7 @@ int writer_write(Writer *w,
         if (r < 0)
                 return r;
         else
-                log_info("%s: Successfully rotated journal", w->journal->path);
+                log_debug("%s: Successfully rotated journal", w->journal->path);
 
         log_debug("Retrying write.");
         r = journal_file_append_entry(w->journal, ts, iovw->iovec, iovw->count,
diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
index 8f32a9a..d1486e7 100644
--- a/src/journal-remote/journal-remote.c
+++ b/src/journal-remote/journal-remote.c
@@ -207,7 +207,7 @@ static int open_output(Writer *w, const char* host) {
                 log_error_errno(r, "Failed to open output journal %s: %m",
                                 output);
         else
-                log_info("Opened output file %s", w->journal->path);
+                log_debug("Opened output file %s", w->journal->path);
         return r;
 }
 
@@ -747,7 +747,7 @@ static int setup_microhttpd_socket(RemoteServer *s,
                                    const char *trust) {
         int fd;
 
-        fd = make_socket_fd(LOG_INFO, address, SOCK_STREAM | SOCK_CLOEXEC);
+        fd = make_socket_fd(LOG_DEBUG, address, SOCK_STREAM | SOCK_CLOEXEC);
         if (fd < 0)
                 return fd;
 
@@ -844,7 +844,7 @@ static int remoteserver_init(RemoteServer *s,
         if (n < 0)
                 return log_error_errno(n, "Failed to read listening file descriptors from environment: %m");
         else
-                log_info("Received %d descriptors", n);
+                log_debug("Received %d descriptors", n);
 
         if (MAX(http_socket, https_socket) >= SD_LISTEN_FDS_START + n) {
                 log_error("Received fewer sockets than expected");
@@ -853,7 +853,7 @@ static int remoteserver_init(RemoteServer *s,
 
         for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd++) {
                 if (sd_is_socket(fd, AF_UNSPEC, 0, true)) {
-                        log_info("Received a listening socket (fd:%d)", fd);
+                        log_debug("Received a listening socket (fd:%d)", fd);
 
                         if (fd == http_socket)
                                 r = setup_microhttpd_server(s, fd, NULL, NULL, NULL);
@@ -868,7 +868,7 @@ static int remoteserver_init(RemoteServer *s,
                         if (r < 0)
                                 return log_error_errno(r, "Failed to retrieve remote name: %m");
 
-                        log_info("Received a connection socket (fd:%d) from %s", fd, hostname);
+                        log_debug("Received a connection socket (fd:%d) from %s", fd, hostname);
 
                         r = add_source(s, fd, hostname, true);
                 } else {
@@ -908,7 +908,7 @@ static int remoteserver_init(RemoteServer *s,
         }
 
         if (arg_listen_raw) {
-                log_info("Listening on a socket...");
+                log_debug("Listening on a socket...");
                 r = setup_raw_socket(s, arg_listen_raw);
                 if (r < 0)
                         return r;
@@ -930,12 +930,12 @@ static int remoteserver_init(RemoteServer *s,
                 const char *output_name;
 
                 if (streq(*file, "-")) {
-                        log_info("Using standard input as source.");
+                        log_debug("Using standard input as source.");
 
                         fd = STDIN_FILENO;
                         output_name = "stdin";
                 } else {
-                        log_info("Reading file %s...", *file);
+                        log_debug("Reading file %s...", *file);
 
                         fd = open(*file, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
                         if (fd < 0)
@@ -1014,22 +1014,22 @@ static int dispatch_raw_source_event(sd_event_source *event,
         if (source->state == STATE_EOF) {
                 size_t remaining;
 
-                log_info("EOF reached with source fd:%d (%s)",
-                         source->fd, source->name);
+                log_debug("EOF reached with source fd:%d (%s)",
+                          source->fd, source->name);
 
                 remaining = source_non_empty(source);
                 if (remaining > 0)
-                        log_warning("Premature EOF. %zu bytes lost.", remaining);
+                        log_notice("Premature EOF. %zu bytes lost.", remaining);
                 remove_source(s, source->fd);
-                log_info("%zu active sources remaining", s->active);
+                log_debug("%zu active sources remaining", s->active);
                 return 0;
         } else if (r == -E2BIG) {
-                log_error("Entry too big, skipped");
+                log_notice_errno(E2BIG, "Entry too big, skipped");
                 return 1;
         } else if (r == -EAGAIN) {
                 return 0;
         } else if (r < 0) {
-                log_info_errno(r, "Closing connection: %m");
+                log_debug_errno(r, "Closing connection: %m");
                 remove_source(server, fd);
                 return 0;
         } else
@@ -1071,10 +1071,10 @@ static int accept_connection(const char* type, int fd,
                         return r;
                 }
 
-                log_info("Accepted %s %s connection from %s",
-                         type,
-                         socket_address_family(addr) == AF_INET ? "IP" : "IPv6",
-                         a);
+                log_debug("Accepted %s %s connection from %s",
+                          type,
+                          socket_address_family(addr) == AF_INET ? "IP" : "IPv6",
+                          a);
 
                 *hostname = b;
 
diff --git a/src/journal-remote/microhttpd-util.c b/src/journal-remote/microhttpd-util.c
index a95fff1..b45c38d 100644
--- a/src/journal-remote/microhttpd-util.c
+++ b/src/journal-remote/microhttpd-util.c
@@ -178,7 +178,7 @@ static int verify_cert_authorized(gnutls_session_t session) {
         if (r < 0)
                 return log_error_errno(r, "gnutls_certificate_verification_status_print failed: %m");
 
-        log_info("Certificate status: %s", out.data);
+        log_debug("Certificate status: %s", out.data);
         gnutls_free(out.data);
 
         return status == 0 ? 0 : -EPERM;
@@ -280,7 +280,7 @@ int check_permissions(struct MHD_Connection *connection, int *code, char **hostn
                 return -EPERM;
         }
 
-        log_info("Connection from %s", buf);
+        log_debug("Connection from %s", buf);
 
         if (hostname) {
                 *hostname = buf;

commit cbc0484a42adf93bdd6897f93b15b0eaeb3077f6
Author: Richard Maw <richard.maw at codethink.co.uk>
Date:   Thu Mar 12 18:14:58 2015 +0000

    networkd: Begin with serial number 1 for netlink requests
    
    "Notifications are of informal nature and no reply is expected, therefore the
    sequence number is typically set to 0."[1]
    
    If networkd is started soon after recent netlink activity, then there
    will be messages with sequence number 0 in the buffer.
    
    The first thing networkd does is to request a dump of all the links. If
    it uses sequence number 0 for this, then it may confuse the dump request's
    response with that of a notification.
    
    This will result in it failing to properly enumerate all the links,
    but more importantly, when it comes to enumerate all the addresses, it
    will still have the link dump in progress, so the address enumeration
    will fail with -EBUSY.
    
    [1]: http://www.infradead.org/~tgr/libnl/doc/core.html#core_msg_types
    
    [tomegun: sequence -> serial]
    
    (cherry picked from commit d422e52a3523ad0955bec4f9fbed46e234d28590)

diff --git a/src/libsystemd/sd-rtnl/sd-rtnl.c b/src/libsystemd/sd-rtnl/sd-rtnl.c
index ae49c77..7cdcc5d 100644
--- a/src/libsystemd/sd-rtnl/sd-rtnl.c
+++ b/src/libsystemd/sd-rtnl/sd-rtnl.c
@@ -61,6 +61,11 @@ static int sd_rtnl_new(sd_rtnl **ret) {
                             sizeof(struct nlmsghdr), sizeof(uint8_t)))
                 return -ENOMEM;
 
+        /* Change notification responses have sequence 0, so we must
+         * start our request sequence numbers at 1, or we may confuse our
+         * responses with notifications from the kernel */
+        rtnl->serial = 1;
+
         *ret = rtnl;
         rtnl = NULL;
 

commit 9ac622b00ca23f9d01e0ff0c944130be8dc3a0e9
Author: Kay Sievers <kay at vrfy.org>
Date:   Thu Mar 12 18:34:23 2015 +0100

    hwdb: update
    
    (cherry picked from commit b83cbcb7d95482baa588706227f01bbbe44b9d12)

diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
index 6976bdf..deb323d 100644
--- a/hwdb/20-OUI.hwdb
+++ b/hwdb/20-OUI.hwdb
@@ -28829,7 +28829,7 @@ OUI:0013EB*
  ID_OUI_FROM_DATABASE=Sysmaster Corporation
 
 OUI:0013EC*
- ID_OUI_FROM_DATABASE=Sunbay Software AG
+ ID_OUI_FROM_DATABASE=Netsnapper Technologies SARL
 
 OUI:0013ED*
  ID_OUI_FROM_DATABASE=PSIA
@@ -44296,6 +44296,9 @@ OUI:0030FE*
 OUI:0030FF*
  ID_OUI_FROM_DATABASE=DATAFAB SYSTEMS, INC.
 
+OUI:00323A*
+ ID_OUI_FROM_DATABASE=so-logic
+
 OUI:00336C*
  ID_OUI_FROM_DATABASE=SynapSense Corporation
 
@@ -44513,7 +44516,7 @@ OUI:004035*
  ID_OUI_FROM_DATABASE=OPCOM
 
 OUI:004036*
- ID_OUI_FROM_DATABASE=TRIBE COMPUTER WORKS, INC.
+ ID_OUI_FROM_DATABASE=Zoom Telephonics, Inc
 
 OUI:004037*
  ID_OUI_FROM_DATABASE=SEA-ILAN, INC.
@@ -50456,7 +50459,7 @@ OUI:00D093*
  ID_OUI_FROM_DATABASE=TQ - COMPONENTS GMBH
 
 OUI:00D094*
- ID_OUI_FROM_DATABASE=TIMELINE VISTA, INC.
+ ID_OUI_FROM_DATABASE=Seeion Control LLC
 
 OUI:00D095*
  ID_OUI_FROM_DATABASE=Alcatel-Lucent, Enterprise Business Group
@@ -52561,6 +52564,9 @@ OUI:082719*
 OUI:082AD0*
  ID_OUI_FROM_DATABASE=SRD Innovations Inc.
 
+OUI:082CB0*
+ ID_OUI_FROM_DATABASE=Network Instruments
+
 OUI:082E5F*
  ID_OUI_FROM_DATABASE=Hewlett Packard
 
@@ -52699,6 +52705,9 @@ OUI:088E4F*
 OUI:088F2C*
  ID_OUI_FROM_DATABASE=Hills Sound Vision & Lighting
 
+OUI:08952A*
+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc
+
 OUI:0896D7*
  ID_OUI_FROM_DATABASE=AVM GmbH
 
@@ -52804,6 +52813,9 @@ OUI:08EB74*
 OUI:08EBED*
  ID_OUI_FROM_DATABASE=World Elite Technology Co.,LTD
 
+OUI:08ECA9*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:08EDB9*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
 
@@ -53320,6 +53332,9 @@ OUI:103DEA*
 OUI:1040F3*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:10417F*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:104369*
  ID_OUI_FROM_DATABASE=Soundmax Electronic Limited
 
@@ -53611,6 +53626,9 @@ OUI:141330*
 OUI:14144B*
  ID_OUI_FROM_DATABASE=FUJIAN STAR-NET COMMUNICATION CO.,LTD
 
+OUI:14157C*
+ ID_OUI_FROM_DATABASE=TOKYO COSMOS ELECTRIC CO.,LTD.
+
 OUI:141A51*
  ID_OUI_FROM_DATABASE=Treetech Sistemas Digitais
 
@@ -53656,6 +53674,9 @@ OUI:14307A*
 OUI:1430C6*
  ID_OUI_FROM_DATABASE=Motorola Mobility LLC
 
+OUI:1432D1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:14358B*
  ID_OUI_FROM_DATABASE=Mediabridge Products, LLC.
 
@@ -53716,6 +53737,9 @@ OUI:1458D0*
 OUI:145A05*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:145A83*
+ ID_OUI_FROM_DATABASE=Logi-D inc
+
 OUI:145BD1*
  ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
@@ -53929,6 +53953,9 @@ OUI:181420*
 OUI:181456*
  ID_OUI_FROM_DATABASE=Nokia Corporation
 
+OUI:1816C9*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:181714*
  ID_OUI_FROM_DATABASE=DAEWOOIS
 
@@ -54049,6 +54076,9 @@ OUI:185936*
 OUI:185AE8*
  ID_OUI_FROM_DATABASE=Zenotech.Co.,Ltd
 
+OUI:185D9A*
+ ID_OUI_FROM_DATABASE=BobjGear LLC
+
 OUI:18622C*
  ID_OUI_FROM_DATABASE=SAGEMCOM SAS
 
@@ -54532,6 +54562,9 @@ OUI:1CAB01*
 OUI:1CABA7*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:1CADD1*
+ ID_OUI_FROM_DATABASE=Bosung Electronics Co., Ltd.
+
 OUI:1CAF05*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -54937,6 +54970,9 @@ OUI:20DCE6*
 OUI:20DF3F*
  ID_OUI_FROM_DATABASE=Nanjing SAC Power Grid Automation Co., Ltd.
 
+OUI:20E407*
+ ID_OUI_FROM_DATABASE=Spark srl
+
 OUI:20E52A*
  ID_OUI_FROM_DATABASE=NETGEAR INC.,
 
@@ -55252,6 +55288,9 @@ OUI:24E271*
 OUI:24E314*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:24E5AA*
+ ID_OUI_FROM_DATABASE=Philips Oral Healthcare, Inc.
+
 OUI:24E6BA*
  ID_OUI_FROM_DATABASE=JSC Zavod im. Kozitsky
 
@@ -56185,6 +56224,9 @@ OUI:308730*
 OUI:308999*
  ID_OUI_FROM_DATABASE=Guangdong East Power Co.,
 
+OUI:3089D3*
+ ID_OUI_FROM_DATABASE=Shenzhen ucloudlink new technology co.,LTD
+
 OUI:308CFB*
  ID_OUI_FROM_DATABASE=Dropcam
 
@@ -56461,6 +56503,9 @@ OUI:3476C5*
 OUI:347877*
  ID_OUI_FROM_DATABASE=O-NET Communications(Shenzhen) Limited
 
+OUI:347A60*
+ ID_OUI_FROM_DATABASE=Pace plc
+
 OUI:347E39*
  ID_OUI_FROM_DATABASE=Nokia Danmark A/S
 
@@ -56506,6 +56551,9 @@ OUI:3499D7*
 OUI:349A0D*
  ID_OUI_FROM_DATABASE=ZBD Displays Ltd
 
+OUI:349B5B*
+ ID_OUI_FROM_DATABASE=Maquet GmbH
+
 OUI:349D90*
  ID_OUI_FROM_DATABASE=Heinzmann GmbH & CO. KG
 
@@ -57256,6 +57304,9 @@ OUI:3CA10D*
 OUI:3CA315*
  ID_OUI_FROM_DATABASE=Bless Information & Communications Co., Ltd
 
+OUI:3CA31A*
+ ID_OUI_FROM_DATABASE=Oilfind International LLC
+
 OUI:3CA72B*
  ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD
 
@@ -57343,6 +57394,9 @@ OUI:3CD92B*
 OUI:3CD9CE*
  ID_OUI_FROM_DATABASE=Eclipse WiFi
 
+OUI:3CDA2A*
+ ID_OUI_FROM_DATABASE=zte corporation
+
 OUI:3CDF1E*
  ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
 
@@ -57592,6 +57646,9 @@ OUI:408B07*
 OUI:408BF6*
  ID_OUI_FROM_DATABASE=Shenzhen TCL New Technology Co; Ltd.
 
+OUI:408D5C*
+ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD.
+
 OUI:409558*
  ID_OUI_FROM_DATABASE=Aisino Corporation
 
@@ -58093,6 +58150,9 @@ OUI:44ED57*
 OUI:44EE30*
  ID_OUI_FROM_DATABASE=Budelmann Elektronik GmbH
 
+OUI:44F436*
+ ID_OUI_FROM_DATABASE=zte corporation
+
 OUI:44F459*
  ID_OUI_FROM_DATABASE=Samsung Electronics
 
@@ -58117,6 +58177,9 @@ OUI:48066A*
 OUI:480C49*
  ID_OUI_FROM_DATABASE=NAKAYO TELECOMMUNICATIONS,INC
 
+OUI:480FCF*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
 OUI:481249*
  ID_OUI_FROM_DATABASE=Luxcom Technologies Inc.
 
@@ -58171,6 +58234,9 @@ OUI:4846F1*
 OUI:4846FB*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:485073*
+ ID_OUI_FROM_DATABASE=Microsoft Corporation
+
 OUI:4851B7*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
@@ -58636,6 +58702,9 @@ OUI:4CB199*
 OUI:4CB4EA*
  ID_OUI_FROM_DATABASE=HRD (S) PTE., LTD.
 
+OUI:4CB76D*
+ ID_OUI_FROM_DATABASE=Novi Security
+
 OUI:4CB81C*
  ID_OUI_FROM_DATABASE=SAM Electronics GmbH
 
@@ -58705,6 +58774,9 @@ OUI:4CEB42*
 OUI:4CEDDE*
  ID_OUI_FROM_DATABASE=Askey Computer Corp
 
+OUI:4CEEB0*
+ ID_OUI_FROM_DATABASE=SHC Netzwerktechnik GmbH
+
 OUI:4CF02E*
  ID_OUI_FROM_DATABASE=Vifa Denmark A/S
 
@@ -59032,6 +59104,9 @@ OUI:50ED94*
 OUI:50F003*
  ID_OUI_FROM_DATABASE=Open Stack, Inc.
 
+OUI:50F0D3*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:50F43C*
  ID_OUI_FROM_DATABASE=Leeo Inc
 
@@ -59137,6 +59212,9 @@ OUI:5439DF*
 OUI:543D37*
  ID_OUI_FROM_DATABASE=Ruckus Wireless
 
+OUI:5440AD*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:544249*
  ID_OUI_FROM_DATABASE=Sony Corporation
 
@@ -59170,6 +59248,9 @@ OUI:545EBD*
 OUI:545FA9*
  ID_OUI_FROM_DATABASE=Teracom Limited
 
+OUI:546172*
+ ID_OUI_FROM_DATABASE=ZODIAC AEROSPACE SAS
+
 OUI:5461EA*
  ID_OUI_FROM_DATABASE=Zaplox AB
 
@@ -59284,6 +59365,9 @@ OUI:54BEF7*
 OUI:54C80F*
  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
+OUI:54CD10*
+ ID_OUI_FROM_DATABASE=Panasonic Mobile Communications Co.,Ltd.
+
 OUI:54CDA7*
  ID_OUI_FROM_DATABASE=Fujian Shenzhou Electronic Co.,Ltd
 
@@ -59794,6 +59878,9 @@ OUI:5C41E7*
 OUI:5C43D2*
  ID_OUI_FROM_DATABASE=HAZEMEYER
 
+OUI:5C4527*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
 OUI:5C4A26*
  ID_OUI_FROM_DATABASE=Enguity Technology Corp
 
@@ -59911,6 +59998,9 @@ OUI:5CAAFD*
 OUI:5CAC4C*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
 
+OUI:5CB395*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
 OUI:5CB43E*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
@@ -60859,6 +60949,9 @@ OUI:64F970*
 OUI:64F987*
  ID_OUI_FROM_DATABASE=Avvasi Inc.
 
+OUI:64FB81*
+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY  - Please see MAM public listing for more information.
+
 OUI:64FC8C*
  ID_OUI_FROM_DATABASE=Zonar Systems
 
@@ -61417,6 +61510,9 @@ OUI:6C9CE9*
 OUI:6C9CED*
  ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
 
+OUI:6CA100*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
 OUI:6CA682*
  ID_OUI_FROM_DATABASE=EDAM information & communications
 
@@ -61507,6 +61603,9 @@ OUI:6CD68A*
 OUI:6CDC6A*
  ID_OUI_FROM_DATABASE=Promethean Limited
 
+OUI:6CE01E*
+ ID_OUI_FROM_DATABASE=Modcam AB
+
 OUI:6CE0B0*
  ID_OUI_FROM_DATABASE=SOUND4
 
@@ -62119,6 +62218,9 @@ OUI:747E2D*
 OUI:748114*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:74852A*
+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
+
 OUI:74867A*
  ID_OUI_FROM_DATABASE=Dell Inc
 
@@ -62548,6 +62650,9 @@ OUI:789ED0*
 OUI:789F4C*
  ID_OUI_FROM_DATABASE=HOERBIGER Elektronik GmbH
 
+OUI:789F70*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:789F87*
  ID_OUI_FROM_DATABASE=Siemens AG I IA PP PRM
 
@@ -62620,6 +62725,12 @@ OUI:78B81A*
 OUI:78BAD0*
  ID_OUI_FROM_DATABASE=Shinybow Technology Co. Ltd.
 
+OUI:78BAF9*
+ ID_OUI_FROM_DATABASE=Cisco
+
+OUI:78BDBC*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:78BEB6*
  ID_OUI_FROM_DATABASE=Enhanced Vision
 
@@ -63002,7 +63113,7 @@ OUI:7CB21B*
  ID_OUI_FROM_DATABASE=Cisco SPVTG
 
 OUI:7CB232*
- ID_OUI_FROM_DATABASE=TCL King High Frequency EI,Co.,LTD
+ ID_OUI_FROM_DATABASE=Hui Zhou Gaoshengda Technology Co.,LTD
 
 OUI:7CB542*
  ID_OUI_FROM_DATABASE=ACES Technology
@@ -63133,6 +63244,9 @@ OUI:7CF429*
 OUI:7CF854*
  ID_OUI_FROM_DATABASE=Samsung Electronics
 
+OUI:7CF90E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:7CFADF*
  ID_OUI_FROM_DATABASE=Apple
 
@@ -63235,6 +63349,9 @@ OUI:8038FD*
 OUI:8039E5*
  ID_OUI_FROM_DATABASE=PATLITE CORPORATION
 
+OUI:803B2A*
+ ID_OUI_FROM_DATABASE=ABB Xiamen Low Voltage Equipment Co.,Ltd.
+
 OUI:803B9A*
  ID_OUI_FROM_DATABASE=ghe-ces electronic ag
 
@@ -63262,6 +63379,9 @@ OUI:804971*
 OUI:804B20*
  ID_OUI_FROM_DATABASE=Ventilation Control
 
+OUI:804E81*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:804F58*
  ID_OUI_FROM_DATABASE=ThinkEco, Inc.
 
@@ -63514,6 +63634,9 @@ OUI:840B2D*
 OUI:840F45*
  ID_OUI_FROM_DATABASE=Shanghai GMT Digital Technologies Co., Ltd
 
+OUI:84119E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:841715*
  ID_OUI_FROM_DATABASE=GP Electronics (HK) Ltd.
 
@@ -63580,6 +63703,9 @@ OUI:842B50*
 OUI:842BBC*
  ID_OUI_FROM_DATABASE=Modelleisenbahn GmbH
 
+OUI:842E27*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:842F75*
  ID_OUI_FROM_DATABASE=Innokas Group
 
@@ -63943,6 +64069,9 @@ OUI:883612*
 OUI:883B8B*
  ID_OUI_FROM_DATABASE=Cheering Connection Co. Ltd.
 
+OUI:884157*
+ ID_OUI_FROM_DATABASE=Shenzhen Atsmart Technology Co.,Ltd.
+
 OUI:8841C1*
  ID_OUI_FROM_DATABASE=ORBISAT DA AMAZONIA IND E AEROL SA
 
@@ -64006,6 +64135,9 @@ OUI:88708C*
 OUI:8870EF*
  ID_OUI_FROM_DATABASE=SC Professional Trading Co., Ltd.
 
+OUI:887384*
+ ID_OUI_FROM_DATABASE=Toshiba
+
 OUI:887398*
  ID_OUI_FROM_DATABASE=K2E Tekpoint
 
@@ -64039,6 +64171,9 @@ OUI:888B5D*
 OUI:888C19*
  ID_OUI_FROM_DATABASE=Brady Corp Asia Pacific Ltd
 
+OUI:88908D*
+ ID_OUI_FROM_DATABASE=Cisco
+
 OUI:889166*
  ID_OUI_FROM_DATABASE=Viewcooper Corp.
 
@@ -64075,6 +64210,9 @@ OUI:889FFA*
 OUI:88A25E*
  ID_OUI_FROM_DATABASE=juniper networks
 
+OUI:88A2D7*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
 OUI:88A3CC*
  ID_OUI_FROM_DATABASE=Amatis Controls
 
@@ -64591,6 +64729,9 @@ OUI:90203A*
 OUI:902083*
  ID_OUI_FROM_DATABASE=General Engine Management Systems Ltd.
 
+OUI:902106*
+ ID_OUI_FROM_DATABASE=BSkyB Ltd
+
 OUI:902155*
  ID_OUI_FROM_DATABASE=HTC Corporation
 
@@ -64711,6 +64852,9 @@ OUI:9067F3*
 OUI:9068C3*
  ID_OUI_FROM_DATABASE=Motorola Mobility LLC
 
+OUI:906CAC*
+ ID_OUI_FROM_DATABASE=Fortinet, Inc.
+
 OUI:906DC8*
  ID_OUI_FROM_DATABASE=DLG Automação Industrial Ltda
 
@@ -65254,6 +65398,9 @@ OUI:94E711*
 OUI:94E848*
  ID_OUI_FROM_DATABASE=FYLDE MICRO LTD
 
+OUI:94E96A*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:94E98C*
  ID_OUI_FROM_DATABASE=Alcatel-Lucent
 
@@ -65935,6 +66082,9 @@ OUI:9CF938*
 OUI:9CFBF1*
  ID_OUI_FROM_DATABASE=MESOMATIC GmbH & Co.KG
 
+OUI:9CFC01*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:9CFFBE*
  ID_OUI_FROM_DATABASE=OTSL Inc.
 
@@ -65977,6 +66127,9 @@ OUI:A0143D*
 OUI:A0165C*
  ID_OUI_FROM_DATABASE=Triteka LTD
 
+OUI:A01828*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:A01859*
  ID_OUI_FROM_DATABASE=Shenzhen Yidashi Electronics Co Ltd
 
@@ -66178,6 +66331,9 @@ OUI:A0A23C*
 OUI:A0A3E2*
  ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc
 
+OUI:A0A65C*
+ ID_OUI_FROM_DATABASE=Supercomputing Systems AG
+
 OUI:A0A763*
  ID_OUI_FROM_DATABASE=Polytron Vertrieb GmbH
 
@@ -66382,6 +66538,9 @@ OUI:A42305*
 OUI:A424B3*
  ID_OUI_FROM_DATABASE=FlatFrog Laboratories AB
 
+OUI:A424DD*
+ ID_OUI_FROM_DATABASE=Cambrionix Ltd
+
 OUI:A4251B*
  ID_OUI_FROM_DATABASE=Avaya, Inc
 
@@ -66397,6 +66556,9 @@ OUI:A42B8C*
 OUI:A42C08*
  ID_OUI_FROM_DATABASE=Masterwork Automodules
 
+OUI:A43135*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:A433D1*
  ID_OUI_FROM_DATABASE=Fibrlink Communications Co.,Ltd.
 
@@ -66475,6 +66637,9 @@ OUI:A46032*
 OUI:A46706*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:A46C2A*
+ ID_OUI_FROM_DATABASE=Cisco
+
 OUI:A46CC1*
  ID_OUI_FROM_DATABASE=LTi REEnergy GmbH
 
@@ -67066,6 +67231,9 @@ OUI:AC20AA*
 OUI:AC220B*
  ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
 
+OUI:AC293A*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:AC2DA3*
  ID_OUI_FROM_DATABASE=TXTR GmbH
 
@@ -67144,6 +67312,9 @@ OUI:AC562C*
 OUI:AC583B*
  ID_OUI_FROM_DATABASE=Human Assembler, Inc.
 
+OUI:AC5A14*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:AC5D10*
  ID_OUI_FROM_DATABASE=Pace Americas
 
@@ -67153,6 +67324,9 @@ OUI:AC5E8C*
 OUI:AC6123*
  ID_OUI_FROM_DATABASE=Drivven, Inc.
 
+OUI:AC620D*
+ ID_OUI_FROM_DATABASE=Jabil Circuit (Wuxi) Co. LTD
+
 OUI:AC6706*
  ID_OUI_FROM_DATABASE=Ruckus Wireless
 
@@ -67180,6 +67354,9 @@ OUI:AC7289*
 OUI:AC7A42*
  ID_OUI_FROM_DATABASE=iConnectivity
 
+OUI:AC7A4D*
+ ID_OUI_FROM_DATABASE=ALPS ELECTRIC CO.,LTD.
+
 OUI:AC7BA1*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
@@ -67402,6 +67579,9 @@ OUI:ACF7F3*
 OUI:ACF97E*
  ID_OUI_FROM_DATABASE=ELESYS INC.
 
+OUI:ACFD93*
+ ID_OUI_FROM_DATABASE=Weifang GoerTek Electronics Co., Ltd.
+
 OUI:ACFDCE*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
@@ -67688,7 +67868,7 @@ OUI:B0D59D*
  ID_OUI_FROM_DATABASE=Shenzhen Zowee Technology Co., Ltd
 
 OUI:B0D7C5*
- ID_OUI_FROM_DATABASE=STP KFT
+ ID_OUI_FROM_DATABASE=Logipix Ltd
 
 OUI:B0DA00*
  ID_OUI_FROM_DATABASE=CERA ELECTRONIQUE
@@ -67891,6 +68071,9 @@ OUI:B467E9*
 OUI:B46D35*
  ID_OUI_FROM_DATABASE=Dalian Seasky Automation Co;Ltd
 
+OUI:B46D83*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
 OUI:B47356*
  ID_OUI_FROM_DATABASE=Hangzhou Treebear Networking Co., Ltd.
 
@@ -68569,6 +68752,9 @@ OUI:BC38D2*
 OUI:BC39A6*
  ID_OUI_FROM_DATABASE=CSUN System Technology Co.,LTD
 
+OUI:BC3AEA*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD.
+
 OUI:BC3BAF*
  ID_OUI_FROM_DATABASE=Apple
 
@@ -69211,6 +69397,9 @@ OUI:C40F09*
 OUI:C4108A*
  ID_OUI_FROM_DATABASE=Ruckus Wireless
 
+OUI:C412F5*
+ ID_OUI_FROM_DATABASE=D-Link International
+
 OUI:C413E2*
  ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
 
@@ -69520,6 +69709,9 @@ OUI:C4E92F*
 OUI:C4E984*
  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
+OUI:C4EA1D*
+ ID_OUI_FROM_DATABASE=Technicolor
+
 OUI:C4EBE3*
  ID_OUI_FROM_DATABASE=RRCN SAS
 
@@ -69586,6 +69778,9 @@ OUI:C81B6B*
 OUI:C81E8E*
  ID_OUI_FROM_DATABASE=ADV Security (S) Pte Ltd
 
+OUI:C81EE7*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:C81F66*
  ID_OUI_FROM_DATABASE=Dell Inc
 
@@ -69610,6 +69805,9 @@ OUI:C83232*
 OUI:C8334B*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:C8348E*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
 OUI:C835B8*
  ID_OUI_FROM_DATABASE=Ericsson, EAB/RWI/K
 
@@ -70018,6 +70216,9 @@ OUI:CC4BFB*
 OUI:CC4E24*
  ID_OUI_FROM_DATABASE=Brocade Communications Systems, Inc.
 
+OUI:CC4EEC*
+ ID_OUI_FROM_DATABASE=HUMAX Co., Ltd.
+
 OUI:CC501C*
  ID_OUI_FROM_DATABASE=KVH Industries, Inc.
 
@@ -70279,6 +70480,9 @@ OUI:CCFCB1*
 OUI:CCFE3C*
  ID_OUI_FROM_DATABASE=Samsung Electronics
 
+OUI:D0034B*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:D00790*
  ID_OUI_FROM_DATABASE=Texas Instruments
 
@@ -70321,6 +70525,9 @@ OUI:D023DB*
 OUI:D02516*
  ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.
 
+OUI:D02598*
+ ID_OUI_FROM_DATABASE=Apple Inc
+
 OUI:D02788*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd
 
@@ -70342,6 +70549,9 @@ OUI:D03972*
 OUI:D039B3*
  ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
+OUI:D0431E*
+ ID_OUI_FROM_DATABASE=Dell Inc.
+
 OUI:D046DC*
  ID_OUI_FROM_DATABASE=Southwest Research Institute
 
@@ -70501,6 +70711,9 @@ OUI:D09C30*
 OUI:D09D0A*
  ID_OUI_FROM_DATABASE=LINKCOM
 
+OUI:D09DAB*
+ ID_OUI_FROM_DATABASE=TCT mobile ltd
+
 OUI:D0A0D6*
  ID_OUI_FROM_DATABASE=Chengdu TD Tech Ltd.
 
@@ -71266,6 +71479,9 @@ OUI:D8977C*
 OUI:D897BA*
  ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
 
+OUI:D89A34*
+ ID_OUI_FROM_DATABASE=Beijing SHENQI Technology Co., Ltd.
+
 OUI:D89D67*
  ID_OUI_FROM_DATABASE=Hewlett Packard
 
@@ -72028,6 +72244,9 @@ OUI:E0D9A2*
 OUI:E0DADC*
  ID_OUI_FROM_DATABASE=JVC KENWOOD Corporation
 
+OUI:E0DB10*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:E0DB55*
  ID_OUI_FROM_DATABASE=Dell Inc
 
@@ -72367,6 +72586,9 @@ OUI:E4F4C6*
 OUI:E4F7A1*
  ID_OUI_FROM_DATABASE=Datafox GmbH
 
+OUI:E4F89C*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
 OUI:E4F8EF*
  ID_OUI_FROM_DATABASE=Samsung Elec Co.,Ltd
 
@@ -72376,6 +72598,9 @@ OUI:E4F939*
 OUI:E4FA1D*
  ID_OUI_FROM_DATABASE=PAD Peripheral Advanced Design Inc.
 
+OUI:E4FAFD*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
 OUI:E4FED9*
  ID_OUI_FROM_DATABASE=EDMI Europe Ltd
 
@@ -72739,6 +72964,9 @@ OUI:E8F1B0*
 OUI:E8F226*
  ID_OUI_FROM_DATABASE=MILLSON CUSTOM SOLUTIONS INC.
 
+OUI:E8F2E3*
+ ID_OUI_FROM_DATABASE=Starcor Beijing Co.,Limited
+
 OUI:E8F928*
  ID_OUI_FROM_DATABASE=RFTECH SRL
 
@@ -72874,6 +73102,9 @@ OUI:EC5A86*
 OUI:EC5C69*
  ID_OUI_FROM_DATABASE=MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD.
 
+OUI:EC60E0*
+ ID_OUI_FROM_DATABASE=AVI-ON LABS
+
 OUI:EC6264*
  ID_OUI_FROM_DATABASE=Global411 Internet Services, LLC
 
@@ -73213,6 +73444,9 @@ OUI:F07765*
 OUI:F077D0*
  ID_OUI_FROM_DATABASE=Xcellen
 
+OUI:F07816*
+ ID_OUI_FROM_DATABASE=Cisco
+
 OUI:F07959*
  ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
 
@@ -73279,6 +73513,9 @@ OUI:F09FC2*
 OUI:F0A764*
  ID_OUI_FROM_DATABASE=GST Co., Ltd.
 
+OUI:F0AB54*
+ ID_OUI_FROM_DATABASE=MITSUMI ELECTRIC CO.,LTD.
+
 OUI:F0ACA4*
  ID_OUI_FROM_DATABASE=HBC-radiomatic
 
diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
index 6c22088..3b35b26 100644
--- a/hwdb/20-pci-vendor-model.hwdb
+++ b/hwdb/20-pci-vendor-model.hwdb
@@ -4361,6 +4361,9 @@ pci:v00001002d0000665Csv00001787sd00002329*
 pci:v00001002d0000665D*
  ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series]
 
+pci:v00001002d0000665F*
+ ID_MODEL_FROM_DATABASE=Tobago [Radeon R7 300 Series]
+
 pci:v00001002d00006660*
  ID_MODEL_FROM_DATABASE=Sun XT [Radeon HD 8670A/8670M/8690M]
 
@@ -5984,6 +5987,63 @@ pci:v00001002d000067AA*
 pci:v00001002d000067B0*
  ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X]
 
+pci:v00001002d000067B0sv00001043sd0000046A*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X DirectCU II)
+
+pci:v00001002d000067B0sv00001043sd0000046C*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X DirectCU II OC)
+
+pci:v00001002d000067B0sv00001043sd00000474*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Matrix R9 290X Platinum)
+
+pci:v00001002d000067B0sv00001043sd00000476*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (ARES III)
+
+pci:v00001002d000067B0sv00001458sd0000227C*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X OC)
+
+pci:v00001002d000067B0sv00001458sd00002281*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X OC)
+
+pci:v00001002d000067B0sv00001458sd0000228C*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X)
+
+pci:v00001002d000067B0sv00001458sd0000228D*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X OC)
+
+pci:v00001002d000067B0sv00001458sd00002290*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X WindForce 3X)
+
+pci:v00001002d000067B0sv00001462sd00003070*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Lightning)
+
+pci:v00001002d000067B0sv00001462sd00003071*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Lightning)
+
+pci:v00001002d000067B0sv00001462sd00003072*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Lightning LE)
+
+pci:v00001002d000067B0sv00001462sd00003080*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Gaming)
+
+pci:v00001002d000067B0sv00001462sd00003082*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Gaming OC)
+
+pci:v00001002d000067B0sv0000148Csd00002347*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Devil 13 Dual Core R9 290X)
+
+pci:v00001002d000067B0sv00001682sd00009290*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Double Dissipation R9 290X)
+
+pci:v00001002d000067B0sv0000174Bsd0000E282*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (Vapor-X R9 290X Tri-X OC)
+
+pci:v00001002d000067B0sv0000174Bsd0000E285*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X Tri-X OC)
+
+pci:v00001002d000067B0sv00001787sd00002020*
+ ID_MODEL_FROM_DATABASE=Hawaii XT [Radeon R9 290X] (R9 290X IceQ X² Turbo)
+
 pci:v00001002d000067B1*
  ID_MODEL_FROM_DATABASE=Hawaii PRO [Radeon R9 290]
 
@@ -9092,6 +9152,9 @@ pci:v00001002d0000985E*
 pci:v00001002d0000985F*
  ID_MODEL_FROM_DATABASE=Mullins
 
+pci:v00001002d00009874*
+ ID_MODEL_FROM_DATABASE=Carrizo
+
 pci:v00001002d00009900*
  ID_MODEL_FROM_DATABASE=Trinity [Radeon HD 7660G]
 
@@ -10272,10 +10335,10 @@ pci:v00001014d000000A6*
  ID_MODEL_FROM_DATABASE=ATM 155MBPS MM Controller (1410a600)
 
 pci:v00001014d000000B7*
- ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1]
+ ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter
 
 pci:v00001014d000000B7sv00001092sd000000B8*
- ID_MODEL_FROM_DATABASE=256-bit Graphics Rasterizer [FireGL1] (FireGL1 AGP 32Mb)
+ ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter (FireGL1 AGP 32Mb)
 
 pci:v00001014d000000B8*
  ID_MODEL_FROM_DATABASE=GXT2000P Graphics Adapter
@@ -10325,6 +10388,15 @@ pci:v00001014d00000170*
 pci:v00001014d00000170sv00001092sd00000172*
  ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL2)
 
+pci:v00001014d00000170sv00001092sd00000173*
+ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL3)
+
+pci:v00001014d00000170sv00001092sd00000174*
+ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL4)
+
+pci:v00001014d00000170sv00001092sd00000184*
+ ID_MODEL_FROM_DATABASE=GXT6000P Graphics Adapter (Fire GL4s)
+
 pci:v00001014d0000017D*
  ID_MODEL_FROM_DATABASE=GXT300P Graphics Adapter
 
@@ -28542,913 +28614,934 @@ pci:v000010DEd000010D8*
  ID_MODEL_FROM_DATABASE=GT218 [NVS 300]
 
 pci:v000010DEd00001140*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M]
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]
 
 pci:v000010DEd00001140sv00001019sd0000999F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000600*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000606*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd0000064A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd0000064C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd0000067A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000680*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000686*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000689*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000068B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000068D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000068E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000691*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000692*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000694*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000702*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000719*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000725*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000728*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd0000072B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd0000072E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000732*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001025sd00000763*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000773*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000774*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000776*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd0000077A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000077B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000077C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000077D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000077E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd0000077F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000781*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000798*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000799*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd0000079B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd0000079C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000807*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000821*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000823*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000830*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000833*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd00000837*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001025sd0000083E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000841*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001025sd00000854*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000855*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000856*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000857*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000858*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000868*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000869*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
 
 pci:v000010DEd00001140sv00001025sd00000873*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000878*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000087B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000087C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
 
 pci:v000010DEd00001140sv00001025sd00000881*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000088A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000089B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000090F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000921*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000092E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 810M)
 
 pci:v000010DEd00001140sv00001025sd0000092F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000093A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000093C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd0000093F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000941*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000945*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000954*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001025sd00000965*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd0000054D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd0000054E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd00000554*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001028sd00000557*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001028sd00000562*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd00000565*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd00000568*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd00000590*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd00000592*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd00000594*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd00000595*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd000005A2*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd000005B1*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd000005B3*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 625M)
 
 pci:v000010DEd00001140sv00001028sd000005DA*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd000005DE*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001028sd000005E0*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001028sd000005E8*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv00001028sd000005F4*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001028sd0000060F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001028sd0000064E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd00000652*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd00000653*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd00000655*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd0000065E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd00000662*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001028sd0000068D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000103Csd000018EF*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000103Csd000018F9*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000103Csd000018FB*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000103Csd000018FD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000103Csd000018FF*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000103Csd00002335*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000103Csd00002337*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000103Csd00002AEF*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
 
 pci:v000010DEd00001140sv0000103Csd00002AF9*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710A)
 
 pci:v000010DEd00001140sv00001043sd000010DD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv00001043sd000010ED*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv00001043sd000011FD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd0000124D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd0000126D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd0000131D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd000013FD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd000014C7*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd00001507*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001043sd000015AD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd000015ED*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000160D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000163D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000166D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd000016CD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd000016DD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000170D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000176D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000178D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000179D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd000017DD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd00002132*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001043sd00002136*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv00001043sd000021BA*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd000021FA*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd0000220A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd0000221A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd0000223A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
 
 pci:v000010DEd00001140sv00001043sd0000224A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
 
 pci:v000010DEd00001140sv00001043sd0000227A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000228A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000232A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000233A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000236A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000238A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd00008595*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd000085EA*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd000085EB*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd000085EC*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd000085EE*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001043sd000085F3*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000860E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000861A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000861B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd00008628*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd00008643*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd0000864C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001043sd00008652*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000105Bsd00000DAC*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv0000105Bsd00000DAD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv0000105Bsd00000EF3*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001072sd0000152D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000010CFsd000017F5*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001179sd0000FA01*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA02*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA03*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA05*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA11*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA13*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA18*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA19*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA21*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA23*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA2A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA32*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA33*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA36*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA38*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA42*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA43*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA45*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA47*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA49*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA58*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA59*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA88*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001179sd0000FA89*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000144Dsd0000B092*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C0D5*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C0D7*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C0E2*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C0E3*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C0E4*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C10D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C652*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C709*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C711*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C736*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C737*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C745*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000144Dsd0000C750*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001462sd000010B8*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 710M)
 
 pci:v000010DEd00001140sv00001462sd000010E9*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001462sd00001116*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001462sd0000AA33*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
 
 pci:v000010DEd00001140sv00001462sd0000AAA2*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001462sd0000AAA3*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001462sd0000ACB2*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001462sd0000ACC1*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001462sd0000AE61*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
 
 pci:v000010DEd00001140sv00001462sd0000AE65*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001462sd0000AE6A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001462sd0000AE71*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000014C0sd00000083*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000152Dsd00000926*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 620M)
 
 pci:v000010DEd00001140sv0000152Dsd00000982*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000152Dsd00000983*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000152Dsd00001005*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 820M)
 
 pci:v000010DEd00001140sv0000152Dsd00001012*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000152Dsd00001019*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000152Dsd00001030*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 630M)
 
 pci:v000010DEd00001140sv0000152Dsd00001055*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv0000152Dsd00001067*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv0000152Dsd00001072*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv0000152Dsd00001086*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv0000152Dsd00001092*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00002200*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (NVS 5200M)
 
 pci:v000010DEd00001140sv000017AAsd00002213*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00002220*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd0000309C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720A)
 
 pci:v000010DEd00001140sv000017AAsd000030B4*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+pci:v000010DEd00001140sv000017AAsd000030B7*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720A)
+
+pci:v000010DEd00001140sv000017AAsd0000361B*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+pci:v000010DEd00001140sv000017AAsd0000361C*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd00003656*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv000017AAsd0000365A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
 
 pci:v000010DEd00001140sv000017AAsd0000365E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+
+pci:v000010DEd00001140sv000017AAsd00003661*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd0000366C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
 
 pci:v000010DEd00001140sv000017AAsd00003685*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
 
 pci:v000010DEd00001140sv000017AAsd00003686*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 800M)
 
 pci:v000010DEd00001140sv000017AAsd00003687*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705A)
 
 pci:v000010DEd00001140sv000017AAsd00003696*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd0000369B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd0000369C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd0000369D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd0000369E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd000036A9*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+pci:v000010DEd00001140sv000017AAsd000036AF*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+pci:v000010DEd00001140sv000017AAsd000036B0*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
+
+pci:v000010DEd00001140sv000017AAsd000036B6*
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820A)
 
 pci:v000010DEd00001140sv000017AAsd00003800*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003801*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003802*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003803*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003804*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003806*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003808*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd0000380D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd0000380E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd0000380F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003811*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003812*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003813*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003816*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003818*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd0000381A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd0000381C*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003901*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M / GT 620M)
 
 pci:v000010DEd00001140sv000017AAsd00003902*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd00003903*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M/710M)
 
 pci:v000010DEd00001140sv000017AAsd00003904*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M/625M)
 
 pci:v000010DEd00001140sv000017AAsd00003905*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003907*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003910*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003912*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003913*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003915*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00003977*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00003983*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
 
 pci:v000010DEd00001140sv000017AAsd00005001*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 610M)
 
 pci:v000010DEd00001140sv000017AAsd00005003*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00005005*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
 
 pci:v000010DEd00001140sv000017AAsd0000500D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv000017AAsd00005014*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd00005017*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd00005019*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd0000501A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd0000501F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00005025*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd00005027*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd0000502A*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd0000502B*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd0000502D*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd0000502E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd0000502F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv000017AAsd00005030*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
 
 pci:v000010DEd00001140sv000017AAsd00005031*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 705M)
 
 pci:v000010DEd00001140sv000017AAsd00005032*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00005033*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd0000503E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv000017AAsd0000503F*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv000017AAsd00005040*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001854sd00000177*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001854sd00000180*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 710M)
 
 pci:v000010DEd00001140sv00001854sd00000190*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001854sd00000192*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001B0Asd000020DD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001B0Asd000020DF*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 620M)
 
 pci:v000010DEd00001140sv00001B0Asd0000210E*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001B0Asd00002202*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce GT 720M)
 
 pci:v000010DEd00001140sv00001B0Asd000090D7*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001140sv00001B0Asd000090DD*
- ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
+ ID_MODEL_FROM_DATABASE=GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (GeForce 820M)
 
 pci:v000010DEd00001180*
  ID_MODEL_FROM_DATABASE=GK104 [GeForce GTX 680]
@@ -29654,6 +29747,9 @@ pci:v000010DEd000011E3*
 pci:v000010DEd000011E3sv000017AAsd00003683*
  ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 760M] (GeForce GTX 760A)
 
+pci:v000010DEd000011E7*
+ ID_MODEL_FROM_DATABASE=GK106M
+
 pci:v000010DEd000011FA*
  ID_MODEL_FROM_DATABASE=GK106GL [Quadro K4000]
 
@@ -30014,6 +30110,9 @@ pci:v000010DFd00000720sv000017AAsd00001057*
 pci:v000010DFd00000720sv000017AAsd00001059*
  ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14104-UT-L AnyFabric)
 
+pci:v000010DFd00000720sv000017AAsd00004014*
+ ID_MODEL_FROM_DATABASE=OneConnect NIC (Skyhawk) (ThinkServer OCm14102-NX-L AnyFabric)
+
 pci:v000010DFd00000722*
  ID_MODEL_FROM_DATABASE=OneConnect iSCSI Initiator (Skyhawk)
 
@@ -30755,6 +30854,9 @@ pci:v000010ECd00008168sv00001775sd000011CC*
 pci:v000010ECd00008168sv00001849sd00008168*
  ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many))
 
+pci:v000010ECd00008168sv00007470sd00003468*
+ ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (TG-3468 Gigabit PCI Express Network Adapter)
+
 pci:v000010ECd00008168sv00008086sd0000D615*
  ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Desktop Board D510MO/D525MW)
 
@@ -31278,7 +31380,7 @@ pci:v00001102d00007005sv00001102sd00001002*
  ID_MODEL_FROM_DATABASE=SB Audigy LS Game Port (SB0312 Audigy LS MIDI/Game port)
 
 pci:v00001102d00007006*
- ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge
+ ID_MODEL_FROM_DATABASE=[SB X-Fi Xtreme Audio] CA0110-IBG PCIe to PCI Bridge
 
 pci:v00001102d00008938*
  ID_MODEL_FROM_DATABASE=Ectiva EV1938
@@ -33896,6 +33998,9 @@ pci:v0000111Dd00008088sv00001093sd00007600*
 pci:v0000111Dd00008088sv00001093sd00007602*
  ID_MODEL_FROM_DATABASE=PES32NT8BG2 PCI Express Switch (PXIe-8384)
 
+pci:v0000111Dd0000808F*
+ ID_MODEL_FROM_DATABASE=PES32NT8AG2
+
 pci:v0000111E*
  ID_VENDOR_FROM_DATABASE=Eldec
 
@@ -34664,9 +34769,12 @@ pci:v00001131d00007164sv00000070sd000089A0*
 pci:v00001131d00007164sv00000070sd000089A1*
  ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2200)
 
-pci:v00001131d00007164sv00000070sd0000F123*
+pci:v00001131d00007164sv00000070sd0000F120*
  ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2205)
 
+pci:v00001131d00007164sv00000070sd0000F123*
+ ID_MODEL_FROM_DATABASE=SAA7164 (WinTV HVR-2215)
+
 pci:v00001131d00007231*
  ID_MODEL_FROM_DATABASE=SAA7231
 
@@ -39923,6 +40031,15 @@ pci:v0000125E*
 pci:v0000125F*
  ID_VENDOR_FROM_DATABASE=Concurrent Technologies, Inc.
 
+pci:v0000125Fd00002071*
+ ID_MODEL_FROM_DATABASE=CC PMC/232
+
+pci:v0000125Fd00002084*
+ ID_MODEL_FROM_DATABASE=CC PMC/23P
+
+pci:v0000125Fd00002091*
+ ID_MODEL_FROM_DATABASE=CC PMC/422
+
 pci:v00001260*
  ID_VENDOR_FROM_DATABASE=Intersil Corporation
 
@@ -43145,17 +43262,56 @@ pci:v00001397*
 pci:v00001397d000008B4*
  ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S]
 
+pci:v00001397d000008B4sv00001397sd000008B4*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Cologne Chip HFC-4S Eval. Board])
+
+pci:v00001397d000008B4sv00001397sd0000B51A*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Allo.com BRI card])
+
 pci:v00001397d000008B4sv00001397sd0000B520*
  ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [IOB4ST])
 
 pci:v00001397d000008B4sv00001397sd0000B540*
- ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx 4xS0 SX2 QuadBri])
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Swyx SX2 QuadBri])
 
 pci:v00001397d000008B4sv00001397sd0000B550*
- ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns quadBRI])
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET quadBRI])
 
 pci:v00001397d000008B4sv00001397sd0000B556*
- ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns DuoDBRI])
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET duoBRI])
+
+pci:v00001397d000008B4sv00001397sd0000B559*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET duoBRI miniPCI])
+
+pci:v00001397d000008B4sv00001397sd0000B560*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN4S0])
+
+pci:v00001397d000008B4sv00001397sd0000B566*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN2S0])
+
+pci:v00001397d000008B4sv00001397sd0000B567*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN1S0 miniPCI])
+
+pci:v00001397d000008B4sv00001397sd0000B568*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN4S0 miniPCI])
+
+pci:v00001397d000008B4sv00001397sd0000B569*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN2S0 miniPCI])
+
+pci:v00001397d000008B4sv00001397sd0000B620*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S)
+
+pci:v00001397d000008B4sv00001397sd0000B752*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [Junghanns.NET quadBRI PCIe])
+
+pci:v00001397d000008B4sv00001397sd0000B761*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN2S0 PCIe])
+
+pci:v00001397d000008B4sv00001397sd0000B762*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [BeroNet BN4S0 PCIe])
+
+pci:v00001397d000008B4sv00001397sd0000E884*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P])
 
 pci:v00001397d000008B4sv00001397sd0000E888*
  ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-4S] (HFC-4S [OpenVox B200P / B400P])
@@ -43163,9 +43319,33 @@ pci:v00001397d000008B4sv00001397sd0000E888*
 pci:v00001397d000016B8*
  ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S]
 
-pci:v00001397d000016B8sv00001397sd0000B562*
+pci:v00001397d000016B8sv00001397sd000016B8*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [Cologne Chip HFC-8S Eval. Board])
+
+pci:v00001397d000016B8sv00001397sd0000B521*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB4ST Recording])
+
+pci:v00001397d000016B8sv00001397sd0000B522*
  ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [IOB8ST])
 
+pci:v00001397d000016B8sv00001397sd0000B552*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [Junghanns.NET octoBRI])
+
+pci:v00001397d000016B8sv00001397sd0000B55B*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [Junghanns.NET octoBRI])
+
+pci:v00001397d000016B8sv00001397sd0000B562*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [BeroNet BN8S0])
+
+pci:v00001397d000016B8sv00001397sd0000B56B*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [BeroNet BN8S0+])
+
+pci:v00001397d000016B8sv00001397sd0000B622*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S)
+
+pci:v00001397d000016B8sv00001397sd0000E998*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-8S] (HFC-8S [OpenVox B800P])
+
 pci:v00001397d00002BD0*
  ID_MODEL_FROM_DATABASE=ISDN network controller [HFC-PCI]
 
@@ -43184,6 +43364,42 @@ pci:v00001397d00002BD0sv0000E4BFsd00001000*
 pci:v00001397d000030B1*
  ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1]
 
+pci:v00001397d000030B1sv00001397sd000030B1*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Cologne Chip HFC-E1 Eval. Board])
+
+pci:v00001397d000030B1sv00001397sd0000B523*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [IOB1E1])
+
+pci:v00001397d000030B1sv00001397sd0000B543*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Swyx SX2 SinglePRI V2])
+
+pci:v00001397d000030B1sv00001397sd0000B544*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Swyx SX2 DualPRI V2])
+
+pci:v00001397d000030B1sv00001397sd0000B553*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET singleE1])
+
+pci:v00001397d000030B1sv00001397sd0000B554*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET doubleE1])
+
+pci:v00001397d000030B1sv00001397sd0000B555*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET doubleE1 2.0])
+
+pci:v00001397d000030B1sv00001397sd0000B55A*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [Junghanns.NET singleE1 miniPCI])
+
+pci:v00001397d000030B1sv00001397sd0000B563*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN1E1])
+
+pci:v00001397d000030B1sv00001397sd0000B564*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN2E1])
+
+pci:v00001397d000030B1sv00001397sd0000B565*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN2E1+])
+
+pci:v00001397d000030B1sv00001397sd0000B56A*
+ ID_MODEL_FROM_DATABASE=ISDN network Controller [HFC-E1] (HFC-E1 [beroNet BN1E1 miniPCI])
+
 pci:v00001397d0000B700*
  ID_MODEL_FROM_DATABASE=ISDN network controller PrimuX S0 [HFC-PCI]
 
@@ -45206,6 +45422,9 @@ pci:v00001425d00005088*
 pci:v00001425d00005089*
  ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller
 
+pci:v00001425d00005090*
+ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
+
 pci:v00001425d00005401*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
 
@@ -45299,6 +45518,9 @@ pci:v00001425d00005488*
 pci:v00001425d00005489*
  ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller
 
+pci:v00001425d00005490*
+ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
+
 pci:v00001425d00005501*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
 
@@ -45392,6 +45614,9 @@ pci:v00001425d00005588*
 pci:v00001425d00005589*
  ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Storage Controller
 
+pci:v00001425d00005590*
+ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Storage Controller
+
 pci:v00001425d00005601*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
 
@@ -45485,6 +45710,9 @@ pci:v00001425d00005688*
 pci:v00001425d00005689*
  ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Storage Controller
 
+pci:v00001425d00005690*
+ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Storage Controller
+
 pci:v00001425d00005701*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
 
@@ -45578,6 +45806,9 @@ pci:v00001425d00005788*
 pci:v00001425d00005789*
  ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller
 
+pci:v00001425d00005790*
+ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
+
 pci:v00001425d00005801*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF]
 
@@ -45671,6 +45902,9 @@ pci:v00001425d00005888*
 pci:v00001425d00005889*
  ID_MODEL_FROM_DATABASE=T520-5089 Unified Wire Ethernet Controller [VF]
 
+pci:v00001425d00005890*
+ ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller [VF]
+
 pci:v00001425d0000A000*
  ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller
 
@@ -51930,7 +52164,10 @@ pci:v0000168Cd0000003C*
  ID_MODEL_FROM_DATABASE=QCA988x 802.11ac Wireless Network Adapter
 
 pci:v0000168Cd0000003E*
- ID_MODEL_FROM_DATABASE=Killer N1525 Wireless-AC
+ ID_MODEL_FROM_DATABASE=QCA6174 802.11ac Wireless Network Adapter
+
+pci:v0000168Cd0000003Esv00001A56sd00001525*
+ ID_MODEL_FROM_DATABASE=QCA6174 802.11ac Wireless Network Adapter (Killer N1525 Wireless-AC)
 
 pci:v0000168Cd00000207*
  ID_MODEL_FROM_DATABASE=AR5210 Wireless Network Adapter [AR5000 802.11a]
@@ -54326,6 +54563,12 @@ pci:v00001924d00000903sv00001924sd00008009*
 pci:v00001924d00000903sv00001924sd0000800A*
  ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter)
 
+pci:v00001924d00000903sv00001924sd0000800B*
+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter)
+
+pci:v00001924d00000903sv00001924sd0000800C*
+ ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R3 Flareon 7000 Series 10G Adapter)
+
 pci:v00001924d00000923*
  ID_MODEL_FROM_DATABASE=SFC9140
 
@@ -55940,6 +56183,27 @@ pci:v00001BB0d00000002*
 pci:v00001BB0d00000010*
  ID_MODEL_FROM_DATABASE=OmniCube Accelerator OA-3000-2
 
+pci:v00001BB1*
+ ID_VENDOR_FROM_DATABASE=Seagate Technology PLC
+
+pci:v00001BB1d0000005D*
+ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage
+
+pci:v00001BB1d0000005Dsv00001BB1sd00006501*
+ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XP6500-8A1536 1.5TB)
+
+pci:v00001BB1d0000005Dsv00001BB1sd00006502*
+ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XP6500-8A2048)
+
+pci:v00001BB1d0000005Dsv00001BB1sd00006503*
+ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XP6500-8A4096)
+
+pci:v00001BB1d0000005Dsv00001BB1sd00006511*
+ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XH6550-2GB DRAM)
+
+pci:v00001BB1d0000005Dsv00001BB1sd00006512*
+ ID_MODEL_FROM_DATABASE=Nytro PCIe Flash Storage (Nytro XH6550-8GB DRAM)
+
 pci:v00001BB3*
  ID_VENDOR_FROM_DATABASE=Bluecherry
 
@@ -57905,6 +58169,9 @@ pci:v00007401*
 pci:v00007401d0000E100*
  ID_MODEL_FROM_DATABASE=PTP3100 PCIe PTP Slave Clock
 
+pci:v00007470*
+ ID_VENDOR_FROM_DATABASE=TP-LINK Technologies Co., Ltd.
+
 pci:v00007604*
  ID_VENDOR_FROM_DATABASE=O.N. Electronic Co Ltd.
 
@@ -58434,13 +58701,13 @@ pci:v00008086d00000341*
  ID_MODEL_FROM_DATABASE=41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge)
 
 pci:v00008086d00000370*
- ID_MODEL_FROM_DATABASE=80333 Segment-A PCI Express-to-PCI Express Bridge
+ ID_MODEL_FROM_DATABASE=80333 Segment-A PCIe Express to PCI-X bridge
 
 pci:v00008086d00000371*
  ID_MODEL_FROM_DATABASE=80333 A-Bus IOAPIC
 
 pci:v00008086d00000372*
- ID_MODEL_FROM_DATABASE=80333 Segment-B PCI Express-to-PCI Express Bridge
+ ID_MODEL_FROM_DATABASE=80333 Segment-B PCIe Express to PCI-X bridge
 
 pci:v00008086d00000373*
  ID_MODEL_FROM_DATABASE=80333 B-Bus IOAPIC
@@ -62285,6 +62552,9 @@ pci:v00008086d00001521sv0000103Csd00003380*
 pci:v00008086d00001521sv0000103Csd0000339E*
  ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 2-port 361T Adapter)
 
+pci:v00008086d00001521sv0000103Csd00008157*
+ ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet 1Gb 4-port 366T Adapter)
+
 pci:v00008086d00001521sv0000108Esd00007B16*
  ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Quad Port GbE PCIe 2.0 ExpressModule, UTP)
 
@@ -62588,6 +62858,12 @@ pci:v00008086d00001572*
 pci:v00008086d00001572sv00001028sd00001F99*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC)
 
+pci:v00008086d00001572sv00001137sd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-4)
+
+pci:v00008086d00001572sv00001137sd0000013B*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-4)
+
 pci:v00008086d00001572sv000017AAsd00000000*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (ThinkServer XL710 AnyFabric)
 
@@ -62636,6 +62912,18 @@ pci:v00008086d00001581sv00001028sd00001F98*
 pci:v00008086d00001583*
  ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+
 
+pci:v00008086d00001583sv0000108Esd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Oracle 10 Gb and 40 Gb Ethernet Adapter)
+
+pci:v00008086d00001583sv0000108Esd00007B1B*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Oracle 10 Gb and 40 Gb Ethernet Adapter)
+
+pci:v00008086d00001583sv00001137sd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged NIC XL710-Q2)
+
+pci:v00008086d00001583sv00001137sd0000013C*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged NIC XL710-Q2)
+
 pci:v00008086d00001583sv00008086sd00000000*
  ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet Converged Network Adapter XL710-Q2)
 
@@ -62664,7 +62952,16 @@ pci:v00008086d00001584sv00008086sd00000003*
  ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 40GbE QSFP+ (Ethernet I/O Module XL710-Q1)
 
 pci:v00008086d00001585*
- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 10GbE QSFP+
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE QSFP+
+
+pci:v00008086d00001586*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
+
+pci:v00008086d00001586sv0000108Esd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
+
+pci:v00008086d00001586sv0000108Esd00004857*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
 
 pci:v00008086d000015A0*
  ID_MODEL_FROM_DATABASE=Ethernet Connection (2) I218-LM
@@ -77396,6 +77693,15 @@ pci:v00009412*
 pci:v00009412d00006565*
  ID_MODEL_FROM_DATABASE=6565
 
+pci:v00009413*
+ ID_VENDOR_FROM_DATABASE=Softlogic Co., Ltd.
+
+pci:v00009413d00006010*
+ ID_MODEL_FROM_DATABASE=SOLO6010 MPEG-4 Video encoder/decoder
+
+pci:v00009413d00006110*
+ ID_MODEL_FROM_DATABASE=SOLO6110 H.264 Video encoder/decoder
+
 pci:v00009618*
  ID_VENDOR_FROM_DATABASE=JusonTech Corporation
 
diff --git a/hwdb/20-sdio-vendor-model.hwdb b/hwdb/20-sdio-vendor-model.hwdb
index 626d673..9cf34b2 100644
--- a/hwdb/20-sdio-vendor-model.hwdb
+++ b/hwdb/20-sdio-vendor-model.hwdb
@@ -80,6 +80,36 @@ sdio:c*v02D0*
 sdio:c*v02D0d044B*
  ID_MODEL_FROM_DATABASE=Nintendo Wii WLAN daughter card
 
+sdio:c*v02D0dA887*
+ ID_MODEL_FROM_DATABASE=BCM43143 WLAN card
+
+sdio:c*v02D0d4324*
+ ID_MODEL_FROM_DATABASE=BCM43241 WLAN card
+
+sdio:c*v02D0d4329*
+ ID_MODEL_FROM_DATABASE=BCM4329 WLAN card
+
+sdio:c*v02D0d4330*
+ ID_MODEL_FROM_DATABASE=BCM4330 WLAN card
+
+sdio:c*v02D0d4334*
+ ID_MODEL_FROM_DATABASE=BCM4334 WLAN card
+
+sdio:c*v02D0dA94C*
+ ID_MODEL_FROM_DATABASE=BCM43340 WLAN card
+
+sdio:c*v02D0dA94D*
+ ID_MODEL_FROM_DATABASE=BCM43341 WLAN card
+
+sdio:c*v02D0d4335*
+ ID_MODEL_FROM_DATABASE=BCM4335/BCM4339 WLAN card
+
+sdio:c*v02D0dA962*
+ ID_MODEL_FROM_DATABASE=BCM43362 WLAN card
+
+sdio:c*v02D0d4354*
+ ID_MODEL_FROM_DATABASE=BCM4354 WLAN card
+
 sdio:c*v02DB*
  ID_VENDOR_FROM_DATABASE=SyChip Inc.
 
diff --git a/hwdb/20-usb-vendor-model.hwdb b/hwdb/20-usb-vendor-model.hwdb
index 94e0269..8867531 100644
--- a/hwdb/20-usb-vendor-model.hwdb
+++ b/hwdb/20-usb-vendor-model.hwdb
@@ -503,6 +503,9 @@ usb:v03F0p0217*
 usb:v03F0p0218*
  ID_MODEL_FROM_DATABASE=APOLLO P2500/2600
 
+usb:v03F0p022A*
+ ID_MODEL_FROM_DATABASE=Laserjet CP1525nw
+
 usb:v03F0p0241*
  ID_MODEL_FROM_DATABASE=Link-5 micro dongle
 
@@ -1320,7 +1323,7 @@ usb:v03F0p4002*
  ID_MODEL_FROM_DATABASE=PhotoSmart 635/715/720/735/935 (storage)
 
 usb:v03F0p4004*
- ID_MODEL_FROM_DATABASE=cp1160
+ ID_MODEL_FROM_DATABASE=CP1160
 
 usb:v03F0p4102*
  ID_MODEL_FROM_DATABASE=PhotoSmart 618
@@ -2075,6 +2078,9 @@ usb:v0403p1060*
 usb:v0403p1234*
  ID_MODEL_FROM_DATABASE=IronLogic RFID Adapter [Z-2 USB]
 
+usb:v0403p1235*
+ ID_MODEL_FROM_DATABASE=Iron Logic Z-397 RS-485/422 converter
+
 usb:v0403p6001*
  ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC
 
@@ -2147,6 +2153,9 @@ usb:v0403p8B2B*
 usb:v0403p8B2C*
  ID_MODEL_FROM_DATABASE=Alpermann+Velte TCC70
 
+usb:v0403p9090*
+ ID_MODEL_FROM_DATABASE=SNAP Stick 200
+
 usb:v0403p9132*
  ID_MODEL_FROM_DATABASE=LCD and Temperature Interface
 
@@ -3311,6 +3320,9 @@ usb:v0411p00E8*
 usb:v0411p0105*
  ID_MODEL_FROM_DATABASE=External Hard Drive HD-CEU2 [Drive Station]
 
+usb:v0411p012C*
+ ID_MODEL_FROM_DATABASE=SATA Bridge
+
 usb:v0411p012E*
  ID_MODEL_FROM_DATABASE=WLI-UC-AG300N Wireless LAN Adapter
 
@@ -5378,6 +5390,12 @@ usb:v0451p625F*
 usb:v0451p8042*
  ID_MODEL_FROM_DATABASE=Hub
 
+usb:v0451p8142*
+ ID_MODEL_FROM_DATABASE=TUSB8041 4-Port Hub
+
+usb:v0451p926B*
+ ID_MODEL_FROM_DATABASE=TUSB9260 Boot Loader
+
 usb:v0451pDBC0*
  ID_MODEL_FROM_DATABASE=Device Bay Controller
 
@@ -7364,6 +7382,9 @@ usb:v046Dp0A1F*
 usb:v046Dp0A29*
  ID_MODEL_FROM_DATABASE=H600 [Wireless Headset]
 
+usb:v046Dp0A37*
+ ID_MODEL_FROM_DATABASE=USB Headset H540
+
 usb:v046Dp0A38*
  ID_MODEL_FROM_DATABASE=Headset H340
 
@@ -7608,7 +7629,7 @@ usb:v046DpC122*
  ID_MODEL_FROM_DATABASE=Harmony 650/700 Remote
 
 usb:v046DpC124*
- ID_MODEL_FROM_DATABASE=Harmony 300 Remote
+ ID_MODEL_FROM_DATABASE=Harmony 300/350 Remote
 
 usb:v046DpC125*
  ID_MODEL_FROM_DATABASE=Harmony 200 Remote
@@ -8432,6 +8453,9 @@ usb:v0471p20E3*
 usb:v0471p20E4*
  ID_MODEL_FROM_DATABASE=GoGear ViBE 8GB
 
+usb:v0471p2160*
+ ID_MODEL_FROM_DATABASE=Mio LINK Heart Rate Monitor
+
 usb:v0471p262C*
  ID_MODEL_FROM_DATABASE=SPC230NC Webcam
 
@@ -8948,6 +8972,9 @@ usb:v0483p2018*
 usb:v0483p2302*
  ID_MODEL_FROM_DATABASE=Portable Flash Device (PFD)
 
+usb:v0483p347B*
+ ID_MODEL_FROM_DATABASE=ST-LINK/V2-1
+
 usb:v0483p3744*
  ID_MODEL_FROM_DATABASE=STLINK Pseudo disk
 
@@ -9044,6 +9071,9 @@ usb:v0489pE016*
 usb:v0489pE02C*
  ID_MODEL_FROM_DATABASE=Atheros AR5BBU12 Bluetooth Device
 
+usb:v0489pE04D*
+ ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth
+
 usb:v048A*
  ID_VENDOR_FROM_DATABASE=S-MOS Systems, Inc.
 
@@ -13277,6 +13307,9 @@ usb:v04D8pF4B5*
 usb:v04D8pF8DA*
  ID_MODEL_FROM_DATABASE=Hughski Ltd. ColorHug
 
+usb:v04D8pF8E8*
+ ID_MODEL_FROM_DATABASE=Harmony 300/350 Remote
+
 usb:v04D8pF91C*
  ID_MODEL_FROM_DATABASE=SPROG IIv3
 
@@ -14376,7 +14409,7 @@ usb:v04E8p6632*
  ID_MODEL_FROM_DATABASE=MITs Sync
 
 usb:v04E8p663E*
- ID_MODEL_FROM_DATABASE=D900e Phone
+ ID_MODEL_FROM_DATABASE=D900e/B2100 Phone
 
 usb:v04E8p663F*
  ID_MODEL_FROM_DATABASE=SGH-E720/SGH-E840
@@ -14400,10 +14433,10 @@ usb:v04E8p6734*
  ID_MODEL_FROM_DATABASE=Juke
 
 usb:v04E8p6759*
- ID_MODEL_FROM_DATABASE=D900e Media Player
+ ID_MODEL_FROM_DATABASE=D900e/B2100 Media Player
 
 usb:v04E8p675A*
- ID_MODEL_FROM_DATABASE=D900e Mass Storage
+ ID_MODEL_FROM_DATABASE=D900e/B2100 Mass Storage
 
 usb:v04E8p675B*
  ID_MODEL_FROM_DATABASE=D900e Camera
@@ -17153,6 +17186,9 @@ usb:v054Cp04CB*
 usb:v054Cp0541*
  ID_MODEL_FROM_DATABASE=DSC-HX100V [Cybershot Digital Still Camera]
 
+usb:v054Cp05C4*
+ ID_MODEL_FROM_DATABASE=DualShock 4
+
 usb:v054Cp0689*
  ID_MODEL_FROM_DATABASE=Walkman NWZ-B173F
 
@@ -17870,6 +17906,9 @@ usb:v056Ap00F6*
 usb:v056Ap00F8*
  ID_MODEL_FROM_DATABASE=Cintiq 24HD touch (DTH-2400) tablet
 
+usb:v056Ap0302*
+ ID_MODEL_FROM_DATABASE=Intuos CTH480S2 [Manga]
+
 usb:v056Ap0307*
  ID_MODEL_FROM_DATABASE=Cintiq Companion Hybrid 13HD (DTH-A1300) tablet
 
@@ -20511,7 +20550,7 @@ usb:v05B4p4857*
  ID_MODEL_FROM_DATABASE=M-Any DAH-210
 
 usb:v05B4p6001*
- ID_MODEL_FROM_DATABASE=Digisette DUO-MP3 AR-100
+ ID_MODEL_FROM_DATABASE=HYUNDAI GDS30C6001 SSFDC / MMC I/F Controller
 
 usb:v05B5*
  ID_VENDOR_FROM_DATABASE=Dialogic Corp.
@@ -20618,6 +20657,9 @@ usb:v05C6p9001*
 usb:v05C6p9002*
  ID_MODEL_FROM_DATABASE=Gobi Wireless Modem
 
+usb:v05C6p9003*
+ ID_MODEL_FROM_DATABASE=Quectel UC20
+
 usb:v05C6p9008*
  ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)
 
@@ -21548,6 +21590,9 @@ usb:v05DCpA813*
 usb:v05DCpA815*
  ID_MODEL_FROM_DATABASE=JumpDrive V10
 
+usb:v05DCpA833*
+ ID_MODEL_FROM_DATABASE=JumpDrive S23 64GB
+
 usb:v05DCpB002*
  ID_MODEL_FROM_DATABASE=USB CF Reader
 
@@ -22589,6 +22634,9 @@ usb:v064EpA219*
 usb:v064EpC107*
  ID_MODEL_FROM_DATABASE=HP webcam [dv6-1190en]
 
+usb:v064EpC335*
+ ID_MODEL_FROM_DATABASE=HP TrueVision HD
+
 usb:v064EpD101*
  ID_MODEL_FROM_DATABASE=Acer CrystalEye Webcam
 
@@ -25850,6 +25898,9 @@ usb:v0764p0005*
 usb:v0764p0501*
  ID_MODEL_FROM_DATABASE=CP1500 AVR UPS
 
+usb:v0764p0601*
+ ID_MODEL_FROM_DATABASE=PR1500LCDRT2U UPS
+
 usb:v0765*
  ID_VENDOR_FROM_DATABASE=X-Rite, Inc.
 
@@ -26900,6 +26951,9 @@ usb:v07B3p0A06*
 usb:v07B3p0B00*
  ID_MODEL_FROM_DATABASE=SmartPhoto F50
 
+usb:v07B3p0C00*
+ ID_MODEL_FROM_DATABASE=OpticPro ST64 Scanner
+
 usb:v07B3p0C03*
  ID_MODEL_FROM_DATABASE=OpticPro ST64+ Scanner
 
@@ -26946,7 +27000,7 @@ usb:v07B4p0112*
  ID_MODEL_FROM_DATABASE=MAUSB-100 xD Card Reader
 
 usb:v07B4p0113*
- ID_MODEL_FROM_DATABASE=Mju 500
+ ID_MODEL_FROM_DATABASE=Mju 500 / Stylus Digital Camera (PTP)
 
 usb:v07B4p0114*
  ID_MODEL_FROM_DATABASE=C-350Z Camera
@@ -28589,6 +28643,9 @@ usb:v0846p9041*
 usb:v0846p9042*
  ID_MODEL_FROM_DATABASE=On Networks N150MA 802.11bgn [Realtek RTL8188CUS]
 
+usb:v0846p9043*
+ ID_MODEL_FROM_DATABASE=WNA1000Mv2 802.11bgn [Realtek RTL8188CUS?]
+
 usb:v0846p9050*
  ID_MODEL_FROM_DATABASE=A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526]
 
@@ -29432,6 +29489,9 @@ usb:v08E3p0301*
 usb:v08E4*
  ID_VENDOR_FROM_DATABASE=Pioneer Corp.
 
+usb:v08E4p0184*
+ ID_MODEL_FROM_DATABASE=DDJ-WeGO
+
 usb:v08E4p0185*
  ID_MODEL_FROM_DATABASE=DDJ-WeGO2
 
@@ -29990,6 +30050,9 @@ usb:v090Cp037A*
 usb:v090Cp037B*
  ID_MODEL_FROM_DATABASE=Silicon Motion Camera
 
+usb:v090Cp037C*
+ ID_MODEL_FROM_DATABASE=300k Pixel Camera
+
 usb:v090Cp1000*
  ID_MODEL_FROM_DATABASE=Flash Drive
 
@@ -30032,6 +30095,9 @@ usb:v090CpB370*
 usb:v090CpB371*
  ID_MODEL_FROM_DATABASE=Silicon Motion SM371 Camera
 
+usb:v090CpF37D*
+ ID_MODEL_FROM_DATABASE=Endoscope camera
+
 usb:v090D*
  ID_VENDOR_FROM_DATABASE=Multiport Computer Vertriebs GmbH
 
@@ -30323,6 +30389,9 @@ usb:v0928*
 usb:v0928p8000*
  ID_MODEL_FROM_DATABASE=Firmware uploader
 
+usb:v0928pFFFF*
+ ID_MODEL_FROM_DATABASE=Blank Oxford Device
+
 usb:v0929*
  ID_VENDOR_FROM_DATABASE=American Biometric Co.
 
@@ -35774,6 +35843,15 @@ usb:v0C4Bp0500*
 usb:v0C4Bp0501*
  ID_MODEL_FROM_DATABASE=cyberJack RFID comfort dual interface smartcard reader
 
+usb:v0C4Bp0502*
+ ID_MODEL_FROM_DATABASE=cyberJack compact
+
+usb:v0C4Bp0504*
+ ID_MODEL_FROM_DATABASE=cyberJack go / go plus
+
+usb:v0C4Bp0505*
+ ID_MODEL_FROM_DATABASE=cyberJack wave
+
 usb:v0C4Bp9102*
  ID_MODEL_FROM_DATABASE=cyberJack RFID basis contactless smartcard reader
 
@@ -35981,6 +36059,36 @@ usb:v0C5E*
 usb:v0C60*
  ID_VENDOR_FROM_DATABASE=Apogee Electronics Corp.
 
+usb:v0C60p0001*
+ ID_MODEL_FROM_DATABASE=MiniMe
+
+usb:v0C60p0002*
+ ID_MODEL_FROM_DATABASE=MiniDAC
+
+usb:v0C60p0003*
+ ID_MODEL_FROM_DATABASE=ONE
+
+usb:v0C60p0004*
+ ID_MODEL_FROM_DATABASE=GiO
+
+usb:v0C60p0007*
+ ID_MODEL_FROM_DATABASE=Duet
+
+usb:v0C60p0009*
+ ID_MODEL_FROM_DATABASE=Jam
+
+usb:v0C60p000A*
+ ID_MODEL_FROM_DATABASE=Jam Bootloader
+
+usb:v0C60p000B*
+ ID_MODEL_FROM_DATABASE=MiC
+
+usb:v0C60p000C*
+ ID_MODEL_FROM_DATABASE=MiC Bootloader
+
+usb:v0C60p8007*
+ ID_MODEL_FROM_DATABASE=Duet DFU Mode
+
 usb:v0C62*
  ID_VENDOR_FROM_DATABASE=Chant Sincere Co., Ltd
 
@@ -37524,7 +37632,7 @@ usb:v0DA3*
  ID_VENDOR_FROM_DATABASE=Nippon Electro-Sensory Devices Corp.
 
 usb:v0DA4*
- ID_VENDOR_FROM_DATABASE=Polar Electro OY
+ ID_VENDOR_FROM_DATABASE=Polar Electro Oy
 
 usb:v0DA4p0001*
  ID_MODEL_FROM_DATABASE=Interface
@@ -37667,6 +37775,18 @@ usb:v0DB3*
 usb:v0DB4*
  ID_VENDOR_FROM_DATABASE=Chung Fu Chen Yeh Enterprise Corp.
 
+usb:v0DB5*
+ ID_VENDOR_FROM_DATABASE=Access IS
+
+usb:v0DB5p0139*
+ ID_MODEL_FROM_DATABASE=LSR116 CDC
+
+usb:v0DB5p013A*
+ ID_MODEL_FROM_DATABASE=LSR116 Keyboard
+
+usb:v0DB5p013B*
+ ID_MODEL_FROM_DATABASE=LSR116 HID
+
 usb:v0DB7*
  ID_VENDOR_FROM_DATABASE=ELCON Systemtechnik
 
@@ -38510,6 +38630,9 @@ usb:v0E6Fp0005*
 usb:v0E6Fp0006*
  ID_MODEL_FROM_DATABASE=Edge wireless Controller
 
+usb:v0E6Fp0128*
+ ID_MODEL_FROM_DATABASE=Wireless PS3 Controller
+
 usb:v0E70*
  ID_VENDOR_FROM_DATABASE=Tokyo Electronic Industry Co., Ltd
 
@@ -38618,6 +38741,9 @@ usb:v0E8Fp0020*
 usb:v0E8Fp0021*
  ID_MODEL_FROM_DATABASE=Multimedia Keyboard Controller
 
+usb:v0E8Fp0022*
+ ID_MODEL_FROM_DATABASE=multimedia keyboard controller
+
 usb:v0E8Fp0201*
  ID_MODEL_FROM_DATABASE=SmartJoy Frag Xpad/PS2 adaptor
 
@@ -38858,6 +38984,9 @@ usb:v0EE3p1000*
 usb:v0EE4*
  ID_VENDOR_FROM_DATABASE=Sunrich Technology, Ltd
 
+usb:v0EE4p0690*
+ ID_MODEL_FROM_DATABASE=SATA 3 Adapter
+
 usb:v0EEE*
  ID_VENDOR_FROM_DATABASE=Digital Stream Technology, Inc.
 
@@ -39663,7 +39792,7 @@ usb:v0FCEpE19B*
  ID_MODEL_FROM_DATABASE=C2005 [Xperia M dual] (Mass Storage)
 
 usb:v0FCEpF0FA*
- ID_MODEL_FROM_DATABASE=Liveview micro display MN800 in DFU mode
+ ID_MODEL_FROM_DATABASE=MN800 / Smartwatch 2 (DFU mode)
 
 usb:v0FCF*
  ID_VENDOR_FROM_DATABASE=Dynastream Innovations, Inc.
@@ -39884,6 +40013,9 @@ usb:v1004p61C6*
 usb:v1004p61CC*
  ID_MODEL_FROM_DATABASE=Optimus S
 
+usb:v1004p61DA*
+ ID_MODEL_FROM_DATABASE=G2 Android Phone [tethering mode]
+
 usb:v1004p61F1*
  ID_MODEL_FROM_DATABASE=Optimus Android Phone [LG Software mode]
 
@@ -39900,13 +40032,13 @@ usb:v1004p6300*
  ID_MODEL_FROM_DATABASE=Optimus Android Phone
 
 usb:v1004p631C*
- ID_MODEL_FROM_DATABASE=Optimus Android Phone [MTP mode]
+ ID_MODEL_FROM_DATABASE=G2/Optimus Android Phone [MTP mode]
 
 usb:v1004p631D*
  ID_MODEL_FROM_DATABASE=Optimus Android Phone (Camera/PTP Mode)
 
 usb:v1004p631E*
- ID_MODEL_FROM_DATABASE=Optimus Android Phone [Camera/PTP mode]
+ ID_MODEL_FROM_DATABASE=G2/Optimus Android Phone [Camera/PTP mode]
 
 usb:v1004p631F*
  ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode)
@@ -40241,6 +40373,9 @@ usb:v1046p9967*
 usb:v1048*
  ID_VENDOR_FROM_DATABASE=Targus Group International
 
+usb:v1048p2010*
+ ID_MODEL_FROM_DATABASE=4-Port hub
+
 usb:v104B*
  ID_VENDOR_FROM_DATABASE=Mylex / Buslogic
 
@@ -40287,13 +40422,22 @@ usb:v1050p0010*
  ID_MODEL_FROM_DATABASE=Yubikey
 
 usb:v1050p0110*
- ID_MODEL_FROM_DATABASE=Yubikey NEO OTP
+ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) OTP
 
 usb:v1050p0111*
- ID_MODEL_FROM_DATABASE=Yubikey NEO OTP+CCID
+ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) OTP+CCID
 
 usb:v1050p0112*
- ID_MODEL_FROM_DATABASE=Yubikey NEO CCID
+ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) CCID
+
+usb:v1050p0113*
+ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) U2F
+
+usb:v1050p0114*
+ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) OTP+U2F
+
+usb:v1050p0115*
+ ID_MODEL_FROM_DATABASE=Yubikey NEO(-N) U2F+CCID
 
 usb:v1050p0200*
  ID_MODEL_FROM_DATABASE=U2F Gnubby
@@ -50777,6 +50921,15 @@ usb:v2931p0A05*
 usb:v2931p0AFE*
  ID_MODEL_FROM_DATABASE=Jolla charging only
 
+usb:v2A03*
+ ID_VENDOR_FROM_DATABASE=dog hunter AG
+
+usb:v2A03p0001*
+ ID_MODEL_FROM_DATABASE=Linino One (CDC ACM)
+
+usb:v2A03p8001*
+ ID_MODEL_FROM_DATABASE=Linino ONE board
+
 usb:v2C02*
  ID_VENDOR_FROM_DATABASE=Planex Communications
 

commit f6aeb4c2de958ed625edacb6b14a5e4cca6d726c
Author: David Herrmann <dh.herrmann at gmail.com>
Date:   Thu Mar 12 12:46:46 2015 +0100

    man: split paragraph
    
    Explicitly put the "multiple EnvironmentFile=" description into its own
    paragraph to make it much easier to find.
    
    (cherry picked from commit f407824d751a9cb31abfdf0343fe179e0efef259)

diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 11b160e..fdb1578 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -283,7 +283,9 @@
         shortly before the process is executed (more specifically,
         after all processes from a previous unit state terminated.
         This means you can generate these files in one unit state, and
-        read it with this option in the next). Settings from these
+        read it with this option in the next).</para>
+
+        <para>Settings from these
         files override settings made with
         <varname>Environment=</varname>. If the same variable is set
         twice from these files, the files will be read in the order

commit b964d7b5736871e9bc7e07df209006d5da86cbe6
Author: Umut Tezduyar Lindskog <umut.tezduyar at axis.com>
Date:   Wed Mar 11 11:24:18 2015 +0100

    cgtop: fix assert when not on tty
    
    systemd-cgtop --dept=1 -b -n 10 -d 0.1 | cat
    
    Assertion 'new_length >= 3' failed at src/shared/util.c:3 \
    595, function ellipsize_mem(). Aborting.
    Aborted (core dumped)
    
    (David: add comment)
    
    (cherry picked from commit 510c4a0f1e7e7efe2897d2fbb9067f121467b103)

diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c
index 3c7ad40..f951c37 100644
--- a/src/cgtop/cgtop.c
+++ b/src/cgtop/cgtop.c
@@ -447,7 +447,7 @@ static int display(Hashmap *a) {
         Group *g;
         Group **array;
         signed path_columns;
-        unsigned rows, n = 0, j, maxtcpu = 0, maxtpath = 0;
+        unsigned rows, n = 0, j, maxtcpu = 0, maxtpath = 3; /* 3 for ellipsize() to work properly */
         char buffer[MAX3(21, FORMAT_BYTES_MAX, FORMAT_TIMESPAN_MAX)];
 
         assert(a);

commit c98114c5e5c5b9d1e8fea75a0bfb37f0d329fd36
Author: David Herrmann <dh.herrmann at gmail.com>
Date:   Wed Mar 11 13:53:21 2015 +0100

    bus-proxy: complain only once about queue overflows
    
    If the local peer does not dispatch its incoming queue, the bus-proxy will
    slowly fill its outgoing queue. Once its full, it will continously
    complain that it cannot forward its messages.
    
    As it turns out, pulseaudio does have an idle background dbus connection
    that is not integrated into any mainloop (and given that gdbus and
    libdbus1 both support background shared connections, PA is probably not
    the only example), therefore, the bus-proxy will loudly complain if it
    cannot forward NameOwnerChanged events once the queue is full.
    
    This commit makes the proxy track queue-state and complain only once the
    queue runs full, not if it is already full.
    
    A PA bug-report (and patch) has been filed, and other applications should
    be fixed similarly. Hence, lets keep the error message, instead of
    dropping it. It's unused resources we really want to get rid of, so
    silencing the message does not really help (which is actually what
    dbus-daemon does).
    
    (cherry picked from commit ec2c7b56599981a7d9e76b15c75af3e1af3e6f81)

diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c
index 3dea908..e13cf5e 100644
--- a/src/bus-proxyd/proxy.c
+++ b/src/bus-proxyd/proxy.c
@@ -729,13 +729,21 @@ static int proxy_process_destination_to_local(Proxy *p) {
 
                 /* Return the error to the client, if we can */
                 synthetic_reply_method_errnof(m, r, "Failed to forward message we got from destination: %m");
-                log_error_errno(r,
-                         "Failed to forward message we got from destination: uid=" UID_FMT " gid=" GID_FMT" message=%s destination=%s path=%s interface=%s member=%s: %m",
-                         p->local_creds.uid, p->local_creds.gid, bus_message_type_to_string(m->header->type),
-                         strna(m->destination), strna(m->path), strna(m->interface), strna(m->member));
+                if (r == -ENOBUFS) {
+                        /* if local dbus1 peer does not dispatch its queue, warn only once */
+                        if (!p->queue_overflow)
+                                log_error("Dropped messages due to queue overflow of local peer (pid: "PID_FMT" uid: "UID_FMT")", p->local_creds.pid, p->local_creds.uid);
+                        p->queue_overflow = true;
+                } else
+                        log_error_errno(r,
+                                 "Failed to forward message we got from destination: uid=" UID_FMT " gid=" GID_FMT" message=%s destination=%s path=%s interface=%s member=%s: %m",
+                                 p->local_creds.uid, p->local_creds.gid, bus_message_type_to_string(m->header->type),
+                                 strna(m->destination), strna(m->path), strna(m->interface), strna(m->member));
+
                 return 1;
         }
 
+        p->queue_overflow = false;
         return 1;
 }
 
diff --git a/src/bus-proxyd/proxy.h b/src/bus-proxyd/proxy.h
index 913d470..782c4e6 100644
--- a/src/bus-proxyd/proxy.h
+++ b/src/bus-proxyd/proxy.h
@@ -40,6 +40,7 @@ struct Proxy {
         SharedPolicy *policy;
 
         bool got_hello : 1;
+        bool queue_overflow : 1;
 };
 
 int proxy_new(Proxy **out, int in_fd, int out_fd, const char *dest);

commit c04228cbd9373f2e5242e871ef1cb8878559f27e
Author: David Herrmann <dh.herrmann at gmail.com>
Date:   Tue Dec 16 16:14:48 2014 +0100

    console: fix error-code inversion
    
    The error-code propagated via sysview is always negative. Avoid
    multiplying by -1 before returning it. Otherwise, we will return >0
    instead of <0, which will not be detected as error by sysview-core.
    
    (cherry picked from commit 84c3561c58dd992b339afe5bb4c41971a2ebc486)

diff --git a/src/console/consoled-manager.c b/src/console/consoled-manager.c
index 9dd62f0..25de0a2 100644
--- a/src/console/consoled-manager.c
+++ b/src/console/consoled-manager.c
@@ -228,7 +228,7 @@ static int manager_sysview_session_control(Manager *m, sysview_event *event) {
                                 sysview_session_get_name(session));
                 session_free(s);
                 sysview_session_set_userdata(session, NULL);
-                return -error;
+                return error;
         }
 
         return 0;

commit c59d61522d87fdaca015f51466d7357288a95110
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Mon Mar 9 17:46:30 2015 -0400

    journal: fix return code
    
    Introduced in fa6ac76083b8ff.
    
    Might be related to CID #1261724, but I don't know if coverity can
    recurse this deep.
    
    (cherry picked from commit 977eaa1eae53af7f418d87fcb42f4a4d34aad739)

diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
index 24c49b9..f500568 100644
--- a/src/journal/journal-file.c
+++ b/src/journal/journal-file.c
@@ -2652,10 +2652,8 @@ int journal_file_open(
         }
 
         r = mmap_cache_get(f->mmap, f->fd, f->prot, CONTEXT_HEADER, true, 0, PAGE_ALIGN(sizeof(Header)), &f->last_stat, &h);
-        if (r < 0) {
-                r = -errno;
+        if (r < 0)
                 goto fail;
-        }
 
         f->header = h;
 

commit 5180cbe32605e4ae5d1b8870a845d6bde73af168
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon Mar 9 18:01:47 2015 +0100

    man: document that ExecStartPre= is not the place to start long-running processes
    
    (cherry picked from commit b481de3b22fcd838a8f059aed8745375afdb9eca)

diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index c03b4e8..f598705 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -334,6 +334,11 @@
         <para>If any of those commands (not prefixed with
         <literal>-</literal>) fail, the rest are not executed and the
         unit is considered failed.</para>
+
+        <para>Note that <varname>ExecStartPre=</varname> may not be
+        used to start long-running processes. All processes forked
+        off by processes invoked via <varname>ExecStartPre=</varname> will
+        be killed before the next service process is run.</para>
         </listitem>
       </varlistentry>
 

commit 0c9591e78e2dde262865e3c683d2fbd80692d4ff
Author: Tom Gundersen <teg at jklm.no>
Date:   Mon Mar 9 16:16:23 2015 +0100

    udevd: close race in udev settle
    
    The udev-settle guarantees that udevd is no longer processing any of the
    events casued by udev-trigger. The way this works is that it sends a
    synchronous PING to udevd after udev-trigger has ran, and when that returns
    it knows that udevd has started processing the events from udev-trigger.
    udev-settle will then wait for the event queue to empty before returning.
    
    However, there was a race here, as we would only update the /run state at
    the beginning of the event loop, before reading out new events and before
    processing the ping.
    
    That means that if the first uevent arrived in the same event-loop iteration
    as the PING, we would return the ping before updating the queue state in /run
    (which would happen on the next iteration).
    
    The race window here is tiny (as the /run state would probably get updated
    before udev-settle got a chance to read /run), but still a possibility.
    
    Fix the problem by updating the /run state as the last step before returning
    the PING.
    
    We must still update it at the beginning of the loop as well, otherwise we
    risk being stuck in poll() with a stale state in /run.
    
    Reported-by: Daniel Drake <drake at endlessm.com>
    (cherry picked from commit db93e063bdffe0a8b95fcc522aeacddf62d1a9f9)

diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index 99d4c89..e98c1fd 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -909,6 +909,17 @@ static void handle_signal(struct udev *udev, int signo) {
         }
 }
 
+static void event_queue_update(void) {
+        if (!udev_list_node_is_empty(&event_list)) {
+                int fd;
+
+                fd = open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444);
+                if (fd >= 0)
+                       close(fd);
+        } else
+                unlink("/run/udev/queue");
+}
+
 static int systemd_fds(struct udev *udev, int *rctrl, int *rnetlink) {
         int ctrl = -1, netlink = -1;
         int fd, n;
@@ -1369,15 +1380,7 @@ int main(int argc, char *argv[]) {
                 }
 
                 /* tell settle that we are busy or idle */
-                if (!udev_list_node_is_empty(&event_list)) {
-                        int fd;
-
-                        fd = open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444);
-                        if (fd >= 0)
-                                close(fd);
-                } else {
-                        unlink("/run/udev/queue");
-                }
+                event_queue_update();
 
                 fdcount = epoll_wait(fd_ep, ev, ELEMENTSOF(ev), timeout);
                 if (fdcount < 0)
@@ -1502,6 +1505,11 @@ int main(int argc, char *argv[]) {
                 if (is_inotify)
                         handle_inotify(udev);
 
+                /* tell settle that we are busy or idle, this needs to be before the
+                 * PING handling
+                 */
+                event_queue_update();
+
                 /*
                  * This needs to be after the inotify handling, to make sure,
                  * that the ping is send back after the possibly generated

commit e1deb661ba31023c77aaac6656da514654df3393
Author: Michael Olbrich <m.olbrich at pengutronix.de>
Date:   Mon Mar 9 12:27:25 2015 +0100

    missing.h: add NDA_*
    
    This is necessary to build with older kernel headers. NDA_VLAN was
    introduced in v3.9 and NDA_PORT, NDA_VNI and NDA_IFINDEX in v3.10
    
    (cherry picked from commit cf1755bac0426132c21fdca519a336ce7d920277)

diff --git a/configure.ac b/configure.ac
index 6bc3474..14a7736 100644
--- a/configure.ac
+++ b/configure.ac
@@ -333,7 +333,8 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
                 IFLA_VXLAN_LOCAL6,
                 IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
                 IFLA_BRIDGE_VLAN_INFO,
-                IFLA_BRPORT_UNICAST_FLOOD],
+                IFLA_BRPORT_UNICAST_FLOOD,
+                NDA_IFINDEX],
 [], [], [[
 #include <inttypes.h>
 #include <netinet/in.h>
@@ -344,6 +345,7 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
 #include <linux/if_tunnel.h>
 #include <linux/if_link.h>
 #include <linux/if_bridge.h>
+#include <linux/neighbour.h>
 ]])
 
 # This makes sure pkg.m4 is available.
diff --git a/src/shared/missing.h b/src/shared/missing.h
index e72631e..802b495 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -35,6 +35,7 @@
 #include <linux/loop.h>
 #include <linux/audit.h>
 #include <linux/capability.h>
+#include <linux/neighbour.h>
 
 #ifdef HAVE_AUDIT
 #include <libaudit.h>
@@ -623,6 +624,21 @@ static inline int setns(int fd, int nstype) {
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
 #endif
 
+#if !HAVE_DECL_NDA_IFINDEX
+#define NDA_UNSPEC 0
+#define NDA_DST 1
+#define NDA_LLADDR 2
+#define NDA_CACHEINFO 3
+#define NDA_PROBES 4
+#define NDA_VLAN 5
+#define NDA_PORT 6
+#define NDA_VNI 7
+#define NDA_IFINDEX 8
+#define __NDA_MAX 9
+
+#define NDA_MAX (__NDA_MAX - 1)
+#endif
+
 #ifndef IPV6_UNICAST_IF
 #define IPV6_UNICAST_IF 76
 #endif

commit 67c29191b0d4880decb771f2ed5cd155a4de09db
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sun Mar 8 11:11:50 2015 -0400

    sd-journal: return error when we cannot open a file
    
    Lack of this caused journalctl not to display a hint about missing groups
    properly when the user lacks permissions.
    
    (cherry picked from commit 7b300be75e6d5755778dd7da63e7147866f21351)

diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 9b57e59..9b9e8ac 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -1248,7 +1248,7 @@ static int add_file(sd_journal *j, const char *prefix, const char *filename) {
         r = add_any_file(j, path);
         if (r == -ENOENT)
                 return 0;
-        return 0;
+        return r;
 }
 
 static int remove_file(sd_journal *j, const char *prefix, const char *filename) {

commit e8d55cb62e0c12b09d3fa02f4fc1a1e0b197020b
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sun Mar 8 11:04:59 2015 -0400

    journalctl: update hint now that we set ACL everywhere
    
    (cherry picked from commit 05c1853093d8c4e4aa16876b5129b65dac5abd01)

diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 55c7786..12c869f 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -1542,10 +1542,17 @@ static int access_check_var_log_journal(sd_journal *j) {
         have_access = in_group("systemd-journal") > 0;
 
         if (!have_access) {
+                const char* dir;
+
+                if (access("/run/log/journal", F_OK) >= 0)
+                        dir = "/run/log/journal";
+                else
+                        dir = "/var/log/journal";
+
                 /* Let's enumerate all groups from the default ACL of
                  * the directory, which generally should allow access
                  * to most journal files too */
-                r = search_acl_groups(&g, "/var/log/journal/", &have_access);
+                r = search_acl_groups(&g, dir, &have_access);
                 if (r < 0)
                         return r;
         }
@@ -1571,7 +1578,7 @@ static int access_check_var_log_journal(sd_journal *j) {
                                 return log_oom();
 
                         log_notice("Hint: You are currently not seeing messages from other users and the system.\n"
-                                   "      Users in the groups '%s' can see all messages.\n"
+                                   "      Users in groups '%s' can see all messages.\n"
                                    "      Pass -q to turn off this notice.", s);
                 }
         }
@@ -1595,18 +1602,8 @@ static int access_check(sd_journal *j) {
 
         if (set_contains(j->errors, INT_TO_PTR(-EACCES))) {
 #ifdef HAVE_ACL
-                /* If /var/log/journal doesn't even exist,
-                 * unprivileged users have no access at all */
-                if (access("/var/log/journal", F_OK) < 0 &&
-                    geteuid() != 0 &&
-                    in_group("systemd-journal") <= 0) {
-                        log_error("Unprivileged users cannot access messages, unless persistent log storage is\n"
-                                  "enabled. Users in the 'systemd-journal' group may always access messages.");
-                        return -EACCES;
-                }
-
-                /* If /var/log/journal exists, try to pring a nice
-                   notice if the user lacks access to it */
+                /* If /run/log/journal or /var/log/journal exist, try
+                   to pring a nice notice if the user lacks access to it. */
                 if (!arg_quiet && geteuid() != 0) {
                         r = access_check_var_log_journal(j);
                         if (r < 0)

commit c29a899e634e5b16c7afcce1ac7c28514988a9f6
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sat Mar 7 14:23:38 2015 -0500

    login: fix copy-pasto in error path
    
    CID #1256583.
    
    (cherry picked from commit dcee01125dde502bd8108c36ddf2026c1348865f)

diff --git a/src/login/inhibit.c b/src/login/inhibit.c
index 44bda34..88af23e 100644
--- a/src/login/inhibit.c
+++ b/src/login/inhibit.c
@@ -260,7 +260,7 @@ int main(int argc, char *argv[]) {
 
                 fd = inhibit(bus, &error);
                 if (fd < 0) {
-                        log_error("Failed to inhibit: %s", bus_error_message(&error, -r));
+                        log_error("Failed to inhibit: %s", bus_error_message(&error, fd));
                         return EXIT_FAILURE;
                 }
 

commit fa09f5c3ceef08947225a9c39edb09411f3929d4
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sat Mar 7 14:19:20 2015 -0500

    nspawn: fix use-after-free and leak in error paths
    
    CID #1257765.
    
    (cherry picked from commit 8a16a7b4e7f6702a7e6edaead80ecf04be7d3ba2)

diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 7724df9..78bd584 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -3627,7 +3627,7 @@ int main(int argc, char *argv[]) {
                 }
 
                 if (arg_ephemeral) {
-                        char *np;
+                        _cleanup_free_ char *np = NULL;
 
                         /* If the specified path is a mount point we
                          * generate the new snapshot immediately
@@ -3657,13 +3657,13 @@ int main(int argc, char *argv[]) {
 
                         r = btrfs_subvol_snapshot(arg_directory, np, arg_read_only, true);
                         if (r < 0) {
-                                free(np);
                                 log_error_errno(r, "Failed to create snapshot %s from %s: %m", np, arg_directory);
                                 goto finish;
                         }
 
                         free(arg_directory);
                         arg_directory = np;
+                        np = NULL;
 
                         remove_subvol = true;
 

commit 3f25df7d013a98f7a60b216f1687e95ff6a6cbbb
Author: Ivan Shapovalov <intelfx100 at gmail.com>
Date:   Sat Mar 7 18:11:32 2015 +0300

    sysusers: do not reject users with already present /etc/shadow entries
    
    This is needed to interoperate firstboot and sysusers. The former one is started
    first, and it writes only /etc/shadow when it is told to set the root password.
    It's better to relax checks here than to duplicate functionality in firstboot.
    
    (cherry picked from commit c5abf22514b3925aa6f0d4a3f36f76799bf1911b)

diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
index e47bcb4..76b5962 100644
--- a/src/sysusers/sysusers.c
+++ b/src/sysusers/sysusers.c
@@ -605,6 +605,8 @@ static int write_files(void) {
                 if (r < 0)
                         goto finish;
 
+                lstchg = (long) (now(CLOCK_REALTIME) / USEC_PER_DAY);
+
                 original = fopen(shadow_path, "re");
                 if (original) {
                         struct spwd *sp;
@@ -618,8 +620,13 @@ static int write_files(void) {
 
                                 i = hashmap_get(users, sp->sp_namp);
                                 if (i && i->todo_user) {
-                                        r = -EEXIST;
-                                        goto finish;
+                                        /* we will update the existing entry */
+                                        sp->sp_lstchg = lstchg;
+
+                                        /* only the /etc/shadow stage is left, so we can
+                                         * safely remove the item from the todo set */
+                                        i->todo_user = false;
+                                        hashmap_remove(todo_uids, UID_TO_PTR(i->uid));
                                 }
 
                                 errno = 0;
@@ -642,7 +649,6 @@ static int write_files(void) {
                         goto finish;
                 }
 
-                lstchg = (long) (now(CLOCK_REALTIME) / USEC_PER_DAY);
                 HASHMAP_FOREACH(i, todo_uids, iterator) {
                         struct spwd n = {
                                 .sp_namp = i->name,
@@ -879,7 +885,6 @@ static int add_user(Item *i) {
 
         if (!arg_root) {
                 struct passwd *p;
-                struct spwd *sp;
 
                 /* Also check NSS */
                 errno = 0;
@@ -895,16 +900,6 @@ static int add_user(Item *i) {
                 }
                 if (!IN_SET(errno, 0, ENOENT))
                         return log_error_errno(errno, "Failed to check if user %s already exists: %m", i->name);
-
-                /* And shadow too, just to be sure */
-                errno = 0;
-                sp = getspnam(i->name);
-                if (sp) {
-                        log_error("User %s already exists in shadow database, but not in user database.", i->name);
-                        return -EBADMSG;
-                }
-                if (!IN_SET(errno, 0, ENOENT))
-                        return log_error_errno(errno, "Failed to check if user %s already exists in shadow database: %m", i->name);
         }
 
         /* Try to use the suggested numeric uid */

commit 646308cdc78e95caa311d6d140379ce24954c068
Author: Ivan Shapovalov <intelfx100 at gmail.com>
Date:   Thu Feb 26 02:46:24 2015 +0300

    firstboot: set all spwd fields to -1 for consistency with sysusers
    
    (cherry picked from commit ad525df851a1bef7369fe21b5cde382941e7b073)

diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c
index a765d6d..a37ca17 100644
--- a/src/firstboot/firstboot.c
+++ b/src/firstboot/firstboot.c
@@ -525,9 +525,9 @@ static int process_root_password(void) {
 
         struct spwd item = {
                 .sp_namp = (char*) "root",
-                .sp_min = 0,
-                .sp_max = 99999,
-                .sp_warn = 7,
+                .sp_min = -1,
+                .sp_max = -1,
+                .sp_warn = -1,
                 .sp_inact = -1,
                 .sp_expire = -1,
                 .sp_flag = (unsigned long) -1, /* this appears to be what everybody does ... */

commit 3ef091125ceb159374d2d0d4dbad84d90b252852
Author: Ivan Shapovalov <intelfx100 at gmail.com>
Date:   Sat Mar 7 08:44:52 2015 -0500

    core: do not spawn jobs or touch other units during coldplugging
    
    Because the order of coldplugging is not defined, we can reference a
    not-yet-coldplugged unit and read its state while it has not yet been
    set to a meaningful value.
    
    This way, already active units may get started again.
    
    We fix this by deferring such actions until all units have been at
    least somehow coldplugged.
    
    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=88401
    
    (cherry picked from commit 6e392c9c45643d106673c6643ac8bf4e65da13c1)

diff --git a/src/core/automount.c b/src/core/automount.c
index 9f6bd84..e4c7941 100644
--- a/src/core/automount.c
+++ b/src/core/automount.c
@@ -235,7 +235,7 @@ static void automount_set_state(Automount *a, AutomountState state) {
         unit_notify(UNIT(a), state_translation_table[old_state], state_translation_table[state], true);
 }
 
-static int automount_coldplug(Unit *u) {
+static int automount_coldplug(Unit *u, Hashmap *deferred_work) {
         Automount *a = AUTOMOUNT(u);
         int r;
 
diff --git a/src/core/busname.c b/src/core/busname.c
index 1d77292..43d7607 100644
--- a/src/core/busname.c
+++ b/src/core/busname.c
@@ -335,7 +335,7 @@ static void busname_set_state(BusName *n, BusNameState state) {
         unit_notify(UNIT(n), state_translation_table[old_state], state_translation_table[state], true);
 }
 
-static int busname_coldplug(Unit *u) {
+static int busname_coldplug(Unit *u, Hashmap *deferred_work) {
         BusName *n = BUSNAME(u);
         int r;
 
diff --git a/src/core/device.c b/src/core/device.c
index 1cc103c..4ff8827 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -142,7 +142,7 @@ static void device_set_state(Device *d, DeviceState state) {
         unit_notify(UNIT(d), state_translation_table[old_state], state_translation_table[state], true);
 }
 
-static int device_coldplug(Unit *u) {
+static int device_coldplug(Unit *u, Hashmap *deferred_work) {
         Device *d = DEVICE(u);
 
         assert(d);
diff --git a/src/core/manager.c b/src/core/manager.c
index bc9b7ec..203a6a0 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -983,7 +983,28 @@ static int manager_coldplug(Manager *m) {
         Unit *u;
         char *k;
 
-        assert(m);
+        /*
+         * Some unit types tend to spawn jobs or check other units' state
+         * during coldplug. This is wrong because it is undefined whether the
+         * units in question have been already coldplugged (i. e. their state
+         * restored). This way, we can easily re-start an already started unit
+         * or otherwise make a wrong decision based on the unit's state.
+         *
+         * Solve this by providing a way for coldplug functions to defer
+         * such actions until after all units have been coldplugged.
+         *
+         * We store Unit* -> int(*)(Unit*).
+         *
+         * https://bugs.freedesktop.org/show_bug.cgi?id=88401
+         */
+        _cleanup_hashmap_free_ Hashmap *deferred_work = NULL;
+        int(*proc)(Unit*);
+
+        assert(m);
+
+        deferred_work = hashmap_new(&trivial_hash_ops);
+        if (!deferred_work)
+                return -ENOMEM;
 
         /* Then, let's set up their initial state. */
         HASHMAP_FOREACH_KEY(u, k, m->units, i) {
@@ -993,7 +1014,17 @@ static int manager_coldplug(Manager *m) {
                 if (u->id != k)
                         continue;
 
-                q = unit_coldplug(u);
+                q = unit_coldplug(u, deferred_work);
+                if (q < 0)
+                        r = q;
+        }
+
+        /* After coldplugging and setting up initial state of the units,
+         * let's perform operations which spawn jobs or query units' state. */
+        HASHMAP_FOREACH_KEY(proc, u, deferred_work, i) {
+                int q;
+
+                q = proc(u);
                 if (q < 0)
                         r = q;
         }
diff --git a/src/core/mount.c b/src/core/mount.c
index c971330..3ae0eb4 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -617,7 +617,7 @@ static void mount_set_state(Mount *m, MountState state) {
         m->reload_result = MOUNT_SUCCESS;
 }
 
-static int mount_coldplug(Unit *u) {
+static int mount_coldplug(Unit *u, Hashmap *deferred_work) {
         Mount *m = MOUNT(u);
         MountState new_state = MOUNT_DEAD;
         int r;
diff --git a/src/core/path.c b/src/core/path.c
index e5ea79f..51e36fa 100644
--- a/src/core/path.c
+++ b/src/core/path.c
@@ -440,7 +440,12 @@ static void path_set_state(Path *p, PathState state) {
 
 static void path_enter_waiting(Path *p, bool initial, bool recheck);
 
-static int path_coldplug(Unit *u) {
+static int path_enter_waiting_coldplug(Unit *u) {
+        path_enter_waiting(PATH(u), true, true);
+        return 0;
+}
+
+static int path_coldplug(Unit *u, Hashmap *deferred_work) {
         Path *p = PATH(u);
 
         assert(p);
@@ -449,9 +454,10 @@ static int path_coldplug(Unit *u) {
         if (p->deserialized_state != p->state) {
 
                 if (p->deserialized_state == PATH_WAITING ||
-                    p->deserialized_state == PATH_RUNNING)
-                        path_enter_waiting(p, true, true);
-                else
+                    p->deserialized_state == PATH_RUNNING) {
+                        hashmap_put(deferred_work, u, &path_enter_waiting_coldplug);
+                        path_set_state(p, PATH_WAITING);
+                } else
                         path_set_state(p, p->deserialized_state);
         }
 
diff --git a/src/core/scope.c b/src/core/scope.c
index b41db78..ae6614f 100644
--- a/src/core/scope.c
+++ b/src/core/scope.c
@@ -173,7 +173,7 @@ static int scope_load(Unit *u) {
         return scope_verify(s);
 }
 
-static int scope_coldplug(Unit *u) {
+static int scope_coldplug(Unit *u, Hashmap *deferred_work) {
         Scope *s = SCOPE(u);
         int r;
 
diff --git a/src/core/service.c b/src/core/service.c
index 15e29be..7781b4e 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -879,7 +879,7 @@ static void service_set_state(Service *s, ServiceState state) {
         s->reload_result = SERVICE_SUCCESS;
 }
 
-static int service_coldplug(Unit *u) {
+static int service_coldplug(Unit *u, Hashmap *deferred_work) {
         Service *s = SERVICE(u);
         int r;
 
diff --git a/src/core/slice.c b/src/core/slice.c
index ae9819d..61ff9d3 100644
--- a/src/core/slice.c
+++ b/src/core/slice.c
@@ -153,7 +153,7 @@ static int slice_load(Unit *u) {
         return slice_verify(s);
 }
 
-static int slice_coldplug(Unit *u) {
+static int slice_coldplug(Unit *u, Hashmap *deferred_work) {
         Slice *t = SLICE(u);
 
         assert(t);
diff --git a/src/core/snapshot.c b/src/core/snapshot.c
index b70c3be..b1d8448 100644
--- a/src/core/snapshot.c
+++ b/src/core/snapshot.c
@@ -75,7 +75,7 @@ static int snapshot_load(Unit *u) {
         return 0;
 }
 
-static int snapshot_coldplug(Unit *u) {
+static int snapshot_coldplug(Unit *u, Hashmap *deferred_work) {
         Snapshot *s = SNAPSHOT(u);
 
         assert(s);
diff --git a/src/core/socket.c b/src/core/socket.c
index 88aae48..760de02 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -1326,7 +1326,7 @@ static void socket_set_state(Socket *s, SocketState state) {
         unit_notify(UNIT(s), state_translation_table[old_state], state_translation_table[state], true);
 }
 
-static int socket_coldplug(Unit *u) {
+static int socket_coldplug(Unit *u, Hashmap *deferred_work) {
         Socket *s = SOCKET(u);
         int r;
 
diff --git a/src/core/swap.c b/src/core/swap.c
index 5c19af5..369abf0 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -513,7 +513,7 @@ static void swap_set_state(Swap *s, SwapState state) {
                         job_add_to_run_queue(UNIT(other)->job);
 }
 
-static int swap_coldplug(Unit *u) {
+static int swap_coldplug(Unit *u, Hashmap *deferred_work) {
         Swap *s = SWAP(u);
         SwapState new_state = SWAP_DEAD;
         int r;
diff --git a/src/core/target.c b/src/core/target.c
index 33fb66b..2411a8e 100644
--- a/src/core/target.c
+++ b/src/core/target.c
@@ -107,7 +107,7 @@ static int target_load(Unit *u) {
         return 0;
 }
 
-static int target_coldplug(Unit *u) {
+static int target_coldplug(Unit *u, Hashmap *deferred_work) {
         Target *t = TARGET(u);
 
         assert(t);
diff --git a/src/core/timer.c b/src/core/timer.c
index 45744c7..48cf9c1 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -268,7 +268,12 @@ static void timer_set_state(Timer *t, TimerState state) {
 
 static void timer_enter_waiting(Timer *t, bool initial);
 
-static int timer_coldplug(Unit *u) {
+static int timer_enter_waiting_coldplug(Unit *u) {
+        timer_enter_waiting(TIMER(u), false);
+        return 0;
+}
+
+static int timer_coldplug(Unit *u, Hashmap *deferred_work) {
         Timer *t = TIMER(u);
 
         assert(t);
@@ -276,9 +281,10 @@ static int timer_coldplug(Unit *u) {
 
         if (t->deserialized_state != t->state) {
 
-                if (t->deserialized_state == TIMER_WAITING)
-                        timer_enter_waiting(t, false);
-                else
+                if (t->deserialized_state == TIMER_WAITING) {
+                        hashmap_put(deferred_work, u, &timer_enter_waiting_coldplug);
+                        timer_set_state(t, TIMER_WAITING);
+                } else
                         timer_set_state(t, t->deserialized_state);
         }
 
diff --git a/src/core/unit.c b/src/core/unit.c
index a6558ee..565455b 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -2859,27 +2859,34 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) {
         return 0;
 }
 
-int unit_coldplug(Unit *u) {
+static int unit_add_deserialized_job_coldplug(Unit *u) {
+        int r;
+
+        r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL);
+        if (r < 0)
+                return r;
+
+        u->deserialized_job = _JOB_TYPE_INVALID;
+
+        return 0;
+}
+
+int unit_coldplug(Unit *u, Hashmap *deferred_work) {
         int r;
 
         assert(u);
 
         if (UNIT_VTABLE(u)->coldplug)
-                if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0)
+                if ((r = UNIT_VTABLE(u)->coldplug(u, deferred_work)) < 0)
                         return r;
 
         if (u->job) {
                 r = job_coldplug(u->job);
                 if (r < 0)
                         return r;
-        } else if (u->deserialized_job >= 0) {
+        } else if (u->deserialized_job >= 0)
                 /* legacy */
-                r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL);
-                if (r < 0)
-                        return r;
-
-                u->deserialized_job = _JOB_TYPE_INVALID;
-        }
+                hashmap_put(deferred_work, u, &unit_add_deserialized_job_coldplug);
 
         return 0;
 }
diff --git a/src/core/unit.h b/src/core/unit.h
index 291bc77..7ebc489 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -307,8 +307,14 @@ struct UnitVTable {
         int (*load)(Unit *u);
 
         /* If a lot of units got created via enumerate(), this is
-         * where to actually set the state and call unit_notify(). */
-        int (*coldplug)(Unit *u);
+         * where to actually set the state and call unit_notify().
+         *
+         * This must not reference other units (maybe implicitly through spawning
+         * jobs), because it is possible that they are not yet coldplugged.
+         * Such actions must be deferred until the end of coldplug bу adding
+         * a "Unit* -> int(*)(Unit*)" entry into the hashmap.
+         */
+        int (*coldplug)(Unit *u, Hashmap *deferred_work);
 
         void (*dump)(Unit *u, FILE *f, const char *prefix);
 
@@ -544,7 +550,7 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds);
 
 int unit_add_node_link(Unit *u, const char *what, bool wants);
 
-int unit_coldplug(Unit *u);
+int unit_coldplug(Unit *u, Hashmap *deferred_work);
 
 void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) _printf_(3, 0);
 

commit b83da13fffc79b5f4c1edaba3764f4d9be6993ff
Author: Jan Engelhardt <jengelh at inai.de>
Date:   Tue Feb 24 17:49:02 2015 +0100

    vconsole: match on vtcon events, not fbcon ones
    
    I observe that upon loading of framebuffer drivers, I do not get the
    desired system font, but the kernel-level defaults (usually
    lib/fonts/font_8x16.c, but your mileage may vary depending on kernel
    config and boot options).
    
    The fbcon driver may be loaded at a time way before the first
    framebuffer device is active, such that the vconsole setup helper
    runs too early.
    
    The existing rule is non-fitting. The going live of the fbcon kernel
    component does not indicate the proper time at which to load the
    visuals, which really ought to be done when a new vtcon object comes
    into existence. (The font table is a per-vtcon property.)
    
    (cherry picked from commit a52750d1483ff139df33149afc0b675531e9cd79)

diff --git a/src/vconsole/90-vconsole.rules.in b/src/vconsole/90-vconsole.rules.in
index 0620096..35b9ad5 100644
--- a/src/vconsole/90-vconsole.rules.in
+++ b/src/vconsole/90-vconsole.rules.in
@@ -5,7 +5,6 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 
-# Kernel resets vconsole state when changing console drivers so run
-# systemd-vconsole-setup when fbcon loads
-
-ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fbcon", RUN+="@rootlibexecdir@/systemd-vconsole-setup"
+# Each vtcon keeps its own state of fonts.
+#
+ACTION=="add", SUBSYSTEM=="vtconsole", KERNEL=="vtcon*", RUN+="@rootlibexecdir@/systemd-vconsole-setup"

commit 9e28311ad66214528c4644ca593bcb5259462341
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Fri Mar 6 11:02:04 2015 +1000

    hwdb: add Lenovo W451 to TOUCHPAD_HAS_TRACKPOINT_BUTTONS list
    
    (cherry picked from commit 9638ee90862e4a24f5796e87beebc4c47e2728c2)

diff --git a/hwdb/70-touchpad.hwdb b/hwdb/70-touchpad.hwdb
index 9fcb5fd..8a32446 100644
--- a/hwdb/70-touchpad.hwdb
+++ b/hwdb/70-touchpad.hwdb
@@ -36,6 +36,8 @@
 
 # Lenovo X1 Carbon 3rd
 touchpad:pnpid:*LEN0048*:
+# Lenovo W541
+touchpad:pnpid:*LEN004a*:
 # Lenovo T450s
 touchpad:pnpid:*LEN200f*:
  TOUCHPAD_HAS_TRACKPOINT_BUTTONS=1

commit 71265e69fa8a26d8a9669824eeb3ea9d2fe7c923
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Thu Mar 5 14:58:56 2015 +0100

    tmpfiles: Fix handling of duplicate lines
    
    Commit 3f93da987 accidentally dropped the "return 0" after detection of a
    duplicate line. Put it back, to get back the documented and intended "first
    match wins" behaviour.
    
    https://launchpad.net/bugs/1428540
    (cherry picked from commit 6487ada88d63e4998113f4c57fa10b7c865f8026)

diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 187997e..1e10968 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -1750,9 +1750,11 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
                 unsigned n;
 
                 for (n = 0; n < existing->count; n++) {
-                        if (!item_compatible(existing->items + n, &i))
+                        if (!item_compatible(existing->items + n, &i)) {
                                 log_warning("[%s:%u] Duplicate line for path \"%s\", ignoring.",
                                             fname, line, i.path);
+                                return 0;
+                        }
                 }
         } else {
                 existing = new0(ItemArray, 1);

commit 09787b60a3876972b9194fe403a9ad9282f5dd86
Author: Jonathon Gilbert <coroutines at gmail.com>
Date:   Thu Mar 5 20:29:56 2015 +1000

    hwdb: add Logitech G5 Laser Mouse
    
    (cherry picked from commit 6437edbebe80e68b782f178c7a76e870a53811d7)

diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
index a62ebc4..93ee4d9 100644
--- a/hwdb/70-mouse.hwdb
+++ b/hwdb/70-mouse.hwdb
@@ -196,6 +196,8 @@ mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:
 mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:
  MOUSE_DPI=800 at 166
 
+# Logitech G5 Laser Mouse
+mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:
 # Logitech G500s Laser Gaming Mouse
 mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
  MOUSE_DPI=400 at 500 *800 at 500 2000 at 500

commit 7eaa810935ff190e039f465a06663b4d92aea794
Author: Hannes Reinecke <hare at suse.de>
Date:   Wed Mar 4 16:32:17 2015 +0100

    Allow up to 4096 simultaneous connections
    
    On large system we hit the limit on 512 simultaneous dbus
    connections, resulting in tons of annoying messages:
    
    Too many concurrent connections, refusing
    
    This patch raises the limit to 4096.
    
    (cherry picked from commit cbecf9bf929318533fea798c57c10efcf6b2b447)

diff --git a/src/core/dbus.c b/src/core/dbus.c
index 260775c..85b5174 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -44,7 +44,7 @@
 #include "bus-internal.h"
 #include "selinux-access.h"
 
-#define CONNECTIONS_MAX 512
+#define CONNECTIONS_MAX 4096
 
 static void destroy_bus(Manager *m, sd_bus **bus);
 

commit c2695a243c2741939080ef92e06f0dfddb59d2af
Author: Hannes Reinecke <hare at suse.de>
Date:   Wed Mar 4 16:32:16 2015 +0100

    Remove the cap on epoll events
    
    Currently the code will silently blank out events if there are more
    then 512 epoll events, causing them never to be handled at all. This
    patch removes the cap on the number of events for epoll_wait, thereby
    avoiding this issue.
    
    (cherry picked from commit 1c724e9e0ec5bc4bf791a3d7b1cf5b955cdb98b2)

diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
index 25089a0..c6350be 100644
--- a/src/libsystemd/sd-event/sd-event.c
+++ b/src/libsystemd/sd-event/sd-event.c
@@ -37,7 +37,6 @@
 
 #include "sd-event.h"
 
-#define EPOLL_QUEUE_MAX 512U
 #define DEFAULT_ACCURACY_USEC (250 * USEC_PER_MSEC)
 
 typedef enum EventSourceType {
@@ -2367,7 +2366,7 @@ _public_ int sd_event_wait(sd_event *e, uint64_t timeout) {
                 return 1;
         }
 
-        ev_queue_max = CLAMP(e->n_sources, 1U, EPOLL_QUEUE_MAX);
+        ev_queue_max = MAX(e->n_sources, 1u);
         ev_queue = newa(struct epoll_event, ev_queue_max);
 
         m = epoll_wait(e->epoll_fd, ev_queue, ev_queue_max,

commit cc32b9d93a797ce30b139e839432c49ec228271f
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Wed Mar 4 20:25:04 2015 -0500

    hwdb: fix Dell XPS12 9Q33 key name
    
    https://bugs.freedesktop.org/show_bug.cgi?id=84437
    (cherry picked from commit 4f70555d76c90ffdc5a5e4f75bbc08b38022c911)

diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
index 2cb9769..8890665 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -259,7 +259,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr*
 # Dell XPS12 9Q33
 keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr*
  KEYBOARD_KEY_88=wlan
- KEYBOARD_KEY_65=switchvideomode                        # Screen Rotate
+ KEYBOARD_KEY_65=direction                              # Screen Rotate
 
 # Dell Latitude microphone mute
 keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*

commit 9b6d1109707911b63b76b1c7a26e89a21cef9011
Author: John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>
Date:   Thu Mar 5 00:07:33 2015 +0100

    Use correct uname identifiers in arch_map for SuperH architecture
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89421
    (cherry picked from commit 3a867c6a2361c8af943d3ed452da6e8623a3f65d)

diff --git a/src/shared/architecture.c b/src/shared/architecture.c
index 34c5a53..884abdd 100644
--- a/src/shared/architecture.c
+++ b/src/shared/architecture.c
@@ -108,8 +108,12 @@ int uname_architecture(void) {
                 { "armv8l",     ARCHITECTURE_ARM      },
                 { "armv8b",     ARCHITECTURE_ARM_BE   },
 #elif defined(__sh__) || defined(__sh64__)
-                { "sh64",       ARCHITECTURE_SH64     },
-                { "sh",         ARCHITECTURE_SH       },
+                { "sh5",        ARCHITECTURE_SH64     },
+                { "sh2",        ARCHITECTURE_SH       },
+                { "sh2a",       ARCHITECTURE_SH       },
+                { "sh3",        ARCHITECTURE_SH       },
+                { "sh4",        ARCHITECTURE_SH       },
+                { "sh4a",       ARCHITECTURE_SH       },
 #elif defined(__m68k__)
                 { "m68k",       ARCHITECTURE_M68K     },
 #elif defined(__tilegx__)

commit 4015611680b1ee7ba43dbaf405fefb7ddb137797
Author: Zachary Cook <zachcook1991 at gmail.com>
Date:   Wed Mar 4 18:43:20 2015 -0500

    man: replace obsolete wiki link with man page
    
    (cherry picked from commit b1c1a51944e8e11545ae2a230d674f5145595192)

diff --git a/man/systemd-cryptsetup-generator.xml b/man/systemd-cryptsetup-generator.xml
index 0e48e79..1974cd7 100644
--- a/man/systemd-cryptsetup-generator.xml
+++ b/man/systemd-cryptsetup-generator.xml
@@ -59,10 +59,8 @@
     <citerefentry><refentrytitle>systemd-cryptsetup at .service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     units as necessary.</para>
 
-    <para><filename>systemd-cryptsetup-generator</filename>
-    implements the <ulink
-    url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <para><filename>systemd-cryptsetup-generator</filename> implements
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd-debug-generator.xml b/man/systemd-debug-generator.xml
index 74c3b26..5c5e9fc 100644
--- a/man/systemd-debug-generator.xml
+++ b/man/systemd-debug-generator.xml
@@ -79,10 +79,8 @@
     <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
     <command>enable</command> command.</para>
 
-    <para><filename>systemd-debug-generator</filename> implements the
-    <ulink
-    url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <para><filename>systemd-debug-generator</filename> implements
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd-efi-boot-generator.xml b/man/systemd-efi-boot-generator.xml
index b2d8d65..fd7ba79 100644
--- a/man/systemd-efi-boot-generator.xml
+++ b/man/systemd-efi-boot-generator.xml
@@ -68,9 +68,7 @@
     only be activated on-demand, when accessed.</para>
 
     <para><filename>systemd-efi-boot-generator</filename> implements
-    the <ulink
-    url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml
index 8f82e33..022efb4 100644
--- a/man/systemd-fstab-generator.xml
+++ b/man/systemd-fstab-generator.xml
@@ -71,10 +71,8 @@
     for more information about special <filename>/etc/fstab</filename>
     mount options this generator understands.</para>
 
-    <para><filename>systemd-fstab-generator</filename> implements the
-    <ulink
-    url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <para><filename>systemd-fstab-generator</filename> implements
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd-getty-generator.xml b/man/systemd-getty-generator.xml
index 0b5b2f2..3389259 100644
--- a/man/systemd-getty-generator.xml
+++ b/man/systemd-getty-generator.xml
@@ -75,9 +75,8 @@
     for more information on the <varname>console=</varname> kernel
     parameter.</para>
 
-    <para><filename>systemd-getty-generator</filename> implements the
-    <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <para><filename>systemd-getty-generator</filename> implements
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
 
     <para>Further information about configuration of gettys you may
     find in
diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml
index 9c706df..8d2eaca 100644
--- a/man/systemd-gpt-auto-generator.xml
+++ b/man/systemd-gpt-auto-generator.xml
@@ -157,9 +157,7 @@
     using <command>btrfs subvolume set-default</command>.</para>
 
     <para><filename>systemd-gpt-auto-generator</filename> implements
-    the
-    <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generator
-    Specification</ulink>.</para>
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd-system-update-generator.xml b/man/systemd-system-update-generator.xml
index 3eec1d7..e7fc95c 100644
--- a/man/systemd-system-update-generator.xml
+++ b/man/systemd-system-update-generator.xml
@@ -61,10 +61,8 @@
     Updates Specification</ulink>.
     </para>
 
-    <para><filename>systemd-system-update-generator</filename>
-    implements the
-    <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <para><filename>systemd-system-update-generator</filename> implements
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd-sysv-generator.xml b/man/systemd-sysv-generator.xml
index e619b1b..f2d56cb 100644
--- a/man/systemd-sysv-generator.xml
+++ b/man/systemd-sysv-generator.xml
@@ -81,10 +81,8 @@
     part of early boot, so all wrapper units are ordered after
     <filename>basic.target</filename>.</para>
 
-    <para><filename>systemd-sysv-generator</filename>
-    implements the <ulink
-    url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
-    specification</ulink>.</para>
+    <para><filename>systemd-sysv-generator</filename> implements
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
   </refsect1>
 
   <refsect1>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 09e11b4..a452f87 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -357,8 +357,8 @@
     from directories not on the unit load path. See the
     <command>link</command> command for
     <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
-    Also, some units are dynamically created via generators <ulink
-    url="http://www.freedesktop.org/wiki/Software/systemd/Generators/">Generators</ulink>.
+    Also, some units are dynamically created via a
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
     </para>
   </refsect1>
 
diff --git a/man/systemd.xml b/man/systemd.xml
index 80591dc..9b92140 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -415,9 +415,8 @@
 
     <para>Units may be generated dynamically at boot and system
     manager reload time, for example based on other configuration
-    files or parameters passed on the kernel command line. For details
-    see the
-    <ulink url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generators Specification</ulink>.</para>
+    files or parameters passed on the kernel command line. For details see
+    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
 
     <para>Systems which invoke systemd in a container or initrd
     environment should implement the

commit 67ec035b3c192e71fb040959fe8d311d9c89edaa
Author: Tom Gundersen <teg at jklm.no>
Date:   Wed Mar 4 10:33:50 2015 +0100

    networkd: netdev - inform when we take over an existing netdev
    
    The crucial point here is that we will not change the settings of a netdev created by someone else
    we simply use it as is and trust it was set up as intended.
    
    This is confusing in the case of the pre-created netdev's (bond0 etc.), the solution should probably
    be to simply make the kernel stop creating these devices as they are pretty useless.
    
    (cherry picked from commit ff88a301e93cf1bddbaa7faa981f390a2a81a4bb)

diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c
index 8119205..7d193d0 100644
--- a/src/network/networkd-netdev.c
+++ b/src/network/networkd-netdev.c
@@ -261,7 +261,7 @@ static int netdev_create_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userda
 
         r = sd_rtnl_message_get_errno(m);
         if (r == -EEXIST)
-                log_netdev_debug(netdev, "netdev exists, using existing");
+                log_info_netdev(netdev, "netdev exists, using existing without changing its parameters");
         else if (r < 0) {
                 log_warning_netdev(netdev, "netdev could not be created: %s", strerror(-r));
                 netdev_drop(netdev);

commit 0e1497b9c44688f5a038dbcc7d69090d55e2701a
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Wed Mar 4 13:24:45 2015 +1000

    hwdb: add pnpid for the T450s touchpad
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89411
    (cherry picked from commit c26c1d86b3e466e073577e27ad839a0c112cd17b)

diff --git a/hwdb/70-touchpad.hwdb b/hwdb/70-touchpad.hwdb
index bbf44db..9fcb5fd 100644
--- a/hwdb/70-touchpad.hwdb
+++ b/hwdb/70-touchpad.hwdb
@@ -36,4 +36,6 @@
 
 # Lenovo X1 Carbon 3rd
 touchpad:pnpid:*LEN0048*:
+# Lenovo T450s
+touchpad:pnpid:*LEN200f*:
  TOUCHPAD_HAS_TRACKPOINT_BUTTONS=1

commit fdf1ec82999b343bedaeb48bca55f2dc53d2646d
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Tue Mar 3 19:10:21 2015 -0500

    Do not advertise .d snippets over main config file
    
    For daemons which have a main configuration file, there's
    little reason for the administrator to use configuration snippets.
    They are useful for packagers which need to override settings, but
    we shouldn't advertise that as the main way of configuring those
    services.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89397
    (cherry picked from commit e93549ef29c4123d9ee45acb5815048390201e49)

diff --git a/man/bootchart.conf.xml b/man/bootchart.conf.xml
index 8d9700d..bf6ca0b 100644
--- a/man/bootchart.conf.xml
+++ b/man/bootchart.conf.xml
@@ -68,8 +68,7 @@
     parameters and graph output.</para>
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/coredump.conf.xml b/man/coredump.conf.xml
index 3d325e6..0b7329b 100644
--- a/man/coredump.conf.xml
+++ b/man/coredump.conf.xml
@@ -63,8 +63,7 @@
     a handler for core dumps invoked by the kernel.</para>
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/journald.conf.xml b/man/journald.conf.xml
index 364b58f..85146b0 100644
--- a/man/journald.conf.xml
+++ b/man/journald.conf.xml
@@ -64,8 +64,7 @@
 
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/logind.conf.xml b/man/logind.conf.xml
index ffaec50..ca2b187 100644
--- a/man/logind.conf.xml
+++ b/man/logind.conf.xml
@@ -58,11 +58,13 @@
   <refsect1>
     <title>Description</title>
 
-    <para>These files configure various parameters of the systemd login manager, <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+    <para>These files configure various parameters of the systemd
+    login manager,
+    <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+    </para>
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/resolved.conf.xml b/man/resolved.conf.xml
index 36cae27..8047a4e 100644
--- a/man/resolved.conf.xml
+++ b/man/resolved.conf.xml
@@ -63,8 +63,7 @@
 
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/standard-conf.xml b/man/standard-conf.xml
index b87d7e9..36af459 100644
--- a/man/standard-conf.xml
+++ b/man/standard-conf.xml
@@ -33,13 +33,39 @@
     configuration file.</para>
   </refsection>
 
-  <refsection id='conf'>
-    <title>Configuration File</title>
-
-    <para>Configuration is also read from a single configuration file in
-    <filename>/etc/</filename>. This file is read before any of the
-    configuration directories, and has the lowest precedence; entries in a file
-    in any configuration directory override entries in the single configuration
-    file.</para>
+  <refsection id='main-conf'>
+    <title>Configuration Directories and Precedence</title>
+
+    <para>Default configuration is defined during compilation, so a
+    configuration file is only needed when it is necessary to deviate
+    from those defaults. By default the configuration file in
+    <filename>/etc/systemd/</filename> contains commented out entries
+    showing the defaults as a guide to the administrator. This file
+    can be edited to create local overrides.
+    </para>
+
+    <para>When packages need to customize the configuration, they can
+    install configuration snippets in
+    <filename>/usr/lib/systemd/*.conf.d/</filename>. Files in
+    <filename>/etc/</filename> are reserved for the local
+    administrator, who may use this logic to override the
+    configuration files installed by vendor packages. The main
+    configuration file is read before any of the configuration
+    directories, and has the lowest precedence; entries in a file in
+    any configuration directory override entries in the single
+    configuration file. Files in the
+    <filename>logind.conf.d/</filename> configuration subdirectories
+    are sorted by their filename in lexicographic order, regardless of
+    which of the subdirectories they reside in. If multiple files
+    specify the same option, the entry in the file with the
+    lexicographically latest name takes precedence.  It is recommended
+    to prefix all filenames in those subdirectories with a two-digit
+    number and a dash, to simplify the ordering of the files.</para>
+
+    <para>To disable a configuration file supplied by the vendor, the
+    recommended way is to place a symlink to
+    <filename>/dev/null</filename> in the configuration directory in
+    <filename>/etc/</filename>, with the same filename as the vendor
+    configuration file.</para>
   </refsection>
 </refsection>
diff --git a/man/systemd-sleep.conf.xml b/man/systemd-sleep.conf.xml
index 433f2f8..bb17ec8 100644
--- a/man/systemd-sleep.conf.xml
+++ b/man/systemd-sleep.conf.xml
@@ -112,8 +112,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     attempts to suspend or hibernate the machine.</para>
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
index 7c3f237..c7bcfae 100644
--- a/man/systemd-system.conf.xml
+++ b/man/systemd-system.conf.xml
@@ -74,8 +74,7 @@
     operations.</para>
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/man/timesyncd.conf.xml b/man/timesyncd.conf.xml
index 1127970..89a651c 100644
--- a/man/timesyncd.conf.xml
+++ b/man/timesyncd.conf.xml
@@ -63,8 +63,7 @@
 
   </refsect1>
 
-  <xi:include href="standard-conf.xml" xpointer="confd" />
-  <xi:include href="standard-conf.xml" xpointer="conf" />
+  <xi:include href="standard-conf.xml" xpointer="main-conf" />
 
   <refsect1>
     <title>Options</title>
diff --git a/src/bootchart/bootchart.conf b/src/bootchart/bootchart.conf
index 2d7cb61..4f5e509 100644
--- a/src/bootchart/bootchart.conf
+++ b/src/bootchart/bootchart.conf
@@ -5,10 +5,11 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/bootchart.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
-# See bootchart.conf(5) for details
+# See bootchart.conf(5) for details.
 
 [Bootchart]
 #Samples=500
diff --git a/src/core/system.conf b/src/core/system.conf
index a372720..2316090 100644
--- a/src/core/system.conf
+++ b/src/core/system.conf
@@ -5,10 +5,11 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/system.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
-# See systemd-system.conf(5) for details
+# See systemd-system.conf(5) for details.
 
 [Manager]
 #LogLevel=info
diff --git a/src/journal/coredump.conf b/src/journal/coredump.conf
index 0fe9fe8..c2f0643 100644
--- a/src/journal/coredump.conf
+++ b/src/journal/coredump.conf
@@ -5,10 +5,11 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/coredump.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
-# See coredump.conf(5) for details
+# See coredump.conf(5) for details.
 
 [Coredump]
 #Storage=external
diff --git a/src/journal/journald.conf b/src/journal/journald.conf
index 29bdf8f..47eefe9 100644
--- a/src/journal/journald.conf
+++ b/src/journal/journald.conf
@@ -5,10 +5,11 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/journald.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
-# See journald.conf(5) for details
+# See journald.conf(5) for details.
 
 [Journal]
 #Storage=auto
diff --git a/src/login/logind.conf b/src/login/logind.conf
index 6b1943a..834c4c2 100644
--- a/src/login/logind.conf
+++ b/src/login/logind.conf
@@ -5,10 +5,11 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/logind.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
-# See logind.conf(5) for details
+# See logind.conf(5) for details.
 
 [Login]
 #NAutoVTs=6
diff --git a/src/resolve/resolved.conf.in b/src/resolve/resolved.conf.in
index e5a19ee..3eb19e4 100644
--- a/src/resolve/resolved.conf.in
+++ b/src/resolve/resolved.conf.in
@@ -5,8 +5,9 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/resolved.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
 # See resolved.conf(5) for details
 
diff --git a/src/timesync/timesyncd.conf.in b/src/timesync/timesyncd.conf.in
index fc3c6c4..b6a2ada 100644
--- a/src/timesync/timesyncd.conf.in
+++ b/src/timesync/timesyncd.conf.in
@@ -5,10 +5,11 @@
 #  the Free Software Foundation; either version 2.1 of the License, or
 #  (at your option) any later version.
 #
-# You can override the directives in this file by creating files in
-# /etc/systemd/timesyncd.conf.d/*.conf.
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
 #
-# See timesyncd.conf(5) for details
+# See timesyncd.conf(5) for details.
 
 [Time]
 #NTP=

commit 83a122de87bc2e5c01c083029d216da4241fe948
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Tue Mar 3 09:00:39 2015 -0500

    README: mention ACLs more
    
    They are now useful for any fs used for journal storage.
    
    (cherry picked from commit a6cccd8f580fc1e062dba3895e232007acd38781)

diff --git a/README b/README
index c722092..aac255f 100644
--- a/README
+++ b/README
@@ -77,8 +77,8 @@ REQUIREMENTS:
         Optional but strongly recommended:
           CONFIG_IPV6
           CONFIG_AUTOFS4_FS
-          CONFIG_TMPFS_POSIX_ACL
           CONFIG_TMPFS_XATTR
+          CONFIG_{TMPFS,EXT4,XFS,BTRFS_FS,...}_POSIX_ACL
           CONFIG_SECCOMP
 
         Required for CPUShares in resource control unit settings

commit 7b95274e6adeec3b7bb44fd7cfe0a50902615151
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Tue Mar 3 10:36:47 2015 -0500

    Do not run sysv-generator-test when sysv compat is disabled
    
    (cherry picked from commit dcf1369057231fbf09e37b5a48483763b4ae6e19)

diff --git a/Makefile.am b/Makefile.am
index cc577ce..aadaad2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3786,9 +3786,14 @@ TESTS += \
 if HAVE_PYTHON
 TESTS += \
 	test/rule-syntax-check.py \
+	$(NULL)
+
+if HAVE_SYSV_COMPAT
+TESTS += \
 	test/sysv-generator-test.py \
 	$(NULL)
 endif
+endif
 
 manual_tests += \
 	test-libudev \

commit f0637f329a5da0680cd7ef79cc05ecdaa0194d82
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Tue Mar 3 00:05:14 2015 -0500

    bus-proxyd: avoid logging oom twice
    
    (cherry picked from commit c29005212dc38d98c707639d1a82ffa5270f2e97)

diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c
index b6b0056..b6550ed 100644
--- a/src/bus-proxyd/bus-proxyd.c
+++ b/src/bus-proxyd/bus-proxyd.c
@@ -82,7 +82,7 @@ static int client_context_new(ClientContext **out) {
 
         c = new0(ClientContext, 1);
         if (!c)
-                return log_oom();
+                return -ENOMEM;
 
         c->fd = -1;
 

commit 33ffe19b7c01fc1f4d32c629d4c6462776d84644
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Mar 3 00:11:51 2015 +0100

    man: fix typo
    
    (cherry picked from commit a68188812290cb9ec9f3f8a17b65e64549a4fd65)

diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml
index 4480e19..ef58887 100644
--- a/man/systemd.netdev.xml
+++ b/man/systemd.netdev.xml
@@ -108,7 +108,7 @@
           <entry>A bond device is an aggregation of all its slave devices. See <ulink url="https://www.kernel.org/doc/Documentation/networking/bonding.txt">Linux Ethernet Bonding Driver HOWTO</ulink> for details.Local configuration</entry></row>
 
           <row><entry><varname>bridge</varname></entry>
-          <entry>A bridge devcie is a software switch, each of its slave devices and the bridge itself are ports of the switch.</entry></row>
+          <entry>A bridge device is a software switch, each of its slave devices and the bridge itself are ports of the switch.</entry></row>
 
           <row><entry><varname>dummy</varname></entry>
           <entry>A dummy device drops all packets sent to it.</entry></row>

commit 86d07870ff23fb3a0d13760d31ff23409ef19523
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sun Mar 1 22:46:43 2015 -0500

    build-sys: allow lto and FORTIFY_SOURCE with -O[sz]
    
    https://bugs.freedesktop.org/show_bug.cgi?id=89382
    (cherry picked from commit 0289f2fb2a64df53b589b771f69c43126b029590)

diff --git a/configure.ac b/configure.ac
index 97a29d6..6bc3474 100644
--- a/configure.ac
+++ b/configure.ac
@@ -208,13 +208,13 @@ AS_CASE([$CC], [*clang*],
                -Wno-gnu-variable-sized-type-not-at-end \
         ])])
 
-AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
+AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
         [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
                -flto -ffat-lto-objects])],
         [AC_MSG_RESULT([skipping -flto, optimization not enabled])])
 AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags")
 
-AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
+AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
         [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
                -Wp,-D_FORTIFY_SOURCE=2])],
         [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])

commit dd416d4c05eb40bc80380978779cfbc67fab7d35
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Fri Feb 27 17:26:42 2015 -0500

    man: correct description of systemd-user-sessions
    
    That part of functionality was removed in 7fb3ee51c1b377.
    
    (cherry picked from commit 3849a2ac8198fedd25e66fe780821fa96eb6396d)

diff --git a/man/systemd-user-sessions.service.xml b/man/systemd-user-sessions.service.xml
index 9d796b1..e75ef11 100644
--- a/man/systemd-user-sessions.service.xml
+++ b/man/systemd-user-sessions.service.xml
@@ -55,13 +55,12 @@
     <title>Description</title>
 
     <para><filename>systemd-user-sessions.service</filename> is a
-    service that controls user logins. After basic system
-    initialization is complete it removes
+    service that controls user logins through
+    <citerefentry project='man-pages'><refentrytitle>pam_nologin</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+    After basic system initialization is complete it removes
     <filename>/run/nologin</filename>, thus permitting logins. Before
     system shutdown it creates <filename>/run/nologin</filename>, thus
-    prohibiting further logins. At the same time it also kills all
-    user processes, so that system shutdown may proceed without any
-    remaining user processes around.</para>
+    prohibiting further logins.</para>
   </refsect1>
 
   <refsect1>

commit 99ed674eb8f9bdaa45d937379c2f00ea684a7fc9
Author: Daniel Mack <daniel at zonque.org>
Date:   Fri Feb 27 20:05:26 2015 +0100

    shared/condition: fix gcc5 warning
    
    Fixes the warning below.
    
    src/shared/condition.c: In function ‘condition_new’:
    src/shared/condition.c:47:27: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
             assert(!parameter == (type == CONDITION_NULL));
                               ^
    src/shared/macro.h:42:44: note: in definition of macro ‘_unlikely_’
     #define _unlikely_(x) (__builtin_expect(!!(x),0))
                                                ^
    src/shared/macro.h:226:22: note: in expansion of macro ‘assert_se’
     #define assert(expr) assert_se(expr)
                          ^
    src/shared/condition.c:47:9: note: in expansion of macro ‘assert’
             assert(!parameter == (type == CONDITION_NULL));
             ^
    
    (cherry picked from commit 8a9c6071cb7467170010f0287672c987981bdf9c)

diff --git a/src/shared/condition.c b/src/shared/condition.c
index da7560f..796cc52 100644
--- a/src/shared/condition.c
+++ b/src/shared/condition.c
@@ -46,7 +46,7 @@ Condition* condition_new(ConditionType type, const char *parameter, bool trigger
 
         assert(type >= 0);
         assert(type < _CONDITION_TYPE_MAX);
-        assert(!parameter == (type == CONDITION_NULL));
+        assert((!parameter) == (type == CONDITION_NULL));
 
         c = new0(Condition, 1);
         if (!c)

commit c10e229f8222b92117ba38045ddb3e4d7951244a
Author: Arend van Spriel <arend at broadcom.com>
Date:   Wed Feb 25 11:02:39 2015 +0100

    hwdb: add sdio identifiers for Broadcom WLAN cards
    
    This patch adds the sdio identifiers known to be supported by
    the brcmfmac open-source driver.
    
    (cherry picked from commit 0c591b6c92ded66bea5ed615796b0f8c1cd6b422)

diff --git a/hwdb/sdio.ids b/hwdb/sdio.ids
index 8a4c713..d617297 100644
--- a/hwdb/sdio.ids
+++ b/hwdb/sdio.ids
@@ -34,6 +34,16 @@
 	5347  GDM72xx WiMAX
 02d0  Broadcom Corp.
 	044b  Nintendo Wii WLAN daughter card
+	a887  BCM43143 WLAN card
+	4324  BCM43241 WLAN card
+	4329  BCM4329 WLAN card
+	4330  BCM4330 WLAN card
+	4334  BCM4334 WLAN card
+	a94c  BCM43340 WLAN card
+	a94d  BCM43341 WLAN card
+	4335  BCM4335/BCM4339 WLAN card
+	a962  BCM43362 WLAN card
+	4354  BCM4354 WLAN card
 02db  SyChip Inc.
 	0002  Pegasus WLAN SDIO Card (6060SD)
 02df  Marvell Technology Group Ltd.

commit 55c5c56d07d4e1d402ee33dbcf4a04aa20c4279c
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Tue Feb 24 19:45:17 2015 +0100

    journal: make skipping of exhausted journal files effective again
    
    Commit 668c965af "journal: skipping of exhausted journal files is bad if
    direction changed" fixed a correctness issue, but it also significantly
    limited the cases where the optimization that skips exhausted journal
    files could apply.
    As a result, some journalctl queries are much slower in v219 than in v218.
    (e.g. queries where a "--since" cutoff should have quickly eliminated
    older journal files from consideration, but didn't.)
    
    If already in the initial iteration find_location_with_matches() finds
    no entry, the journal file's location is not updated. This is fine,
    except that:
     - We must update at least f->last_direction. The optimization relies on
       it. Let's separate that from journal_file_save_location() and update
       it immediately after the direction checks.
     - The optimization was conditional on "f->current_offset > 0", but it
       would always be 0 in this scenario. This check is unnecessary for the
       optimization.
    
    (cherry picked from commit 950c07d421c04e5aae99973479f4f13131fb45e1)

diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
index 0f28718..24c49b9 100644
--- a/src/journal/journal-file.c
+++ b/src/journal/journal-file.c
@@ -2014,8 +2014,7 @@ void journal_file_reset_location(JournalFile *f) {
         f->current_xor_hash = 0;
 }
 
-void journal_file_save_location(JournalFile *f, direction_t direction, Object *o, uint64_t offset) {
-        f->last_direction = direction;
+void journal_file_save_location(JournalFile *f, Object *o, uint64_t offset) {
         f->location_type = LOCATION_SEEK;
         f->current_offset = offset;
         f->current_seqnum = le64toh(o->entry.seqnum);
diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h
index 2526e14..403c8f7 100644
--- a/src/journal/journal-file.h
+++ b/src/journal/journal-file.h
@@ -199,7 +199,7 @@ int journal_file_find_field_object(JournalFile *f, const void *field, uint64_t s
 int journal_file_find_field_object_with_hash(JournalFile *f, const void *field, uint64_t size, uint64_t hash, Object **ret, uint64_t *offset);
 
 void journal_file_reset_location(JournalFile *f);
-void journal_file_save_location(JournalFile *f, direction_t direction, Object *o, uint64_t offset);
+void journal_file_save_location(JournalFile *f, Object *o, uint64_t offset);
 int journal_file_compare_locations(JournalFile *af, JournalFile *bf);
 int journal_file_next_entry(JournalFile *f, uint64_t p, direction_t direction, Object **ret, uint64_t *offset);
 
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 94891cd..9b57e59 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -723,13 +723,17 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
         assert(j);
         assert(f);
 
-        if (f->last_direction == direction && f->current_offset > 0) {
-                /* If we hit EOF before, recheck if any new entries arrived. */
-                n_entries = le64toh(f->header->n_entries);
-                if (f->location_type == LOCATION_TAIL && n_entries == f->last_n_entries)
-                        return 0;
-                f->last_n_entries = n_entries;
+        n_entries = le64toh(f->header->n_entries);
+
+        /* If we hit EOF before, we don't need to look into this file again
+         * unless direction changed or new entries appeared. */
+        if (f->last_direction == direction && f->location_type == LOCATION_TAIL &&
+            n_entries == f->last_n_entries)
+                return 0;
 
+        f->last_n_entries = n_entries;
+
+        if (f->last_direction == direction && f->current_offset > 0) {
                 /* LOCATION_SEEK here means we did the work in a previous
                  * iteration and the current location already points to a
                  * candidate entry. */
@@ -738,14 +742,16 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
                         if (r <= 0)
                                 return r;
 
-                        journal_file_save_location(f, direction, c, cp);
+                        journal_file_save_location(f, c, cp);
                 }
         } else {
+                f->last_direction = direction;
+
                 r = find_location_with_matches(j, f, direction, &c, &cp);
                 if (r <= 0)
                         return r;
 
-                journal_file_save_location(f, direction, c, cp);
+                journal_file_save_location(f, c, cp);
         }
 
         /* OK, we found the spot, now let's advance until an entry
@@ -773,7 +779,7 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
                 if (r <= 0)
                         return r;
 
-                journal_file_save_location(f, direction, c, cp);
+                journal_file_save_location(f, c, cp);
         }
 }
 

commit d150bc380c90b7ec9fda50f0124e75b12e489ef1
Author: Marcel Holtmann <marcel at holtmann.org>
Date:   Wed Feb 25 07:27:49 2015 +0100

    hwdb: Update database of Bluetooth company identifiers
    
    (cherry picked from commit 3cabeab1197d3e45f16f514f5a396e0fb311e867)

diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
index fb789fd..4fd951a 100644
--- a/hwdb/20-bluetooth-vendor-product.hwdb
+++ b/hwdb/20-bluetooth-vendor-product.hwdb
@@ -1430,3 +1430,45 @@ bluetooth:v01D9*
 
 bluetooth:v01DA*
  ID_VENDOR_FROM_DATABASE=Logitech International SA
+
+bluetooth:v01DB*
+ ID_VENDOR_FROM_DATABASE=Innblue Consulting
+
+bluetooth:v01DC*
+ ID_VENDOR_FROM_DATABASE=iParking Ltd.
+
+bluetooth:v01DD*
+ ID_VENDOR_FROM_DATABASE=Koninklijke Philips Electronics N.V.
+
+bluetooth:v01DE*
+ ID_VENDOR_FROM_DATABASE=Minelab Electronics Pty Limited
+
+bluetooth:v01DF*
+ ID_VENDOR_FROM_DATABASE=Bison Group Ltd.
+
+bluetooth:v01E0*
+ ID_VENDOR_FROM_DATABASE=Widex A/S
+
+bluetooth:v01E1*
+ ID_VENDOR_FROM_DATABASE=Jolla Ltd
+
+bluetooth:v01E2*
+ ID_VENDOR_FROM_DATABASE=Lectronix, Inc.
+
+bluetooth:v01E3*
+ ID_VENDOR_FROM_DATABASE=Caterpillar Inc
+
+bluetooth:v01E4*
+ ID_VENDOR_FROM_DATABASE=Freedom Innovations
+
+bluetooth:v01E5*
+ ID_VENDOR_FROM_DATABASE=Dynamic Devices Ltd
+
+bluetooth:v01E6*
+ ID_VENDOR_FROM_DATABASE=Technology Solutions (UK) Ltd
+
+bluetooth:v01E7*
+ ID_VENDOR_FROM_DATABASE=IPS Group Inc.
+
+bluetooth:v01E8*
+ ID_VENDOR_FROM_DATABASE=STIR

commit cf0e4940eadeb4636a958e8d7bc243dd03120eb8
Author: Cristian Rodríguez <crrodriguez at opensuse.org>
Date:   Fri Feb 20 15:14:56 2015 -0300

    shared: fix wrong assertion in barrier_set_role()
    
     assert(b->pipe[0] >= 0 && b->pipe[0] >= 0);
    
    Test the same condition twice, pretty sure we mean
    
     assert(b->pipe[0] >= 0 && b->pipe[1] >= 0);
    
    (cherry picked from commit 3f7f1fad7621f584d9ce024abb313ecbc9bd0e62)

diff --git a/src/shared/barrier.c b/src/shared/barrier.c
index f65363a..b7dca75 100644
--- a/src/shared/barrier.c
+++ b/src/shared/barrier.c
@@ -178,7 +178,7 @@ void barrier_set_role(Barrier *b, unsigned int role) {
         assert(b);
         assert(role == BARRIER_PARENT || role == BARRIER_CHILD);
         /* make sure this is only called once */
-        assert(b->pipe[1] >= 0 && b->pipe[1] >= 0);
+        assert(b->pipe[0] >= 0 && b->pipe[1] >= 0);
 
         if (role == BARRIER_PARENT)
                 b->pipe[1] = safe_close(b->pipe[1]);

commit 6af0a4ba45b63072df70ca4d6a8fc5790c66e149
Author: Daniel Mack <daniel at zonque.org>
Date:   Tue Feb 24 16:24:14 2015 +0100

    test-hashmap: fix gcc5 warning
    
    gcc5 spits out a warning about test-hashmap.c:
    
      CC       src/test/test-hashmap.o
    src/test/test-hashmap.c: In function ‘test_string_compare_func’:
    src/test/test-hashmap.c:76:79: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
    
    (cherry picked from commit 4b3eff61640672bf0b19cb8cdd88ce5e84dcda1c)

diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c
index 6900da9..351563b 100644
--- a/src/test/test-hashmap.c
+++ b/src/test/test-hashmap.c
@@ -75,7 +75,7 @@ static void test_trivial_compare_func(void) {
 }
 
 static void test_string_compare_func(void) {
-        assert_se(!string_compare_func("fred", "wilma") == 0);
+        assert_se(string_compare_func("fred", "wilma") != 0);
         assert_se(string_compare_func("fred", "fred") == 0);
 }
 

commit c52febcc0314c85d5a0cefc95d7f9ee0d7eb7081
Author: Daniel Mack <daniel at zonque.org>
Date:   Tue Feb 24 16:18:43 2015 +0100

    shared/unit-name: fix gcc5 warning
    
    Fix the following gcc5 warning:
    
      CC       src/shared/libsystemd_shared_la-unit-name.lo
    src/shared/unit-name.c: In function 'unit_name_is_valid':
    src/shared/unit-name.c:102:34: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
                     if (!template_ok == TEMPLATE_VALID && at+1 == e)
                                      ^
    
    (cherry picked from commit f9bf3e260c480f7b660bec3f78a13f52a46ec34d)

diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
index 21b6691..f728af4 100644
--- a/src/shared/unit-name.c
+++ b/src/shared/unit-name.c
@@ -100,7 +100,7 @@ bool unit_name_is_valid(const char *n, enum template_valid template_ok) {
                 if (at == n)
                         return false;
 
-                if (!template_ok == TEMPLATE_VALID && at+1 == e)
+                if (template_ok != TEMPLATE_VALID && at+1 == e)
                         return false;
         }
 

commit bddb25b6d9f5b1cf7f7219b3f23e3668f9563d6e
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sat Feb 7 11:35:37 2015 -0500

    systemctl: support auditd.service better
    
    We would print the filename header before trying to open the file. But since
    the header was printed to stdout, and the error to stderr, the error would appear
    on the terminal before the header. It is cleaner to open the file first, then
    and only then print the header.
    
    Also exit on first error. We shouldn't report success if we were unable to open
    a file.
    
    (cherry picked from commit 8527b07be1c5211b50a1a6496585952857a25c73)

diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 3da4d3d..4ec0cff 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -4555,6 +4555,23 @@ static int init_home_and_lookup_paths(char **user_home, char **user_runtime, Loo
         return 0;
 }
 
+static int cat_file(const char *filename, bool newline) {
+        _cleanup_close_ int fd;
+
+        fd = open(filename, O_RDONLY|O_CLOEXEC|O_NOCTTY);
+        if (fd < 0)
+                return -errno;
+
+        printf("%s%s# %s%s\n",
+               newline ? "\n" : "",
+               ansi_highlight_blue(),
+               filename,
+               ansi_highlight_off());
+        fflush(stdout);
+
+        return copy_bytes(fd, STDOUT_FILENO, (off_t) -1, false);
+}
+
 static int cat(sd_bus *bus, char **args) {
         _cleanup_free_ char *user_home = NULL;
         _cleanup_free_ char *user_runtime = NULL;
@@ -4600,32 +4617,15 @@ static int cat(sd_bus *bus, char **args) {
                         puts("");
 
                 if (fragment_path) {
-                        printf("%s# %s%s\n",
-                               ansi_highlight_blue(),
-                               fragment_path,
-                               ansi_highlight_off());
-                        fflush(stdout);
-
-                        r = copy_file_fd(fragment_path, STDOUT_FILENO, false);
-                        if (r < 0) {
-                                log_warning_errno(r, "Failed to cat %s: %m", fragment_path);
-                                continue;
-                        }
+                        r = cat_file(fragment_path, false);
+                        if (r < 0)
+                                return log_warning_errno(r, "Failed to cat %s: %m", fragment_path);
                 }
 
                 STRV_FOREACH(path, dropin_paths) {
-                        printf("%s%s# %s%s\n",
-                               isempty(fragment_path) && path == dropin_paths ? "" : "\n",
-                               ansi_highlight_blue(),
-                               *path,
-                               ansi_highlight_off());
-                        fflush(stdout);
-
-                        r = copy_file_fd(*path, STDOUT_FILENO, false);
-                        if (r < 0) {
-                                log_warning_errno(r, "Failed to cat %s: %m", *path);
-                                continue;
-                        }
+                        r = cat_file(*path, path == dropin_paths);
+                        if (r < 0)
+                                return log_warning_errno(r, "Failed to cat %s: %m", *path);
                 }
         }
 

commit 33ff9ced04684fe88e988fe06573ad73c8d9c20a
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sat Feb 7 11:16:04 2015 -0500

    systemctl: check validity of PID we received
    
    (cherry picked from commit d028e01814a405e83c400c60545785d35dba2a17)

diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 6b93ec8..3da4d3d 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -2881,6 +2881,9 @@ static int check_inhibitors(sd_bus *bus, enum action a) {
                 if (!sv)
                         return log_oom();
 
+                if ((pid_t) pid < 0)
+                        return log_error_errno(ERANGE, "Bad PID %"PRIu32": %m", pid);
+
                 if (!strv_contains(sv,
                                   a == ACTION_HALT ||
                                   a == ACTION_POWEROFF ||
@@ -2892,7 +2895,7 @@ static int check_inhibitors(sd_bus *bus, enum action a) {
                 user = uid_to_name(uid);
 
                 log_warning("Operation inhibited by \"%s\" (PID "PID_FMT" \"%s\", user %s), reason is \"%s\".",
-                            who, pid, strna(comm), strna(user), why);
+                            who, (pid_t) pid, strna(comm), strna(user), why);
 
                 c++;
         }

commit 9b09a6df372e9eec7296c42239c8eef8f6edbdc8
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Mon Feb 23 18:59:17 2015 -0500

    man: explain time units in tmpfiles
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1195294
    (cherry picked from commit 00c53f4283ca41878a84b370840a84760b00d46e)

diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
index 8815bf9..4bd0fcf 100644
--- a/man/tmpfiles.d.xml
+++ b/man/tmpfiles.d.xml
@@ -443,23 +443,22 @@
       delete when cleaning. If a file or directory is older than the
       current time minus the age field, it is deleted. The field
       format is a series of integers each followed by one of the
-      following postfixes for the respective time units:</para>
-
-      <variablelist>
-        <varlistentry>
-          <term><varname>s</varname></term>
-          <term><varname>min</varname></term>
-          <term><varname>h</varname></term>
-          <term><varname>d</varname></term>
-          <term><varname>w</varname></term>
-          <term><varname>ms</varname></term>
-          <term><varname>m</varname></term>
-        <term><varname>us</varname></term></varlistentry>
-      </variablelist>
+      following postfixes for the respective time units:
+      <constant>s</constant>,
+      <constant>m</constant> or <constant>min</constant>,
+      <constant>h</constant>,
+      <constant>d</constant>,
+      <constant>w</constant>,
+      <constant>ms</constant>,
+      <constant>us</constant>,
+      respectively meaning seconds, minutes, hours, days, weeks,
+      milliseconds, and microseconds. Full names of the time units can
+      be used too.
+      </para>
 
       <para>If multiple integers and units are specified, the time
-      values are summed up. If an integer is given without a unit,
-      <varname>s</varname> is assumed.
+      values are summed. If an integer is given without a unit,
+      <constant>s</constant> is assumed.
       </para>
 
       <para>When the age is set to zero, the files are cleaned

commit 8b92bdb0bd91a1614c0132dc31a35ee6193c26da
Author: Jan Synacek <jsynacek at redhat.com>
Date:   Mon Feb 23 15:22:40 2015 +0100

    nspawn: fix whitespace and typo in partition table blurb
    
    (cherry picked from commit 4aab5d0cbd979b2cccb88534f118bceaa86466d8)

diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index fb67251..7724df9 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -2676,7 +2676,7 @@ static int setup_image(char **device_path, int *loop_nr) {
 
 #define PARTITION_TABLE_BLURB \
         "Note that the disk image needs to either contain only a single MBR partition of\n" \
-        "type 0x83 that is marked bootable, or a sinlge GPT partition of type" \
+        "type 0x83 that is marked bootable, or a single GPT partition of type " \
         "0FC63DAF-8483-4772-8E79-3D69D8477DE4 or follow\n" \
         "    http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/\n" \
         "to be bootable with systemd-nspawn."

commit 1295853b39d330c6e7c6ea431a8fc7ce8be801b3
Author: Chris Morin <chris.morin2 at gmail.com>
Date:   Wed Feb 4 14:54:34 2015 -0500

    man: make bootup graph consistent
    
    (cherry picked from commit b44787bd437f4051660272b37bd6f75392f17931)

diff --git a/man/bootup.xml b/man/bootup.xml
index d97d550..b92057a 100644
--- a/man/bootup.xml
+++ b/man/bootup.xml
@@ -134,7 +134,7 @@
          v                  v                  |                    v              <emphasis>rescue.target</emphasis>
    timers.target      paths.target             |             sockets.target
          |                  |                  |                    |
-         v                  |_________________ | ___________________/
+         v                  \_________________ | ___________________/
                                               \|/
                                                v
                                          basic.target

commit 04691e6f814b76ea497d8189b9b77d4c0feff794
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Fri Feb 20 02:25:16 2015 +0100

    shared: handle unnamed sockets in socket_address_equal()
    
    Make sure we don't inspect sun_path of unnamed sockets.
    Since we cannot know if two unnamed sockets' adresses refer to the same
    socket, just return false.
    
    (cherry picked from commit 710708a54ccc48e168ad7d4cd401645ef9e2eb14)

diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
index deecce8..a4e26b1 100644
--- a/src/shared/socket-util.c
+++ b/src/shared/socket-util.c
@@ -349,6 +349,10 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
                 break;
 
         case AF_UNIX:
+                if (a->size <= offsetof(struct sockaddr_un, sun_path) ||
+                    b->size <= offsetof(struct sockaddr_un, sun_path))
+                        return false;
+
                 if ((a->sockaddr.un.sun_path[0] == 0) != (b->sockaddr.un.sun_path[0] == 0))
                         return false;
 

commit 1d23a6c379b429aaf257994d549a93d766b4cce0
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Fri Feb 20 02:13:03 2015 +0100

    shared: avoid semi-duplicating socket_address_equal()
    
    Just call socket_address_equal() from socket_address_matches_fd()
    instead of implementing similar comparing of addresses.
    
    (cherry picked from commit 02233928a502e46fc125118dba7234ba3e48dc15)

diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
index c31f60e..deecce8 100644
--- a/src/shared/socket-util.c
+++ b/src/shared/socket-util.c
@@ -464,23 +464,7 @@ bool socket_address_matches_fd(const SocketAddress *a, int fd) {
                         return false;
         }
 
-        switch (b.sockaddr.sa.sa_family) {
-
-        case AF_INET:
-                return b.sockaddr.in.sin_port == a->sockaddr.in.sin_port &&
-                        b.sockaddr.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr;
-
-        case AF_INET6:
-                return b.sockaddr.in6.sin6_port == a->sockaddr.in6.sin6_port &&
-                        memcmp(&b.sockaddr.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0;
-
-        case AF_UNIX:
-                return b.sockaddr.size == a->size &&
-                        memcmp(b.sockaddr.un.sun_path, a->sockaddr.un.sun_path, b.size - offsetof(struct sockaddr_un, sun_path)) == 0;
-
-        }
-
-        return false;
+        return socket_address_equal(a, &b);
 }
 
 int sockaddr_pretty(const struct sockaddr *_sa, socklen_t salen, bool translate_ipv6, char **ret) {

commit c3ddd973109320c7f8f06d07438bb9b1f7876866
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Fri Feb 20 02:04:05 2015 +0100

    shared: use SocketAddress in socket_address_matches_fd()
    
    Cleanup. No behavior change.
    
    (cherry picked from commit dbafedacba3ee77098e932222ae7840e7b4040fc)

diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
index c278d6f..c31f60e 100644
--- a/src/shared/socket-util.c
+++ b/src/shared/socket-util.c
@@ -435,48 +435,48 @@ bool socket_ipv6_is_supported(void) {
 }
 
 bool socket_address_matches_fd(const SocketAddress *a, int fd) {
-        union sockaddr_union sa;
-        socklen_t salen = sizeof(sa), solen;
-        int protocol, type;
+        SocketAddress b;
+        socklen_t solen;
 
         assert(a);
         assert(fd >= 0);
 
-        if (getsockname(fd, &sa.sa, &salen) < 0)
+        b.size = sizeof(b.sockaddr);
+        if (getsockname(fd, &b.sockaddr.sa, &b.size) < 0)
                 return false;
 
-        if (sa.sa.sa_family != a->sockaddr.sa.sa_family)
+        if (b.sockaddr.sa.sa_family != a->sockaddr.sa.sa_family)
                 return false;
 
-        solen = sizeof(type);
-        if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &type, &solen) < 0)
+        solen = sizeof(b.type);
+        if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &b.type, &solen) < 0)
                 return false;
 
-        if (type != a->type)
+        if (b.type != a->type)
                 return false;
 
         if (a->protocol != 0)  {
-                solen = sizeof(protocol);
-                if (getsockopt(fd, SOL_SOCKET, SO_PROTOCOL, &protocol, &solen) < 0)
+                solen = sizeof(b.protocol);
+                if (getsockopt(fd, SOL_SOCKET, SO_PROTOCOL, &b.protocol, &solen) < 0)
                         return false;
 
-                if (protocol != a->protocol)
+                if (b.protocol != a->protocol)
                         return false;
         }
 
-        switch (sa.sa.sa_family) {
+        switch (b.sockaddr.sa.sa_family) {
 
         case AF_INET:
-                return sa.in.sin_port == a->sockaddr.in.sin_port &&
-                        sa.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr;
+                return b.sockaddr.in.sin_port == a->sockaddr.in.sin_port &&
+                        b.sockaddr.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr;
 
         case AF_INET6:
-                return sa.in6.sin6_port == a->sockaddr.in6.sin6_port &&
-                        memcmp(&sa.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0;
+                return b.sockaddr.in6.sin6_port == a->sockaddr.in6.sin6_port &&
+                        memcmp(&b.sockaddr.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0;
 
         case AF_UNIX:
-                return salen == a->size &&
-                        memcmp(sa.un.sun_path, a->sockaddr.un.sun_path, salen - offsetof(struct sockaddr_un, sun_path)) == 0;
+                return b.sockaddr.size == a->size &&
+                        memcmp(b.sockaddr.un.sun_path, a->sockaddr.un.sun_path, b.size - offsetof(struct sockaddr_un, sun_path)) == 0;
 
         }
 

commit 25e6978bb35805349c69d610c775cfd3a70058f7
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Thu Feb 19 23:12:38 2015 +0100

    core, shared: in deserializing, match same files reached via different paths
    
    When dbus.socket is updated like this:
    -ListenStream=/var/run/dbus/system_bus_socket
    +ListenStream=/run/dbus/system_bus_socket
    ... and daemon-reload is performed, bad things happen.
    During deserialization systemd does not recognize that the two paths
    refer to the same named socket and replaces the socket file with a new
    one. As a result, applications hang when they try talking to dbus.
    
    Fix this by finding a match not only when the path names are equal, but
    also when they point to the same inode.
    In socket_address_equal() it is necessary to move the address size
    comparison into the abstract sockets branch. For path name sockets the
    comparison must not be done and for other families it is redundant
    (their sizes are constant and checked by socket_address_verify()).
    
    FIFOs and special files can also have multiple pathnames, so compare the
    inodes for them as well. Note that previously the pathname checks used
    streq_ptr(), but the paths cannot be NULL.
    
    Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1186018
    (cherry picked from commit c78e47a61fa8d9a21fece01c83e4c26ce0938d27)

diff --git a/src/core/socket.c b/src/core/socket.c
index 48c43a2..88aae48 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -2100,7 +2100,7 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
 
                         LIST_FOREACH(port, p, s->ports)
                                 if (p->type == SOCKET_FIFO &&
-                                    streq_ptr(p->path, value+skip))
+                                    path_equal_or_files_same(p->path, value+skip))
                                         break;
 
                         if (p) {
@@ -2119,7 +2119,7 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
 
                         LIST_FOREACH(port, p, s->ports)
                                 if (p->type == SOCKET_SPECIAL &&
-                                    streq_ptr(p->path, value+skip))
+                                    path_equal_or_files_same(p->path, value+skip))
                                         break;
 
                         if (p) {
@@ -2138,7 +2138,7 @@ static int socket_deserialize_item(Unit *u, const char *key, const char *value,
 
                         LIST_FOREACH(port, p, s->ports)
                                 if (p->type == SOCKET_MQUEUE &&
-                                    streq_ptr(p->path, value+skip))
+                                    streq(p->path, value+skip))
                                         break;
 
                         if (p) {
diff --git a/src/shared/path-util.c b/src/shared/path-util.c
index b9db7f1..70bc1ca 100644
--- a/src/shared/path-util.c
+++ b/src/shared/path-util.c
@@ -436,6 +436,10 @@ bool path_equal(const char *a, const char *b) {
         }
 }
 
+bool path_equal_or_files_same(const char *a, const char *b) {
+        return path_equal(a, b) || files_same(a, b) > 0;
+}
+
 char* path_join(const char *root, const char *path, const char *rest) {
         assert(path);
 
diff --git a/src/shared/path-util.h b/src/shared/path-util.h
index bd0d324..bcf116e 100644
--- a/src/shared/path-util.h
+++ b/src/shared/path-util.h
@@ -45,6 +45,7 @@ int path_make_relative(const char *from_dir, const char *to_path, char **_r);
 char* path_kill_slashes(char *path);
 char* path_startswith(const char *path, const char *prefix) _pure_;
 bool path_equal(const char *a, const char *b) _pure_;
+bool path_equal_or_files_same(const char *a, const char *b);
 char* path_join(const char *root, const char *path, const char *rest);
 
 char** path_strv_make_absolute_cwd(char **l);
diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
index c6f6487..c278d6f 100644
--- a/src/shared/socket-util.c
+++ b/src/shared/socket-util.c
@@ -325,9 +325,6 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
         if (a->type != b->type)
                 return false;
 
-        if (a->size != b->size)
-                return false;
-
         if (socket_address_family(a) != socket_address_family(b))
                 return false;
 
@@ -352,14 +349,16 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
                 break;
 
         case AF_UNIX:
-
                 if ((a->sockaddr.un.sun_path[0] == 0) != (b->sockaddr.un.sun_path[0] == 0))
                         return false;
 
                 if (a->sockaddr.un.sun_path[0]) {
-                        if (!strneq(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, sizeof(a->sockaddr.un.sun_path)))
+                        if (!path_equal_or_files_same(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path))
                                 return false;
                 } else {
+                        if (a->size != b->size)
+                                return false;
+
                         if (memcmp(a->sockaddr.un.sun_path, b->sockaddr.un.sun_path, a->size) != 0)
                                 return false;
                 }
@@ -367,7 +366,6 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
                 break;
 
         case AF_NETLINK:
-
                 if (a->protocol != b->protocol)
                         return false;
 

commit 058bc7a903672a01981450a8c21ec03b92498aff
Author: Benjamin Franzke <benjaminfranzke at googlemail.com>
Date:   Thu Feb 19 13:10:18 2015 +0100

    man: add newlines to the pull-raw example in machinectl(1)
    
    They were removed in commit 798d3a52 ("Reindent man pages to 2ch").
    
    (cherry picked from commit ac92ced5bb41def1d90f871d6c8cfec2b03c0c7d)

diff --git a/man/machinectl.xml b/man/machinectl.xml
index 9b07af4..640cb8b 100644
--- a/man/machinectl.xml
+++ b/man/machinectl.xml
@@ -715,11 +715,12 @@
       <title>Download a Fedora image, set a root password in it, start
       it as service</title>
 
-      <programlisting># machinectl pull-raw --verify=no
-      http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz
-      # systemd-nspawn -M Fedora-Cloud-Base-20141203-21 # passwd #
-      exit # machinectl start Fedora-Cloud-Base-20141203-21 #
-      machinectl login Fedora-Cloud-Base-20141203-21</programlisting>
+      <programlisting># machinectl pull-raw --verify=no http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz
+# systemd-nspawn -M Fedora-Cloud-Base-20141203-21
+# passwd
+# exit
+# machinectl start Fedora-Cloud-Base-20141203-21
+# machinectl login Fedora-Cloud-Base-20141203-21</programlisting>
 
       <para>This downloads the specified <filename>.raw</filename>
       image with verification disabled. Then a shell is opened in it

commit bfc587ff72ad50e290b3f5426edb929b225da53f
Author: Lubomir Rintel <lkundrak at v3.sk>
Date:   Wed Feb 18 21:02:01 2015 +0100

    hwdb: fix ThinkPad X* Tablet special keys
    
    ThinkPad tablet firmware has DMI product name and version reversed:
    
    Handle 0x0001, DMI type 1, 27 bytes
    System Information
            Manufacturer: LENOVO
            Product Name: 7762AS1
            Version: ThinkPad X61 Tablet
            Serial Number: LKZCDH2
            UUID: 6ADBC681-4FC9-11CB-844F-B47CB9210BE2
            Wake-up Type: Power Switch
            SKU Number: Not Specified
            Family: ThinkPad X61 Tablet
    
    (cherry picked from commit 39addb81b660dd7af7d21be941d8de6497abbdbf)

diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb
index 1b7d871..2cb9769 100644
--- a/hwdb/60-keyboard.hwdb
+++ b/hwdb/60-keyboard.hwdb
@@ -586,7 +586,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
  KEYBOARD_KEY_f3=f21
 
 # Thinkpad X200_Tablet
-keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X2*Tablet*:pvr*
 keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet*
  KEYBOARD_KEY_5d=menu
  KEYBOARD_KEY_63=fn
@@ -596,7 +595,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet*
  KEYBOARD_KEY_6c=direction                              # rotate screen
 
 # ThinkPad X6 Tablet
-keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr*
+keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X6*Tablet*
  KEYBOARD_KEY_6c=direction                              # rotate
  KEYBOARD_KEY_68=leftmeta                               # toolbox
  KEYBOARD_KEY_6b=esc                                    # escape

commit 4d5f8b0cbdda7f662b85bdf18344d9b83c8789a8
Author: Thomas Hindoe Paaboel Andersen <phomes at gmail.com>
Date:   Tue Feb 17 20:06:13 2015 +0100

    import: remove unused variable
    
    (cherry picked from commit b89c454b37a23433f8fd6ad7b93f5a6190930aa4)

diff --git a/src/import/import-tar.c b/src/import/import-tar.c
index 999aa8a..493252a 100644
--- a/src/import/import-tar.c
+++ b/src/import/import-tar.c
@@ -301,7 +301,6 @@ finish:
 }
 
 static int tar_import_job_on_open_disk(ImportJob *j) {
-        _cleanup_close_pair_ int pipefd[2] = { -1 , -1 };
         TarImport *i;
         int r;
 



More information about the systemd-commits mailing list