]> git.proxmox.com Git - systemd.git/commitdiff
New upstream version 252
authorLuca Boccassi <bluca@debian.org>
Mon, 31 Oct 2022 20:10:01 +0000 (20:10 +0000)
committerLuca Boccassi <bluca@debian.org>
Mon, 31 Oct 2022 20:10:01 +0000 (20:10 +0000)
117 files changed:
.github/pull_request_template.md [deleted file]
.github/pull_request_template.md.disabled [new file with mode: 0644]
.github/workflows/unit_tests.sh
LICENSES/MIT-0.txt [new file with mode: 0644]
LICENSES/README.md
NEWS
TODO
hwdb.d/20-OUI.hwdb
hwdb.d/20-acpi-vendor.hwdb.patch
hwdb.d/20-pci-vendor-model.hwdb
hwdb.d/80-ieee1394-unit-function.hwdb
hwdb.d/ma-large.txt
hwdb.d/ma-medium.txt
hwdb.d/ma-small.txt
hwdb.d/pci.ids
man/50-xdg-data-dirs.sh
man/90-rearrange-path.py
man/check-os-release-simple.py
man/check-os-release.py
man/check-os-release.sh
man/event-quick-child.c
man/fido2-crypttab.sh
man/glib-event-glue.c
man/halt.xml
man/hwdb-usb-device.c
man/id128-app-specific.c
man/inotify-watch-tmp.c
man/journal-enumerate-fields.c
man/journal-iterate-foreach.c
man/journal-iterate-poll.c
man/journal-iterate-unique.c
man/journal-iterate-wait.c
man/journal-stream-fd.c
man/journald.conf.xml
man/path-documents.c
man/print-unit-path.c
man/sd-bus-container-append.c
man/sd-bus-container-read.c
man/sd_bus_error-example.c
man/send-unit-files-changed.c
man/systemd-dissect.xml
man/systemd-stub.xml
man/systemd.exec.xml
man/systemd.network.xml
man/systemd.unit.xml
man/tpm2-crypttab.sh
man/vtable-example.c
man/yubikey-crypttab.sh
network/80-6rd-tunnel.network
network/80-container-host0.network
network/80-container-vb.network
network/80-container-ve.network
network/80-container-vz.network
network/80-ethernet.network.example
network/80-vm-vt.network
network/80-wifi-adhoc.network
network/80-wifi-ap.network.example
network/80-wifi-station.network.example
network/99-default.link
po/hr.po
po/ka.po
po/ru.po
po/sv.po
po/zh_CN.po
rules.d/60-persistent-storage.rules
src/analyze/analyze.c
src/basic/fd-util.c
src/basic/fd-util.h
src/boot/efi/cpio.c
src/boot/efi/initrd.c
src/boot/efi/linux.c
src/boot/efi/secure-boot.c
src/boot/measure.c
src/core/dbus-manager.c
src/core/system.conf.in
src/coredump/coredumpctl.c
src/dissect/dissect.c
src/libsystemd/sd-device/device-private.c
src/libsystemd/sd-device/device-private.h
src/libsystemd/sd-device/test-sd-device-monitor.c
src/libsystemd/sd-device/test-sd-device.c
src/network/networkd-dhcp-common.c
src/network/networkd-radv.c
src/network/networkd-route-util.c
src/network/networkd-route.c
src/network/networkd-routing-policy-rule.c
src/network/wait-online/link.c
src/resolve/resolved-varlink.c
src/shared/btrfs-util.c
src/shared/btrfs-util.h
src/shared/install.c
src/systemctl/systemd-sysv-install.SKELETON
src/test/test-condition.c
src/test/test-fs-util.c
src/test/test-id128.c
src/test/test-load-fragment.c
src/test/test-math-util.c
src/test/test-specifier.c
src/test/test-unit-name.c
src/tmpfiles/tmpfiles.c
src/udev/udev-builtin-net_id.c
src/udev/udev-builtin-usb_id.c
test/test-execute/exec-specifier.service
test/test-execute/exec-specifier@.service
test/test-network/conf/12-dummy-no-address.network [new file with mode: 0644]
test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network [deleted file]
test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network [deleted file]
test/test-network/conf/25-ipv6-prefix-with-delay.network [deleted file]
test/test-network/conf/25-ipv6ra-prefix-client-with-static-ipv4-address.network [deleted file]
test/test-network/systemd-networkd-tests.py
test/test-systemd-tmpfiles.py
test/udev-test.pl
test/units/testsuite-17.02.sh
test/units/testsuite-45.sh
tmpfiles.d/systemd.conf.in
tools/meson-vcs-tag.sh
units/systemd-udev-trigger.service

diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
deleted file mode 100644 (file)
index a133346..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# CODE FREEZE NOTICE
-
-An -rc1 tag has been created and a release is being prepared, so please note that
-PRs introducing new features and APIs will be held back until the new version
-has been released.
diff --git a/.github/pull_request_template.md.disabled b/.github/pull_request_template.md.disabled
new file mode 100644 (file)
index 0000000..a133346
--- /dev/null
@@ -0,0 +1,5 @@
+# CODE FREEZE NOTICE
+
+An -rc1 tag has been created and a release is being prepared, so please note that
+PRs introducing new features and APIs will be held back until the new version
+has been released.
index affd1e9357d10770e38f05cbb9f0596d69d397d8..9a9fbb36ab5572466189ef7b0f8cb90e99b0e96d 100755 (executable)
@@ -63,6 +63,11 @@ for phase in "${PHASES[@]}"; do
                 else
                     MESON_ARGS+=(-Dmode=release --optimization=2)
                 fi
+
+                # Some variation: remove machine-id, like on Debian builders to ensure unit tests still work.
+                if [ -w /etc/machine-id ]; then
+                    mv /etc/machine-id /etc/machine-id.bak
+                fi
             fi
             # The install_tag feature introduced in 0.60 causes meson to fail with fatal-meson-warnings
             # "Project targeting '>= 0.53.2' but tried to use feature introduced in '0.60.0': install_tag arg in custom_target"
@@ -113,6 +118,9 @@ for phase in "${PHASES[@]}"; do
             ;;
         CLEANUP)
             info "Cleanup phase"
+            if [ ! -f /etc/machine-id ] && [ -w /etc/machine-id.bak ]; then
+                mv /etc/machine-id.bak /etc/machine-id
+            fi
             ;;
         *)
             echo >&2 "Unknown phase '$phase'"
diff --git a/LICENSES/MIT-0.txt b/LICENSES/MIT-0.txt
new file mode 100644 (file)
index 0000000..396fc00
--- /dev/null
@@ -0,0 +1,7 @@
+MIT No Attribution
+
+Copyright <YEAR> <COPYRIGHT HOLDER>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
index 69ef2d631573d9241713dcfde9e16bedf32b7890..d235b319d85bbcf009cd5e127384764e0b4fbac9 100644 (file)
@@ -45,9 +45,10 @@ The following exceptions apply:
  * the following sources are licensed under the **CC0-1.0** license:
    - src/basic/siphash24.c
    - src/basic/siphash24.h
-   - src/systemctl/systemd-sysv-install.SKELETON
    - tools/check-includes.pl
+  * the following sources are licensed under the **MIT-0** license:
    - all examples under man/
+   - src/systemctl/systemd-sysv-install.SKELETON
    - config files and examples under /network
  * the following sources are under **Public Domain** (LicenseRef-murmurhash2-public-domain):
    - src/basic/MurmurHash2.c
diff --git a/NEWS b/NEWS
index 0e0939ee8d23c6d0f5de8a47c3515671e8cac54c..86a99386706878b2ef33f7cb5cf73401fc7f54fe 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
 systemd System and Service Manager
 
-CHANGES WITH 252 in spe:
+CHANGES WITH 252 🎃:
 
         Announcements of Future Feature Removals:
 
@@ -229,8 +229,14 @@ CHANGES WITH 252 in spe:
         * The sd-boot stub exports a StubFeatures flag, which is used by
           bootctl to show features supported by the stub that was used to boot.
 
-        * sd-boot will now try to detect and warn about overlapping PE sections
-          in the UKI.
+        * The PE section offsets that are used by tools that assemble unified
+          kernel images have historically been hard-coded. This may lead to
+          overlapping PE sections which may break on boot. The UKI will now try
+          to detect and warn about this.
+
+          Any tools that assemble UKIs must update to calculate these offsets
+          dynamically. Future sd-stub versions may use offsets that will not
+          work with the currently used set of hard-coded offsets!
 
         * sd-stub now accepts (and passes to the initrd and then to the full
           OS) new PE sections '.pcrsig' and '.pcrkey' that can be used to embed
@@ -269,6 +275,8 @@ CHANGES WITH 252 in spe:
           useful to avoid link flaps while the underlying service providing the
           interface is being serviced.
 
+        * RouteTable= now also accepts route table names.
+
         Changes in systemd-nspawn:
 
         * The --bind= and --overlay= options now support relative paths.
@@ -489,6 +497,8 @@ CHANGES WITH 252 in spe:
         * systemd-udev will now create infiniband/by-path and
           infiniband/by-ibdev links for Infiniband verbs devices.
 
+        * systemd-udev-trigger.service will now also prioritize input devices.
+
         * ConditionACPower= and systemd-ac-power will now assume the system is
           running on AC power if no battery can be found.
 
@@ -523,6 +533,12 @@ CHANGES WITH 252 in spe:
         * When using gcrypt, all systemd tools and services will now configure
           it to prefer the OS random number generator if present.
 
+        * All example code shipped with documentation has been relicensed from CC0
+          to MIT-0.
+
+        * Unit tests will no longer fail when running on a system without
+          /etc/machine-id.
+
         Experimental features:
 
         * BPF programs can now be compiled with bpf-gcc (requires libbpf >= 1.0
@@ -542,8 +558,8 @@ CHANGES WITH 252 in spe:
         Contributions from: 김인수, Adam Williamson, adrian5, Aidan Dang,
         Akihiko Odaki, Alban Bedel, Albert Mikaelyan, Aleksey Vasenev,
         Alexander Graf, Alexander Shopov, Alexander Wilson,
-        Alper Nebi Yasak, anarcat, Andre Kalb, Andrew Stone,
-        Andrey Albershteyn, Anita Zhang, Ansgar Burchardt,
+        Alper Nebi Yasak, anarcat, Anders Jonsson, Andre Kalb,
+        Andrew Stone, Andrey Albershteyn, Anita Zhang, Ansgar Burchardt,
         Antonio Alvarez Feijoo, Arnaud Ferraris, Aryan singh, asavah,
         Avamander, Avram Lubkin, Balázs Meskó, Bastien Nocera,
         Benjamin Franzke, BerndAdameit, bin456789, Celeste Liu,
@@ -563,30 +579,32 @@ CHANGES WITH 252 in spe:
         Jan Janssen, Jan Kuparinen, Jan Luebbe, Jan Macku,
         Jason A. Donenfeld, Javkhlanbayar Khongorzul, Jeremy Soller,
         JeroenHD, jiangchuangang, João Loureiro,
-        Joaquín Ignacio Aramendía, Johannes Schauer Marin Rodrigues,
-        Jonas Kümmerlin, Jonas Witschel, Jonathan Kang, Jonathan Lebon,
-        Joost Heitbrink, Jörg Thalheim, josh-gordon-fb, Joyce, Kai Lueke,
-        lastkrick, Lennart Poettering, Leon M. George, licunlong, Li kunyu,
+        Joaquín Ignacio Aramendía, Jochen Sprickerhof,
+        Johannes Schauer Marin Rodrigues, Jonas Kümmerlin,
+        Jonas Witschel, Jonathan Kang, Jonathan Lebon, Joost Heitbrink,
+        Jörg Thalheim, josh-gordon-fb, Joyce, Kai Lueke, lastkrick,
+        Lennart Poettering, Leon M. George, licunlong, Li kunyu,
         LockBlock-dev, Loïc Collignon, Lubomir Rintel, Luca Boccassi,
         Luca BRUNO, Ludwig Nussel, Łukasz Stelmach, Maccraft123,
         Marc Kleine-Budde, Marius Vollmer, Martin Wilck, matoro,
         Matthias Lisin, Max Gautier, Maxim Mikityanskiy, Michael Biebl,
         Michal Koutný, Michal Sekletár, Michal Stanke, Mike Gilbert,
         Mitchell Freiderich, msizanoen1, Nick Rosbrook, nl6720, Oğuz Ersen,
-        Oleg Solovyov, Pablo Ceballos, Pavel Zhukov, Phaedrus Leeds,
-        Philipp Gortan, Piotr Drąg, Pyfisch, Quentin Deslandes,
-        Rahil Bhimjiani, Rene Hollander, Richard Huang, Richard Phibel,
-        Rudi Heitbaum, Sam James, Sarah Brofeldt, Sean Anderson,
-        Sebastian Scheibner, Shreenidhi Shedi, Sonali Srivastava,
-        Steve Ramage, Suraj Krishnan, Swapnil Devesh, Ted X. Toth,
-        Thomas Blume, Thomas Haller, Thomas Hebb, Tomáš Hnyk,
-        Tomasz Paweł Gajc, Topi Miettinen, Ulrich Ölmann, undef,
-        Uriel Corfa, Victor Westerhuis, Vincent Dagonneau,
-        Vishal Chillara Srinivas, Vito Caputo, Weblate, Wenchao Hao,
-        William Roberts, williamsumendap, wineway, Yuri Chornoivan,
-        Yu Watanabe, Zbigniew Jędrzejewski-Szmek, Zhaofeng Li, наб
-
-        – Under the Sea, 2022-10-07
+        Oleg Solovyov, Olga Smirnova, Pablo Ceballos, Pavel Zhukov,
+        Phaedrus Leeds, Philipp Gortan, Piotr Drąg, Pyfisch,
+        Quentin Deslandes, Rahil Bhimjiani, Rene Hollander, Richard Huang,
+        Richard Phibel, Rudi Heitbaum, Sam James, Sarah Brofeldt,
+        Sean Anderson, Sebastian Scheibner, Shreenidhi Shedi,
+        Sonali Srivastava, Steve Ramage, Suraj Krishnan, Swapnil Devesh,
+        Takashi Sakamoto, Ted X. Toth, Temuri Doghonadze, Thomas Blume,
+        Thomas Haller, Thomas Hebb, Tomáš Hnyk, Tomasz Paweł Gajc,
+        Topi Miettinen, Ulrich Ölmann, undef, Uriel Corfa,
+        Victor Westerhuis, Vincent Dagonneau, Vishal Chillara Srinivas,
+        Vito Caputo, Weblate, Wenchao Hao, William Roberts, williamsumendap,
+        wineway, xiaoyang, Yuri Chornoivan, Yu Watanabe,
+        Zbigniew Jędrzejewski-Szmek, Zhaofeng Li, наб
+
+        – The Great Beyond, 2022-10-31 👻
 
 CHANGES WITH 251:
 
diff --git a/TODO b/TODO
index 5cfc68e07462cc43a661ed787a968ebaa3f57d6d..560ec4bca49b1e43dc1795a213d472d4f63a7ab0 100644 (file)
--- a/TODO
+++ b/TODO
@@ -119,6 +119,45 @@ Deprecations and removals:
 
 Features:
 
+* sd-stub: add ".bootcfg" section for kernel bootconfig data (as per
+
+* tpm2: add (optional) support for generating a local signing key from PCR 15
+  state. use private key part to sign PCR 7+14 policies. stash signatures for
+  expected PCR7+14 policies in EFI var. use public key part in disk encryption.
+  generate new sigs whenever db/dbx/mok/mokx gets updated. that way we can
+  securely bind against SecureBoot/shim state, without having to renroll
+  everything on each update (but we still have to generate one sig on each
+  update, but that should be robust/idempotent). needs rollback protection, as
+  usual.
+
+* Lennart: big blog story about DDIs
+
+* Lennart: big blog story about building initrds
+
+* Lennart: big blog story about "why systemd-boot"
+
+* bpf: see if we can use BPF to solve the syslog message cgroup source problem:
+  one idea would be to patch source sockaddr of all AF_UNIX/SOCK_DGRAM to
+  implicitly contain the source cgroup id. Another idea would be to patch
+  sendto()/connect()/sendmsg() sockaddr on-the-fly to use a different target
+  sockaddr.
+
+* bpf: see if we can address opportunistic inode sharing of immutable fs images
+  with BPF. i.e. if bpf gives us power to hook into openat() and return a
+  different inode than is requested for which we however it has same contents
+  then we can use that to implement opportunistic inode sharing among DDIs:
+  make all DDIs ship xattr on all reg files with a SHA256 hash. Then, also
+  dictate that DDIs should come with a top-level subdir where all reg files are
+  linked into by their SHA256 sum. Then, whenever an inode is opened with the
+  xattr set, check bpf table to find dirs with hashes for other prior DDIs and
+  try to use inode from there.
+
+* dissect too: add --with switch that will invoke a command with the image
+  mounted, and as current working directory. Terminate once done.
+
+* extend the verity signature partition to permit multiple signatures for the
+  same root hash, so that people can sign a single image with multiple keys.
+
 * consider adding a new partition type, just for /opt/ for usage in system
   extensions
 
@@ -137,7 +176,7 @@ Features:
   these signatures into one object, and then include the result in the UKI.
   Then, if you bind a LUKS volume to public key X it really only can be
   unlocked during early boot, and you bind a LUKS volume to public key Y it
-  realy only can be unlocked during later boot, and so on.
+  really only can be unlocked during later boot, and so on.
 
 * dissection policy should enforce that unlocking can only take place by
   certain means, i.e. only via pw, only via tpm2, or only via fido, or a
@@ -175,8 +214,10 @@ Features:
   software updates. But that's wrong. Recent fwupd (rightfully) contains code
   for updating the dbx denylist. This means even without any active policy
   change PCR 7 might change. Hence, better idea might be in systemd-creds to
-  default to PCR 15 at least of sd-stub is used (i.e. bind to system identity),
-  and in cryptsetup simply the empty list?
+  default to PCR 15 at least if sd-stub is used (i.e. bind to system identity),
+  and in cryptsetup simply the empty list? Also, PCR 14 almost certainly should
+  be included as much as PCR 7 (as it contains shim's policy, which is
+  certainly as relevant as PCR 7 on many systems)
 
 * move discoverable partition spec and boot loader spec over to uapi group
 
index 8ff583933d61f7c6b8fff5fec7d1a080e6eb4aad..d9f9058bb66eb46ef85ff64f662f903f67fda504 100644 (file)
@@ -39824,6 +39824,9 @@ OUI:042F56*
 OUI:043110*
  ID_OUI_FROM_DATABASE=Inspur Group Co., Ltd.
 
+OUI:043201*
+ ID_OUI_FROM_DATABASE=Broadcom Limited
+
 OUI:0432F4*
  ID_OUI_FROM_DATABASE=Partron
 
@@ -40055,6 +40058,9 @@ OUI:046E02*
 OUI:046E49*
  ID_OUI_FROM_DATABASE=TaiYear Electronic Technology (Suzhou) Co., Ltd
 
+OUI:047056*
+ ID_OUI_FROM_DATABASE=Arcadyan Corporation
+
 OUI:0470BC*
  ID_OUI_FROM_DATABASE=Globalstar Inc.
 
@@ -41261,6 +41267,9 @@ OUI:080342*
 OUI:080371*
  ID_OUI_FROM_DATABASE=KRG CORPORATE
 
+OUI:0804B4*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:080581*
  ID_OUI_FROM_DATABASE=Roku, Inc.
 
@@ -44279,6 +44288,9 @@ OUI:10BD18*
 OUI:10BD55*
  ID_OUI_FROM_DATABASE=Q-Lab Corporation
 
+OUI:10BE99*
+ ID_OUI_FROM_DATABASE=Netberg
+
 OUI:10BEF5*
  ID_OUI_FROM_DATABASE=D-Link International
 
@@ -45143,6 +45155,9 @@ OUI:147DDA*
 OUI:147EA1*
  ID_OUI_FROM_DATABASE=Britania Eletrônicos S.A.
 
+OUI:147F0F*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:14825B*
  ID_OUI_FROM_DATABASE=Hefei Radio Communication Technology Co., Ltd
 
@@ -45506,6 +45521,9 @@ OUI:14DC51*
 OUI:14DCE2*
  ID_OUI_FROM_DATABASE=THALES AVS France
 
+OUI:14DD02*
+ ID_OUI_FROM_DATABASE=Liangang Optoelectronic Technology CO., Ltd.
+
 OUI:14DD9C*
  ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
 
@@ -50096,6 +50114,9 @@ OUI:2494CB*
 OUI:249504*
  ID_OUI_FROM_DATABASE=SFR
 
+OUI:24952F*
+ ID_OUI_FROM_DATABASE=Google, Inc.
+
 OUI:249745*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
@@ -51200,6 +51221,9 @@ OUI:28B448*
 OUI:28B4FB*
  ID_OUI_FROM_DATABASE=Sprocomm Technologies CO.,LTD.
 
+OUI:28B5E8*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:28B77C0*
  ID_OUI_FROM_DATABASE=SHENZHEN EVIEW GPS TECHNOLOGY
 
@@ -53762,6 +53786,9 @@ OUI:30AEA4*
 OUI:30AEF6*
  ID_OUI_FROM_DATABASE=Radio Mobile Access
 
+OUI:30AF7E*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:30AFCE*
  ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
 
@@ -55505,6 +55532,9 @@ OUI:38384B*
 OUI:3838A6*
  ID_OUI_FROM_DATABASE=Arista Networks
 
+OUI:38396C*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:383A210*
  ID_OUI_FROM_DATABASE=R3C Information(Shenzhen) Co.,Ltd.
 
@@ -56462,6 +56492,9 @@ OUI:38FACA*
 OUI:38FB14*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:38FC34*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:38FC98*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
@@ -56771,6 +56804,9 @@ OUI:3C300C*
 OUI:3C306F*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:3C3174*
+ ID_OUI_FROM_DATABASE=Google, Inc.
+
 OUI:3C3178*
  ID_OUI_FROM_DATABASE=Qolsys Inc.
 
@@ -56852,6 +56888,9 @@ OUI:3C39E7F*
 OUI:3C3A73*
  ID_OUI_FROM_DATABASE=Avaya Inc
 
+OUI:3C3B4D*
+ ID_OUI_FROM_DATABASE=Toyo Seisakusho Kaisha, Limited
+
 OUI:3C3B99*
  ID_OUI_FROM_DATABASE=ITEL MOBILE LIMITED
 
@@ -57602,6 +57641,9 @@ OUI:3CF5CC*
 OUI:3CF652*
  ID_OUI_FROM_DATABASE=zte corporation
 
+OUI:3CF692*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:3CF72A*
  ID_OUI_FROM_DATABASE=Nokia Corporation
 
@@ -58841,6 +58883,9 @@ OUI:40FE0D*
 OUI:40FE95*
  ID_OUI_FROM_DATABASE=New H3C Technologies Co., Ltd
 
+OUI:40FF40*
+ ID_OUI_FROM_DATABASE=GloquadTech
+
 OUI:440010*
  ID_OUI_FROM_DATABASE=Apple, Inc.
 
@@ -59879,6 +59924,9 @@ OUI:44ED57*
 OUI:44EE02*
  ID_OUI_FROM_DATABASE=MTI Ltd.
 
+OUI:44EE14*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:44EE30*
  ID_OUI_FROM_DATABASE=Budelmann Elektronik GmbH
 
@@ -60117,7 +60165,7 @@ OUI:482952*
  ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
 
 OUI:4829E4*
- ID_OUI_FROM_DATABASE=AO NPK RoTeK
+ ID_OUI_FROM_DATABASE=AO
 
 OUI:482AE3*
  ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd.
@@ -60140,6 +60188,9 @@ OUI:482F6B*
 OUI:482FD7*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:4831DB*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:4833DD*
  ID_OUI_FROM_DATABASE=ZENNIO AVANCE Y TECNOLOGIA, S.L.
 
@@ -61547,6 +61598,9 @@ OUI:4C83DE*
 OUI:4C875D*
  ID_OUI_FROM_DATABASE=Bose Corporation
 
+OUI:4C889E*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:4C8B30*
  ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc
 
@@ -62675,6 +62729,9 @@ OUI:506583*
 OUI:5065F3*
  ID_OUI_FROM_DATABASE=Hewlett Packard
 
+OUI:5066E5*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:506787*
  ID_OUI_FROM_DATABASE=Planet Networks
 
@@ -67250,6 +67307,9 @@ OUI:60C5E6*
 OUI:60C658*
  ID_OUI_FROM_DATABASE=PHYTRONIX Co.,Ltd.
 
+OUI:60C727*
+ ID_OUI_FROM_DATABASE=Digiboard Eletronica da Amazonia Ltda
+
 OUI:60C798*
  ID_OUI_FROM_DATABASE=Verifone
 
@@ -67403,6 +67463,9 @@ OUI:60DE44*
 OUI:60DEF3*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:60DEF4*
+ ID_OUI_FROM_DATABASE=Shenzhen iComm Semiconductor CO.,LTD
+
 OUI:60E00E*
  ID_OUI_FROM_DATABASE=SHINSEI ELECTRONICS CO LTD
 
@@ -68288,6 +68351,9 @@ OUI:64B0E8*
 OUI:64B21D*
  ID_OUI_FROM_DATABASE=Chengdu Phycom Tech Co., Ltd.
 
+OUI:64B2B4*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+
 OUI:64B310*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -68966,6 +69032,9 @@ OUI:686350*
 OUI:686359*
  ID_OUI_FROM_DATABASE=Advanced Digital Broadcast SA
 
+OUI:686372*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:68644B*
  ID_OUI_FROM_DATABASE=Apple, Inc.
 
@@ -69242,6 +69311,9 @@ OUI:689861*
 OUI:6899CD*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
+OUI:689A21*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+
 OUI:689A87*
  ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
 
@@ -71126,6 +71198,12 @@ OUI:705986*
 OUI:705A0F*
  ID_OUI_FROM_DATABASE=Hewlett Packard
 
+OUI:705A6F0*
+ ID_OUI_FROM_DATABASE=Thyracont Vacuum Instruments GmbH
+
+OUI:705A6F1*
+ ID_OUI_FROM_DATABASE=BMR s.r.o.
+
 OUI:705A9E*
  ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
 
@@ -83828,6 +83906,9 @@ OUI:70B5E8*
 OUI:70B64F*
  ID_OUI_FROM_DATABASE=Guangzhou V-SOLUTION Electronic Technology Co., Ltd.
 
+OUI:70B651*
+ ID_OUI_FROM_DATABASE=Eight Sleep
+
 OUI:70B7AA*
  ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
 
@@ -86792,6 +86873,9 @@ OUI:7C160D*
 OUI:7C1689*
  ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
 
+OUI:7C1779*
+ ID_OUI_FROM_DATABASE=EM Microelectronic
+
 OUI:7C18CD*
  ID_OUI_FROM_DATABASE=E-TRON Co.,Ltd.
 
@@ -87662,6 +87746,9 @@ OUI:7CC6C4*
 OUI:7CC709*
  ID_OUI_FROM_DATABASE=SHENZHEN RF-LINK TECHNOLOGY CO.,LTD.
 
+OUI:7CC74A*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+
 OUI:7CC77E*
  ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
 
@@ -87821,6 +87908,9 @@ OUI:7CE152*
 OUI:7CE1FF*
  ID_OUI_FROM_DATABASE=Computer Performance, Inc. DBA Digital Loggers, Inc.
 
+OUI:7CE269*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:7CE2CA*
  ID_OUI_FROM_DATABASE=Juniper Networks
 
@@ -89978,6 +90068,9 @@ OUI:84D32A*
 OUI:84D343*
  ID_OUI_FROM_DATABASE=Calix Inc.
 
+OUI:84D352*
+ ID_OUI_FROM_DATABASE=Tonly Technology Co. Ltd
+
 OUI:84D3D5*
  ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
 
@@ -90701,6 +90794,9 @@ OUI:886B6E*
 OUI:886B76*
  ID_OUI_FROM_DATABASE=CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD
 
+OUI:886D2D*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:886EE1*
  ID_OUI_FROM_DATABASE=Erbe Elektromedizin GmbH
 
@@ -91817,6 +91913,9 @@ OUI:8C1F641A7*
 OUI:8C1F641AF*
  ID_OUI_FROM_DATABASE=EnviroNode IoT Solutions
 
+OUI:8C1F641B2*
+ ID_OUI_FROM_DATABASE=Rapid-e-Engineering Steffen Kramer
+
 OUI:8C1F641B5*
  ID_OUI_FROM_DATABASE=Xicato
 
@@ -92171,6 +92270,9 @@ OUI:8C1F643FE*
 OUI:8C1F643FF*
  ID_OUI_FROM_DATABASE=UISEE(SHANGHAI) AUTOMOTIVE TECHNOLOGIES LTD.
 
+OUI:8C1F64402*
+ ID_OUI_FROM_DATABASE=Integer.pl S.A.
+
 OUI:8C1F64406*
  ID_OUI_FROM_DATABASE=ANDA TELECOM PVT LTD
 
@@ -92435,6 +92537,9 @@ OUI:8C1F645AE*
 OUI:8C1F645AF*
  ID_OUI_FROM_DATABASE=Teq Diligent Product Solutions Pvt. Ltd.
 
+OUI:8C1F645B2*
+ ID_OUI_FROM_DATABASE=MIJ CO LTD
+
 OUI:8C1F645B3*
  ID_OUI_FROM_DATABASE=eumig industrie-TV GmbH.
 
@@ -92582,6 +92687,9 @@ OUI:8C1F64683*
 OUI:8C1F64685*
  ID_OUI_FROM_DATABASE=Sanchar Communication Systems
 
+OUI:8C1F64691*
+ ID_OUI_FROM_DATABASE=Wende Tan
+
 OUI:8C1F64692*
  ID_OUI_FROM_DATABASE=Nexilis Electronics India Pvt Ltd (PICSYS)
 
@@ -92609,6 +92717,9 @@ OUI:8C1F646AD*
 OUI:8C1F646AE*
  ID_OUI_FROM_DATABASE=Bray International
 
+OUI:8C1F646B1*
+ ID_OUI_FROM_DATABASE=Specialist Mechanical Engineers (PTY)LTD
+
 OUI:8C1F646B3*
  ID_OUI_FROM_DATABASE=Feritech Ltd.
 
@@ -92690,6 +92801,9 @@ OUI:8C1F6472C*
 OUI:8C1F64731*
  ID_OUI_FROM_DATABASE=ehoosys Co.,LTD.
 
+OUI:8C1F64733*
+ ID_OUI_FROM_DATABASE=Video Network Security
+
 OUI:8C1F64737*
  ID_OUI_FROM_DATABASE=Vytahy-Vymyslicky s.r.o.
 
@@ -92999,6 +93113,9 @@ OUI:8C1F648EE*
 OUI:8C1F648F4*
  ID_OUI_FROM_DATABASE=Loadrite (Auckland) Limited
 
+OUI:8C1F648F6*
+ ID_OUI_FROM_DATABASE=Idneo Technologies S.A.U.
+
 OUI:8C1F648F8*
  ID_OUI_FROM_DATABASE=HIGHVOLT Prüftechnik
 
@@ -93167,6 +93284,9 @@ OUI:8C1F649F4*
 OUI:8C1F649FA*
  ID_OUI_FROM_DATABASE=METRONA-Union GmbH
 
+OUI:8C1F649FB*
+ ID_OUI_FROM_DATABASE=CI SYSTEMS ISRAEL LTD
+
 OUI:8C1F649FD*
  ID_OUI_FROM_DATABASE=Vishay Nobel AB
 
@@ -93242,6 +93362,9 @@ OUI:8C1F64A6D*
 OUI:8C1F64A76*
  ID_OUI_FROM_DATABASE=DEUTA-WERKE GmbH
 
+OUI:8C1F64A83*
+ ID_OUI_FROM_DATABASE=EkspertStroyProekt
+
 OUI:8C1F64A84*
  ID_OUI_FROM_DATABASE=Beijing Wenrise Technology Co., Ltd.
 
@@ -93377,6 +93500,9 @@ OUI:8C1F64B56*
 OUI:8C1F64B64*
  ID_OUI_FROM_DATABASE=GSP Sprachtechnologie GmbH
 
+OUI:8C1F64B65*
+ ID_OUI_FROM_DATABASE=HomyHub SL
+
 OUI:8C1F64B67*
  ID_OUI_FROM_DATABASE=M2M craft Co., Ltd.
 
@@ -93434,6 +93560,9 @@ OUI:8C1F64BC3*
 OUI:8C1F64BC6*
  ID_OUI_FROM_DATABASE=Chengdu ZiChen Time&Frequency Technology Co.,Ltd
 
+OUI:8C1F64BC9*
+ ID_OUI_FROM_DATABASE=GL TECH CO.,LTD
+
 OUI:8C1F64BCB*
  ID_OUI_FROM_DATABASE=A&T Corporation
 
@@ -93716,6 +93845,9 @@ OUI:8C1F64D92*
 OUI:8C1F64D9A*
  ID_OUI_FROM_DATABASE=Beijing Redlink Information Technology Co., Ltd.
 
+OUI:8C1F64DA6*
+ ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L.
+
 OUI:8C1F64DAA*
  ID_OUI_FROM_DATABASE=Davetech Limited
 
@@ -93740,6 +93872,9 @@ OUI:8C1F64DBD*
 OUI:8C1F64DC0*
  ID_OUI_FROM_DATABASE=Pigs Can Fly Labs LLC
 
+OUI:8C1F64DC2*
+ ID_OUI_FROM_DATABASE=Procon Electronics Pty Ltd
+
 OUI:8C1F64DC9*
  ID_OUI_FROM_DATABASE=Peter Huber Kaeltemaschinenbau AG
 
@@ -95984,6 +96119,9 @@ OUI:90CD1F*
 OUI:90CDB6*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
 
+OUI:90CEB8*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:90CF15*
  ID_OUI_FROM_DATABASE=Nokia Corporation
 
@@ -96969,7 +97107,7 @@ OUI:94C9B78*
  ID_OUI_FROM_DATABASE=OSOM Products Inc
 
 OUI:94C9B79*
- ID_OUI_FROM_DATABASE=Private
+ ID_OUI_FROM_DATABASE=Titanium union(shenzhen)technology co.,ltd
 
 OUI:94C9B7A*
  ID_OUI_FROM_DATABASE=ShenZhen Beide Technology Co.,LTD
@@ -100661,6 +100799,9 @@ OUI:A0BF50*
 OUI:A0BFA5*
  ID_OUI_FROM_DATABASE=CORESYS
 
+OUI:A0C20D*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:A0C2DE*
  ID_OUI_FROM_DATABASE=Costar Video Systems
 
@@ -104246,6 +104387,9 @@ OUI:ACF97E*
 OUI:ACFAA5*
  ID_OUI_FROM_DATABASE=digitron
 
+OUI:ACFC82*
+ ID_OUI_FROM_DATABASE=Shenzhen Sundray Technologies Company Limited
+
 OUI:ACFD93*
  ID_OUI_FROM_DATABASE=WEIFANG GOERTEK ELECTRONICS CO.,LTD
 
@@ -106046,6 +106190,9 @@ OUI:B4AB2C*
 OUI:B4AC8C*
  ID_OUI_FROM_DATABASE=Bern University of Applied Sciences
 
+OUI:B4AC9D*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:B4ADA3*
  ID_OUI_FROM_DATABASE=Guangzhou Shiyuan Electronic Technology Company Limited
 
@@ -106877,6 +107024,9 @@ OUI:B89470*
 OUI:B894D2*
  ID_OUI_FROM_DATABASE=Retail Innovation HTT AB
 
+OUI:B894D9*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
 OUI:B894E7*
  ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
 
@@ -110345,9 +110495,21 @@ OUI:C4A366*
 OUI:C4A402*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:C4A5590*
+ ID_OUI_FROM_DATABASE=Archermind Japan Co.,Ltd.
+
 OUI:C4A5591*
  ID_OUI_FROM_DATABASE=Motive Technologies, Inc.
 
+OUI:C4A5592*
+ ID_OUI_FROM_DATABASE=SHENZHEN ORFA TECH CO., LTD
+
+OUI:C4A5593*
+ ID_OUI_FROM_DATABASE=X-speed lnformation Technology Co.,Ltd
+
+OUI:C4A5594*
+ ID_OUI_FROM_DATABASE=Private
+
 OUI:C4A5595*
  ID_OUI_FROM_DATABASE=Moultrie Mobile
 
@@ -110375,6 +110537,9 @@ OUI:C4A559C*
 OUI:C4A559D*
  ID_OUI_FROM_DATABASE=MINOLTA SECURITY
 
+OUI:C4A559E*
+ ID_OUI_FROM_DATABASE=SERNET (SUZHOU) TECHNOLOGIES CORPORATION
+
 OUI:C4A72B*
  ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD
 
@@ -113861,6 +114026,9 @@ OUI:D0A5A6*
 OUI:D0A637*
  ID_OUI_FROM_DATABASE=Apple, Inc.
 
+OUI:D0A9D3*
+ ID_OUI_FROM_DATABASE=EM Microelectronic
+
 OUI:D0ABD5*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
@@ -114236,6 +114404,9 @@ OUI:D4024A*
 OUI:D404CD*
  ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
+OUI:D404E6*
+ ID_OUI_FROM_DATABASE=Broadcom Limited
+
 OUI:D404FF*
  ID_OUI_FROM_DATABASE=Juniper Networks
 
@@ -114512,6 +114683,9 @@ OUI:D43D7E*
 OUI:D43DF3*
  ID_OUI_FROM_DATABASE=Zyxel Communications Corporation
 
+OUI:D43F32*
+ ID_OUI_FROM_DATABASE=eero inc.
+
 OUI:D43FCB*
  ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
@@ -115628,6 +115802,9 @@ OUI:D8337F*
 OUI:D833B7*
  ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
 
+OUI:D8341C*
+ ID_OUI_FROM_DATABASE=GD Midea Air-Conditioning Equipment Co.,Ltd.
+
 OUI:D834D1*
  ID_OUI_FROM_DATABASE=Shenzhen Orange Digital Technology Co.,Ltd
 
@@ -116124,7 +116301,7 @@ OUI:D8AF3B*
  ID_OUI_FROM_DATABASE=Hangzhou Bigbright Integrated communications system Co.,Ltd
 
 OUI:D8AF81*
- ID_OUI_FROM_DATABASE=AO NPK RoTeK
+ ID_OUI_FROM_DATABASE=AO
 
 OUI:D8AFF1*
  ID_OUI_FROM_DATABASE=Panasonic Appliances Company
@@ -116972,6 +117149,9 @@ OUI:DC74A8*
 OUI:DC774C*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
+OUI:DC7794*
+ ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
+
 OUI:DC7834*
  ID_OUI_FROM_DATABASE=LOGICOM SA
 
@@ -117086,6 +117266,9 @@ OUI:DCA120*
 OUI:DCA266*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
 
+OUI:DCA313*
+ ID_OUI_FROM_DATABASE=Shenzhen Changjin Communication Technology Co.,Ltd
+
 OUI:DCA333*
  ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
 
@@ -117342,7 +117525,7 @@ OUI:DCE2AC*
  ID_OUI_FROM_DATABASE=Lumens Digital Optics Inc.
 
 OUI:DCE305*
- ID_OUI_FROM_DATABASE=AO NPK RoTeK
+ ID_OUI_FROM_DATABASE=AO
 
 OUI:DCE5330*
  ID_OUI_FROM_DATABASE=FLYHT Aerospace
@@ -118700,6 +118883,9 @@ OUI:E41F7B*
 OUI:E41FE9*
  ID_OUI_FROM_DATABASE=Dunkermotoren GmbH
 
+OUI:E42150*
+ ID_OUI_FROM_DATABASE=Shanghai Chint low voltage electrical technology Co.,Ltd.
+
 OUI:E422A5*
  ID_OUI_FROM_DATABASE=PLANTRONICS, INC.
 
@@ -124232,6 +124418,9 @@ OUI:F83376*
 OUI:F83441*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
+OUI:F83451*
+ ID_OUI_FROM_DATABASE=Comcast-SRL
+
 OUI:F8345A*
  ID_OUI_FROM_DATABASE=Hitron Technologies. Inc
 
index 30cc02453121a846087d0f4e89a47bbe6a2a251d..20e4756c0fc4fabaa5c2ecd823afd2e266e6ec86 100644 (file)
@@ -1,5 +1,5 @@
---- 20-acpi-vendor.hwdb.base   2022-10-24 20:18:18.479120318 +0100
-+++ 20-acpi-vendor.hwdb        2022-10-24 20:21:56.647726523 +0100
+--- 20-acpi-vendor.hwdb.base   2022-10-31 11:15:33.457268398 +0000
++++ 20-acpi-vendor.hwdb        2022-10-31 11:15:33.461268485 +0000
 @@ -3,6 +3,8 @@
  # Data imported from:
  #     https://uefi.org/uefi-pnp-export
index 8606c56719c0b6406dfb05eb6a55d42b73111db8..9f6eca7316be7fd28d89ed7d82834b861c3e991e 100644 (file)
@@ -233,6 +233,9 @@ pci:v00000731d00009100sv00000731sd00009101*
 pci:v00000731d00009100sv00000731sd00009102*
  ID_MODEL_FROM_DATABASE=JM9100 (-I)
 
+pci:v00000731d00009100sv00000731sd00009103*
+ ID_MODEL_FROM_DATABASE=JM9100 (M)
+
 pci:v00000731d0000910A*
  ID_MODEL_FROM_DATABASE=JH910
 
@@ -14522,6 +14525,9 @@ pci:v00001022d000014B9*
 pci:v00001022d000014BA*
  ID_MODEL_FROM_DATABASE=Family 17h-19h PCIe GPP Bridge
 
+pci:v00001022d000014CD*
+ ID_MODEL_FROM_DATABASE=Family 19h USB4/Thunderbolt PCIe tunnel
+
 pci:v00001022d00001510*
  ID_MODEL_FROM_DATABASE=Family 14h Processor Root Complex
 
@@ -14810,6 +14816,12 @@ pci:v00001022d000015D4*
 pci:v00001022d000015D5*
  ID_MODEL_FROM_DATABASE=FireFlight USB 3.1
 
+pci:v00001022d000015D6*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #5
+
+pci:v00001022d000015D7*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #6
+
 pci:v00001022d000015DA*
  ID_MODEL_FROM_DATABASE=Raven/Raven2 PCIe Dummy Host Bridge
 
@@ -15026,6 +15038,24 @@ pci:v00001022d0000160E*
 pci:v00001022d0000160F*
  ID_MODEL_FROM_DATABASE=Arden Device 18h: Function 7
 
+pci:v00001022d0000161A*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #1
+
+pci:v00001022d0000161B*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #2
+
+pci:v00001022d0000161C*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #7
+
+pci:v00001022d0000161D*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #3
+
+pci:v00001022d0000161E*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #4
+
+pci:v00001022d0000161F*
+ ID_MODEL_FROM_DATABASE=Rembrandt USB4 XHCI controller #8
+
 pci:v00001022d00001620*
  ID_MODEL_FROM_DATABASE=Anubis HT Configuration
 
@@ -15206,6 +15236,30 @@ pci:v00001022d00001670*
 pci:v00001022d00001671*
  ID_MODEL_FROM_DATABASE=Cezanne Data Fabric; Function 7
 
+pci:v00001022d00001679*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 0
+
+pci:v00001022d0000167A*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 1
+
+pci:v00001022d0000167B*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 2
+
+pci:v00001022d0000167C*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 3
+
+pci:v00001022d0000167D*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 4
+
+pci:v00001022d0000167E*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 5
+
+pci:v00001022d0000167F*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 6
+
+pci:v00001022d00001680*
+ ID_MODEL_FROM_DATABASE=Rembrandt Data Fabric: Device 18h; Function 7
+
 pci:v00001022d00001700*
  ID_MODEL_FROM_DATABASE=Family 12h/14h Processor Function 0
 
@@ -33975,7 +34029,7 @@ pci:v000010DEd00000FE7sv000010DEsd0000101E*
  ID_MODEL_FROM_DATABASE=GK107GL [GRID K100 vGPU] (GRID K100)
 
 pci:v000010DEd00000FE8*
- ID_MODEL_FROM_DATABASE=GK107M
+ ID_MODEL_FROM_DATABASE=GK107M [N14P-GS]
 
 pci:v000010DEd00000FE9*
  ID_MODEL_FROM_DATABASE=GK107M [GeForce GT 750M Mac Edition]
@@ -35528,6 +35582,9 @@ pci:v000010DEd000011A3sv0000106Bsd0000010D*
 pci:v000010DEd000011A7*
  ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 675MX]
 
+pci:v000010DEd000011A8*
+ ID_MODEL_FROM_DATABASE=GK104GLM [Quadro K5100M]
+
 pci:v000010DEd000011A9*
  ID_MODEL_FROM_DATABASE=GK104M [GeForce GTX 870M]
 
@@ -36728,6 +36785,9 @@ pci:v000010DEd00001DF6*
 pci:v000010DEd00001E02*
  ID_MODEL_FROM_DATABASE=TU102 [TITAN RTX]
 
+pci:v000010DEd00001E03*
+ ID_MODEL_FROM_DATABASE=TU102 [GeForce RTX 2080 Ti 12GB]
+
 pci:v000010DEd00001E04*
  ID_MODEL_FROM_DATABASE=TU102 [GeForce RTX 2080 Ti]
 
@@ -36998,6 +37058,9 @@ pci:v000010DEd00001FB2*
 pci:v000010DEd00001FB6*
  ID_MODEL_FROM_DATABASE=TU117GLM [T600 Laptop GPU]
 
+pci:v000010DEd00001FB6sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=TU117GLM [T600 Laptop GPU] (Precision 3571)
+
 pci:v000010DEd00001FB7*
  ID_MODEL_FROM_DATABASE=TU117GLM [T550 Laptop GPU]
 
@@ -37085,11 +37148,14 @@ pci:v000010DEd000020F1*
 pci:v000010DEd000020F2*
  ID_MODEL_FROM_DATABASE=GA100 [A100-PG506-217]
 
+pci:v000010DEd000020F3*
+ ID_MODEL_FROM_DATABASE=GA100 [A800-SXM4-80GB]
+
 pci:v000010DEd000020F5*
- ID_MODEL_FROM_DATABASE=GA100 [A800-80]
+ ID_MODEL_FROM_DATABASE=GA100 [A800 80GB PCIe]
 
 pci:v000010DEd000020F6*
- ID_MODEL_FROM_DATABASE=GA100 [A800-40]
+ ID_MODEL_FROM_DATABASE=GA100 [A800 40GB PCIe]
 
 pci:v000010DEd00002182*
  ID_MODEL_FROM_DATABASE=TU116 [GeForce GTX 1660 Ti]
@@ -38195,6 +38261,9 @@ pci:v000010ECd0000525Asv00001028sd000006E6*
 pci:v000010ECd0000525Asv00001028sd000009BE*
  ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (Latitude 7410)
 
+pci:v000010ECd0000525Asv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (Precision 3571)
+
 pci:v000010ECd0000525Asv000017AAsd0000224F*
  ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (ThinkPad X1 Carbon 5th Gen)
 
@@ -44741,6 +44810,9 @@ pci:v00001179d00000115*
 pci:v00001179d00000116*
  ID_MODEL_FROM_DATABASE=XG5 NVMe SSD Controller
 
+pci:v00001179d00000116sv00001179sd00000001*
+ ID_MODEL_FROM_DATABASE=XG5 NVMe SSD Controller
+
 pci:v00001179d0000011A*
  ID_MODEL_FROM_DATABASE=XG6 NVMe SSD Controller
 
@@ -71441,6 +71513,9 @@ pci:v00001D0Fd0000EFA0*
 pci:v00001D0Fd0000EFA1*
  ID_MODEL_FROM_DATABASE=Elastic Fabric Adapter (EFA)
 
+pci:v00001D0Fd0000EFA2*
+ ID_MODEL_FROM_DATABASE=Elastic Fabric Adapter (EFA)
+
 pci:v00001D17*
  ID_VENDOR_FROM_DATABASE=Zhaoxin
 
@@ -71894,6 +71969,9 @@ pci:v00001D6Cd00001021*
 pci:v00001D6Cd00001022*
  ID_MODEL_FROM_DATABASE=AR-ARKA-FX2 [Arkville 128B DPDK Data Mover for Agilex]
 
+pci:v00001D6Cd00001023*
+ ID_MODEL_FROM_DATABASE=AR-BD-FX1 [BufferDirect Zero-Bounce Data Motion Endpoint]
+
 pci:v00001D6Cd00004200*
  ID_MODEL_FROM_DATABASE=A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument]
 
