1
0
mirror of https://github.com/systemd/systemd synced 2026-03-19 11:34:46 +01:00

Compare commits

..

No commits in common. "ad64e3e8d649949a33be6daae6e9821e694b37c2" and "e9bbb6ef0402e050efc7d7b4e6d9424599d2a803" have entirely different histories.

31 changed files with 532 additions and 1027 deletions

53
NEWS
View File

@ -125,12 +125,6 @@ CHANGES WITH 249 in spe:
gained a new parameter --uuid that prints the UUID for each generated
uevent.
* sd-device also gained new APIs sd_device_new_from_ifname() and
sd_device_new_from_ifindex() for allocating an sd-device object for
the specified network interface. The former accepts an interface name
(either a primary or an alternative name), the latter an interface
index.
* The native Journal protocol has been documented. Clients may talk
this as alternative to the classic BSD syslog protocol for locally
delivering log records to the Journal. The protocol has been stable
@ -469,42 +463,33 @@ CHANGES WITH 249 in spe:
* The WakeOnLan= setting in .link files now accepts a list of flags
instead of a single one, to configure multiple wake-on-LAN policies.
* User-space defined tracepoints (USDT) have been added to udev at
strategic locations. This is useful for tracing udev behaviour and
performance with bpftrace and similar tools.
* systemd-journald-upload gained a new NetworkTimeoutSec= option for
setting a network timeout time.
Contributions from: Aakash Singh, adrian5, Alexander Sverdlin,
alexlzhu, Allen Webb, Alvin Šipraga, Alyssa Ross, Anita Zhang, asavah,
Balint Reczey, Bertrand Jacquin, borna-blazevic, caoxia2008cxx,
Carlo Teubner, Christian Göttsche, Christian Hesse, Daniel Schaefer,
Dan Streetman, David Santamaría Rogado, David Tardon, Deepak Rawat,
Carlo Teubner, Christian Göttsche, Christian Hesse, Dan Streetman,
David Santamaría Rogado, David Tardon, Deepak Rawat,
Dimitri John Ledkov, ei-ke, Emilio Herrera, Emil Renner Berthing,
Flos Lonicerae, Franck Bui, Francois Gervais, Frantisek Sumsal,
Gibeom Gwon, gitm0, Hans de Goede, Harsh Barsaiyan, Henri Chain,
Igor Zhbanov, imayoda, Jakub Warczarek, James Buren, Jan Janssen,
Jan Synacek, Jason Francis, Jayanth Ananthapadmanaban,
Jérôme Carretero, jiangchuangang, Joerg Behrmann,
Jóhann B. Guðmundsson, Jörg Deckert, Jörg Thalheim, Julia Kartseva,
Kai-Heng Feng, Khem Raj, KoyamaSohei, Lennart Poettering,
LetzteInstanz, Luca Adrian L, Luca Boccassi, Lucas Magasweran,
Mantas Mikulėnas, Marco Antonio Mauro, Mark Wielaard, Masahiro Matsuya,
Matt Johnston, Michael Catanzaro, Michal Koutný, Michal Sekletár,
Mike Kazantsev, Milan, Miroslav Suchý, Morten Linderud, nerdopolis,
nl6720, Noah Meyerhans, Oleg Popov, Olle Lundberg, Ondrej Kozina,
Perry.Yuan, Peter Hutterer, Peter Kjellerstedt, Peter Morrow,
Phaedrus Leeds, Roman Beranek, Roshan Shariff, Ryan Hendrickson,
Samuel BF, scootergrisen, Sebastian Blunt, Seong-ho Cho, Sergey Bugaev,
Sevan Janiyan, Sibo Dong, simmon, Simon Watts, Srinidhi Kaushik,
Štěpán Němec, Steve Bonds, Susant Sahani, sverdlin, syyhao1994,
Takashi Sakamoto, Topi Miettinen, tramsay, Uwe Kleine-König,
Viktor Mihajlovski, Vincent Dechenaux, Vito Caputo,
William A. Kennington III, Yangyang Shen, Yegor Alexeyev, Yi Gao,
Yu Watanabe, Zbigniew Jędrzejewski-Szmek, zsien, наб
Jan Synacek, Jason Francis, Jérôme Carretero, jiangchuangang,
Joerg Behrmann, Jóhann B. Guðmundsson, Jörg Deckert, Jörg Thalheim,
Julia Kartseva, Kai-Heng Feng, Khem Raj, KoyamaSohei,
Lennart Poettering, LetzteInstanz, Luca Adrian L, Luca Boccassi,
Lucas Magasweran, Mantas Mikulėnas, Marco Antonio Mauro, Mark Wielaard,
Masahiro Matsuya, Michael Catanzaro, Mike Kazantsev, Milan,
Miroslav Suchý, Morten Linderud, Noah Meyerhans, Oleg Popov,
Olle Lundberg, Ondrej Kozina, Perry.Yuan, Peter Hutterer,
Peter Kjellerstedt, Peter Morrow, Phaedrus Leeds, Roman Beranek,
Roshan Shariff, Ryan Hendrickson, Samuel BF, scootergrisen,
Sebastian Blunt, Seong-ho Cho, Sergey Bugaev, Sevan Janiyan, Sibo Dong,
simmon, Simon Watts, Srinidhi Kaushik, Štěpán Němec, Steve Bonds,
Susant Sahani, sverdlin, syyhao1994, Takashi Sakamoto, Topi Miettinen,
tramsay, Uwe Kleine-König, Viktor Mihajlovski, Vincent Dechenaux,
Vito Caputo, William A. Kennington III, Yangyang Shen, Yegor Alexeyev,
Yi Gao, Yu Watanabe, Zbigniew Jędrzejewski-Szmek, zsien, наб
— Berlin, 2021-06-15
— Berlin, 2021-06-XX
CHANGES WITH 248:

View File

@ -36830,9 +36830,6 @@ OUI:00BD27*
OUI:00BD3A*
ID_OUI_FROM_DATABASE=Nokia Corporation
OUI:00BD3E*
ID_OUI_FROM_DATABASE=Vizio, Inc
OUI:00BD82*
ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
@ -37688,9 +37685,6 @@ OUI:00CD90*
OUI:00CDFE*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:00CE30*
ID_OUI_FROM_DATABASE=Express LUCK Industrial Ltd.
OUI:00CF1C*
ID_OUI_FROM_DATABASE=Communication Machinery Corporation
@ -40722,7 +40716,7 @@ OUI:080041*
ID_OUI_FROM_DATABASE=RACAL-MILGO INFORMATION SYS..
OUI:080042*
ID_OUI_FROM_DATABASE=MACNICA, Inc.
ID_OUI_FROM_DATABASE=JAPAN MACNICS CORP.
OUI:080043*
ID_OUI_FROM_DATABASE=PIXEL COMPUTER INC.
@ -43781,9 +43775,6 @@ OUI:141877*
OUI:1418C3*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:141973*
ID_OUI_FROM_DATABASE=Beijing Yunyi Times Technology Co.,Ltd
OUI:141A51*
ID_OUI_FROM_DATABASE=Treetech Sistemas Digitais
@ -45467,9 +45458,6 @@ OUI:18E1CA*
OUI:18E1DE*
ID_OUI_FROM_DATABASE=Chengdu ChipIntelli Technology Co., Ltd
OUI:18E215*
ID_OUI_FROM_DATABASE=Nokia
OUI:18E288*
ID_OUI_FROM_DATABASE=STT Condigi
@ -48911,9 +48899,6 @@ OUI:2834A2*
OUI:283545*
ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD
OUI:2836132*
ID_OUI_FROM_DATABASE=Shenzhen HQVT TECHNOLOGY Co.,LTD
OUI:2836380*
ID_OUI_FROM_DATABASE=Knowles Electronics LLC
@ -53132,9 +53117,6 @@ OUI:3859F9*
OUI:385AA8*
ID_OUI_FROM_DATABASE=Beijing Zhongdun Security Technology Development Co.
OUI:385C76*
ID_OUI_FROM_DATABASE=PLANTRONICS, INC.
OUI:385F66*
ID_OUI_FROM_DATABASE=Cisco SPVTG
@ -55430,9 +55412,6 @@ OUI:408D5C*
OUI:408F9D*
ID_OUI_FROM_DATABASE=Juniper Networks
OUI:409151*
ID_OUI_FROM_DATABASE=Espressif Inc.
OUI:409505*
ID_OUI_FROM_DATABASE=ACOINFO TECHNOLOGY CO.,LTD
@ -56171,9 +56150,6 @@ OUI:4447CC*
OUI:444891*
ID_OUI_FROM_DATABASE=HDMI Licensing, LLC
OUI:4448B9*
ID_OUI_FROM_DATABASE=MitraStar Technology Corp.
OUI:4448C1*
ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
@ -60236,9 +60212,6 @@ OUI:546C0E*
OUI:546D52*
ID_OUI_FROM_DATABASE=TOPVIEW OPTRONICS CORP.
OUI:546F71*
ID_OUI_FROM_DATABASE=uAvionix Corporation
OUI:5471DD*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
@ -60701,9 +60674,6 @@ OUI:54EDA3*
OUI:54EE75*
ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd.
OUI:54EF33*
ID_OUI_FROM_DATABASE=SHENZHEN BILIAN ELECTRONIC CO.LTD
OUI:54EF44*
ID_OUI_FROM_DATABASE=Lumi United Technology Co., Ltd
@ -62033,9 +62003,6 @@ OUI:5C80B6*
OUI:5C81A7*
ID_OUI_FROM_DATABASE=Network Devices Pty Ltd
OUI:5C8382*
ID_OUI_FROM_DATABASE=Nokia
OUI:5C838F*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
@ -63065,9 +63032,6 @@ OUI:608E08*
OUI:608F5C*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:608FA4*
ID_OUI_FROM_DATABASE=Nokia Solutions and Networks GmbH & Co. KG
OUI:609084*
ID_OUI_FROM_DATABASE=DSSD Inc
@ -63758,9 +63722,6 @@ OUI:64317E*
OUI:6432A8*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:6433B50*
ID_OUI_FROM_DATABASE=Duomondi International Development Co., Ltd.
OUI:6433B51*
ID_OUI_FROM_DATABASE=Huaqin Telecom Technology Co.,Ltd.
@ -63770,39 +63731,21 @@ OUI:6433B52*
OUI:6433B53*
ID_OUI_FROM_DATABASE=Wingtech Mobile Communications Co.,Ltd
OUI:6433B54*
ID_OUI_FROM_DATABASE=Eagle Eye Networks, Inc
OUI:6433B55*
ID_OUI_FROM_DATABASE=Revo Smart Technologies co.,limited
OUI:6433B56*
ID_OUI_FROM_DATABASE=MICROIT SRL
OUI:6433B57*
ID_OUI_FROM_DATABASE=ABB Electrification Smart Power (ELSP)
OUI:6433B58*
ID_OUI_FROM_DATABASE=LACO Technologies
OUI:6433B59*
ID_OUI_FROM_DATABASE=Annapurna labs
OUI:6433B5A*
ID_OUI_FROM_DATABASE=Hometek Eletronics Co., Ltd
OUI:6433B5B*
ID_OUI_FROM_DATABASE=electroCore Inc.
OUI:6433B5C*
ID_OUI_FROM_DATABASE=Geksacon
OUI:6433B5D*
ID_OUI_FROM_DATABASE=IIYAMA CORPORATION
OUI:6433B5E*
ID_OUI_FROM_DATABASE=University of Texas at Austin
OUI:6433DB*
ID_OUI_FROM_DATABASE=Texas Instruments
@ -65825,9 +65768,6 @@ OUI:6C8FB5*
OUI:6C90B1*
ID_OUI_FROM_DATABASE=SanLogic Inc
OUI:6C9106*
ID_OUI_FROM_DATABASE=Private
OUI:6C92BF*
ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd.
@ -79697,9 +79637,6 @@ OUI:743170*
OUI:743256*
ID_OUI_FROM_DATABASE=NT-ware Systemprg GmbH
OUI:7432C2*
ID_OUI_FROM_DATABASE=KYOLIS
OUI:743400*
ID_OUI_FROM_DATABASE=MTG Co., Ltd.
@ -79865,9 +79802,6 @@ OUI:745C4B*
OUI:745C9F*
ID_OUI_FROM_DATABASE=TCT mobile ltd
OUI:745CFA*
ID_OUI_FROM_DATABASE=Shenzhen Shunrui Gaojie Technology Co., Ltd.
OUI:745D43*
ID_OUI_FROM_DATABASE=BSH Hausgeraete GmbH
@ -80862,7 +80796,7 @@ OUI:78521A*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:78524A*
ID_OUI_FROM_DATABASE=Optonic GmbH
ID_OUI_FROM_DATABASE=Ensenso GmbH
OUI:785262*
ID_OUI_FROM_DATABASE=Shenzhen Hojy Software Co., Ltd.
@ -80972,9 +80906,6 @@ OUI:78719C*
OUI:78725D*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
OUI:7876D9*
ID_OUI_FROM_DATABASE=EXARA Group
OUI:787A6F*
ID_OUI_FROM_DATABASE=Juice Technology AG
@ -82484,9 +82415,6 @@ OUI:7CBF88*
OUI:7CBFB1*
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
OUI:7CC177*
ID_OUI_FROM_DATABASE=INGRAM MICRO SERVICES
OUI:7CC255*
ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
@ -85943,9 +85871,6 @@ OUI:8C1F640E0*
OUI:8C1F64101*
ID_OUI_FROM_DATABASE=ASW-ATI Srl
OUI:8C1F64128*
ID_OUI_FROM_DATABASE=YULISTA INTEGRATED SOLUTION
OUI:8C1F64135*
ID_OUI_FROM_DATABASE=Yuval Fichman
@ -85958,15 +85883,9 @@ OUI:8C1F64151*
OUI:8C1F64166*
ID_OUI_FROM_DATABASE=Hikari Alphax Inc.
OUI:8C1F64193*
ID_OUI_FROM_DATABASE=Sicon srl
OUI:8C1F6419C*
ID_OUI_FROM_DATABASE=Aton srl
OUI:8C1F641E3*
ID_OUI_FROM_DATABASE=WBNet
OUI:8C1F64204*
ID_OUI_FROM_DATABASE=castcore
@ -86000,15 +85919,9 @@ OUI:8C1F642A5*
OUI:8C1F642C8*
ID_OUI_FROM_DATABASE=BRS Sistemas Eletrônicos
OUI:8C1F642E8*
ID_OUI_FROM_DATABASE=Sonora Network Solutions
OUI:8C1F642EF*
ID_OUI_FROM_DATABASE=Invisense AB
OUI:8C1F642F5*
ID_OUI_FROM_DATABASE=Florida R&D Associates LLC
OUI:8C1F64304*
ID_OUI_FROM_DATABASE=Jemac Sweden AB
@ -86024,9 +85937,6 @@ OUI:8C1F64391*
OUI:8C1F643A4*
ID_OUI_FROM_DATABASE=QLM Technology Ltd
OUI:8C1F643B5*
ID_OUI_FROM_DATABASE=SVMS
OUI:8C1F643C4*
ID_OUI_FROM_DATABASE=NavSys Technology Inc.
@ -86081,9 +85991,6 @@ OUI:8C1F6472C*
OUI:8C1F6473D*
ID_OUI_FROM_DATABASE=NewAgeMicro
OUI:8C1F6473F*
ID_OUI_FROM_DATABASE=UBISCALE
OUI:8C1F64768*
ID_OUI_FROM_DATABASE=mapna group
@ -86111,15 +86018,9 @@ OUI:8C1F64856*
OUI:8C1F64878*
ID_OUI_FROM_DATABASE=Green Access Ltd
OUI:8C1F648C2*
ID_OUI_FROM_DATABASE=Cirrus Systems, Inc.
OUI:8C1F64903*
ID_OUI_FROM_DATABASE=Portrait Displays, Inc.
OUI:8C1F6490E*
ID_OUI_FROM_DATABASE=Xacti Corporation
OUI:8C1F64918*
ID_OUI_FROM_DATABASE=Abbott Diagnostics Technologies AS
@ -86159,9 +86060,6 @@ OUI:8C1F64AA4*
OUI:8C1F64AAB*
ID_OUI_FROM_DATABASE=BlueSword Intelligent Technology Co., Ltd.
OUI:8C1F64AB5*
ID_OUI_FROM_DATABASE=JUSTMORPH PTE. LTD.
OUI:8C1F64AE1*
ID_OUI_FROM_DATABASE=YUYAMA MFG Co.,Ltd
@ -86186,9 +86084,6 @@ OUI:8C1F64BC0*
OUI:8C1F64C03*
ID_OUI_FROM_DATABASE=Abiman Engineering
OUI:8C1F64C1F*
ID_OUI_FROM_DATABASE=Esys Srl
OUI:8C1F64C2F*
ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L.
@ -86207,12 +86102,6 @@ OUI:8C1F64CF3*
OUI:8C1F64D29*
ID_OUI_FROM_DATABASE=Secure Bits
OUI:8C1F64D3C*
ID_OUI_FROM_DATABASE=KIB Energo LLC
OUI:8C1F64D4A*
ID_OUI_FROM_DATABASE=Caproc Oy
OUI:8C1F64D7E*
ID_OUI_FROM_DATABASE=Thales Belgium
@ -86228,15 +86117,9 @@ OUI:8C1F64E5C*
OUI:8C1F64EAC*
ID_OUI_FROM_DATABASE=Miracle Healthcare, Inc.
OUI:8C1F64EE8*
ID_OUI_FROM_DATABASE=Global Organ Group B.V.
OUI:8C1F64F41*
ID_OUI_FROM_DATABASE=AUTOMATIZACION Y CONECTIVIDAD SA DE CV
OUI:8C1F64F86*
ID_OUI_FROM_DATABASE=INFOSTECH Co., Ltd.
OUI:8C1F64FD1*
ID_OUI_FROM_DATABASE=Edgeware AB
@ -86393,9 +86276,6 @@ OUI:8C4962*
OUI:8C4AEE*
ID_OUI_FROM_DATABASE=GIGA TMS INC
OUI:8C4B14*
ID_OUI_FROM_DATABASE=Espressif Inc.
OUI:8C4B59*
ID_OUI_FROM_DATABASE=3D Imaging & Simulations Corp
@ -88613,9 +88493,6 @@ OUI:94A1A2*
OUI:94A3CA*
ID_OUI_FROM_DATABASE=KonnectONE, LLC
OUI:94A408*
ID_OUI_FROM_DATABASE=Shenzhen Trolink Technology CO, LTD
OUI:94A40C*
ID_OUI_FROM_DATABASE=Diehl Metering GmbH
@ -93194,9 +93071,6 @@ OUI:A4DEC9*
OUI:A4E0E6*
ID_OUI_FROM_DATABASE=FILIZOLA S.A. PESAGEM E AUTOMACAO
OUI:A4E11A*
ID_OUI_FROM_DATABASE=Juniper Networks
OUI:A4E31B*
ID_OUI_FROM_DATABASE=Nokia
@ -95927,9 +95801,6 @@ OUI:B0E892*
OUI:B0E97E*
ID_OUI_FROM_DATABASE=Advanced Micro Peripherals
OUI:B0E9FE*
ID_OUI_FROM_DATABASE=Woan Technology (Shenzhen) Co., Ltd.
OUI:B0EABC*
ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP
@ -100085,9 +99956,6 @@ OUI:C46DF1*
OUI:C46E1F*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
OUI:C46E33*
ID_OUI_FROM_DATABASE=Zhong Ge Smart Technology Co., Ltd.
OUI:C46E7B*
ID_OUI_FROM_DATABASE=SHENZHEN RF-LINK TECHNOLOGY CO.,LTD.
@ -101201,9 +101069,6 @@ OUI:C894BB*
OUI:C894D2*
ID_OUI_FROM_DATABASE=Jiangsu Datang Electronic Products Co., Ltd
OUI:C89665*
ID_OUI_FROM_DATABASE=Microsoft Corporation
OUI:C8979F*
ID_OUI_FROM_DATABASE=Nokia Corporation
@ -104603,9 +104468,6 @@ OUI:D4E33F*
OUI:D4E6B7*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:D4E853*
ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
OUI:D4E880*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc

View File

@ -246,9 +246,6 @@ acpi:PIXA*:
acpi:PNSO*:
ID_VENDOR_FROM_DATABASE=Pensando Systems, Inc.
acpi:PURI*:
ID_VENDOR_FROM_DATABASE=Purism SPC
acpi:QCOM*:
ID_VENDOR_FROM_DATABASE=Qualcomm Inc
@ -2004,9 +2001,6 @@ acpi:DLK*:
acpi:DLL*:
ID_VENDOR_FROM_DATABASE=Dell Inc
acpi:DLM*:
ID_VENDOR_FROM_DATABASE=DLOGIC Ltd.
acpi:DLO*:
ID_VENDOR_FROM_DATABASE=Shenzhen Dlodlo Technologies Co., Ltd.
@ -2394,9 +2388,6 @@ acpi:EMK*:
acpi:EMO*:
ID_VENDOR_FROM_DATABASE=ELMO COMPANY, LIMITED
acpi:EMR*:
ID_VENDOR_FROM_DATABASE=ICC Intelligent Platforms GmbH
acpi:EMU*:
ID_VENDOR_FROM_DATABASE=Emulex Corporation
@ -2775,9 +2766,6 @@ acpi:FTW*:
acpi:FUJ*:
ID_VENDOR_FROM_DATABASE=Fujitsu Ltd
acpi:FUL*:
ID_VENDOR_FROM_DATABASE=Fun Technology Innovation INC.
acpi:FUN*:
ID_VENDOR_FROM_DATABASE=sisel muhendislik
@ -3534,9 +3522,6 @@ acpi:INZ*:
acpi:IOA*:
ID_VENDOR_FROM_DATABASE=CRE Technology Corporation
acpi:IOC*:
ID_VENDOR_FROM_DATABASE=Guangxi Century Innovation Display Electronics Co., Ltd
acpi:IOD*:
ID_VENDOR_FROM_DATABASE=I-O Data Device Inc
@ -4020,9 +4005,6 @@ acpi:LCM*:
acpi:LCN*:
ID_VENDOR_FROM_DATABASE=LEXICON
acpi:LCP*:
ID_VENDOR_FROM_DATABASE=Silent Power Electronics GmbH
acpi:LCS*:
ID_VENDOR_FROM_DATABASE=Longshine Electronics Company
@ -4899,9 +4881,6 @@ acpi:NGC*:
acpi:NGS*:
ID_VENDOR_FROM_DATABASE=A D S Exports
acpi:NHC*:
ID_VENDOR_FROM_DATABASE=New H3C Technology Co., Ltd.
acpi:NHT*:
ID_VENDOR_FROM_DATABASE=Vinci Labs
@ -6012,9 +5991,6 @@ acpi:SCD*:
acpi:SCE*:
ID_VENDOR_FROM_DATABASE=Sun Corporation
acpi:SCG*:
ID_VENDOR_FROM_DATABASE=Seco S.p.A.
acpi:SCH*:
ID_VENDOR_FROM_DATABASE=Schlumberger Cards

View File

@ -1,5 +1,5 @@
--- 20-acpi-vendor.hwdb.base 2021-06-15 21:57:03.178869619 +0200
+++ 20-acpi-vendor.hwdb 2021-06-15 21:57:03.185869634 +0200
--- 20-acpi-vendor.hwdb.base 2021-06-09 11:42:38.243878904 +0200
+++ 20-acpi-vendor.hwdb 2021-06-09 11:42:38.251878816 +0200
@@ -3,6 +3,8 @@
# Data imported from:
# https://uefi.org/uefi-pnp-export
@ -19,7 +19,7 @@
acpi:AMDI*:
ID_VENDOR_FROM_DATABASE=AMD
@@ -319,6 +318,9 @@
@@ -316,6 +315,9 @@
acpi:AAA*:
ID_VENDOR_FROM_DATABASE=Avolites Ltd
@ -29,7 +29,7 @@
acpi:AAE*:
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
@@ -346,6 +348,9 @@
@@ -343,6 +345,9 @@
acpi:ABO*:
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
@ -39,7 +39,7 @@
acpi:ABS*:
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
@@ -391,7 +396,7 @@
@@ -388,7 +393,7 @@
acpi:ACO*:
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
@ -48,7 +48,7 @@
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
acpi:ACR*:
@@ -664,6 +669,9 @@
@@ -661,6 +666,9 @@
acpi:AMT*:
ID_VENDOR_FROM_DATABASE=AMT International Industry
@ -58,7 +58,7 @@
acpi:AMX*:
ID_VENDOR_FROM_DATABASE=AMX LLC
@@ -712,6 +720,9 @@
@@ -709,6 +717,9 @@
acpi:AOA*:
ID_VENDOR_FROM_DATABASE=AOpen Inc.
@ -68,7 +68,7 @@
acpi:AOE*:
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
@@ -721,6 +732,9 @@
@@ -718,6 +729,9 @@
acpi:AOT*:
ID_VENDOR_FROM_DATABASE=Alcatel
@ -78,7 +78,7 @@
acpi:APC*:
ID_VENDOR_FROM_DATABASE=American Power Conversion
@@ -896,7 +910,7 @@
@@ -893,7 +907,7 @@
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
acpi:AUO*:
@ -87,7 +87,7 @@
acpi:AUR*:
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
@@ -976,6 +990,9 @@
@@ -973,6 +987,9 @@
acpi:AXE*:
ID_VENDOR_FROM_DATABASE=Axell Corporation
@ -97,7 +97,7 @@
acpi:AXI*:
ID_VENDOR_FROM_DATABASE=American Magnetics
@@ -1126,6 +1143,9 @@
@@ -1123,6 +1140,9 @@
acpi:BML*:
ID_VENDOR_FROM_DATABASE=BIOMED Lab
@ -107,7 +107,7 @@
acpi:BMS*:
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
@@ -1138,6 +1158,9 @@
@@ -1135,6 +1155,9 @@
acpi:BNO*:
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
@ -117,7 +117,7 @@
acpi:BNS*:
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
@@ -1381,6 +1404,9 @@
@@ -1378,6 +1401,9 @@
acpi:CHA*:
ID_VENDOR_FROM_DATABASE=Chase Research PLC
@ -127,7 +127,7 @@
acpi:CHD*:
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
@@ -1543,6 +1569,9 @@
@@ -1540,6 +1566,9 @@
acpi:COD*:
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
@ -137,7 +137,7 @@
acpi:COI*:
ID_VENDOR_FROM_DATABASE=Codec Inc.
@@ -1952,7 +1981,7 @@
@@ -1949,7 +1978,7 @@
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
acpi:DJE*:
@ -146,7 +146,7 @@
acpi:DJP*:
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
@@ -2290,6 +2319,9 @@
@@ -2284,6 +2313,9 @@
acpi:EIN*:
ID_VENDOR_FROM_DATABASE=Elegant Invention
@ -156,7 +156,7 @@
acpi:EKA*:
ID_VENDOR_FROM_DATABASE=MagTek Inc.
@@ -2554,6 +2586,9 @@
@@ -2545,6 +2577,9 @@
acpi:FCG*:
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
@ -166,7 +166,7 @@
acpi:FCS*:
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
@@ -2930,7 +2965,7 @@
@@ -2918,7 +2953,7 @@
ID_VENDOR_FROM_DATABASE=General Standards Corporation
acpi:GSM*:
@ -175,7 +175,7 @@
acpi:GSN*:
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
@@ -3031,6 +3066,9 @@
@@ -3019,6 +3054,9 @@
acpi:HEC*:
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
@ -185,7 +185,7 @@
acpi:HEL*:
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
@@ -3163,6 +3201,9 @@
@@ -3151,6 +3189,9 @@
acpi:HSD*:
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
@ -195,7 +195,7 @@
acpi:HSM*:
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
@@ -3286,6 +3327,9 @@
@@ -3274,6 +3315,9 @@
acpi:ICI*:
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
@ -205,7 +205,7 @@
acpi:ICM*:
ID_VENDOR_FROM_DATABASE=Intracom SA
@@ -3382,6 +3426,9 @@
@@ -3370,6 +3414,9 @@
acpi:IKE*:
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
@ -215,7 +215,7 @@
acpi:IKS*:
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
@@ -3427,6 +3474,9 @@
@@ -3415,6 +3462,9 @@
acpi:IMT*:
ID_VENDOR_FROM_DATABASE=Inmax Technology Corporation
@ -225,7 +225,7 @@
acpi:INA*:
ID_VENDOR_FROM_DATABASE=Inventec Corporation
@@ -3940,6 +3990,9 @@
@@ -3925,6 +3975,9 @@
acpi:LAN*:
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
@ -235,7 +235,7 @@
acpi:LAS*:
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
@@ -3988,6 +4041,9 @@
@@ -3970,6 +4023,9 @@
acpi:LED*:
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
@ -245,7 +245,7 @@
acpi:LEG*:
ID_VENDOR_FROM_DATABASE=Legerity, Inc
@@ -4003,6 +4059,9 @@
@@ -3985,6 +4041,9 @@
acpi:LGC*:
ID_VENDOR_FROM_DATABASE=Logic Ltd
@ -255,7 +255,7 @@
acpi:LGI*:
ID_VENDOR_FROM_DATABASE=Logitech Inc
@@ -4057,6 +4116,9 @@
@@ -4039,6 +4098,9 @@
acpi:LND*:
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
@ -265,7 +265,7 @@
acpi:LNK*:
ID_VENDOR_FROM_DATABASE=Link Tech Inc
@@ -4091,7 +4153,7 @@
@@ -4073,7 +4135,7 @@
ID_VENDOR_FROM_DATABASE=Design Technology
acpi:LPL*:
@ -274,7 +274,7 @@
acpi:LSC*:
ID_VENDOR_FROM_DATABASE=LifeSize Communications
@@ -4267,6 +4329,9 @@
@@ -4249,6 +4311,9 @@
acpi:MCX*:
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
@ -284,7 +284,7 @@
acpi:MDA*:
ID_VENDOR_FROM_DATABASE=Media4 Inc
@@ -4507,6 +4572,9 @@
@@ -4489,6 +4554,9 @@
acpi:MOM*:
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
@ -294,7 +294,7 @@
acpi:MOS*:
ID_VENDOR_FROM_DATABASE=Moses Corporation
@@ -4735,6 +4803,9 @@
@@ -4717,6 +4785,9 @@
acpi:NAL*:
ID_VENDOR_FROM_DATABASE=Network Alchemy
@ -304,7 +304,7 @@
acpi:NAT*:
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
@@ -5248,6 +5319,9 @@
@@ -5227,6 +5298,9 @@
acpi:PCX*:
ID_VENDOR_FROM_DATABASE=PC Xperten
@ -314,7 +314,7 @@
acpi:PDM*:
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
@@ -5311,9 +5385,6 @@
@@ -5290,9 +5364,6 @@
acpi:PHE*:
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
@ -324,7 +324,7 @@
acpi:PHL*:
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
@@ -5401,9 +5472,6 @@
@@ -5380,9 +5451,6 @@
acpi:PNL*:
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
@ -334,7 +334,7 @@
acpi:PNR*:
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
@@ -5539,15 +5607,9 @@
@@ -5518,15 +5586,9 @@
acpi:PTS*:
ID_VENDOR_FROM_DATABASE=Plain Tree Systems Inc
@ -350,7 +350,7 @@
acpi:PVG*:
ID_VENDOR_FROM_DATABASE=Proview Global Co., Ltd
@@ -5863,9 +5925,6 @@
@@ -5842,9 +5904,6 @@
acpi:RTI*:
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
@ -360,7 +360,7 @@
acpi:RTL*:
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
@@ -6034,9 +6093,6 @@
@@ -6010,9 +6069,6 @@
acpi:SEE*:
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
@ -370,7 +370,7 @@
acpi:SEI*:
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
@@ -6499,6 +6555,9 @@
@@ -6475,6 +6531,9 @@
acpi:SVD*:
ID_VENDOR_FROM_DATABASE=SVD Computer
@ -380,7 +380,7 @@
acpi:SVI*:
ID_VENDOR_FROM_DATABASE=Sun Microsystems
@@ -6583,6 +6642,9 @@
@@ -6559,6 +6618,9 @@
acpi:SZM*:
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
@ -390,7 +390,7 @@
acpi:TAA*:
ID_VENDOR_FROM_DATABASE=Tandberg
@@ -6673,6 +6735,9 @@
@@ -6649,6 +6711,9 @@
acpi:TDG*:
ID_VENDOR_FROM_DATABASE=Six15 Technologies
@ -400,7 +400,7 @@
acpi:TDM*:
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
@@ -6715,6 +6780,9 @@
@@ -6691,6 +6756,9 @@
acpi:TEV*:
ID_VENDOR_FROM_DATABASE=Televés, S.A.
@ -410,7 +410,7 @@
acpi:TEZ*:
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
@@ -6838,9 +6906,6 @@
@@ -6814,9 +6882,6 @@
acpi:TNC*:
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
@ -420,7 +420,7 @@
acpi:TNM*:
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
@@ -7147,14 +7212,14 @@
@@ -7123,14 +7188,14 @@
acpi:UNC*:
ID_VENDOR_FROM_DATABASE=Unisys Corporation
@ -441,7 +441,7 @@
acpi:UNI*:
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
@@ -7189,6 +7254,9 @@
@@ -7165,6 +7230,9 @@
acpi:USA*:
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
@ -451,7 +451,7 @@
acpi:USD*:
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
@@ -7438,9 +7506,6 @@
@@ -7414,9 +7482,6 @@
acpi:WAL*:
ID_VENDOR_FROM_DATABASE=Wave Access
@ -461,7 +461,7 @@
acpi:WAV*:
ID_VENDOR_FROM_DATABASE=Wavephore
@@ -7565,7 +7630,7 @@
@@ -7541,7 +7606,7 @@
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
acpi:WYS*:
@ -470,7 +470,7 @@
acpi:WYT*:
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
@@ -7579,9 +7644,6 @@
@@ -7555,9 +7620,6 @@
acpi:XDM*:
ID_VENDOR_FROM_DATABASE=XDM Ltd.
@ -480,7 +480,7 @@
acpi:XES*:
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
@@ -7612,9 +7674,6 @@
@@ -7588,9 +7650,6 @@
acpi:XNT*:
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
@ -490,7 +490,7 @@
acpi:XQU*:
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
@@ -7681,6 +7740,9 @@
@@ -7657,6 +7716,9 @@
acpi:ZBX*:
ID_VENDOR_FROM_DATABASE=Zebax Technologies

