mirror of
https://github.com/systemd/systemd
synced 2026-03-19 11:34:46 +01:00
Compare commits
12 Commits
e9bbb6ef04
...
ad64e3e8d6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad64e3e8d6 | ||
|
|
e7848266da | ||
|
|
8f12ee7178 | ||
|
|
fe1f0129e1 | ||
|
|
a5f19be8b1 | ||
|
|
4883a04fe1 | ||
|
|
ad2d6880ea | ||
|
|
c67bd42b71 | ||
|
|
e6f055cbc4 | ||
|
|
7c7683f36c | ||
|
|
ca1e8584c6 | ||
|
|
558a9af70f |
53
NEWS
53
NEWS
@ -125,6 +125,12 @@ CHANGES WITH 249 in spe:
|
|||||||
gained a new parameter --uuid that prints the UUID for each generated
|
gained a new parameter --uuid that prints the UUID for each generated
|
||||||
uevent.
|
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
|
* The native Journal protocol has been documented. Clients may talk
|
||||||
this as alternative to the classic BSD syslog protocol for locally
|
this as alternative to the classic BSD syslog protocol for locally
|
||||||
delivering log records to the Journal. The protocol has been stable
|
delivering log records to the Journal. The protocol has been stable
|
||||||
@ -463,33 +469,42 @@ CHANGES WITH 249 in spe:
|
|||||||
* The WakeOnLan= setting in .link files now accepts a list of flags
|
* The WakeOnLan= setting in .link files now accepts a list of flags
|
||||||
instead of a single one, to configure multiple wake-on-LAN policies.
|
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,
|
Contributions from: Aakash Singh, adrian5, Alexander Sverdlin,
|
||||||
alexlzhu, Allen Webb, Alvin Šipraga, Alyssa Ross, Anita Zhang, asavah,
|
alexlzhu, Allen Webb, Alvin Šipraga, Alyssa Ross, Anita Zhang, asavah,
|
||||||
Balint Reczey, Bertrand Jacquin, borna-blazevic, caoxia2008cxx,
|
Balint Reczey, Bertrand Jacquin, borna-blazevic, caoxia2008cxx,
|
||||||
Carlo Teubner, Christian Göttsche, Christian Hesse, Dan Streetman,
|
Carlo Teubner, Christian Göttsche, Christian Hesse, Daniel Schaefer,
|
||||||
David Santamaría Rogado, David Tardon, Deepak Rawat,
|
Dan Streetman, David Santamaría Rogado, David Tardon, Deepak Rawat,
|
||||||
Dimitri John Ledkov, ei-ke, Emilio Herrera, Emil Renner Berthing,
|
Dimitri John Ledkov, ei-ke, Emilio Herrera, Emil Renner Berthing,
|
||||||
Flos Lonicerae, Franck Bui, Francois Gervais, Frantisek Sumsal,
|
Flos Lonicerae, Franck Bui, Francois Gervais, Frantisek Sumsal,
|
||||||
Gibeom Gwon, gitm0, Hans de Goede, Harsh Barsaiyan, Henri Chain,
|
Gibeom Gwon, gitm0, Hans de Goede, Harsh Barsaiyan, Henri Chain,
|
||||||
Igor Zhbanov, imayoda, Jakub Warczarek, James Buren, Jan Janssen,
|
Igor Zhbanov, imayoda, Jakub Warczarek, James Buren, Jan Janssen,
|
||||||
Jan Synacek, Jason Francis, Jérôme Carretero, jiangchuangang,
|
Jan Synacek, Jason Francis, Jayanth Ananthapadmanaban,
|
||||||
Joerg Behrmann, Jóhann B. Guðmundsson, Jörg Deckert, Jörg Thalheim,
|
Jérôme Carretero, jiangchuangang, Joerg Behrmann,
|
||||||
Julia Kartseva, Kai-Heng Feng, Khem Raj, KoyamaSohei,
|
Jóhann B. Guðmundsson, Jörg Deckert, Jörg Thalheim, Julia Kartseva,
|
||||||
Lennart Poettering, LetzteInstanz, Luca Adrian L, Luca Boccassi,
|
Kai-Heng Feng, Khem Raj, KoyamaSohei, Lennart Poettering,
|
||||||
Lucas Magasweran, Mantas Mikulėnas, Marco Antonio Mauro, Mark Wielaard,
|
LetzteInstanz, Luca Adrian L, Luca Boccassi, Lucas Magasweran,
|
||||||
Masahiro Matsuya, Michael Catanzaro, Mike Kazantsev, Milan,
|
Mantas Mikulėnas, Marco Antonio Mauro, Mark Wielaard, Masahiro Matsuya,
|
||||||
Miroslav Suchý, Morten Linderud, Noah Meyerhans, Oleg Popov,
|
Matt Johnston, Michael Catanzaro, Michal Koutný, Michal Sekletár,
|
||||||
Olle Lundberg, Ondrej Kozina, Perry.Yuan, Peter Hutterer,
|
Mike Kazantsev, Milan, Miroslav Suchý, Morten Linderud, nerdopolis,
|
||||||
Peter Kjellerstedt, Peter Morrow, Phaedrus Leeds, Roman Beranek,
|
nl6720, Noah Meyerhans, Oleg Popov, Olle Lundberg, Ondrej Kozina,
|
||||||
Roshan Shariff, Ryan Hendrickson, Samuel BF, scootergrisen,
|
Perry.Yuan, Peter Hutterer, Peter Kjellerstedt, Peter Morrow,
|
||||||
Sebastian Blunt, Seong-ho Cho, Sergey Bugaev, Sevan Janiyan, Sibo Dong,
|
Phaedrus Leeds, Roman Beranek, Roshan Shariff, Ryan Hendrickson,
|
||||||
simmon, Simon Watts, Srinidhi Kaushik, Štěpán Němec, Steve Bonds,
|
Samuel BF, scootergrisen, Sebastian Blunt, Seong-ho Cho, Sergey Bugaev,
|
||||||
Susant Sahani, sverdlin, syyhao1994, Takashi Sakamoto, Topi Miettinen,
|
Sevan Janiyan, Sibo Dong, simmon, Simon Watts, Srinidhi Kaushik,
|
||||||
tramsay, Uwe Kleine-König, Viktor Mihajlovski, Vincent Dechenaux,
|
Štěpán Němec, Steve Bonds, Susant Sahani, sverdlin, syyhao1994,
|
||||||
Vito Caputo, William A. Kennington III, Yangyang Shen, Yegor Alexeyev,
|
Takashi Sakamoto, Topi Miettinen, tramsay, Uwe Kleine-König,
|
||||||
Yi Gao, Yu Watanabe, Zbigniew Jędrzejewski-Szmek, zsien, наб
|
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-XX
|
— Berlin, 2021-06-15
|
||||||
|
|
||||||
CHANGES WITH 248:
|
CHANGES WITH 248:
|
||||||
|
|
||||||
|
|||||||
@ -36830,6 +36830,9 @@ OUI:00BD27*
|
|||||||
OUI:00BD3A*
|
OUI:00BD3A*
|
||||||
ID_OUI_FROM_DATABASE=Nokia Corporation
|
ID_OUI_FROM_DATABASE=Nokia Corporation
|
||||||
|
|
||||||
|
OUI:00BD3E*
|
||||||
|
ID_OUI_FROM_DATABASE=Vizio, Inc
|
||||||
|
|
||||||
OUI:00BD82*
|
OUI:00BD82*
|
||||||
ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
|
ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
|
||||||
|
|
||||||
@ -37685,6 +37688,9 @@ OUI:00CD90*
|
|||||||
OUI:00CDFE*
|
OUI:00CDFE*
|
||||||
ID_OUI_FROM_DATABASE=Apple, Inc.
|
ID_OUI_FROM_DATABASE=Apple, Inc.
|
||||||
|
|
||||||
|
OUI:00CE30*
|
||||||
|
ID_OUI_FROM_DATABASE=Express LUCK Industrial Ltd.
|
||||||
|
|
||||||
OUI:00CF1C*
|
OUI:00CF1C*
|
||||||
ID_OUI_FROM_DATABASE=Communication Machinery Corporation
|
ID_OUI_FROM_DATABASE=Communication Machinery Corporation
|
||||||
|
|
||||||
@ -40716,7 +40722,7 @@ OUI:080041*
|
|||||||
ID_OUI_FROM_DATABASE=RACAL-MILGO INFORMATION SYS..
|
ID_OUI_FROM_DATABASE=RACAL-MILGO INFORMATION SYS..
|
||||||
|
|
||||||
OUI:080042*
|
OUI:080042*
|
||||||
ID_OUI_FROM_DATABASE=JAPAN MACNICS CORP.
|
ID_OUI_FROM_DATABASE=MACNICA, Inc.
|
||||||
|
|
||||||
OUI:080043*
|
OUI:080043*
|
||||||
ID_OUI_FROM_DATABASE=PIXEL COMPUTER INC.
|
ID_OUI_FROM_DATABASE=PIXEL COMPUTER INC.
|
||||||
@ -43775,6 +43781,9 @@ OUI:141877*
|
|||||||
OUI:1418C3*
|
OUI:1418C3*
|
||||||
ID_OUI_FROM_DATABASE=Intel Corporate
|
ID_OUI_FROM_DATABASE=Intel Corporate
|
||||||
|
|
||||||
|
OUI:141973*
|
||||||
|
ID_OUI_FROM_DATABASE=Beijing Yunyi Times Technology Co.,Ltd
|
||||||
|
|
||||||
OUI:141A51*
|
OUI:141A51*
|
||||||
ID_OUI_FROM_DATABASE=Treetech Sistemas Digitais
|
ID_OUI_FROM_DATABASE=Treetech Sistemas Digitais
|
||||||
|
|
||||||
@ -45458,6 +45467,9 @@ OUI:18E1CA*
|
|||||||
OUI:18E1DE*
|
OUI:18E1DE*
|
||||||
ID_OUI_FROM_DATABASE=Chengdu ChipIntelli Technology Co., Ltd
|
ID_OUI_FROM_DATABASE=Chengdu ChipIntelli Technology Co., Ltd
|
||||||
|
|
||||||
|
OUI:18E215*
|
||||||
|
ID_OUI_FROM_DATABASE=Nokia
|
||||||
|
|
||||||
OUI:18E288*
|
OUI:18E288*
|
||||||
ID_OUI_FROM_DATABASE=STT Condigi
|
ID_OUI_FROM_DATABASE=STT Condigi
|
||||||
|
|
||||||
@ -48899,6 +48911,9 @@ OUI:2834A2*
|
|||||||
OUI:283545*
|
OUI:283545*
|
||||||
ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD
|
ID_OUI_FROM_DATABASE=SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD
|
||||||
|
|
||||||
|
OUI:2836132*
|
||||||
|
ID_OUI_FROM_DATABASE=Shenzhen HQVT TECHNOLOGY Co.,LTD
|
||||||
|
|
||||||
OUI:2836380*
|
OUI:2836380*
|
||||||
ID_OUI_FROM_DATABASE=Knowles Electronics LLC
|
ID_OUI_FROM_DATABASE=Knowles Electronics LLC
|
||||||
|
|
||||||
@ -53117,6 +53132,9 @@ OUI:3859F9*
|
|||||||
OUI:385AA8*
|
OUI:385AA8*
|
||||||
ID_OUI_FROM_DATABASE=Beijing Zhongdun Security Technology Development Co.
|
ID_OUI_FROM_DATABASE=Beijing Zhongdun Security Technology Development Co.
|
||||||
|
|
||||||
|
OUI:385C76*
|
||||||
|
ID_OUI_FROM_DATABASE=PLANTRONICS, INC.
|
||||||
|
|
||||||
OUI:385F66*
|
OUI:385F66*
|
||||||
ID_OUI_FROM_DATABASE=Cisco SPVTG
|
ID_OUI_FROM_DATABASE=Cisco SPVTG
|
||||||
|
|
||||||
@ -55412,6 +55430,9 @@ OUI:408D5C*
|
|||||||
OUI:408F9D*
|
OUI:408F9D*
|
||||||
ID_OUI_FROM_DATABASE=Juniper Networks
|
ID_OUI_FROM_DATABASE=Juniper Networks
|
||||||
|
|
||||||
|
OUI:409151*
|
||||||
|
ID_OUI_FROM_DATABASE=Espressif Inc.
|
||||||
|
|
||||||
OUI:409505*
|
OUI:409505*
|
||||||
ID_OUI_FROM_DATABASE=ACOINFO TECHNOLOGY CO.,LTD
|
ID_OUI_FROM_DATABASE=ACOINFO TECHNOLOGY CO.,LTD
|
||||||
|
|
||||||
@ -56150,6 +56171,9 @@ OUI:4447CC*
|
|||||||
OUI:444891*
|
OUI:444891*
|
||||||
ID_OUI_FROM_DATABASE=HDMI Licensing, LLC
|
ID_OUI_FROM_DATABASE=HDMI Licensing, LLC
|
||||||
|
|
||||||
|
OUI:4448B9*
|
||||||
|
ID_OUI_FROM_DATABASE=MitraStar Technology Corp.
|
||||||
|
|
||||||
OUI:4448C1*
|
OUI:4448C1*
|
||||||
ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
|
ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
|
||||||
|
|
||||||
@ -60212,6 +60236,9 @@ OUI:546C0E*
|
|||||||
OUI:546D52*
|
OUI:546D52*
|
||||||
ID_OUI_FROM_DATABASE=TOPVIEW OPTRONICS CORP.
|
ID_OUI_FROM_DATABASE=TOPVIEW OPTRONICS CORP.
|
||||||
|
|
||||||
|
OUI:546F71*
|
||||||
|
ID_OUI_FROM_DATABASE=uAvionix Corporation
|
||||||
|
|
||||||
OUI:5471DD*
|
OUI:5471DD*
|
||||||
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
|
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
|
||||||
|
|
||||||
@ -60674,6 +60701,9 @@ OUI:54EDA3*
|
|||||||
OUI:54EE75*
|
OUI:54EE75*
|
||||||
ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd.
|
ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd.
|
||||||
|
|
||||||
|
OUI:54EF33*
|
||||||
|
ID_OUI_FROM_DATABASE=SHENZHEN BILIAN ELECTRONIC CO.,LTD
|
||||||
|
|
||||||
OUI:54EF44*
|
OUI:54EF44*
|
||||||
ID_OUI_FROM_DATABASE=Lumi United Technology Co., Ltd
|
ID_OUI_FROM_DATABASE=Lumi United Technology Co., Ltd
|
||||||
|
|
||||||
@ -62003,6 +62033,9 @@ OUI:5C80B6*
|
|||||||
OUI:5C81A7*
|
OUI:5C81A7*
|
||||||
ID_OUI_FROM_DATABASE=Network Devices Pty Ltd
|
ID_OUI_FROM_DATABASE=Network Devices Pty Ltd
|
||||||
|
|
||||||
|
OUI:5C8382*
|
||||||
|
ID_OUI_FROM_DATABASE=Nokia
|
||||||
|
|
||||||
OUI:5C838F*
|
OUI:5C838F*
|
||||||
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
|
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
|
||||||
|
|
||||||
@ -63032,6 +63065,9 @@ OUI:608E08*
|
|||||||
OUI:608F5C*
|
OUI:608F5C*
|
||||||
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
|
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
|
||||||
|
|
||||||
|
OUI:608FA4*
|
||||||
|
ID_OUI_FROM_DATABASE=Nokia Solutions and Networks GmbH & Co. KG
|
||||||
|
|
||||||
OUI:609084*
|
OUI:609084*
|
||||||
ID_OUI_FROM_DATABASE=DSSD Inc
|
ID_OUI_FROM_DATABASE=DSSD Inc
|
||||||
|
|
||||||
@ -63722,6 +63758,9 @@ OUI:64317E*
|
|||||||
OUI:6432A8*
|
OUI:6432A8*
|
||||||
ID_OUI_FROM_DATABASE=Intel Corporate
|
ID_OUI_FROM_DATABASE=Intel Corporate
|
||||||
|
|
||||||
|
OUI:6433B50*
|
||||||
|
ID_OUI_FROM_DATABASE=Duomondi International Development Co., Ltd.
|
||||||
|
|
||||||
OUI:6433B51*
|
OUI:6433B51*
|
||||||
ID_OUI_FROM_DATABASE=Huaqin Telecom Technology Co.,Ltd.
|
ID_OUI_FROM_DATABASE=Huaqin Telecom Technology Co.,Ltd.
|
||||||
|
|
||||||
@ -63731,21 +63770,39 @@ OUI:6433B52*
|
|||||||
OUI:6433B53*
|
OUI:6433B53*
|
||||||
ID_OUI_FROM_DATABASE=Wingtech Mobile Communications Co.,Ltd
|
ID_OUI_FROM_DATABASE=Wingtech Mobile Communications Co.,Ltd
|
||||||
|
|
||||||
|
OUI:6433B54*
|
||||||
|
ID_OUI_FROM_DATABASE=Eagle Eye Networks, Inc
|
||||||
|
|
||||||
OUI:6433B55*
|
OUI:6433B55*
|
||||||
ID_OUI_FROM_DATABASE=Revo Smart Technologies co.,limited
|
ID_OUI_FROM_DATABASE=Revo Smart Technologies co.,limited
|
||||||
|
|
||||||
|
OUI:6433B56*
|
||||||
|
ID_OUI_FROM_DATABASE=MICROIT SRL
|
||||||
|
|
||||||
OUI:6433B57*
|
OUI:6433B57*
|
||||||
ID_OUI_FROM_DATABASE=ABB Electrification Smart Power (ELSP)
|
ID_OUI_FROM_DATABASE=ABB Electrification Smart Power (ELSP)
|
||||||
|
|
||||||
OUI:6433B58*
|
OUI:6433B58*
|
||||||
ID_OUI_FROM_DATABASE=LACO Technologies
|
ID_OUI_FROM_DATABASE=LACO Technologies
|
||||||
|
|
||||||
|
OUI:6433B59*
|
||||||
|
ID_OUI_FROM_DATABASE=Annapurna labs
|
||||||
|
|
||||||
OUI:6433B5A*
|
OUI:6433B5A*
|
||||||
ID_OUI_FROM_DATABASE=Hometek Eletronics Co., Ltd
|
ID_OUI_FROM_DATABASE=Hometek Eletronics Co., Ltd
|
||||||
|
|
||||||
OUI:6433B5B*
|
OUI:6433B5B*
|
||||||
ID_OUI_FROM_DATABASE=electroCore Inc.
|
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*
|
OUI:6433DB*
|
||||||
ID_OUI_FROM_DATABASE=Texas Instruments
|
ID_OUI_FROM_DATABASE=Texas Instruments
|
||||||
|
|
||||||
@ -65768,6 +65825,9 @@ OUI:6C8FB5*
|
|||||||
OUI:6C90B1*
|
OUI:6C90B1*
|
||||||
ID_OUI_FROM_DATABASE=SanLogic Inc
|
ID_OUI_FROM_DATABASE=SanLogic Inc
|
||||||
|
|
||||||
|
OUI:6C9106*
|
||||||
|
ID_OUI_FROM_DATABASE=Private
|
||||||
|
|
||||||
OUI:6C92BF*
|
OUI:6C92BF*
|
||||||
ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd.
|
ID_OUI_FROM_DATABASE=Inspur Electronic Information Industry Co.,Ltd.
|
||||||
|
|
||||||
@ -79637,6 +79697,9 @@ OUI:743170*
|
|||||||
OUI:743256*
|
OUI:743256*
|
||||||
ID_OUI_FROM_DATABASE=NT-ware Systemprg GmbH
|
ID_OUI_FROM_DATABASE=NT-ware Systemprg GmbH
|
||||||
|
|
||||||
|
OUI:7432C2*
|
||||||
|
ID_OUI_FROM_DATABASE=KYOLIS
|
||||||
|
|
||||||
OUI:743400*
|
OUI:743400*
|
||||||
ID_OUI_FROM_DATABASE=MTG Co., Ltd.
|
ID_OUI_FROM_DATABASE=MTG Co., Ltd.
|
||||||
|
|
||||||
@ -79802,6 +79865,9 @@ OUI:745C4B*
|
|||||||
OUI:745C9F*
|
OUI:745C9F*
|
||||||
ID_OUI_FROM_DATABASE=TCT mobile ltd
|
ID_OUI_FROM_DATABASE=TCT mobile ltd
|
||||||
|
|
||||||
|
OUI:745CFA*
|
||||||
|
ID_OUI_FROM_DATABASE=Shenzhen Shunrui Gaojie Technology Co., Ltd.
|
||||||
|
|
||||||
OUI:745D43*
|
OUI:745D43*
|
||||||
ID_OUI_FROM_DATABASE=BSH Hausgeraete GmbH
|
ID_OUI_FROM_DATABASE=BSH Hausgeraete GmbH
|
||||||
|
|
||||||
@ -80796,7 +80862,7 @@ OUI:78521A*
|
|||||||
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
|
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
|
||||||
|
|
||||||
OUI:78524A*
|
OUI:78524A*
|
||||||
ID_OUI_FROM_DATABASE=Ensenso GmbH
|
ID_OUI_FROM_DATABASE=Optonic GmbH
|
||||||
|
|
||||||
OUI:785262*
|
OUI:785262*
|
||||||
ID_OUI_FROM_DATABASE=Shenzhen Hojy Software Co., Ltd.
|
ID_OUI_FROM_DATABASE=Shenzhen Hojy Software Co., Ltd.
|
||||||
@ -80906,6 +80972,9 @@ OUI:78719C*
|
|||||||
OUI:78725D*
|
OUI:78725D*
|
||||||
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
|
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
|
||||||
|
|
||||||
|
OUI:7876D9*
|
||||||
|
ID_OUI_FROM_DATABASE=EXARA Group
|
||||||
|
|
||||||
OUI:787A6F*
|
OUI:787A6F*
|
||||||
ID_OUI_FROM_DATABASE=Juice Technology AG
|
ID_OUI_FROM_DATABASE=Juice Technology AG
|
||||||
|
|
||||||
@ -82415,6 +82484,9 @@ OUI:7CBF88*
|
|||||||
OUI:7CBFB1*
|
OUI:7CBFB1*
|
||||||
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
|
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
|
||||||
|
|
||||||
|
OUI:7CC177*
|
||||||
|
ID_OUI_FROM_DATABASE=INGRAM MICRO SERVICES
|
||||||
|
|
||||||
OUI:7CC255*
|
OUI:7CC255*
|
||||||
ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
|
ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
|
||||||
|
|
||||||
@ -85871,6 +85943,9 @@ OUI:8C1F640E0*
|
|||||||
OUI:8C1F64101*
|
OUI:8C1F64101*
|
||||||
ID_OUI_FROM_DATABASE=ASW-ATI Srl
|
ID_OUI_FROM_DATABASE=ASW-ATI Srl
|
||||||
|
|
||||||
|
OUI:8C1F64128*
|
||||||
|
ID_OUI_FROM_DATABASE=YULISTA INTEGRATED SOLUTION
|
||||||
|
|
||||||
OUI:8C1F64135*
|
OUI:8C1F64135*
|
||||||
ID_OUI_FROM_DATABASE=Yuval Fichman
|
ID_OUI_FROM_DATABASE=Yuval Fichman
|
||||||
|
|
||||||
@ -85883,9 +85958,15 @@ OUI:8C1F64151*
|
|||||||
OUI:8C1F64166*
|
OUI:8C1F64166*
|
||||||
ID_OUI_FROM_DATABASE=Hikari Alphax Inc.
|
ID_OUI_FROM_DATABASE=Hikari Alphax Inc.
|
||||||
|
|
||||||
|
OUI:8C1F64193*
|
||||||
|
ID_OUI_FROM_DATABASE=Sicon srl
|
||||||
|
|
||||||
OUI:8C1F6419C*
|
OUI:8C1F6419C*
|
||||||
ID_OUI_FROM_DATABASE=Aton srl
|
ID_OUI_FROM_DATABASE=Aton srl
|
||||||
|
|
||||||
|
OUI:8C1F641E3*
|
||||||
|
ID_OUI_FROM_DATABASE=WBNet
|
||||||
|
|
||||||
OUI:8C1F64204*
|
OUI:8C1F64204*
|
||||||
ID_OUI_FROM_DATABASE=castcore
|
ID_OUI_FROM_DATABASE=castcore
|
||||||
|
|
||||||
@ -85919,9 +86000,15 @@ OUI:8C1F642A5*
|
|||||||
OUI:8C1F642C8*
|
OUI:8C1F642C8*
|
||||||
ID_OUI_FROM_DATABASE=BRS Sistemas Eletrônicos
|
ID_OUI_FROM_DATABASE=BRS Sistemas Eletrônicos
|
||||||
|
|
||||||
|
OUI:8C1F642E8*
|
||||||
|
ID_OUI_FROM_DATABASE=Sonora Network Solutions
|
||||||
|
|
||||||
OUI:8C1F642EF*
|
OUI:8C1F642EF*
|
||||||
ID_OUI_FROM_DATABASE=Invisense AB
|
ID_OUI_FROM_DATABASE=Invisense AB
|
||||||
|
|
||||||
|
OUI:8C1F642F5*
|
||||||
|
ID_OUI_FROM_DATABASE=Florida R&D Associates LLC
|
||||||
|
|
||||||
OUI:8C1F64304*
|
OUI:8C1F64304*
|
||||||
ID_OUI_FROM_DATABASE=Jemac Sweden AB
|
ID_OUI_FROM_DATABASE=Jemac Sweden AB
|
||||||
|
|
||||||
@ -85937,6 +86024,9 @@ OUI:8C1F64391*
|
|||||||
OUI:8C1F643A4*
|
OUI:8C1F643A4*
|
||||||
ID_OUI_FROM_DATABASE=QLM Technology Ltd
|
ID_OUI_FROM_DATABASE=QLM Technology Ltd
|
||||||
|
|
||||||
|
OUI:8C1F643B5*
|
||||||
|
ID_OUI_FROM_DATABASE=SVMS
|
||||||
|
|
||||||
OUI:8C1F643C4*
|
OUI:8C1F643C4*
|
||||||
ID_OUI_FROM_DATABASE=NavSys Technology Inc.
|
ID_OUI_FROM_DATABASE=NavSys Technology Inc.
|
||||||
|
|
||||||
@ -85991,6 +86081,9 @@ OUI:8C1F6472C*
|
|||||||
OUI:8C1F6473D*
|
OUI:8C1F6473D*
|
||||||
ID_OUI_FROM_DATABASE=NewAgeMicro
|
ID_OUI_FROM_DATABASE=NewAgeMicro
|
||||||
|
|
||||||
|
OUI:8C1F6473F*
|
||||||
|
ID_OUI_FROM_DATABASE=UBISCALE
|
||||||
|
|
||||||
OUI:8C1F64768*
|
OUI:8C1F64768*
|
||||||
ID_OUI_FROM_DATABASE=mapna group
|
ID_OUI_FROM_DATABASE=mapna group
|
||||||
|
|
||||||
@ -86018,9 +86111,15 @@ OUI:8C1F64856*
|
|||||||
OUI:8C1F64878*
|
OUI:8C1F64878*
|
||||||
ID_OUI_FROM_DATABASE=Green Access Ltd
|
ID_OUI_FROM_DATABASE=Green Access Ltd
|
||||||
|
|
||||||
|
OUI:8C1F648C2*
|
||||||
|
ID_OUI_FROM_DATABASE=Cirrus Systems, Inc.
|
||||||
|
|
||||||
OUI:8C1F64903*
|
OUI:8C1F64903*
|
||||||
ID_OUI_FROM_DATABASE=Portrait Displays, Inc.
|
ID_OUI_FROM_DATABASE=Portrait Displays, Inc.
|
||||||
|
|
||||||
|
OUI:8C1F6490E*
|
||||||
|
ID_OUI_FROM_DATABASE=Xacti Corporation
|
||||||
|
|
||||||
OUI:8C1F64918*
|
OUI:8C1F64918*
|
||||||
ID_OUI_FROM_DATABASE=Abbott Diagnostics Technologies AS
|
ID_OUI_FROM_DATABASE=Abbott Diagnostics Technologies AS
|
||||||
|
|
||||||
@ -86060,6 +86159,9 @@ OUI:8C1F64AA4*
|
|||||||
OUI:8C1F64AAB*
|
OUI:8C1F64AAB*
|
||||||
ID_OUI_FROM_DATABASE=BlueSword Intelligent Technology Co., Ltd.
|
ID_OUI_FROM_DATABASE=BlueSword Intelligent Technology Co., Ltd.
|
||||||
|
|
||||||
|
OUI:8C1F64AB5*
|
||||||
|
ID_OUI_FROM_DATABASE=JUSTMORPH PTE. LTD.
|
||||||
|
|
||||||
OUI:8C1F64AE1*
|
OUI:8C1F64AE1*
|
||||||
ID_OUI_FROM_DATABASE=YUYAMA MFG Co.,Ltd
|
ID_OUI_FROM_DATABASE=YUYAMA MFG Co.,Ltd
|
||||||
|
|
||||||
@ -86084,6 +86186,9 @@ OUI:8C1F64BC0*
|
|||||||
OUI:8C1F64C03*
|
OUI:8C1F64C03*
|
||||||
ID_OUI_FROM_DATABASE=Abiman Engineering
|
ID_OUI_FROM_DATABASE=Abiman Engineering
|
||||||
|
|
||||||
|
OUI:8C1F64C1F*
|
||||||
|
ID_OUI_FROM_DATABASE=Esys Srl
|
||||||
|
|
||||||
OUI:8C1F64C2F*
|
OUI:8C1F64C2F*
|
||||||
ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L.
|
ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L.
|
||||||
|
|
||||||
@ -86102,6 +86207,12 @@ OUI:8C1F64CF3*
|
|||||||
OUI:8C1F64D29*
|
OUI:8C1F64D29*
|
||||||
ID_OUI_FROM_DATABASE=Secure Bits
|
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*
|
OUI:8C1F64D7E*
|
||||||
ID_OUI_FROM_DATABASE=Thales Belgium
|
ID_OUI_FROM_DATABASE=Thales Belgium
|
||||||
|
|
||||||
@ -86117,9 +86228,15 @@ OUI:8C1F64E5C*
|
|||||||
OUI:8C1F64EAC*
|
OUI:8C1F64EAC*
|
||||||
ID_OUI_FROM_DATABASE=Miracle Healthcare, Inc.
|
ID_OUI_FROM_DATABASE=Miracle Healthcare, Inc.
|
||||||
|
|
||||||
|
OUI:8C1F64EE8*
|
||||||
|
ID_OUI_FROM_DATABASE=Global Organ Group B.V.
|
||||||
|
|
||||||
OUI:8C1F64F41*
|
OUI:8C1F64F41*
|
||||||
ID_OUI_FROM_DATABASE=AUTOMATIZACION Y CONECTIVIDAD SA DE CV
|
ID_OUI_FROM_DATABASE=AUTOMATIZACION Y CONECTIVIDAD SA DE CV
|
||||||
|
|
||||||
|
OUI:8C1F64F86*
|
||||||
|
ID_OUI_FROM_DATABASE=INFOSTECH Co., Ltd.
|
||||||
|
|
||||||
OUI:8C1F64FD1*
|
OUI:8C1F64FD1*
|
||||||
ID_OUI_FROM_DATABASE=Edgeware AB
|
ID_OUI_FROM_DATABASE=Edgeware AB
|
||||||
|
|
||||||
@ -86276,6 +86393,9 @@ OUI:8C4962*
|
|||||||
OUI:8C4AEE*
|
OUI:8C4AEE*
|
||||||
ID_OUI_FROM_DATABASE=GIGA TMS INC
|
ID_OUI_FROM_DATABASE=GIGA TMS INC
|
||||||
|
|
||||||
|
OUI:8C4B14*
|
||||||
|
ID_OUI_FROM_DATABASE=Espressif Inc.
|
||||||
|
|
||||||
OUI:8C4B59*
|
OUI:8C4B59*
|
||||||
ID_OUI_FROM_DATABASE=3D Imaging & Simulations Corp
|
ID_OUI_FROM_DATABASE=3D Imaging & Simulations Corp
|
||||||
|
|
||||||
@ -88493,6 +88613,9 @@ OUI:94A1A2*
|
|||||||
OUI:94A3CA*
|
OUI:94A3CA*
|
||||||
ID_OUI_FROM_DATABASE=KonnectONE, LLC
|
ID_OUI_FROM_DATABASE=KonnectONE, LLC
|
||||||
|
|
||||||
|
OUI:94A408*
|
||||||
|
ID_OUI_FROM_DATABASE=Shenzhen Trolink Technology CO, LTD
|
||||||
|
|
||||||
OUI:94A40C*
|
OUI:94A40C*
|
||||||
ID_OUI_FROM_DATABASE=Diehl Metering GmbH
|
ID_OUI_FROM_DATABASE=Diehl Metering GmbH
|
||||||
|
|
||||||
@ -93071,6 +93194,9 @@ OUI:A4DEC9*
|
|||||||
OUI:A4E0E6*
|
OUI:A4E0E6*
|
||||||
ID_OUI_FROM_DATABASE=FILIZOLA S.A. PESAGEM E AUTOMACAO
|
ID_OUI_FROM_DATABASE=FILIZOLA S.A. PESAGEM E AUTOMACAO
|
||||||
|
|
||||||
|
OUI:A4E11A*
|
||||||
|
ID_OUI_FROM_DATABASE=Juniper Networks
|
||||||
|
|
||||||
OUI:A4E31B*
|
OUI:A4E31B*
|
||||||
ID_OUI_FROM_DATABASE=Nokia
|
ID_OUI_FROM_DATABASE=Nokia
|
||||||
|
|
||||||
@ -95801,6 +95927,9 @@ OUI:B0E892*
|
|||||||
OUI:B0E97E*
|
OUI:B0E97E*
|
||||||
ID_OUI_FROM_DATABASE=Advanced Micro Peripherals
|
ID_OUI_FROM_DATABASE=Advanced Micro Peripherals
|
||||||
|
|
||||||
|
OUI:B0E9FE*
|
||||||
|
ID_OUI_FROM_DATABASE=Woan Technology (Shenzhen) Co., Ltd.
|
||||||
|
|
||||||
OUI:B0EABC*
|
OUI:B0EABC*
|
||||||
ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP
|
ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP
|
||||||
|
|
||||||
@ -99956,6 +100085,9 @@ OUI:C46DF1*
|
|||||||
OUI:C46E1F*
|
OUI:C46E1F*
|
||||||
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
|
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
|
||||||
|
|
||||||
|
OUI:C46E33*
|
||||||
|
ID_OUI_FROM_DATABASE=Zhong Ge Smart Technology Co., Ltd.
|
||||||
|
|
||||||
OUI:C46E7B*
|
OUI:C46E7B*
|
||||||
ID_OUI_FROM_DATABASE=SHENZHEN RF-LINK TECHNOLOGY CO.,LTD.
|
ID_OUI_FROM_DATABASE=SHENZHEN RF-LINK TECHNOLOGY CO.,LTD.
|
||||||
|
|
||||||
@ -101069,6 +101201,9 @@ OUI:C894BB*
|
|||||||
OUI:C894D2*
|
OUI:C894D2*
|
||||||
ID_OUI_FROM_DATABASE=Jiangsu Datang Electronic Products Co., Ltd
|
ID_OUI_FROM_DATABASE=Jiangsu Datang Electronic Products Co., Ltd
|
||||||
|
|
||||||
|
OUI:C89665*
|
||||||
|
ID_OUI_FROM_DATABASE=Microsoft Corporation
|
||||||
|
|
||||||
OUI:C8979F*
|
OUI:C8979F*
|
||||||
ID_OUI_FROM_DATABASE=Nokia Corporation
|
ID_OUI_FROM_DATABASE=Nokia Corporation
|
||||||
|
|
||||||
@ -104468,6 +104603,9 @@ OUI:D4E33F*
|
|||||||
OUI:D4E6B7*
|
OUI:D4E6B7*
|
||||||
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
|
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
|
||||||
|
|
||||||
|
OUI:D4E853*
|
||||||
|
ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
|
||||||
|
|
||||||
OUI:D4E880*
|
OUI:D4E880*
|
||||||
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
|
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
|
||||||
|
|
||||||
|
|||||||
@ -246,6 +246,9 @@ acpi:PIXA*:
|
|||||||
acpi:PNSO*:
|
acpi:PNSO*:
|
||||||
ID_VENDOR_FROM_DATABASE=Pensando Systems, Inc.
|
ID_VENDOR_FROM_DATABASE=Pensando Systems, Inc.
|
||||||
|
|
||||||
|
acpi:PURI*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=Purism SPC
|
||||||
|
|
||||||
acpi:QCOM*:
|
acpi:QCOM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Qualcomm Inc
|
ID_VENDOR_FROM_DATABASE=Qualcomm Inc
|
||||||
|
|
||||||
@ -2001,6 +2004,9 @@ acpi:DLK*:
|
|||||||
acpi:DLL*:
|
acpi:DLL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Dell Inc
|
ID_VENDOR_FROM_DATABASE=Dell Inc
|
||||||
|
|
||||||
|
acpi:DLM*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=DLOGIC Ltd.
|
||||||
|
|
||||||
acpi:DLO*:
|
acpi:DLO*:
|
||||||
ID_VENDOR_FROM_DATABASE=Shenzhen Dlodlo Technologies Co., Ltd.
|
ID_VENDOR_FROM_DATABASE=Shenzhen Dlodlo Technologies Co., Ltd.
|
||||||
|
|
||||||
@ -2388,6 +2394,9 @@ acpi:EMK*:
|
|||||||
acpi:EMO*:
|
acpi:EMO*:
|
||||||
ID_VENDOR_FROM_DATABASE=ELMO COMPANY, LIMITED
|
ID_VENDOR_FROM_DATABASE=ELMO COMPANY, LIMITED
|
||||||
|
|
||||||
|
acpi:EMR*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=ICC Intelligent Platforms GmbH
|
||||||
|
|
||||||
acpi:EMU*:
|
acpi:EMU*:
|
||||||
ID_VENDOR_FROM_DATABASE=Emulex Corporation
|
ID_VENDOR_FROM_DATABASE=Emulex Corporation
|
||||||
|
|
||||||
@ -2766,6 +2775,9 @@ acpi:FTW*:
|
|||||||
acpi:FUJ*:
|
acpi:FUJ*:
|
||||||
ID_VENDOR_FROM_DATABASE=Fujitsu Ltd
|
ID_VENDOR_FROM_DATABASE=Fujitsu Ltd
|
||||||
|
|
||||||
|
acpi:FUL*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=Fun Technology Innovation INC.
|
||||||
|
|
||||||
acpi:FUN*:
|
acpi:FUN*:
|
||||||
ID_VENDOR_FROM_DATABASE=sisel muhendislik
|
ID_VENDOR_FROM_DATABASE=sisel muhendislik
|
||||||
|
|
||||||
@ -3522,6 +3534,9 @@ acpi:INZ*:
|
|||||||
acpi:IOA*:
|
acpi:IOA*:
|
||||||
ID_VENDOR_FROM_DATABASE=CRE Technology Corporation
|
ID_VENDOR_FROM_DATABASE=CRE Technology Corporation
|
||||||
|
|
||||||
|
acpi:IOC*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=Guangxi Century Innovation Display Electronics Co., Ltd
|
||||||
|
|
||||||
acpi:IOD*:
|
acpi:IOD*:
|
||||||
ID_VENDOR_FROM_DATABASE=I-O Data Device Inc
|
ID_VENDOR_FROM_DATABASE=I-O Data Device Inc
|
||||||
|
|
||||||
@ -4005,6 +4020,9 @@ acpi:LCM*:
|
|||||||
acpi:LCN*:
|
acpi:LCN*:
|
||||||
ID_VENDOR_FROM_DATABASE=LEXICON
|
ID_VENDOR_FROM_DATABASE=LEXICON
|
||||||
|
|
||||||
|
acpi:LCP*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=Silent Power Electronics GmbH
|
||||||
|
|
||||||
acpi:LCS*:
|
acpi:LCS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Longshine Electronics Company
|
ID_VENDOR_FROM_DATABASE=Longshine Electronics Company
|
||||||
|
|
||||||
@ -4881,6 +4899,9 @@ acpi:NGC*:
|
|||||||
acpi:NGS*:
|
acpi:NGS*:
|
||||||
ID_VENDOR_FROM_DATABASE=A D S Exports
|
ID_VENDOR_FROM_DATABASE=A D S Exports
|
||||||
|
|
||||||
|
acpi:NHC*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=New H3C Technology Co., Ltd.
|
||||||
|
|
||||||
acpi:NHT*:
|
acpi:NHT*:
|
||||||
ID_VENDOR_FROM_DATABASE=Vinci Labs
|
ID_VENDOR_FROM_DATABASE=Vinci Labs
|
||||||
|
|
||||||
@ -5991,6 +6012,9 @@ acpi:SCD*:
|
|||||||
acpi:SCE*:
|
acpi:SCE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Sun Corporation
|
ID_VENDOR_FROM_DATABASE=Sun Corporation
|
||||||
|
|
||||||
|
acpi:SCG*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=Seco S.p.A.
|
||||||
|
|
||||||
acpi:SCH*:
|
acpi:SCH*:
|
||||||
ID_VENDOR_FROM_DATABASE=Schlumberger Cards
|
ID_VENDOR_FROM_DATABASE=Schlumberger Cards
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
--- 20-acpi-vendor.hwdb.base 2021-06-09 11:42:38.243878904 +0200
|
--- 20-acpi-vendor.hwdb.base 2021-06-15 21:57:03.178869619 +0200
|
||||||
+++ 20-acpi-vendor.hwdb 2021-06-09 11:42:38.251878816 +0200
|
+++ 20-acpi-vendor.hwdb 2021-06-15 21:57:03.185869634 +0200
|
||||||
@@ -3,6 +3,8 @@
|
@@ -3,6 +3,8 @@
|
||||||
# Data imported from:
|
# Data imported from:
|
||||||
# https://uefi.org/uefi-pnp-export
|
# https://uefi.org/uefi-pnp-export
|
||||||
@ -19,7 +19,7 @@
|
|||||||
acpi:AMDI*:
|
acpi:AMDI*:
|
||||||
ID_VENDOR_FROM_DATABASE=AMD
|
ID_VENDOR_FROM_DATABASE=AMD
|
||||||
|
|
||||||
@@ -316,6 +315,9 @@
|
@@ -319,6 +318,9 @@
|
||||||
acpi:AAA*:
|
acpi:AAA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
acpi:AAE*:
|
acpi:AAE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
||||||
|
|
||||||
@@ -343,6 +345,9 @@
|
@@ -346,6 +348,9 @@
|
||||||
acpi:ABO*:
|
acpi:ABO*:
|
||||||
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||||
|
|
||||||
@ -39,7 +39,7 @@
|
|||||||
acpi:ABS*:
|
acpi:ABS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
||||||
|
|
||||||
@@ -388,7 +393,7 @@
|
@@ -391,7 +396,7 @@
|
||||||
acpi:ACO*:
|
acpi:ACO*:
|
||||||
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
||||||
|
|
||||||
@ -48,7 +48,7 @@
|
|||||||
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
||||||
|
|
||||||
acpi:ACR*:
|
acpi:ACR*:
|
||||||
@@ -661,6 +666,9 @@
|
@@ -664,6 +669,9 @@
|
||||||
acpi:AMT*:
|
acpi:AMT*:
|
||||||
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
||||||
|
|
||||||
@ -58,7 +58,7 @@
|
|||||||
acpi:AMX*:
|
acpi:AMX*:
|
||||||
ID_VENDOR_FROM_DATABASE=AMX LLC
|
ID_VENDOR_FROM_DATABASE=AMX LLC
|
||||||
|
|
||||||
@@ -709,6 +717,9 @@
|
@@ -712,6 +720,9 @@
|
||||||
acpi:AOA*:
|
acpi:AOA*:
|
||||||
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
||||||
|
|
||||||
@ -68,7 +68,7 @@
|
|||||||
acpi:AOE*:
|
acpi:AOE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
||||||
|
|
||||||
@@ -718,6 +729,9 @@
|
@@ -721,6 +732,9 @@
|
||||||
acpi:AOT*:
|
acpi:AOT*:
|
||||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||||
|
|
||||||
@ -78,7 +78,7 @@
|
|||||||
acpi:APC*:
|
acpi:APC*:
|
||||||
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
||||||
|
|
||||||
@@ -893,7 +907,7 @@
|
@@ -896,7 +910,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||||
|
|
||||||
acpi:AUO*:
|
acpi:AUO*:
|
||||||
@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
acpi:AUR*:
|
acpi:AUR*:
|
||||||
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
||||||
@@ -973,6 +987,9 @@
|
@@ -976,6 +990,9 @@
|
||||||
acpi:AXE*:
|
acpi:AXE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
||||||
|
|
||||||
@ -97,7 +97,7 @@
|
|||||||
acpi:AXI*:
|
acpi:AXI*:
|
||||||
ID_VENDOR_FROM_DATABASE=American Magnetics
|
ID_VENDOR_FROM_DATABASE=American Magnetics
|
||||||
|
|
||||||
@@ -1123,6 +1140,9 @@
|
@@ -1126,6 +1143,9 @@
|
||||||
acpi:BML*:
|
acpi:BML*:
|
||||||
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
||||||
|
|
||||||
@ -107,7 +107,7 @@
|
|||||||
acpi:BMS*:
|
acpi:BMS*:
|
||||||
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
||||||
|
|
||||||
@@ -1135,6 +1155,9 @@
|
@@ -1138,6 +1158,9 @@
|
||||||
acpi:BNO*:
|
acpi:BNO*:
|
||||||
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
||||||
|
|
||||||
@ -117,7 +117,7 @@
|
|||||||
acpi:BNS*:
|
acpi:BNS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
||||||
|
|
||||||
@@ -1378,6 +1401,9 @@
|
@@ -1381,6 +1404,9 @@
|
||||||
acpi:CHA*:
|
acpi:CHA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
||||||
|
|
||||||
@ -127,7 +127,7 @@
|
|||||||
acpi:CHD*:
|
acpi:CHD*:
|
||||||
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
||||||
|
|
||||||
@@ -1540,6 +1566,9 @@
|
@@ -1543,6 +1569,9 @@
|
||||||
acpi:COD*:
|
acpi:COD*:
|
||||||
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
||||||
|
|
||||||
@ -137,7 +137,7 @@
|
|||||||
acpi:COI*:
|
acpi:COI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
||||||
|
|
||||||
@@ -1949,7 +1978,7 @@
|
@@ -1952,7 +1981,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
||||||
|
|
||||||
acpi:DJE*:
|
acpi:DJE*:
|
||||||
@ -146,7 +146,7 @@
|
|||||||
|
|
||||||
acpi:DJP*:
|
acpi:DJP*:
|
||||||
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
||||||
@@ -2284,6 +2313,9 @@
|
@@ -2290,6 +2319,9 @@
|
||||||
acpi:EIN*:
|
acpi:EIN*:
|
||||||
ID_VENDOR_FROM_DATABASE=Elegant Invention
|
ID_VENDOR_FROM_DATABASE=Elegant Invention
|
||||||
|
|
||||||
@ -156,7 +156,7 @@
|
|||||||
acpi:EKA*:
|
acpi:EKA*:
|
||||||
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
||||||
|
|
||||||
@@ -2545,6 +2577,9 @@
|
@@ -2554,6 +2586,9 @@
|
||||||
acpi:FCG*:
|
acpi:FCG*:
|
||||||
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
||||||
|
|
||||||
@ -166,7 +166,7 @@
|
|||||||
acpi:FCS*:
|
acpi:FCS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
||||||
|
|
||||||
@@ -2918,7 +2953,7 @@
|
@@ -2930,7 +2965,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=General Standards Corporation
|
ID_VENDOR_FROM_DATABASE=General Standards Corporation
|
||||||
|
|
||||||
acpi:GSM*:
|
acpi:GSM*:
|
||||||
@ -175,7 +175,7 @@
|
|||||||
|
|
||||||
acpi:GSN*:
|
acpi:GSN*:
|
||||||
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
|
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
|
||||||
@@ -3019,6 +3054,9 @@
|
@@ -3031,6 +3066,9 @@
|
||||||
acpi:HEC*:
|
acpi:HEC*:
|
||||||
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
||||||
|
|
||||||
@ -185,7 +185,7 @@
|
|||||||
acpi:HEL*:
|
acpi:HEL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
||||||
|
|
||||||
@@ -3151,6 +3189,9 @@
|
@@ -3163,6 +3201,9 @@
|
||||||
acpi:HSD*:
|
acpi:HSD*:
|
||||||
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
||||||
|
|
||||||
@ -195,7 +195,7 @@
|
|||||||
acpi:HSM*:
|
acpi:HSM*:
|
||||||
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
||||||
|
|
||||||
@@ -3274,6 +3315,9 @@
|
@@ -3286,6 +3327,9 @@
|
||||||
acpi:ICI*:
|
acpi:ICI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
||||||
|
|
||||||
@ -205,7 +205,7 @@
|
|||||||
acpi:ICM*:
|
acpi:ICM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Intracom SA
|
ID_VENDOR_FROM_DATABASE=Intracom SA
|
||||||
|
|
||||||
@@ -3370,6 +3414,9 @@
|
@@ -3382,6 +3426,9 @@
|
||||||
acpi:IKE*:
|
acpi:IKE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
||||||
|
|
||||||
@ -215,7 +215,7 @@
|
|||||||
acpi:IKS*:
|
acpi:IKS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
||||||
|
|
||||||
@@ -3415,6 +3462,9 @@
|
@@ -3427,6 +3474,9 @@
|
||||||
acpi:IMT*:
|
acpi:IMT*:
|
||||||
ID_VENDOR_FROM_DATABASE=Inmax Technology Corporation
|
ID_VENDOR_FROM_DATABASE=Inmax Technology Corporation
|
||||||
|
|
||||||
@ -225,7 +225,7 @@
|
|||||||
acpi:INA*:
|
acpi:INA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
||||||
|
|
||||||
@@ -3925,6 +3975,9 @@
|
@@ -3940,6 +3990,9 @@
|
||||||
acpi:LAN*:
|
acpi:LAN*:
|
||||||
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
||||||
|
|
||||||
@ -235,7 +235,7 @@
|
|||||||
acpi:LAS*:
|
acpi:LAS*:
|
||||||
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
||||||
|
|
||||||
@@ -3970,6 +4023,9 @@
|
@@ -3988,6 +4041,9 @@
|
||||||
acpi:LED*:
|
acpi:LED*:
|
||||||
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
||||||
|
|
||||||
@ -245,7 +245,7 @@
|
|||||||
acpi:LEG*:
|
acpi:LEG*:
|
||||||
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
||||||
|
|
||||||
@@ -3985,6 +4041,9 @@
|
@@ -4003,6 +4059,9 @@
|
||||||
acpi:LGC*:
|
acpi:LGC*:
|
||||||
ID_VENDOR_FROM_DATABASE=Logic Ltd
|
ID_VENDOR_FROM_DATABASE=Logic Ltd
|
||||||
|
|
||||||
@ -255,7 +255,7 @@
|
|||||||
acpi:LGI*:
|
acpi:LGI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
||||||
|
|
||||||
@@ -4039,6 +4098,9 @@
|
@@ -4057,6 +4116,9 @@
|
||||||
acpi:LND*:
|
acpi:LND*:
|
||||||
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
||||||
|
|
||||||
@ -265,7 +265,7 @@
|
|||||||
acpi:LNK*:
|
acpi:LNK*:
|
||||||
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
||||||
|
|
||||||
@@ -4073,7 +4135,7 @@
|
@@ -4091,7 +4153,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=Design Technology
|
ID_VENDOR_FROM_DATABASE=Design Technology
|
||||||
|
|
||||||
acpi:LPL*:
|
acpi:LPL*:
|
||||||
@ -274,7 +274,7 @@
|
|||||||
|
|
||||||
acpi:LSC*:
|
acpi:LSC*:
|
||||||
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
||||||
@@ -4249,6 +4311,9 @@
|
@@ -4267,6 +4329,9 @@
|
||||||
acpi:MCX*:
|
acpi:MCX*:
|
||||||
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
||||||
|
|
||||||
@ -284,7 +284,7 @@
|
|||||||
acpi:MDA*:
|
acpi:MDA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
||||||
|
|
||||||
@@ -4489,6 +4554,9 @@
|
@@ -4507,6 +4572,9 @@
|
||||||
acpi:MOM*:
|
acpi:MOM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
||||||
|
|
||||||
@ -294,7 +294,7 @@
|
|||||||
acpi:MOS*:
|
acpi:MOS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
||||||
|
|
||||||
@@ -4717,6 +4785,9 @@
|
@@ -4735,6 +4803,9 @@
|
||||||
acpi:NAL*:
|
acpi:NAL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
||||||
|
|
||||||
@ -304,7 +304,7 @@
|
|||||||
acpi:NAT*:
|
acpi:NAT*:
|
||||||
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
||||||
|
|
||||||
@@ -5227,6 +5298,9 @@
|
@@ -5248,6 +5319,9 @@
|
||||||
acpi:PCX*:
|
acpi:PCX*:
|
||||||
ID_VENDOR_FROM_DATABASE=PC Xperten
|
ID_VENDOR_FROM_DATABASE=PC Xperten
|
||||||
|
|
||||||
@ -314,7 +314,7 @@
|
|||||||
acpi:PDM*:
|
acpi:PDM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
||||||
|
|
||||||
@@ -5290,9 +5364,6 @@
|
@@ -5311,9 +5385,6 @@
|
||||||
acpi:PHE*:
|
acpi:PHE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
||||||
|
|
||||||
@ -324,7 +324,7 @@
|
|||||||
acpi:PHL*:
|
acpi:PHL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
||||||
|
|
||||||
@@ -5380,9 +5451,6 @@
|
@@ -5401,9 +5472,6 @@
|
||||||
acpi:PNL*:
|
acpi:PNL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
||||||
|
|
||||||
@ -334,7 +334,7 @@
|
|||||||
acpi:PNR*:
|
acpi:PNR*:
|
||||||
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
||||||
|
|
||||||
@@ -5518,15 +5586,9 @@
|
@@ -5539,15 +5607,9 @@
|
||||||
acpi:PTS*:
|
acpi:PTS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Plain Tree Systems Inc
|
ID_VENDOR_FROM_DATABASE=Plain Tree Systems Inc
|
||||||
|
|
||||||
@ -350,7 +350,7 @@
|
|||||||
acpi:PVG*:
|
acpi:PVG*:
|
||||||
ID_VENDOR_FROM_DATABASE=Proview Global Co., Ltd
|
ID_VENDOR_FROM_DATABASE=Proview Global Co., Ltd
|
||||||
|
|
||||||
@@ -5842,9 +5904,6 @@
|
@@ -5863,9 +5925,6 @@
|
||||||
acpi:RTI*:
|
acpi:RTI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
||||||
|
|
||||||
@ -360,7 +360,7 @@
|
|||||||
acpi:RTL*:
|
acpi:RTL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
||||||
|
|
||||||
@@ -6010,9 +6069,6 @@
|
@@ -6034,9 +6093,6 @@
|
||||||
acpi:SEE*:
|
acpi:SEE*:
|
||||||
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
||||||
|
|
||||||
@ -370,7 +370,7 @@
|
|||||||
acpi:SEI*:
|
acpi:SEI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
||||||
|
|
||||||
@@ -6475,6 +6531,9 @@
|
@@ -6499,6 +6555,9 @@
|
||||||
acpi:SVD*:
|
acpi:SVD*:
|
||||||
ID_VENDOR_FROM_DATABASE=SVD Computer
|
ID_VENDOR_FROM_DATABASE=SVD Computer
|
||||||
|
|
||||||
@ -380,7 +380,7 @@
|
|||||||
acpi:SVI*:
|
acpi:SVI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
||||||
|
|
||||||
@@ -6559,6 +6618,9 @@
|
@@ -6583,6 +6642,9 @@
|
||||||
acpi:SZM*:
|
acpi:SZM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
||||||
|
|
||||||
@ -390,7 +390,7 @@
|
|||||||
acpi:TAA*:
|
acpi:TAA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Tandberg
|
ID_VENDOR_FROM_DATABASE=Tandberg
|
||||||
|
|
||||||
@@ -6649,6 +6711,9 @@
|
@@ -6673,6 +6735,9 @@
|
||||||
acpi:TDG*:
|
acpi:TDG*:
|
||||||
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
||||||
|
|
||||||
@ -400,7 +400,7 @@
|
|||||||
acpi:TDM*:
|
acpi:TDM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
||||||
|
|
||||||
@@ -6691,6 +6756,9 @@
|
@@ -6715,6 +6780,9 @@
|
||||||
acpi:TEV*:
|
acpi:TEV*:
|
||||||
ID_VENDOR_FROM_DATABASE=Televés, S.A.
|
ID_VENDOR_FROM_DATABASE=Televés, S.A.
|
||||||
|
|
||||||
@ -410,7 +410,7 @@
|
|||||||
acpi:TEZ*:
|
acpi:TEZ*:
|
||||||
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
||||||
|
|
||||||
@@ -6814,9 +6882,6 @@
|
@@ -6838,9 +6906,6 @@
|
||||||
acpi:TNC*:
|
acpi:TNC*:
|
||||||
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
||||||
|
|
||||||
@ -420,7 +420,7 @@
|
|||||||
acpi:TNM*:
|
acpi:TNM*:
|
||||||
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
||||||
|
|
||||||
@@ -7123,14 +7188,14 @@
|
@@ -7147,14 +7212,14 @@
|
||||||
acpi:UNC*:
|
acpi:UNC*:
|
||||||
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||||
|
|
||||||
@ -441,7 +441,7 @@
|
|||||||
|
|
||||||
acpi:UNI*:
|
acpi:UNI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
||||||
@@ -7165,6 +7230,9 @@
|
@@ -7189,6 +7254,9 @@
|
||||||
acpi:USA*:
|
acpi:USA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
||||||
|
|
||||||
@ -451,7 +451,7 @@
|
|||||||
acpi:USD*:
|
acpi:USD*:
|
||||||
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
||||||
|
|
||||||
@@ -7414,9 +7482,6 @@
|
@@ -7438,9 +7506,6 @@
|
||||||
acpi:WAL*:
|
acpi:WAL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Wave Access
|
ID_VENDOR_FROM_DATABASE=Wave Access
|
||||||
|
|
||||||
@ -461,7 +461,7 @@
|
|||||||
acpi:WAV*:
|
acpi:WAV*:
|
||||||
ID_VENDOR_FROM_DATABASE=Wavephore
|
ID_VENDOR_FROM_DATABASE=Wavephore
|
||||||
|
|
||||||
@@ -7541,7 +7606,7 @@
|
@@ -7565,7 +7630,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
|
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
|
||||||
|
|
||||||
acpi:WYS*:
|
acpi:WYS*:
|
||||||
@ -470,7 +470,7 @@
|
|||||||
|
|
||||||
acpi:WYT*:
|
acpi:WYT*:
|
||||||
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
||||||
@@ -7555,9 +7620,6 @@
|
@@ -7579,9 +7644,6 @@
|
||||||
acpi:XDM*:
|
acpi:XDM*:
|
||||||
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
||||||
|
|
||||||
@ -480,7 +480,7 @@
|
|||||||
acpi:XES*:
|
acpi:XES*:
|
||||||
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
||||||
|
|
||||||
@@ -7588,9 +7650,6 @@
|
@@ -7612,9 +7674,6 @@
|
||||||
acpi:XNT*:
|
acpi:XNT*:
|
||||||
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
||||||
|
|
||||||
@ -490,7 +490,7 @@
|
|||||||
acpi:XQU*:
|
acpi:XQU*:
|
||||||
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
||||||
|
|
||||||
@@ -7657,6 +7716,9 @@
|
@@ -7681,6 +7740,9 @@
|
||||||
acpi:ZBX*:
|
acpi:ZBX*:
|
||||||
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
||||||
|
|
||||||
|
|||||||
@ -107,6 +107,7 @@
|
|||||||
<tr class="odd"><td>Pensando Systems, Inc.</td><td>PNSO</td><td>03/24/2021</td> </tr>
|
<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="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="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>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -36305,6 +36305,24 @@ E0B9E5 (base 16) Technicolor Delivery Technologies Belgium NV
|
|||||||
Torino 10121
|
Torino 10121
|
||||||
IT
|
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
|
9C-FF-C2 (hex) AVI Systems GmbH
|
||||||
9CFFC2 (base 16) AVI Systems GmbH
|
9CFFC2 (base 16) AVI Systems GmbH
|
||||||
Dr. Franz Wilhelmstraße 2A
|
Dr. Franz Wilhelmstraße 2A
|
||||||
@ -72161,12 +72179,48 @@ E0A258 (base 16) Wanbang Digital Energy Co.,Ltd
|
|||||||
Gwangju Gwangsan-gu 506-731
|
Gwangju Gwangsan-gu 506-731
|
||||||
KR
|
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
|
D0-F8-65 (hex) ITEL MOBILE LIMITED
|
||||||
D0F865 (base 16) 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
|
RM B3 & B4 BLOCK B, KO FAI INDUSTRIAL BUILDING NO.7 KO FAI ROAD, YAU TONG, KLN, H.K
|
||||||
Hong Kong KOWLOON 999077
|
Hong Kong KOWLOON 999077
|
||||||
HK
|
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.
|
84-80-94 (hex) Meter, Inc.
|
||||||
848094 (base 16) Meter, Inc.
|
848094 (base 16) Meter, Inc.
|
||||||
148 Townsend St
|
148 Townsend St
|
||||||
@ -74405,12 +74459,6 @@ D07FA0 (base 16) Samsung Electronics Co.,Ltd
|
|||||||
WEST CHESTER PA 19380
|
WEST CHESTER PA 19380
|
||||||
US
|
US
|
||||||
|
|
||||||
78-52-4A (hex) Ensenso GmbH
|
|
||||||
78524A (base 16) Ensenso GmbH
|
|
||||||
Gundelfingerstr. 2
|
|
||||||
Freiburg 79108
|
|
||||||
DE
|
|
||||||
|
|
||||||
E4-FC-82 (hex) Juniper Networks
|
E4-FC-82 (hex) Juniper Networks
|
||||||
E4FC82 (base 16) Juniper Networks
|
E4FC82 (base 16) Juniper Networks
|
||||||
1133 Innovation Way
|
1133 Innovation Way
|
||||||
@ -108293,6 +108341,42 @@ EC937D (base 16) Technicolor CH USA Inc.
|
|||||||
Edegem - Belgium B-2650
|
Edegem - Belgium B-2650
|
||||||
BE
|
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
|
F8-D0-27 (hex) Seiko Epson Corporation
|
||||||
F8D027 (base 16) Seiko Epson Corporation
|
F8D027 (base 16) Seiko Epson Corporation
|
||||||
2070 Kotobuki Koaka
|
2070 Kotobuki Koaka
|
||||||
@ -144314,12 +144398,6 @@ A4B1E9 (base 16) Technicolor Delivery Technologies Belgium NV
|
|||||||
Edegem - Belgium B-2650
|
Edegem - Belgium B-2650
|
||||||
BE
|
BE
|
||||||
|
|
||||||
0C-E5-A3 (hex) SharkNinja
|
|
||||||
0CE5A3 (base 16) SharkNinja
|
|
||||||
85 Cude Ln
|
|
||||||
Madison TN 37115
|
|
||||||
US
|
|
||||||
|
|
||||||
30-56-96 (hex) Infinix mobility limited
|
30-56-96 (hex) Infinix mobility limited
|
||||||
305696 (base 16) 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
|
RMS 05-15, 13A/F SOUTH TOWER WORLD FINANCE CTR HARBOUR CITY 17 CANTON RD TST KLN HONG KONG
|
||||||
@ -144332,6 +144410,39 @@ A4B1E9 (base 16) Technicolor Delivery Technologies Belgium NV
|
|||||||
Chongqing China 401120
|
Chongqing China 401120
|
||||||
CN
|
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.
|
7C-8A-E1 (hex) COMPAL INFORMATION (KUNSHAN) CO., LTD.
|
||||||
7C8AE1 (base 16) COMPAL INFORMATION (KUNSHAN) CO., LTD.
|
7C8AE1 (base 16) COMPAL INFORMATION (KUNSHAN) CO., LTD.
|
||||||
NO. 25, THE 3RD Street KUNSHAN EXPORT PROCESSING ZONE
|
NO. 25, THE 3RD Street KUNSHAN EXPORT PROCESSING ZONE
|
||||||
@ -175484,12 +175595,6 @@ EC6C9F (base 16) Chengdu Volans Technology CO.,LTD
|
|||||||
UNITED KINGDOM
|
UNITED KINGDOM
|
||||||
GB
|
GB
|
||||||
|
|
||||||
08-00-42 (hex) JAPAN MACNICS CORP.
|
|
||||||
080042 (base 16) JAPAN MACNICS CORP.
|
|
||||||
|
|
||||||
|
|
||||||
JP
|
|
||||||
|
|
||||||
08-00-66 (hex) AGFA CORPORATION
|
08-00-66 (hex) AGFA CORPORATION
|
||||||
080066 (base 16) AGFA CORPORATION
|
080066 (base 16) AGFA CORPORATION
|
||||||
200 BALLARDVALE STREET
|
200 BALLARDVALE STREET
|
||||||
@ -180251,8 +180356,44 @@ A031DB (base 16) HUAWEI TECHNOLOGIES CO.,LTD
|
|||||||
Shinagawa-ku 141-0032
|
Shinagawa-ku 141-0032
|
||||||
JP
|
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.
|
5C-75-C6 (hex) China Mobile Group Device Co.,Ltd.
|
||||||
5C75C6 (base 16) China Mobile Group Device Co.,Ltd.
|
5C75C6 (base 16) China Mobile Group Device Co.,Ltd.
|
||||||
32 Xuanwumen West Street,Xicheng District
|
32 Xuanwumen West Street,Xicheng District
|
||||||
Beijing 100053
|
Beijing 100053
|
||||||
CN
|
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
|
||||||
|
|||||||
@ -1580,12 +1580,6 @@ E00000-EFFFFF (base 16) Domotz Ltd
|
|||||||
Gilching 82205
|
Gilching 82205
|
||||||
DE
|
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
|
04-71-4B (hex) Energport Inc
|
||||||
800000-8FFFFF (base 16) Energport Inc
|
800000-8FFFFF (base 16) Energport Inc
|
||||||
48660 Kato Road
|
48660 Kato Road
|
||||||
@ -4430,18 +4424,18 @@ C8-F5-D6 (hex) EVOTOR LLC
|
|||||||
Moscow 119021
|
Moscow 119021
|
||||||
RU
|
RU
|
||||||
|
|
||||||
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
|
C0-FB-F9 (hex) IVT corporation
|
||||||
600000-6FFFFF (base 16) 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
|
5/F, Zhongguancun Fazhan Building, No 12, Shangdi Xinxi Road, Haidian District, Beijing, 100085, P.R. CHINA
|
||||||
Beijing 100085
|
Beijing 100085
|
||||||
CN
|
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
|
||||||
|
|
||||||
18-74-E2 (hex) HANGZHOU ZHOUJU ELECTRONIC TECHNOLOGICAL CO.,LTD
|
18-74-E2 (hex) HANGZHOU ZHOUJU ELECTRONIC TECHNOLOGICAL CO.,LTD
|
||||||
500000-5FFFFF (base 16) 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
|
Floor 6,A Building, Xianxing Road NO.32,Xianlin Town,Yuhang District
|
||||||
@ -4454,6 +4448,12 @@ B00000-BFFFFF (base 16) Shenzhen Jooan Technology Co., Ltd
|
|||||||
Shenzhen Guangdong 518000
|
Shenzhen Guangdong 518000
|
||||||
CN
|
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
|
18-74-E2 (hex) SHENZHEN AORO COMMUNICATION EQUIPMENT CO., LTD
|
||||||
900000-9FFFFF (base 16) 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
|
ROOM 302, 3RD FLOOR BUILDING A9, NO.6 YUANCHUANGYUAN,FUHUA ROAD, JUTANG COMMUNITY, FUCHENG STREET, LONGHUA DISTRICT
|
||||||
@ -4466,12 +4466,6 @@ B00000-BFFFFF (base 16) Shenzhen Jooan Technology Co., Ltd
|
|||||||
Shenzhen Guangdong?China 518040
|
Shenzhen Guangdong?China 518040
|
||||||
CN
|
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.
|
FC-CD-2F (hex) QCTEK CO.,LTD.
|
||||||
500000-5FFFFF (base 16) QCTEK CO.,LTD.
|
500000-5FFFFF (base 16) QCTEK CO.,LTD.
|
||||||
6F-1., No.496, Bannan Rd., Zhonghe Dist.,
|
6F-1., No.496, Bannan Rd., Zhonghe Dist.,
|
||||||
@ -4490,12 +4484,6 @@ E8-78-29 (hex) JVISMall CO.,LTD
|
|||||||
Seoul 04058
|
Seoul 04058
|
||||||
KR
|
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
|
E8-78-29 (hex) Annapurna labs
|
||||||
400000-4FFFFF (base 16) Annapurna labs
|
400000-4FFFFF (base 16) Annapurna labs
|
||||||
Matam Scientific Industries Center, Building 8.2
|
Matam Scientific Industries Center, Building 8.2
|
||||||
@ -4514,11 +4502,11 @@ C00000-CFFFFF (base 16) Brigates Microelectronics Co., Ltd.
|
|||||||
Kunshan Jiangsu 215300
|
Kunshan Jiangsu 215300
|
||||||
CN
|
CN
|
||||||
|
|
||||||
98-6D-35 (hex) Advanced Diagnostics LTD
|
78-13-05 (hex) Shanghai Siminics Optoelectronic Technology Co., Ltd
|
||||||
900000-9FFFFF (base 16) Advanced Diagnostics LTD
|
D00000-DFFFFF (base 16) Shanghai Siminics Optoelectronic Technology Co., Ltd
|
||||||
Diagnostics House, Eastboro Fields, Hemdale
|
Room 9, Building 15, Huatai Center Jinyun Rd
|
||||||
Nuneaton Warwickshire CV116GL
|
Shanghai 201803
|
||||||
GB
|
CN
|
||||||
|
|
||||||
A8-5B-36 (hex) Shenzhen Dandelion Intelligent Cloud Technology Development Co., LTD
|
A8-5B-36 (hex) Shenzhen Dandelion Intelligent Cloud Technology Development Co., LTD
|
||||||
300000-3FFFFF (base 16) Shenzhen Dandelion Intelligent Cloud Technology Development Co., LTD
|
300000-3FFFFF (base 16) Shenzhen Dandelion Intelligent Cloud Technology Development Co., LTD
|
||||||
@ -4526,16 +4514,34 @@ A8-5B-36 (hex) Shenzhen Dandelion Intelligent Cloud Technology Development Co
|
|||||||
Shenzhen Guangdong 518100
|
Shenzhen Guangdong 518100
|
||||||
CN
|
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
|
A8-5B-36 (hex) ATER Technologies Co Ltd
|
||||||
C00000-CFFFFF (base 16) ATER Technologies Co Ltd
|
C00000-CFFFFF (base 16) ATER Technologies Co Ltd
|
||||||
Floor 5,Building 1,HongYe Industry Park,Baoan district
|
Floor 5,Building 1,HongYe Industry Park,Baoan district
|
||||||
Shenzhen Guangdong 518100
|
Shenzhen Guangdong 518100
|
||||||
CN
|
CN
|
||||||
|
|
||||||
78-13-05 (hex) microtec Sicherheitstechnik GmbH
|
A8-5B-36 (hex) Loomanet Inc.
|
||||||
300000-3FFFFF (base 16) microtec Sicherheitstechnik GmbH
|
200000-2FFFFF (base 16) Loomanet Inc.
|
||||||
Auf der Langwies 20
|
900 Lafayette St. Suite 704
|
||||||
Hünstetten 65510
|
Santa Clara CA 95050
|
||||||
|
US
|
||||||
|
|
||||||
|
F0-2A-2B (hex) Comexio GmbH
|
||||||
|
C00000-CFFFFF (base 16) Comexio GmbH
|
||||||
|
Eisenberger Straße 56a
|
||||||
|
Kerzenheim 67304
|
||||||
DE
|
DE
|
||||||
|
|
||||||
A8-5B-36 (hex) JUGANU LTD
|
A8-5B-36 (hex) JUGANU LTD
|
||||||
@ -4550,17 +4556,23 @@ F0-2A-2B (hex) Frigotel SRL
|
|||||||
San Donà di Piave 30027
|
San Donà di Piave 30027
|
||||||
IT
|
IT
|
||||||
|
|
||||||
A8-5B-36 (hex) Loomanet Inc.
|
44-A9-2C (hex) ZHEJIANG HISING TECHNOLOGY CO.,LTD
|
||||||
200000-2FFFFF (base 16) Loomanet Inc.
|
000000-0FFFFF (base 16) ZHEJIANG HISING TECHNOLOGY CO.,LTD
|
||||||
900 Lafayette St. Suite 704
|
Room 201 and 202,Building 5,328 Pingjiang Road,Yuecheng District,Shaoxing
|
||||||
Santa Clara CA 95050
|
Shaoxing Zhejiang 312000
|
||||||
US
|
CN
|
||||||
|
|
||||||
F0-2A-2B (hex) Comexio GmbH
|
44-A9-2C (hex) Anhui Zhongxin Electronic Technology Co., Ltd.
|
||||||
C00000-CFFFFF (base 16) Comexio GmbH
|
200000-2FFFFF (base 16) Anhui Zhongxin Electronic Technology Co., Ltd.
|
||||||
Eisenberger Straße 56a
|
South Head, No.11, Building 2, Huayuan Commercial Building,6km, Changqing Township, Yuhui District, Bengbu City,Anhui Province
|
||||||
Kerzenheim 67304
|
Bengbu Anhui 233010
|
||||||
DE
|
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
|
||||||
|
|
||||||
44-A9-2C (hex) Amethystum Storage Technology Co., Ltd
|
44-A9-2C (hex) Amethystum Storage Technology Co., Ltd
|
||||||
B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
|
B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
|
||||||
@ -4574,24 +4586,6 @@ B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
|
|||||||
Rheine 48429
|
Rheine 48429
|
||||||
DE
|
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
|
58-48-49 (hex) X-speed lnformation Technology Co.,Ltd
|
||||||
200000-2FFFFF (base 16) 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
|
th Floor,Building 2,Xinyu Electronic Industrial Park,No.69, Zhaishan,Houshan Village, High-tech Zone,Fuzhou,Fujian ,China
|
||||||
@ -4604,6 +4598,18 @@ B00000-BFFFFF (base 16) Amethystum Storage Technology Co., Ltd
|
|||||||
Walnut CA 91789
|
Walnut CA 91789
|
||||||
US
|
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
|
4C-4B-F9 (hex) Shenzhen dingsheng technology co., LTD
|
||||||
400000-4FFFFF (base 16) 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
|
Floor 3, building 5, kaijeda industrial zone, no.97, huaxing road, langkou community, dalang street, longhua district
|
||||||
@ -8714,12 +8720,6 @@ D0-9F-D9 (hex) Raymax Technology Ltd.
|
|||||||
Hangzhou China 310012
|
Hangzhou China 310012
|
||||||
CN
|
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.
|
D0-9F-D9 (hex) Fujian Newland Auto-ID Tech. Co,.Ltd.
|
||||||
C00000-CFFFFF (base 16) 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
|
Newland Science & Technology Park, No.1 Rujiang West Rd,Mawei,Fuzhou, P.R.China
|
||||||
@ -8732,6 +8732,12 @@ D0-9F-D9 (hex) Lemei Intelligent IOT (Shenzhen) Co., Ltd
|
|||||||
Shenzhen Guangdong 518000
|
Shenzhen Guangdong 518000
|
||||||
CN
|
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
|
18-74-E2 (hex) Kano Computing Limited
|
||||||
800000-8FFFFF (base 16) Kano Computing Limited
|
800000-8FFFFF (base 16) Kano Computing Limited
|
||||||
Unit 12.1 - 12.2, 11-29 Fashion Street
|
Unit 12.1 - 12.2, 11-29 Fashion Street
|
||||||
@ -8744,12 +8750,6 @@ D0-9F-D9 (hex) Lemei Intelligent IOT (Shenzhen) Co., Ltd
|
|||||||
Columbia MO 65201
|
Columbia MO 65201
|
||||||
US
|
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
|
A8-5B-36 (hex) TAIDEN INDUSTRIAL CO.,LTD
|
||||||
A00000-AFFFFF (base 16) TAIDEN INDUSTRIAL CO.,LTD
|
A00000-AFFFFF (base 16) TAIDEN INDUSTRIAL CO.,LTD
|
||||||
6/F, Block B, Future Plaza, 6060 Qiaoxiang Rd, Nanshan District
|
6/F, Block B, Future Plaza, 6060 Qiaoxiang Rd, Nanshan District
|
||||||
@ -8762,6 +8762,12 @@ F0-2A-2B (hex) ZiGong Pengcheng Technology Co.,Ltd
|
|||||||
ZiGong SiChuan 643221
|
ZiGong SiChuan 643221
|
||||||
CN
|
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
|
A8-5B-36 (hex) Avista Edge
|
||||||
900000-9FFFFF (base 16) Avista Edge
|
900000-9FFFFF (base 16) Avista Edge
|
||||||
12 N Sheridan St
|
12 N Sheridan St
|
||||||
@ -8786,17 +8792,29 @@ F0-2A-2B (hex) Tobi Tribe Inc.
|
|||||||
Shenzhen 518126
|
Shenzhen 518126
|
||||||
CN
|
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
|
58-48-49 (hex) Daatrics LTD
|
||||||
B00000-BFFFFF (base 16) Daatrics LTD
|
B00000-BFFFFF (base 16) Daatrics LTD
|
||||||
4th Floor, 86-90 Paul Street
|
4th Floor, 86-90 Paul Street
|
||||||
LONDON EC2A 4NE
|
LONDON EC2A 4NE
|
||||||
GB
|
GB
|
||||||
|
|
||||||
58-48-49 (hex) Shandong Aotai Electric Co., LTD.
|
64-33-B5 (hex) Duomondi International Development Co., Ltd.
|
||||||
700000-7FFFFF (base 16) Shandong Aotai Electric Co., LTD.
|
000000-0FFFFF (base 16) Duomondi International Development Co., Ltd.
|
||||||
282 Bole Avenue, High-tech Development Zone Shandong P.R. China
|
Unit D 19/F Roxy Industry Center 59-66 Tai Lin Pai
|
||||||
Jinan Shandong 250101
|
Kwai Chung NT 999077
|
||||||
CN
|
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
|
||||||
|
|
||||||
20-85-93 (hex) UNILUMIN GROUP CO.,LTD
|
20-85-93 (hex) UNILUMIN GROUP CO.,LTD
|
||||||
300000-3FFFFF (base 16) UNILUMIN GROUP CO.,LTD
|
300000-3FFFFF (base 16) UNILUMIN GROUP CO.,LTD
|
||||||
@ -13073,6 +13091,12 @@ C0-FB-F9 (hex) SHENZHEN HEQIANG ELECTRONICS LIMITED
|
|||||||
SHENZHEN GUANGDONG 518129
|
SHENZHEN GUANGDONG 518129
|
||||||
CN
|
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
|
D0-9F-D9 (hex) Carbon Mobile GmbH
|
||||||
500000-5FFFFF (base 16) Carbon Mobile GmbH
|
500000-5FFFFF (base 16) Carbon Mobile GmbH
|
||||||
Winterfeldtstr. 21
|
Winterfeldtstr. 21
|
||||||
@ -13085,12 +13109,6 @@ D0-9F-D9 (hex) ENTTEC Pty Ltd.
|
|||||||
ringwood vic 3134
|
ringwood vic 3134
|
||||||
AU
|
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
|
D0-9F-D9 (hex) Minibems Ltd
|
||||||
E00000-EFFFFF (base 16) Minibems Ltd
|
E00000-EFFFFF (base 16) Minibems Ltd
|
||||||
Oxford Point, 19 Oxford Road
|
Oxford Point, 19 Oxford Road
|
||||||
@ -13127,11 +13145,17 @@ E8-78-29 (hex) AXING AG
|
|||||||
Ramsen 8262
|
Ramsen 8262
|
||||||
CH
|
CH
|
||||||
|
|
||||||
78-13-05 (hex) Jiangxi Winsky Intelligence Technology Co., Ltd
|
78-13-05 (hex) Leonardo SpA - Montevarchi
|
||||||
400000-4FFFFF (base 16) Jiangxi Winsky Intelligence Technology Co., Ltd
|
A00000-AFFFFF (base 16) Leonardo SpA - Montevarchi
|
||||||
Zhihang road Wutong Ave. Hight tech area Jingdezhen City Jiangxi province PRC.
|
via DELLA LAMA, 13
|
||||||
Jingdezhen Jiangxi 333000
|
Montevarchi AREZZO 52025
|
||||||
CN
|
IT
|
||||||
|
|
||||||
|
78-13-05 (hex) InnoSenT
|
||||||
|
000000-0FFFFF (base 16) InnoSenT
|
||||||
|
Am Roedertor 30
|
||||||
|
Donnersdorf Bavaria 97499
|
||||||
|
DE
|
||||||
|
|
||||||
78-13-05 (hex) Global Media Streaming LLC
|
78-13-05 (hex) Global Media Streaming LLC
|
||||||
100000-1FFFFF (base 16) Global Media Streaming LLC
|
100000-1FFFFF (base 16) Global Media Streaming LLC
|
||||||
@ -13145,17 +13169,11 @@ E8-78-29 (hex) AXING AG
|
|||||||
Pskov 180017
|
Pskov 180017
|
||||||
RU
|
RU
|
||||||
|
|
||||||
78-13-05 (hex) Leonardo SpA - Montevarchi
|
78-13-05 (hex) Jiangxi Winsky Intelligence Technology Co., Ltd
|
||||||
A00000-AFFFFF (base 16) Leonardo SpA - Montevarchi
|
400000-4FFFFF (base 16) Jiangxi Winsky Intelligence Technology Co., Ltd
|
||||||
via DELLA LAMA, 13
|
Zhihang road Wutong Ave. Hight tech area Jingdezhen City Jiangxi province PRC.
|
||||||
Montevarchi AREZZO 52025
|
Jingdezhen Jiangxi 333000
|
||||||
IT
|
CN
|
||||||
|
|
||||||
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.
|
A8-5B-36 (hex) ShangHai SnowLake Technology Co.,LTD.
|
||||||
800000-8FFFFF (base 16) ShangHai SnowLake Technology Co.,LTD.
|
800000-8FFFFF (base 16) ShangHai SnowLake Technology Co.,LTD.
|
||||||
@ -13163,12 +13181,24 @@ A8-5B-36 (hex) ShangHai SnowLake Technology Co.,LTD.
|
|||||||
SHANGHAI SHANGHAI 200050
|
SHANGHAI SHANGHAI 200050
|
||||||
CN
|
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
|
A8-5B-36 (hex) Lampyris Plant LLC
|
||||||
B00000-BFFFFF (base 16) Lampyris Plant LLC
|
B00000-BFFFFF (base 16) Lampyris Plant LLC
|
||||||
st.Arbuzova, 12, office. 201
|
st.Arbuzova, 12, office. 201
|
||||||
Novosibirsk 630117
|
Novosibirsk 630117
|
||||||
RU
|
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.
|
F0-2A-2B (hex) Shanghai Armour Technology Co., Ltd.
|
||||||
200000-2FFFFF (base 16) Shanghai Armour Technology Co., Ltd.
|
200000-2FFFFF (base 16) Shanghai Armour Technology Co., Ltd.
|
||||||
Room 411, building 10, 471 Guiping Road, Xuhui District
|
Room 411, building 10, 471 Guiping Road, Xuhui District
|
||||||
@ -13181,24 +13211,12 @@ B00000-BFFFFF (base 16) EL.MO. spa
|
|||||||
Campodarsego Padua I35011
|
Campodarsego Padua I35011
|
||||||
IT
|
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
|
F0-2A-2B (hex) Onclave Networks
|
||||||
400000-4FFFFF (base 16) Onclave Networks
|
400000-4FFFFF (base 16) Onclave Networks
|
||||||
7950 Jones Branch Drive #805
|
7950 Jones Branch Drive #805
|
||||||
McLean VA 22102
|
McLean VA 22102
|
||||||
US
|
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.
|
F0-2A-2B (hex) Definitely Win Corp.,Ltd.
|
||||||
D00000-DFFFFF (base 16) Definitely Win Corp.,Ltd.
|
D00000-DFFFFF (base 16) Definitely Win Corp.,Ltd.
|
||||||
2F., No. 48, Da'an St., Xizhi Dist.,
|
2F., No. 48, Da'an St., Xizhi Dist.,
|
||||||
@ -13235,6 +13253,12 @@ C00000-CFFFFF (base 16) Cubitech
|
|||||||
Shenzhen 518000
|
Shenzhen 518000
|
||||||
CN
|
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
|
44-A9-2C (hex) Annapurna labs
|
||||||
E00000-EFFFFF (base 16) Annapurna labs
|
E00000-EFFFFF (base 16) Annapurna labs
|
||||||
Matam Scientific Industries Center, Building 8.2
|
Matam Scientific Industries Center, Building 8.2
|
||||||
@ -13247,18 +13271,18 @@ E00000-EFFFFF (base 16) Annapurna labs
|
|||||||
Littleton CO 80127
|
Littleton CO 80127
|
||||||
US
|
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
|
58-48-49 (hex) Viper Design LLC
|
||||||
300000-3FFFFF (base 16) Viper Design LLC
|
300000-3FFFFF (base 16) Viper Design LLC
|
||||||
154 Cude Ln
|
154 Cude Ln
|
||||||
Madison TN 37115
|
Madison TN 37115
|
||||||
US
|
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
|
64-33-B5 (hex) Hometek Eletronics Co., Ltd
|
||||||
A00000-AFFFFF (base 16) 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.
|
7F-2 No. 16,Lane 609, Section 5 Chung Hsin Rd. Sanchong District. New Taipei City Taiwan R.O.C.
|
||||||
@ -13277,11 +13301,11 @@ E00000-EFFFFF (base 16) Avadesign Technology Co. Ltd.
|
|||||||
Beijing 100000
|
Beijing 100000
|
||||||
CN
|
CN
|
||||||
|
|
||||||
58-48-49 (hex) SKAARHOJ ApS
|
64-33-B5 (hex) Huaqin Telecom Technology Co.,Ltd.
|
||||||
100000-1FFFFF (base 16) SKAARHOJ ApS
|
100000-1FFFFF (base 16) Huaqin Telecom Technology Co.,Ltd.
|
||||||
Rosenkaeret 11C
|
Building 1,No.399, Keyuan Road, Pudong, Shanghai China
|
||||||
Soeborg 2860
|
Shanghai 200120
|
||||||
DK
|
CN
|
||||||
|
|
||||||
64-33-B5 (hex) Wingtech Mobile Communications Co.,Ltd
|
64-33-B5 (hex) Wingtech Mobile Communications Co.,Ltd
|
||||||
300000-3FFFFF (base 16) Wingtech Mobile Communications Co.,Ltd
|
300000-3FFFFF (base 16) Wingtech Mobile Communications Co.,Ltd
|
||||||
@ -13289,11 +13313,11 @@ E00000-EFFFFF (base 16) Avadesign Technology Co. Ltd.
|
|||||||
Jiaxing Zhejiang 314001
|
Jiaxing Zhejiang 314001
|
||||||
CN
|
CN
|
||||||
|
|
||||||
64-33-B5 (hex) Huaqin Telecom Technology Co.,Ltd.
|
64-33-B5 (hex) IIYAMA CORPORATION
|
||||||
100000-1FFFFF (base 16) Huaqin Telecom Technology Co.,Ltd.
|
D00000-DFFFFF (base 16) IIYAMA CORPORATION
|
||||||
Building 1,No.399, Keyuan Road, Pudong, Shanghai China
|
Wijkermeerstraat 8
|
||||||
Shanghai 200120
|
Hoofddorp 2131HA
|
||||||
CN
|
NL
|
||||||
|
|
||||||
4C-4B-F9 (hex) Shandong Linkotech Electronic Co., Ltd.
|
4C-4B-F9 (hex) Shandong Linkotech Electronic Co., Ltd.
|
||||||
600000-6FFFFF (base 16) Shandong Linkotech Electronic Co., Ltd.
|
600000-6FFFFF (base 16) Shandong Linkotech Electronic Co., Ltd.
|
||||||
@ -17471,12 +17495,6 @@ D00000-DFFFFF (base 16) Origins Technology Limited
|
|||||||
Beijing 100027
|
Beijing 100027
|
||||||
CN
|
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
|
C8-F5-D6 (hex) United Barcode Systems
|
||||||
B00000-BFFFFF (base 16) United Barcode Systems
|
B00000-BFFFFF (base 16) United Barcode Systems
|
||||||
Av. Progres 56, Pol. Ind. els Garrofers
|
Av. Progres 56, Pol. Ind. els Garrofers
|
||||||
@ -17489,6 +17507,12 @@ C00000-CFFFFF (base 16) Eltako GmbH
|
|||||||
Fellbach BW 70736
|
Fellbach BW 70736
|
||||||
DE
|
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
|
C0-FB-F9 (hex) SHENZHEN ELSKY TECHNOLOGY CO., LTD
|
||||||
C00000-CFFFFF (base 16) SHENZHEN ELSKY TECHNOLOGY CO., LTD
|
C00000-CFFFFF (base 16) SHENZHEN ELSKY TECHNOLOGY CO., LTD
|
||||||
1F BUILDING 2# ASIA INDUSTIAL PARK BANTIAN STREET LONGGANG DISTRICT
|
1F BUILDING 2# ASIA INDUSTIAL PARK BANTIAN STREET LONGGANG DISTRICT
|
||||||
@ -17501,12 +17525,6 @@ D00000-DFFFFF (base 16) Dropbeats Technology Co., Ltd.
|
|||||||
Shanghai Shanghai 201203
|
Shanghai Shanghai 201203
|
||||||
CN
|
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
|
D0-9F-D9 (hex) Eurolan Ltd
|
||||||
A00000-AFFFFF (base 16) Eurolan Ltd
|
A00000-AFFFFF (base 16) Eurolan Ltd
|
||||||
jk. Drujba 1, ul. 5028, do bl. 15
|
jk. Drujba 1, ul. 5028, do bl. 15
|
||||||
@ -17519,11 +17537,11 @@ E0-5A-9F (hex) Fujian Newland Auto-ID Tech. Co,.Ltd.
|
|||||||
Fuzhou Fujian 350015
|
Fuzhou Fujian 350015
|
||||||
CN
|
CN
|
||||||
|
|
||||||
18-74-E2 (hex) NextGen RF Design, Inc.
|
D0-9F-D9 (hex) Elevoc Technology Co., Ltd.
|
||||||
C00000-CFFFFF (base 16) NextGen RF Design, Inc.
|
600000-6FFFFF (base 16) Elevoc Technology Co., Ltd.
|
||||||
2130 Howard Dr W
|
5/F,Unit B,Block12,ShenZhenwan Science and Technology Ecological Garden,Nanshan Dist.
|
||||||
North Mankato MN 56003
|
Shenzhen Guangdong 518000
|
||||||
US
|
CN
|
||||||
|
|
||||||
18-74-E2 (hex) Sartorius Lab Instruments GmbH & Co. KG
|
18-74-E2 (hex) Sartorius Lab Instruments GmbH & Co. KG
|
||||||
100000-1FFFFF (base 16) Sartorius Lab Instruments GmbH & Co. KG
|
100000-1FFFFF (base 16) Sartorius Lab Instruments GmbH & Co. KG
|
||||||
@ -17531,12 +17549,24 @@ C00000-CFFFFF (base 16) NextGen RF Design, Inc.
|
|||||||
Goettingen 37079
|
Goettingen 37079
|
||||||
DE
|
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
|
18-74-E2 (hex) Linux Automation GmbH
|
||||||
A00000-AFFFFF (base 16) Linux Automation GmbH
|
A00000-AFFFFF (base 16) Linux Automation GmbH
|
||||||
Steuerwalder Str 21
|
Steuerwalder Str 21
|
||||||
Hildesheim 31137
|
Hildesheim 31137
|
||||||
DE
|
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
|
E8-78-29 (hex) Bernd Walter Computer Technology
|
||||||
D00000-DFFFFF (base 16) Bernd Walter Computer Technology
|
D00000-DFFFFF (base 16) Bernd Walter Computer Technology
|
||||||
Fontanestr. 18
|
Fontanestr. 18
|
||||||
@ -17549,30 +17579,24 @@ D00000-DFFFFF (base 16) Samriddi Automations Pvt. Ltd.
|
|||||||
Noida up 201307
|
Noida up 201307
|
||||||
IN
|
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
|
E8-78-29 (hex) Shenzhen Jointelli Technologies Co.,Ltd
|
||||||
100000-1FFFFF (base 16) 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
|
Room A4-1203, Building A, Kexing Science Park, No. 15, Keyuan Road,Keyuan Community,Yuehai Street,Nanshan District
|
||||||
Shenzhen Guangdong 518000
|
Shenzhen Guangdong 518000
|
||||||
CN
|
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
|
E8-78-29 (hex) Solos Technology Limited
|
||||||
E00000-EFFFFF (base 16) Solos Technology Limited
|
E00000-EFFFFF (base 16) Solos Technology Limited
|
||||||
Unit 211, 2/F., Photonics Centre, No 2 Science Park East Avenue, Shatin
|
Unit 211, 2/F., Photonics Centre, No 2 Science Park East Avenue, Shatin
|
||||||
Hong Kong Hong Kong 999077
|
Hong Kong Hong Kong 999077
|
||||||
HK
|
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
|
78-13-05 (hex) Bithouse Oy
|
||||||
B00000-BFFFFF (base 16) Bithouse Oy
|
B00000-BFFFFF (base 16) Bithouse Oy
|
||||||
Hepolamminkatu 32
|
Hepolamminkatu 32
|
||||||
@ -17585,18 +17609,18 @@ B00000-BFFFFF (base 16) Bithouse Oy
|
|||||||
Nanjing Jiangsu 211800
|
Nanjing Jiangsu 211800
|
||||||
CN
|
CN
|
||||||
|
|
||||||
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.
|
A8-5B-36 (hex) DAP B.V.
|
||||||
600000-6FFFFF (base 16) DAP B.V.
|
600000-6FFFFF (base 16) DAP B.V.
|
||||||
Tussendiepen 4a
|
Tussendiepen 4a
|
||||||
Drachten 9206 AD
|
Drachten 9206 AD
|
||||||
NL
|
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) Louis Vuitton Malletier
|
A8-5B-36 (hex) Louis Vuitton Malletier
|
||||||
700000-7FFFFF (base 16) Louis Vuitton Malletier
|
700000-7FFFFF (base 16) Louis Vuitton Malletier
|
||||||
2 rue du Pont Neuf
|
2 rue du Pont Neuf
|
||||||
@ -17663,6 +17687,12 @@ C00000-CFFFFF (base 16) Haag-Streit AG
|
|||||||
Hong Kong 999077
|
Hong Kong 999077
|
||||||
CN
|
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
|
20-85-93 (hex) Great Lite International
|
||||||
700000-7FFFFF (base 16) Great Lite International
|
700000-7FFFFF (base 16) Great Lite International
|
||||||
11F., No.207-2, Sec. 3, Beixin Rd., Xindian Dist.,
|
11F., No.207-2, Sec. 3, Beixin Rd., Xindian Dist.,
|
||||||
@ -21962,12 +21992,6 @@ C8-F5-D6 (hex) MEIRYO TECHNICA CORPORATION
|
|||||||
Owariasahi-city Aichi 488-0052
|
Owariasahi-city Aichi 488-0052
|
||||||
JP
|
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.
|
C0-FB-F9 (hex) LongSung Technology (Shanghai) Co.,Ltd.
|
||||||
700000-7FFFFF (base 16) 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
|
Room 606, Block B, Bldg. 1, No. 3000 Longdong Avenue., Zhangjiang Hi-Tech Park, Pudong District
|
||||||
@ -21986,6 +22010,12 @@ C8-F5-D6 (hex) BBPOS International Limited
|
|||||||
Hong Kong China 00000
|
Hong Kong China 00000
|
||||||
HK
|
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
|
88-C9-B3 (hex) Fortive Setra-ICG(Tianjin)Co.,Ltd
|
||||||
300000-3FFFFF (base 16) 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
|
28 weiwu Road,Micro-electronics Industrial Park,Xiqing District Tianjin,P,R,China
|
||||||
@ -22004,12 +22034,6 @@ C0-FB-F9 (hex) zxsolution
|
|||||||
shenzhen 518000
|
shenzhen 518000
|
||||||
CN
|
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
|
18-74-E2 (hex) Sansec Technology Co.,Ltd
|
||||||
700000-7FFFFF (base 16) 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
|
Bejing Chaoyang District Guangshun North Street Hostpital No.16 No.2 building 14 room 1406
|
||||||
@ -22022,6 +22046,12 @@ B00000-BFFFFF (base 16) Cablewireless Laboratory Co., Ltd
|
|||||||
Beijing 100029
|
Beijing 100029
|
||||||
CN
|
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
|
18-74-E2 (hex) CT Company
|
||||||
300000-3FFFFF (base 16) CT Company
|
300000-3FFFFF (base 16) CT Company
|
||||||
Godovikova , 9, Moscow
|
Godovikova , 9, Moscow
|
||||||
@ -22040,9 +22070,6 @@ E8-78-29 (hex) Ryu Tech. LTD
|
|||||||
Taipei Taiwan,R.O.C 235
|
Taipei Taiwan,R.O.C 235
|
||||||
TW
|
TW
|
||||||
|
|
||||||
E8-78-29 (hex) Private
|
|
||||||
B00000-BFFFFF (base 16) Private
|
|
||||||
|
|
||||||
E8-78-29 (hex) Galcon
|
E8-78-29 (hex) Galcon
|
||||||
200000-2FFFFF (base 16) Galcon
|
200000-2FFFFF (base 16) Galcon
|
||||||
Kfar Blum israel
|
Kfar Blum israel
|
||||||
@ -22064,6 +22091,9 @@ C00000-CFFFFF (base 16) FairPhone B.V.
|
|||||||
Amsterdam 1013 CP
|
Amsterdam 1013 CP
|
||||||
NL
|
NL
|
||||||
|
|
||||||
|
E8-78-29 (hex) Private
|
||||||
|
B00000-BFFFFF (base 16) Private
|
||||||
|
|
||||||
B4-4B-D6 (hex) Shenzhen Cudy Technology Co., Ltd.
|
B4-4B-D6 (hex) Shenzhen Cudy Technology Co., Ltd.
|
||||||
200000-2FFFFF (base 16) Shenzhen Cudy Technology Co., Ltd.
|
200000-2FFFFF (base 16) Shenzhen Cudy Technology Co., Ltd.
|
||||||
Room A606, Gaoxinqi Industrial Park, Baoan 67 Dist
|
Room A606, Gaoxinqi Industrial Park, Baoan 67 Dist
|
||||||
@ -22100,11 +22130,11 @@ F0-2A-2B (hex) Tenways Engineering Service Ltd
|
|||||||
Edgware Middlesex HA8 8XA
|
Edgware Middlesex HA8 8XA
|
||||||
GB
|
GB
|
||||||
|
|
||||||
44-A9-2C (hex) NetX Networks a.s.
|
44-A9-2C (hex) uimcom
|
||||||
400000-4FFFFF (base 16) NetX Networks a.s.
|
100000-1FFFFF (base 16) uimcom
|
||||||
Palackeho trida 811/112
|
Yingying building, 99 Tuanjie Road, Pukou District, Nanjing
|
||||||
Brno Czech Republic 62100
|
nanjing 211800
|
||||||
CZ
|
CN
|
||||||
|
|
||||||
F0-2A-2B (hex) Shenzhen CUCO Technology Co., Ltd
|
F0-2A-2B (hex) Shenzhen CUCO Technology Co., Ltd
|
||||||
E00000-EFFFFF (base 16) Shenzhen CUCO Technology Co., Ltd
|
E00000-EFFFFF (base 16) Shenzhen CUCO Technology Co., Ltd
|
||||||
@ -22112,11 +22142,11 @@ E00000-EFFFFF (base 16) Shenzhen CUCO Technology Co., Ltd
|
|||||||
Shenzhen Guangdong 418000
|
Shenzhen Guangdong 418000
|
||||||
CN
|
CN
|
||||||
|
|
||||||
44-A9-2C (hex) uimcom
|
44-A9-2C (hex) NetX Networks a.s.
|
||||||
100000-1FFFFF (base 16) uimcom
|
400000-4FFFFF (base 16) NetX Networks a.s.
|
||||||
Yingying building, 99 Tuanjie Road, Pukou District, Nanjing
|
Palackeho trida 811/112
|
||||||
nanjing 211800
|
Brno Czech Republic 62100
|
||||||
CN
|
CZ
|
||||||
|
|
||||||
44-A9-2C (hex) Efficient Building Automation Corp.
|
44-A9-2C (hex) Efficient Building Automation Corp.
|
||||||
700000-7FFFFF (base 16) Efficient Building Automation Corp.
|
700000-7FFFFF (base 16) Efficient Building Automation Corp.
|
||||||
@ -22136,14 +22166,32 @@ A00000-AFFFFF (base 16) Waoo
|
|||||||
Auckland 1150
|
Auckland 1150
|
||||||
NZ
|
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.
|
64-33-B5 (hex) electroCore Inc.
|
||||||
B00000-BFFFFF (base 16) electroCore Inc.
|
B00000-BFFFFF (base 16) electroCore Inc.
|
||||||
205 Forge Way
|
205 Forge Way
|
||||||
Rockaway NJ 07866
|
Rockaway NJ 07866
|
||||||
US
|
US
|
||||||
|
|
||||||
64-33-B5 (hex) LACO Technologies
|
64-33-B5 (hex) Eagle Eye Networks, Inc
|
||||||
800000-8FFFFF (base 16) LACO Technologies
|
400000-4FFFFF (base 16) Eagle Eye Networks, Inc
|
||||||
3085 W Directors Row
|
4611 Bee Cave Rd Suite 200
|
||||||
Salt Lake City UT 84104
|
austin TX 78746
|
||||||
US
|
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
|
||||||
|
|||||||
@ -5255,6 +5255,24 @@ CE3000-CE3FFF (base 16) Pixel Design & Manufacturing Sdn. Bhd.
|
|||||||
Tehran 0512258788
|
Tehran 0512258788
|
||||||
IR
|
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
|
70-B3-D5 (hex) EVCO SPA
|
||||||
A80000-A80FFF (base 16) EVCO SPA
|
A80000-A80FFF (base 16) EVCO SPA
|
||||||
VIA FELTRE N. 81
|
VIA FELTRE N. 81
|
||||||
@ -10475,6 +10493,24 @@ AA4000-AA4FFF (base 16) HEINEN ELEKTRONIK GmbH
|
|||||||
Johannesburg Guateng 2170
|
Johannesburg Guateng 2170
|
||||||
ZA
|
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
|
70-B3-D5 (hex) System West dba ICS Electronics
|
||||||
E06000-E06FFF (base 16) System West dba ICS Electronics
|
E06000-E06FFF (base 16) System West dba ICS Electronics
|
||||||
7034 Commerce Circle Suite A
|
7034 Commerce Circle Suite A
|
||||||
@ -15638,6 +15674,12 @@ DC9000-DC9FFF (base 16) Peter Huber Kaeltemaschinenbau AG
|
|||||||
Duangzhou 511400
|
Duangzhou 511400
|
||||||
CN
|
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
|
70-B3-D5 (hex) YUYAMA MFG Co.,Ltd
|
||||||
BBB000-BBBFFF (base 16) YUYAMA MFG Co.,Ltd
|
BBB000-BBBFFF (base 16) YUYAMA MFG Co.,Ltd
|
||||||
3-3-1
|
3-3-1
|
||||||
@ -20984,6 +21026,36 @@ AE1000-AE1FFF (base 16) YUYAMA MFG Co.,Ltd
|
|||||||
Broomfield CO 80021
|
Broomfield CO 80021
|
||||||
US
|
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
|
70-B3-D5 (hex) DISMUNTEL SAL
|
||||||
92C000-92CFFF (base 16) DISMUNTEL SAL
|
92C000-92CFFF (base 16) DISMUNTEL SAL
|
||||||
Pol ind cotes
|
Pol ind cotes
|
||||||
@ -26120,8 +26192,26 @@ A4E000-A4EFFF (base 16) Syscom Instruments SA
|
|||||||
Sainte-Croix 1450
|
Sainte-Croix 1450
|
||||||
CH
|
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
|
8C-1F-64 (hex) Nonet Inc
|
||||||
2A5000-2A5FFF (base 16) Nonet Inc
|
2A5000-2A5FFF (base 16) Nonet Inc
|
||||||
Daan Dist, Xinhai Road Section 1, No. 79, 5F
|
Daan Dist, Xinhai Road Section 1, No. 79, 5F
|
||||||
Taipei Taipei 10647
|
Taipei Taipei 10647
|
||||||
TW
|
TW
|
||||||
|
|
||||||
|
8C-1F-64 (hex) WBNet
|
||||||
|
1E3000-1E3FFF (base 16) WBNet
|
||||||
|
Drielse Wetering 17
|
||||||
|
Kerkdriel Gelderland 5331RK
|
||||||
|
NL
|
||||||
|
|||||||
@ -2477,6 +2477,13 @@
|
|||||||
<tr class="odd"><td>Shenzhen KTC Technology Group</td><td>SKG</td><td>06/01/2021</td> </tr>
|
<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="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="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>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -2527,9 +2527,9 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
|||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(ss) BPFProgram = [...];
|
readonly a(ss) BPFProgram = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindAllow = [...];
|
readonly a(iiqq) SocketBindAllow = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindDeny = [...];
|
readonly a(iiqq) SocketBindDeny = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
readonly as Environment = ['...', ...];
|
readonly as Environment = ['...', ...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
@ -4331,9 +4331,9 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
|||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(ss) BPFProgram = [...];
|
readonly a(ss) BPFProgram = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindAllow = [...];
|
readonly a(iiqq) SocketBindAllow = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindDeny = [...];
|
readonly a(iiqq) SocketBindDeny = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
readonly as Environment = ['...', ...];
|
readonly as Environment = ['...', ...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
@ -6054,9 +6054,9 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
|||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(ss) BPFProgram = [...];
|
readonly a(ss) BPFProgram = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindAllow = [...];
|
readonly a(iiqq) SocketBindAllow = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindDeny = [...];
|
readonly a(iiqq) SocketBindDeny = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
readonly as Environment = ['...', ...];
|
readonly as Environment = ['...', ...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
@ -7744,9 +7744,9 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
|||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(ss) BPFProgram = [...];
|
readonly a(ss) BPFProgram = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindAllow = [...];
|
readonly a(iiqq) SocketBindAllow = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindDeny = [...];
|
readonly a(iiqq) SocketBindDeny = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
readonly as Environment = ['...', ...];
|
readonly as Environment = ['...', ...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
@ -9259,9 +9259,9 @@ node /org/freedesktop/systemd1/unit/system_2eslice {
|
|||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(ss) BPFProgram = [...];
|
readonly a(ss) BPFProgram = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindAllow = [...];
|
readonly a(iiqq) SocketBindAllow = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindDeny = [...];
|
readonly a(iiqq) SocketBindDeny = [...];
|
||||||
};
|
};
|
||||||
interface org.freedesktop.DBus.Peer { ... };
|
interface org.freedesktop.DBus.Peer { ... };
|
||||||
interface org.freedesktop.DBus.Introspectable { ... };
|
interface org.freedesktop.DBus.Introspectable { ... };
|
||||||
@ -9722,9 +9722,9 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope {
|
|||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(ss) BPFProgram = [...];
|
readonly a(ss) BPFProgram = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindAllow = [...];
|
readonly a(iiqq) SocketBindAllow = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||||
readonly a(iqq) SocketBindDeny = [...];
|
readonly a(iiqq) SocketBindDeny = [...];
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
readonly s KillMode = '...';
|
readonly s KillMode = '...';
|
||||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||||
|
|||||||
@ -125,6 +125,7 @@ manpages = [
|
|||||||
'SD_ID128_FORMAT_VAL',
|
'SD_ID128_FORMAT_VAL',
|
||||||
'SD_ID128_MAKE',
|
'SD_ID128_MAKE',
|
||||||
'SD_ID128_MAKE_STR',
|
'SD_ID128_MAKE_STR',
|
||||||
|
'SD_ID128_MAKE_UUID_STR',
|
||||||
'SD_ID128_NULL',
|
'SD_ID128_NULL',
|
||||||
'SD_ID128_UUID_FORMAT_STR',
|
'SD_ID128_UUID_FORMAT_STR',
|
||||||
'sd_id128_equal',
|
'sd_id128_equal',
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
<refname>SD_ID128_FORMAT_VAL</refname>
|
<refname>SD_ID128_FORMAT_VAL</refname>
|
||||||
<refname>SD_ID128_MAKE</refname>
|
<refname>SD_ID128_MAKE</refname>
|
||||||
<refname>SD_ID128_MAKE_STR</refname>
|
<refname>SD_ID128_MAKE_STR</refname>
|
||||||
|
<refname>SD_ID128_MAKE_UUID_STR</refname>
|
||||||
<refname>SD_ID128_NULL</refname>
|
<refname>SD_ID128_NULL</refname>
|
||||||
<refname>SD_ID128_UUID_FORMAT_STR</refname>
|
<refname>SD_ID128_UUID_FORMAT_STR</refname>
|
||||||
<refname>sd_id128_equal</refname>
|
<refname>sd_id128_equal</refname>
|
||||||
@ -121,10 +122,12 @@ int main(int argc, char **argv) {
|
|||||||
return 0;
|
return 0;
|
||||||
}</programlisting>
|
}</programlisting>
|
||||||
|
|
||||||
<para><constant>SD_ID128_UUID_FORMAT_STR</constant> is similar to
|
<para><constant>SD_ID128_UUID_FORMAT_STR</constant> and <function>SD_ID128_MAKE_UUID_STR()</function>
|
||||||
<constant>SD_ID128_FORMAT_STR</constant> but includes separating hyphens to conform to the "<ulink
|
are similar to
|
||||||
url="https://en.wikipedia.org/wiki/Universally_unique_identifier#Format">canonical
|
<constant>SD_ID128_FORMAT_STR</constant> and <function>SD_ID128_MAKE_STR()</function>,
|
||||||
representation</ulink>". This formats the string based on <ulink
|
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
|
||||||
url="https://tools.ietf.org/html/rfc4122">RFC4122</ulink> Variant 1 rules, i.e. converting from Big
|
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
|
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
|
best to avoid UUIDs of other variants, in order to avoid unnecessary ambiguities. All 128-bit IDs
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
project('systemd', 'c',
|
project('systemd', 'c',
|
||||||
version : '248',
|
version : '249',
|
||||||
license : 'LGPLv2+',
|
license : 'LGPLv2+',
|
||||||
default_options: [
|
default_options: [
|
||||||
'c_std=gnu99',
|
'c_std=gnu99',
|
||||||
@ -13,8 +13,8 @@ project('systemd', 'c',
|
|||||||
meson_version : '>= 0.46',
|
meson_version : '>= 0.46',
|
||||||
)
|
)
|
||||||
|
|
||||||
libsystemd_version = '0.31.0'
|
libsystemd_version = '0.32.0'
|
||||||
libudev_version = '1.7.1'
|
libudev_version = '1.7.2'
|
||||||
|
|
||||||
conf = configuration_data()
|
conf = configuration_data()
|
||||||
conf.set_quoted('PROJECT_URL', 'https://www.freedesktop.org/wiki/Software/systemd')
|
conf.set_quoted('PROJECT_URL', 'https://www.freedesktop.org/wiki/Software/systemd')
|
||||||
|
|||||||
@ -30,48 +30,22 @@
|
|||||||
#define EFI_N_RETRIES_TOTAL 25
|
#define EFI_N_RETRIES_TOTAL 25
|
||||||
#define EFI_RETRY_DELAY (50 * USEC_PER_MSEC)
|
#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(
|
int efi_get_variable(
|
||||||
sd_id128_t vendor,
|
const char *variable,
|
||||||
const char *name,
|
|
||||||
uint32_t *ret_attribute,
|
uint32_t *ret_attribute,
|
||||||
void **ret_value,
|
void **ret_value,
|
||||||
size_t *ret_size) {
|
size_t *ret_size) {
|
||||||
|
|
||||||
_cleanup_close_ int fd = -1;
|
_cleanup_close_ int fd = -1;
|
||||||
_cleanup_free_ char *p = NULL;
|
|
||||||
_cleanup_free_ void *buf = NULL;
|
_cleanup_free_ void *buf = NULL;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
usec_t begin = 0; /* Unnecessary initialization to appease gcc */
|
usec_t begin = 0; /* Unnecessary initialization to appease gcc */
|
||||||
uint32_t a;
|
uint32_t a;
|
||||||
ssize_t n;
|
ssize_t n;
|
||||||
|
|
||||||
assert(name);
|
assert(variable);
|
||||||
|
|
||||||
p = efi_variable_path(vendor, name);
|
const char *p = strjoina("/sys/firmware/efi/efivars/", variable);
|
||||||
if (!p)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
if (!ret_value && !ret_size && !ret_attribute) {
|
if (!ret_value && !ret_size && !ret_attribute) {
|
||||||
/* If caller is not interested in anything, just check if the variable exists and is
|
/* If caller is not interested in anything, just check if the variable exists and is
|
||||||
@ -136,7 +110,8 @@ int efi_get_variable(
|
|||||||
return log_debug_errno(errno, "Failed to read value of EFI variable %s: %m", p);
|
return log_debug_errno(errno, "Failed to read value of EFI variable %s: %m", p);
|
||||||
assert(n <= st.st_size - 4);
|
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] = 0;
|
||||||
((char*) buf)[n + 1] = 0;
|
((char*) buf)[n + 1] = 0;
|
||||||
((char*) buf)[n + 2] = 0;
|
((char*) buf)[n + 2] = 0;
|
||||||
@ -150,8 +125,8 @@ int efi_get_variable(
|
|||||||
|
|
||||||
end = now(CLOCK_MONOTONIC);
|
end = now(CLOCK_MONOTONIC);
|
||||||
if (end > begin + EFI_RETRY_DELAY)
|
if (end > begin + EFI_RETRY_DELAY)
|
||||||
log_debug("Detected slow EFI variable read access on " SD_ID128_FORMAT_STR "-%s: %s",
|
log_debug("Detected slow EFI variable read access on %s: %s",
|
||||||
SD_ID128_FORMAT_VAL(vendor), name, format_timespan(ts, sizeof(ts), end - begin, 1));
|
variable, format_timespan(ts, sizeof(ts), end - begin, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note that efivarfs interestingly doesn't require ftruncate() to update an existing EFI variable
|
/* Note that efivarfs interestingly doesn't require ftruncate() to update an existing EFI variable
|
||||||
@ -169,13 +144,13 @@ int efi_get_variable(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p) {
|
int efi_get_variable_string(const char *variable, char **p) {
|
||||||
_cleanup_free_ void *s = NULL;
|
_cleanup_free_ void *s = NULL;
|
||||||
size_t ss = 0;
|
size_t ss = 0;
|
||||||
int r;
|
int r;
|
||||||
char *x;
|
char *x;
|
||||||
|
|
||||||
r = efi_get_variable(vendor, name, NULL, &s, &ss);
|
r = efi_get_variable(variable, NULL, &s, &ss);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -187,28 +162,20 @@ int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int efi_set_variable(
|
int efi_set_variable(const char *variable, const void *value, size_t size) {
|
||||||
sd_id128_t vendor,
|
|
||||||
const char *name,
|
|
||||||
const void *value,
|
|
||||||
size_t size) {
|
|
||||||
|
|
||||||
struct var {
|
struct var {
|
||||||
uint32_t attr;
|
uint32_t attr;
|
||||||
char buf[];
|
char buf[];
|
||||||
} _packed_ * _cleanup_free_ buf = NULL;
|
} _packed_ * _cleanup_free_ buf = NULL;
|
||||||
_cleanup_free_ char *p = NULL;
|
|
||||||
_cleanup_close_ int fd = -1;
|
_cleanup_close_ int fd = -1;
|
||||||
bool saved_flags_valid = false;
|
bool saved_flags_valid = false;
|
||||||
unsigned saved_flags;
|
unsigned saved_flags;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
assert(name);
|
assert(variable);
|
||||||
assert(value || size == 0);
|
assert(value || size == 0);
|
||||||
|
|
||||||
p = efi_variable_path(vendor, name);
|
const char *p = strjoina("/sys/firmware/efi/efivars/", variable);
|
||||||
if (!p)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
/* Newer efivarfs protects variables that are not in an allow list with FS_IMMUTABLE_FL by default,
|
/* 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
|
* to protect them for accidental removal and modification. We are not changing these variables
|
||||||
@ -274,14 +241,14 @@ finish:
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
int efi_set_variable_string(sd_id128_t vendor, const char *name, const char *v) {
|
int efi_set_variable_string(const char *variable, const char *value) {
|
||||||
_cleanup_free_ char16_t *u16 = NULL;
|
_cleanup_free_ char16_t *u16 = NULL;
|
||||||
|
|
||||||
u16 = utf8_to_utf16(v, strlen(v));
|
u16 = utf8_to_utf16(value, strlen(value));
|
||||||
if (!u16)
|
if (!u16)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
return efi_set_variable(vendor, name, u16, (char16_strlen(u16) + 1) * sizeof(char16_t));
|
return efi_set_variable(variable, u16, (char16_strlen(u16) + 1) * sizeof(char16_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_efi_boot(void) {
|
bool is_efi_boot(void) {
|
||||||
@ -300,7 +267,7 @@ bool is_efi_boot(void) {
|
|||||||
return cache;
|
return cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_flag(const char *varname) {
|
static int read_flag(const char *variable) {
|
||||||
_cleanup_free_ void *v = NULL;
|
_cleanup_free_ void *v = NULL;
|
||||||
uint8_t b;
|
uint8_t b;
|
||||||
size_t s;
|
size_t s;
|
||||||
@ -309,7 +276,7 @@ static int read_flag(const char *varname) {
|
|||||||
if (!is_efi_boot()) /* If this is not an EFI boot, assume the queried flags are zero */
|
if (!is_efi_boot()) /* If this is not an EFI boot, assume the queried flags are zero */
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_GLOBAL, varname, NULL, &v, &s);
|
r = efi_get_variable(variable, NULL, &v, &s);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -324,7 +291,7 @@ bool is_efi_secure_boot(void) {
|
|||||||
static int cache = -1;
|
static int cache = -1;
|
||||||
|
|
||||||
if (cache < 0)
|
if (cache < 0)
|
||||||
cache = read_flag("SecureBoot");
|
cache = read_flag(EFI_GLOBAL_VARIABLE(SecureBoot));
|
||||||
|
|
||||||
return cache > 0;
|
return cache > 0;
|
||||||
}
|
}
|
||||||
@ -333,13 +300,12 @@ bool is_efi_secure_boot_setup_mode(void) {
|
|||||||
static int cache = -1;
|
static int cache = -1;
|
||||||
|
|
||||||
if (cache < 0)
|
if (cache < 0)
|
||||||
cache = read_flag("SetupMode");
|
cache = read_flag(EFI_GLOBAL_VARIABLE(SetupMode));
|
||||||
|
|
||||||
return cache > 0;
|
return cache > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cache_efi_options_variable(void) {
|
static int read_efi_options_variable(char **line) {
|
||||||
_cleanup_free_ char *line = NULL, *cachepath = NULL;
|
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
/* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed
|
/* In SecureBoot mode this is probably not what you want. As your cmdline is cryptographically signed
|
||||||
@ -350,39 +316,39 @@ int cache_efi_options_variable(void) {
|
|||||||
* (NB: For testing purposes, we still check the $SYSTEMD_EFI_OPTIONS env var before accessing this
|
* (NB: For testing purposes, we still check the $SYSTEMD_EFI_OPTIONS env var before accessing this
|
||||||
* cache, even when in SecureBoot mode.) */
|
* cache, even when in SecureBoot mode.) */
|
||||||
if (is_efi_secure_boot()) {
|
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
|
/* 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. */
|
* does, let's return a recognizable error (EPERM), and if not ENODATA. */
|
||||||
|
|
||||||
if (access(k, F_OK) < 0)
|
if (access(EFIVAR_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), F_OK) < 0)
|
||||||
return errno == ENOENT ? -ENODATA : -errno;
|
return errno == ENOENT ? -ENODATA : -errno;
|
||||||
|
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_SYSTEMD, "SystemdOptions", &line);
|
r = efi_get_variable_string(EFI_SYSTEMD_VARIABLE(SystemdOptions), line);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
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)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
cachepath = efi_variable_cache_path(EFI_VENDOR_SYSTEMD, "SystemdOptions");
|
return write_string_file(EFIVAR_CACHE_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), line,
|
||||||
if (!cachepath)
|
WRITE_STRING_FILE_ATOMIC|WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755);
|
||||||
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) {
|
int systemd_efi_options_variable(char **line) {
|
||||||
const char *e;
|
const char *e;
|
||||||
_cleanup_free_ char *cachepath = NULL;
|
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
|
/* Returns the contents of the variable for current boot from the cache. */
|
||||||
|
|
||||||
assert(line);
|
assert(line);
|
||||||
|
|
||||||
/* For testing purposes it is sometimes useful to be able to override this */
|
/* For testing purposes it is sometimes useful to be able to override this */
|
||||||
@ -398,11 +364,37 @@ int systemd_efi_options_variable(char **line) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
cachepath = efi_variable_cache_path(EFI_VENDOR_SYSTEMD, "SystemdOptions");
|
r = read_one_line_file(EFIVAR_CACHE_PATH(EFI_SYSTEMD_VARIABLE(SystemdOptions)), line);
|
||||||
if (!cachepath)
|
if (r == -ENOENT)
|
||||||
return -ENOMEM;
|
return -ENODATA;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
r = read_one_line_file(cachepath, line);
|
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");
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
return r;
|
return r;
|
||||||
|
|||||||
@ -12,20 +12,39 @@
|
|||||||
|
|
||||||
#include "time-util.h"
|
#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 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_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_SYSTEMD SD_ID128_MAKE(8c,f2,64,4b,4b,0b,42,8f,93,87,6d,87,60,50,dc,67)
|
#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_VARIABLE_NON_VOLATILE 0x0000000000000001
|
#define EFI_VARIABLE_NON_VOLATILE 0x0000000000000001
|
||||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002
|
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002
|
||||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004
|
#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
|
#if ENABLE_EFI
|
||||||
|
|
||||||
char* efi_variable_path(sd_id128_t vendor, const char *name);
|
int efi_get_variable(const char *variable, uint32_t *attribute, void **value, size_t *size);
|
||||||
int efi_get_variable(sd_id128_t vendor, const char *name, uint32_t *attribute, void **value, size_t *size);
|
int efi_get_variable_string(const char *variable, char **p);
|
||||||
int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p);
|
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);
|
int efi_set_variable_string(const char *variable, const char *p);
|
||||||
int efi_set_variable_string(sd_id128_t vendor, const char *name, const char *p);
|
|
||||||
|
|
||||||
bool is_efi_boot(void);
|
bool is_efi_boot(void);
|
||||||
bool is_efi_secure_boot(void);
|
bool is_efi_secure_boot(void);
|
||||||
@ -33,26 +52,23 @@ bool is_efi_secure_boot_setup_mode(void);
|
|||||||
|
|
||||||
int cache_efi_options_variable(void);
|
int cache_efi_options_variable(void);
|
||||||
int systemd_efi_options_variable(char **line);
|
int systemd_efi_options_variable(char **line);
|
||||||
|
int systemd_efi_options_efivarfs_if_newer(char **line);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
static inline char* efi_variable_path(sd_id128_t vendor, const char *name) {
|
static inline int efi_get_variable(const char *variable, uint32_t *attribute, void **value, size_t *size) {
|
||||||
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;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int efi_get_variable_string(sd_id128_t vendor, const char *name, char **p) {
|
static inline int efi_get_variable_string(const char *variable, char **p) {
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int efi_set_variable(sd_id128_t vendor, const char *name, const void *value, size_t size) {
|
static inline int efi_set_variable(const char *variable, const void *value, size_t size) {
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int efi_set_variable_string(sd_id128_t vendor, const char *name, const char *p) {
|
static inline int efi_set_variable_string(const char *variable, const char *p) {
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,4 +92,7 @@ static inline int systemd_efi_options_variable(char **line) {
|
|||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int systemd_efi_options_efivarfs_if_newer(char **line) {
|
||||||
|
return -ENODATA;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -47,7 +47,7 @@ int main(int argc, char *argv[]) {
|
|||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (access("/sys/firmware/efi/efivars/LoaderBootCountPath-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) < 0) {
|
if (access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderBootCountPath)), F_OK) < 0) {
|
||||||
|
|
||||||
if (errno == ENOENT) {
|
if (errno == ENOENT) {
|
||||||
log_debug_errno(errno, "Skipping generator, not booted with boot counting in effect.");
|
log_debug_errno(errno, "Skipping generator, not booted with boot counting in effect.");
|
||||||
|
|||||||
@ -212,7 +212,7 @@ static int acquire_boot_count_path(
|
|||||||
uint64_t left, done;
|
uint64_t left, done;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderBootCountPath", &path);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderBootCountPath), &path);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return -EUNATCH; /* in this case, let the caller print a message */
|
return -EUNATCH; /* in this case, let the caller print a message */
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|||||||
@ -288,7 +288,7 @@ static int print_efi_option(uint16_t id, bool in_order) {
|
|||||||
|
|
||||||
static int status_variables(void) {
|
static int status_variables(void) {
|
||||||
_cleanup_free_ uint16_t *options = NULL, *order = NULL;
|
_cleanup_free_ uint16_t *options = NULL, *order = NULL;
|
||||||
int n_options, n_order, i;
|
int n_options, n_order;
|
||||||
|
|
||||||
n_options = efi_get_boot_options(&options);
|
n_options = efi_get_boot_options(&options);
|
||||||
if (n_options == -ENOENT)
|
if (n_options == -ENOENT)
|
||||||
@ -306,14 +306,12 @@ static int status_variables(void) {
|
|||||||
|
|
||||||
/* print entries in BootOrder first */
|
/* print entries in BootOrder first */
|
||||||
printf("Boot Loaders Listed in EFI Variables:\n");
|
printf("Boot Loaders Listed in EFI Variables:\n");
|
||||||
for (i = 0; i < n_order; i++)
|
for (int i = 0; i < n_order; i++)
|
||||||
print_efi_option(order[i], true);
|
print_efi_option(order[i], true);
|
||||||
|
|
||||||
/* print remaining entries */
|
/* print remaining entries */
|
||||||
for (i = 0; i < n_options; i++) {
|
for (int i = 0; i < n_options; i++) {
|
||||||
int j;
|
for (int j = 0; j < n_order; j++)
|
||||||
|
|
||||||
for (j = 0; j < n_order; j++)
|
|
||||||
if (options[i] == order[j])
|
if (options[i] == order[j])
|
||||||
goto next_option;
|
goto next_option;
|
||||||
|
|
||||||
@ -726,7 +724,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) {
|
static int insert_into_order(uint16_t slot, bool first) {
|
||||||
_cleanup_free_ uint16_t *order = NULL;
|
_cleanup_free_ uint16_t *order = NULL;
|
||||||
uint16_t *t;
|
uint16_t *t;
|
||||||
int n, i;
|
int n;
|
||||||
|
|
||||||
n = efi_get_boot_order(&order);
|
n = efi_get_boot_order(&order);
|
||||||
if (n <= 0)
|
if (n <= 0)
|
||||||
@ -738,7 +736,7 @@ static int insert_into_order(uint16_t slot, bool first) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* are we already in the boot order? */
|
/* are we already in the boot order? */
|
||||||
for (i = 0; i < n; i++) {
|
for (int i = 0; i < n; i++) {
|
||||||
if (order[i] != slot)
|
if (order[i] != slot)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -770,13 +768,13 @@ static int insert_into_order(uint16_t slot, bool first) {
|
|||||||
|
|
||||||
static int remove_from_order(uint16_t slot) {
|
static int remove_from_order(uint16_t slot) {
|
||||||
_cleanup_free_ uint16_t *order = NULL;
|
_cleanup_free_ uint16_t *order = NULL;
|
||||||
int n, i;
|
int n;
|
||||||
|
|
||||||
n = efi_get_boot_order(&order);
|
n = efi_get_boot_order(&order);
|
||||||
if (n <= 0)
|
if (n <= 0)
|
||||||
return n;
|
return n;
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (int i = 0; i < n; i++) {
|
||||||
if (order[i] != slot)
|
if (order[i] != slot)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -979,29 +977,29 @@ static int remove_variables(sd_id128_t uuid, const char *path, bool in_order) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int remove_loader_variables(void) {
|
static int remove_loader_variables(void) {
|
||||||
const char *p;
|
const char *variable;
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
|
||||||
/* Remove all persistent loader variables we define */
|
/* Remove all persistent loader variables we define */
|
||||||
|
|
||||||
FOREACH_STRING(p,
|
FOREACH_STRING(variable,
|
||||||
"LoaderConfigTimeout",
|
EFI_LOADER_VARIABLE(LoaderConfigTimeout),
|
||||||
"LoaderConfigTimeoutOneShot",
|
EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot),
|
||||||
"LoaderEntryDefault",
|
EFI_LOADER_VARIABLE(LoaderEntryDefault),
|
||||||
"LoaderEntryOneShot",
|
EFI_LOADER_VARIABLE(LoaderEntryOneShot),
|
||||||
"LoaderSystemToken") {
|
EFI_LOADER_VARIABLE(LoaderSystemToken)){
|
||||||
|
|
||||||
int q;
|
int q;
|
||||||
|
|
||||||
q = efi_set_variable(EFI_VENDOR_LOADER, p, NULL, 0);
|
q = efi_set_variable(variable, NULL, 0);
|
||||||
if (q == -ENOENT)
|
if (q == -ENOENT)
|
||||||
continue;
|
continue;
|
||||||
if (q < 0) {
|
if (q < 0) {
|
||||||
log_warning_errno(q, "Failed to remove %s variable: %m", p);
|
log_warning_errno(q, "Failed to remove EFI variable %s: %m", variable);
|
||||||
if (r >= 0)
|
if (r >= 0)
|
||||||
r = q;
|
r = q;
|
||||||
} else
|
} else
|
||||||
log_info("Removed EFI variable %s.", p);
|
log_info("Removed EFI variable %s.", variable);
|
||||||
}
|
}
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
@ -1224,12 +1222,12 @@ static int parse_argv(int argc, char *argv[]) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void read_loader_efi_var(const char *name, char **var) {
|
static void read_efi_var(const char *variable, char **ret) {
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, name, var);
|
r = efi_get_variable_string(variable, ret);
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
log_warning_errno(r, "Failed to read EFI variable %s: %m", name);
|
log_warning_errno(r, "Failed to read EFI variable %s: %m", variable);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_yes_no_line(bool first, bool good, const char *name) {
|
static void print_yes_no_line(bool first, bool good, const char *name) {
|
||||||
@ -1295,13 +1293,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;
|
_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;
|
sd_id128_t loader_part_uuid = SD_ID128_NULL;
|
||||||
uint64_t loader_features = 0;
|
uint64_t loader_features = 0;
|
||||||
size_t i;
|
int have;
|
||||||
|
|
||||||
read_loader_efi_var("LoaderFirmwareType", &fw_type);
|
read_efi_var(EFI_LOADER_VARIABLE(LoaderFirmwareType), &fw_type);
|
||||||
read_loader_efi_var("LoaderFirmwareInfo", &fw_info);
|
read_efi_var(EFI_LOADER_VARIABLE(LoaderFirmwareInfo), &fw_info);
|
||||||
read_loader_efi_var("LoaderInfo", &loader);
|
read_efi_var(EFI_LOADER_VARIABLE(LoaderInfo), &loader);
|
||||||
read_loader_efi_var("StubInfo", &stub);
|
read_efi_var(EFI_LOADER_VARIABLE(StubInfo), &stub);
|
||||||
read_loader_efi_var("LoaderImageIdentifier", &loader_path);
|
read_efi_var(EFI_LOADER_VARIABLE(LoaderImageIdentifier), &loader_path);
|
||||||
(void) efi_loader_get_features(&loader_features);
|
(void) efi_loader_get_features(&loader_features);
|
||||||
|
|
||||||
if (loader_path)
|
if (loader_path)
|
||||||
@ -1333,7 +1331,7 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
|||||||
printf("Current Boot Loader:\n");
|
printf("Current Boot Loader:\n");
|
||||||
printf(" Product: %s%s%s\n", ansi_highlight(), strna(loader), ansi_normal());
|
printf(" Product: %s%s%s\n", ansi_highlight(), strna(loader), ansi_normal());
|
||||||
|
|
||||||
for (i = 0; i < ELEMENTSOF(flags); i++)
|
for (size_t i = 0; i < ELEMENTSOF(flags); i++)
|
||||||
print_yes_no_line(i == 0, FLAGS_SET(loader_features, flags[i].flag), flags[i].name);
|
print_yes_no_line(i == 0, FLAGS_SET(loader_features, flags[i].flag), flags[i].name);
|
||||||
|
|
||||||
sd_id128_t bootloader_esp_uuid;
|
sd_id128_t bootloader_esp_uuid;
|
||||||
@ -1354,8 +1352,10 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
printf("Random Seed:\n");
|
printf("Random Seed:\n");
|
||||||
printf(" Passed to OS: %s\n", yes_no(access("/sys/firmware/efi/efivars/LoaderRandomSeed-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) >= 0));
|
have = access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderRandomSeed)), 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");
|
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");
|
||||||
|
|
||||||
if (arg_esp_path) {
|
if (arg_esp_path) {
|
||||||
_cleanup_free_ char *p = NULL;
|
_cleanup_free_ char *p = NULL;
|
||||||
@ -1364,7 +1364,8 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
|||||||
if (!p)
|
if (!p)
|
||||||
return log_oom();
|
return log_oom();
|
||||||
|
|
||||||
printf(" Exists: %s\n", yes_no(access(p, F_OK) >= 0));
|
have = access(p, F_OK) >= 0;
|
||||||
|
printf(" Exists: %s\n", yes_no(have));
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
@ -1428,13 +1429,11 @@ static int verb_list(int argc, char *argv[], void *userdata) {
|
|||||||
if (config.n_entries == 0)
|
if (config.n_entries == 0)
|
||||||
log_info("No boot loader entries found.");
|
log_info("No boot loader entries found.");
|
||||||
else {
|
else {
|
||||||
size_t n;
|
|
||||||
|
|
||||||
(void) pager_open(arg_pager_flags);
|
(void) pager_open(arg_pager_flags);
|
||||||
|
|
||||||
printf("Boot Loader Entries:\n");
|
printf("Boot Loader Entries:\n");
|
||||||
|
|
||||||
for (n = 0; n < config.n_entries; n++) {
|
for (size_t n = 0; n < config.n_entries; n++) {
|
||||||
r = boot_entry_show(config.entries + n, n == (size_t) config.default_entry);
|
r = boot_entry_show(config.entries + n, n == (size_t) config.default_entry);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
@ -1539,7 +1538,7 @@ static int install_random_seed(const char *esp) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderSystemToken", NULL, NULL, &token_size);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderSystemToken), NULL, NULL, &token_size);
|
||||||
if (r == -ENODATA)
|
if (r == -ENODATA)
|
||||||
log_debug_errno(r, "LoaderSystemToken EFI variable is invalid (too short?), replacing.");
|
log_debug_errno(r, "LoaderSystemToken EFI variable is invalid (too short?), replacing.");
|
||||||
else if (r < 0) {
|
else if (r < 0) {
|
||||||
@ -1563,7 +1562,7 @@ static int install_random_seed(const char *esp) {
|
|||||||
* and possibly get identification information or too much insight into the kernel's entropy pool
|
* and possibly get identification information or too much insight into the kernel's entropy pool
|
||||||
* state. */
|
* state. */
|
||||||
RUN_WITH_UMASK(0077) {
|
RUN_WITH_UMASK(0077) {
|
||||||
r = efi_set_variable(EFI_VENDOR_LOADER, "LoaderSystemToken", buffer, sz);
|
r = efi_set_variable(EFI_LOADER_VARIABLE(LoaderSystemToken), buffer, sz);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
if (!arg_graceful)
|
if (!arg_graceful)
|
||||||
return log_error_errno(r, "Failed to write 'LoaderSystemToken' EFI variable: %m");
|
return log_error_errno(r, "Failed to write 'LoaderSystemToken' EFI variable: %m");
|
||||||
@ -1764,15 +1763,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) {
|
static int parse_loader_entry_target_arg(const char *arg1, char16_t **ret_target, size_t *ret_target_size) {
|
||||||
int r;
|
int r;
|
||||||
if (streq(arg1, "@current")) {
|
if (streq(arg1, "@current")) {
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntrySelected", NULL, (void *) ret_target, ret_target_size);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntrySelected), NULL, (void *) ret_target, ret_target_size);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntrySelected': %m");
|
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntrySelected': %m");
|
||||||
} else if (streq(arg1, "@oneshot")) {
|
} else if (streq(arg1, "@oneshot")) {
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntryOneShot", NULL, (void *) ret_target, ret_target_size);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntryOneShot), NULL, (void *) ret_target, ret_target_size);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntryOneShot': %m");
|
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntryOneShot': %m");
|
||||||
} else if (streq(arg1, "@default")) {
|
} else if (streq(arg1, "@default")) {
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntryDefault", NULL, (void *) ret_target, ret_target_size);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntryDefault), NULL, (void *) ret_target, ret_target_size);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntryDefault': %m");
|
return log_error_errno(r, "Failed to get EFI variable 'LoaderEntryDefault': %m");
|
||||||
} else {
|
} else {
|
||||||
@ -1787,14 +1786,13 @@ 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) {
|
static int verb_set_default(int argc, char *argv[], void *userdata) {
|
||||||
const char *name;
|
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
|
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
|
||||||
"Not booted with UEFI.");
|
"Not booted with UEFI.");
|
||||||
|
|
||||||
if (access("/sys/firmware/efi/efivars/LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", F_OK) < 0) {
|
if (access(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderInfo)), F_OK) < 0) {
|
||||||
if (errno == ENOENT) {
|
if (errno == ENOENT) {
|
||||||
log_error_errno(errno, "Not booted with a supported boot loader.");
|
log_error_errno(errno, "Not booted with a supported boot loader.");
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
@ -1813,12 +1811,13 @@ static int verb_set_default(int argc, char *argv[], void *userdata) {
|
|||||||
"'%s' operation cannot be combined with --touch-variables=no.",
|
"'%s' operation cannot be combined with --touch-variables=no.",
|
||||||
argv[0]);
|
argv[0]);
|
||||||
|
|
||||||
name = streq(argv[0], "set-default") ? "LoaderEntryDefault" : "LoaderEntryOneShot";
|
const char *variable = streq(argv[0], "set-default") ?
|
||||||
|
EFI_LOADER_VARIABLE(LoaderEntryDefault) : EFI_LOADER_VARIABLE(LoaderEntryOneShot);
|
||||||
|
|
||||||
if (isempty(argv[1])) {
|
if (isempty(argv[1])) {
|
||||||
r = efi_set_variable(EFI_VENDOR_LOADER, name, NULL, 0);
|
r = efi_set_variable(variable, NULL, 0);
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
return log_error_errno(r, "Failed to remove EFI variable '%s': %m", name);
|
return log_error_errno(r, "Failed to remove EFI variable '%s': %m", variable);
|
||||||
} else {
|
} else {
|
||||||
_cleanup_free_ char16_t *target = NULL;
|
_cleanup_free_ char16_t *target = NULL;
|
||||||
size_t target_size = 0;
|
size_t target_size = 0;
|
||||||
@ -1826,9 +1825,9 @@ static int verb_set_default(int argc, char *argv[], void *userdata) {
|
|||||||
r = parse_loader_entry_target_arg(argv[1], &target, &target_size);
|
r = parse_loader_entry_target_arg(argv[1], &target, &target_size);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
r = efi_set_variable(EFI_VENDOR_LOADER, name, target, target_size);
|
r = efi_set_variable(variable, target, target_size);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to update EFI variable '%s': %m", name);
|
return log_error_errno(r, "Failed to update EFI variable '%s': %m", variable);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1861,16 +1860,27 @@ static int verb_systemd_efi_options(int argc, char *argv[], void *userdata) {
|
|||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
_cleanup_free_ char *line = NULL;
|
_cleanup_free_ char *line = NULL, *new = NULL;
|
||||||
|
|
||||||
r = systemd_efi_options_variable(&line);
|
r = systemd_efi_options_variable(&line);
|
||||||
if (r < 0)
|
if (r == -ENODATA)
|
||||||
return log_error_errno(r, "Failed to query SystemdOptions EFI variable: %m");
|
log_debug("No SystemdOptions EFI variable present in cache.");
|
||||||
|
else if (r < 0)
|
||||||
puts(line);
|
return log_error_errno(r, "Failed to read SystemdOptions EFI variable from cache: %m");
|
||||||
|
else
|
||||||
|
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 {
|
} else {
|
||||||
r = efi_set_variable_string(EFI_VENDOR_SYSTEMD, "SystemdOptions", argv[1]);
|
r = efi_set_variable_string(EFI_SYSTEMD_VARIABLE(SystemdOptions), argv[1]);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to set SystemdOptions EFI variable: %m");
|
return log_error_errno(r, "Failed to set SystemdOptions EFI variable: %m");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,7 +104,8 @@ struct CGroupBPFForeignProgram {
|
|||||||
|
|
||||||
struct CGroupSocketBindItem {
|
struct CGroupSocketBindItem {
|
||||||
LIST_FIELDS(CGroupSocketBindItem, socket_bind_items);
|
LIST_FIELDS(CGroupSocketBindItem, socket_bind_items);
|
||||||
int address_family;
|
int32_t address_family;
|
||||||
|
int32_t ip_protocol;
|
||||||
uint16_t nr_ports;
|
uint16_t nr_ports;
|
||||||
uint16_t port_min;
|
uint16_t port_min;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -389,12 +389,12 @@ static int property_get_socket_bind(
|
|||||||
|
|
||||||
assert(items);
|
assert(items);
|
||||||
|
|
||||||
r = sd_bus_message_open_container(reply, 'a', "(iqq)");
|
r = sd_bus_message_open_container(reply, 'a', "(iiqq)");
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
LIST_FOREACH(socket_bind_items, i, *items) {
|
LIST_FOREACH(socket_bind_items, i, *items) {
|
||||||
r = sd_bus_message_append(reply, "(iqq)", i->address_family, i->nr_ports, i->port_min);
|
r = sd_bus_message_append(reply, "(iiqq)", i->address_family, i->ip_protocol, i->nr_ports, i->port_min);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
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("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("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("BPFProgram", "a(ss)", property_get_bpf_foreign_program, 0, 0),
|
||||||
SD_BUS_PROPERTY("SocketBindAllow", "a(iqq)", property_get_socket_bind, offsetof(CGroupContext, socket_bind_allow), 0),
|
SD_BUS_PROPERTY("SocketBindAllow", "a(iiqq)", 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_PROPERTY("SocketBindDeny", "a(iiqq)", property_get_socket_bind, offsetof(CGroupContext, socket_bind_deny), 0),
|
||||||
SD_BUS_VTABLE_END
|
SD_BUS_VTABLE_END
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1882,19 +1882,22 @@ int bus_cgroup_set_property(
|
|||||||
CGroupSocketBindItem **list;
|
CGroupSocketBindItem **list;
|
||||||
uint16_t nr_ports, port_min;
|
uint16_t nr_ports, port_min;
|
||||||
size_t n = 0;
|
size_t n = 0;
|
||||||
int family;
|
int32_t family, ip_protocol;
|
||||||
|
|
||||||
list = streq(name, "SocketBindAllow") ? &c->socket_bind_allow : &c->socket_bind_deny;
|
list = streq(name, "SocketBindAllow") ? &c->socket_bind_allow : &c->socket_bind_deny;
|
||||||
|
|
||||||
r = sd_bus_message_enter_container(message, 'a', "(iqq)");
|
r = sd_bus_message_enter_container(message, 'a', "(iiqq)");
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
while ((r = sd_bus_message_read(message, "(iqq)", &family, &nr_ports, &port_min)) > 0) {
|
while ((r = sd_bus_message_read(message, "(iiqq)", &family, &ip_protocol, &nr_ports, &port_min)) > 0) {
|
||||||
|
|
||||||
if (!IN_SET(family, AF_UNSPEC, AF_INET, AF_INET6))
|
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);
|
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))
|
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);
|
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects maximum port value lesser than 65536.", name);
|
||||||
|
|
||||||
@ -1910,6 +1913,7 @@ int bus_cgroup_set_property(
|
|||||||
|
|
||||||
*item = (CGroupSocketBindItem) {
|
*item = (CGroupSocketBindItem) {
|
||||||
.address_family = family,
|
.address_family = family,
|
||||||
|
.ip_protocol = ip_protocol,
|
||||||
.nr_ports = nr_ports,
|
.nr_ports = nr_ports,
|
||||||
.port_min = port_min
|
.port_min = port_min
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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
|
* identify the system or gain too much insight into what we might have credited to the entropy
|
||||||
* pool. */
|
* pool. */
|
||||||
FOREACH_STRING(p,
|
FOREACH_STRING(p,
|
||||||
"/sys/firmware/efi/efivars/LoaderRandomSeed-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f",
|
EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderRandomSeed)),
|
||||||
"/sys/firmware/efi/efivars/LoaderSystemToken-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f") {
|
EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderSystemToken))) {
|
||||||
|
|
||||||
r = chattr_path(p, 0, FS_IMMUTABLE_FL, NULL);
|
r = chattr_path(p, 0, FS_IMMUTABLE_FL, NULL);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
@ -61,7 +61,7 @@ int efi_take_random_seed(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderRandomSeed", NULL, &value, &size);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderRandomSeed), NULL, &value, &size);
|
||||||
if (r == -EOPNOTSUPP) {
|
if (r == -EOPNOTSUPP) {
|
||||||
log_debug_errno(r, "System lacks EFI support, not initializing random seed from EFI variable.");
|
log_debug_errno(r, "System lacks EFI support, not initializing random seed from EFI variable.");
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -5687,6 +5687,8 @@ int config_parse_cgroup_socket_bind(
|
|||||||
return log_oom();
|
return log_oom();
|
||||||
*item = (CGroupSocketBindItem) {
|
*item = (CGroupSocketBindItem) {
|
||||||
.address_family = af,
|
.address_family = af,
|
||||||
|
/* No ip protocol specified for now. */
|
||||||
|
.ip_protocol = 0,
|
||||||
.nr_ports = nr_ports,
|
.nr_ports = nr_ports,
|
||||||
.port_min = port_min,
|
.port_min = port_min,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2868,12 +2868,12 @@ static int method_set_reboot_to_boot_loader_menu(
|
|||||||
|
|
||||||
if (use_efi) {
|
if (use_efi) {
|
||||||
if (x == UINT64_MAX)
|
if (x == UINT64_MAX)
|
||||||
r = efi_set_variable(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot", NULL, 0);
|
r = efi_set_variable(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot), NULL, 0);
|
||||||
else {
|
else {
|
||||||
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
|
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
|
||||||
xsprintf(buf, "%" PRIu64, DIV_ROUND_UP(x, USEC_PER_SEC)); /* second granularity */
|
xsprintf(buf, "%" PRIu64, DIV_ROUND_UP(x, USEC_PER_SEC)); /* second granularity */
|
||||||
|
|
||||||
r = efi_set_variable_string(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot", buf);
|
r = efi_set_variable_string(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot), buf);
|
||||||
}
|
}
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
@ -3071,9 +3071,9 @@ static int method_set_reboot_to_boot_loader_entry(
|
|||||||
if (use_efi) {
|
if (use_efi) {
|
||||||
if (isempty(v))
|
if (isempty(v))
|
||||||
/* Delete item */
|
/* Delete item */
|
||||||
r = efi_set_variable(EFI_VENDOR_LOADER, "LoaderEntryOneShot", NULL, 0);
|
r = efi_set_variable(EFI_LOADER_VARIABLE(LoaderEntryOneShot), NULL, 0);
|
||||||
else
|
else
|
||||||
r = efi_set_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", v);
|
r = efi_set_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), v);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -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 */
|
if (!in_initrd()) /* Never honour EFI variable factory reset request outside of the initrd */
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_SYSTEMD, "FactoryReset", &value);
|
r = efi_get_variable_string(EFI_SYSTEMD_VARIABLE(FactoryReset), &value);
|
||||||
if (r == -ENOENT || ERRNO_IS_NOT_SUPPORTED(r))
|
if (r == -ENOENT || ERRNO_IS_NOT_SUPPORTED(r))
|
||||||
return 0;
|
return 0;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
@ -4439,7 +4439,7 @@ static int parse_efi_variable_factory_reset(void) {
|
|||||||
static int remove_efi_variable_factory_reset(void) {
|
static int remove_efi_variable_factory_reset(void) {
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = efi_set_variable(EFI_VENDOR_SYSTEMD, "FactoryReset", NULL, 0);
|
r = efi_set_variable(EFI_SYSTEMD_VARIABLE(FactoryReset), NULL, 0);
|
||||||
if (r == -ENOENT || ERRNO_IS_NOT_SUPPORTED(r))
|
if (r == -ENOENT || ERRNO_IS_NOT_SUPPORTED(r))
|
||||||
return 0;
|
return 0;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|||||||
@ -677,14 +677,14 @@ int boot_entries_load_config(
|
|||||||
return log_error_errno(r, "Failed to uniquify boot entries: %m");
|
return log_error_errno(r, "Failed to uniquify boot entries: %m");
|
||||||
|
|
||||||
if (is_efi_boot()) {
|
if (is_efi_boot()) {
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", &config->entry_oneshot);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), &config->entry_oneshot);
|
||||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
||||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryOneShot\": %m");
|
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryOneShot\": %m");
|
||||||
if (r == -ENOMEM)
|
if (r == -ENOMEM)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryDefault", &config->entry_default);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryDefault), &config->entry_default);
|
||||||
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
if (r < 0 && !IN_SET(r, -ENOENT, -ENODATA)) {
|
||||||
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryDefault\": %m");
|
log_warning_errno(r, "Failed to read EFI variable \"LoaderEntryDefault\": %m");
|
||||||
if (r == -ENOMEM)
|
if (r == -ENOMEM)
|
||||||
@ -776,7 +776,7 @@ int boot_entries_augment_from_loader(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
p = efi_variable_path(EFI_VENDOR_LOADER, "LoaderEntries");
|
p = strdup(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderEntries)));
|
||||||
if (!p)
|
if (!p)
|
||||||
return log_oom();
|
return log_oom();
|
||||||
|
|
||||||
|
|||||||
@ -866,11 +866,12 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
|
|||||||
if (STR_IN_SET(field, "SocketBindAllow",
|
if (STR_IN_SET(field, "SocketBindAllow",
|
||||||
"SocketBindDeny")) {
|
"SocketBindDeny")) {
|
||||||
if (isempty(eq))
|
if (isempty(eq))
|
||||||
r = sd_bus_message_append(m, "(sv)", field, "a(iqq)", 0);
|
r = sd_bus_message_append(m, "(sv)", field, "a(iiqq)", 0);
|
||||||
else {
|
else {
|
||||||
|
/* No ip protocol specified for now. */
|
||||||
|
int32_t family = AF_UNSPEC, ip_protocol = 0;
|
||||||
const char *address_family, *user_port;
|
const char *address_family, *user_port;
|
||||||
_cleanup_free_ char *word = NULL;
|
_cleanup_free_ char *word = NULL;
|
||||||
int family = AF_UNSPEC;
|
|
||||||
|
|
||||||
r = extract_first_word(&eq, &word, ":", 0);
|
r = extract_first_word(&eq, &word, ":", 0);
|
||||||
if (r == -ENOMEM)
|
if (r == -ENOMEM)
|
||||||
@ -888,7 +889,7 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
|
|||||||
|
|
||||||
user_port = eq ? eq : word;
|
user_port = eq ? eq : word;
|
||||||
if (streq(user_port, "any")) {
|
if (streq(user_port, "any")) {
|
||||||
r = sd_bus_message_append(m, "(sv)", field, "a(iqq)", 1, family, 0, 0);
|
r = sd_bus_message_append(m, "(sv)", field, "a(iiqq)", 1, family, ip_protocol, 0, 0);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return bus_log_create_error(r);
|
return bus_log_create_error(r);
|
||||||
} else {
|
} else {
|
||||||
@ -901,7 +902,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);
|
return log_error_errno(r, "Invalid port or port range: %s", user_port);
|
||||||
|
|
||||||
r = sd_bus_message_append(
|
r = sd_bus_message_append(
|
||||||
m, "(sv)", field, "a(iqq)", 1, family, port_max - port_min + 1, port_min);
|
m, "(sv)", field, "a(iiqq)", 1, family, ip_protocol, port_max - port_min + 1, port_min);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|||||||
@ -82,7 +82,7 @@ int efi_reboot_to_firmware_supported(void) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
goto not_supported;
|
goto not_supported;
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_GLOBAL, "OsIndicationsSupported", NULL, &v, &s);
|
r = efi_get_variable(EFI_GLOBAL_VARIABLE(OsIndicationsSupported), NULL, &v, &s);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
goto not_supported; /* variable doesn't exist? it's not supported then */
|
goto not_supported; /* variable doesn't exist? it's not supported then */
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
@ -105,7 +105,6 @@ not_supported:
|
|||||||
static int get_os_indications(uint64_t *ret) {
|
static int get_os_indications(uint64_t *ret) {
|
||||||
static struct stat cache_stat = {};
|
static struct stat cache_stat = {};
|
||||||
_cleanup_free_ void *v = NULL;
|
_cleanup_free_ void *v = NULL;
|
||||||
_cleanup_free_ char *fn = NULL;
|
|
||||||
static uint64_t cache;
|
static uint64_t cache;
|
||||||
struct stat new_stat;
|
struct stat new_stat;
|
||||||
size_t s;
|
size_t s;
|
||||||
@ -118,12 +117,8 @@ static int get_os_indications(uint64_t *ret) {
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
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. */
|
/* stat() the EFI variable, to see if the mtime changed. If it did we need to cache again. */
|
||||||
if (stat(fn, &new_stat) < 0) {
|
if (stat(EFIVAR_PATH(EFI_GLOBAL_VARIABLE(OsIndications)), &new_stat) < 0) {
|
||||||
if (errno != ENOENT)
|
if (errno != ENOENT)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
@ -137,7 +132,7 @@ static int get_os_indications(uint64_t *ret) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_GLOBAL, "OsIndications", NULL, &v, &s);
|
r = efi_get_variable(EFI_GLOBAL_VARIABLE(OsIndications), NULL, &v, &s);
|
||||||
if (r == -ENOENT) {
|
if (r == -ENOENT) {
|
||||||
/* Some firmware implementations that do support OsIndications and report that with
|
/* Some firmware implementations that do support OsIndications and report that with
|
||||||
* OsIndicationsSupported will remove the OsIndications variable when it is unset. Let's
|
* OsIndicationsSupported will remove the OsIndications variable when it is unset. Let's
|
||||||
@ -180,7 +175,7 @@ int efi_set_reboot_to_firmware(bool value) {
|
|||||||
|
|
||||||
/* Avoid writing to efi vars store if we can due to firmware bugs. */
|
/* Avoid writing to efi vars store if we can due to firmware bugs. */
|
||||||
if (b != b_new)
|
if (b != b_new)
|
||||||
return efi_set_variable(EFI_VENDOR_GLOBAL, "OsIndications", &b_new, sizeof(uint64_t));
|
return efi_set_variable(EFI_GLOBAL_VARIABLE(OsIndications), &b_new, sizeof(uint64_t));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -235,7 +230,7 @@ int efi_get_boot_option(
|
|||||||
char **path,
|
char **path,
|
||||||
bool *active) {
|
bool *active) {
|
||||||
|
|
||||||
char boot_id[9];
|
char variable[STRLEN(EFI_GLOBAL_VARIABLE_STR("Boot")) + 4 + 1];
|
||||||
_cleanup_free_ uint8_t *buf = NULL;
|
_cleanup_free_ uint8_t *buf = NULL;
|
||||||
size_t l;
|
size_t l;
|
||||||
struct boot_option *header;
|
struct boot_option *header;
|
||||||
@ -247,8 +242,8 @@ int efi_get_boot_option(
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
xsprintf(boot_id, "Boot%04X", id);
|
xsprintf(variable, EFI_GLOBAL_VARIABLE_STR("Boot%04X"), id);
|
||||||
r = efi_get_variable(EFI_VENDOR_GLOBAL, boot_id, NULL, (void **)&buf, &l);
|
r = efi_get_variable(variable, NULL, (void **)&buf, &l);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
if (l < offsetof(struct boot_option, title))
|
if (l < offsetof(struct boot_option, title))
|
||||||
@ -350,9 +345,7 @@ static void id128_to_efi_guid(sd_id128_t id, void *guid) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t *tilt_slashes(uint16_t *s) {
|
static uint16_t *tilt_slashes(uint16_t *s) {
|
||||||
uint16_t *p;
|
for (uint16_t *p = s; *p; p++)
|
||||||
|
|
||||||
for (p = s; *p; p++)
|
|
||||||
if (*p == '/')
|
if (*p == '/')
|
||||||
*p = '\\';
|
*p = '\\';
|
||||||
|
|
||||||
@ -372,7 +365,7 @@ int efi_add_boot_option(
|
|||||||
_cleanup_free_ char *buf = NULL;
|
_cleanup_free_ char *buf = NULL;
|
||||||
struct boot_option *option;
|
struct boot_option *option;
|
||||||
struct device_path *devicep;
|
struct device_path *devicep;
|
||||||
char boot_id[9];
|
char variable[STRLEN(EFI_GLOBAL_VARIABLE_STR("Boot")) + 4 + 1];
|
||||||
|
|
||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
@ -424,18 +417,18 @@ int efi_add_boot_option(
|
|||||||
devicep->length = offsetof(struct device_path, path);
|
devicep->length = offsetof(struct device_path, path);
|
||||||
size += devicep->length;
|
size += devicep->length;
|
||||||
|
|
||||||
xsprintf(boot_id, "Boot%04X", id);
|
xsprintf(variable, EFI_GLOBAL_VARIABLE_STR("Boot%04X"), id);
|
||||||
return efi_set_variable(EFI_VENDOR_GLOBAL, boot_id, buf, size);
|
return efi_set_variable(variable, buf, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
int efi_remove_boot_option(uint16_t id) {
|
int efi_remove_boot_option(uint16_t id) {
|
||||||
char boot_id[9];
|
char variable[STRLEN(EFI_GLOBAL_VARIABLE_STR("Boot")) + 4 + 1];
|
||||||
|
|
||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
xsprintf(boot_id, "Boot%04X", id);
|
xsprintf(variable, EFI_GLOBAL_VARIABLE_STR("Boot%04X"), id);
|
||||||
return efi_set_variable(EFI_VENDOR_GLOBAL, boot_id, NULL, 0);
|
return efi_set_variable(variable, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int efi_get_boot_order(uint16_t **order) {
|
int efi_get_boot_order(uint16_t **order) {
|
||||||
@ -446,7 +439,7 @@ int efi_get_boot_order(uint16_t **order) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_GLOBAL, "BootOrder", NULL, &buf, &l);
|
r = efi_get_variable(EFI_GLOBAL_VARIABLE(BootOrder), NULL, &buf, &l);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -466,15 +459,15 @@ int efi_set_boot_order(uint16_t *order, size_t n) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
return efi_set_variable(EFI_VENDOR_GLOBAL, "BootOrder", order, n * sizeof(uint16_t));
|
return efi_set_variable(EFI_GLOBAL_VARIABLE(BootOrder), order, n * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int boot_id_hex(const char s[static 4]) {
|
static int boot_id_hex(const char s[static 4]) {
|
||||||
int id = 0, i;
|
int id = 0;
|
||||||
|
|
||||||
assert(s);
|
assert(s);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
if (s[i] >= '0' && s[i] <= '9')
|
if (s[i] >= '0' && s[i] <= '9')
|
||||||
id |= (s[i] - '0') << (3 - i) * 4;
|
id |= (s[i] - '0') << (3 - i) * 4;
|
||||||
else if (s[i] >= 'A' && s[i] <= 'F')
|
else if (s[i] >= 'A' && s[i] <= 'F')
|
||||||
@ -500,7 +493,7 @@ int efi_get_boot_options(uint16_t **options) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
dir = opendir("/sys/firmware/efi/efivars/");
|
dir = opendir(EFIVAR_PATH("."));
|
||||||
if (!dir)
|
if (!dir)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
@ -513,7 +506,7 @@ int efi_get_boot_options(uint16_t **options) {
|
|||||||
if (strlen(de->d_name) != 45)
|
if (strlen(de->d_name) != 45)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (strcmp(de->d_name + 8, "-8be4df61-93ca-11d2-aa0d-00e098032b8c") != 0)
|
if (strcmp(de->d_name + 8, EFI_GLOBAL_VARIABLE_STR("")) != 0) /* generate variable suffix using macro */
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
id = boot_id_hex(de->d_name + 4);
|
id = boot_id_hex(de->d_name + 4);
|
||||||
@ -533,15 +526,15 @@ int efi_get_boot_options(uint16_t **options) {
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_usec(sd_id128_t vendor, const char *name, usec_t *u) {
|
static int read_usec(const char *variable, usec_t *u) {
|
||||||
_cleanup_free_ char *j = NULL;
|
_cleanup_free_ char *j = NULL;
|
||||||
int r;
|
int r;
|
||||||
uint64_t x = 0;
|
uint64_t x = 0;
|
||||||
|
|
||||||
assert(name);
|
assert(variable);
|
||||||
assert(u);
|
assert(u);
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, name, &j);
|
r = efi_get_variable_string(variable, &j);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -563,11 +556,11 @@ int efi_loader_get_boot_usec(usec_t *firmware, usec_t *loader) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
r = read_usec(EFI_VENDOR_LOADER, "LoaderTimeInitUSec", &x);
|
r = read_usec(EFI_LOADER_VARIABLE(LoaderTimeInitUSec), &x);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_debug_errno(r, "Failed to read LoaderTimeInitUSec: %m");
|
return log_debug_errno(r, "Failed to read LoaderTimeInitUSec: %m");
|
||||||
|
|
||||||
r = read_usec(EFI_VENDOR_LOADER, "LoaderTimeExecUSec", &y);
|
r = read_usec(EFI_LOADER_VARIABLE(LoaderTimeExecUSec), &y);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_debug_errno(r, "Failed to read LoaderTimeExecUSec: %m");
|
return log_debug_errno(r, "Failed to read LoaderTimeExecUSec: %m");
|
||||||
|
|
||||||
@ -589,7 +582,7 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderDevicePartUUID", &p);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderDevicePartUUID), &p);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -600,12 +593,9 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
|
|||||||
&parsed[12], &parsed[13], &parsed[14], &parsed[15]) != 16)
|
&parsed[12], &parsed[13], &parsed[14], &parsed[15]) != 16)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
if (u) {
|
if (u)
|
||||||
unsigned i;
|
for (unsigned i = 0; i < ELEMENTSOF(parsed); i++)
|
||||||
|
|
||||||
for (i = 0; i < ELEMENTSOF(parsed); i++)
|
|
||||||
u->bytes[i] = parsed[i];
|
u->bytes[i] = parsed[i];
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -613,7 +603,7 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
|
|||||||
int efi_loader_get_entries(char ***ret) {
|
int efi_loader_get_entries(char ***ret) {
|
||||||
_cleanup_free_ char16_t *entries = NULL;
|
_cleanup_free_ char16_t *entries = NULL;
|
||||||
_cleanup_strv_free_ char **l = NULL;
|
_cleanup_strv_free_ char **l = NULL;
|
||||||
size_t size, i, start;
|
size_t size;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
assert(ret);
|
assert(ret);
|
||||||
@ -621,13 +611,13 @@ int efi_loader_get_entries(char ***ret) {
|
|||||||
if (!is_efi_boot())
|
if (!is_efi_boot())
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderEntries", NULL, (void**) &entries, &size);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderEntries), NULL, (void**) &entries, &size);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
/* The variable contains a series of individually NUL terminated UTF-16 strings. */
|
/* The variable contains a series of individually NUL terminated UTF-16 strings. */
|
||||||
|
|
||||||
for (i = 0, start = 0;; i++) {
|
for (size_t i = 0, start = 0;; i++) {
|
||||||
_cleanup_free_ char *decoded = NULL;
|
_cleanup_free_ char *decoded = NULL;
|
||||||
bool end;
|
bool end;
|
||||||
|
|
||||||
@ -673,12 +663,12 @@ int efi_loader_get_features(uint64_t *ret) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable(EFI_VENDOR_LOADER, "LoaderFeatures", NULL, &v, &s);
|
r = efi_get_variable(EFI_LOADER_VARIABLE(LoaderFeatures), NULL, &v, &s);
|
||||||
if (r == -ENOENT) {
|
if (r == -ENOENT) {
|
||||||
_cleanup_free_ char *info = NULL;
|
_cleanup_free_ char *info = NULL;
|
||||||
|
|
||||||
/* The new (v240+) LoaderFeatures variable is not supported, let's see if it's systemd-boot at all */
|
/* The new (v240+) LoaderFeatures variable is not supported, let's see if it's systemd-boot at all */
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderInfo", &info);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderInfo), &info);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
if (r != -ENOENT)
|
if (r != -ENOENT)
|
||||||
return r;
|
return r;
|
||||||
@ -713,7 +703,7 @@ int efi_loader_get_features(uint64_t *ret) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
|
int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
|
||||||
_cleanup_free_ char *v = NULL, *fn = NULL;
|
_cleanup_free_ char *v = NULL;
|
||||||
static struct stat cache_stat = {};
|
static struct stat cache_stat = {};
|
||||||
struct stat new_stat;
|
struct stat new_stat;
|
||||||
static usec_t cache;
|
static usec_t cache;
|
||||||
@ -722,12 +712,8 @@ int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
|
|||||||
|
|
||||||
assert(ret);
|
assert(ret);
|
||||||
|
|
||||||
fn = efi_variable_path(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot");
|
/* stat() the EFI variable, to see if the mtime changed. If it did, we need to cache again. */
|
||||||
if (!fn)
|
if (stat(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot)), &new_stat) < 0)
|
||||||
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;
|
return -errno;
|
||||||
|
|
||||||
if (stat_inode_unmodified(&new_stat, &cache_stat)) {
|
if (stat_inode_unmodified(&new_stat, &cache_stat)) {
|
||||||
@ -735,7 +721,7 @@ int efi_loader_get_config_timeout_one_shot(usec_t *ret) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderConfigTimeoutOneShot", &v);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderConfigTimeoutOneShot), &v);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -751,25 +737,21 @@ 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) {
|
int efi_loader_update_entry_one_shot_cache(char **cache, struct stat *cache_stat) {
|
||||||
_cleanup_free_ char *fn = NULL, *v = NULL;
|
_cleanup_free_ char *v = NULL;
|
||||||
struct stat new_stat;
|
struct stat new_stat;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
assert(cache);
|
assert(cache);
|
||||||
assert(cache_stat);
|
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. */
|
/* stat() the EFI variable, to see if the mtime changed. If it did we need to cache again. */
|
||||||
if (stat(fn, &new_stat) < 0)
|
if (stat(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderEntryOneShot)), &new_stat) < 0)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
if (stat_inode_unmodified(&new_stat, cache_stat))
|
if (stat_inode_unmodified(&new_stat, cache_stat))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", &v);
|
r = efi_get_variable_string(EFI_LOADER_VARIABLE(LoaderEntryOneShot), &v);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
@ -808,7 +790,6 @@ bool efi_has_tpm2(void) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool efi_loader_entry_name_valid(const char *s) {
|
bool efi_loader_entry_name_valid(const char *s) {
|
||||||
|
|
||||||
if (!filename_is_valid(s)) /* Make sure entry names fit in filenames */
|
if (!filename_is_valid(s)) /* Make sure entry names fit in filenames */
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -816,9 +797,7 @@ bool efi_loader_entry_name_valid(const char *s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *efi_tilt_backslashes(char *s) {
|
char *efi_tilt_backslashes(char *s) {
|
||||||
char *p;
|
for (char *p = s; *p; p++)
|
||||||
|
|
||||||
for (p = s; *p; p++)
|
|
||||||
if (*p == '\\')
|
if (*p == '\\')
|
||||||
*p = '/';
|
*p = '/';
|
||||||
|
|
||||||
|
|||||||
@ -1712,12 +1712,12 @@ static int print_property(const char *name, const char *expected_value, sd_bus_m
|
|||||||
return 1;
|
return 1;
|
||||||
} else if (STR_IN_SET(name, "SocketBindAllow", "SocketBindDeny")) {
|
} else if (STR_IN_SET(name, "SocketBindAllow", "SocketBindDeny")) {
|
||||||
uint16_t nr_ports, port_min;
|
uint16_t nr_ports, port_min;
|
||||||
int af;
|
int32_t af, ip_protocol;
|
||||||
|
|
||||||
r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, "(iqq)");
|
r = sd_bus_message_enter_container(m, SD_BUS_TYPE_ARRAY, "(iiqq)");
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return bus_log_parse_error(r);
|
return bus_log_parse_error(r);
|
||||||
while ((r = sd_bus_message_read(m, "(iqq)", &af, &nr_ports, &port_min)) > 0) {
|
while ((r = sd_bus_message_read(m, "(iiqq)", &af, &ip_protocol, &nr_ports, &port_min)) > 0) {
|
||||||
const char *family, *colon;
|
const char *family, *colon;
|
||||||
|
|
||||||
family = strempty(af_to_ipv4_ipv6(af));
|
family = strempty(af_to_ipv4_ipv6(af));
|
||||||
|
|||||||
@ -107,6 +107,9 @@ 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) \
|
#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
|
#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) {
|
_sd_pure_ static __inline__ int sd_id128_equal(sd_id128_t a, sd_id128_t b) {
|
||||||
return memcmp(&a, &b, 16) == 0;
|
return memcmp(&a, &b, 16) == 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,6 +104,7 @@ fi
|
|||||||
|
|
||||||
BASICTOOLS=(
|
BASICTOOLS=(
|
||||||
awk
|
awk
|
||||||
|
base64
|
||||||
basename
|
basename
|
||||||
bash
|
bash
|
||||||
busybox
|
busybox
|
||||||
|
|||||||
@ -2,6 +2,21 @@
|
|||||||
set -eux
|
set -eux
|
||||||
set -o pipefail
|
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
|
# Test stdout stream
|
||||||
|
|
||||||
# Skip empty lines
|
# Skip empty lines
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user