@@ -73574,6 +73652,12 @@ pci:v00001EE1*
 pci:v00001EE1d00000050*
  ID_MODEL_FROM_DATABASE=Aurora NVMe SSD Controller
 
+pci:v00001EE1d00000050sv00001EE1sd00000009*
+ ID_MODEL_FROM_DATABASE=Aurora NVMe SSD Controller (Airglow A430 NVMe SSD U.2 1.6TB)
+
+pci:v00001EE1d00000050sv00001EE1sd0000000A*
+ ID_MODEL_FROM_DATABASE=Aurora NVMe SSD Controller (Airglow A430 NVMe SSD U.2 3.2TB)
+
 pci:v00001EE4*
  ID_VENDOR_FROM_DATABASE=PETAIO INC
 
@@ -73668,115 +73752,115 @@ pci:v00001F3F*
  ID_VENDOR_FROM_DATABASE=3SNIC Ltd
 
 pci:v00001F3Fd00002100*
- ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA
+ ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA
 
 pci:v00001F3Fd00002100sv00001F3Fsd00000120*
- ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 32 Ports)
+ ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 32 Ports)
 
 pci:v00001F3Fd00002100sv00001F3Fsd00000125*
- ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 40 Ports)
+ ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 40 Ports)
 
 pci:v00001F3Fd00002100sv00001F3Fsd00000180*
- ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 16 Ports)
+ ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 16 Ports)
 
 pci:v00001F3Fd00002100sv00001F3Fsd00000185*
- ID_MODEL_FROM_DATABASE=3SRAID SAS/SATA HBA (HBA 8 Ports)
+ ID_MODEL_FROM_DATABASE=SSSRAID SAS/SATA HBA (HBA 8 Ports)
 
 pci:v00001F3Fd00002200*
- ID_MODEL_FROM_DATABASE=3SRAID RAID controller
+ ID_MODEL_FROM_DATABASE=SSSRAID RAID controller
 
 pci:v00001F3Fd00002200sv00001F3Fsd00000185*
- ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 16 Ports with 2G Cache)
+ ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 16 Ports with 2G Cache)
 
 pci:v00001F3Fd00002200sv00001F3Fsd000001A1*
- ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 40 Ports with 2G Cache)
+ ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 40 Ports with 2G Cache)
 
 pci:v00001F3Fd00002200sv00001F3Fsd000001A4*
- ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 16 Ports with 4G Cache)
+ ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 16 Ports with 4G Cache)
 
 pci:v00001F3Fd00002200sv00001F3Fsd000001A8*
- ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 32 Ports with 4G Cache)
+ ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 32 Ports with 4G Cache)
 
 pci:v00001F3Fd00002200sv00001F3Fsd000001AD*
- ID_MODEL_FROM_DATABASE=3SRAID RAID controller (RAID Controller 40 Ports with 4G Cache)
+ ID_MODEL_FROM_DATABASE=SSSRAID RAID controller (RAID Controller 40 Ports with 4G Cache)
 
 pci:v00001F3Fd00009001*
- ID_MODEL_FROM_DATABASE=Ethernet VF
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF
 
 pci:v00001F3Fd00009001sv00001F3Fsd00001000*
- ID_MODEL_FROM_DATABASE=Ethernet VF
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF (Ethernet VF)
 
 pci:v00001F3Fd00009002*
- ID_MODEL_FROM_DATABASE=Ethernet VF Hyper-V
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF Hyper-V
 
 pci:v00001F3Fd00009002sv00001F3Fsd00001000*
- ID_MODEL_FROM_DATABASE=Ethernet VF Hyper-V
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet VF Hyper-V (Ethernet VF Hyper-V)
 
 pci:v00001F3Fd00009003*
- ID_MODEL_FROM_DATABASE=Ethernet SDI VF
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF
 
 pci:v00001F3Fd00009003sv00001F3Fsd00001000*
- ID_MODEL_FROM_DATABASE=Ethernet SDI VF
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF (Ethernet SDI VF)
 
 pci:v00001F3Fd00009004*
- ID_MODEL_FROM_DATABASE=Ethernet SDI VF Hyper-V
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF Hyper-V
 
 pci:v00001F3Fd00009004sv00001F3Fsd00001000*
- ID_MODEL_FROM_DATABASE=Ethernet SDI VF Hyper-V
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet SDI VF Hyper-V (Ethernet SDI VF Hyper-V)
 
 pci:v00001F3Fd00009008*
- ID_MODEL_FROM_DATABASE=3SFC VF
+ ID_MODEL_FROM_DATABASE=SSSFC VF
 
 pci:v00001F3Fd00009008sv00001F3Fsd00001000*
- ID_MODEL_FROM_DATABASE=3SFC VF
+ ID_MODEL_FROM_DATABASE=SSSFC VF (3SFC VF)
 
 pci:v00001F3Fd00009009*
- ID_MODEL_FROM_DATABASE=3SFC VF Hyper-V
+ ID_MODEL_FROM_DATABASE=SSSFC VF Hyper-V
 
 pci:v00001F3Fd00009009sv00001F3Fsd00001000*
- ID_MODEL_FROM_DATABASE=3SFC VF Hyper-V
+ ID_MODEL_FROM_DATABASE=SSSFC VF Hyper-V (3SFC VF Hyper-V)
 
 pci:v00001F3Fd00009010*
- ID_MODEL_FROM_DATABASE=3SFC FC Controller
+ ID_MODEL_FROM_DATABASE=SSSFC FC Controller
 
 pci:v00001F3Fd00009010sv00001F3Fsd00000041*
- ID_MODEL_FROM_DATABASE=3SFC FC Controller (Dual Port 16GE FC to PCIe Gen4 x16 Adapter)
+ ID_MODEL_FROM_DATABASE=SSSFC FC Controller (Dual Port 16GE FC to PCIe Gen4 x16 Adapter)
 
 pci:v00001F3Fd00009010sv00001F3Fsd00000061*
- ID_MODEL_FROM_DATABASE=3SFC FC Controller (Dual Port 32GE FC to PCIe Gen4 x16 Adapter)
+ ID_MODEL_FROM_DATABASE=SSSFC FC Controller (Dual Port 32GE FC to PCIe Gen4 x16 Adapter)
 
 pci:v00001F3Fd00009020*
- ID_MODEL_FROM_DATABASE=Ethernet Network Adapter
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter
 
 pci:v00001F3Fd00009020sv00001F3Fsd00000051*
- ID_MODEL_FROM_DATABASE=Ethernet Network Adapter (Dual Port 25GE Ethernet Network Adapter)
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter (Dual Port 25GE Ethernet Network Adapter)
 
 pci:v00001F3Fd00009020sv00001F3Fsd00000052*
- ID_MODEL_FROM_DATABASE=Ethernet Network Adapter (Quad Port 25GE Ethernet Network Adapter)
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter (Quad Port 25GE Ethernet Network Adapter)
 
 pci:v00001F3Fd00009020sv00001F3Fsd000000A1*
- ID_MODEL_FROM_DATABASE=Ethernet Network Adapter (Dual Port 100GE Ethernet Network Adapter)
+ ID_MODEL_FROM_DATABASE=SSSNIC Ethernet Network Adapter (Dual Port 100GE Ethernet Network Adapter)
 
 pci:v00001F3Fd00009030*
- ID_MODEL_FROM_DATABASE=IPU
+ ID_MODEL_FROM_DATABASE=SSSNIC IPU
 
 pci:v00001F3Fd00009030sv00001F3Fsd00000051*
- ID_MODEL_FROM_DATABASE=IPU (Dual Port 25GE IPU)
+ ID_MODEL_FROM_DATABASE=SSSNIC IPU (Dual Port 25GE IPU)
 
 pci:v00001F3Fd00009031*
- ID_MODEL_FROM_DATABASE=SDI5.0
+ ID_MODEL_FROM_DATABASE=SSSNIC SDI5.0
 
 pci:v00001F3Fd00009031sv00001F3Fsd00000051*
- ID_MODEL_FROM_DATABASE=SDI5.0 (Dual Port 25GE SDI5.0lite)
+ ID_MODEL_FROM_DATABASE=SSSNIC SDI5.0 (Dual Port 25GE SDI5.0lite)
 
 pci:v00001F3Fd00009031sv00001F3Fsd000000A1*
- ID_MODEL_FROM_DATABASE=SDI5.0 (Dual Port 100GE SDI5.0)
+ ID_MODEL_FROM_DATABASE=SSSNIC SDI5.0 (Dual Port 100GE SDI5.0)
 
 pci:v00001F3Fd00009032*
- ID_MODEL_FROM_DATABASE=SDI5.1
+ ID_MODEL_FROM_DATABASE=SSSNIC SDI5.1
 
 pci:v00001F3Fd00009032sv00001F3Fsd000000A1*
- ID_MODEL_FROM_DATABASE=SDI5.1 (Dual Port 100GE SDI5.1)
+ ID_MODEL_FROM_DATABASE=SSSNIC SDI5.1 (Dual Port 100GE SDI5.1)
 
 pci:v00001F40*
  ID_VENDOR_FROM_DATABASE=Netac Technology Co.,Ltd
@@ -83642,6 +83726,9 @@ pci:v00008086d00001A1D*
 pci:v00008086d00001A1E*
  ID_MODEL_FROM_DATABASE=Ethernet Connection (16) I219-LM
 
+pci:v00008086d00001A1Esv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection (16) I219-LM (Precision 3571)
+
 pci:v00008086d00001A1F*
  ID_MODEL_FROM_DATABASE=Ethernet Connection (16) I219-V
 
@@ -96263,9 +96350,15 @@ pci:v00008086d0000460D*
 pci:v00008086d0000461D*
  ID_MODEL_FROM_DATABASE=Alder Lake Innovation Platform Framework Processor Participant
 
+pci:v00008086d0000461Dsv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake Innovation Platform Framework Processor Participant (Precision 3571)
+
 pci:v00008086d0000461E*
  ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 USB Controller
 
+pci:v00008086d0000461Esv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 USB Controller (Precision 3571)
+
 pci:v00008086d0000461F*
  ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 PCI Express Root Port #3
 
@@ -96299,18 +96392,27 @@ pci:v00008086d0000463D*
 pci:v00008086d0000463E*
  ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 NHI #0
 
+pci:v00008086d0000463Esv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 NHI #0 (Precision 3571)
+
 pci:v00008086d0000463F*
  ID_MODEL_FROM_DATABASE=Alder Lake-P Thunderbolt 4 PCI Express Root Port #1
 
 pci:v00008086d00004641*
  ID_MODEL_FROM_DATABASE=12th Gen Core Processor Host Bridge/DRAM Registers
 