View File

@ -107,7 +107,6 @@
<tr class="odd"><td>Pensando Systems, Inc.</td><td>PNSO</td><td>03/24/2021</td> </tr>
<tr class="even"><td>Dynabook Inc.</td><td>DNBK</td><td>06/01/2021</td> </tr>
<tr class="odd"><td>Dioo Microcircuits Co., Ltd. Jiangsu</td><td>DIOO</td><td>06/04/2021</td> </tr>
<tr class="even"><td>Purism SPC</td><td>PURI</td><td>06/10/2021</td> </tr>
</tbody>
</table>
</body>

View File

@ -36305,24 +36305,6 @@ E0B9E5 (base 16) Technicolor Delivery Technologies Belgium NV
Torino 10121
IT
8C-4B-14 (hex) Espressif Inc.
8C4B14 (base 16) Espressif Inc.
Room 204, Building 2, 690 Bibo Rd, Pudong New Area
Shanghai Shanghai 201203
CN
D4-E8-53 (hex) Hangzhou Hikvision Digital Technology Co.,Ltd.
D4E853 (base 16) Hangzhou Hikvision Digital Technology Co.,Ltd.
No.555 Qianmo Road
Hangzhou Zhejiang 310052
CN
18-E2-15 (hex) Nokia
18E215 (base 16) Nokia
600 March Road
Kanata Ontario K2K 2E6
CA
9C-FF-C2 (hex) AVI Systems GmbH
9CFFC2 (base 16) AVI Systems GmbH
Dr. Franz Wilhelmstraße 2A
@ -72179,48 +72161,12 @@ E0A258 (base 16) Wanbang Digital Energy Co.,Ltd
Gwangju Gwangsan-gu 506-731
KR
74-5C-FA (hex) Shenzhen Shunrui Gaojie Technology Co., Ltd.
745CFA (base 16) Shenzhen Shunrui Gaojie Technology Co., Ltd.
502,Building A,No.18,Gongye 2nd Road,Dakan Industrial Zone,Dakan community,Xili street,Nanshan District
Shenzhen Guangdong 518055
CN
94-A4-08 (hex) Shenzhen Trolink Technology CO, LTD
94A408 (base 16) Shenzhen Trolink Technology CO, LTD
201 B building 4 shijie, Chashu industry 505 block, Baoan airport Sanwei community, Hangcheng street Baoan area.
Shenzhen GuangDong 518000
CN
D0-F8-65 (hex) ITEL MOBILE LIMITED
D0F865 (base 16) ITEL MOBILE LIMITED
RM B3 & B4 BLOCK B, KO FAI INDUSTRIAL BUILDING NO.7 KO FAI ROAD, YAU TONG, KLN, H.K
Hong Kong KOWLOON 999077
HK
38-5C-76 (hex) PLANTRONICS, INC.
385C76 (base 16) PLANTRONICS, INC.
345 ENCINAL STREET
SANTA CRUZ CA 95060
US
7C-C1-77 (hex) INGRAM MICRO SERVICES
7CC177 (base 16) INGRAM MICRO SERVICES
100 CHEMIN DE BAILLOT
MONTAUBAN 82000
FR
78-76-D9 (hex) EXARA Group
7876D9 (base 16) EXARA Group
Andropova pr. 18 1
Moscow 115432
RU
60-8F-A4 (hex) Nokia Solutions and Networks GmbH & Co. KG
608FA4 (base 16) Nokia Solutions and Networks GmbH & Co. KG
Werinherstrasse 91
München Bavaria D-81541
DE
84-80-94 (hex) Meter, Inc.
848094 (base 16) Meter, Inc.
148 Townsend St
@ -74459,6 +74405,12 @@ D07FA0 (base 16) Samsung Electronics Co.,Ltd
WEST CHESTER PA 19380
US
78-52-4A (hex) Ensenso GmbH
78524A (base 16) Ensenso GmbH
Gundelfingerstr. 2
Freiburg 79108
DE
E4-FC-82 (hex) Juniper Networks
E4FC82 (base 16) Juniper Networks
1133 Innovation Way
@ -108341,42 +108293,6 @@ EC937D (base 16) Technicolor CH USA Inc.
Edegem - Belgium B-2650
BE
C4-6E-33 (hex) Zhong Ge Smart Technology Co., Ltd.
C46E33 (base 16) Zhong Ge Smart Technology Co., Ltd.
Zhong Ge Smart Technology Co., Ltd
Shanghai 201199
CN
00-CE-30 (hex) Express LUCK Industrial Ltd.
00CE30 (base 16) Express LUCK Industrial Ltd.
No. 88, Baotongnan Road, Xikeng, Yuanshan Street, Longgang District
Shenzhen Guangdong 518100
CN
74-32-C2 (hex) KYOLIS
7432C2 (base 16) KYOLIS
2 RUE DE LA RENAISSANCE
ANTONY 92160
FR
5C-83-82 (hex) Nokia
5C8382 (base 16) Nokia
600 March Road
Kanata Ontario K2K 2E6
CA
28-36-13 (hex) IEEE Registration Authority
283613 (base 16) IEEE Registration Authority
445 Hoes Lane
Piscataway NJ 08554
US
78-52-4A (hex) Optonic GmbH
78524A (base 16) Optonic GmbH
Zollhallenstr. 11
Freiburg 79106
DE
F8-D0-27 (hex) Seiko Epson Corporation
F8D027 (base 16) Seiko Epson Corporation
2070 Kotobuki Koaka
@ -144398,6 +144314,12 @@ A4B1E9 (base 16) Technicolor Delivery Technologies Belgium NV
Edegem - Belgium B-2650
BE
0C-E5-A3 (hex) SharkNinja
0CE5A3 (base 16) SharkNinja
85 Cude Ln
Madison TN 37115
US
30-56-96 (hex) Infinix mobility limited
305696 (base 16) Infinix mobility limited
RMS 05-15, 13A/F SOUTH TOWER WORLD FINANCE CTR HARBOUR CITY 17 CANTON RD TST KLN HONG KONG
@ -144410,39 +144332,6 @@ A4B1E9 (base 16) Technicolor Delivery Technologies Belgium NV
Chongqing China 401120
CN
B0-E9-FE (hex) Woan Technology (Shenzhen) Co., Ltd.
B0E9FE (base 16) Woan Technology (Shenzhen) Co., Ltd.
1-2F, Building B4, Yintian Industrial Zone, Yantian Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong, P.R.China
Shenzhen Guangdong 518102
CN
00-BD-3E (hex) Vizio, Inc
00BD3E (base 16) Vizio, Inc
39 Tesla
Irvine CA 92618
US
C8-96-65 (hex) Microsoft Corporation
C89665 (base 16) Microsoft Corporation
One Microsoft Way
REDMOND WA 98052
US
0C-E5-A3 (hex) SharkNinja
0CE5A3 (base 16) SharkNinja
85 Cude Ln
Madison TN 37115
US
6C-91-06 (hex) Private
6C9106 (base 16) Private
40-91-51 (hex) Espressif Inc.
409151 (base 16) Espressif Inc.
Room 204, Building 2, 690 Bibo Rd, Pudong New Area
Shanghai Shanghai 201203
CN
7C-8A-E1 (hex) COMPAL INFORMATION (KUNSHAN) CO., LTD.
7C8AE1 (base 16) COMPAL INFORMATION (KUNSHAN) CO., LTD.
NO. 25, THE 3RD Street KUNSHAN EXPORT PROCESSING ZONE
@ -175595,6 +175484,12 @@ EC6C9F (base 16) Chengdu Volans Technology CO.,LTD
UNITED KINGDOM
GB
08-00-42 (hex) JAPAN MACNICS CORP.
080042 (base 16) JAPAN MACNICS CORP.
JP
08-00-66 (hex) AGFA CORPORATION
080066 (base 16) AGFA CORPORATION
200 BALLARDVALE STREET
@ -180356,44 +180251,8 @@ A031DB (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Shinagawa-ku 141-0032
JP
08-00-42 (hex) MACNICA, Inc.
080042 (base 16) MACNICA, Inc.
1-6-3 Shin-Yokohama
Kohoku-ku Yokohama 222-8561
JP
54-6F-71 (hex) uAvionix Corporation
546F71 (base 16) uAvionix Corporation
300 Pine Needle Lane
Bigfork MT 59911
US
54-EF-33 (hex) SHENZHEN BILIAN ELECTRONIC CO.LTD
54EF33 (base 16) SHENZHEN BILIAN ELECTRONIC CO.LTD
NO.268? Fuqian Rd, Jutang community, Guanlan Town, Longhua New district
shenzhen guangdong 518000
CN
14-19-73 (hex) Beijing Yunyi Times Technology Co.,Ltd
141973 (base 16) Beijing Yunyi Times Technology Co.,Ltd
Room 4046, Building 1, Yard 10, Beiqijia Hongfu, Changping District
Beijing 102209
CN
5C-75-C6 (hex) China Mobile Group Device Co.,Ltd.
5C75C6 (base 16) China Mobile Group Device Co.,Ltd.
32 Xuanwumen West Street,Xicheng District
Beijing 100053
CN
44-48-B9 (hex) MitraStar Technology Corp.
4448B9 (base 16) MitraStar Technology Corp.
No. 6, Innovation Road II,
Hsinchu 300
TW
A4-E1-1A (hex) Juniper Networks
A4E11A (base 16) Juniper Networks
1133 Innovation Way
Sunnyvale CA 94089
US

View File

@ -1580,6 +1580,12 @@ E00000-EFFFFF (base 16) Domotz Ltd
Gilching 82205
DE
04-71-4B (hex) uAvionix Corporation
100000-1FFFFF (base 16) uAvionix Corporation
380 Portage Ave.
Palo Alto CA 94306
US
04-71-4B (hex) Energport Inc
800000-8FFFFF (base 16) Energport Inc
48660 Kato Road
@ -4424,18 +4430,18 @@ C8-F5-D6 (hex) EVOTOR LLC
Moscow 119021
RU
C0-FB-F9 (hex) IVT corporation
600000-6FFFFF (base 16) IVT corporation
5/F, Zhongguancun Fazhan Building, No 12, Shangdi Xinxi Road, Haidian District, Beijing, 100085, P.R. CHINA
Beijing 100085
CN
C0-FB-F9 (hex) Dongguan Chuan OptoElectronics Limited
200000-2FFFFF (base 16) Dongguan Chuan OptoElectronics Limited
No.43 Songshui Road,Songmushan Village, Dalang Town
Dongguan Guangdong 523795
CN
C0-FB-F9 (hex) IVT corporation
600000-6FFFFF (base 16) IVT corporation
5/F, Zhongguancun Fazhan Building, No 12, Shangdi Xinxi Road, Haidian District, Beijing, 100085, P.R. CHINA
Beijing 100085
CN
18-74-E2 (hex) HANGZHOU ZHOUJU ELECTRONIC TECHNOLOGICAL CO.,LTD
500000-5FFFFF (base 16) HANGZHOU ZHOUJU ELECTRONIC TECHNOLOGICAL CO.,LTD
Floor 6,A Building, Xianxing Road NO.32,Xianlin Town,Yuhang District
@ -4448,12 +4454,6 @@ B00000-BFFFFF (base 16) Shenzhen Jooan Technology Co., Ltd
Shenzhen Guangdong 518000
CN
18-74-E2 (hex) Beijing Jrunion Technology Co., Ltd.
600000-6FFFFF (base 16) Beijing Jrunion Technology Co., Ltd.
Room 01, 2nd Floor, Building 8, Yuquanhuigu, No. 3, Minzhuang Road, Haidian District
Beijing Beijing 100195
CN
18-74-E2 (hex) SHENZHEN AORO COMMUNICATION EQUIPMENT CO., LTD
900000-9FFFFF (base 16) SHENZHEN AORO COMMUNICATION EQUIPMENT CO., LTD
ROOM 302, 3RD FLOOR BUILDING A9, NO.6 YUANCHUANGYUAN,FUHUA ROAD, JUTANG COMMUNITY, FUCHENG STREET, LONGHUA DISTRICT
@ -4466,6 +4466,12 @@ B00000-BFFFFF (base 16) Shenzhen Jooan Technology Co., Ltd
Shenzhen Guangdong?China 518040
CN
18-74-E2 (hex) Beijing Jrunion Technology Co., Ltd.
600000-6FFFFF (base 16) Beijing Jrunion Technology Co., Ltd.
Room 01, 2nd Floor, Building 8, Yuquanhuigu, No. 3, Minzhuang Road, Haidian District
Beijing Beijing 100195
CN
FC-CD-2F (hex) QCTEK CO.,LTD.
500000-5FFFFF (base 16) QCTEK CO.,LTD.
6F-1., No.496, Bannan Rd., Zhonghe Dist.,
@ -4484,6 +4490,12 @@ E8-78-29 (hex) JVISMall CO.,LTD
Seoul 04058
KR
78-13-05 (hex) Shanghai Siminics Optoelectronic Technology Co., Ltd
D00000-DFFFFF (base 16) Shanghai Siminics Optoelectronic Technology Co., Ltd
Room 9, Building 15, Huatai Center Jinyun Rd
Shanghai 201803
CN
E8-78-29 (hex) Annapurna labs
400000-4FFFFF (base 16) Annapurna labs
Matam Scientific Industries Center, Building 8.2
@ -4502,11 +4514,11 @@ C00000-CFFFFF (base 16) Brigates Microelectronics Co., Ltd.
Kunshan Jiangsu 215300
CN
78-13-05 (hex) Shanghai Siminics Optoelectronic Technology Co., Ltd
D00000-DFFFFF (base 16) Shanghai Siminics Optoelectronic Technology Co., Ltd
Room 9, Building 15, Huatai Center Jinyun Rd
Shanghai 201803
CN
98-6D-35 (hex) Advanced Diagnostics LTD
900000-9FFFFF (base 16) Advanced Diagnostics LTD
Diagnostics House, Eastboro Fields, Hemdale
Nuneaton Warwickshire CV116GL
GB
A8-5B-36 (hex) Shenzhen Dandelion Intelligent Cloud Technology Development Co., LTD
300000-3FFFFF (base 16) Shenzhen Dandelion Intelligent Cloud Technology Development Co., LTD
@ -4514,34 +4526,16 @@ A8-5B-36 (hex) Shenzhen Dandelion Intelligent Cloud Technology Development Co
Shenzhen Guangdong 518100
CN
98-6D-35 (hex) Advanced Diagnostics LTD
900000-9FFFFF (base 16) Advanced Diagnostics LTD
Diagnostics House, Eastboro Fields, Hemdale
Nuneaton Warwickshire CV116GL
GB
78-13-05 (hex) microtec Sicherheitstechnik GmbH
300000-3FFFFF (base 16) microtec Sicherheitstechnik GmbH
Auf der Langwies 20
Hünstetten 65510
DE
A8-5B-36 (hex) ATER Technologies Co Ltd
C00000-CFFFFF (base 16) ATER Technologies Co Ltd
Floor 5,Building 1,HongYe Industry Park,Baoan district
Shenzhen Guangdong 518100
CN
A8-5B-36 (hex) Loomanet Inc.
200000-2FFFFF (base 16) Loomanet Inc.
900 Lafayette St. Suite 704
Santa Clara CA 95050
US
F0-2A-2B (hex) Comexio GmbH
C00000-CFFFFF (base 16) Comexio GmbH
Eisenberger Straße 56a
Kerzenheim 67304
78-13-05 (hex) microtec Sicherheitstechnik GmbH
300000-3FFFFF (base 16) microtec Sicherheitstechnik GmbH
Auf der Langwies 20
Hünstetten 65510
DE
A8-5B-36 (hex) JUGANU LTD
@ -4556,23 +4550,17 @@ F0-2A-2B (hex) Frigotel SRL
San Donà di Piave 30027
IT
44-A9-2C (hex) ZHEJIANG HISING TECHNOLOGY CO.,LTD
000000-0FFFFF (base 16) ZHEJIANG HISING TECHNOLOGY CO.,LTD
Room 201 and 202,Building 5,328 Pingjiang Road,Yuecheng District,Shaoxing
Shaoxing Zhejiang 312000
CN
A8-5B-36 (hex) Loomanet Inc.
200000-2FFFFF (base 16) Loomanet Inc.
900 Lafayette St. Suite 704
Santa Clara CA 95050
US
44-A9-2C (hex) Anhui Zhongxin Electronic Technology Co., Ltd.
200000-2FFFFF (base 16) Anhui Zhongxin Electronic Technology Co., Ltd.
South Head, No.11, Building 2, Huayuan Commercial Building,6km, Changqing Township, Yuhui District, Bengbu City,Anhui Province
Bengbu Anhui 233010
CN
44-A9-2C (hex) Ningbo joyson new energy automotive technology Co.,Ltd
600000-6FFFFF (base 16) Ningbo joyson new energy automotive technology Co.,Ltd
No.1266 Juxian Road, Hi-Tech Park
Ningbo Zhejiang 315000
CN
F0-2A-2B (hex) Comexio GmbH
C00000-CFFFFF (base 16) Comexio GmbH
Eisenberger Straße 56a
Kerzenheim 67304
DE
44-A9-2C (hex) Amethystum Storage Technology Co., Ltd
B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
@ -4586,6 +4574,24 @@ B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
Rheine 48429
DE
44-A9-2C (hex) Anhui Zhongxin Electronic Technology Co., Ltd.
200000-2FFFFF (base 16) Anhui Zhongxin Electronic Technology Co., Ltd.
South Head, No.11, Building 2, Huayuan Commercial Building,6km, Changqing Township, Yuhui District, Bengbu City,Anhui Province
Bengbu Anhui 233010
CN
44-A9-2C (hex) ZHEJIANG HISING TECHNOLOGY CO.,LTD
000000-0FFFFF (base 16) ZHEJIANG HISING TECHNOLOGY CO.,LTD
Room 201 and 202,Building 5,328 Pingjiang Road,Yuecheng District,Shaoxing
Shaoxing Zhejiang 312000
CN
44-A9-2C (hex) Ningbo joyson new energy automotive technology Co.,Ltd
600000-6FFFFF (base 16) Ningbo joyson new energy automotive technology Co.,Ltd
No.1266 Juxian Road, Hi-Tech Park
Ningbo Zhejiang 315000
CN
58-48-49 (hex) X-speed lnformation Technology Co.,Ltd
200000-2FFFFF (base 16) X-speed lnformation Technology Co.,Ltd
th Floor,Building 2,Xinyu Electronic Industrial Park,No.69, Zhaishan,Houshan Village, High-tech Zone,Fuzhou,Fujian ,China
@ -4598,18 +4604,6 @@ B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
Walnut CA 91789
US
64-33-B5 (hex) Geksacon
C00000-CFFFFF (base 16) Geksacon
revolutionary street
Ufa Republic of Bashkortostan 450005
RU
04-71-4B (hex) uAvionix Corporation
100000-1FFFFF (base 16) uAvionix Corporation
300 Pine Needle Lane
Bigfork MT 59911
US
4C-4B-F9 (hex) Shenzhen dingsheng technology co., LTD
400000-4FFFFF (base 16) Shenzhen dingsheng technology co., LTD
Floor 3, building 5, kaijeda industrial zone, no.97, huaxing road, langkou community, dalang street, longhua district
@ -8720,6 +8714,12 @@ D0-9F-D9 (hex) Raymax Technology Ltd.
Hangzhou China 310012
CN
D0-9F-D9 (hex) Queclink Wireless Solutions Co., Ltd.
800000-8FFFFF (base 16) Queclink Wireless Solutions Co., Ltd.
No.30, Lane 500, Xinlong Road, Minhang District
Shanghai 201101
CN
D0-9F-D9 (hex) Fujian Newland Auto-ID Tech. Co,.Ltd.
C00000-CFFFFF (base 16) Fujian Newland Auto-ID Tech. Co,.Ltd.
Newland Science & Technology Park, No.1 Rujiang West Rd,Mawei,Fuzhou, P.R.China
@ -8732,12 +8732,6 @@ D0-9F-D9 (hex) Lemei Intelligent IOT (Shenzhen) Co., Ltd
Shenzhen Guangdong 518000
CN
D0-9F-D9 (hex) Queclink Wireless Solutions Co., Ltd.
800000-8FFFFF (base 16) Queclink Wireless Solutions Co., Ltd.
No.30, Lane 500, Xinlong Road, Minhang District
Shanghai 201101
CN
18-74-E2 (hex) Kano Computing Limited
800000-8FFFFF (base 16) Kano Computing Limited
Unit 12.1 - 12.2, 11-29 Fashion Street
@ -8750,6 +8744,12 @@ D0-9F-D9 (hex) Queclink Wireless Solutions Co., Ltd.
Columbia MO 65201
US
A8-5B-36 (hex) Luoxian (Guandong) Technology Co., Ltd
400000-4FFFFF (base 16) Luoxian (Guandong) Technology Co., Ltd
4th floor,building 4,European Industrial Park,60 Longbao West Road,Zhangcha Town
FoShan Guandong 528051
CN
A8-5B-36 (hex) TAIDEN INDUSTRIAL CO.,LTD
A00000-AFFFFF (base 16) TAIDEN INDUSTRIAL CO.,LTD
6/F, Block B, Future Plaza, 6060 Qiaoxiang Rd, Nanshan District
@ -8762,12 +8762,6 @@ F0-2A-2B (hex) ZiGong Pengcheng Technology Co.,Ltd
ZiGong SiChuan 643221
CN
A8-5B-36 (hex) Luoxian (Guandong) Technology Co., Ltd
400000-4FFFFF (base 16) Luoxian (Guandong) Technology Co., Ltd
4th floor,building 4,European Industrial Park,60 Longbao West Road,Zhangcha Town
FoShan Guandong 528051
CN
A8-5B-36 (hex) Avista Edge
900000-9FFFFF (base 16) Avista Edge
12 N Sheridan St
@ -8792,29 +8786,17 @@ F0-2A-2B (hex) Tobi Tribe Inc.
Shenzhen 518126
CN
58-48-49 (hex) Shandong Aotai Electric Co., LTD.
700000-7FFFFF (base 16) Shandong Aotai Electric Co., LTD.
282 Bole Avenue, High-tech Development Zone Shandong P.R. China
Jinan Shandong 250101
CN
58-48-49 (hex) Daatrics LTD
B00000-BFFFFF (base 16) Daatrics LTD
4th Floor, 86-90 Paul Street
LONDON EC2A 4NE
GB
64-33-B5 (hex) Duomondi International Development Co., Ltd.
000000-0FFFFF (base 16) Duomondi International Development Co., Ltd.
Unit D 19/F Roxy Industry Center 59-66 Tai Lin Pai
Kwai Chung NT 999077
HK
64-33-B5 (hex) University of Texas at Austin
E00000-EFFFFF (base 16) University of Texas at Austin
1 University Station C3800
Austin TX 78713-7407
US
58-48-49 (hex) Shandong Aotai Electric Co., LTD.
700000-7FFFFF (base 16) Shandong Aotai Electric Co., LTD.
282 Bole Avenue, High-tech Development Zone Shandong P.R. China
Jinan Shandong 250101
CN
20-85-93 (hex) UNILUMIN GROUP CO.,LTD
300000-3FFFFF (base 16) UNILUMIN GROUP CO.,LTD
@ -13091,12 +13073,6 @@ C0-FB-F9 (hex) SHENZHEN HEQIANG ELECTRONICS LIMITED
SHENZHEN GUANGDONG 518129
CN
D0-9F-D9 (hex) elecgator bvba
100000-1FFFFF (base 16) elecgator bvba
Heerbaan, 308
Beringen Limburg 3582
BE
D0-9F-D9 (hex) Carbon Mobile GmbH
500000-5FFFFF (base 16) Carbon Mobile GmbH
Winterfeldtstr. 21
@ -13109,6 +13085,12 @@ D0-9F-D9 (hex) ENTTEC Pty Ltd.
ringwood vic 3134
AU
D0-9F-D9 (hex) elecgator bvba
100000-1FFFFF (base 16) elecgator bvba
Heerbaan, 308
Beringen Limburg 3582
BE
D0-9F-D9 (hex) Minibems Ltd
E00000-EFFFFF (base 16) Minibems Ltd
Oxford Point, 19 Oxford Road
@ -13145,17 +13127,11 @@ E8-78-29 (hex) AXING AG
Ramsen 8262
CH
78-13-05 (hex) Leonardo SpA - Montevarchi
A00000-AFFFFF (base 16) Leonardo SpA - Montevarchi
via DELLA LAMA, 13
Montevarchi AREZZO 52025
IT
78-13-05 (hex) InnoSenT
000000-0FFFFF (base 16) InnoSenT
Am Roedertor 30
Donnersdorf Bavaria 97499
DE
78-13-05 (hex) Jiangxi Winsky Intelligence Technology Co., Ltd
400000-4FFFFF (base 16) Jiangxi Winsky Intelligence Technology Co., Ltd
Zhihang road Wutong Ave. Hight tech area Jingdezhen City Jiangxi province PRC.
Jingdezhen Jiangxi 333000
CN
78-13-05 (hex) Global Media Streaming LLC
100000-1FFFFF (base 16) Global Media Streaming LLC
@ -13169,11 +13145,17 @@ A00000-AFFFFF (base 16) Leonardo SpA - Montevarchi
Pskov 180017
RU
78-13-05 (hex) Jiangxi Winsky Intelligence Technology Co., Ltd
400000-4FFFFF (base 16) Jiangxi Winsky Intelligence Technology Co., Ltd
Zhihang road Wutong Ave. Hight tech area Jingdezhen City Jiangxi province PRC.
Jingdezhen Jiangxi 333000
CN
78-13-05 (hex) Leonardo SpA - Montevarchi
A00000-AFFFFF (base 16) Leonardo SpA - Montevarchi
via DELLA LAMA, 13
Montevarchi AREZZO 52025
IT
78-13-05 (hex) InnoSenT
000000-0FFFFF (base 16) InnoSenT
Am Roedertor 30
Donnersdorf Bavaria 97499
DE
A8-5B-36 (hex) ShangHai SnowLake Technology Co.,LTD.
800000-8FFFFF (base 16) ShangHai SnowLake Technology Co.,LTD.
@ -13181,24 +13163,12 @@ A8-5B-36 (hex) ShangHai SnowLake Technology Co.,LTD.
SHANGHAI SHANGHAI 200050
CN
F0-2A-2B (hex) Navigil Ltd
A00000-AFFFFF (base 16) Navigil Ltd
Karaportti 5
Espoo Uusimaa 02610
FI
A8-5B-36 (hex) Lampyris Plant LLC
B00000-BFFFFF (base 16) Lampyris Plant LLC
st.Arbuzova, 12, office. 201
Novosibirsk 630117
RU
F0-2A-2B (hex) Agile Sports Technologies, dba Hudl
500000-5FFFFF (base 16) Agile Sports Technologies, dba Hudl
600 P St, Suite 400
Lincoln NE 68508
US
F0-2A-2B (hex) Shanghai Armour Technology Co., Ltd.
200000-2FFFFF (base 16) Shanghai Armour Technology Co., Ltd.
Room 411, building 10, 471 Guiping Road, Xuhui District
@ -13211,12 +13181,24 @@ B00000-BFFFFF (base 16) EL.MO. spa
Campodarsego Padua I35011
IT
F0-2A-2B (hex) Agile Sports Technologies, dba Hudl
500000-5FFFFF (base 16) Agile Sports Technologies, dba Hudl
600 P St, Suite 400
Lincoln NE 68508
US
F0-2A-2B (hex) Onclave Networks
400000-4FFFFF (base 16) Onclave Networks
7950 Jones Branch Drive #805
McLean VA 22102
US
F0-2A-2B (hex) Navigil Ltd
A00000-AFFFFF (base 16) Navigil Ltd
Karaportti 5
Espoo Uusimaa 02610
FI
F0-2A-2B (hex) Definitely Win Corp.,Ltd.
D00000-DFFFFF (base 16) Definitely Win Corp.,Ltd.
2F., No. 48, Da'an St., Xizhi Dist.,
@ -13253,12 +13235,6 @@ C00000-CFFFFF (base 16) Cubitech
Shenzhen 518000
CN
58-48-49 (hex) Hubei Shudi Communication Technology Co., Ltd
500000-5FFFFF (base 16) Hubei Shudi Communication Technology Co., Ltd
11 Lane 2, shuichan street, Huangmei County
Huanggang Hubei 435500
CN
44-A9-2C (hex) Annapurna labs
E00000-EFFFFF (base 16) Annapurna labs
Matam Scientific Industries Center, Building 8.2
@ -13271,18 +13247,18 @@ E00000-EFFFFF (base 16) Annapurna labs
Littleton CO 80127
US
58-48-49 (hex) Hubei Shudi Communication Technology Co., Ltd
500000-5FFFFF (base 16) Hubei Shudi Communication Technology Co., Ltd
11 Lane 2, shuichan street, Huangmei County
Huanggang Hubei 435500
CN
58-48-49 (hex) Viper Design LLC
300000-3FFFFF (base 16) Viper Design LLC
154 Cude Ln
Madison TN 37115
US
58-48-49 (hex) SKAARHOJ ApS
100000-1FFFFF (base 16) SKAARHOJ ApS
Rosenkaeret 11C
Soeborg 2860
DK
64-33-B5 (hex) Hometek Eletronics Co., Ltd
A00000-AFFFFF (base 16) Hometek Eletronics Co., Ltd
7F-2 No. 16,Lane 609, Section 5 Chung Hsin Rd. Sanchong District. New Taipei City Taiwan R.O.C.
@ -13301,11 +13277,11 @@ E00000-EFFFFF (base 16) Avadesign Technology Co. Ltd.
Beijing 100000
CN
64-33-B5 (hex) Huaqin Telecom Technology Co.,Ltd.
100000-1FFFFF (base 16) Huaqin Telecom Technology Co.,Ltd.
Building 1,No.399, Keyuan Road, Pudong, Shanghai China
Shanghai 200120
CN
58-48-49 (hex) SKAARHOJ ApS
100000-1FFFFF (base 16) SKAARHOJ ApS
Rosenkaeret 11C
Soeborg 2860
DK
64-33-B5 (hex) Wingtech Mobile Communications Co.,Ltd
300000-3FFFFF (base 16) Wingtech Mobile Communications Co.,Ltd
@ -13313,11 +13289,11 @@ E00000-EFFFFF (base 16) Avadesign Technology Co. Ltd.
Jiaxing Zhejiang 314001
CN
64-33-B5 (hex) IIYAMA CORPORATION
D00000-DFFFFF (base 16) IIYAMA CORPORATION
Wijkermeerstraat 8
Hoofddorp 2131HA
NL
64-33-B5 (hex) Huaqin Telecom Technology Co.,Ltd.
100000-1FFFFF (base 16) Huaqin Telecom Technology Co.,Ltd.
Building 1,No.399, Keyuan Road, Pudong, Shanghai China
Shanghai 200120
CN
4C-4B-F9 (hex) Shandong Linkotech Electronic Co., Ltd.
600000-6FFFFF (base 16) Shandong Linkotech Electronic Co., Ltd.
@ -17495,6 +17471,12 @@ D00000-DFFFFF (base 16) Origins Technology Limited
Beijing 100027
CN
C8-F5-D6 (hex) Shanghai Mo xiang Network Technology CO.,Ltd
900000-9FFFFF (base 16) Shanghai Mo xiang Network Technology CO.,Ltd
Room#418-421, ShaHeXiLi, 2-2 XiLi North Road, LiCheng Community, Xili Street, NanShan District
Shenzhen Guangdong 518071
CN
C8-F5-D6 (hex) United Barcode Systems
B00000-BFFFFF (base 16) United Barcode Systems
Av. Progres 56, Pol. Ind. els Garrofers
@ -17507,12 +17489,6 @@ C00000-CFFFFF (base 16) Eltako GmbH
Fellbach BW 70736
DE
C8-F5-D6 (hex) Shanghai Mo xiang Network Technology CO.,Ltd
900000-9FFFFF (base 16) Shanghai Mo xiang Network Technology CO.,Ltd
Room#418-421, ShaHeXiLi, 2-2 XiLi North Road, LiCheng Community, Xili Street, NanShan District
Shenzhen Guangdong 518071
CN
C0-FB-F9 (hex) SHENZHEN ELSKY TECHNOLOGY CO., LTD
C00000-CFFFFF (base 16) SHENZHEN ELSKY TECHNOLOGY CO., LTD
1F BUILDING 2# ASIA INDUSTIAL PARK BANTIAN STREET LONGGANG DISTRICT
@ -17525,6 +17501,12 @@ D00000-DFFFFF (base 16) Dropbeats Technology Co., Ltd.
Shanghai Shanghai 201203
CN
D0-9F-D9 (hex) Elevoc Technology Co., Ltd.
600000-6FFFFF (base 16) Elevoc Technology Co., Ltd.
5/F,Unit B,Block12,ShenZhenwan Science and Technology Ecological Garden,Nanshan Dist.
Shenzhen Guangdong 518000
CN
D0-9F-D9 (hex) Eurolan Ltd
A00000-AFFFFF (base 16) Eurolan Ltd
jk. Drujba 1, ul. 5028, do bl. 15
@ -17537,11 +17519,11 @@ E0-5A-9F (hex) Fujian Newland Auto-ID Tech. Co,.Ltd.
Fuzhou Fujian 350015
CN
D0-9F-D9 (hex) Elevoc Technology Co., Ltd.
600000-6FFFFF (base 16) Elevoc Technology Co., Ltd.
5/F,Unit B,Block12,ShenZhenwan Science and Technology Ecological Garden,Nanshan Dist.
Shenzhen Guangdong 518000
CN
18-74-E2 (hex) NextGen RF Design, Inc.
C00000-CFFFFF (base 16) NextGen RF Design, Inc.
2130 Howard Dr W
North Mankato MN 56003
US
18-74-E2 (hex) Sartorius Lab Instruments GmbH & Co. KG
100000-1FFFFF (base 16) Sartorius Lab Instruments GmbH & Co. KG
@ -17549,24 +17531,12 @@ D0-9F-D9 (hex) Elevoc Technology Co., Ltd.
Goettingen 37079
DE
18-74-E2 (hex) NextGen RF Design, Inc.
C00000-CFFFFF (base 16) NextGen RF Design, Inc.
2130 Howard Dr W
North Mankato MN 56003
US
18-74-E2 (hex) Linux Automation GmbH
A00000-AFFFFF (base 16) Linux Automation GmbH
Steuerwalder Str 21
Hildesheim 31137
DE
E8-78-29 (hex) METZ CONNECT GmbH
A00000-AFFFFF (base 16) METZ CONNECT GmbH
Im Tal 2
Blumberg 78176
DE
E8-78-29 (hex) Bernd Walter Computer Technology
D00000-DFFFFF (base 16) Bernd Walter Computer Technology
Fontanestr. 18
@ -17579,24 +17549,30 @@ D00000-DFFFFF (base 16) Samriddi Automations Pvt. Ltd.
Noida up 201307
IN
E8-78-29 (hex) METZ CONNECT GmbH
A00000-AFFFFF (base 16) METZ CONNECT GmbH
Im Tal 2
Blumberg 78176
DE
E8-78-29 (hex) Shenzhen Jointelli Technologies Co.,Ltd
100000-1FFFFF (base 16) Shenzhen Jointelli Technologies Co.,Ltd
Room A4-1203, Building A, Kexing Science Park, No. 15, Keyuan Road,Keyuan Community,Yuehai Street,Nanshan District
Shenzhen Guangdong 518000
CN
78-13-05 (hex) Shenzhen AV-Display Co.,Ltd
800000-8FFFFF (base 16) Shenzhen AV-Display Co.,Ltd
No.39,He Ao Jin Yuan Road, Yuanshan Subdistrict, Longgang District ,Shenzhen, China
SHENZHEN 518000
CN
E8-78-29 (hex) Solos Technology Limited
E00000-EFFFFF (base 16) Solos Technology Limited
Unit 211, 2/F., Photonics Centre, No 2 Science Park East Avenue, Shatin
Hong Kong Hong Kong 999077
HK
78-13-05 (hex) Shenzhen AV-Display Co.,Ltd
800000-8FFFFF (base 16) Shenzhen AV-Display Co.,Ltd
No.39,He Ao Jin Yuan Road, Yuanshan Subdistrict, Longgang District ,Shenzhen, China
SHENZHEN 518000
CN
78-13-05 (hex) Bithouse Oy
B00000-BFFFFF (base 16) Bithouse Oy
Hepolamminkatu 32
@ -17609,18 +17585,18 @@ B00000-BFFFFF (base 16) Bithouse Oy
Nanjing Jiangsu 211800
CN
A8-5B-36 (hex) DAP B.V.
600000-6FFFFF (base 16) DAP B.V.
Tussendiepen 4a
Drachten 9206 AD
NL
A8-5B-36 (hex) Bluesoo Tech (HongKong) Co.,Limited
000000-0FFFFF (base 16) Bluesoo Tech (HongKong) Co.,Limited
Room 05, 28 / F, good view business centre, 2-16 Garden Street, Mong Kok, Kowloon, Hongkong.
HongKong 999077
HK
A8-5B-36 (hex) DAP B.V.
600000-6FFFFF (base 16) DAP B.V.
Tussendiepen 4a
Drachten 9206 AD
NL
A8-5B-36 (hex) Louis Vuitton Malletier
700000-7FFFFF (base 16) Louis Vuitton Malletier
2 rue du Pont Neuf
@ -17687,12 +17663,6 @@ C00000-CFFFFF (base 16) Haag-Streit AG
Hong Kong 999077
CN
28-36-13 (hex) Shenzhen HQVT TECHNOLOGY Co.,LTD
200000-2FFFFF (base 16) Shenzhen HQVT TECHNOLOGY Co.,LTD
3/F,Building 8 ,Taihua Wutong Island,Xixiang,Bao'an District
China Guang Dong 518000
CN
20-85-93 (hex) Great Lite International
700000-7FFFFF (base 16) Great Lite International
11F., No.207-2, Sec. 3, Beixin Rd., Xindian Dist.,
@ -21992,6 +21962,12 @@ C8-F5-D6 (hex) MEIRYO TECHNICA CORPORATION
Owariasahi-city Aichi 488-0052
JP
C0-FB-F9 (hex) Minato Advanced Technologies inc
400000-4FFFFF (base 16) Minato Advanced Technologies inc
4105, Minami Yamata-cho, Tsuzuki-ku,
YOKOHAMA Kanagawa 224-0026
JP
C0-FB-F9 (hex) LongSung Technology (Shanghai) Co.,Ltd.
700000-7FFFFF (base 16) LongSung Technology (Shanghai) Co.,Ltd.
Room 606, Block B, Bldg. 1, No. 3000 Longdong Avenue., Zhangjiang Hi-Tech Park, Pudong District
@ -22010,12 +21986,6 @@ C8-F5-D6 (hex) BBPOS International Limited
Hong Kong China 00000
HK
C0-FB-F9 (hex) Minato Advanced Technologies inc
400000-4FFFFF (base 16) Minato Advanced Technologies inc
4105, Minami Yamata-cho, Tsuzuki-ku,
YOKOHAMA Kanagawa 224-0026
JP
88-C9-B3 (hex) Fortive Setra-ICG(Tianjin)Co.,Ltd
300000-3FFFFF (base 16) Fortive Setra-ICG(Tianjin)Co.,Ltd
28 weiwu Road,Micro-electronics Industrial Park,Xiqing District Tianjin,P,R,China
@ -22034,6 +22004,12 @@ C0-FB-F9 (hex) zxsolution
shenzhen 518000
CN
D0-9F-D9 (hex) Westar Display Technologies
200000-2FFFFF (base 16) Westar Display Technologies
4 Research Park Dr
St Charles MO 63304
US
18-74-E2 (hex) Sansec Technology Co.,Ltd
700000-7FFFFF (base 16) Sansec Technology Co.,Ltd
Bejing Chaoyang District Guangshun North Street Hostpital No.16 No.2 building 14 room 1406
@ -22046,12 +22022,6 @@ B00000-BFFFFF (base 16) Cablewireless Laboratory Co., Ltd
Beijing 100029
CN
D0-9F-D9 (hex) Westar Display Technologies
200000-2FFFFF (base 16) Westar Display Technologies
4 Research Park Dr
St Charles MO 63304
US
18-74-E2 (hex) CT Company
300000-3FFFFF (base 16) CT Company
Godovikova , 9, Moscow
@ -22070,6 +22040,9 @@ E8-78-29 (hex) Ryu Tech. LTD
Taipei Taiwan,R.O.C 235
TW
E8-78-29 (hex) Private
B00000-BFFFFF (base 16) Private
E8-78-29 (hex) Galcon
200000-2FFFFF (base 16) Galcon
Kfar Blum israel
@ -22091,9 +22064,6 @@ C00000-CFFFFF (base 16) FairPhone B.V.
Amsterdam 1013 CP
NL
E8-78-29 (hex) Private
B00000-BFFFFF (base 16) Private
B4-4B-D6 (hex) Shenzhen Cudy Technology Co., Ltd.
200000-2FFFFF (base 16) Shenzhen Cudy Technology Co., Ltd.
Room A606, Gaoxinqi Industrial Park, Baoan 67 Dist
@ -22130,11 +22100,11 @@ F0-2A-2B (hex) Tenways Engineering Service Ltd
Edgware Middlesex HA8 8XA
GB
44-A9-2C (hex) uimcom
100000-1FFFFF (base 16) uimcom
Yingying building, 99 Tuanjie Road, Pukou District, Nanjing
nanjing 211800
CN
44-A9-2C (hex) NetX Networks a.s.
400000-4FFFFF (base 16) NetX Networks a.s.
Palackeho trida 811/112
Brno Czech Republic 62100
CZ
F0-2A-2B (hex) Shenzhen CUCO Technology Co., Ltd
E00000-EFFFFF (base 16) Shenzhen CUCO Technology Co., Ltd
@ -22142,11 +22112,11 @@ E00000-EFFFFF (base 16) Shenzhen CUCO Technology Co., Ltd
Shenzhen Guangdong 418000
CN
44-A9-2C (hex) NetX Networks a.s.
400000-4FFFFF (base 16) NetX Networks a.s.
Palackeho trida 811/112
Brno Czech Republic 62100
CZ
44-A9-2C (hex) uimcom
100000-1FFFFF (base 16) uimcom
Yingying building, 99 Tuanjie Road, Pukou District, Nanjing
nanjing 211800
CN
44-A9-2C (hex) Efficient Building Automation Corp.
700000-7FFFFF (base 16) Efficient Building Automation Corp.
@ -22166,32 +22136,14 @@ A00000-AFFFFF (base 16) Waoo
Auckland 1150
NZ
64-33-B5 (hex) LACO Technologies
800000-8FFFFF (base 16) LACO Technologies
3085 W Directors Row
Salt Lake City UT 84104
US
64-33-B5 (hex) electroCore Inc.
B00000-BFFFFF (base 16) electroCore Inc.
205 Forge Way
Rockaway NJ 07866
US
64-33-B5 (hex) Eagle Eye Networks, Inc
400000-4FFFFF (base 16) Eagle Eye Networks, Inc
4611 Bee Cave Rd Suite 200
austin TX 78746
64-33-B5 (hex) LACO Technologies
800000-8FFFFF (base 16) LACO Technologies
3085 W Directors Row
Salt Lake City UT 84104
US
64-33-B5 (hex) MICROIT SRL
600000-6FFFFF (base 16) MICROIT SRL
Via Galileo Galilei 1
Medolla MODENA 41036
IT
64-33-B5 (hex) Annapurna labs
900000-9FFFFF (base 16) Annapurna labs
Matam Scientific Industries Center, Building 8.2
Mail box 15123 Haifa 3508409
IL

View File

@ -5255,24 +5255,6 @@ CE3000-CE3FFF (base 16) Pixel Design & Manufacturing Sdn. Bhd.
Tehran 0512258788
IR
8C-1F-64 (hex) Esys Srl
C1F000-C1FFFF (base 16) Esys Srl
via Spagna 240/242
Rende Calabria 87036
IT
8C-1F-64 (hex) Sicon srl
193000-193FFF (base 16) Sicon srl
Via Sila 1/3
Isola Vicentina Vicenza 36033
IT
8C-1F-64 (hex) YULISTA INTEGRATED SOLUTION
128000-128FFF (base 16) YULISTA INTEGRATED SOLUTION
7600 ADVANCED GATEWAY
HUNTSVILLE AL 35808
US
70-B3-D5 (hex) EVCO SPA
A80000-A80FFF (base 16) EVCO SPA
VIA FELTRE N. 81
@ -10493,24 +10475,6 @@ AA4000-AA4FFF (base 16) HEINEN ELEKTRONIK GmbH
Johannesburg Guateng 2170
ZA
8C-1F-64 (hex) SVMS
3B5000-3B5FFF (base 16) SVMS
ZA de Berroueta
Urrugne 64122
FR
8C-1F-64 (hex) JUSTMORPH PTE. LTD.
AB5000-AB5FFF (base 16) JUSTMORPH PTE. LTD.
29A Mosque Street
Singapore 059507
SG
8C-1F-64 (hex) INFOSTECH Co., Ltd.
F86000-F86FFF (base 16) INFOSTECH Co., Ltd.
26, Namsan-ro 39beon-gil, Uichang-gu
Changwon-si Gyeongsangnam-do 51368
KR
70-B3-D5 (hex) System West dba ICS Electronics
E06000-E06FFF (base 16) System West dba ICS Electronics
7034 Commerce Circle Suite A
@ -15674,12 +15638,6 @@ DC9000-DC9FFF (base 16) Peter Huber Kaeltemaschinenbau AG
Duangzhou 511400
CN
8C-1F-64 (hex) Xacti Corporation
90E000-90EFFF (base 16) Xacti Corporation
Tower East 28F,Umeda Sky Building,1-1-88,Oyodonaka,Kita-ku
Osaka Osaka 531-6048
JP
70-B3-D5 (hex) YUYAMA MFG Co.,Ltd
BBB000-BBBFFF (base 16) YUYAMA MFG Co.,Ltd
3-3-1
@ -21026,36 +20984,6 @@ AE1000-AE1FFF (base 16) YUYAMA MFG Co.,Ltd
Broomfield CO 80021
US
8C-1F-64 (hex) Cirrus Systems, Inc.
8C2000-8C2FFF (base 16) Cirrus Systems, Inc.
200 West Road
Portsmouth NH 03801
US
8C-1F-64 (hex) Florida R&D Associates LLC
2F5000-2F5FFF (base 16) Florida R&D Associates LLC
76 Spring Vista Drive
DeBary FL 32713
US
8C-1F-64 (hex) Sonora Network Solutions
2E8000-2E8FFF (base 16) Sonora Network Solutions
8 The Green Suite A
Dover DE 19901
US
8C-1F-64 (hex) Global Organ Group B.V.
EE8000-EE8FFF (base 16) Global Organ Group B.V.
Keplerlaan 2
EDE The Netherlands 6716BS
NL
8C-1F-64 (hex) UBISCALE
73F000-73FFFF (base 16) UBISCALE
1 Avenue de Bellefontaine
Cesson-Sevigne 35510
FR
70-B3-D5 (hex) DISMUNTEL SAL
92C000-92CFFF (base 16) DISMUNTEL SAL
Pol ind cotes
@ -26192,26 +26120,8 @@ A4E000-A4EFFF (base 16) Syscom Instruments SA
Sainte-Croix 1450
CH
8C-1F-64 (hex) Caproc Oy
D4A000-D4AFFF (base 16) Caproc Oy
Vintilänkatu 20
Lahti 15680
FI
8C-1F-64 (hex) KIB Energo LLC
D3C000-D3CFFF (base 16) KIB Energo LLC
Moskovskoe ave. 9
Saint-Petersburg 196158
RU
8C-1F-64 (hex) Nonet Inc
2A5000-2A5FFF (base 16) Nonet Inc
Daan Dist, Xinhai Road Section 1, No. 79, 5F
Taipei Taipei 10647
TW
8C-1F-64 (hex) WBNet
1E3000-1E3FFF (base 16) WBNet
Drielse Wetering 17
Kerkdriel Gelderland 5331RK
NL

View File

@ -2477,13 +2477,6 @@
<tr class="odd"><td>Shenzhen KTC Technology Group</td><td>SKG</td><td>06/01/2021</td> </tr>
<tr class="even"><td>Truly Semiconductors Ltd.</td><td>TLY</td><td>06/01/2021</td> </tr>
<tr class="odd"><td>Hitevision Group</td><td>HHT</td><td>03/08/2021</td> </tr>
<tr class="even"><td>DLOGIC Ltd.</td><td>DLM</td><td>06/10/2021</td> </tr>
<tr class="odd"><td>Fun Technology Innovation INC.</td><td>FUL</td><td>06/10/2021</td> </tr>
<tr class="even"><td>Guangxi Century Innovation Display Electronics Co., Ltd</td><td>IOC</td><td>06/10/2021</td> </tr>
<tr class="odd"><td>ICC Intelligent Platforms GmbH</td><td>EMR</td><td>06/10/2021</td> </tr>
<tr class="even"><td>New H3C Technology Co., Ltd.</td><td>NHC</td><td>06/10/2021</td> </tr>
<tr class="odd"><td>Seco S.p.A.</td><td>SCG</td><td>06/10/2021</td> </tr>
<tr class="even"><td>Silent Power Electronics GmbH</td><td>LCP</td><td>06/10/2021</td> </tr>
</tbody>
</table>
</body>

View File

@ -2527,9 +2527,9 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
readonly a(iqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
readonly a(iqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
@ -4331,9 +4331,9 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
readonly a(iqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
readonly a(iqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
@ -6054,9 +6054,9 @@ node /org/freedesktop/systemd1/unit/home_2emount {
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
readonly a(iqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
readonly a(iqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
@ -7744,9 +7744,9 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
readonly a(iqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
readonly a(iqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
@ -9259,9 +9259,9 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
readonly a(iqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
readonly a(iqq) SocketBindDeny = [...];
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
@ -9722,9 +9722,9 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
readonly a(iqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
readonly a(iqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KillMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")

View File

@ -125,7 +125,6 @@ manpages = [
'SD_ID128_FORMAT_VAL',
'SD_ID128_MAKE',
'SD_ID128_MAKE_STR',
'SD_ID128_MAKE_UUID_STR',
'SD_ID128_NULL',
'SD_ID128_UUID_FORMAT_STR',
'sd_id128_equal',

View File

@ -24,7 +24,6 @@
<refname>SD_ID128_FORMAT_VAL</refname>
<refname>SD_ID128_MAKE</refname>
<refname>SD_ID128_MAKE_STR</refname>
<refname>SD_ID128_MAKE_UUID_STR</refname>
<refname>SD_ID128_NULL</refname>
<refname>SD_ID128_UUID_FORMAT_STR</refname>
<refname>sd_id128_equal</refname>
@ -122,12 +121,10 @@ int main(int argc, char **argv) {
return 0;
}</programlisting>
<para><constant>SD_ID128_UUID_FORMAT_STR</constant> and <function>SD_ID128_MAKE_UUID_STR()</function>
are similar to
<constant>SD_ID128_FORMAT_STR</constant> and <function>SD_ID128_MAKE_STR()</function>,
but include separating hyphens to conform to the
"<ulink url="https://en.wikipedia.org/wiki/Universally_unique_identifier#Format">canonical representation</ulink>".
They format the string based on <ulink
<para><constant>SD_ID128_UUID_FORMAT_STR</constant> is similar to
<constant>SD_ID128_FORMAT_STR</constant> but includes separating hyphens to conform to the "<ulink
url="https://en.wikipedia.org/wiki/Universally_unique_identifier#Format">canonical
representation</ulink>". This formats the string based on <ulink
url="https://tools.ietf.org/html/rfc4122">RFC4122</ulink> Variant 1 rules, i.e. converting from Big
Endian byte order. This matches behaviour of most other Linux userspace infrastructure. It's probably
best to avoid UUIDs of other variants, in order to avoid unnecessary ambiguities. All 128-bit IDs

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
project('systemd', 'c',
version : '249',
version : '248',
license : 'LGPLv2+',
default_options: [
'c_std=gnu99',
@ -13,8 +13,8 @@ project('systemd', 'c',
meson_version : '>= 0.46',
)
libsystemd_version = '0.32.0'
libudev_version = '1.7.2'
libsystemd_version = '0.31.0'
libudev_version = '1.7.1'
conf = configuration_data()
conf.set_quoted('PROJECT_URL', 'https://www.freedesktop.org/wiki/Software/systemd')

View File

@ -30,22 +30,48 @@
#define EFI_N_RETRIES_TOTAL 25
#define EFI_RETRY_DELAY (50 * USEC_PER_MSEC)
char* efi_variable_path(sd_id128_t vendor, const char *name) {
char *p;
if (asprintf(&p,
"/sys/firmware/efi/efivars/%s-" SD_ID128_UUID_FORMAT_STR,
name, SD_ID128_FORMAT_VAL(vendor)) < 0)
return NULL;
return p;
}
static char* efi_variable_cache_path(sd_id128_t vendor, const char *name) {
char *p;
if (asprintf(&p,
"/run/systemd/efivars/%s-" SD_ID128_UUID_FORMAT_STR,
name, SD_ID128_FORMAT_VAL(vendor)) < 0)
return NULL;
return p;
}
int efi_get_variable(
const char *variable,
sd_id128_t vendor,
const char *name,
uint32_t *ret_attribute,
void **ret_value,
size_t *ret_size) {
_cleanup_close_ int fd = -1;
_cleanup_free_ char *p = NULL;
_cleanup_free_ void *buf = NULL;
struct stat st;
usec_t begin = 0; /* Unnecessary initialization to appease gcc */
uint32_t a;
ssize_t n;
assert(variable);
assert(name);
const char *p = strjoina("/sys/firmware/efi/efivars/", variable);
p = efi_variable_path(vendor, name);
if (!p)
return -ENOMEM;
if (!ret_value && !ret_size && !ret_attribute) {
/* If caller is not interested in anything, just check if the variable exists and is
@ -110,8 +136,7 @@ int efi_get_variable(
return log_debug_errno(errno, "Failed to read value of EFI variable %s: %m", p);
assert(n <= st.st_size - 4);
/* Always NUL-terminate (3 bytes, to properly protect UTF-16, even if truncated in the middle
* of a character) */
/* Always NUL terminate (3 bytes, to properly protect UTF-16, even if truncated in the middle of a character) */
((char*) buf)[n] = 0;
((char*) buf)[n + 1] = 0;
((char*) buf)[n + 2] = 0;
@ -125,8 +150,8 @@ int efi_get_variable(
end = now(CLOCK_MONOTONIC);
if (end > begin + EFI_RETRY_DELAY)
log_debug("Detected slow EFI variable read access on %s: %s",
variable, format_timespan(ts, sizeof(ts), end - begin, 1));
log_debug("Detected slow EFI variable read access on " SD_ID128_FORMAT_STR "-%s: %s",
SD_ID128_FORMAT_VAL(vendor), name, format_timespan(ts, sizeof(ts), end - begin, 1));
}
/* Note that efivarfs interestingly doesn't require ftruncate() to update an existing EFI variable
@ -144,13 +169,13 @@ int efi_get_variable(
return 0;
}
int efi_get_variable_string(const char *variable, char **p) {
int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p) {
_cleanup_free_ void *s = NULL;
size_t ss = 0;
int r;
char *x;
r = efi_get_variable(variable, NULL, &s, &ss);
r = efi_get_variable(vendor, name, NULL, &s, &ss);
if (r < 0)
return r;
@ -162,20 +187,28 @@ int efi_get_variable_string(const char *variable, char **p) {
return 0;
}
int efi_set_variable(const char *variable, const void *value, size_t size) {
int efi_set_variable(
sd_id128_t vendor,
const char *name,
const void *value,
size_t size) {
struct var {
uint32_t attr;
char buf[];
} _packed_ * _cleanup_free_ buf = NULL;
_cleanup_free_ char *p = NULL;
_cleanup_close_ int fd = -1;
bool saved_flags_valid = false;
unsigned saved_flags;
int r;
assert(variable);
assert(name);
assert(value || size == 0);
const char *p = strjoina("/sys/firmware/efi/efivars/", variable);
p = efi_variable_path(vendor, name);
if (!p)
return -ENOMEM;
/* Newer efivarfs protects variables that are not in an allow list with FS_IMMUTABLE_FL by default,
* to protect them for accidental removal and modification. We are not changing these variables
@ -241,14 +274,14 @@ finish:
return r;
}
int efi_set_variable_string(const char *variable, const char *value) {
int efi_set_variable_string(sd_id128_t vendor, const char *name, const char *v) {
_cleanup_free_ char16_t *u16 = NULL;
u16 = utf8_to_utf16(value, strlen(value));
u16 = utf8_to_utf16(v, strlen(v));
if (!u16)
return -ENOMEM;
return efi_set_variable(variable, u16, (char16_strlen(u16) + 1) * sizeof(char16_t));
return efi_set_variable(vendor, name, u16, (char16_strlen(u16) + 1) * sizeof(char16_t));
}
bool is_efi_boot(void) {
@ -267,7 +300,7 @@ bool is_efi_boot(void) {
return cache;
}
static int read_flag(const char *variable) {
static int read_flag(const char *varname) {
_cleanup_free_ void *v = NULL;
uint8_t b;
size_t s;
@ -276,7 +309,7 @@ static int read_flag(const char *variable) {
if (!is_efi_boot()) /* If this is not an EFI boot, assume the queried flags are zero */
return 0;
r = efi_get_variable(variable, NULL, &v, &s);
r = efi_get_variable(EFI_VENDOR_GLOBAL, varname, NULL, &v, &s);
if (r < 0)
return r;
@ -291,7 +324,7 @@ bool is_efi_secure_boot(void) {
static int cache = -1;
if (cache < 0)
cache = read_flag(EFI_GLOBAL_VARIABLE(SecureBoot));
cache = read_flag("SecureBoot");
return cache > 0;
}
@ -300,12 +333,13 @@ bool is_efi_secure_boot_setup_mode(void) {
static int cache = -1;
if (cache < 0)
cache = read_flag(EFI_GLOBAL_VARIABLE(SetupMode));
cache = read_flag("SetupMode");
return cache > 0;
}
static int read_efi_options_variable(char **line) {
int cache_efi_options_variable(void) {
_cleanup_free_ char *line = NULL, *cachepath = NULL;
int r;
/* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed
@ -316,39 +350,39 @@ static int read_efi_options_variable(char **line) {
* (NB: For testing purposes, we still check the $SYSTEMD_EFI_OPTIONS env var before accessing this
* cache, even when in SecureBoot mode.) */
if (is_efi_secure_boot()) {
_cleanup_free_ char *k = NULL;
k = efi_variable_path(EFI_VENDOR_SYSTEMD, "SystemdOptions");
if (!k)
return -ENOMEM;
/* Let's be helpful with the returned error and check if the variable exists at all. If it
* does, let's return a recognizable error (EPERM), and if not ENODATA. */
if (access(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), F_OK) < 0)
if (access(k, F_OK) < 0)
return errno == ENOENT ? -ENODATA : -errno;
return -EPERM;
}
r = efi_get_variable_string(EFI_SYSTEMD_VARIABLE(SystemdOptions), line);
r = efi_get_variable_string(EFI_VENDOR_SYSTEMD, "SystemdOptions", &line);
if (r == -ENOENT)
return -ENODATA;
return r;
}
int cache_efi_options_variable(void) {
_cleanup_free_ char *line = NULL;
int r;
r = read_efi_options_variable(&line);
if (r < 0)
return r;
return write_string_file(EFIVAR_CACHE_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), line,
WRITE_STRING_FILE_ATOMIC|WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755);
cachepath = efi_variable_cache_path(EFI_VENDOR_SYSTEMD, "SystemdOptions");
if (!cachepath)
return -ENOMEM;
return write_string_file(cachepath, line, WRITE_STRING_FILE_ATOMIC|WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755);
}
int systemd_efi_options_variable(char **line) {
const char *e;
_cleanup_free_ char *cachepath = NULL;
int r;
/* Returns the contents of the variable for current boot from the cache. */
assert(line);
/* For testing purposes it is sometimes useful to be able to override this */
@ -364,37 +398,11 @@ int systemd_efi_options_variable(char **line) {
return 0;
}
r = read_one_line_file(EFIVAR_CACHE_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), line);
if (r == -ENOENT)
return -ENODATA;
return r;
}
cachepath = efi_variable_cache_path(EFI_VENDOR_SYSTEMD, "SystemdOptions");
if (!cachepath)
return -ENOMEM;
static inline int compare_stat_mtime(const struct stat *a, const struct stat *b) {
return CMP(timespec_load(&a->st_mtim), timespec_load(&b->st_mtim));
}
int systemd_efi_options_efivarfs_if_newer(char **line) {
struct stat a = {}, b;
int r;
if (stat(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), &a) < 0 && errno != ENOENT)
return log_debug_errno(errno, "Failed to stat EFI variable SystemdOptions: %m");
if (stat(EFIVAR_CACHE_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), &b) < 0) {
if (errno != -ENOENT)
log_debug_errno(errno, "Failed to stat "EFIVAR_CACHE_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions))": %m");
} else if (compare_stat_mtime(&a, &b) > 0)
log_debug("Variable SystemdOptions in evifarfs is newer than in cache.");
else {
log_debug("Variable SystemdOptions in cache is up to date.");
*line = NULL;
return 0;
}
r = read_efi_options_variable(line);
if (r < 0)
log_warning_errno(r, "Failed to read SystemdOptions EFI variable: %m");
r = read_one_line_file(cachepath, line);
if (r == -ENOENT)
return -ENODATA;
return r;

View File

@ -12,39 +12,20 @@
#include "time-util.h"
#define EFI_VENDOR_LOADER SD_ID128_MAKE(4a,67,b0,82,0a,4c,41,cf,b6,c7,44,0b,29,bb,8c,4f)
#define EFI_VENDOR_LOADER_STR SD_ID128_MAKE_UUID_STR(4a,67,b0,82,0a,4c,41,cf,b6,c7,44,0b,29,bb,8c,4f)
#define EFI_VENDOR_GLOBAL SD_ID128_MAKE(8b,e4,df,61,93,ca,11,d2,aa,0d,00,e0,98,03,2b,8c)
#define EFI_VENDOR_GLOBAL_STR SD_ID128_MAKE_UUID_STR(8b,e4,df,61,93,ca,11,d2,aa,0d,00,e0,98,03,2b,8c)
#define EFI_VENDOR_SYSTEMD SD_ID128_MAKE(8c,f2,64,4b,4b,0b,42,8f,93,87,6d,87,60,50,dc,67)
#define EFI_VENDOR_SYSTEMD_STR SD_ID128_MAKE_UUID_STR(8c,f2,64,4b,4b,0b,42,8f,93,87,6d,87,60,50,dc,67)
#define EFI_VENDOR_LOADER SD_ID128_MAKE(4a,67,b0,82,0a,4c,41,cf,b6,c7,44,0b,29,bb,8c,4f)
#define EFI_VENDOR_GLOBAL SD_ID128_MAKE(8b,e4,df,61,93,ca,11,d2,aa,0d,00,e0,98,03,2b,8c)
#define EFI_VENDOR_SYSTEMD SD_ID128_MAKE(8c,f2,64,4b,4b,0b,42,8f,93,87,6d,87,60,50,dc,67)
#define EFI_VARIABLE_NON_VOLATILE 0x0000000000000001
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002
#define EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004
/* Note that the <lowercaseuuid>-<varname> naming scheme is an efivarfs convention, i.e. part of the Linux
* API file system implementation for EFI. EFI itself processes UIDS in binary form.
*/
#define EFI_VENDOR_VARIABLE_STR(vendor, name) name "-" vendor
#define EFI_GLOBAL_VARIABLE_STR(name) EFI_VENDOR_VARIABLE_STR(EFI_VENDOR_GLOBAL_STR, name)
#define EFI_LOADER_VARIABLE_STR(name) EFI_VENDOR_VARIABLE_STR(EFI_VENDOR_LOADER_STR, name)
#define EFI_SYSTEMD_VARIABLE_STR(name) EFI_VENDOR_VARIABLE_STR(EFI_VENDOR_SYSTEMD_STR, name)
#define EFI_GLOBAL_VARIABLE(name) EFI_GLOBAL_VARIABLE_STR(STRINGIFY(name))
#define EFI_LOADER_VARIABLE(name) EFI_LOADER_VARIABLE_STR(STRINGIFY(name))
#define EFI_SYSTEMD_VARIABLE(name) EFI_SYSTEMD_VARIABLE_STR(STRINGIFY(name))
#define EFIVAR_PATH(variable) "/sys/firmware/efi/efivars/" variable
#define EFIVAR_CACHE_PATH(variable) "/run/systemd/efivars/" variable
#if ENABLE_EFI
int efi_get_variable(const char *variable, uint32_t *attribute, void **value, size_t *size);
int efi_get_variable_string(const char *variable, char **p);
int efi_set_variable(const char *variable, const void *value, size_t size);
int efi_set_variable_string(const char *variable, const char *p);
char* efi_variable_path(sd_id128_t vendor, const char *name);
int efi_get_variable(sd_id128_t vendor, const char *name, uint32_t *attribute, void **value, size_t *size);
int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p);
int efi_set_variable(sd_id128_t vendor, const char *name, const void *value, size_t size);
int efi_set_variable_string(sd_id128_t vendor, const char *name, const char *p);
bool is_efi_boot(void);
bool is_efi_secure_boot(void);
@ -52,23 +33,26 @@ bool is_efi_secure_boot_setup_mode(void);
int cache_efi_options_variable(void);
int systemd_efi_options_variable(char **line);
int systemd_efi_options_efivarfs_if_newer(char **line);
#else
static inline int efi_get_variable(const char *variable, uint32_t *attribute, void **value, size_t *size) {
static inline char* efi_variable_path(sd_id128_t vendor, const char *name) {
return NULL;
}
static inline int efi_get_variable(sd_id128_t vendor, const char *name, uint32_t *attribute, void **value, size_t *size) {
return -EOPNOTSUPP;
}
static inline int efi_get_variable_string(const char *variable, char **p) {
static inline int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p) {
return -EOPNOTSUPP;
}
static inline int efi_set_variable(const char *variable, const void *value, size_t size) {
static inline int efi_set_variable(sd_id128_t vendor, const char *name, const void *value, size_t size) {
return -EOPNOTSUPP;
}
static inline int efi_set_variable_string(const char *variable, const char *p) {
static inline int efi_set_variable_string(sd_id128_t vendor, const char *name, const char *p) {
return -EOPNOTSUPP;
}
@ -92,7 +76,4 @@ static inline int systemd_efi_options_variable(char **line) {
return -ENODATA;
}
static inline int systemd_efi_options_efivarfs_if_newer(char **line) {
return -ENODATA;
}
#endif

View File

@ -47,7 +47,7 @@ int main(int argc, char *argv[]) {
return EXIT_SUCCESS;
}
if (access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderBootCountPath)), F_OK) < 0) {
if (access("/sys/firmware/efi/efivars/LoaderBootCountPath-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) < 0) {
if (errno == ENOENT) {
log_debug_errno(errno, "Skipping generator, not booted with boot counting in effect.");

View File

@ -212,7 +212,7 @@ static int acquire_boot_count_path(
uint64_t left, done;
int r;
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderBootCountPath), &path);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderBootCountPath", &path);
if (r == -ENOENT)
return -EUNATCH; /* in this case, let the caller print a message */
if (r < 0)

View File

@ -288,7 +288,7 @@ static int print_efi_option(uint16_t id, bool in_order) {
static int status_variables(void) {
_cleanup_free_ uint16_t *options = NULL, *order = NULL;
int n_options, n_order;
int n_options, n_order, i;
n_options = efi_get_boot_options(&options);
if (n_options == -ENOENT)
@ -306,12 +306,14 @@ static int status_variables(void) {
/* print entries in BootOrder first */
printf("Boot Loaders Listed in EFI Variables:\n");
for (int i = 0; i < n_order; i++)
for (i = 0; i < n_order; i++)
print_efi_option(order[i], true);
/* print remaining entries */
for (int i = 0; i < n_options; i++) {
for (int j = 0; j < n_order; j++)
for (i = 0; i < n_options; i++) {
int j;
for (j = 0; j < n_order; j++)
if (options[i] == order[j])
goto next_option;
@ -724,7 +726,7 @@ static int find_slot(sd_id128_t uuid, const char *path, uint16_t *id) {
static int insert_into_order(uint16_t slot, bool first) {
_cleanup_free_ uint16_t *order = NULL;
uint16_t *t;
int n;
int n, i;
n = efi_get_boot_order(&order);
if (n <= 0)
@ -736,7 +738,7 @@ static int insert_into_order(uint16_t slot, bool first) {
return 0;
/* are we already in the boot order? */
for (int i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
if (order[i] != slot)
continue;
@ -768,13 +770,13 @@ static int insert_into_order(uint16_t slot, bool first) {
static int remove_from_order(uint16_t slot) {
_cleanup_free_ uint16_t *order = NULL;
int n;
int n, i;
n = efi_get_boot_order(&order);
if (n <= 0)
return n;
for (int i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
if (order[i] != slot)
continue;
@ -977,29 +979,29 @@ static int remove_variables(sd_id128_t uuid, const char *path, bool in_order) {
}
static int remove_loader_variables(void) {
const char *variable;
const char *p;
int r = 0;
/* Remove all persistent loader variables we define */
FOREACH_STRING(variable,
EFI_LOADER_VARIABLE(LoaderConfigTimeout),
EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot),
EFI_LOADER_VARIABLE(LoaderEntryDefault),
EFI_LOADER_VARIABLE(LoaderEntryOneShot),
EFI_LOADER_VARIABLE(LoaderSystemToken)){
FOREACH_STRING(p,
"LoaderConfigTimeout",
"LoaderConfigTimeoutOneShot",
"LoaderEntryDefault",
"LoaderEntryOneShot",
"LoaderSystemToken") {
int q;
q = efi_set_variable(variable, NULL, 0);
q = efi_set_variable(EFI_VENDOR_LOADER, p, NULL, 0);
if (q == -ENOENT)
continue;
if (q < 0) {
log_warning_errno(q, "Failed to remove EFI variable %s: %m", variable);
log_warning_errno(q, "Failed to remove %s variable: %m", p);
if (r >= 0)
r = q;
} else
log_info("Removed EFI variable %s.", variable);
log_info("Removed EFI variable %s.", p);
}
return r;
@ -1222,12 +1224,12 @@ static int parse_argv(int argc, char *argv[]) {
return 1;
}
static void read_efi_var(const char *variable, char **ret) {
static void read_loader_efi_var(const char *name, char **var) {
int r;
r = efi_get_variable_string(variable, ret);
r = efi_get_variable_string(EFI_VENDOR_LOADER, name, var);
if (r < 0 && r != -ENOENT)
log_warning_errno(r, "Failed to read EFI variable %s: %m", variable);
log_warning_errno(r, "Failed to read EFI variable %s: %m", name);
}
static void print_yes_no_line(bool first, bool good, const char *name) {
@ -1293,13 +1295,13 @@ static int verb_status(int argc, char *argv[], void *userdata) {
_cleanup_free_ char *fw_type = NULL, *fw_info = NULL, *loader = NULL, *loader_path = NULL, *stub = NULL;
sd_id128_t loader_part_uuid = SD_ID128_NULL;
uint64_t loader_features = 0;
int have;
size_t i;
read_efi_var(EFI_LOADER_VARIABLE(LoaderFirmwareType), &fw_type);
read_efi_var(EFI_LOADER_VARIABLE(LoaderFirmwareInfo), &fw_info);
read_efi_var(EFI_LOADER_VARIABLE(LoaderInfo), &loader);
read_efi_var(EFI_LOADER_VARIABLE(StubInfo), &stub);
read_efi_var(EFI_LOADER_VARIABLE(LoaderImageIdentifier), &loader_path);
read_loader_efi_var("LoaderFirmwareType", &fw_type);
read_loader_efi_var("LoaderFirmwareInfo", &fw_info);
read_loader_efi_var("LoaderInfo", &loader);
read_loader_efi_var("StubInfo", &stub);
read_loader_efi_var("LoaderImageIdentifier", &loader_path);
(void) efi_loader_get_features(&loader_features);
if (loader_path)
@ -1331,7 +1333,7 @@ static int verb_status(int argc, char *argv[], void *userdata) {
printf("Current Boot Loader:\n");
printf(" Product: %s%s%s\n", ansi_highlight(), strna(loader), ansi_normal());
for (size_t i = 0; i < ELEMENTSOF(flags); i++)
for (i = 0; i < ELEMENTSOF(flags); i++)
print_yes_no_line(i == 0, FLAGS_SET(loader_features, flags[i].flag), flags[i].name);
sd_id128_t bootloader_esp_uuid;
@ -1352,10 +1354,8 @@ static int verb_status(int argc, char *argv[], void *userdata) {
printf("\n");
printf("Random Seed:\n");
have = access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderRandomSeed)), F_OK) >= 0;
printf(" Passed to OS: %s\n", yes_no(have));
have = access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderSystemToken)), F_OK) >= 0;
printf(" System Token: %s\n", have ? "set" : "not set");
printf(" Passed to OS: %s\n", yes_no(access("/sys/firmware/efi/efivars/LoaderRandomSeed-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) >= 0));
printf(" System Token: %s\n", access("/sys/firmware/efi/efivars/LoaderSystemToken-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) >= 0 ? "set" : "not set");
if (arg_esp_path) {
_cleanup_free_ char *p = NULL;
@ -1364,8 +1364,7 @@ static int verb_status(int argc, char *argv[], void *userdata) {
if (!p)
return log_oom();
have = access(p, F_OK) >= 0;
printf(" Exists: %s\n", yes_no(have));
printf(" Exists: %s\n", yes_no(access(p, F_OK) >= 0));
}
printf("\n");
@ -1429,11 +1428,13 @@ static int verb_list(int argc, char *argv[], void *userdata) {
if (config.n_entries == 0)
log_info("No boot loader entries found.");
else {
size_t n;
(void) pager_open(arg_pager_flags);
printf("Boot Loader Entries:\n");
for (size_t n = 0; n < config.n_entries; n++) {
for (n = 0; n < config.n_entries; n++) {
r = boot_entry_show(config.entries + n, n == (size_t) config.default_entry);
if (r < 0)
return r;
@ -1538,7 +1539,7 @@ static int install_random_seed(const char *esp) {
return 0;
}
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderSystemToken), NULL, NULL, &token_size);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderSystemToken", NULL, NULL, &token_size);
if (r == -ENODATA)
log_debug_errno(r, "LoaderSystemToken EFI variable is invalid (too short?), replacing.");
else if (r < 0) {
@ -1562,7 +1563,7 @@ static int install_random_seed(const char *esp) {
* and possibly get identification information or too much insight into the kernel's entropy pool
* state. */
RUN_WITH_UMASK(0077) {
r = efi_set_variable(EFI_LOADER_VARIABLE(LoaderSystemToken), buffer, sz);
r = efi_set_variable(EFI_VENDOR_LOADER, "LoaderSystemToken", buffer, sz);
if (r < 0) {
if (!arg_graceful)
return log_error_errno(r, "Failed to write 'LoaderSystemToken' EFI variable: %m");
@ -1763,15 +1764,15 @@ static int verb_is_installed(int argc, char *argv[], void *userdata) {
static int parse_loader_entry_target_arg(const char *arg1, char16_t **ret_target, size_t *ret_target_size) {
int r;
if (streq(arg1, "@current")) {
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntrySelected), NULL, (void *) ret_target, ret_target_size);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntrySelected", NULL, (void *) ret_target, ret_target_size);
if (r < 0)
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntrySelected': %m");
} else if (streq(arg1, "@oneshot")) {
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntryOneShot), NULL, (void *) ret_target, ret_target_size);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntryOneShot", NULL, (void *) ret_target, ret_target_size);
if (r < 0)
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntryOneShot': %m");
} else if (streq(arg1, "@default")) {
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntryDefault), NULL, (void *) ret_target, ret_target_size);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntryDefault", NULL, (void *) ret_target, ret_target_size);
if (r < 0)
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntryDefault': %m");
} else {
@ -1786,13 +1787,14 @@ static int parse_loader_entry_target_arg(const char *arg1, char16_t **ret_target
}
static int verb_set_default(int argc, char *argv[], void *userdata) {
const char *name;
int r;
if (!is_efi_boot())
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
"Not booted with UEFI.");
if (access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderInfo)), F_OK) < 0) {
if (access("/sys/firmware/efi/efivars/LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) < 0) {
if (errno == ENOENT) {
log_error_errno(errno, "Not booted with a supported boot loader.");
return -EOPNOTSUPP;
@ -1811,13 +1813,12 @@ static int verb_set_default(int argc, char *argv[], void *userdata) {
"'%s' operation cannot be combined with --touch-variables=no.",
argv[0]);
const char *variable = streq(argv[0], "set-default") ?
EFI_LOADER_VARIABLE(LoaderEntryDefault) : EFI_LOADER_VARIABLE(LoaderEntryOneShot);
name = streq(argv[0], "set-default") ? "LoaderEntryDefault" : "LoaderEntryOneShot";
if (isempty(argv[1])) {
r = efi_set_variable(variable, NULL, 0);
r = efi_set_variable(EFI_VENDOR_LOADER, name, NULL, 0);
if (r < 0 && r != -ENOENT)
return log_error_errno(r, "Failed to remove EFI variable '%s': %m", variable);
return log_error_errno(r, "Failed to remove EFI variable '%s': %m", name);
} else {
_cleanup_free_ char16_t *target = NULL;
size_t target_size = 0;
@ -1825,9 +1826,9 @@ static int verb_set_default(int argc, char *argv[], void *userdata) {
r = parse_loader_entry_target_arg(argv[1], &target, &target_size);
if (r < 0)
return r;
r = efi_set_variable(variable, target, target_size);
r = efi_set_variable(EFI_VENDOR_LOADER, name, target, target_size);
if (r < 0)
return log_error_errno(r, "Failed to update EFI variable '%s': %m", variable);
return log_error_errno(r, "Failed to update EFI variable '%s': %m", name);
}
return 0;
@ -1860,27 +1861,16 @@ static int verb_systemd_efi_options(int argc, char *argv[], void *userdata) {
int r;
if (argc == 1) {
_cleanup_free_ char *line = NULL, *new = NULL;
_cleanup_free_ char *line = NULL;
r = systemd_efi_options_variable(&line);
if (r == -ENODATA)
log_debug("No SystemdOptions EFI variable present in cache.");
else if (r < 0)
return log_error_errno(r, "Failed to read SystemdOptions EFI variable from cache: %m");
else
puts(line);
if (r < 0)
return log_error_errno(r, "Failed to query SystemdOptions EFI variable: %m");
puts(line);
r = systemd_efi_options_efivarfs_if_newer(&new);
if (r == -ENODATA) {
if (line)
log_notice("Note: SystemdOptions EFI variable has been removed since boot.");
} else if (r < 0)
log_warning_errno(r, "Failed to check SystemdOptions EFI variable in efivarfs, ignoring: %m");
else if (new && !streq_ptr(line, new))
log_notice("Note: SystemdOptions EFI variable has been modified since boot. New value: %s",
new);
} else {
r = efi_set_variable_string(EFI_SYSTEMD_VARIABLE(SystemdOptions), argv[1]);
r = efi_set_variable_string(EFI_VENDOR_SYSTEMD, "SystemdOptions", argv[1]);
if (r < 0)
return log_error_errno(r, "Failed to set SystemdOptions EFI variable: %m");
}

View File

@ -104,8 +104,7 @@ struct CGroupBPFForeignProgram {
struct CGroupSocketBindItem {
LIST_FIELDS(CGroupSocketBindItem, socket_bind_items);
int32_t address_family;
int32_t ip_protocol;
int address_family;
uint16_t nr_ports;
uint16_t port_min;
};

View File

@ -389,12 +389,12 @@ static int property_get_socket_bind(
assert(items);
r = sd_bus_message_open_container(reply, 'a', "(iiqq)");
r = sd_bus_message_open_container(reply, 'a', "(iqq)");
if (r < 0)
return r;
LIST_FOREACH(socket_bind_items, i, *items) {
r = sd_bus_message_append(reply, "(iiqq)", i->address_family, i->ip_protocol, i->nr_ports, i->port_min);
r = sd_bus_message_append(reply, "(iqq)", i->address_family, i->nr_ports, i->port_min);
if (r < 0)
return r;
}
@ -454,8 +454,8 @@ const sd_bus_vtable bus_cgroup_vtable[] = {
SD_BUS_PROPERTY("ManagedOOMMemoryPressureLimit", "u", NULL, offsetof(CGroupContext, moom_mem_pressure_limit), 0),
SD_BUS_PROPERTY("ManagedOOMPreference", "s", property_get_managed_oom_preference, offsetof(CGroupContext, moom_preference), 0),
SD_BUS_PROPERTY("BPFProgram", "a(ss)", property_get_bpf_foreign_program, 0, 0),
SD_BUS_PROPERTY("SocketBindAllow", "a(iiqq)", property_get_socket_bind, offsetof(CGroupContext, socket_bind_allow), 0),
SD_BUS_PROPERTY("SocketBindDeny", "a(iiqq)", property_get_socket_bind, offsetof(CGroupContext, socket_bind_deny), 0),
SD_BUS_PROPERTY("SocketBindAllow", "a(iqq)", property_get_socket_bind, offsetof(CGroupContext, socket_bind_allow), 0),
SD_BUS_PROPERTY("SocketBindDeny", "a(iqq)", property_get_socket_bind, offsetof(CGroupContext, socket_bind_deny), 0),
SD_BUS_VTABLE_END
};
@ -1882,22 +1882,19 @@ int bus_cgroup_set_property(
CGroupSocketBindItem **list;
uint16_t nr_ports, port_min;
size_t n = 0;
int32_t family, ip_protocol;
int family;
list = streq(name, "SocketBindAllow") ? &c->socket_bind_allow : &c->socket_bind_deny;
r = sd_bus_message_enter_container(message, 'a', "(iiqq)");
r = sd_bus_message_enter_container(message, 'a', "(iqq)");
if (r < 0)
return r;
while ((r = sd_bus_message_read(message, "(iiqq)", &family, &ip_protocol, &nr_ports, &port_min)) > 0) {
while ((r = sd_bus_message_read(message, "(iqq)", &family, &nr_ports, &port_min)) > 0) {
if (!IN_SET(family, AF_UNSPEC, AF_INET, AF_INET6))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects INET or INET6 family, if specified.", name);
if (ip_protocol != 0)
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects ip protocol equals to 0, for the time being.", name);
if (port_min + (uint32_t) nr_ports > (1 << 16))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects maximum port value lesser than 65536.", name);
@ -1913,7 +1910,6 @@ int bus_cgroup_set_property(
*item = (CGroupSocketBindItem) {
.address_family = family,
.ip_protocol = ip_protocol,
.nr_ports = nr_ports,
.port_min = port_min
};

View File

@ -27,8 +27,8 @@ static void lock_down_efi_variables(void) {
* identify the system or gain too much insight into what we might have credited to the entropy
* pool. */
FOREACH_STRING(p,
EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderRandomSeed)),
EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderSystemToken))) {
"/sys/firmware/efi/efivars/LoaderRandomSeed-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f",
"/sys/firmware/efi/efivars/LoaderSystemToken-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f") {
r = chattr_path(p, 0, FS_IMMUTABLE_FL, NULL);
if (r == -ENOENT)
@ -61,7 +61,7 @@ int efi_take_random_seed(void) {
return 0;
}
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderRandomSeed), NULL, &value, &size);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderRandomSeed", NULL, &value, &size);
if (r == -EOPNOTSUPP) {
log_debug_errno(r, "System lacks EFI support, not initializing random seed from EFI variable.");
return 0;

View File

@ -5687,8 +5687,6 @@ int config_parse_cgroup_socket_bind(
return log_oom();
*item = (CGroupSocketBindItem) {
.address_family = af,
/* No ip protocol specified for now. */
.ip_protocol = 0,
.nr_ports = nr_ports,
.port_min = port_min,
};

View File

@ -2868,12 +2868,12 @@ static int method_set_reboot_to_boot_loader_menu(
if (use_efi) {
if (x == UINT64_MAX)
r = efi_set_variable(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot), NULL, 0);
r = efi_set_variable(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot", NULL, 0);
else {
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
xsprintf(buf, "%" PRIu64, DIV_ROUND_UP(x, USEC_PER_SEC)); /* second granularity */
r = efi_set_variable_string(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot), buf);
r = efi_set_variable_string(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot", buf);
}
if (r < 0)
return r;
@ -3071,9 +3071,9 @@ static int method_set_reboot_to_boot_loader_entry(
if (use_efi) {
if (isempty(v))
/* Delete item */
r = efi_set_variable(EFI_LOADER_VARIABLE(LoaderEntryOneShot), NULL, 0);
r = efi_set_variable(EFI_VENDOR_LOADER, "LoaderEntryOneShot", NULL, 0);
else
r = efi_set_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), v);
r = efi_set_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", v);
if (r < 0)
return r;
} else {

View File

@ -4419,7 +4419,7 @@ static int parse_efi_variable_factory_reset(void) {
if (!in_initrd()) /* Never honour EFI variable factory reset request outside of the initrd */
return 0;
r = efi_get_variable_string(EFI_SYSTEMD_VARIABLE(FactoryReset), &value);
r = efi_get_variable_string(EFI_VENDOR_SYSTEMD, "FactoryReset", &value);
if (r == -ENOENT || ERRNO_IS_NOT_SUPPORTED(r))
return 0;
if (r < 0)
@ -4439,7 +4439,7 @@ static int parse_efi_variable_factory_reset(void) {
static int remove_efi_variable_factory_reset(void) {
int r;
r = efi_set_variable(EFI_SYSTEMD_VARIABLE(FactoryReset), NULL, 0);
r = efi_set_variable(EFI_VENDOR_SYSTEMD, "FactoryReset", NULL, 0);
if (r == -ENOENT || ERRNO_IS_NOT_SUPPORTED(r))
return 0;
if (r < 0)

View File

@ -677,14 +677,14 @@ int boot_entries_load_config(
return log_error_errno(r, "Failed to uniquify boot entries: %m");
if (is_efi_boot()) {
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), &config->entry_oneshot);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", &config->entry_oneshot);
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryOneShot\": %m");
if (r == -ENOMEM)
return r;
}
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryDefault), &config->entry_default);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryDefault", &config->entry_default);
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryDefault\": %m");
if (r == -ENOMEM)
@ -776,7 +776,7 @@ int boot_entries_augment_from_loader(
break;
}
p = strdup(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderEntries)));
p = efi_variable_path(EFI_VENDOR_LOADER, "LoaderEntries");
if (!p)
return log_oom();

View File

@ -866,12 +866,11 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
if (STR_IN_SET(field, "SocketBindAllow",
"SocketBindDeny")) {
if (isempty(eq))
r = sd_bus_message_append(m, "(sv)", field, "a(iiqq)", 0);
r = sd_bus_message_append(m, "(sv)", field, "a(iqq)", 0);
else {
/* No ip protocol specified for now. */
int32_t family = AF_UNSPEC, ip_protocol = 0;
const char *address_family, *user_port;
_cleanup_free_ char *word = NULL;
int family = AF_UNSPEC;
r = extract_first_word(&eq, &word, ":", 0);
if (r == -ENOMEM)
@ -889,7 +888,7 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
user_port = eq ? eq : word;
if (streq(user_port, "any")) {
r = sd_bus_message_append(m, "(sv)", field, "a(iiqq)", 1, family, ip_protocol, 0, 0);
r = sd_bus_message_append(m, "(sv)", field, "a(iqq)", 1, family, 0, 0);
if (r < 0)
return bus_log_create_error(r);
} else {
@ -902,7 +901,7 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
return log_error_errno(r, "Invalid port or port range: %s", user_port);
r = sd_bus_message_append(
m, "(sv)", field, "a(iiqq)", 1, family, ip_protocol, port_max - port_min + 1, port_min);
m, "(sv)", field, "a(iqq)", 1, family, port_max - port_min + 1, port_min);
}
}
if (r < 0)

View File

@ -82,7 +82,7 @@ int efi_reboot_to_firmware_supported(void) {
if (!is_efi_boot())
goto not_supported;
r = efi_get_variable(EFI_GLOBAL_VARIABLE(OsIndicationsSupported), NULL, &v, &s);
r = efi_get_variable(EFI_VENDOR_GLOBAL, "OsIndicationsSupported", NULL, &v, &s);
if (r == -ENOENT)
goto not_supported; /* variable doesn't exist? it's not supported then */
if (r < 0)
@ -105,6 +105,7 @@ not_supported:
static int get_os_indications(uint64_t *ret) {
static struct stat cache_stat = {};
_cleanup_free_ void *v = NULL;
_cleanup_free_ char *fn = NULL;
static uint64_t cache;
struct stat new_stat;
size_t s;
@ -117,8 +118,12 @@ static int get_os_indications(uint64_t *ret) {
if (r < 0)
return r;
fn = efi_variable_path(EFI_VENDOR_GLOBAL, "OsIndications");
if (!fn)
return -ENOMEM;
/* stat() the EFI variable, to see if the mtime changed. If it did we need to cache again. */
if (stat(EFIVAR_PATH(EFI_GLOBAL_VARIABLE(OsIndications)), &new_stat) < 0) {
if (stat(fn, &new_stat) < 0) {
if (errno != ENOENT)
return -errno;
@ -132,7 +137,7 @@ static int get_os_indications(uint64_t *ret) {
return 0;
}
r = efi_get_variable(EFI_GLOBAL_VARIABLE(OsIndications), NULL, &v, &s);
r = efi_get_variable(EFI_VENDOR_GLOBAL, "OsIndications", NULL, &v, &s);
if (r == -ENOENT) {
/* Some firmware implementations that do support OsIndications and report that with
* OsIndicationsSupported will remove the OsIndications variable when it is unset. Let's
@ -175,7 +180,7 @@ int efi_set_reboot_to_firmware(bool value) {
/* Avoid writing to efi vars store if we can due to firmware bugs. */
if (b != b_new)
return efi_set_variable(EFI_GLOBAL_VARIABLE(OsIndications), &b_new, sizeof(uint64_t));
return efi_set_variable(EFI_VENDOR_GLOBAL, "OsIndications", &b_new, sizeof(uint64_t));
return 0;
}
@ -230,7 +235,7 @@ int efi_get_boot_option(
char **path,
bool *active) {
char variable[STRLEN(EFI_GLOBAL_VARIABLE_STR("Boot")) + 4 + 1];
char boot_id[9];
_cleanup_free_ uint8_t *buf = NULL;
size_t l;
struct boot_option *header;
@ -242,8 +247,8 @@ int efi_get_boot_option(
if (!is_efi_boot())
return -EOPNOTSUPP;
xsprintf(variable, EFI_GLOBAL_VARIABLE_STR("Boot%04X"), id);
r = efi_get_variable(variable, NULL, (void **)&buf, &l);
xsprintf(boot_id, "Boot%04X", id);
r = efi_get_variable(EFI_VENDOR_GLOBAL, boot_id, NULL, (void **)&buf, &l);
if (r < 0)
return r;
if (l < offsetof(struct boot_option, title))
@ -345,7 +350,9 @@ static void id128_to_efi_guid(sd_id128_t id, void *guid) {
}
static uint16_t *tilt_slashes(uint16_t *s) {
for (uint16_t *p = s; *p; p++)
uint16_t *p;
for (p = s; *p; p++)
if (*p == '/')
*p = '\\';
@ -365,7 +372,7 @@ int efi_add_boot_option(
_cleanup_free_ char *buf = NULL;
struct boot_option *option;
struct device_path *devicep;
char variable[STRLEN(EFI_GLOBAL_VARIABLE_STR("Boot")) + 4 + 1];
char boot_id[9];
if (!is_efi_boot())
return -EOPNOTSUPP;
@ -417,18 +424,18 @@ int efi_add_boot_option(
devicep->length = offsetof(struct device_path, path);
size += devicep->length;
xsprintf(variable, EFI_GLOBAL_VARIABLE_STR("Boot%04X"), id);
return efi_set_variable(variable, buf, size);
xsprintf(boot_id, "Boot%04X", id);
return efi_set_variable(EFI_VENDOR_GLOBAL, boot_id, buf, size);
}
int efi_remove_boot_option(uint16_t id) {
char variable[STRLEN(EFI_GLOBAL_VARIABLE_STR("Boot")) + 4 + 1];
char boot_id[9];
if (!is_efi_boot())
return -EOPNOTSUPP;
xsprintf(variable, EFI_GLOBAL_VARIABLE_STR("Boot%04X"), id);
return efi_set_variable(variable, NULL, 0);
xsprintf(boot_id, "Boot%04X", id);
return efi_set_variable(EFI_VENDOR_GLOBAL, boot_id, NULL, 0);
}
int efi_get_boot_order(uint16_t **order) {
@ -439,7 +446,7 @@ int efi_get_boot_order(uint16_t **order) {
if (!is_efi_boot())
return -EOPNOTSUPP;
r = efi_get_variable(EFI_GLOBAL_VARIABLE(BootOrder), NULL, &buf, &l);
r = efi_get_variable(EFI_VENDOR_GLOBAL, "BootOrder", NULL, &buf, &l);
if (r < 0)
return r;
@ -459,15 +466,15 @@ int efi_set_boot_order(uint16_t *order, size_t n) {
if (!is_efi_boot())
return -EOPNOTSUPP;
return efi_set_variable(EFI_GLOBAL_VARIABLE(BootOrder), order, n * sizeof(uint16_t));
return efi_set_variable(EFI_VENDOR_GLOBAL, "BootOrder", order, n * sizeof(uint16_t));
}
static int boot_id_hex(const char s[static 4]) {
int id = 0;
int id = 0, i;
assert(s);
for (int i = 0; i < 4; i++)
for (i = 0; i < 4; i++)
if (s[i] >= '0' && s[i] <= '9')
id |= (s[i] - '0') << (3 - i) * 4;
else if (s[i] >= 'A' && s[i] <= 'F')
@ -493,7 +500,7 @@ int efi_get_boot_options(uint16_t **options) {
if (!is_efi_boot())
return -EOPNOTSUPP;
dir = opendir(EFIVAR_PATH("."));
dir = opendir("/sys/firmware/efi/efivars/");
if (!dir)
return -errno;
@ -506,7 +513,7 @@ int efi_get_boot_options(uint16_t **options) {
if (strlen(de->d_name) != 45)
continue;
if (strcmp(de->d_name + 8, EFI_GLOBAL_VARIABLE_STR("")) != 0) /* generate variable suffix using macro */
if (strcmp(de->d_name + 8, "-8be4df61-93ca-11d2-aa0d-00e098032b8c") != 0)
continue;
id = boot_id_hex(de->d_name + 4);
@ -526,15 +533,15 @@ int efi_get_boot_options(uint16_t **options) {
return count;
}
static int read_usec(const char *variable, usec_t *u) {
static int read_usec(sd_id128_t vendor, const char *name, usec_t *u) {
_cleanup_free_ char *j = NULL;
int r;
uint64_t x = 0;
assert(variable);
assert(name);
assert(u);
r = efi_get_variable_string(variable, &j);
r = efi_get_variable_string(EFI_VENDOR_LOADER, name, &j);
if (r < 0)
return r;
@ -556,11 +563,11 @@ int efi_loader_get_boot_usec(usec_t *firmware, usec_t *loader) {
if (!is_efi_boot())
return -EOPNOTSUPP;
r = read_usec(EFI_LOADER_VARIABLE(LoaderTimeInitUSec), &x);
r = read_usec(EFI_VENDOR_LOADER, "LoaderTimeInitUSec", &x);
if (r < 0)
return log_debug_errno(r, "Failed to read LoaderTimeInitUSec: %m");
r = read_usec(EFI_LOADER_VARIABLE(LoaderTimeExecUSec), &y);
r = read_usec(EFI_VENDOR_LOADER, "LoaderTimeExecUSec", &y);
if (r < 0)
return log_debug_errno(r, "Failed to read LoaderTimeExecUSec: %m");
@ -582,7 +589,7 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
if (!is_efi_boot())
return -EOPNOTSUPP;
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderDevicePartUUID), &p);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderDevicePartUUID", &p);
if (r < 0)
return r;
@ -593,9 +600,12 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
&parsed[12], &parsed[13], &parsed[14], &parsed[15]) != 16)
return -EIO;
if (u)
for (unsigned i = 0; i < ELEMENTSOF(parsed); i++)
if (u) {
unsigned i;
for (i = 0; i < ELEMENTSOF(parsed); i++)
u->bytes[i] = parsed[i];
}
return 0;
}
@ -603,7 +613,7 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
int efi_loader_get_entries(char ***ret) {
_cleanup_free_ char16_t *entries = NULL;
_cleanup_strv_free_ char **l = NULL;
size_t size;
size_t size, i, start;
int r;
assert(ret);
@ -611,13 +621,13 @@ int efi_loader_get_entries(char ***ret) {
if (!is_efi_boot())
return -EOPNOTSUPP;
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntries), NULL, (void**) &entries, &size);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntries", NULL, (void**) &entries, &size);
if (r < 0)
return r;
/* The variable contains a series of individually NUL terminated UTF-16 strings. */
for (size_t i = 0, start = 0;; i++) {
for (i = 0, start = 0;; i++) {
_cleanup_free_ char *decoded = NULL;
bool end;
@ -663,12 +673,12 @@ int efi_loader_get_features(uint64_t *ret) {
return 0;
}
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderFeatures), NULL, &v, &s);
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderFeatures", NULL, &v, &s);
if (r == -ENOENT) {
_cleanup_free_ char *info = NULL;
/* The new (v240+) LoaderFeatures variable is not supported, let's see if it's systemd-boot at all */
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderInfo), &info);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderInfo", &info);
if (r < 0) {
if (r != -ENOENT)
return r;
@ -703,7 +713,7 @@ int efi_loader_get_features(uint64_t *ret) {
}
int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
_cleanup_free_ char *v = NULL;
_cleanup_free_ char *v = NULL, *fn = NULL;
static struct stat cache_stat = {};
struct stat new_stat;
static usec_t cache;
@ -712,8 +722,12 @@ int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
assert(ret);
/* stat() the EFI variable, to see if the mtime changed. If it did, we need to cache again. */
if (stat(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot)), &new_stat) < 0)
fn = efi_variable_path(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot");
if (!fn)
return -ENOMEM;
/* stat() the EFI variable, to see if the mtime changed. If it did we need to cache again. */
if (stat(fn, &new_stat) < 0)
return -errno;
if (stat_inode_unmodified(&new_stat, &cache_stat)) {
@ -721,7 +735,7 @@ int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
return 0;
}
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot), &v);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot", &v);
if (r < 0)
return r;
@ -737,21 +751,25 @@ int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
}
int efi_loader_update_entry_one_shot_cache(char **cache, struct stat *cache_stat) {
_cleanup_free_ char *v = NULL;
_cleanup_free_ char *fn = NULL, *v = NULL;
struct stat new_stat;
int r;
assert(cache);
assert(cache_stat);
fn = efi_variable_path(EFI_VENDOR_LOADER, "LoaderEntryOneShot");
if (!fn)
return -ENOMEM;
/* stat() the EFI variable, to see if the mtime changed. If it did we need to cache again. */
if (stat(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderEntryOneShot)), &new_stat) < 0)
if (stat(fn, &new_stat) < 0)
return -errno;
if (stat_inode_unmodified(&new_stat, cache_stat))
return 0;
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), &v);
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", &v);
if (r < 0)
return r;
@ -790,6 +808,7 @@ bool efi_has_tpm2(void) {
#endif
bool efi_loader_entry_name_valid(const char *s) {
if (!filename_is_valid(s)) /* Make sure entry names fit in filenames */
return false;
@ -797,7 +816,9 @@ bool efi_loader_entry_name_valid(const char *s) {
}
char *efi_tilt_backslashes(char *s) {
for (char *p = s; *p; p++)
char *p;
for (p = s; *p; p++)
if (*p == '\\')
*p = '/';

View File

@ -1712,12 +1712,12 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m
return 1;
} else if (STR_IN_SET(name, "SocketBindAllow", "SocketBindDeny")) {
uint16_t nr_ports, port_min;
int32_t af, ip_protocol;
int af;
r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, "(iiqq)");
r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, "(iqq)");
if (r < 0)
return bus_log_parse_error(r);
while ((r = sd_bus_message_read(m, "(iiqq)", &af, &ip_protocol, &nr_ports, &port_min)) > 0) {
while ((r = sd_bus_message_read(m, "(iqq)", &af, &nr_ports, &port_min)) > 0) {
const char *family, *colon;
family = strempty(af_to_ipv4_ipv6(af));

View File

@ -107,9 +107,6 @@ int sd_id128_get_boot_app_specific(sd_id128_t app_id, sd_id128_t *ret);
#define SD_ID128_MAKE_STR(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) \
#a #b #c #d #e #f #g #h #i #j #k #l #m #n #o #p
#define SD_ID128_MAKE_UUID_STR(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) \
#a #b #c #d "-" #e #f "-" #g #h "-" #i #j "-" #k #l #m #n #o #p
_sd_pure_ static __inline__ int sd_id128_equal(sd_id128_t a, sd_id128_t b) {
return memcmp(&a, &b, 16) == 0;
}

View File

@ -104,7 +104,6 @@ fi
BASICTOOLS=(
awk
base64
basename
bash
busybox

View File

@ -2,21 +2,6 @@
set -eux
set -o pipefail
# Limit the maximum journal size
trap "journalctl --rotate --vacuum-size=16M" EXIT
# Rotation/flush test, see https://github.com/systemd/systemd/issues/19895
journalctl --relinquish-var
for i in {0..50}; do
dd if=/dev/urandom bs=1M count=1 | base64 | systemd-cat
done
journalctl --rotate
journalctl --flush
journalctl --sync
# Reset the ratelimit buckets for the subsequent tests below.
systemctl restart systemd-journald
# Test stdout stream
# Skip empty lines