+pci:v00008086d00004641sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=12th Gen Core Processor Host Bridge/DRAM Registers (Precision 3571)
+
 pci:v00008086d0000464D*
  ID_MODEL_FROM_DATABASE=12th Gen Core Processor PCI Express x4 Controller #0
 
 pci:v00008086d0000464F*
  ID_MODEL_FROM_DATABASE=12th Gen Core Processor Gaussian & Neural Accelerator
 
+pci:v00008086d0000464Fsv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=12th Gen Core Processor Gaussian & Neural Accelerator (Precision 3571)
+
 pci:v00008086d00004660*
  ID_MODEL_FROM_DATABASE=12th Gen Core Processor Host Bridge/DRAM Registers
 
@@ -96623,18 +96725,30 @@ pci:v00008086d00005181*
 pci:v00008086d00005182*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH eSPI Controller
 
+pci:v00008086d00005182sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH eSPI Controller (Precision 3571)
+
 pci:v00008086d000051A3*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH-P SMBus Host Controller
 
+pci:v00008086d000051A3sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH-P SMBus Host Controller (Precision 3571)
+
 pci:v00008086d000051A4*
  ID_MODEL_FROM_DATABASE=Alder Lake-P PCH SPI Controller
 
+pci:v00008086d000051A4sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake-P PCH SPI Controller (Precision 3571)
+
 pci:v00008086d000051A8*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH UART #0
 
 pci:v00008086d000051A9*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH UART #1
 
+pci:v00008086d000051B1*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCI Express x1 Root Port #10
+
 pci:v00008086d000051BF*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH-P PCI Express Root Port #9
 
@@ -96647,9 +96761,15 @@ pci:v00008086d000051C6*
 pci:v00008086d000051C8*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH-P High Definition Audio Controller
 
+pci:v00008086d000051C8sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH-P High Definition Audio Controller (Precision 3571)
+
 pci:v00008086d000051D3*
  ID_MODEL_FROM_DATABASE=Alder Lake-P SATA AHCI Controller
 
+pci:v00008086d000051D3sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake-P SATA AHCI Controller (Precision 3571)
+
 pci:v00008086d000051D8*
  ID_MODEL_FROM_DATABASE=Alder Lake-P Serial IO I2C Controller #2
 
@@ -96659,12 +96779,27 @@ pci:v00008086d000051D9*
 pci:v00008086d000051E0*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH HECI Controller
 
+pci:v00008086d000051E0sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH HECI Controller (Precision 3571)
+
+pci:v00008086d000051E3*
+ ID_MODEL_FROM_DATABASE=Alder Lake AMT SOL Redirection
+
+pci:v00008086d000051E3sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake AMT SOL Redirection (Precision 3571)
+
 pci:v00008086d000051E8*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #0
 
+pci:v00008086d000051E8sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #0 (Precision 3571)
+
 pci:v00008086d000051E9*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #1
 
+pci:v00008086d000051E9sv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #1 (Precision 3571)
+
 pci:v00008086d000051EA*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH Serial IO I2C Controller #2
 
@@ -96674,9 +96809,15 @@ pci:v00008086d000051EB*
 pci:v00008086d000051ED*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH USB 3.2 xHCI Host Controller
 
+pci:v00008086d000051EDsv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH USB 3.2 xHCI Host Controller (Precision 3571)
+
 pci:v00008086d000051EF*
  ID_MODEL_FROM_DATABASE=Alder Lake PCH Shared SRAM
 
+pci:v00008086d000051EFsv00001028sd00000B10*
+ ID_MODEL_FROM_DATABASE=Alder Lake PCH Shared SRAM (Precision 3571)
+
 pci:v00008086d000051F0*
  ID_MODEL_FROM_DATABASE=Alder Lake-P PCH CNVi WiFi
 
@@ -96692,6 +96833,9 @@ pci:v00008086d000051F0sv00008086sd00000074*
 pci:v00008086d000051F0sv00008086sd00004070*
  ID_MODEL_FROM_DATABASE=Alder Lake-P PCH CNVi WiFi (Wi-Fi 6 AX201 160MHz)
 
+pci:v00008086d000051F0sv00008086sd00004090*
+ ID_MODEL_FROM_DATABASE=Alder Lake-P PCH CNVi WiFi (Wi-Fi 6E AX211 160MHz)
+
 pci:v00008086d00005200*
  ID_MODEL_FROM_DATABASE=EtherExpress PRO/100 Intelligent Server PCI Bridge
 
index a2484ab3869db46eca3a167322f620283cda3975..6fa1329171dff5c1f68ed7871dc9ca3e74468ac7 100644 (file)
 # * Configuration ROM for AV/C Devices 1.0 (Dec. 12, 2000, 1394 Trading Association, TA Document
 #   1999027)
 #
+# Exceptional layout of configuration ROM for legacy device is described in annex of the above
+# document. The layout has some entries for model information in vendor directory instead of root
+# or unit directories. For the case, Linux FireWire subsystem don't detect Model_ID and model name,
+# thus node key without 'mo' field is detected. Wild card pattern is used to match the case with and
+# without mo field in customized key for node device.
 
 # Just for backward compatibility. Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries
 # if it is inconvenient.
-ieee1394:node:ven*mo*units*0x00a02d:0x010001*
-ieee1394:ven*mo*sp0000A02Dver00010001
+ieee1394:node:ven*units*0x00a02d:0x010001*
+ieee1394:ven*sp0000A02Dver00010001
  IEEE1394_UNIT_FUNCTION_VIDEO=1
 
 #
@@ -55,14 +60,14 @@ ieee1394:ven*mo*sp0000A02Dver00010001
 #
 
 # Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries if it is inconvenient.
-ieee1394:node:ven*mo*units*0x00a02d:0x014000*
-ieee1394:ven*mo*sp0000A02Dver00014000
+ieee1394:node:ven*units*0x00a02d:0x014000*
+ieee1394:ven*sp0000A02Dver00014000
  IEEE1394_UNIT_FUNCTION_VIDEO=1
 
 # Just for backward compatibility. Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries
 # if it is inconvenient.
-ieee1394:node:ven*mo*units*0x00a02d:0x014001*
-ieee1394:ven*mo*sp0000A02Dver00014001
+ieee1394:node:ven*units*0x00a02d:0x014001*
+ieee1394:ven*sp0000A02Dver00014001
  IEEE1394_UNIT_FUNCTION_VIDEO=1
 
 #
@@ -1303,6 +1308,17 @@ ieee1394:ven00001287mo00000036sp0000A02Dver00010001
  ID_MODEL_FROM_DATABASE=FireDTV C/CI
  IEEE1394_UNIT_FUNCTION_VIDEO=1
 
+#
+# Legacy layout of configuration ROM described in Annex 1 of 'Configuration ROM for AV/C Devices
+# 1.0 (December 12, 2000, 1394 Trading Association, TA Document 1999027)'.
+#
+
+ieee1394:node:ven0x080046units0x00a02d:0x010001
+ieee1394:ven00080046mo00000000sp0000A02Dver00010001
+ ID_VENDOR_FROM_DATABASE=Sony Corporation
+ ID_MODEL_FROM_DATABASE=DCR-TRV310
+ IEEE1394_UNIT_FUNCTION_VIDEO=1
+
 #
 # Node with multiple units for several functions.
 #
index 44c272ea0eb40ef5675a8e24cb34bbc38cc86578..ea866d15377877da96a9797ff281756fec281c4e 100644 (file)
@@ -39455,18 +39455,6 @@ D46352     (base 16)           Vutility Inc.
                                Sandy  UT  84070\r
                                US\r
 \r
-94-0E-E7   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
-940EE7     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
-                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
-                               Dongguan    523808\r
-                               CN\r
-\r
-A8-B2-71   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
-A8B271     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
-                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
-                               Dongguan    523808\r
-                               CN\r
-\r
 50-5A-65   (hex)               AzureWave Technology Inc.\r
 505A65     (base 16)           AzureWave Technology Inc.\r
                                8F., No. 94, Baozhong Rd., Xindian Dist.\r
@@ -39485,18 +39473,6 @@ C4A559     (base 16)           IEEE Registration Authority
                                Piscataway  NJ  08554\r
                                US\r
 \r
-64-05-E4   (hex)               ALPSALPINE CO,.LTD\r
-6405E4     (base 16)           ALPSALPINE CO,.LTD\r
-                               nishida 6-1\r
-                               kakuda-City  Miyagi-Pref  981-1595\r
-                               JP\r
-\r
-BC-64-D9   (hex)               GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD\r
-BC64D9     (base 16)           GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD\r
-                               NO.18 HAIBIN ROAD,\r
-                               DONG GUAN  GUANG DONG  523860\r
-                               CN\r
-\r
 DC-AC-6F   (hex)               Everytale Inc\r
 DCAC6F     (base 16)           Everytale Inc\r
                                2093 Philadelphia Pike #2211\r
@@ -39509,11 +39485,23 @@ F41532     (base 16)          PETAiO (NanJing), Inc.
                                Nanjing  Jiangsu  211800\r
                                CN\r
 \r
-48-29-E4   (hex)               AO NPK RoTeK\r
-4829E4     (base 16)           AO NPK RoTeK\r
-                               Prospekt Mira\r
-                               Moscow    129223\r
-                               RU\r
+A8-B2-71   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
+A8B271     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
+                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
+                               Dongguan    523808\r
+                               CN\r
+\r
+64-05-E4   (hex)               ALPSALPINE CO,.LTD\r
+6405E4     (base 16)           ALPSALPINE CO,.LTD\r
+                               nishida 6-1\r
+                               kakuda-City  Miyagi-Pref  981-1595\r
+                               JP\r
+\r
+BC-64-D9   (hex)               GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD\r
+BC64D9     (base 16)           GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD\r
+                               NO.18 HAIBIN ROAD,\r
+                               DONG GUAN  GUANG DONG  523860\r
+                               CN\r
 \r
 30-1F-48   (hex)               zte corporation\r
 301F48     (base 16)           zte corporation\r
@@ -39521,6 +39509,42 @@ F41532     (base 16)           PETAiO (NanJing), Inc.
                                shenzhen   guangdong  518057\r
                                CN\r
 \r
+94-0E-E7   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
+940EE7     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
+                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
+                               Dongguan    523808\r
+                               CN\r
+\r
+7C-C7-4A   (hex)               Fiberhome Telecommunication Technologies Co.,LTD\r
+7CC74A     (base 16)           Fiberhome Telecommunication Technologies Co.,LTD\r
+                               No.5 DongXin Road\r
+                               Wuhan  Hubei  430074\r
+                               CN\r
+\r
+38-FC-34   (hex)               Huawei Device Co., Ltd.\r
+38FC34     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+3C-F6-92   (hex)               Huawei Device Co., Ltd.\r
+3CF692     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+28-B5-E8   (hex)               Texas Instruments\r
+28B5E8     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
+48-29-E4   (hex)               AO \r
+4829E4     (base 16)           AO \r
+                               Prospekt Mira\r
+                               Moscow    129223\r
+                               RU\r
+\r
 9C-FF-C2   (hex)               AVI Systems GmbH\r
 9CFFC2     (base 16)           AVI Systems GmbH\r
                                Dr. Franz Wilhelmstraße 2A\r
@@ -78368,6 +78392,12 @@ FCB0DE     (base 16)           CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.
                                Xiamen  Fujian  361024\r
                                CN\r
 \r
+64-C6-D2   (hex)               Seiko Epson Corporation\r
+64C6D2     (base 16)           Seiko Epson Corporation\r
+                               2070 Kotobuki Koaka\r
+                               Matsumoto-shi  Nagano-ken  399-8702\r
+                               JP\r
+\r
 78-24-59   (hex)               Alcatel-Lucent Enterprise\r
 782459     (base 16)           Alcatel-Lucent Enterprise\r
                                26801 West Agoura Rd\r
@@ -78392,30 +78422,54 @@ FCB0DE     (base 16)          CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.
                                Culoz    01350\r
                                FR\r
 \r
+B8-3C-28   (hex)               Apple, Inc.\r
+B83C28     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+3C-6D-89   (hex)               Apple, Inc.\r
+3C6D89     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+AC-45-00   (hex)               Apple, Inc.\r
+AC4500     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+84-B1-E4   (hex)               Apple, Inc.\r
+84B1E4     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+54-EB-E9   (hex)               Apple, Inc.\r
+54EBE9     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+AC-16-15   (hex)               Apple, Inc.\r
+AC1615     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
 48-BD-CE   (hex)               Technicolor CH USA Inc.\r
 48BDCE     (base 16)           Technicolor CH USA Inc.\r
                                5030 Sugarloaf Parkway Bldg 6 \r
                                Lawrenceville   GA  30044\r
                                US\r
 \r
-64-C6-D2   (hex)               Seiko Epson Corporation\r
-64C6D2     (base 16)           Seiko Epson Corporation\r
-                               2070 Kotobuki Koaka\r
-                               Matsumoto-shi  Nagano-ken  399-8702\r
-                               JP\r
-\r
 48-1F-66   (hex)               China Mobile Group Device Co.,Ltd.\r
 481F66     (base 16)           China Mobile Group Device Co.,Ltd.\r
                                32 Xuanwumen West Street,Xicheng District\r
                                Beijing    100053\r
                                CN\r
 \r
-B8-3C-28   (hex)               Apple, Inc.\r
-B83C28     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
-\r
 10-68-38   (hex)               AzureWave Technology Inc.\r
 106838     (base 16)           AzureWave Technology Inc.\r
                                8F., No.94, Baozhong Rd., Xindian\r
@@ -78440,6 +78494,24 @@ C80A35     (base 16)           Qingdao Hisense Smart Life Technology Co., Ltd
                                Brescia  Italy  25062\r
                                IT\r
 \r
+CC-DE-DE   (hex)               Nokia\r
+CCDEDE     (base 16)           Nokia\r
+                               600 March Road\r
+                               Kanata  Ontario  K2K 2E6\r
+                               CA\r
+\r
+EC-F8-D0   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
+ECF8D0     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
+                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
+                               Dongguan    523808\r
+                               CN\r
+\r
+30-DF-17   (hex)               ALPSALPINE CO,.LTD\r
+30DF17     (base 16)           ALPSALPINE CO,.LTD\r
+                               nishida 6-1\r
+                               kakuda-City  Miyagi-Pref  981-1595\r
+                               JP\r
+\r
 D8-02-8A   (hex)               Shenzhen YOUHUA Technology Co., Ltd\r
 D8028A     (base 16)           Shenzhen YOUHUA Technology Co., Ltd\r
                                Room 407 Shenzhen University-town Business Park,Lishan Road,Taoyuan Street,Nanshan District\r
@@ -78452,40 +78524,10 @@ D8028A     (base 16)          Shenzhen YOUHUA Technology Co., Ltd
                                Dongguan    523808\r
                                CN\r
 \r
-EC-F8-D0   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
-ECF8D0     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
-                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
-                               Dongguan    523808\r
-                               CN\r
-\r
-3C-6D-89   (hex)               Apple, Inc.\r
-3C6D89     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
-\r
-AC-45-00   (hex)               Apple, Inc.\r
-AC4500     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
-\r
-84-B1-E4   (hex)               Apple, Inc.\r
-84B1E4     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
-\r
-54-EB-E9   (hex)               Apple, Inc.\r
-54EBE9     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
-\r
-AC-16-15   (hex)               Apple, Inc.\r
-AC1615     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
+60-B6-47   (hex)               Silicon Laboratories\r
+60B647     (base 16)           Silicon Laboratories\r
+                               7000 W. William Cannon Dr.\r
+                               Austin  TX  78735\r
                                US\r
 \r
 EC-73-79   (hex)               Apple, Inc.\r
@@ -78494,42 +78536,102 @@ EC7379     (base 16)         Apple, Inc.
                                Cupertino  CA  95014\r
                                US\r
 \r
-60-B6-47   (hex)               Silicon Laboratories\r
-60B647     (base 16)           Silicon Laboratories\r
-                               7000 W. William Cannon Dr.\r
-                               Austin  TX  78735\r
-                               US\r
+04-70-56   (hex)               Arcadyan Corporation\r
+047056     (base 16)           Arcadyan Corporation\r
+                               No.8, Sec.2, Guangfu Rd.\r
+                               Hsinchu City  Hsinchu  30071\r
+                               TW\r
 \r
-30-DF-17   (hex)               ALPSALPINE CO,.LTD\r
-30DF17     (base 16)           ALPSALPINE CO,.LTD\r
-                               nishida 6-1\r
-                               kakuda-City  Miyagi-Pref  981-1595\r
-                               JP\r
+40-FF-40   (hex)               GloquadTech\r
+40FF40     (base 16)           GloquadTech\r
+                               801, Tower-A, 58-1, Giheung-ro, Giheung-gu, Yongin-si, Gyeonggi-do, 16976, Republic of Korea\r
+                               Yongin-si  Gyeonggi-do  16976\r
+                               KR\r
 \r
-CC-DE-DE   (hex)               Nokia\r
-CCDEDE     (base 16)           Nokia\r
-                               600 March Road\r
-                               Kanata  Ontario  K2K 2E6\r
-                               CA\r
+E8-65-38   (hex)               CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.\r
+E86538     (base 16)           CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.\r
+                               B22 Building,NO.51 Tongle Road, Shajing Town, Jiangnan District, Nanning, Guangxi Province, China\r
+                               Nanning  Guangxi  530007\r
+                               CN\r
 \r
-DC-E3-05   (hex)               AO NPK RoTeK\r
-DCE305     (base 16)           AO NPK RoTeK\r
+D4-04-E6   (hex)               Broadcom Limited\r
+D404E6     (base 16)           Broadcom Limited\r
+                               15191 Alton Parkway\r
+                               Irvine  CA  92618\r
+                               US\r
+\r
+DC-E3-05   (hex)               AO \r
+DCE305     (base 16)           AO \r
                                Prospekt Mira\r
                                Moscow    129223\r
                                RU\r
 \r
-E8-65-38   (hex)               CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.\r
-E86538     (base 16)           CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.\r
-                               B22 Building,NO.51 Tongle Road, Shajing Town, Jiangnan District, Nanning, Guangxi Province, China\r
-                               Nanning  Guangxi  530007\r
+B8-94-D9   (hex)               Texas Instruments\r
+B894D9     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
+7C-E2-69   (hex)               Texas Instruments\r
+7CE269     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
+88-6D-2D   (hex)               Huawei Device Co., Ltd.\r
+886D2D     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
                                CN\r
 \r
+08-04-B4   (hex)               Texas Instruments\r
+0804B4     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
+30-AF-7E   (hex)               Texas Instruments\r
+30AF7E     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
 24-2A-04   (hex)               Cisco Systems, Inc\r
 242A04     (base 16)           Cisco Systems, Inc\r
                                80 West Tasman Drive\r
                                San Jose  CA  94568\r
                                US\r
 \r
+24-95-2F   (hex)               Google, Inc.\r
+24952F     (base 16)           Google, Inc.\r
+                               1600 Amphitheatre Parkway\r
+                               Mountain View  CA  94043\r
+                               US\r
+\r
+10-BE-99   (hex)               Netberg\r
+10BE99     (base 16)           Netberg\r
+                               2F-1 No.36, Park St., Nangang District\r
+                               Taipei    11560\r
+                               TW\r
+\r
+60-DE-F4   (hex)               Shenzhen iComm Semiconductor CO.,LTD\r
+60DEF4     (base 16)           Shenzhen iComm Semiconductor CO.,LTD\r
+                               Room 601,Block B ,Digital Building,Garden City\r
+                               Shenzhen  No.1079 Nanhai Road,Nanshan District  518067\r
+                               CN\r
+\r
+84-D3-52   (hex)               Tonly Technology Co. Ltd \r
+84D352     (base 16)           Tonly Technology Co. Ltd \r
+                               Section 37, Zhongkai Hi-Tech Development Zone\r
+                               Huizhou  Guangdong  516006\r
+                               CN\r
+\r
+E4-21-50   (hex)               Shanghai Chint low voltage electrical technology Co.,Ltd.\r
+E42150     (base 16)           Shanghai Chint low voltage electrical technology Co.,Ltd.\r
+                               3857 Sixian Road, Songjiang District, Shanghai\r
+                               Shanghai  Shanghai  201616\r
+                               CN\r
+\r
 84-80-94   (hex)               Meter, Inc.\r
 848094     (base 16)           Meter, Inc.\r
                                148 Townsend St\r
@@ -101186,12 +101288,6 @@ D8D67E     (base 16)         GSK CNC EQUIPMENT CO.,LTD
                                Eveleigh NSW     2015\r
                                NZ\r
 \r
-00-12-E0   (hex)               Codan Limited\r
-0012E0     (base 16)           Codan Limited\r
-                               81 Graves Street\r
-                               Newton  South  5074\r
-                               AU\r
-\r
 00-12-DE   (hex)               Radio Components Sweden AB\r
 0012DE     (base 16)           Radio Components Sweden AB\r
                                Viderogatan 3B\r
@@ -117737,22 +117833,100 @@ B04B68     (base 16)               NAKAYO Inc
                                Maebashi-shi  Gunma  371-0853\r
                                JP\r
 \r
+D8-34-1C   (hex)               GD Midea Air-Conditioning Equipment Co.,Ltd.\r
+D8341C     (base 16)           GD Midea Air-Conditioning Equipment Co.,Ltd.\r
+                               Midea Global Innovation Center,Beijiao Town,Shunde\r
+                               Foshan  Guangdong  528311\r
+                               CN\r
+\r
+54-51-DE   (hex)               Cisco Systems, Inc\r
+5451DE     (base 16)           Cisco Systems, Inc\r
+                               80 West Tasman Drive\r
+                               San Jose  CA  94568\r
+                               US\r
+\r
 F4-33-1C   (hex)               Toast, Inc.\r
 F4331C     (base 16)           Toast, Inc.\r
                                401 Park Drive, Suite 801\r
                                Boston  MA  02215\r
                                US\r
 \r
-D8-AF-81   (hex)               AO NPK RoTeK\r
-D8AF81     (base 16)           AO NPK RoTeK\r
+04-32-01   (hex)               Broadcom Limited\r
+043201     (base 16)           Broadcom Limited\r
+                               15191 Alton Parkway\r
+                               Irvine  CA  92618\r
+                               US\r
+\r
+D8-AF-81   (hex)               AO \r
+D8AF81     (base 16)           AO \r
                                Filippovskiy per., 8/1\r
                                Moscow    119019\r
                                RU\r
 \r
-54-51-DE   (hex)               Cisco Systems, Inc\r
-5451DE     (base 16)           Cisco Systems, Inc\r
-                               80 West Tasman Drive\r
-                               San Jose  CA  94568\r
+00-12-E0   (hex)               Codan Limited\r
+0012E0     (base 16)           Codan Limited\r
+                               Technology Park, 2 Second Avenue\r
+                               Mawson Lakes  SA  5095\r
+                               AU\r
+\r
+38-39-6C   (hex)               Huawei Device Co., Ltd.\r
+38396C     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+50-66-E5   (hex)               Huawei Device Co., Ltd.\r
+5066E5     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+DC-77-94   (hex)               Huawei Device Co., Ltd.\r
+DC7794     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+70-B6-51   (hex)               Eight Sleep\r
+70B651     (base 16)           Eight Sleep\r
+                               212 W 35th StFloor 4\r
+                               New York  NY  10123\r
+                               US\r
+\r
+DC-A3-13   (hex)               Shenzhen Changjin Communication Technology Co.,Ltd\r
+DCA313     (base 16)           Shenzhen Changjin Communication Technology Co.,Ltd\r
+                               6th Floor, Saibo Building, Tenglong Road, Minzhi Street, Longhua District, Shenzhen\r
+                               Shenzhen    518000\r
+                               CN\r
+\r
+68-9A-21   (hex)               Fiberhome Telecommunication Technologies Co.,LTD\r
+689A21     (base 16)           Fiberhome Telecommunication Technologies Co.,LTD\r
+                               No.5 DongXin Road\r
+                               Wuhan  Hubei  430074\r
+                               CN\r
+\r
+7C-17-79   (hex)               EM Microelectronic\r
+7C1779     (base 16)           EM Microelectronic\r
+                               Rue des Sors 3\r
+                               Marin-Epagnier  Neuchatel  2074\r
+                               CH\r
+\r
+90-CE-B8   (hex)               Texas Instruments\r
+90CEB8     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
+AC-FC-82   (hex)               Shenzhen Sundray Technologies Company Limited\r
+ACFC82     (base 16)           Shenzhen Sundray Technologies Company Limited\r
+                               5th Floor, Block A4, Nanshan ipark,NO.1001 Xue Yuan Road, Nanshan District, Shenzhen 518055, P.R. China\r
+                               Shenzhen  Guangdong  518057\r
+                               CN\r
+\r
+70-5A-6F   (hex)               IEEE Registration Authority\r
+705A6F     (base 16)           IEEE Registration Authority\r
+                               445 Hoes Lane\r
+                               Piscataway  NJ  08554\r
                                US\r
 \r
 F8-D0-27   (hex)               Seiko Epson Corporation\r
@@ -157157,6 +157331,12 @@ A45D5E     (base 16)         Wilk Elektronik S.A.
                                Laziska Gorne  Slaskie  43-173\r
                                PL\r
 \r
+FC-31-5D   (hex)               Apple, Inc.\r
+FC315D     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
 74-A6-CD   (hex)               Apple, Inc.\r
 74A6CD     (base 16)           Apple, Inc.\r
                                1 Infinite Loop\r
@@ -157175,30 +157355,24 @@ A45D5E     (base 16)                Wilk Elektronik S.A.
                                Cupertino  CA  95014\r
                                US\r
 \r
-88-74-77   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
-887477     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
-                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
-                               Dongguan    523808\r
+3C-BC-D0   (hex)               zte corporation\r
+3CBCD0     (base 16)           zte corporation\r
+                               12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China\r
+                               shenzhen   guangdong  518057\r
                                CN\r
 \r
-FC-31-5D   (hex)               Apple, Inc.\r
-FC315D     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
+64-6E-60   (hex)               zte corporation\r
+646E60     (base 16)           zte corporation\r
+                               12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China\r
+                               shenzhen   guangdong  518057\r
+                               CN\r
 \r
-28-B8-29   (hex)               Juniper Networks\r
-28B829     (base 16)           Juniper Networks\r
-                               1133 Innovation Way\r
-                               Sunnyvale  CA  94089\r
+4C-42-1E   (hex)               Cisco Systems, Inc\r
+4C421E     (base 16)           Cisco Systems, Inc\r
+                               80 West Tasman Drive\r
+                               San Jose  CA  94568\r
                                US\r
 \r
-5C-34-5B   (hex)               Hangzhou Hikvision Digital Technology Co.,Ltd.\r
-5C345B     (base 16)           Hangzhou Hikvision Digital Technology Co.,Ltd.\r
-                               No.555 Qianmo Road\r
-                               Hangzhou  Zhejiang  310052\r
-                               CN\r
-\r
 C4-CB-E1   (hex)               Dell Inc.\r
 C4CBE1     (base 16)           Dell Inc.\r
                                One Dell Way\r
@@ -157217,30 +157391,72 @@ E02DF0     (base 16)                ALPSALPINE CO,.LTD
                                kakuda-City  Miyagi-Pref  981-1595\r
                                JP\r
 \r
+5C-34-5B   (hex)               Hangzhou Hikvision Digital Technology Co.,Ltd.\r
+5C345B     (base 16)           Hangzhou Hikvision Digital Technology Co.,Ltd.\r
+                               No.555 Qianmo Road\r
+                               Hangzhou  Zhejiang  310052\r
+                               CN\r
+\r
 58-70-7F   (hex)               Ericsson AB\r
 58707F     (base 16)           Ericsson AB\r
                                Torshamnsgatan 36\r
                                Stockholm    SE-164 80\r
                                SE\r
 \r
-3C-BC-D0   (hex)               zte corporation\r
-3CBCD0     (base 16)           zte corporation\r
-                               12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China\r
-                               shenzhen   guangdong  518057\r
+88-74-77   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
+887477     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
+                               No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park\r
+                               Dongguan    523808\r
                                CN\r
 \r
-64-6E-60   (hex)               zte corporation\r
-646E60     (base 16)           zte corporation\r
-                               12/F.,zte R&D building ,kejinan Road,Shenzhen,P.R.China\r
-                               shenzhen   guangdong  518057\r
+28-B8-29   (hex)               Juniper Networks\r
+28B829     (base 16)           Juniper Networks\r
+                               1133 Innovation Way\r
+                               Sunnyvale  CA  94089\r
+                               US\r
+\r
+3C-3B-4D   (hex)               Toyo Seisakusho Kaisha, Limited\r
+3C3B4D     (base 16)           Toyo Seisakusho Kaisha, Limited\r
+                               2-4-6 Honjyo\r
+                               Higashi-Osaka  Osaka  578-0953\r
+                               JP\r
+\r
+64-B2-B4   (hex)               Fiberhome Telecommunication Technologies Co.,LTD\r
+64B2B4     (base 16)           Fiberhome Telecommunication Technologies Co.,LTD\r
+                               No.5 DongXin Road\r
+                               Wuhan  Hubei  430074\r
                                CN\r
 \r
-4C-42-1E   (hex)               Cisco Systems, Inc\r
-4C421E     (base 16)           Cisco Systems, Inc\r
-                               80 West Tasman Drive\r
-                               San Jose  CA  94568\r
+48-31-DB   (hex)               Huawei Device Co., Ltd.\r
+4831DB     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+14-7F-0F   (hex)               Texas Instruments\r
+147F0F     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
                                US\r
 \r
+D0-A9-D3   (hex)               EM Microelectronic\r
+D0A9D3     (base 16)           EM Microelectronic\r
+                               Rue des Sors 3\r
+                               Marin-Epagnier  Neuchatel  2074\r
+                               CH\r
+\r
+14-DD-02   (hex)               Liangang Optoelectronic Technology CO., Ltd.\r
+14DD02     (base 16)           Liangang Optoelectronic Technology CO., Ltd.\r
+                               150 JingHai West Road,ShaQu Village ShaTou Area,ChangAn Town\r
+                               DongGuan GuangDong    523846\r
+                               CN\r
+\r
+60-C7-27   (hex)               Digiboard Eletronica da Amazonia Ltda\r
+60C727     (base 16)           Digiboard Eletronica da Amazonia Ltda\r
+                               1111-A Matrinxa\r
+                               Manaus  Amazonia  69075-150\r
+                               BR\r
+\r
 7C-8A-E1   (hex)               COMPAL INFORMATION (KUNSHAN) CO., LTD. \r
 7C8AE1     (base 16)           COMPAL INFORMATION (KUNSHAN) CO., LTD. \r
                                NO. 25, THE 3RD Street KUNSHAN EXPORT PROCESSING ZONE \r
@@ -196316,18 +196532,6 @@ D04F58     (base 16)         Ruckus Wireless
                                Sunnyvale  CA  94089\r
                                US\r
 \r
-50-3C-CA   (hex)               TECNO MOBILE LIMITED\r
-503CCA     (base 16)           TECNO MOBILE LIMITED\r
-                               ROOMS 05-15, 13A/F., SOUTH TOWER, WORLD FINANCE CENTRE, HARBOUR CITY, 17 CANTON ROAD, TSIM SHA TSUI, KOWLOON, HONG KONG\r
-                               Hong Kong  Hong Kong  999077\r
-                               HK\r
-\r
-9C-0C-35   (hex)               Shenzhenshi Xinzhongxin Technology Co.Ltd\r
-9C0C35     (base 16)           Shenzhenshi Xinzhongxin Technology Co.Ltd\r
-                               Block 3, Dong Huan Industrial Park, Sha Jing Town, Bao’an District, Shenzhen City, Guangdong Province, China\r
-                               ShenZHEN  GuangDong  518104\r
-                               CN\r
-\r
 C8-ED-FC   (hex)               Shenzhen Ideaform Industrial Product Design Co., Ltd\r
 C8EDFC     (base 16)           Shenzhen Ideaform Industrial Product Design Co., Ltd\r
                                Room 206, Building A2, Hangcheng Park, Xixiang Street, Bao'an District\r
@@ -196340,18 +196544,6 @@ F82229     (base 16)         Nokia Shanghai Bell Co., Ltd.
                                Shanghai     201206\r
                                CN\r
 \r
-44-3D-54   (hex)               Amazon Technologies Inc.\r
-443D54     (base 16)           Amazon Technologies Inc.\r
-                               P.O Box 8102 \r
-                               Reno  NV  89507\r
-                               US\r
-\r
-54-47-CC   (hex)               Sagemcom Broadband SAS\r
-5447CC     (base 16)           Sagemcom Broadband SAS\r
-                               250, route de l'Empereur\r
-                               Rueil Malmaison Cedex  hauts de seine  92848\r
-                               FR\r
-\r
 78-D6-D6   (hex)               eero inc.\r
 78D6D6     (base 16)           eero inc.\r
                                660 3rd Street\r
@@ -196364,41 +196556,35 @@ F82229     (base 16)                Nokia Shanghai Bell Co., Ltd.
                                Taipei City  TAIWAN  11087\r
                                TW\r
 \r
-DC-FB-B8   (hex)               Meizhou Guo Wei Electronics Co., Ltd\r
-DCFBB8     (base 16)           Meizhou Guo Wei Electronics Co., Ltd\r
-                               AD1 Section, The Economy Development Area, Dongsheng Industrial District, \r
-                               Meizhou  Guangdong Province  514000\r
+9C-0C-35   (hex)               Shenzhenshi Xinzhongxin Technology Co.Ltd\r
+9C0C35     (base 16)           Shenzhenshi Xinzhongxin Technology Co.Ltd\r
+                               Block 3, Dong Huan Industrial Park, Sha Jing Town, Bao’an District, Shenzhen City, Guangdong Province, China\r
+                               ShenZHEN  GuangDong  518104\r
                                CN\r
 \r
-AC-B1-81   (hex)               Belden Mooresville\r
-ACB181     (base 16)           Belden Mooresville\r
-                               1113 N Main St.\r
-                               Mooresville    28115\r
+44-3D-54   (hex)               Amazon Technologies Inc.\r
+443D54     (base 16)           Amazon Technologies Inc.\r
+                               P.O Box 8102 \r
+                               Reno  NV  89507\r
                                US\r
 \r
-AC-E4-03   (hex)               Shenzhen Visteng Technology CO.,LTD\r
-ACE403     (base 16)           Shenzhen Visteng Technology CO.,LTD\r
-                               6F, M7, MaQueLing, Hi-tech Park, Nanshan District\r
-                               Shenzhen    518000\r
-                               CN\r
-\r
-60-D0-39   (hex)               Apple, Inc.\r
-60D039     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
+50-3C-CA   (hex)               TECNO MOBILE LIMITED\r
+503CCA     (base 16)           TECNO MOBILE LIMITED\r
+                               ROOMS 05-15, 13A/F., SOUTH TOWER, WORLD FINANCE CENTRE, HARBOUR CITY, 17 CANTON ROAD, TSIM SHA TSUI, KOWLOON, HONG KONG\r
+                               Hong Kong  Hong Kong  999077\r
+                               HK\r
 \r
-C4-C1-7D   (hex)               Apple, Inc.\r
-C4C17D     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
+54-47-CC   (hex)               Sagemcom Broadband SAS\r
+5447CC     (base 16)           Sagemcom Broadband SAS\r
+                               250, route de l'Empereur\r
+                               Rueil Malmaison Cedex  hauts de seine  92848\r
+                               FR\r
 \r
-E0-BD-A0   (hex)               Apple, Inc.\r
-E0BDA0     (base 16)           Apple, Inc.\r
-                               1 Infinite Loop\r
-                               Cupertino  CA  95014\r
-                               US\r
+DC-FB-B8   (hex)               Meizhou Guo Wei Electronics Co., Ltd\r
+DCFBB8     (base 16)           Meizhou Guo Wei Electronics Co., Ltd\r
+                               AD1 Section, The Economy Development Area, Dongsheng Industrial District, \r
+                               Meizhou  Guangdong Province  514000\r
+                               CN\r
 \r
 C4-DB-04   (hex)               HUAWEI TECHNOLOGIES CO.,LTD\r
 C4DB04     (base 16)           HUAWEI TECHNOLOGIES CO.,LTD\r
@@ -196430,20 +196616,98 @@ F4E8C7     (base 16)                Apple, Inc.
                                Cupertino  CA  95014\r
                                US\r
 \r
+60-D0-39   (hex)               Apple, Inc.\r
+60D039     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+C4-C1-7D   (hex)               Apple, Inc.\r
+C4C17D     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
 94-09-C9   (hex)               ALPSALPINE CO,.LTD\r
 9409C9     (base 16)           ALPSALPINE CO,.LTD\r
                                nishida 6-1\r
                                kakuda-City  Miyagi-Pref  981-1595\r
                                JP\r
 \r
+E0-BD-A0   (hex)               Apple, Inc.\r
+E0BDA0     (base 16)           Apple, Inc.\r
+                               1 Infinite Loop\r
+                               Cupertino  CA  95014\r
+                               US\r
+\r
+F8-34-51   (hex)               Comcast-SRL\r
+F83451     (base 16)           Comcast-SRL\r
+                               Alejo Martinez 17\r
+                               Sosua  Puerto Plata  34443\r
+                               DO\r
+\r
 20-DE-1E   (hex)               Nokia\r
 20DE1E     (base 16)           Nokia\r
                                600 March Road\r
                                Kanata  Ontario  K2K 2E6\r
                                CA\r
 \r
+AC-B1-81   (hex)               Belden Mooresville\r
+ACB181     (base 16)           Belden Mooresville\r
+                               1113 N Main St.\r
+                               Mooresville    28115\r
+                               US\r
+\r
+AC-E4-03   (hex)               Shenzhen Visteng Technology CO.,LTD\r
+ACE403     (base 16)           Shenzhen Visteng Technology CO.,LTD\r
+                               6F, M7, MaQueLing, Hi-tech Park, Nanshan District\r
+                               Shenzhen    518000\r
+                               CN\r
+\r
 E4-62-C4   (hex)               Cisco Systems, Inc\r
 E462C4     (base 16)           Cisco Systems, Inc\r
                                80 West Tasman Drive\r
                                San Jose  CA  94568\r
                                US\r
+\r
+3C-31-74   (hex)               Google, Inc.\r
+3C3174     (base 16)           Google, Inc.\r
+                               1600 Amphitheatre Parkway\r
+                               Mountain View  CA  94043\r
+                               US\r
+\r
+D4-3F-32   (hex)               eero inc.\r
+D43F32     (base 16)           eero inc.\r
+                               660 3rd Street\r
+                               San Francisco  CA  94107\r
+                               US\r
+\r
+68-63-72   (hex)               Huawei Device Co., Ltd.\r
+686372     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+A0-C2-0D   (hex)               Huawei Device Co., Ltd.\r
+A0C20D     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+4C-88-9E   (hex)               Huawei Device Co., Ltd.\r
+4C889E     (base 16)           Huawei Device Co., Ltd.\r
+                               No.2 of Xincheng Road, Songshan Lake Zone\r
+                               Dongguan  Guangdong  523808\r
+                               CN\r
+\r
+44-EE-14   (hex)               Texas Instruments\r
+44EE14     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
+\r
+B4-AC-9D   (hex)               Texas Instruments\r
+B4AC9D     (base 16)           Texas Instruments\r
+                               12500 TI Blvd\r
+                               Dallas  TX  75243\r
+                               US\r
index 6e71e52f94230df853bdb44c134caf2a17c3accc..e0df459aefd41a10f50d12722e1fa689930dad6c 100644 (file)
@@ -5336,6 +5336,24 @@ B00000-BFFFFF     (base 16)              SMH Technologies SRL
                                Ludwigsburg    71640\r
                                DE\r
 \r
+C4-A5-59   (hex)               SERNET (SUZHOU) TECHNOLOGIES CORPORATION\r
+E00000-EFFFFF     (base 16)            SERNET (SUZHOU) TECHNOLOGIES CORPORATION\r
+                               NO.8 Tangzhuang Road,Suzhou Industrial Park,Su ZhouCity,JiangSu Province,China\r
+                               Suzhou    215021\r
+                               CN\r
+\r
+C4-A5-59   (hex)               X-speed lnformation Technology Co.,Ltd\r
+300000-3FFFFF     (base 16)            X-speed lnformation Technology Co.,Ltd\r
+                               th Floor,Building 2,Xinyu Electronic Industrial Park,No.69, Zhaishan,Houshan Village, High-tech Zone,Fuzhou,Fujian ,China\r
+                               Fuzhou    350000\r
+                               CN\r
+\r
+70-5A-6F   (hex)               Thyracont Vacuum Instruments GmbH\r
+000000-0FFFFF     (base 16)            Thyracont Vacuum Instruments GmbH\r
+                               Max-Emanuel-Str. 10\r
+                               Passau  Bavaria  94036\r
+                               DE\r
+\r
 4C-4B-F9   (hex)               Shenzhen dingsheng technology co., LTD\r
 400000-4FFFFF     (base 16)            Shenzhen dingsheng technology co., LTD\r
                                Floor 3, building 5, kaijeda industrial zone, no.97, huaxing road, langkou community, dalang street, longhua district\r
@@ -10400,6 +10418,12 @@ C4-A5-59   (hex)               Motive Technologies, Inc.
                                San Francisco  CA  94105\r
                                US\r
 \r
+C4-A5-59   (hex)               SHENZHEN ORFA TECH CO., LTD\r
+200000-2FFFFF     (base 16)            SHENZHEN ORFA TECH CO., LTD\r
+                               Room 205, Building 4, Hongmumian Industrial Park, Longgang district,\r
+                               Shenzhen  Guangdong  518000\r
+                               CN\r
+\r
 20-85-93   (hex)               UNILUMIN GROUP CO.,LTD\r
 300000-3FFFFF     (base 16)            UNILUMIN GROUP CO.,LTD\r
                                No.112 Yongfu Rd.,BaoanDistrict,\r
@@ -15776,12 +15800,6 @@ D0-96-86   (hex)               EPHI B.V.
                                Jiangsu    214028\r
                                CN\r
 \r
-94-C9-B7   (hex)               Private\r
-900000-9FFFFF     (base 16)            Private\r
-                               35F, Shenzhen Bay VC&PE Bldg, No.25, Haitian 2nd Rd, Binhai  Comm, Yuehai St., Nanshan Dist, Shenzhen\r
-                               shenzhen  guangdong  518000\r
-                               CN\r
-\r
 D4-61-37   (hex)               Beijing Digital China Yunke Technology Limited\r
 800000-8FFFFF     (base 16)            Beijing Digital China Yunke Technology Limited\r
                                R301, 3F, NO9, shangdi 9th street, haidian district, beijing\r
@@ -15902,17 +15920,32 @@ B00000-BFFFFF     (base 16)           KunPeng Instrument (Dalian)Co.,Ltd.
                                Dalian   LiaoNing  116000\r
                                CN\r
 \r
+C4-A5-59   (hex)               Aviron Interactive Inc.\r
+700000-7FFFFF     (base 16)            Aviron Interactive Inc.\r
+                               251 Bartley Drive. Unit 2 \r
+                               Toronto  Ontario  M4A 2N7\r
+                               CA\r
+\r
 C4-A5-59   (hex)               MINOLTA SECURITY\r
 D00000-DFFFFF     (base 16)            MINOLTA SECURITY\r
                                29 Park Place\r
                                Englewood  NJ  07631\r
                                US\r
 \r
-C4-A5-59   (hex)               Aviron Interactive Inc.\r
-700000-7FFFFF     (base 16)            Aviron Interactive Inc.\r
-                               251 Bartley Drive. Unit 2 \r
-                               Toronto  Ontario  M4A 2N7\r
-                               CA\r
+C4-A5-59   (hex)               Private\r
+400000-4FFFFF     (base 16)            Private\r
+\r
+70-5A-6F   (hex)               BMR s.r.o.\r
+100000-1FFFFF     (base 16)            BMR s.r.o.\r
+                               Lipovka 17\r
+                               Rychnov nad Kneznou    51601\r
+                               CZ\r
+\r
+94-C9-B7   (hex)               Titanium union(shenzhen)technology co.,ltd\r
+900000-9FFFFF     (base 16)            Titanium union(shenzhen)technology co.,ltd\r
+                               35F, Shenzhen Bay VC&PE Bldg, No.25, Haitian 2nd Rd, Binhai  Comm, Yuehai St., Nanshan Dist, Shenzhen\r
+                               shenzhen  guangdong  518000\r
+                               CN\r
 \r
 4C-4B-F9   (hex)               Shandong Linkotech Electronic Co., Ltd.\r
 600000-6FFFFF     (base 16)            Shandong Linkotech Electronic Co., Ltd.\r
@@ -21194,6 +21227,12 @@ E00000-EFFFFF     (base 16)            Foxconn Brasil Industria e Comercio Ltda
                                Flowood    39232\r
                                US\r
 \r
+C4-A5-59   (hex)               Hebei Far-East Communication System Engineerning Co.,Ltd.\r
+A00000-AFFFFF     (base 16)            Hebei Far-East Communication System Engineerning Co.,Ltd.\r
+                               NO.21, Changsheng Street, Luquan Economic Development Zone\r
+                               Shijiazhuang   Hebei Prov  050000\r
+                               CN\r
+\r
 C4-A5-59   (hex)               Moultrie Mobile\r
 500000-5FFFFF     (base 16)            Moultrie Mobile\r
                                5724 Highway 280 East\r
@@ -21212,12 +21251,6 @@ C4-A5-59   (hex)               Annapurna labs
                                Cupertino  CA  95014\r
                                US\r
 \r
-C4-A5-59   (hex)               Hebei Far-East Communication System Engineerning Co.,Ltd.\r
-A00000-AFFFFF     (base 16)            Hebei Far-East Communication System Engineerning Co.,Ltd.\r
-                               NO.21, Changsheng Street, Luquan Economic Development Zone\r
-                               Shijiazhuang   Hebei Prov  050000\r
-                               CN\r
-\r
 20-85-93   (hex)               Great Lite International\r
 700000-7FFFFF     (base 16)            Great Lite International\r
                                11F., No.207-2, Sec. 3, Beixin Rd., Xindian Dist.,\r
@@ -26641,3 +26674,9 @@ C00000-CFFFFF     (base 16)             ALTAM SYSTEMS SL
                                Carrer Orient 78-84, 2-8\r
                                Sant Cugat del Valles  Barcelona  08172\r
                                ES\r
+\r
+C4-A5-59   (hex)               Archermind Japan Co.,Ltd.\r
+000000-0FFFFF     (base 16)            Archermind Japan Co.,Ltd.\r
+                               4F Shinagawa East One Tower, 2-16-1, Konan\r
+                               Minato-ku  Tokyo  1080075\r
+                               JP\r
index d8738e4d53b912a04cadc1c9a422e046fe1bf18e..e4e92a09452675951b7456adb0d2d6becab08662 100644 (file)
@@ -6206,12 +6206,6 @@ B14000-B14FFF     (base 16)              Murata Manufacturing CO., Ltd.
                                Gangnam-gu  seoul  06296\r
                                KR\r
 \r
-8C-1F-64   (hex)               YUYAMA MFG Co.,Ltd\r
-CFA000-CFAFFF     (base 16)            YUYAMA MFG Co.,Ltd\r
-                               1-4-30\r
-                               MEISHINGUCHI,TOYONAKA  OSAKA  561-0841\r
-                               JP\r
-\r
 8C-1F-64   (hex)               ABB\r
 6D0000-6D0FFF     (base 16)            ABB\r
                                Fulachstrasse 150\r
@@ -6224,6 +6218,24 @@ CFA000-CFAFFF     (base 16)              YUYAMA MFG Co.,Ltd
                                Venhuizen    1606 AK\r
                                NL\r
 \r
+8C-1F-64   (hex)               MIJ CO LTD\r
+5B2000-5B2FFF     (base 16)            MIJ CO LTD\r
+                               ROOM 204 882, Baksa-ro, Seo-myeon, chuncheon-si, Gangwon-do, Republic of korea\r
+                               chuncheon-si  Gangwon-do  24461\r
+                               KR\r
+\r
+8C-1F-64   (hex)               YUYAMA MFG Co.,Ltd\r
+CFA000-CFAFFF     (base 16)            YUYAMA MFG Co.,Ltd\r
+                               1-4-30\r
+                               MEISHINGUCHI,TOYONAKA  OSAKA  561-0841\r
+                               JP\r
+\r
+8C-1F-64   (hex)               Power Electronics Espana, S.L.\r
+DA6000-DA6FFF     (base 16)            Power Electronics Espana, S.L.\r
+                               Pol Industrial Carrases Ronda del Camp d’Aviació,4\r
+                               Lliria  Valencia  46160\r
+                               ES\r
+\r
 70-B3-D5   (hex)               EVCO SPA\r
 A80000-A80FFF     (base 16)            EVCO SPA\r
                                VIA FELTRE N. 81\r
@@ -12350,6 +12362,24 @@ EE6000-EE6FFF     (base 16)            LYNKX
                                Incheon  Incheon  22689\r
                                KR\r
 \r
+8C-1F-64   (hex)               HomyHub SL\r
+B65000-B65FFF     (base 16)            HomyHub SL\r
+                               Sierra de Atapuerca 13Correos Labs\r
+                               MADRID  Madrid  28050\r
+                               ES\r
+\r
+8C-1F-64   (hex)               Wende Tan\r
+691000-691FFF     (base 16)            Wende Tan\r
+                               FIT 1-213, Tsinghua University\r
+                               Beijing    100084\r
+                               CN\r
+\r
+8C-1F-64   (hex)               CI SYSTEMS ISRAEL LTD\r
+9FB000-9FBFFF     (base 16)            CI SYSTEMS ISRAEL LTD\r
+                               HaMehkar St 6\r
+                                Migdal HaEmek    2306990\r
+                               IL\r
+\r
 70-B3-D5   (hex)               System West dba ICS Electronics\r
 E06000-E06FFF     (base 16)            System West dba ICS Electronics\r
                                7034 Commerce Circle Suite A\r
@@ -18425,6 +18455,18 @@ AFD000-AFDFFF     (base 16)            Universal Robots A/S
                                Odense S  Odense  5260\r
                                DK\r
 \r
+8C-1F-64   (hex)               Video Network Security\r
+733000-733FFF     (base 16)            Video Network Security\r
+                               Suite 402-01, B Wing DSO HQ Building\r
+                               Dubai    6009\r
+                               AE\r
+\r
+8C-1F-64   (hex)               Specialist Mechanical Engineers (PTY)LTD\r
+6B1000-6B1FFF     (base 16)            Specialist Mechanical Engineers (PTY)LTD\r
+                               907 HertzogstreetRietfontein\r
+                               Pretoria  Gauteng  0182\r
+                               ZA\r
+\r
 70-B3-D5   (hex)               YUYAMA MFG Co.,Ltd\r
 BBB000-BBBFFF     (base 16)            YUYAMA MFG Co.,Ltd\r
                                3-3-1\r
@@ -24602,6 +24644,30 @@ AEA000-AEAFFF     (base 16)            INHEMETER Co.,Ltd
                                SHENZHEN  Guangdong  518054\r
                                CN\r
 \r
+8C-1F-64   (hex)               GL TECH CO.,LTD\r
+BC9000-BC9FFF     (base 16)            GL TECH CO.,LTD\r
+                               NO.Ten Changchun Road\r
+                               ZHENGZHOU  HENAN  455000\r
+                               CN\r
+\r
+8C-1F-64   (hex)               Integer.pl S.A.\r
+402000-402FFF     (base 16)            Integer.pl S.A.\r
+                               Wielicka 28\r
+                               Krakow    30-552\r
+                               PL\r
+\r
+8C-1F-64   (hex)               Idneo Technologies S.A.U.\r
+8F6000-8F6FFF     (base 16)            Idneo Technologies S.A.U.\r
+                               Carrer de Dalt, 3\r
+                               Mollet del Valles  Barcelona  08100\r
+                               ES\r
+\r
+8C-1F-64   (hex)               EkspertStroyProekt\r
+A83000-A83FFF     (base 16)            EkspertStroyProekt\r
+                               office 422, str.1, d.1, ul. Eniseyskaya\r
+                               Moscow    129344\r
+                               RU\r
+\r
 70-B3-D5   (hex)               DISMUNTEL SAL\r
 92C000-92CFFF     (base 16)            DISMUNTEL SAL\r
                                Pol ind cotes\r
@@ -30626,8 +30692,20 @@ EA8000-EA8FFF     (base 16)            Zumbach Electronic AG
                                Orpund    2552\r
                                CH\r
 \r
+8C-1F-64   (hex)               Rapid-e-Engineering Steffen Kramer\r
+1B2000-1B2FFF     (base 16)            Rapid-e-Engineering Steffen Kramer\r
+                               Am Waldring 7\r
+                               Rechtmehring  Bayern  83562\r
+                               DE\r
+\r
 70-B3-D5   (hex)               Earth Works\r
 61C000-61CFFF     (base 16)            Earth Works\r
                                2-9-14 Aioi\r
                                Kofu  Yamanashi  400-0858\r
                                JP\r
+\r
+8C-1F-64   (hex)               Procon Electronics Pty Ltd\r
+DC2000-DC2FFF     (base 16)            Procon Electronics Pty Ltd\r
+                               P O Box 164\r
+                               Seven Hills  NSW  1730\r
+                               AU\r
index 6d0c402bd2ddb5b6fb9d77048848b155f01c37c2..d4a4ce23cc05f066adb4536a3ec4733c649152f4 100644 (file)
@@ -1,8 +1,8 @@
 #
 #      List of PCI ID's
 #
-#      Version: 2022.10.22
-#      Date:    2022-10-22 03:15:01
+#      Version: 2022.10.28
+#      Date:    2022-10-28 03:15:01
 #
 #      Maintained by Albert Pool, Martin Mares, and other volunteers from
 #      the PCI ID Project at https://pci-ids.ucw.cz/.
        9100  JM9100
                0731 9101  JM9100
                0731 9102  JM9100-I
+               0731 9103  JM9100M
        910a  JH910
                0731 910a  JH910
                0731 910b  JH910-I
        14b7  Family 17h-19h PCIe Dummy Host Bridge
        14b9  Family 17h-19h Internal PCIe GPP Bridge
        14ba  Family 17h-19h PCIe GPP Bridge
+       14cd  Family 19h USB4/Thunderbolt PCIe tunnel
        1510  Family 14h Processor Root Complex
                174b 1001  PURE Fusion Mini
        1512  Family 14h Processor Root Port
                ea50 ce19  mCOM10-L1900
        15d4  FireFlight USB 3.1
        15d5  FireFlight USB 3.1
+       15d6  Rembrandt USB4 XHCI controller #5
+       15d7  Rembrandt USB4 XHCI controller #6
        15da  Raven/Raven2 PCIe Dummy Host Bridge
        15db  Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A
                ea50 ce19  mCOM10-L1900
        160d  Arden Device 18h: Function 5
        160e  Arden Device 18h: Function 6
        160f  Arden Device 18h: Function 7
+       161a  Rembrandt USB4 XHCI controller #1
+       161b  Rembrandt USB4 XHCI controller #2
+       161c  Rembrandt USB4 XHCI controller #7
+       161d  Rembrandt USB4 XHCI controller #3
+       161e  Rembrandt USB4 XHCI controller #4
+       161f  Rembrandt USB4 XHCI controller #8
        1620  Anubis HT Configuration
        1621  Anubis Address Maps
        1622  Anubis DRAM Configuration
        166f  Cezanne Data Fabric; Function 5
        1670  Cezanne Data Fabric; Function 6
        1671  Cezanne Data Fabric; Function 7
+       1679  Rembrandt Data Fabric: Device 18h; Function 0
+       167a  Rembrandt Data Fabric: Device 18h; Function 1
+       167b  Rembrandt Data Fabric: Device 18h; Function 2
+       167c  Rembrandt Data Fabric: Device 18h; Function 3
+       167d  Rembrandt Data Fabric: Device 18h; Function 4
+       167e  Rembrandt Data Fabric: Device 18h; Function 5
+       167f  Rembrandt Data Fabric: Device 18h; Function 6
+       1680  Rembrandt Data Fabric: Device 18h; Function 7
        1700  Family 12h/14h Processor Function 0
        1701  Family 12h/14h Processor Function 1
        1702  Family 12h/14h Processor Function 2
 # GRID K1 USM
        0fe7  GK107GL [GRID K100 vGPU]
                10de 101e  GRID K100
-       0fe8  GK107M
+       0fe8  GK107M [N14P-GS]
        0fe9  GK107M [GeForce GT 750M Mac Edition]
        0fea  GK107M [GeForce GT 755M Mac Edition]
        0fec  GK107M [GeForce 710A]
        11a3  GK104M [GeForce GTX 680MX]
                106b 010d  iMac 13,2
        11a7  GK104M [GeForce GTX 675MX]
+       11a8  GK104GLM [Quadro K5100M]
        11a9  GK104M [GeForce GTX 870M]
        11af  GK104GLM [GRID IceCube]
        11b0  GK104GL [GRID K240Q / K260Q vGPU]
        1df5  GV100GL [Tesla V100 SXM2 16GB]
        1df6  GV100GL [Tesla V100S PCIe 32GB]
        1e02  TU102 [TITAN RTX]
+       1e03  TU102 [GeForce RTX 2080 Ti 12GB]
        1e04  TU102 [GeForce RTX 2080 Ti]
        1e07  TU102 [GeForce RTX 2080 Ti Rev. A]
                1462 3715  RTX 2080 Ti GAMING X TRIO
        1fb1  TU117GL [T600]
        1fb2  TU117GLM [Quadro T400 Mobile]
        1fb6  TU117GLM [T600 Laptop GPU]
+               1028 0b10  Precision 3571
        1fb7  TU117GLM [T550 Laptop GPU]
        1fb8  TU117GLM [Quadro T2000 Mobile / Max-Q]
        1fb9  TU117GLM [Quadro T1000 Mobile]
        20f0  GA100 [A100-PG506-207]
        20f1  GA100 [A100 PCIe 40GB]
        20f2  GA100 [A100-PG506-217]
-       20f5  GA100 [A800-80]
-       20f6  GA100 [A800-40]
+       20f3  GA100 [A800-SXM4-80GB]
+       20f5  GA100 [A800 80GB PCIe]
+       20f6  GA100 [A800 40GB PCIe]
        2182  TU116 [GeForce GTX 1660 Ti]
        2183  TU116
        2184  TU116 [GeForce GTX 1660]
                1028 06e4  XPS 15 9550
                1028 06e6  Latitude 11 5175 2-in-1
                1028 09be  Latitude 7410
+               1028 0b10  Precision 3571
                17aa 224f  ThinkPad X1 Carbon 5th Gen
        5260  RTS5260 PCI Express Card Reader
        5261  RTS5261 PCI Express Card Reader
                1179 0001  Toshiba KBG30ZMS128G 128GB NVMe SSD
        0115  XG4 NVMe SSD Controller
        0116  XG5 NVMe SSD Controller
+               1179 0001  XG5 NVMe SSD Controller
        011a  XG6 NVMe SSD Controller
        0404  DVD Decoder card
        0406  Tecra Video Capture device
        ec20  Elastic Network Adapter (ENA)
        efa0  Elastic Fabric Adapter (EFA)
        efa1  Elastic Fabric Adapter (EFA)
+       efa2  Elastic Fabric Adapter (EFA)
 1d17  Zhaoxin
        070f  ZX-100 PCI Express Root Port
        0710  ZX-100/ZX-200 PCI Express Root Port
        1020  AR-GP-PF [General-Purpose Physical Function]
        1021  AR-MGMT-PF [Board-Generic Management Physical Function]
        1022  AR-ARKA-FX2 [Arkville 128B DPDK Data Mover for Agilex]
+       1023  AR-BD-FX1 [BufferDirect Zero-Bounce Data Motion Endpoint]
        4200  A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument]
 1d72  Xiaomi
 1d78  DERA Storage
 1ed9  Myrtle.ai
 1ee1  Suzhou Kuhan Information Technologies
        0050  Aurora NVMe SSD Controller
+               1ee1 0009  Airglow A430 NVMe SSD U.2 1.6TB
+               1ee1 000a  Airglow A430 NVMe SSD U.2 3.2TB
 1ee4  PETAIO INC
        1180  P8118 U.2 Single Port SSD
 1ee9  SUSE LLC
                1f2f 6116  KM560 U.2 3.84TB NVMe SSD
                1f2f 6118  KM560 U.2 7.68TB NVMe SSD
 1f3f  3SNIC Ltd
-       2100  3SRAID SAS/SATA HBA
+       2100  SSSRAID SAS/SATA HBA
                1f3f 0120  HBA 32 Ports
                1f3f 0125  HBA 40 Ports
                1f3f 0180  HBA 16 Ports
                1f3f 0185  HBA 8 Ports
-       2200  3SRAID RAID controller
+       2200  SSSRAID RAID controller
                1f3f 0185  RAID Controller 16 Ports with 2G Cache
                1f3f 01a1  RAID Controller 40 Ports with 2G Cache
                1f3f 01a4  RAID Controller 16 Ports with 4G Cache
                1f3f 01a8  RAID Controller 32 Ports with 4G Cache
                1f3f 01ad  RAID Controller 40 Ports with 4G Cache
-       9001  Ethernet VF
+       9001  SSSNIC Ethernet VF
                1f3f 1000  Ethernet VF
-       9002  Ethernet VF Hyper-V
+       9002  SSSNIC Ethernet VF Hyper-V
                1f3f 1000  Ethernet VF Hyper-V
-       9003  Ethernet SDI VF
+       9003  SSSNIC Ethernet SDI VF
                1f3f 1000  Ethernet SDI VF
-       9004  Ethernet SDI VF Hyper-V
+       9004  SSSNIC Ethernet SDI VF Hyper-V
                1f3f 1000  Ethernet SDI VF Hyper-V
-       9008  3SFC VF
+       9008  SSSFC VF
                1f3f 1000  3SFC VF
-       9009  3SFC VF Hyper-V
+       9009  SSSFC VF Hyper-V
                1f3f 1000  3SFC VF Hyper-V
-       9010  3SFC FC Controller
+       9010  SSSFC FC Controller
                1f3f 0041  Dual Port 16GE FC to PCIe Gen4 x16 Adapter
                1f3f 0061  Dual Port 32GE FC to PCIe Gen4 x16 Adapter
-       9020  Ethernet Network Adapter
+       9020  SSSNIC Ethernet Network Adapter
                1f3f 0051  Dual Port 25GE Ethernet Network Adapter
                1f3f 0052  Quad Port 25GE Ethernet Network Adapter
                1f3f 00a1  Dual Port 100GE Ethernet Network Adapter
-       9030  IPU
+       9030  SSSNIC IPU
                1f3f 0051  Dual Port 25GE IPU
-       9031  SDI5.0
+       9031  SSSNIC SDI5.0
                1f3f 0051  Dual Port 25GE SDI5.0lite
                1f3f 00a1  Dual Port 100GE SDI5.0
-       9032  SDI5.1
+       9032  SSSNIC SDI5.1
                1f3f 00a1  Dual Port 100GE SDI5.1
 1f40  Netac Technology Co.,Ltd
 1f44  VVDN Technologies Private Limited
        1a1c  Ethernet Connection (17) I219-LM
        1a1d  Ethernet Connection (17) I219-V
        1a1e  Ethernet Connection (16) I219-LM
+               1028 0b10  Precision 3571
        1a1f  Ethernet Connection (16) I219-V
        1a21  82840 840 [Carmel] Chipset Host Bridge (Hub A)
        1a23  82840 840 [Carmel] Chipset AGP Bridge
        4571  Elkhart Lake [UHD Graphics Gen11 32EU]
        460d  12th Gen Core Processor PCI Express x16 Controller #1
        461d  Alder Lake Innovation Platform Framework Processor Participant
+               1028 0b10  Precision 3571
        461e  Alder Lake-P Thunderbolt 4 USB Controller
+               1028 0b10  Precision 3571
        461f  Alder Lake-P Thunderbolt 4 PCI Express Root Port #3
        4626  Alder Lake-P Integrated Graphics Controller
        4628  Alder Lake-UP3 GT2 [UHD Graphics]
        463a  AlderLake-P [UHD Graphics]
        463d  12th Gen Core Processor PCI Express x4 Controller #2
        463e  Alder Lake-P Thunderbolt 4 NHI #0
+               1028 0b10  Precision 3571
        463f  Alder Lake-P Thunderbolt 4 PCI Express Root Port #1
        4641  12th Gen Core Processor Host Bridge/DRAM Registers
+               1028 0b10  Precision 3571
        464d  12th Gen Core Processor PCI Express x4 Controller #0
        464f  12th Gen Core Processor Gaussian & Neural Accelerator
+               1028 0b10  Precision 3571
        4660  12th Gen Core Processor Host Bridge/DRAM Registers
        4668  12th Gen Core Processor Host Bridge/DRAM Registers
        466d  Alder Lake-P Thunderbolt 4 NHI #1
        504c  EP80579 Integrated Processor with QuickAssist TDM
        5181  Alder Lake PCH-P LPC/eSPI Controller
        5182  Alder Lake PCH eSPI Controller
+               1028 0b10  Precision 3571
        51a3  Alder Lake PCH-P SMBus Host Controller
+               1028 0b10  Precision 3571
        51a4  Alder Lake-P PCH SPI Controller
+               1028 0b10  Precision 3571
        51a8  Alder Lake PCH UART #0
        51a9  Alder Lake PCH UART #1
+       51b1  Alder Lake PCI Express x1 Root Port #10
        51bf  Alder Lake PCH-P PCI Express Root Port #9
        51c5  Alder Lake-P Serial IO I2C Controller #0
        51c6  Alder Lake-P Serial IO I2C Controller #1
        51c8  Alder Lake PCH-P High Definition Audio Controller
+               1028 0b10  Precision 3571
        51d3  Alder Lake-P SATA AHCI Controller
+               1028 0b10  Precision 3571
        51d8  Alder Lake-P Serial IO I2C Controller #2
        51d9  Alder Lake-P Serial IO I2C Controller #3
        51e0  Alder Lake PCH HECI Controller
+               1028 0b10  Precision 3571
+       51e3  Alder Lake AMT SOL Redirection
+               1028 0b10  Precision 3571
        51e8  Alder Lake PCH Serial IO I2C Controller #0
+               1028 0b10  Precision 3571
        51e9  Alder Lake PCH Serial IO I2C Controller #1
+               1028 0b10  Precision 3571
        51ea  Alder Lake PCH Serial IO I2C Controller #2
        51eb  Alder Lake PCH Serial IO I2C Controller #3
        51ed  Alder Lake PCH USB 3.2 xHCI Host Controller
+               1028 0b10  Precision 3571
        51ef  Alder Lake PCH Shared SRAM
+               1028 0b10  Precision 3571
        51f0  Alder Lake-P PCH CNVi WiFi
                8086 0034  Wireless-AC 9560 160MHz
                8086 0070  Wi-Fi 6 AX201 160MHz
                8086 0074  Wi-Fi 6 AX201 160MHz
                8086 4070  Wi-Fi 6 AX201 160MHz
+               8086 4090  Wi-Fi 6E AX211 160MHz
        5200  EtherExpress PRO/100 Intelligent Server PCI Bridge
        5201  EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller
                8086 0001  EtherExpress PRO/100 Server Ethernet Adapter
index 5f042c5511abfb91b9fe2dab687d1dd2e7b08b25..0a180ffa3eafabc39d267f3fe9435ed7a21d6dec 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 # set the default value
 XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
index 50696a60e2445a1ca017923cf56366e69582f45d..5c727e411ec3ffd055c6adc5ffe1c183f24474ac 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python3
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 """
 
index 738b1fd86054bcfeb5ef13c134dd93b8d3518867..ce73c77b14a36b46b6c9567d676ae4788ae87729 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/python
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 import platform
 os_release = platform.freedesktop_os_release()
index 1a57c7a20d0eee80d2a8d196282b88a90b55c9b0..19b193ec76a517138265f7de5c7da5a049b07782 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/python
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 import ast
 import re
index 35c8cac4bdd6e56e161600f16dfeab0aef36a7c4..12f7ee12cc5cd7365ecb024c1af5b3f2e60ff147 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh -eu
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 test -e /etc/os-release && os_release='/etc/os-release' || os_release='/usr/lib/os-release'
 . "${os_release}"
index 16cc6cf3a4c2817b9e00fafb63560a76dca4c611..8195efbaa5e3334448e756cb95542bfa20d288e7 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <assert.h>
 #include <stdio.h>
index f7d25bf88bbc47ccfa1d65e1fcfb810555054e70..acb2e177ef4073b283027d1e8e387e4082b915de 100644 (file)
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 # Enroll the security token in the LUKS2 volume. Replace /dev/sdXn by the
 # partition to use (e.g. /dev/sda1).
index 3741b5257bb812e991864e5aa6220cf592cfcb29..61e8bf6463d9160571e733d9618fdafab89573cd 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <stdlib.h>
 #include <glib.h>
index 6d272f7daf7c109b56df8cfc8e60663c8ba0bf15..c13ee5c1448507334894411225093b3596814b3c 100644 (file)
@@ -69,8 +69,9 @@
         <term><option>-p</option></term>
         <term><option>--poweroff</option></term>
 
-        <listitem><para>Power-off the machine, regardless of which one
-        of the three commands is invoked.</para></listitem>
+        <listitem><para>Power-off the machine, when either <command>halt</command>
+        or <command>poweroff</command> is invoked. This option is ignored when
+        <command>reboot</command> is invoked.</para></listitem>
       </varlistentry>
 
       <varlistentry>
index 743c190f95548dd3496a94cc2480b10c47d2f86a..19a5db802299a552fc6cf22a94bb04408220c295 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <stdio.h>
 #include <stdint.h>
index 39660f4f865f4fcb558821a2780ee1060bbaccce..b8982c75f852077d628ee1ef5e5acc33735e6060 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <stdio.h>
 #include <systemd/sd-id128.h>
index a1144790c69e26bbd6a2a5b7fe70caef112d8917..07ee8f6754ba3d1d1143629e1561d38494125f90 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <stdio.h>
 #include <string.h>
index f4b6b7b0785812afca2573f59d6e2d81c3420571..bb0931970a66ecd367375746976251f094cd4d51 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <stdio.h>
index 363101d5ba1e2922060f0b9acda9266d9a921c12..381b50f9ceb0e1149a1acd72dbe3acd1a8aabb7f 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <stdio.h>
index 8205bfd858b8911d9afe11bd059d7d37454ef5b3..d377324b780e54aafb5e766217f8f712d54ae00f 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <poll.h>
 #include <time.h>
index ac0c638032f29089c5b796db4405d80953da8eac..5fe98b36b75d20571acd9e32164dd4a88f959d26 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <stdio.h>
index 60b3459a18ca5760695aa46f11c94989c652ad41..ac4b60b8e9bb9a4016e594186e519656ab7491ea 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <stdio.h>
index d59aa14c13b174ac6f2289d81f9e4bf804316a23..8aad5ff8c66e0c3a733acdcf37f40797e22ba64b 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <syslog.h>
index a14abad32df125ae59516abaed1c70fa61841002..24cee4c8b2f6d15d729be4df55d2c6c85a79ae66 100644 (file)
         <varname>RuntimeMaxUse=</varname> limit after a vacuuming operation is
         complete.</para>
 
-        <para><varname>SystemMaxFileSize=</varname> and
-        <varname>RuntimeMaxFileSize=</varname> control how large
-        individual journal files may grow at most. This influences
-        the granularity in which disk space is made available through
-        rotation, i.e. deletion of historic data. Defaults to one
-        eighth of the values configured with
-        <varname>SystemMaxUse=</varname> and
-        <varname>RuntimeMaxUse=</varname>, so that usually seven
-        rotated journal files are kept as history.</para>
-
-        <para>Specify values in bytes or use K, M, G, T, P, E as
-        units for the specified sizes (equal to 1024, 1024², … bytes).
-        Note that size limits are enforced synchronously when journal
-        files are extended, and no explicit rotation step triggered by
-        time is needed.</para>
+        <para><varname>SystemMaxFileSize=</varname> and <varname>RuntimeMaxFileSize=</varname> control how
+        large individual journal files may grow at most. This influences the granularity in which disk space
+        is made available through rotation, i.e. deletion of historic data. Defaults to one eighth of the
+        values configured with <varname>SystemMaxUse=</varname> and <varname>RuntimeMaxUse=</varname>, so
+        that usually seven rotated journal files are kept as history. If the journal compact mode is enabled
+        (enabled by default), the maximum file size is capped to 4G.</para>
+
+        <para>Specify values in bytes or use K, M, G, T, P, E as units for the specified sizes (equal to
+        1024, 1024², … bytes). Note that size limits are enforced synchronously when journal files are
+        extended, and no explicit rotation step triggered by time is needed.</para>
 
         <para><varname>SystemMaxFiles=</varname> and
         <varname>RuntimeMaxFiles=</varname> control how many
index 13ea85a82ca5bf6344f533e41075dfa89ddfd85d..a357dd659a84773b2fdff8ade11066c4f89d7450 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <stdio.h>
 #include <stdlib.h>
index ff52fd28cd25040b8f51a0d029adca067dc7de82..44c8271820f79acc3dfd74e3adea3c87fe2f7340 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <stdio.h>
index 11238779ddcb70dd19c9969697a36ee3f4373630..8bb4f33e867ab4e71dbf924fdb2267fa0e8be2ce 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <systemd/sd-bus.h>
 
index 75be5fa9bbaecda74e13e526fa1f30d1f5f1707c..5ede316c03b9215b7c4e0fd3a8619aeeb808a54c 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <stdio.h>
 
index abea13ca45180b2a24315e14e4138369422e979c..9b162eb6cc355eada1368c1e821878a8355255e5 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <string.h>
index 4d03dd1fe00c6360aa5c630e4e35fda237b8de10..dfd38a14a7af4acc97515c8f757183f8eb108408 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <systemd/sd-bus.h>
 #define _cleanup_(f) __attribute__((cleanup(f)))
index 6430501bdf0e1ad756e3359ceb1737bbe85b7317..9528e91a41c8bf8a1be7417e97dcbe8b7a5f4b78 100644 (file)
@@ -18,7 +18,7 @@
 
   <refnamediv>
     <refname>systemd-dissect</refname>
-    <refpurpose>Dissect file system OS images</refpurpose>
+    <refpurpose>Dissect Discoverable Disk Images (DDIs)</refpurpose>
   </refnamediv>
 
   <refsynopsisdiv>
@@ -43,7 +43,7 @@
     <title>Description</title>
 
     <para><command>systemd-dissect</command> is a tool for introspecting and interacting with file system OS
-    disk images. It supports five different operations:</para>
+    disk images, specifically Discoverable Disk Images (DDIs). It supports five different operations:</para>
 
     <orderedlist>
       <listitem><para>Show general OS image information, including the image's
index dacf0fa7a7b1d1e0e27696b0b8bed0b46955bed4..415d663f53e85ed51c9c5675d0c35fb8c9c36799 100644 (file)
     /usr/lib/systemd/boot/efi/linuxx64.efi.stub \
     foo-unsigned.efi</programlisting>
 
+    <para>Note that these PE section offsets are example values and a properly assembled image must not
+    contain any overlapping sections (this includes already existing sections inside the stub before
+    assembly) or boot may fail.</para>
+
     <para>This generates one PE executable file <filename>foo-unsigned.efi</filename> from the six individual
     files for OS release information, kernel command line, boot splash image, kernel image, main initrd and
     UEFI boot stub.</para>
index 50da5e641dabe648216456c0793a4fc87235681f..29666b102bcad7a210472cf2b491c03162d5c487 100644 (file)
@@ -708,27 +708,28 @@ CapabilityBoundingSet=~CAP_B CAP_C</programlisting>
         setgid bits, or filesystem capabilities). This is the simplest and most effective way to ensure that
         a process and its children can never elevate privileges again. Defaults to false, but certain
         settings override this and ignore the value of this setting. This is the case when
-        <varname>DynamicUser=</varname>,
-        <varname>LockPersonality=</varname>,
-        <varname>MemoryDenyWriteExecute=</varname>,
-        <varname>PrivateDevices=</varname>,
-        <varname>ProtectClock=</varname>,
-        <varname>ProtectHostname=</varname>,
-        <varname>ProtectKernelLogs=</varname>,
-        <varname>ProtectKernelModules=</varname>,
-        <varname>ProtectKernelTunables=</varname>,
-        <varname>RestrictAddressFamilies=</varname>,
-        <varname>RestrictNamespaces=</varname>,
-        <varname>RestrictRealtime=</varname>,
-        <varname>RestrictSUIDSGID=</varname>,
-        <varname>SystemCallArchitectures=</varname>,
-        <varname>SystemCallFilter=</varname>, or
-        <varname>SystemCallLog=</varname> are specified. Note that even if this setting is overridden
-        by them, <command>systemctl show</command> shows the original value of this setting. In case the
-        service will be run in a new mount namespace anyway and SELinux is disabled, all file systems
-        are mounted with <constant>MS_NOSUID</constant> flag. Also see
-        <ulink url="https://docs.kernel.org/userspace-api/no_new_privs.html">No New
-        Privileges Flag</ulink>.</para></listitem>
+        <varname>DynamicUser=</varname>, <varname>LockPersonality=</varname>,
+        <varname>MemoryDenyWriteExecute=</varname>, <varname>PrivateDevices=</varname>,
+        <varname>ProtectClock=</varname>, <varname>ProtectHostname=</varname>,
+        <varname>ProtectKernelLogs=</varname>, <varname>ProtectKernelModules=</varname>,
+        <varname>ProtectKernelTunables=</varname>, <varname>RestrictAddressFamilies=</varname>,
+        <varname>RestrictNamespaces=</varname>, <varname>RestrictRealtime=</varname>,
+        <varname>RestrictSUIDSGID=</varname>, <varname>SystemCallArchitectures=</varname>,
+        <varname>SystemCallFilter=</varname>, or <varname>SystemCallLog=</varname> are specified. Note that
+        even if this setting is overridden by them, <command>systemctl show</command> shows the original
+        value of this setting. In case the service will be run in a new mount namespace anyway and SELinux is
+        disabled, all file systems are mounted with <constant>MS_NOSUID</constant> flag. Also see <ulink
+        url="https://docs.kernel.org/userspace-api/no_new_privs.html">No New Privileges
+        Flag</ulink>.</para>
+
+        <para>Note that this setting only has an effect on the unit's processes themselves (or any processes
+        directly or indirectly forked off them). It has no effect on processes potentially invoked on request
+        of them through tools such as <citerefentry
+        project='man-pages'><refentrytitle>at</refentrytitle><manvolnum>1p</manvolnum></citerefentry>,
+        <citerefentry
+        project='man-pages'><refentrytitle>crontab</refentrytitle><manvolnum>1p</manvolnum></citerefentry>,
+        <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>, or
+        arbitrary IPC services.</para></listitem>
       </varlistentry>
 
       <varlistentry>
index e35da7bd4ce37c0283878054cdcae7329e9b306f..ffed2ee066e9434f0f98b5ef8587e3ad9773960d 100644 (file)
@@ -2008,9 +2008,11 @@ allow my_server_t localnet_peer_t:peer recv;</programlisting>
       <varlistentry>
         <term><varname>RouteTable=<replaceable>num</replaceable></varname></term>
         <listitem>
-          <para>The table identifier for DHCP routes (a number between 1 and 4294967295, or 0 to
-          unset). The table can be retrieved using
-          <command>ip route show table <replaceable>num</replaceable></command>.</para>
+          <para>The table identifier for DHCP routes. Takes one of predefined names
+          <literal>default</literal>, <literal>main</literal>, and <literal>local</literal>, and names
+          defined in <varname>RouteTable=</varname> in
+          <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+          or a number between 1…4294967295.</para>
 
           <para>When used in combination with <varname>VRF=</varname>, the VRF's routing table is
           used when this parameter is not specified.</para>
@@ -2502,10 +2504,14 @@ Token=prefixstable:2002:da8:1::</programlisting></para>
       <varlistentry>
         <term><varname>RouteTable=<replaceable>num</replaceable></varname></term>
         <listitem>
-          <para>The table identifier for the routes received in the Router Advertisement
-          (a number between 1 and 4294967295, or 0 to unset).
-          The table can be retrieved using <command>ip route show table <replaceable>num</replaceable></command>.
-          </para>
+          <para>The table identifier for the routes received in the Router Advertisement. Takes one of
+          predefined names <literal>default</literal>, <literal>main</literal>, and <literal>local</literal>,
+          and names defined in <varname>RouteTable=</varname> in
+          <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+          or a number between 1…4294967295.</para>
+
+          <para>When used in combination with <varname>VRF=</varname>, the VRF's routing table is
+          used when this parameter is not specified.</para>
         </listitem>
       </varlistentry>
 
index bc45803bbe7b98d8282eabf5180b53aa4bae735b..8e1a3464dfbeeff577da6e09cf3f96007b3c15c8 100644 (file)
           <term><varname>AssertHost=</varname></term>
           <term><varname>AssertKernelCommandLine=</varname></term>
           <term><varname>AssertKernelVersion=</varname></term>
+          <term><varname>AssertCredential=</varname></term>
           <term><varname>AssertEnvironment=</varname></term>
           <term><varname>AssertSecurity=</varname></term>
           <term><varname>AssertCapability=</varname></term>
index a988fb6e0b3039b8a0de05c1c92659369877b2f6..d109eb40cdf5d72e498b3237ec748a1eca2501c5 100644 (file)
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 # Enroll the TPM2 security chip in the LUKS2 volume, and bind it to PCR 7
 # only. Replace /dev/sdXn by the partition to use (e.g. /dev/sda1).
index d82bb18a3901dbe6b7cf569f3c7a935c74e23b43..e3346a80211432557c6824a0a0b4c1ddc7308489 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: CC0-1.0 */
+/* SPDX-License-Identifier: MIT-0 */
 
 #include <errno.h>
 #include <stdbool.h>
index 13084dbf122df7e780dbed737eb0eb9363bf3401..ce9c2917c5c4d8553d9287819919ae3fa70f286d 100644 (file)
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 
 # Destroy any old key on the Yubikey (careful!)
 ykman piv reset
index 6b9748a072f71444780407c7791f4deb470c9e9c..fb163e7323fa0af642c67d307224bc85b458b99d 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index da92b6bd0073db00f95a1ca386b8bca61d853846..30476674eccdc7ffe1228bd9895607b3b195b507 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index 9908f8758067bf6c386b671e3803fecbf72d6256..3a99ab87614394cfe53d60ab185934e3ca862f22 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index 10441a571cbdb361f1b242046923acd529c5ab8a..d295d131aadd89a4666cb6e6c064dfe6130e84cf 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index 6861fe7dff1fee74a8003cd07236ca3f95029b29..7d902e78bd5c0d97fca96590b51f279887575411 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index 30c710098b161d0c50d2fd563d6abead8f85e97e..ce82b25728e86e27a0133d0aaae26325028ae43b 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This example config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To use the file, one of the following methods may be used:
 # 1. add a symlink from /etc/systemd/network to the current location of this file,
index f1cb60fd1be5115f105b6529ada4b1675c065ec7..7979871e2c053b23a775866bb581f12b6fc2ab31 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index 3d5ba3cad5272ed93866be7462db4382e8ff468e..d7a341d018a04eed72270a96118e16be6a87d0a8 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index d866f790053864d9d6bd0ac0c5106f83858a00d3..6ea10243126b7f6b35ebc6f9bee6b5bff48f6271 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This example config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To use the file, one of the following methods may be used:
 # 1. add a symlink from /etc/systemd/network to the current location of this file,
index a1cd3530e48b0c1ad8dfa2107eccaee3235b5258..160b4eb5e30e5ffdf4ec0ffbf9bfa9613246754d 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This example config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To use the file, one of the following methods may be used:
 # 1. add a symlink from /etc/systemd/network to the current location of this file,
index dad91bb1a205ee1148de855971543916f7957a76..429ac31e80636061e9ccddf794279c7bd950b828 100644 (file)
@@ -1,7 +1,7 @@
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This config file is installed as part of systemd.
-# It may be freely copied and edited (following the Creative Commons Zero v1.0 Universal License).
+# It may be freely copied and edited (following the MIT No Attribution license).
 #
 # To make local modifications, one of the following methods may be used:
 # 1. add a drop-in file that extends this file by creating the
index 506f6f4cd8d120fd537ff74b9e1cc269b81a78f9..80c85be98c802931ef21fdfe0bc6de98460e6454 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -3,12 +3,12 @@
 # SOME DESCRIPTIVE TITLE.
 # This file is distributed under the same license as the PACKAGE package.
 # gogo <trebelnik2@gmail.com>, 2016.
-# Gogo Gogsi <linux.hr@protonmail.com>, 2020, 2021.
+# Gogo Gogsi <linux.hr@protonmail.com>, 2020, 2021, 2022.
 msgid ""
 msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-10-20 10:35+0200\n"
-"PO-Revision-Date: 2021-10-03 16:04+0000\n"
+"PO-Revision-Date: 2022-10-31 11:19+0000\n"
 "Last-Translator: Gogo Gogsi <linux.hr@protonmail.com>\n"
 "Language-Team: Croatian <https://translate.fedoraproject.org/projects/"
 "systemd/master/hr/>\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.8\n"
+"X-Generator: Weblate 4.14.1\n"
 
 #: src/core/org.freedesktop.systemd1.policy.in:22
 msgid "Send passphrase back to system"
@@ -155,22 +155,19 @@ msgstr "Potrebna je ovjera za prikaz UUID-a proizvoda."
 
 #: src/hostname/org.freedesktop.hostname1.policy:61
 msgid "Get hardware serial number"
-msgstr ""
+msgstr "Prikaži serijski broj hardvera"
 
 #: src/hostname/org.freedesktop.hostname1.policy:62
-#, fuzzy
 msgid "Authentication is required to get hardware serial number."
-msgstr "Potrebna je ovjera za postavljanje vremena sustava."
+msgstr "Potrebna je ovjera za prikaz serijskog broja hardvera."
 
 #: src/hostname/org.freedesktop.hostname1.policy:71
-#, fuzzy
 msgid "Get system description"
-msgstr "Postavi vremensku zonu sustava"
+msgstr "Prikaži informacije sustava"
 
 #: src/hostname/org.freedesktop.hostname1.policy:72
-#, fuzzy
 msgid "Authentication is required to get system description."
-msgstr "Potrebna je ovjera za postavljanje vremenske zone sustava."
+msgstr "Potrebna je ovjera za prikaz informacija sustava."
 
 #: src/import/org.freedesktop.import1.policy:22
 msgid "Import a VM or container image"
index b5929dd3fcd271e4d54cc3489cf41a3201d05cd1..7ae99a827420694fb5962b9e62b1955949d3ae48 100644 (file)
--- a/po/ka.po
+++ b/po/ka.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-10-20 10:35+0200\n"
-"PO-Revision-Date: 2022-03-10 18:16+0000\n"
+"PO-Revision-Date: 2022-10-25 22:19+0000\n"
 "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
 "Language-Team: Georgian <https://translate.fedoraproject.org/projects/"
 "systemd/master/ka/>\n"
@@ -14,7 +14,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.11.2\n"
+"X-Generator: Weblate 4.14.1\n"
 
 #: src/core/org.freedesktop.systemd1.policy.in:22
 msgid "Send passphrase back to system"
@@ -149,22 +149,19 @@ msgstr "პროდუქტის UUID-ის ამოსაღებად 
 
 #: src/hostname/org.freedesktop.hostname1.policy:61
 msgid "Get hardware serial number"
-msgstr ""
+msgstr "აპარატურის სერიული ნომრის მიღება"
 
 #: src/hostname/org.freedesktop.hostname1.policy:62
-#, fuzzy
 msgid "Authentication is required to get hardware serial number."
-msgstr "á\83¡á\83\98á\83¡á\83¢á\83\94á\83\9bá\83£á\83 á\83\98 á\83\93á\83 á\83\9dá\83\98á\83¡ á\83\93á\83\90á\83¡á\83\90á\83§á\83\94á\83\9cá\83\94á\83\91á\83\9aად საჭიროა ავთენტიკაცია."
+msgstr "á\83\90á\83\9eá\83\90á\83 á\83\90á\83¢á\83£á\83 á\83\98á\83¡ á\83¡á\83\94á\83 á\83\98á\83£á\83\9aá\83\98 á\83\9cá\83\9dá\83\9bá\83 á\83\98á\83¡ á\83\9bá\83\98á\83¡á\83\90á\83¦á\83\94á\83\91ად საჭიროა ავთენტიკაცია."
 
 #: src/hostname/org.freedesktop.hostname1.policy:71
-#, fuzzy
 msgid "Get system description"
-msgstr "á\83¡á\83\98á\83¡á\83¢á\83\94á\83\9bá\83£á\83 á\83\98 á\83\93á\83 á\83\9dá\83\98á\83¡ á\83¡á\83\90á\83 á\83¢á\83§á\83\9aá\83\98á\83¡ á\83\93á\83\90á\83§á\83\94á\83\9cება"
+msgstr "á\83¡á\83\98á\83¡á\83¢á\83\94á\83\9bá\83\98á\83¡ á\83\90á\83¦á\83¬á\83\94á\83 á\83\98á\83¡ á\83\9bá\83\98á\83¦ება"
 
 #: src/hostname/org.freedesktop.hostname1.policy:72
-#, fuzzy
 msgid "Authentication is required to get system description."
-msgstr "á\83¡á\83\98á\83¡á\83¢á\83\94á\83\9bá\83£á\83 á\83\98 á\83\93á\83 á\83\9dá\83\98á\83¡ á\83¡á\83\90á\83 á\83¢á\83§á\83\9aá\83\98á\83¡ á\83\93á\83\90á\83¡á\83\90á\83§á\83\94á\83\9cá\83\94á\83\91á\83\9aად საჭიროა ავთენტიკაცია."
+msgstr "á\83¡á\83\98á\83¡á\83¢á\83\94á\83\9bá\83\98á\83¡ á\83\90á\83¦á\83¬á\83\94á\83 á\83\98á\83¡ á\83\9bá\83\98á\83¡á\83\90á\83¦á\83\94á\83\91ად საჭიროა ავთენტიკაცია."
 
 #: src/import/org.freedesktop.import1.policy:22
 msgid "Import a VM or container image"
index 8e5dde3b0135614853fbba5f54d4fd158b7da2f2..26b0f9575e31ba442817a48cf7667024c8c52939 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,12 +6,13 @@
 # Sergey Ptashnick <0comffdiz@inbox.ru>, 2013-2018.
 # Vladimir Yerilov <openmindead@gmail.com>, 2020.
 # Alexey Rubtsov <rushills@gmail.com>, 2021.
+# Olga Smirnova <mistresssilvara@hotmail.com>, 2022.
 msgid ""
 msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-10-20 10:35+0200\n"
-"PO-Revision-Date: 2021-07-02 09:04+0000\n"
-"Last-Translator: Alexey Rubtsov <rushills@gmail.com>\n"
+"PO-Revision-Date: 2022-10-27 23:19+0000\n"
+"Last-Translator: Olga Smirnova <mistresssilvara@hotmail.com>\n"
 "Language-Team: Russian <https://translate.fedoraproject.org/projects/systemd/"
 "master/ru/>\n"
 "Language: ru\n"
@@ -20,7 +21,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.7.1\n"
+"X-Generator: Weblate 4.14.1\n"
 
 #: src/core/org.freedesktop.systemd1.policy.in:22
 msgid "Send passphrase back to system"
@@ -174,22 +175,19 @@ msgstr "Чтобы получить UUID продукта, необходимо
 
 #: src/hostname/org.freedesktop.hostname1.policy:61
 msgid "Get hardware serial number"
-msgstr ""
+msgstr "Получить серийный номер оборудования"
 
 #: src/hostname/org.freedesktop.hostname1.policy:62
-#, fuzzy
 msgid "Authentication is required to get hardware serial number."
-msgstr "ЧÑ\82обÑ\8b Ð½Ð°Ñ\81Ñ\82Ñ\80оиÑ\82Ñ\8c Ñ\81иÑ\81Ñ\82емное Ð²Ñ\80емÑ\8f, необходимо пройти аутентификацию."
+msgstr "ЧÑ\82обÑ\8b Ð¿Ð¾Ð»Ñ\83Ñ\87иÑ\82Ñ\8c Ñ\81еÑ\80ийнÑ\8bй Ð½Ð¾Ð¼ÐµÑ\80, необходимо пройти аутентификацию."
 
 #: src/hostname/org.freedesktop.hostname1.policy:71
-#, fuzzy
 msgid "Get system description"
-msgstr "Ð\9dаÑ\81Ñ\82Ñ\80оиÑ\82Ñ\8c Ñ\87аÑ\81овой Ð¿Ð¾Ñ\8fÑ\81"
+msgstr "Ð\9fолÑ\83Ñ\87иÑ\82Ñ\8c Ð¾Ð¿Ð¸Ñ\81ание Ñ\81иÑ\81Ñ\82емÑ\8b"
 
 #: src/hostname/org.freedesktop.hostname1.policy:72
-#, fuzzy
 msgid "Authentication is required to get system description."
-msgstr "ЧÑ\82обÑ\8b Ð½Ð°Ñ\81Ñ\82Ñ\80оиÑ\82Ñ\8c Ñ\87аÑ\81овой Ð¿Ð¾Ñ\8fÑ\81, необходимо пройти аутентификацию."
+msgstr "ЧÑ\82обÑ\8b Ð¿Ð¾Ð»Ñ\83Ñ\87иÑ\82Ñ\8c Ð¾Ð¿Ð¸Ñ\81ание Ñ\81иÑ\81Ñ\82емÑ\8b, необходимо пройти аутентификацию."
 
 #: src/import/org.freedesktop.import1.policy:22
 msgid "Import a VM or container image"
index effceed186bd13b9f0153445676f31439eb72cb5..1c77742251b4a8aa26571a0cd475fd869d68f19f 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,12 +6,13 @@
 # Josef Andersson <l10nl18nsweja@gmail.com>, 2015, 2017.
 # Göran Uddeborg <goeran@uddeborg.se>, 2020, 2021.
 # Luna Jernberg <bittin@reimu.nl>, 2020.
+# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2022.
 msgid ""
 msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-10-20 10:35+0200\n"
-"PO-Revision-Date: 2021-02-10 15:40+0000\n"
-"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
+"PO-Revision-Date: 2022-10-27 23:19+0000\n"
+"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
 "Language-Team: Swedish <https://translate.fedoraproject.org/projects/systemd/"
 "master/sv/>\n"
 "Language: sv\n"
@@ -19,7 +20,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4.2\n"
+"X-Generator: Weblate 4.14.1\n"
 
 #: src/core/org.freedesktop.systemd1.policy.in:22
 msgid "Send passphrase back to system"
@@ -159,22 +160,19 @@ msgstr "Autentisering krävs för att hämta produkt-UUID."
 
 #: src/hostname/org.freedesktop.hostname1.policy:61
 msgid "Get hardware serial number"
-msgstr ""
+msgstr "Hämta serienummer för hårdvara"
 
 #: src/hostname/org.freedesktop.hostname1.policy:62
-#, fuzzy
 msgid "Authentication is required to get hardware serial number."
-msgstr "Autentisering krävs för ställa in systemtiden."
+msgstr "Autentisering krävs för att hämta serienummer för hårdvara."
 
 #: src/hostname/org.freedesktop.hostname1.policy:71
-#, fuzzy
 msgid "Get system description"
-msgstr "Ange systemets tidszon"
+msgstr "Hämta systemets beskrivning"
 
 #: src/hostname/org.freedesktop.hostname1.policy:72
-#, fuzzy
 msgid "Authentication is required to get system description."
-msgstr "Autentisering krävs för att ställa in systemets tidszon."
+msgstr "Autentisering krävs för att hämta systemets beskrivning."
 
 #: src/import/org.freedesktop.import1.policy:22
 msgid "Import a VM or container image"
@@ -771,7 +769,7 @@ msgstr "Återställ NTP-inställningar"
 
 #: src/network/org.freedesktop.network1.policy:122
 msgid "Authentication is required to reset NTP settings."
-msgstr "Autentisering krävs för återställa NTP-inställningar."
+msgstr "Autentisering krävs för att återställa NTP-inställningar."
 
 #: src/network/org.freedesktop.network1.policy:132
 msgid "Revert DNS settings"
index c45640060365f18a48734511ae2499bfeb84e804..8b8b7aac61aa391f68b7d86ee4b84f328b052654 100644 (file)
@@ -4,13 +4,13 @@
 # Frank Hill <hxf.prc@gmail.com>, 2014.
 # Boyuan Yang <073plan@gmail.com>, 2015.
 # Jeff Bai <jeffbai@aosc.xyz>, 2016.
-# Charles Lee <lchopn@gmail.com>, 2020, 2021.
+# Charles Lee <lchopn@gmail.com>, 2020, 2021, 2022.
 # Whired Planck <fungdaat31@outlook.com>, 2020.
 msgid ""
 msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-10-20 10:35+0200\n"
-"PO-Revision-Date: 2021-03-01 09:40+0000\n"
+"PO-Revision-Date: 2022-10-31 11:19+0000\n"
 "Last-Translator: Charles Lee <lchopn@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
 "projects/systemd/master/zh_CN/>\n"
@@ -19,7 +19,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.4.2\n"
+"X-Generator: Weblate 4.14.1\n"
 
 #: src/core/org.freedesktop.systemd1.policy.in:22
 msgid "Send passphrase back to system"
@@ -156,22 +156,19 @@ msgstr "获取产品 UUID 需要认证。"
 
 #: src/hostname/org.freedesktop.hostname1.policy:61
 msgid "Get hardware serial number"
-msgstr ""
+msgstr "获取硬件序列号"
 
 #: src/hostname/org.freedesktop.hostname1.policy:62
-#, fuzzy
 msgid "Authentication is required to get hardware serial number."
-msgstr "设置系ç»\9fæ\97¶é\97´需要认证。"
+msgstr "è\8e·å\8f\96硬件åº\8få\88\97å\8f·需要认证。"
 
 #: src/hostname/org.freedesktop.hostname1.policy:71
-#, fuzzy
 msgid "Get system description"
-msgstr "设置系ç»\9fæ\97¶å\8cº"
+msgstr "è\8e·å¾\97ç³»ç»\9fæ\8f\8fè¿°"
 
 #: src/hostname/org.freedesktop.hostname1.policy:72
-#, fuzzy
 msgid "Authentication is required to get system description."
-msgstr "设置系ç»\9fæ\97¶å\8cº需要认证。"
+msgstr "è\8e·å¾\97ç³»ç»\9fæ\8f\8fè¿°需要认证。"
 
 #: src/import/org.freedesktop.import1.policy:22
 msgid "Import a VM or container image"
index 64a24091964bf5c7c9e14480e4e64a675a5235e5..18588e4c45465be8bc8c8a6666a5ec7a340536b9 100644 (file)
@@ -59,14 +59,20 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{type}==
 # Run ata_id on non-removable USB Mass Storage (SATA/PATA disks in enclosures)
 KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", ATTR{removable}=="0", SUBSYSTEMS=="usb", IMPORT{program}="ata_id --export $devnode"
 
-# Fall back usb_id for USB devices
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
+# Also import properties from usb_id for USB devices
+KERNEL=="sd*[!0-9]|sr*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
 
 # SCSI devices
 KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi"
 KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss"
 KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
 KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+# Previously, ata_id in the above might not be able to retrieve attributes correctly,
+# and properties from usb_id were used as a fallback. See issue #24921 and PR #24923.
+# To keep backward compatibility, still we need to create symlinks based on USB serial.
+# See issue #25179.
+KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_USB_SERIAL}=="?*", SYMLINK+="disk/by-id/usb-$env{ID_USB_SERIAL}"
+KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_USB_SERIAL}=="?*", SYMLINK+="disk/by-id/usb-$env{ID_USB_SERIAL}-part%n"
 
 # PMEM devices
 KERNEL=="pmem*", ENV{DEVTYPE}=="disk", ATTRS{uuid}=="?*", SYMLINK+="disk/by-id/pmem-$attr{uuid}"
index 4a276f66ba133f30dbe19925296583567d1b1826..6e47357a119b942714df5abb991bbf1a96c4cfb0 100644 (file)
@@ -241,6 +241,8 @@ static int help(int argc, char *argv[], void *userdata) {
                "  -h --help                  Show this help\n"
                "     --version               Show package version\n"
                "  -q --quiet                 Do not emit hints\n"
+               "     --root=PATH             Operate on an alternate filesystem root\n"
+               "     --image=PATH            Operate on disk image as filesystem root\n"
                "\nSee the %s for details.\n",
                program_invocation_short_name,
                ansi_highlight(),
index 6c85a34896c97173a6739f0e6f67c35e33321c7d..cee20a9a815c2e54bc6f46e25541ca386c361d7f 100644 (file)
@@ -2,7 +2,6 @@
 
 #include <errno.h>
 #include <fcntl.h>
-#include <linux/btrfs.h>
 #if WANT_LINUX_FS_H
 #include <linux/fs.h>
 #endif
@@ -779,20 +778,6 @@ int read_nr_open(void) {
         return 1024 * 1024;
 }
 
-/* This is here because it's fd-related and is called from sd-journal code. Other btrfs-related utilities are
- * in src/shared, but libsystemd must not link to libsystemd-shared, see docs/ARCHITECTURE.md. */
-int btrfs_defrag_fd(int fd) {
-        int r;
-
-        assert(fd >= 0);
-
-        r = fd_verify_regular(fd);
-        if (r < 0)
-                return r;
-
-        return RET_NERRNO(ioctl(fd, BTRFS_IOC_DEFRAG, NULL));
-}
-
 int fd_get_diskseq(int fd, uint64_t *ret) {
         uint64_t diskseq;
 
index 8543d0d5eaa4d13f17160a5f4a2a8501f7e18b81..d9896e27e8d5c0fc2876f3a4548485ab9b621416 100644 (file)
@@ -108,7 +108,6 @@ static inline int make_null_stdio(void) {
 
 int fd_reopen(int fd, int flags);
 int read_nr_open(void);
-int btrfs_defrag_fd(int fd);
 int fd_get_diskseq(int fd, uint64_t *ret);
 
 /* The maximum length a buffer for a /proc/self/fd/<fd> path needs */
index 1e814525bd61c130b0f97306749fe4f3ac0da51e..648f9f000f4ac3326c7ff810876559df3ba2c136 100644 (file)
@@ -341,7 +341,7 @@ static EFI_STATUS measure_cpio(
         return EFI_SUCCESS;
 }
 
-char16_t *get_dropin_dir(const EFI_DEVICE_PATH *file_path) {
+static char16_t *get_dropin_dir(const EFI_DEVICE_PATH *file_path) {
         if (!file_path)
                 return NULL;
 
index 0132c9eddb9d4fdfda930a9c3a656110ce6cc33c..d994ef86da0811e7227acd274d6403b0cac7ab44 100644 (file)
@@ -37,7 +37,7 @@ static const struct {
         }
 };
 
-EFIAPI EFI_STATUS initrd_load_file(
+static EFIAPI EFI_STATUS initrd_load_file(
                 EFI_LOAD_FILE_PROTOCOL *this,
                 EFI_DEVICE_PATH *file_path,
                 BOOLEAN boot_policy,
index 813e648b6bb41d626b4f3c324d641634423fe40c..75b95077094ca15bafdd8486ee4ae8ab802944eb 100644 (file)
@@ -51,7 +51,7 @@ static EFIAPI EFI_STATUS security2_hook(
                         this->original_security2, device_path, file_buffer, file_size, boot_policy);
 }
 
-EFI_STATUS load_image(EFI_HANDLE parent, const void *source, size_t len, EFI_HANDLE *ret_image) {
+static EFI_STATUS load_image(EFI_HANDLE parent, const void *source, size_t len, EFI_HANDLE *ret_image) {
         assert(parent);
         assert(source);
         assert(ret_image);
index 6a5c2a9bea02799a7d8ca32b6d4716549eaf4ed7..171b2c96b37d9b8e3dfbb0611f503b774e221cad 100644 (file)
@@ -159,7 +159,7 @@ static EFI_STATUS install_security_override_one(EFI_GUID guid, SecurityOverride
 
 /* This replaces the platform provided security arch protocols (defined in the UEFI Platform Initialization
  * Specification) with the provided override instances. If not running in secure boot or the protocols are
- * not available nothing happens. The override instances are provided with the neccessary info to undo this
+ * not available nothing happens. The override instances are provided with the necessary info to undo this
  * in uninstall_security_override(). */
 void install_security_override(SecurityOverride *override, SecurityOverride *override2) {
         assert(override);
index 6372c9314b38832ea192468cbd17ea80bacbd8af..4f16acedf063ef4fefb487b99a33efcefc0a2b45 100644 (file)
@@ -623,6 +623,9 @@ static int verb_calculate(int argc, char *argv[], void *userdata) {
         if (!arg_sections[UNIFIED_SECTION_LINUX] && !arg_current)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Either --linux= or --current must be specified, refusing.");
 
+        assert(!strv_isempty(arg_banks));
+        assert(!strv_isempty(arg_phase));
+
         r = pcr_states_allocate(&pcr_states);
         if (r < 0)
                 return r;
@@ -721,6 +724,9 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
         if (!arg_private_key)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "No private key specified, use --private-key=.");
 
+        assert(!strv_isempty(arg_banks));
+        assert(!strv_isempty(arg_phase));
+
         /* When signing we only support JSON output */
         arg_json_format_flags &= ~JSON_FORMAT_OFF;
 
@@ -773,6 +779,10 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
         if (r < 0)
                 return r;
 
+        r = pcr_states_save(pcr_states, n);
+        if (r < 0)
+                return r;
+
         r = dlopen_tpm2();
         if (r < 0)
                 return r;
@@ -781,151 +791,166 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
         if (r < 0)
                 return r;
 
-        for (size_t i = 0; i < n; i++) {
-                static const TPMT_SYM_DEF symmetric = {
-                        .algorithm = TPM2_ALG_AES,
-                        .keyBits.aes = 128,
-                        .mode.aes = TPM2_ALG_CFB,
-                };
-                PcrState *p = pcr_states + i;
-
-                rc = sym_Esys_StartAuthSession(
-                                c.esys_context,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                NULL,
-                                TPM2_SE_TRIAL,
-                                &symmetric,
-                                TPM2_ALG_SHA256,
-                                &session_handle);
-                if (rc != TSS2_RC_SUCCESS) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to open session in TPM: %s", sym_Tss2_RC_Decode(rc));
-                        goto finish;
-                }
+        STRV_FOREACH(phase, arg_phase) {
 
-                /* Generate a single hash value from the PCRs included in our policy. Given that that's
-                 * exactly one, the calculation is trivial. */
-                TPM2B_DIGEST intermediate_digest = {
-                        .size = SHA256_DIGEST_SIZE,
-                };
-                assert(sizeof(intermediate_digest.buffer) >= SHA256_DIGEST_SIZE);
-                sha256_direct(p->value, p->value_size, intermediate_digest.buffer);
+                r = measure_phase(pcr_states, n, *phase);
+                if (r < 0)
+                        return r;
 
-                int tpmalg = tpm2_pcr_bank_from_string(EVP_MD_name(p->md));
-                if (tpmalg < 0) {
-                        log_error_errno(tpmalg, "Unsupported PCR bank");
-                        goto finish;
-                }
+                for (size_t i = 0; i < n; i++) {
+                        static const TPMT_SYM_DEF symmetric = {
+                                .algorithm = TPM2_ALG_AES,
+                                .keyBits.aes = 128,
+                                .mode.aes = TPM2_ALG_CFB,
+                        };
+                        PcrState *p = pcr_states + i;
+
+                        rc = sym_Esys_StartAuthSession(
+                                        c.esys_context,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        NULL,
+                                        TPM2_SE_TRIAL,
+                                        &symmetric,
+                                        TPM2_ALG_SHA256,
+                                        &session_handle);
+                        if (rc != TSS2_RC_SUCCESS) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to open session in TPM: %s", sym_Tss2_RC_Decode(rc));
+                                goto finish;
+                        }
 
-                TPML_PCR_SELECTION pcr_selection;
-                tpm2_pcr_mask_to_selection(1 << TPM_PCR_INDEX_KERNEL_IMAGE, tpmalg, &pcr_selection);
-
-                rc = sym_Esys_PolicyPCR(
-                                c.esys_context,
-                                session_handle,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                &intermediate_digest,
-                                &pcr_selection);
-                if (rc != TSS2_RC_SUCCESS) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to push PCR policy into TPM: %s", sym_Tss2_RC_Decode(rc));
-                        goto finish;
-                }
+                        /* Generate a single hash value from the PCRs included in our policy. Given that that's
+                         * exactly one, the calculation is trivial. */
+                        TPM2B_DIGEST intermediate_digest = {
+                                .size = SHA256_DIGEST_SIZE,
+                        };
+                        assert(sizeof(intermediate_digest.buffer) >= SHA256_DIGEST_SIZE);
+                        sha256_direct(p->value, p->value_size, intermediate_digest.buffer);
+
+                        int tpmalg = tpm2_pcr_bank_from_string(EVP_MD_name(p->md));
+                        if (tpmalg < 0) {
+                                log_error_errno(tpmalg, "Unsupported PCR bank");
+                                goto finish;
+                        }
 
-                _cleanup_(Esys_Freep) TPM2B_DIGEST *pcr_policy_digest = NULL;
-                rc = sym_Esys_PolicyGetDigest(
-                                c.esys_context,
-                                session_handle,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                ESYS_TR_NONE,
-                                &pcr_policy_digest);
-                if (rc != TSS2_RC_SUCCESS) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to get policy digest from TPM: %s", sym_Tss2_RC_Decode(rc));
-                        goto finish;
-                }
+                        TPML_PCR_SELECTION pcr_selection;
+                        tpm2_pcr_mask_to_selection(1 << TPM_PCR_INDEX_KERNEL_IMAGE, tpmalg, &pcr_selection);
+
+                        rc = sym_Esys_PolicyPCR(
+                                        c.esys_context,
+                                        session_handle,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        &intermediate_digest,
+                                        &pcr_selection);
+                        if (rc != TSS2_RC_SUCCESS) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to push PCR policy into TPM: %s", sym_Tss2_RC_Decode(rc));
+                                goto finish;
+                        }
 
-                session_handle = tpm2_flush_context_verbose(c.esys_context, session_handle);
+                        _cleanup_(Esys_Freep) TPM2B_DIGEST *pcr_policy_digest = NULL;
+                        rc = sym_Esys_PolicyGetDigest(
+                                        c.esys_context,
+                                        session_handle,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        ESYS_TR_NONE,
+                                        &pcr_policy_digest);
+                        if (rc != TSS2_RC_SUCCESS) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to get policy digest from TPM: %s", sym_Tss2_RC_Decode(rc));
+                                goto finish;
+                        }
 
-                _cleanup_(EVP_MD_CTX_freep) EVP_MD_CTX* mdctx = NULL;
-                mdctx = EVP_MD_CTX_new();
-                if (!mdctx) {
-                        r = log_oom();
-                        goto finish;
-                }
+                        session_handle = tpm2_flush_context_verbose(c.esys_context, session_handle);
 
-                if (EVP_DigestSignInit(mdctx, NULL, p->md, NULL, privkey) != 1) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to initialize signature context.");
-                        goto finish;
-                }
+                        _cleanup_(EVP_MD_CTX_freep) EVP_MD_CTX* mdctx = NULL;
+                        mdctx = EVP_MD_CTX_new();
+                        if (!mdctx) {
+                                r = log_oom();
+                                goto finish;
+                        }
 
-                if (EVP_DigestSignUpdate(mdctx, pcr_policy_digest->buffer, pcr_policy_digest->size) != 1) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to sign data.");
-                        goto finish;
-                }
+                        if (EVP_DigestSignInit(mdctx, NULL, p->md, NULL, privkey) != 1) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to initialize signature context.");
+                                goto finish;
+                        }
 
-                size_t ss;
-                if (EVP_DigestSignFinal(mdctx, NULL, &ss) != 1) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to finalize signature");
-                        goto finish;
-                }
+                        if (EVP_DigestSignUpdate(mdctx, pcr_policy_digest->buffer, pcr_policy_digest->size) != 1) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to sign data.");
+                                goto finish;
+                        }
 
-                _cleanup_free_ void *sig = malloc(ss);
-                if (!ss) {
-                        r = log_oom();
-                        goto finish;
-                }
+                        size_t ss;
+                        if (EVP_DigestSignFinal(mdctx, NULL, &ss) != 1) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to finalize signature");
+                                goto finish;
+                        }
 
-                if (EVP_DigestSignFinal(mdctx, sig, &ss) != 1) {
-                        r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
-                                            "Failed to acquire signature data");
-                        goto finish;
-                }
+                        _cleanup_free_ void *sig = malloc(ss);
+                        if (!ss) {
+                                r = log_oom();
+                                goto finish;
+                        }
 
-                _cleanup_free_ void *pubkey_fp = NULL;
-                size_t pubkey_fp_size = 0;
-                r = pubkey_fingerprint(pubkey, EVP_sha256(), &pubkey_fp, &pubkey_fp_size);
-                if (r < 0)
-                        goto finish;
+                        if (EVP_DigestSignFinal(mdctx, sig, &ss) != 1) {
+                                r = log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
+                                                    "Failed to acquire signature data");
+                                goto finish;
+                        }
 
-                _cleanup_(json_variant_unrefp) JsonVariant *bv = NULL, *a = NULL;
+                        _cleanup_free_ void *pubkey_fp = NULL;
+                        size_t pubkey_fp_size = 0;
+                        r = pubkey_fingerprint(pubkey, EVP_sha256(), &pubkey_fp, &pubkey_fp_size);
+                        if (r < 0)
+                                goto finish;
 
-                r = tpm2_make_pcr_json_array(UINT64_C(1) << TPM_PCR_INDEX_KERNEL_IMAGE, &a);
-                if (r < 0) {
-                        log_error_errno(r, "Failed to build JSON PCR mask array: %m");
-                        goto finish;
-                }
+                        _cleanup_(json_variant_unrefp) JsonVariant *a = NULL;
+                        r = tpm2_make_pcr_json_array(UINT64_C(1) << TPM_PCR_INDEX_KERNEL_IMAGE, &a);
+                        if (r < 0) {
+                                log_error_errno(r, "Failed to build JSON PCR mask array: %m");
+                                goto finish;
+                        }
 
-                r = json_build(&bv, JSON_BUILD_ARRAY(
-                                               JSON_BUILD_OBJECT(
-                                                               JSON_BUILD_PAIR("pcrs", JSON_BUILD_VARIANT(a)),                                                   /* PCR mask */
-                                                               JSON_BUILD_PAIR("pkfp", JSON_BUILD_HEX(pubkey_fp, pubkey_fp_size)),                               /* SHA256 fingerprint of public key (DER) used for the signature */
-                                                               JSON_BUILD_PAIR("pol", JSON_BUILD_HEX(pcr_policy_digest->buffer, pcr_policy_digest->size)),       /* TPM2 policy hash that is signed */
-                                                               JSON_BUILD_PAIR("sig", JSON_BUILD_BASE64(sig, ss)))));                                            /* signature data */
-                if (r < 0) {
-                        log_error_errno(r, "Failed to build JSON object: %m");
-                        goto finish;
-                }
+                        _cleanup_(json_variant_unrefp) JsonVariant *bv = NULL;
+                        r = json_build(&bv, JSON_BUILD_OBJECT(
+                                                       JSON_BUILD_PAIR("pcrs", JSON_BUILD_VARIANT(a)),                                             /* PCR mask */
+                                                       JSON_BUILD_PAIR("pkfp", JSON_BUILD_HEX(pubkey_fp, pubkey_fp_size)),                         /* SHA256 fingerprint of public key (DER) used for the signature */
+                                                       JSON_BUILD_PAIR("pol", JSON_BUILD_HEX(pcr_policy_digest->buffer, pcr_policy_digest->size)), /* TPM2 policy hash that is signed */
+                                                       JSON_BUILD_PAIR("sig", JSON_BUILD_BASE64(sig, ss))));                                       /* signature data */
+                        if (r < 0) {
+                                log_error_errno(r, "Failed to build JSON object: %m");
+                                goto finish;
+                        }
+
+                        _cleanup_(json_variant_unrefp) JsonVariant *av = NULL;
+                        av = json_variant_ref(json_variant_by_key(v, p->bank));
+
+                        r = json_variant_append_array(&av, bv);
+                        if (r < 0) {
+                                log_error_errno(r, "Failed to append JSON object: %m");
+                                goto finish;
+                        }
 
-                r = json_variant_set_field(&v, p->bank, bv);
-                if (r < 0) {
-                        log_error_errno(r, "Failed to add JSON field: %m");
-                        goto finish;
+                        r = json_variant_set_field(&v, p->bank, av);
+                        if (r < 0) {
+                                log_error_errno(r, "Failed to add JSON field: %m");
+                                goto finish;
+                        }
                 }
-        }
 
-        if (!v)
-                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unable to find a single working PCR bank.");
+                /* Return to the original kernel measurement for the next phase calculation */
+                pcr_states_restore(pcr_states, n);
+        }
 
         if (arg_json_format_flags & (JSON_FORMAT_PRETTY|JSON_FORMAT_PRETTY_AUTO))
                 pager_open(arg_pager_flags);
index 633873da27b8a3b855946f45c05899075b46a03e..919aa58cdee2d21b2fb4123ad739611c32f65907 100644 (file)
@@ -2176,6 +2176,16 @@ static int install_error(
                                               "File %s is under the systemd unit hierarchy already.", changes[i].path);
                         goto found;
 
+                case -EBADSLT:
+                        r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
+                                              "Invalid specifier in %s.", changes[i].path);
+                        goto found;
+
+                case -EIDRM:
+                        r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
+                                              "Destination unit %s is a non-template unit.", changes[i].path);
+                        goto found;
+
                 case -EUCLEAN:
                         r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
                                               "\"%s\" is not a valid unit name.",
@@ -2188,11 +2198,26 @@ static int install_error(
                                               changes[i].path);
                         goto found;
 
+                case -EXDEV:
+                        if (changes[i].source)
+                                r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
+                                                      "Cannot alias %s as %s.",
+                                                      changes[i].source, changes[i].path);
+                        else
+                                r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
+                                                      "Invalid unit reference %s.", changes[i].path);
+                        goto found;
+
                 case -ENOENT:
                         r = sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT,
                                               "Unit file %s does not exist.", changes[i].path);
                         goto found;
 
+                case -EUNATCH:
+                        r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
+                                              "Cannot resolve specifiers in %s.", changes[i].path);
+                        goto found;
+
                 default:
                         assert(changes[i].type < 0); /* other errors */
                         r = sd_bus_error_set_errnof(error, changes[i].type, "File %s: %m", changes[i].path);
index a4e79d30330bee0b1d7aa9ce4807afa22a3e27e6..71a5869ec0a24d80e179eca560aedf9e5fbde9fe 100644 (file)
@@ -66,7 +66,7 @@
 #DefaultLimitNOFILE=1024:{{HIGH_RLIMIT_NOFILE}}
 #DefaultLimitAS=
 #DefaultLimitNPROC=
-#DefaultLimitMEMLOCK=
+#DefaultLimitMEMLOCK=8M
 #DefaultLimitLOCKS=
 #DefaultLimitSIGPENDING=
 #DefaultLimitMSGQUEUE=
index 15ea887759e15adb3fdb26c9be687839867e760e..30ea08702efdb8e506d5a200596d5225c3aa49d9 100644 (file)
@@ -195,6 +195,8 @@ static int verb_help(int argc, char **argv, void *userdata) {
                "  -D --directory=DIR           Use journal files from directory\n\n"
                "  -q --quiet                   Do not show info messages and privilege warning\n"
                "     --all                     Look at all journal files instead of local ones\n"
+               "     --root=PATH               Operate on an alternate filesystem root\n"
+               "     --image=PATH              Operate on disk image as filesystem root\n"
                "\nSee the %2$s for details.\n",
                program_invocation_short_name,
                link,
index a216b6c1bbfcf84c3e7170c133623d31b6760a58..c465115fc700e4ff50dd3f43f5e4fb82389dba46 100644 (file)
@@ -82,7 +82,7 @@ static int help(void) {
                "%1$s [OPTIONS...] --umount PATH\n"
                "%1$s [OPTIONS...] --copy-from IMAGE PATH [TARGET]\n"
                "%1$s [OPTIONS...] --copy-to IMAGE [SOURCE] PATH\n\n"
-               "%5$sDissect a file system OS image.%6$s\n\n"
+               "%5$sDissect a Discoverable Disk Image (DDI).%6$s\n\n"
                "%3$sOptions:%4$s\n"
                "     --no-pager           Do not pipe output into a pager\n"
                "     --no-legend          Do not show the headers and footers\n"
index f6041c716572d089a52eb90a81c099b7eb5e4028..bc7a838608996b81df0497e15d9a6c0006d99813 100644 (file)
@@ -664,7 +664,7 @@ int device_rename(sd_device *device, const char *name) {
         return device_add_property_internal(device, "INTERFACE", name);
 }
 
-int device_shallow_clone(sd_device *device, sd_device **ret) {
+static int device_shallow_clone(sd_device *device, sd_device **ret) {
         _cleanup_(sd_device_unrefp) sd_device *dest = NULL;
         const char *val = NULL;
         int r;
@@ -737,32 +737,6 @@ int device_clone_with_db(sd_device *device, sd_device **ret) {
         return 0;
 }
 
-int device_copy_properties(sd_device *device_dst, sd_device *device_src) {
-        const char *property, *value;
-        int r;
-
-        assert(device_dst);
-        assert(device_src);
-
-        r = device_properties_prepare(device_src);
-        if (r < 0)
-                return r;
-
-        ORDERED_HASHMAP_FOREACH_KEY(value, property, device_src->properties_db) {
-                r = device_add_property_aux(device_dst, property, value, true);
-                if (r < 0)
-                        return r;
-        }
-
-        ORDERED_HASHMAP_FOREACH_KEY(value, property, device_src->properties) {
-                r = device_add_property_aux(device_dst, property, value, false);
-                if (r < 0)
-                        return r;
-        }
-
-        return 0;
-}
-
 void device_cleanup_tags(sd_device *device) {
         assert(device);
 
index 90da7f431792b781ef2cfc32c21f3970c1d0b085..a59f130affc04acb0378fa12d6e896c15fcb8fc7 100644 (file)
@@ -54,9 +54,7 @@ int device_get_properties_nulstr(sd_device *device, const char **ret_nulstr, siz
 int device_get_properties_strv(sd_device *device, char ***ret);
 
 int device_rename(sd_device *device, const char *name);
-int device_shallow_clone(sd_device *device, sd_device **ret);
 int device_clone_with_db(sd_device *device, sd_device **ret);
-int device_copy_properties(sd_device *device_dst, sd_device *device_src);
 
 int device_tag_index(sd_device *dev, sd_device *dev_old, bool add);
 int device_update_db(sd_device *device);
index 66ca63600d7b3ebd834118824af8312bfaba8dc9..9e64ba01c61ae654a280d5ef1bc4d8582fa1d164 100644 (file)
@@ -293,15 +293,6 @@ static void test_sd_device_monitor_filter_remove(sd_device *device) {
         assert_se(sd_event_loop(sd_device_monitor_get_event(monitor_client)) == 100);
 }
 
-static void test_device_copy_properties(sd_device *device) {
-        _cleanup_(sd_device_unrefp) sd_device *copy = NULL;
-
-        assert_se(device_shallow_clone(device, &copy) >= 0);
-        assert_se(device_copy_properties(copy, device) >= 0);
-
-        test_send_receive_one(copy, false, false, false);
-}
-
 int main(int argc, char *argv[]) {
         _cleanup_(sd_device_unrefp) sd_device *loopback = NULL, *sda = NULL;
         int r;
@@ -333,7 +324,6 @@ int main(int argc, char *argv[]) {
         test_tag_filter(loopback);
         test_sysattr_filter(loopback, "ifindex");
         test_sd_device_monitor_filter_remove(loopback);
-        test_device_copy_properties(loopback);
 
         r = sd_device_new_from_subsystem_sysname(&sda, "block", "sda");
         if (r < 0) {
index 6f432005e94687aab3ae78dd1e2a48f90c8f7429..4ab8b3894ae3737498c2557bcc924d92ed490254 100644 (file)
@@ -342,7 +342,7 @@ TEST(sd_device_enumerator_filter_subsystem) {
         /* The test test_sd_device_enumerator_filter_subsystem_trial() is quite racy. Let's run the function
          * several times after the udev queue becomes empty. */
 
-        if (!udev_available()) {
+        if (!udev_available() || (access("/run/udev", F_OK) < 0 && errno == ENOENT)) {
                 assert_se(test_sd_device_enumerator_filter_subsystem_trial_many());
                 return;
         }
index 6526d3378fae25f65c945049a87fa3bd743b2bc5..7b0b2dea857ba567577c340194168b2101efa57c 100644 (file)
@@ -15,6 +15,7 @@
 #include "networkd-link.h"
 #include "networkd-manager.h"
 #include "networkd-network.h"
+#include "networkd-route-util.h"
 #include "parse-util.h"
 #include "socket-util.h"
 #include "string-table.h"
@@ -529,7 +530,7 @@ int config_parse_dhcp_or_ra_route_table(
         assert(IN_SET(ltype, AF_INET, AF_INET6));
         assert(rvalue);
 
-        r = safe_atou32(rvalue, &rt);
+        r = manager_get_route_table_from_string(network->manager, rvalue, &rt);
         if (r < 0) {
                 log_syntax(unit, LOG_WARNING, filename, line, r,
                            "Failed to parse RouteTable=%s, ignoring assignment: %m", rvalue);
index ce4ab47ef98fccaec24ebf9c0c2db692c4b1a289..db1ecb4c97aa1a18e55b116c1ff2db6ea53b7c61 100644 (file)
@@ -607,7 +607,7 @@ static int radv_process_request(Request *req, Link *link, void *userdata) {
         }
 
         log_link_debug(link, "IPv6 Router Advertisement engine is configured%s.",
-                       link_has_carrier(link) ? " and started." : "");
+                       link_has_carrier(link) ? " and started" : "");
         return 1;
 }
 
index 312f5f298a53acdbdf390ae141ae1488f7e68b5f..036638209311f6376365e4be9c159ccf047d709a 100644 (file)
@@ -417,8 +417,8 @@ int manager_get_route_table_to_string(const Manager *m, uint32_t table, char **r
         assert(m);
         assert(ret);
 
-        if (table == 0)
-                return -EINVAL;
+        /* Unlike manager_get_route_table_from_string(), this accepts 0, as the kernel may create routes with
+         * table 0. See issue #25089. */
 
         s = route_table_to_string(table);
         if (!s)
index 514845f7c5c70778cf64de747c66dbd19d8510ba..d1f3bab0922e05b181d314e6d5cefa16c61297f0 100644 (file)
@@ -2351,7 +2351,7 @@ int config_parse_route_table(
         r = manager_get_route_table_from_string(network->manager, rvalue, &n->table);
         if (r < 0) {
                 log_syntax(unit, LOG_WARNING, filename, line, r,
-                           "Could not parse route table number \"%s\", ignoring assignment: %m", rvalue);
+                           "Could not parse route table \"%s\", ignoring assignment: %m", rvalue);
                 return 0;
         }
 
index 71c4360fa3057fa656bafacd596d6cf795358d27..130ed5e0a7bffd03a387dc3f81bb4936ecde6696 100644 (file)
@@ -1250,7 +1250,7 @@ int config_parse_routing_policy_rule_table(
         r = manager_get_route_table_from_string(network->manager, rvalue, &n->table);
         if (r < 0) {
                 log_syntax(unit, LOG_WARNING, filename, line, r,
-                           "Could not parse RPDB rule route table number \"%s\", ignoring assignment: %m", rvalue);
+                           "Could not parse RPDB rule route table \"%s\", ignoring assignment: %m", rvalue);
                 return 0;
         }
 
index 836d713f79c9548217239d18ef93ded93114184b..e197e62e26e6af65c023946b255cd33c195aa9b5 100644 (file)
@@ -105,16 +105,16 @@ int link_update_monitor(Link *l) {
         assert(l->ifname);
 
         r = sd_network_link_get_required_for_online(l->ifindex);
-        if (r < 0)
+        if (r < 0 && r != -ENODATA)
                 ret = log_link_debug_errno(l, r, "Failed to determine whether the link is required for online or not, "
                                            "assuming required: %m");
         l->required_for_online = r != 0;
 
         r = sd_network_link_get_required_operstate_for_online(l->ifindex, &required_operstate);
-        if (r < 0) {
+        if (r < 0 && r != -ENODATA)
                 ret = log_link_debug_errno(l, r, "Failed to get required operational state, ignoring: %m");
-                l->required_operstate = LINK_OPERSTATE_RANGE_DEFAULT;
-        } else if (isempty(required_operstate))
+
+        if (isempty(required_operstate))
                 l->required_operstate = LINK_OPERSTATE_RANGE_DEFAULT;
         else {
                 r = parse_operational_state_range(required_operstate, &l->required_operstate);
@@ -128,9 +128,10 @@ int link_update_monitor(Link *l) {
                 ret = log_link_debug_errno(l, r, "Failed to get operational state, ignoring: %m");
 
         r = sd_network_link_get_required_family_for_online(l->ifindex, &required_family);
-        if (r < 0)
+        if (r < 0 && r != -ENODATA)
                 ret = log_link_debug_errno(l, r, "Failed to get required address family, ignoring: %m");
-        else if (isempty(required_family))
+
+        if (isempty(required_family))
                 l->required_family = ADDRESS_FAMILY_NO;
         else {
                 AddressFamily f;
index e344cf6dd6b886cdea1bce5ba377516abb510426..8ba5eb9833e37538dfc1916255ac16271479e83f 100644 (file)
@@ -503,7 +503,7 @@ static int vl_method_resolve_address(Varlink *link, JsonVariant *parameters, Var
                 return varlink_error_invalid_parameter(link, JSON_VARIANT_STRING_CONST("family"));
 
         if (FAMILY_ADDRESS_SIZE(p.family) != p.address_size)
-                return varlink_error(link, "io.systemd.UserDatabase.BadAddressSize", NULL);
+                return varlink_error(link, "io.systemd.Resolve.BadAddressSize", NULL);
 
         if (!validate_and_mangle_flags(NULL, &p.flags, 0))
                 return varlink_error_invalid_parameter(link, JSON_VARIANT_STRING_CONST("flags"));
index 5e3bcbb6e4164ea1f8d4d7bce27007000123d52b..58ba286a2404c0145faab813e44f1b61d8afdc07 100644 (file)
@@ -739,6 +739,18 @@ int btrfs_subvol_get_subtree_quota(const char *path, uint64_t subvol_id, BtrfsQu
         return btrfs_subvol_get_subtree_quota_fd(fd, subvol_id, ret);
 }
 
+int btrfs_defrag_fd(int fd) {
+        int r;
+
+        assert(fd >= 0);
+
+        r = fd_verify_regular(fd);
+        if (r < 0)
+                return r;
+
+        return RET_NERRNO(ioctl(fd, BTRFS_IOC_DEFRAG, NULL));
+}
+
 int btrfs_defrag(const char *p) {
         _cleanup_close_ int fd = -1;
 
index b67a4c10fe83424f44389fe1774267a778b3bcd6..5f568f23528d3f84957b205ef867eceaa8017cc9 100644 (file)
@@ -52,6 +52,7 @@ int btrfs_clone_range(int infd, uint64_t in_offset, int ofd, uint64_t out_offset
 int btrfs_get_block_device_fd(int fd, dev_t *dev);
 int btrfs_get_block_device(const char *path, dev_t *dev);
 
+int btrfs_defrag_fd(int fd);
 int btrfs_defrag(const char *p);
 
 int btrfs_quota_enable_fd(int fd, bool b);
index 6d91a02f115b480e084baab2a23e90a89db829f2..834a1c59e33b5615568a788725705d1cf01c172e 100644 (file)
@@ -1973,12 +1973,16 @@ static int install_info_symlink_wants(
                 n = info->name;
         }
 
+        r = 0;
         STRV_FOREACH(s, list) {
                 _cleanup_free_ char *path = NULL, *dst = NULL;
 
                 q = install_name_printf(scope, info, *s, &dst);
-                if (q < 0)
-                        return install_changes_add(changes, n_changes, q, *s, NULL);
+                if (q < 0) {
+                        install_changes_add(changes, n_changes, q, *s, NULL);
+                        if (r >= 0)
+                                r = q;
+                }
 
                 if (!unit_name_is_valid(dst, valid_dst_type)) {
                         /* Generate a proper error here: EUCLEAN if the name is generally bad, EIDRM if the
@@ -1992,9 +1996,11 @@ static int install_info_symlink_wants(
                                 continue;
 
                         if (unit_name_is_valid(dst, UNIT_NAME_ANY))
-                                return install_changes_add(changes, n_changes, -EIDRM, dst, n);
+                                q = install_changes_add(changes, n_changes, -EIDRM, dst, n);
                         else
-                                return install_changes_add(changes, n_changes, -EUCLEAN, dst, NULL);
+                                q = install_changes_add(changes, n_changes, -EUCLEAN, dst, NULL);
+                        if (r >= 0)
+                                r = q;
 
                         continue;
                 }
@@ -2004,7 +2010,7 @@ static int install_info_symlink_wants(
                         return -ENOMEM;
 
                 q = create_symlink(lp, info->path, path, true, changes, n_changes);
-                if (r == 0)
+                if ((q < 0 && r >= 0) || r == 0)
                         r = q;
 
                 if (unit_file_exists(scope, lp, dst) == 0) {
index a2a0059fef06225a7ca2fec0af643687bcd4f435..cb58d8243b955982b5ec92c97bf757f56fa1934d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# SPDX-License-Identifier: CC0-1.0
+# SPDX-License-Identifier: MIT-0
 #
 # This script is called by "systemctl enable/disable" when the given unit is a
 # SysV init.d script. It needs to call the distribution's mechanism for
index 8fcaacc1721203f002576039d19bc7e1b9b7d562..4cd23d8e2135bba4ec65f986a66894bd5aa9f9ab 100644 (file)
@@ -247,8 +247,12 @@ TEST(condition_test_host) {
         _cleanup_free_ char *hostname = NULL;
         Condition *condition;
         sd_id128_t id;
+        int r;
 
-        assert_se(sd_id128_get_machine(&id) >= 0);
+        r = sd_id128_get_machine(&id);
+        if (IN_SET(r, -ENOENT, -ENOMEDIUM))
+                return (void) log_tests_skipped("/etc/machine-id missing");
+        assert_se(r >= 0);
 
         condition = condition_new(CONDITION_HOST, SD_ID128_TO_STRING(id), false, false);
         assert_se(condition);
index 5d9d99e272a5eabd6376909ec935e5ead0672992..9c1ced7591a81c0197d4e5101be3641b8b62fa89 100644 (file)
@@ -216,7 +216,7 @@ TEST(chase_symlinks) {
         result = mfree(result);
 
         r = chase_symlinks("/etc/machine-id/foo", NULL, 0, &result, NULL);
-        assert_se(r == -ENOTDIR);
+        assert_se(IN_SET(r, -ENOTDIR, -ENOENT));
         result = mfree(result);
 
         /* Path that loops back to self */
index 5da7b0ec1a092aedfb37db525d4a58ff9dbbe9f0..4b71c5c00b984cb01fbfa5aba9a0ea6e46e4a972 100644 (file)
@@ -38,7 +38,7 @@ TEST(id128) {
         assert_se(!sd_id128_in_set(id, ID128_WALDI));
         assert_se(!sd_id128_in_set(id, ID128_WALDI, ID128_WALDI));
 
-        if (sd_booted() > 0) {
+        if (sd_booted() > 0 && access("/etc/machine-id", F_OK) >= 0) {
                 assert_se(sd_id128_get_machine(&id) == 0);
                 printf("machine: %s\n", sd_id128_to_string(id, t));
 
@@ -145,11 +145,13 @@ TEST(id128) {
         assert_se(id128_read_fd(fd, ID128_UUID, &id2) >= 0);
         assert_se(sd_id128_equal(id, id2));
 
-        assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id) >= 0);
-        assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id2) >= 0);
-        assert_se(sd_id128_equal(id, id2));
-        assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), &id2) >= 0);
-        assert_se(!sd_id128_equal(id, id2));
+        if (sd_booted() > 0 && access("/etc/machine-id", F_OK) >= 0) {
+                assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id) >= 0);
+                assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(f0,3d,aa,eb,1c,33,4b,43,a7,32,17,29,44,bf,77,2e), &id2) >= 0);
+                assert_se(sd_id128_equal(id, id2));
+                assert_se(sd_id128_get_machine_app_specific(SD_ID128_MAKE(51,df,0b,4b,c3,b0,4c,97,80,e2,99,b9,8c,a3,73,b8), &id2) >= 0);
+                assert_se(!sd_id128_equal(id, id2));
+        }
 }
 
 TEST(sd_id128_get_invocation) {
@@ -168,6 +170,9 @@ TEST(benchmark_sd_id128_get_machine_app_specific) {
         unsigned iterations = slow_tests_enabled() ? 1000000 : 1000;
         usec_t t, q;
 
+        if (access("/etc/machine-id", F_OK) < 0 && errno == ENOENT)
+                return (void) log_tests_skipped("/etc/machine-id does not exist");
+
         log_info("/* %s (%u iterations) */", __func__, iterations);
 
         sd_id128_t id = ID128_WALDI, id2;
index 7705c4877d3efb11498a540e774e2c4043955d2f..3cf704134c0b08dcfa76e7f7ffc6a48c37965c7d 100644 (file)
@@ -518,8 +518,10 @@ TEST(install_printf, .sd_booted = true) {
 
         _cleanup_free_ char *mid = NULL, *bid = NULL, *host = NULL, *gid = NULL, *group = NULL, *uid = NULL, *user = NULL;
 
-        assert_se(specifier_machine_id('m', NULL, NULL, NULL, &mid) >= 0 && mid);
-        assert_se(specifier_boot_id('b', NULL, NULL, NULL, &bid) >= 0 && bid);
+        if (access("/etc/machine-id", F_OK) >= 0)
+                assert_se(specifier_machine_id('m', NULL, NULL, NULL, &mid) >= 0 && mid);
+        if (sd_booted() > 0)
+                assert_se(specifier_boot_id('b', NULL, NULL, NULL, &bid) >= 0 && bid);
         assert_se(host = gethostname_malloc());
         assert_se(group = gid_to_name(getgid()));
         assert_se(asprintf(&gid, UID_FMT, getgid()) >= 0);
index 0162bf7dc0433be4df774e464972cae790561c9d..9771576fcbb6b939ae9c6504cf1daa09ad92d19f 100644 (file)
@@ -54,16 +54,6 @@ TEST(iszero_safe) {
         assert_se( iszero_safe(DBL_MIN / -INFINITY));
         assert_se( iszero_safe(DBL_MAX / INFINITY / 2));
         assert_se( iszero_safe(DBL_MAX / -INFINITY * DBL_MAX));
-#if defined(__i386__) && !defined(__SSE2_MATH__)
-        /* On 32bit x86, -mfpmath=387 is the default and SSE2 is not used. Then, floating point values are
-         * calculated in 80bit, and truncated to the length of the used type (double in this case). Hence,
-         * DBL_MAX * 2 is temporary calculated as a normal value, and goes to zero when divided with
-         * INFINITY. See issue #25044. */
-        log_debug("i386 architecture without SSE2 is detected. "
-                  "Skipping \"assert_se(!iszero_safe(DBL_MAX * 2 / INFINITY))\".");
-#else
-        assert_se(!iszero_safe(DBL_MAX * 2 / INFINITY));
-#endif
 
         /* infinity / infinity is NaN */
         assert_se(!iszero_safe(INFINITY / INFINITY));
index 516502032a78dc0e58499a7b34fe3ab7b8d1d600..4a8ff4bd10019ce8b2c9fe5799811ba3c9527a8a 100644 (file)
@@ -74,7 +74,7 @@ TEST(specifier_printf) {
         assert_se(streq(w, "xxx a=AAAA b=BBBB e= yyy"));
 
         free(w);
-        r = specifier_printf("machine=%m, boot=%b, host=%H, pretty=%q, version=%v, arch=%a, empty=%e", SIZE_MAX, table, NULL, NULL, &w);
+        r = specifier_printf("boot=%b, host=%H, pretty=%q, version=%v, arch=%a, empty=%e", SIZE_MAX, table, NULL, NULL, &w);
         assert_se(r >= 0);
         assert_se(w);
         puts(w);
@@ -127,13 +127,18 @@ TEST(specifier_real_path_missing_file) {
 }
 
 TEST(specifiers) {
+        int r;
+
         for (const Specifier *s = specifier_table; s->specifier; s++) {
                 char spec[3];
                 _cleanup_free_ char *resolved = NULL;
 
                 xsprintf(spec, "%%%c", s->specifier);
 
-                assert_se(specifier_printf(spec, SIZE_MAX, specifier_table, NULL, NULL, &resolved) >= 0);
+                r = specifier_printf(spec, SIZE_MAX, specifier_table, NULL, NULL, &resolved);
+                if (s->specifier == 'm' && IN_SET(r, -ENOENT, -ENOMEDIUM)) /* machine-id might be missing in build chroots */
+                        continue;
+                assert_se(r >= 0);
 
                 log_info("%%%c → %s", s->specifier, resolved);
         }
index c2f631417fd4ce0e5ba90c6e5b7dc3993638a25d..43fdb15d1cc7797945c5ca92bf5aa2dca2e8b2f1 100644 (file)
@@ -235,9 +235,9 @@ TEST(unit_name_mangle) {
 
 TEST_RET(unit_printf, .sd_booted = true) {
         _cleanup_free_ char
-                *architecture, *os_image_version, *boot_id, *os_build_id,
+                *architecture, *os_image_version, *boot_id = NULL, *os_build_id,
                 *hostname, *short_hostname, *pretty_hostname,
-                *machine_id, *os_image_id, *os_id, *os_version_id, *os_variant_id,
+                *machine_id = NULL, *os_image_id, *os_id, *os_version_id, *os_variant_id,
                 *user, *group, *uid, *gid, *home, *shell,
                 *tmp_dir, *var_tmp_dir;
         _cleanup_(manager_freep) Manager *m = NULL;
@@ -252,16 +252,20 @@ TEST_RET(unit_printf, .sd_booted = true) {
         assert_se(specifier_architecture('a', NULL, NULL, NULL, &architecture) >= 0);
         assert_se(architecture);
         assert_se(specifier_os_image_version('A', NULL, NULL, NULL, &os_image_version) >= 0);
-        assert_se(specifier_boot_id('b', NULL, NULL, NULL, &boot_id) >= 0);
-        assert_se(boot_id);
+        if (sd_booted() > 0) {
+                assert_se(specifier_boot_id('b', NULL, NULL, NULL, &boot_id) >= 0);
+                assert_se(boot_id);
+        }
         assert_se(specifier_os_build_id('B', NULL, NULL, NULL, &os_build_id) >= 0);
         assert_se(hostname = gethostname_malloc());
         assert_se(specifier_short_hostname('l', NULL, NULL, NULL, &short_hostname) == 0);
         assert_se(short_hostname);
         assert_se(specifier_pretty_hostname('q', NULL, NULL, NULL, &pretty_hostname) == 0);
         assert_se(pretty_hostname);
-        assert_se(specifier_machine_id('m', NULL, NULL, NULL, &machine_id) >= 0);
-        assert_se(machine_id);
+        if (access("/etc/machine-id", F_OK) >= 0) {
+                assert_se(specifier_machine_id('m', NULL, NULL, NULL, &machine_id) >= 0);
+                assert_se(machine_id);
+        }
         assert_se(specifier_os_image_id('M', NULL, NULL, NULL, &os_image_id) >= 0);
         assert_se(specifier_os_id('o', NULL, NULL, NULL, &os_id) >= 0);
         assert_se(specifier_os_version_id('w', NULL, NULL, NULL, &os_version_id) >= 0);
@@ -312,12 +316,14 @@ TEST_RET(unit_printf, .sd_booted = true) {
         /* normal unit */
         expect(u, "%a", architecture);
         expect(u, "%A", os_image_version);
-        expect(u, "%b", boot_id);
+        if (boot_id)
+                expect(u, "%b", boot_id);
         expect(u, "%B", os_build_id);
         expect(u, "%H", hostname);
         expect(u, "%l", short_hostname);
         expect(u, "%q", pretty_hostname);
-        expect(u, "%m", machine_id);
+        if (machine_id)
+                expect(u, "%m", machine_id);
         expect(u, "%M", os_image_id);
         expect(u, "%o", os_id);
         expect(u, "%w", os_version_id);
index 7687316695fdf5c1c1d7cd1fa8d5752685cd27b3..784b8955778990aafba6308572ca3f63ed6f411d 100644 (file)
@@ -3335,7 +3335,7 @@ static int parse_line(
 
                 if (laccess(i.argument, F_OK) == -ENOENT) {
                         /* Silently skip over lines where the source file is missing. */
-                        log_syntax(NULL, LOG_INFO, fname, line, 0, "Copy source path '%s' does not exist, skipping line.", i.argument);
+                        log_syntax(NULL, LOG_DEBUG, fname, line, 0, "Copy source path '%s' does not exist, skipping line.", i.argument);
                         return 0;
                 }
 
@@ -3441,7 +3441,7 @@ static int parse_line(
                 r = read_credential(i.argument, &i.binary_argument, &i.binary_argument_size);
                 if (IN_SET(r, -ENXIO, -ENOENT)) {
                         /* Silently skip over lines that have no credentials passed */
-                        log_syntax(NULL, LOG_INFO, fname, line, 0,
+                        log_syntax(NULL, LOG_DEBUG, fname, line, 0,
                                    "Credential '%s' not specified, skipping line.", i.argument);
                         return 0;
                 }
index 13ef700b1ea6de71d40108b2bf805274ec70a064..75041237003297fe6bf6f2c8760769c95708efbc 100644 (file)
@@ -1087,7 +1087,7 @@ static int get_link_info(sd_device *dev, LinkInfo *info) {
         r = sd_device_get_sysattr_value(dev, "address", &s);
         if (r < 0 && r != -ENOENT)
                 return r;
-        if (r > 0) {
+        if (r >= 0) {
                 r = parse_hw_addr(s, &info->hw_addr);
                 if (r < 0)
                         log_device_debug_errno(dev, r, "Failed to parse 'address' sysattr, ignoring: %m");
index d94718f468022e706262dddf26d956d9401c0b37..847c2b8316b2b1e517e8f8696ca25ea3369812e5 100644 (file)
@@ -427,21 +427,52 @@ fallback:
         if (!isempty(instance_str))
                 strpcpyl(&s, l, "-", instance_str, NULL);
 
-        udev_builtin_add_property(dev, test, "ID_VENDOR", vendor_str);
-        udev_builtin_add_property(dev, test, "ID_VENDOR_ENC", vendor_str_enc);
-        udev_builtin_add_property(dev, test, "ID_VENDOR_ID", vendor_id);
-        udev_builtin_add_property(dev, test, "ID_MODEL", model_str);
-        udev_builtin_add_property(dev, test, "ID_MODEL_ENC", model_str_enc);
-        udev_builtin_add_property(dev, test, "ID_MODEL_ID", product_id);
-        udev_builtin_add_property(dev, test, "ID_REVISION", revision_str);
-        udev_builtin_add_property(dev, test, "ID_SERIAL", serial);
+        if (sd_device_get_property_value(dev, "ID_BUS", NULL) >= 0)
+                log_device_debug(dev, "ID_BUS property is already set, setting only properties prefixed with \"ID_USB_\".");
+        else {
+                udev_builtin_add_property(dev, test, "ID_BUS", "usb");
+
+                udev_builtin_add_property(dev, test, "ID_MODEL", model_str);
+                udev_builtin_add_property(dev, test, "ID_MODEL_ENC", model_str_enc);
+                udev_builtin_add_property(dev, test, "ID_MODEL_ID", product_id);
+
+                udev_builtin_add_property(dev, test, "ID_SERIAL", serial);
+                if (!isempty(serial_str))
+                        udev_builtin_add_property(dev, test, "ID_SERIAL_SHORT", serial_str);
+
+                udev_builtin_add_property(dev, test, "ID_VENDOR", vendor_str);
+                udev_builtin_add_property(dev, test, "ID_VENDOR_ENC", vendor_str_enc);
+                udev_builtin_add_property(dev, test, "ID_VENDOR_ID", vendor_id);
+
+                udev_builtin_add_property(dev, test, "ID_REVISION", revision_str);
+
+                if (!isempty(type_str))
+                        udev_builtin_add_property(dev, test, "ID_TYPE", type_str);
+
+                if (!isempty(instance_str))
+                        udev_builtin_add_property(dev, test, "ID_INSTANCE", instance_str);
+        }
+
+        /* Also export the same values in the above by prefixing ID_USB_. */
+        udev_builtin_add_property(dev, test, "ID_USB_MODEL", model_str);
+        udev_builtin_add_property(dev, test, "ID_USB_MODEL_ENC", model_str_enc);
+        udev_builtin_add_property(dev, test, "ID_USB_MODEL_ID", product_id);
+        udev_builtin_add_property(dev, test, "ID_USB_SERIAL", serial);
         if (!isempty(serial_str))
-                udev_builtin_add_property(dev, test, "ID_SERIAL_SHORT", serial_str);
+                udev_builtin_add_property(dev, test, "ID_USB_SERIAL_SHORT", serial_str);
+
+        udev_builtin_add_property(dev, test, "ID_USB_VENDOR", vendor_str);
+        udev_builtin_add_property(dev, test, "ID_USB_VENDOR_ENC", vendor_str_enc);
+        udev_builtin_add_property(dev, test, "ID_USB_VENDOR_ID", vendor_id);
+
+        udev_builtin_add_property(dev, test, "ID_USB_REVISION", revision_str);
+
         if (!isempty(type_str))
-                udev_builtin_add_property(dev, test, "ID_TYPE", type_str);
+                udev_builtin_add_property(dev, test, "ID_USB_TYPE", type_str);
+
         if (!isempty(instance_str))
-                udev_builtin_add_property(dev, test, "ID_INSTANCE", instance_str);
-        udev_builtin_add_property(dev, test, "ID_BUS", "usb");
+                udev_builtin_add_property(dev, test, "ID_USB_INSTANCE", instance_str);
+
         if (!isempty(packed_if_str))
                 udev_builtin_add_property(dev, test, "ID_USB_INTERFACES", packed_if_str);
         if (ifnum)
index 321d0e338a82e11ca6c8be053947bda08d0da40b..2b487bae8c1a3c38e822fd02a0490f14e4fae3ce 100644 (file)
@@ -27,7 +27,6 @@ ExecStart=sh -c 'test %g = $$(id -gn)'
 ExecStart=sh -c 'test %G = $$(id -g)'
 ExecStart=test %h = /root
 ExecStart=sh -c 'test -x %s'
-ExecStart=sh -c 'test %m = $$(cat /etc/machine-id)'
 ExecStart=sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')'
 ExecStart=sh -c 'test %H = $$(uname -n)'
 ExecStart=sh -c 'test %v = $$(uname -r)'
index 46c8503f1d8ad38d5a722046bc764b0fe6f4f905..69e969f716d9c3e62abada84e466f4c206d16702 100644 (file)
@@ -24,7 +24,6 @@ ExecStart=sh -c 'test %g = $$(id -gn)'
 ExecStart=sh -c 'test %G = $$(id -g)'
 ExecStart=test %h = /root
 ExecStart=sh -c 'test -x %s'
-ExecStart=sh -c 'test %m = $$(cat /etc/machine-id)'
 ExecStart=sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')'
 ExecStart=sh -c 'test %H = $$(uname -n)'
 ExecStart=sh -c 'test %v = $$(uname -r)'
diff --git a/test/test-network/conf/12-dummy-no-address.network b/test/test-network/conf/12-dummy-no-address.network
new file mode 100644 (file)
index 0000000..fef18c2
--- /dev/null
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Match]
+Name=dummy98
+
+[Network]
+IPv6AcceptRA=no
diff --git a/test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network b/test/test-network/conf/25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network
deleted file mode 100644 (file)
index ff5b98a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-[Match]
-Name=veth99
-
-[NetworkEmulator]
-DelaySec=9
-
-[Network]
-DHCP=ipv4
-IPv6AcceptRA=true
diff --git a/test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network b/test/test-network/conf/25-dhcp-server-with-ipv6-prefix.network
deleted file mode 100644 (file)
index 13ee90d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-[Match]
-Name=veth-peer
-
-[Network]
-Address=192.168.5.1/24
-IPv6AcceptRA=no
-DHCPServer=yes
-IPv6SendRA=yes
-
-[IPv6Prefix]
-Prefix=2002:da8:1:0::/64
-
-[DHCPServer]
-DNS=192.168.5.1
-NTP=192.168.5.1
-
-[IPv6SendRA]
-EmitDNS=no
-EmitDomains=no
diff --git a/test/test-network/conf/25-ipv6-prefix-with-delay.network b/test/test-network/conf/25-ipv6-prefix-with-delay.network
deleted file mode 100644 (file)
index 4b661fe..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-[Match]
-Name=veth-peer
-
-[NetworkEmulator]
-DelaySec=15
-
-[Network]
-IPv6AcceptRA=no
-IPv6SendRA=yes
-
-[IPv6Prefix]
-Prefix=2002:da8:1:0::/64
diff --git a/test/test-network/conf/25-ipv6ra-prefix-client-with-static-ipv4-address.network b/test/test-network/conf/25-ipv6ra-prefix-client-with-static-ipv4-address.network
deleted file mode 100644 (file)
index 14c2396..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-[Match]
-Name=veth99
-
-[Network]
-IPv6AcceptRA=true
-Address=192.168.5.1/24
index 2f7614428cc67635559cf5015a0bc6428db4f71b..87710ef3fb6651f7084a26939d819b67ea0949f2 100755 (executable)
@@ -13,7 +13,6 @@ import errno
 import itertools
 import os
 import pathlib
-import psutil
 import re
 import shutil
 import signal
@@ -22,6 +21,8 @@ import sys
 import time
 import unittest
 
+import psutil
+
 network_unit_dir = '/run/systemd/network'
 networkd_conf_dropin_dir = '/run/systemd/networkd.conf.d'
 networkd_ci_temp_dir = '/run/networkd-ci'
@@ -96,6 +97,7 @@ def mkdir_p(path):
 def touch(path):
     pathlib.Path(path).touch()
 
+# pylint: disable=R1710
 def check_output(*command, **kwargs):
     # This checks the result and returns stdout (and stderr) on success.
     command = command[0].split() + list(command[1:])
@@ -243,6 +245,21 @@ def expectedFailureIfNetdevsimWithSRIOVIsNotAvailable():
 
     return f
 
+# pylint: disable=C0415
+def compare_kernel_version(min_kernel_version):
+    try:
+        import platform
+        from packaging import version
+    except ImportError:
+        print('Failed to import either platform or packaging module, assuming the comparison failed')
+        return False
+
+    # Get only the actual kernel version without any build/distro/arch stuff
+    # e.g. '5.18.5-200.fc36.x86_64' -> '5.18.5'
+    kver = platform.release().split('-')[0]
+
+    return version.parse(kver) >= version.parse(min_kernel_version)
+
 def udev_reload():
     check_output(*udevadm_cmd, 'control', '--reload')
 
@@ -506,6 +523,7 @@ def flush_l2tp_tunnels():
             print(f'Cannot remove L2TP tunnel {tid}, ignoring.')
 
 def save_timezone():
+    # pylint: disable=global-statement
     global saved_timezone
     r = run(*timedatectl_cmd, 'show', '--value', '--property', 'Timezone', env=env)
     if r.returncode == 0:
@@ -858,7 +876,7 @@ class Utilities():
             args += ['--ipv6']
         try:
             check_output(*args, env=wait_online_env)
-        except subprocess.CalledProcessError as e:
+        except subprocess.CalledProcessError:
             # show detailed status on failure
             for link in links_with_operstate:
                 name = link.split(':')[0]
@@ -891,11 +909,11 @@ class Utilities():
 
     def check_netlabel(self, interface, address, label='system_u:object_r:root_t:s0'):
         if not shutil.which('selinuxenabled'):
-            print(f'## Checking NetLabel skipped: selinuxenabled command not found.')
+            print('## Checking NetLabel skipped: selinuxenabled command not found.')
         elif call_quiet('selinuxenabled') != 0:
-            print(f'## Checking NetLabel skipped: SELinux disabled.')
+            print('## Checking NetLabel skipped: SELinux disabled.')
         elif not shutil.which('netlabelctl'): # not packaged by all distros
-            print(f'## Checking NetLabel skipped: netlabelctl command not found.')
+            print('## Checking NetLabel skipped: netlabelctl command not found.')
         else:
             output = check_output('netlabelctl unlbl list')
             print(output)
@@ -1383,8 +1401,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
         output = check_output('ip -d tuntap show')
         print(output)
-        self.assertRegex(output, f'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
-        self.assertRegex(output, f'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
+        self.assertRegex(output, fr'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
+        self.assertRegex(output, fr'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
 
         output = check_output('ip -d link show testtun99')
         print(output)
@@ -1407,8 +1425,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
         output = check_output('ip -d tuntap show')
         print(output)
-        self.assertRegex(output, f'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
-        self.assertRegex(output, f'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
+        self.assertRegex(output, fr'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
+        self.assertRegex(output, fr'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:{name}\({pid}\)systemd\(1\)$')
 
         output = check_output('ip -d link show testtun99')
         print(output)
@@ -1426,8 +1444,8 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
         output = check_output('ip -d tuntap show')
         print(output)
-        self.assertRegex(output, f'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$')
-        self.assertRegex(output, f'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$')
+        self.assertRegex(output, r'(?m)testtap99: tap pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$')
+        self.assertRegex(output, r'(?m)testtun99: tun pi (multi_queue |)vnet_hdr persist filter *(0x100|)\n\tAttached to processes:$')
 
         for i in range(10):
             if i != 0:
@@ -2051,7 +2069,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
         print(output)
         self.assertIn('inet6 2002:da8:1:0:1034:56ff:fe78:9abc/64 scope global dynamic', output)
 
-    @unittest.skip(reason="Causes kernel panic on recent kernels: https://bugzilla.kernel.org/show_bug.cgi?id=208315")
+    @unittest.skipUnless(compare_kernel_version("6"), reason="Causes kernel panic on unpatched kernels: https://bugzilla.kernel.org/show_bug.cgi?id=208315")
     def test_macsec(self):
         copy_network_unit('25-macsec.netdev', '25-macsec.network', '25-macsec.key',
                           '26-macsec.network', '12-dummy.netdev')
@@ -2221,7 +2239,7 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         self.assertIn('inet6 2001:db8:1:f101::1/64 scope global deprecated', output)
         self.assertRegex(output, r'inet6 fd[0-9a-f:]*1/64 scope global')
 
-        self.check_netlabel('dummy98', '10\.4\.3\.0/24')
+        self.check_netlabel('dummy98', r'10\.4\.3\.0/24')
 
         # Tests for #20891.
         # 1. set preferred lifetime forever to drop the deprecated flag for testing #20891.
@@ -2618,18 +2636,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         self.assertIn('anycast 149.10.123.2 proto static scope link', output)
         self.assertIn('broadcast 149.10.123.3 proto static scope link', output)
 
-        print('### ip route show type blackhole')
-        output = check_output('ip route show type blackhole')
+        print('### ip -4 route show type blackhole')
+        output = check_output('ip -4 route show type blackhole')
         print(output)
         self.assertIn('blackhole 202.54.1.2 proto static', output)
 
-        print('### ip route show type unreachable')
-        output = check_output('ip route show type unreachable')
+        print('### ip -4 route show type unreachable')
+        output = check_output('ip -4 route show type unreachable')
         print(output)
         self.assertIn('unreachable 202.54.1.3 proto static', output)
 
-        print('### ip route show type prohibit')
-        output = check_output('ip route show type prohibit')
+        print('### ip -4 route show type prohibit')
+        output = check_output('ip -4 route show type prohibit')
         print(output)
         self.assertIn('prohibit 202.54.1.4 proto static', output)
 
@@ -2680,18 +2698,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         self.wait_online(['dummy98:routable'])
 
         # check all routes managed by Manager are removed
-        print('### ip route show type blackhole')
-        output = check_output('ip route show type blackhole')
+        print('### ip -4 route show type blackhole')
+        output = check_output('ip -4 route show type blackhole')
         print(output)
         self.assertEqual(output, '')
 
-        print('### ip route show type unreachable')
-        output = check_output('ip route show type unreachable')
+        print('### ip -4 route show type unreachable')
+        output = check_output('ip -4 route show type unreachable')
         print(output)
         self.assertEqual(output, '')
 
-        print('### ip route show type prohibit')
-        output = check_output('ip route show type prohibit')
+        print('### ip -4 route show type prohibit')
+        output = check_output('ip -4 route show type prohibit')
         print(output)
         self.assertEqual(output, '')
 
@@ -2715,18 +2733,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         self.wait_online(['dummy98:routable'])
 
         # check all routes managed by Manager are reconfigured
-        print('### ip route show type blackhole')
-        output = check_output('ip route show type blackhole')
+        print('### ip -4 route show type blackhole')
+        output = check_output('ip -4 route show type blackhole')
         print(output)
         self.assertIn('blackhole 202.54.1.2 proto static', output)
 
-        print('### ip route show type unreachable')
-        output = check_output('ip route show type unreachable')
+        print('### ip -4 route show type unreachable')
+        output = check_output('ip -4 route show type unreachable')
         print(output)
         self.assertIn('unreachable 202.54.1.3 proto static', output)
 
-        print('### ip route show type prohibit')
-        output = check_output('ip route show type prohibit')
+        print('### ip -4 route show type prohibit')
+        output = check_output('ip -4 route show type prohibit')
         print(output)
         self.assertIn('prohibit 202.54.1.4 proto static', output)
 
@@ -2749,18 +2767,18 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         time.sleep(2)
 
         # check all routes managed by Manager are removed
-        print('### ip route show type blackhole')
-        output = check_output('ip route show type blackhole')
+        print('### ip -4 route show type blackhole')
+        output = check_output('ip -4 route show type blackhole')
         print(output)
         self.assertEqual(output, '')
 
-        print('### ip route show type unreachable')
-        output = check_output('ip route show type unreachable')
+        print('### ip -4 route show type unreachable')
+        output = check_output('ip -4 route show type unreachable')
         print(output)
         self.assertEqual(output, '')
 
-        print('### ip route show type prohibit')
-        output = check_output('ip route show type prohibit')
+        print('### ip -4 route show type prohibit')
+        output = check_output('ip -4 route show type prohibit')
         print(output)
         self.assertEqual(output, '')
 
@@ -3631,32 +3649,6 @@ class NetworkdTCTests(unittest.TestCase, Utilities):
         print(output)
         self.assertRegex(output, 'qdisc teql1 31: root')
 
-class NetworkWaitOnlineTests(unittest.TestCase, Utilities):
-
-    def setUp(self):
-        setup_common()
-
-    def tearDown(self):
-        tear_down_common()
-
-    @expectedFailureIfModuleIsNotAvailable('sch_netem')
-    def test_wait_online_ipv4(self):
-        copy_network_unit('25-veth.netdev', '25-dhcp-server-with-ipv6-prefix.network', '25-dhcp-client-ipv4-ipv6ra-prefix-client-with-delay.network')
-        start_networkd()
-
-        self.wait_online(['veth99:routable'], ipv4=True)
-
-        self.wait_address('veth99', r'192.168.5.[0-9]+', ipv='-4', timeout_sec=1)
-
-    @expectedFailureIfModuleIsNotAvailable('sch_netem')
-    def test_wait_online_ipv6(self):
-        copy_network_unit('25-veth.netdev', '25-ipv6-prefix-with-delay.network', '25-ipv6ra-prefix-client-with-static-ipv4-address.network')
-        start_networkd()
-
-        self.wait_online(['veth99:routable'], ipv6=True)
-
-        self.wait_address('veth99', r'2002:da8:1:0:1034:56ff:fe78:9abc', ipv='-6', timeout_sec=1)
-
 class NetworkdStateFileTests(unittest.TestCase, Utilities):
 
     def setUp(self):
@@ -3745,6 +3737,36 @@ class NetworkdStateFileTests(unittest.TestCase, Utilities):
         self.assertIn('MDNS=yes', output)
         self.assertIn('DNSSEC=no', output)
 
+    def test_address_state(self):
+        copy_network_unit('12-dummy.netdev', '12-dummy-no-address.network')
+        start_networkd()
+
+        self.wait_online(['dummy98:degraded'])
+
+        output = read_link_state_file('dummy98')
+        self.assertIn('IPV4_ADDRESS_STATE=off', output)
+        self.assertIn('IPV6_ADDRESS_STATE=degraded', output)
+
+        # with a routable IPv4 address
+        check_output('ip address add 10.1.2.3/16 dev dummy98')
+        self.wait_online(['dummy98:routable'], ipv4=True)
+        self.wait_online(['dummy98:routable'])
+
+        output = read_link_state_file('dummy98')
+        self.assertIn('IPV4_ADDRESS_STATE=routable', output)
+        self.assertIn('IPV6_ADDRESS_STATE=degraded', output)
+
+        check_output('ip address del 10.1.2.3/16 dev dummy98')
+
+        # with a routable IPv6 address
+        check_output('ip address add 2002:da8:1:0:1034:56ff:fe78:9abc/64 dev dummy98')
+        self.wait_online(['dummy98:routable'], ipv6=True)
+        self.wait_online(['dummy98:routable'])
+
+        output = read_link_state_file('dummy98')
+        self.assertIn('IPV4_ADDRESS_STATE=off', output)
+        self.assertIn('IPV6_ADDRESS_STATE=routable', output)
+
 class NetworkdBondTests(unittest.TestCase, Utilities):
 
     def setUp(self):
@@ -4577,7 +4599,7 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities):
         self.assertIn('client provides name: test-hostname', output)
         self.assertIn('26:mtu', output)
 
-        self.check_netlabel('veth99', '192\.168\.5\.0/24')
+        self.check_netlabel('veth99', r'192\.168\.5\.0/24')
 
     def test_dhcp_client_ipv4_use_routes_gateway(self):
         first = True
index 4b3bdf33644b14562bef5474db9e72d8106cf19c..af9ff9bf9319086cb26f66dc373439d153c4c94e 100755 (executable)
@@ -87,7 +87,7 @@ def test_content(line, expected, *, user, extra={}, subpath='/arg', path_cb=None
 
 def test_valid_specifiers(*, user):
     test_content('f {} - - - - two words', 'two words', user=user)
-    if id128:
+    if id128 and os.path.isfile('/etc/machine-id'):
         try:
             test_content('f {} - - - - %m', '{}'.format(id128.get_machine().hex), user=user)
         except AssertionError as e:
index 985968d12077573d73740d4576189aa1203a4008..3099b5746fbd11a1f4a9c3cbfd1b7bd83af5ffec 100755 (executable)
@@ -1980,8 +1980,8 @@ EOF
                                 not_exp_links   => ["notthere"],
                         }],
                 rules           => <<EOF
-TEST=="/etc/machine-id", SYMLINK+="there"
-TEST!="/etc/machine-id", SYMLINK+="notthere"
+TEST=="/etc/passwd", SYMLINK+="there"
+TEST!="/etc/passwd", SYMLINK+="notthere"
 EOF
         },
         {
index 797676fc14271e1f49e0d52fd803d32511c61d02..7abbce774761ab6120f530865071aa5171e03bf9 100755 (executable)
 #!/usr/bin/env bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
-set -ex
+
+# disable shellcheck warning about '"aaa"' type quotation
+# shellcheck disable=SC2016
+
+set -eux
 set -o pipefail
 
+# shellcheck source=test/units/assert.sh
+. "$(dirname "$0")"/assert.sh
+
 mkdir -p /run/udev/rules.d/
 
+# test for ID_RENAMING= udev property and device unit state
+
 cat >/run/udev/rules.d/50-testsuite.rules <<EOF
-ACTION=="remove", GOTO="lo_end"
+ACTION=="remove", GOTO="hoge_end"
+SUBSYSTEM!="net", GOTO="hoge_end"
+KERNEL!="hoge", GOTO="hoge_end"
+
+OPTIONS="log_level=debug"
+
+# emulate renaming
+ACTION=="online", ENV{ID_RENAMING}="1"
+
+LABEL="hoge_end"
+EOF
+
+udevadm control --log-priority=debug --reload --timeout=30
+
+ip link add hoge type dummy
+udevadm wait --timeout=30 --settle /sys/devices/virtual/net/hoge
+assert_not_in "ID_RENAMING=" "$(udevadm info /sys/devices/virtual/net/hoge)"
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "active" ]]; do sleep .5; done'
 
-SUBSYSTEM=="net", KERNEL=="lo", OPTIONS="log_level=debug"
-SUBSYSTEM=="net", KERNEL=="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/net/devices/lo"
+udevadm trigger --action=online --settle /sys/devices/virtual/net/hoge
+assert_in "ID_RENAMING=" "$(udevadm info /sys/devices/virtual/net/hoge)"
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "inactive" ]]; do sleep .5; done'
 
-ACTION!="change", GOTO="lo_end"
+udevadm trigger --action=move --settle /sys/devices/virtual/net/hoge
+assert_not_in "ID_RENAMING=" "$(udevadm info /sys/devices/virtual/net/hoge)"
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "active" ]]; do sleep .5; done'
 
-SUBSYSTEM=="net", KERNEL=="lo", ENV{ID_RENAMING}="1"
+# test for renaming interface with NAME= (issue #25106)
 
-LABEL="lo_end"
+cat >/run/udev/rules.d/50-testsuite.rules <<EOF
+ACTION!="add", GOTO="hoge_end"
+SUBSYSTEM!="net", GOTO="hoge_end"
+
+OPTIONS="log_level=debug"
+
+KERNEL=="hoge",  NAME="foobar"
+KERNEL=="foobar", NAME="hoge"
+
+LABEL="hoge_end"
 EOF
 
-udevadm control --log-priority=debug --reload --timeout=600
-udevadm trigger --action=add --settle /sys/devices/virtual/net/lo
-udevadm info /sys/devices/virtual/net/lo
-sleep 1
-STATE=$(systemctl show --property=ActiveState --value sys-devices-virtual-net-lo.device)
-[[ $STATE == "active" ]] || exit 1
-
-udevadm trigger --action=change --settle /sys/devices/virtual/net/lo
-udevadm info /sys/devices/virtual/net/lo
-sleep 1
-STATE=$(systemctl show --property=ActiveState --value sys-devices-virtual-net-lo.device)
-[[ $STATE == "inactive" ]] || exit 1
-
-udevadm trigger --action=move --settle /sys/devices/virtual/net/lo
-udevadm info /sys/devices/virtual/net/lo
-sleep 1
-STATE=$(systemctl show --property=ActiveState --value sys-devices-virtual-net-lo.device)
-[[ $STATE == "active" ]] || exit 1
+udevadm control --log-priority=debug --reload --timeout=30
 
-rm -f /run/udev/rules.d/50-testsuite.rules
-udevadm control --reload --timeout=600
+# FIXME(?): the 'add' uevent is broadcast as for 'foobar', instead of 'hoge'. Hence, we cannot use --settle here.
+# See issue #25115.
+udevadm trigger --action=add /sys/devices/virtual/net/hoge
+udevadm wait --timeout=30 --settle /sys/devices/virtual/net/foobar
+assert_not_in "ID_RENAMING=" "$(udevadm info /sys/devices/virtual/net/foobar)"
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/foobar)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/foobar)" != "active" ]]; do sleep .5; done'
 
-# test for issue #16967
+udevadm trigger --action=add /sys/devices/virtual/net/foobar
+udevadm wait --timeout=30 --settle /sys/devices/virtual/net/hoge
+assert_not_in "ID_RENAMING=" "$(udevadm info /sys/devices/virtual/net/hoge)"
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/foobar)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/foobar)" != "inactive" ]]; do sleep .5; done'
 
-ip link add hoge type dummy
-udevadm info --wait-for-initialization=10s /sys/devices/virtual/net/hoge
-sleep 1
-if ! systemctl status sys-devices-virtual-net-hoge.device; then exit 1; fi
-if ! systemctl status sys-subsystem-net-devices-hoge.device; then exit 1; fi
+# cleanup
+rm -f /run/udev/rules.d/50-testsuite.rules
+udevadm control --reload --timeout=30
+
+# test for renaming interface with an external tool (issue #16967)
 
 ip link set hoge name foobar
-udevadm info --wait-for-initialization=10s /sys/devices/virtual/net/foobar
-sleep 1
-if systemctl status sys-devices-virtual-net-hoge.device; then exit 1; fi
-if systemctl status sys-subsystem-net-devices-hoge.device; then exit 1; fi
-if ! systemctl status sys-devices-virtual-net-foobar.device; then exit 1; fi
-if ! systemctl status sys-subsystem-net-devices-foobar.device; then exit 1; fi
+udevadm wait --timeout=30 --settle /sys/devices/virtual/net/foobar
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/foobar)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/foobar)" != "active" ]]; do sleep .5; done'
+
+ip link set foobar name hoge
+udevadm wait --timeout=30 --settle /sys/devices/virtual/net/hoge
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/hoge)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/hoge)" != "active" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/devices/virtual/net/foobar)" != "inactive" ]]; do sleep .5; done'
+timeout 30 bash -c 'while [[ "$(systemctl show --property=ActiveState --value /sys/subsystem/net/devices/foobar)" != "inactive" ]]; do sleep .5; done'
+
+# cleanup
+ip link del hoge
 
 exit 0
index 322d8086e75701d3db6d672a3e00d2a6d7d47cf9..24e888c587923f8590dabc1fe6b0560958b5d1c6 100755 (executable)
@@ -39,7 +39,7 @@ test_timezone() {
     if [[ -f /etc/timezone ]]; then
         assert_eq "$(cat /etc/timezone)" "Europe/Kiev"
     fi
-    assert_in "Time zone: Europe/Kiev \(EEST, \+0[0-9]00\)" "$(timedatectl)"
+    assert_in "Time zone: Europe/Kiev \(EES*T, \+0[0-9]00\)" "$(timedatectl)"
 
     if [[ -n "$ORIG_TZ" ]]; then
         echo 'reset timezone to original'
index d267a6b2e657699f6e529f4ff5053f6bab444e94..fa838d8d0672619f7413d04acf04d4b0eddd2a2a 100644 (file)
@@ -66,7 +66,7 @@ d /var/log/private 0700 root root -
 d /var/cache/private 0700 root root -
 
 {% if ENABLE_EFI %}
-# Copy sd-stub provided PCR signature and and public key file from initrd into /run/, so that it will survive the initrd stage
+# Copy sd-stub provided PCR signature and public key file from initrd into /run/, so that it will survive the initrd stage
 C /run/systemd/tpm2-pcr-signature.json 0444 root root - /.extra/tpm2-pcr-signature.json
 C /run/systemd/tpm2-pcr-public-key.pem 0444 root root - /.extra/tpm2-pcr-public-key.pem
 {% endif %}
index 8ce692498adabba42c4b799d769123ceceafe096..3964a8e198ca0d2935d456dafd40f48d35316fdf 100755 (executable)
@@ -14,4 +14,6 @@ cd "$dir"
 # Check that we have either .git/ (a normal clone) or a .git file (a work-tree)
 # and that we don't get confused if a tarball is extracted in a higher-level
 # git repository.
-[ -e .git ] && git describe --abbrev=7 --dirty=+ 2>/dev/null | sed 's/^v//' || echo "$fallback"
+[ -e .git ] && \
+    git describe --abbrev=7 --dirty=^ 2>/dev/null | sed 's/^v//; s/-rc/~rc/' || \
+    echo "$fallback"
index 0175a148584535e8c8b25088b840bfbae2b52a9c..cb1e4f9fea55765ea0f23fd48b18a454f3264893 100644 (file)
@@ -19,4 +19,4 @@ ConditionPathIsReadWrite=/sys
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart=-udevadm trigger --type=all --action=add --prioritized-subsystem=module,block,tpmrm,tty,net
+ExecStart=-udevadm trigger --type=all --action=add --prioritized-subsystem=module,block,tpmrm,net,tty,input