summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS17
-rw-r--r--coccinelle/empty-or-dash.cocci5
-rw-r--r--hwdb/20-OUI.hwdb332
-rw-r--r--hwdb/20-acpi-vendor.hwdb.patch4
-rw-r--r--hwdb/20-pci-vendor-model.hwdb112
-rw-r--r--hwdb/ma-large.txt792
-rw-r--r--hwdb/ma-medium.txt162
-rw-r--r--hwdb/ma-small.txt189
-rw-r--r--hwdb/pci.ids44
-rw-r--r--man/sd_event_add_io.xml6
-rw-r--r--man/systemd-sysusers.xml2
-rw-r--r--man/systemd.link.xml74
-rw-r--r--man/systemd.mount.xml8
-rw-r--r--man/systemd.service.xml7
-rw-r--r--man/systemd.special.xml13
-rw-r--r--man/systemd.unit.xml10
-rw-r--r--meson.build3
-rw-r--r--po/lt.po63
-rw-r--r--src/basic/string-util.h10
-rw-r--r--src/import/export.c6
-rw-r--r--src/import/import-fs.c6
-rw-r--r--src/import/import.c12
-rw-r--r--src/import/pull.c6
-rw-r--r--src/locale/keymap-util.c20
-rw-r--r--src/login/inhibit.c9
-rw-r--r--src/login/logind-dbus.c82
-rw-r--r--src/login/logind-session.c16
-rw-r--r--src/login/pam_systemd.c13
-rw-r--r--src/machine/machinectl.c34
-rw-r--r--src/shared/calendarspec.c170
-rw-r--r--src/sysusers/sysusers.c271
-rw-r--r--src/tmpfiles/tmpfiles.c10
-rw-r--r--test/fuzz/fuzz-calendarspec/oss-fuzz-141081
-rw-r--r--units/meson.build1
-rw-r--r--units/systemd-timesyncd.service.in4
-rw-r--r--units/systemd-tmpfiles-clean.service.in2
-rw-r--r--units/time-set.target13
-rw-r--r--units/time-sync.target2
38 files changed, 1885 insertions, 646 deletions
diff --git a/NEWS b/NEWS
index a1dbd97434..8c8d7c08ba 100644
--- a/NEWS
+++ b/NEWS
@@ -75,6 +75,12 @@ CHANGES WITH 242:
has been updated to include the new rseq() system call introduced in
kernel 4.15.
+ * A new time-set.target has been added that indicates that the system
+ time has been set from a local source (possibly imprecise). The
+ existing time-sync.target is stronger and indicates that the time has
+ been synchronized with a precise external source. Services where
+ approximate time is sufficient should use the new target.
+
* "systemctl start" (and related commands) learnt a new
--show-transaction option. If specified brief information about all
jobs queued because of the requested operation is shown.
@@ -243,17 +249,18 @@ CHANGES WITH 242:
Davide Cavalca, David Michael, David Rheinsberg, emersion, Evgeny
Vereshchagin, Filipe Brandenburger, Franck Bui, Frantisek Sumsal,
Giacinto Cifelli, Hans de Goede, Hugo Kindel, Ignat Korchagin, Insun
- Pyo, Jan Engelhardt, Jonathan Lebon, Jonathon Kowalski, Jörg Sommer,
- Jörg Thalheim, Kai-Heng Feng, Lennart Poettering, Lubomir Rintel,
- Martin Pitt, Matthias Klumpp, Michael Biebl, Michael Niewöhner, Michael
- Olbrich, Michal Sekletar, Mike Lothian, Piotr Drąg, Riccardo Schirone,
+ Pyo, Jan Engelhardt, Jonas Dorel, Jonathan Lebon, Jonathon Kowalski,
+ Jörg Sommer, Jörg Thalheim, Jussi Pakkanen, Kai-Heng Feng, Lennart
+ Poettering, Lubomir Rintel, Luís Ferreira, Martin Pitt, Matthias
+ Klumpp, Michael Biebl, Michael Niewöhner, Michael Olbrich, Michal
+ Sekletar, Mike Lothian, Paul Menzel, Piotr Drąg, Riccardo Schirone,
Robin Elvedi, Roman Kulikov, Ronald Tschalär, Ross Burton, Ryan
Gonzalez, Stephane Chazelas, StKob, Susant Sahani, Sylvain Plantefève,
Szabolcs Fruhwald, Taro Yamada, Theo Ouzhinski, Thomas Haller, Tobias
Jungel, Tom Yan, Tony Asleson, Topi Miettinen, unixsysadmin, Van Laser,
Vesa Jääskeläinen, Yu, Li-Yu, Yu Watanabe, Zbigniew Jędrzejewski-Szmek
- — Warsaw, 2019-04-03
+ — Warsaw, 2019-04-08
CHANGES WITH 241:
diff --git a/coccinelle/empty-or-dash.cocci b/coccinelle/empty-or-dash.cocci
new file mode 100644
index 0000000000..bebaead2ff
--- /dev/null
+++ b/coccinelle/empty-or-dash.cocci
@@ -0,0 +1,5 @@
+@@
+expression s;
+@@
+- (isempty(s) || streq(s, "-"))
++ empty_or_dash(s)
diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
index 1d2c7ff702..769404a6e5 100644
--- a/hwdb/20-OUI.hwdb
+++ b/hwdb/20-OUI.hwdb
@@ -3666,7 +3666,7 @@ OUI:0004C3*
ID_OUI_FROM_DATABASE=CASTOR Informatique
OUI:0004C4*
- ID_OUI_FROM_DATABASE=Allen & Heath Limited
+ ID_OUI_FROM_DATABASE=Audiotonix Group Limited
OUI:0004C5*
ID_OUI_FROM_DATABASE=ASE Technologies, USA
@@ -9903,7 +9903,7 @@ OUI:000CFE*
ID_OUI_FROM_DATABASE=Grand Electronic Co., Ltd
OUI:000CFF*
- ID_OUI_FROM_DATABASE=MRO-TEK LIMITED
+ ID_OUI_FROM_DATABASE=MRO-TEK Realty Limited
OUI:000D00*
ID_OUI_FROM_DATABASE=Seaway Networks Inc.
@@ -31397,6 +31397,9 @@ OUI:003532*
OUI:003560*
ID_OUI_FROM_DATABASE=Rosen Aviation
+OUI:0035FF*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:003676*
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
@@ -34419,7 +34422,7 @@ OUI:00808B*
ID_OUI_FROM_DATABASE=DACOLL LIMITED
OUI:00808C*
- ID_OUI_FROM_DATABASE=NetScout Systems, Inc.
+ ID_OUI_FROM_DATABASE=NetAlly
OUI:00808D*
ID_OUI_FROM_DATABASE=WESTCOAST TECHNOLOGY B.V.
@@ -35676,7 +35679,7 @@ OUI:00A00D*
ID_OUI_FROM_DATABASE=THE PANDA PROJECT
OUI:00A00E*
- ID_OUI_FROM_DATABASE=NetScout Systems, Inc.
+ ID_OUI_FROM_DATABASE=NetAlly
OUI:00A00F*
ID_OUI_FROM_DATABASE=Broadband Technologies
@@ -36464,6 +36467,9 @@ OUI:00ACE0*
OUI:00AD24*
ID_OUI_FROM_DATABASE=D-Link International
+OUI:00AD63*
+ ID_OUI_FROM_DATABASE=Dedicated Micros Malta LTD
+
OUI:00AECD*
ID_OUI_FROM_DATABASE=Pensando Systems
@@ -36753,7 +36759,7 @@ OUI:00C016*
ID_OUI_FROM_DATABASE=ELECTRONIC THEATRE CONTROLS
OUI:00C017*
- ID_OUI_FROM_DATABASE=NetScout Systems, Inc.
+ ID_OUI_FROM_DATABASE=NetAlly
OUI:00C018*
ID_OUI_FROM_DATABASE=LANART CORPORATION
@@ -39173,6 +39179,9 @@ OUI:00EBD5*
OUI:00EC0A*
ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+OUI:00EDB8*
+ ID_OUI_FROM_DATABASE=KYOCERA Corporation
+
OUI:00EEAB*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
@@ -39203,6 +39212,9 @@ OUI:00F48D*
OUI:00F4B9*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:00F620*
+ ID_OUI_FROM_DATABASE=Google, Inc.
+
OUI:00F663*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
@@ -39708,7 +39720,7 @@ OUI:049F06*
ID_OUI_FROM_DATABASE=Smobile Co., Ltd.
OUI:049F81*
- ID_OUI_FROM_DATABASE=NetScout Systems, Inc.
+ ID_OUI_FROM_DATABASE=NetAlly
OUI:049FCA*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
@@ -39878,6 +39890,9 @@ OUI:04D437*
OUI:04D4C4*
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+OUI:04D590*
+ ID_OUI_FROM_DATABASE=Fortinet, Inc.
+
OUI:04D6AA*
ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS(THAILAND)
@@ -42713,6 +42728,9 @@ OUI:144146*
OUI:1441E2*
ID_OUI_FROM_DATABASE=Monaco Enterprises, Inc.
+OUI:1442FC*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:144319*
ID_OUI_FROM_DATABASE=Creative&Link Technology Limited
@@ -44663,6 +44681,9 @@ OUI:1CB3E9*
OUI:1CB72C*
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+OUI:1CB796*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:1CB857*
ID_OUI_FROM_DATABASE=Becon Technologies Co,.Ltd.
@@ -46115,6 +46136,9 @@ OUI:24ECD6*
OUI:24EE3A*
ID_OUI_FROM_DATABASE=Chengdu Yingji Electronic Hi-tech Co Ltd
+OUI:24EE9A*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:24F094*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -47048,6 +47072,9 @@ OUI:2C1CF6*
OUI:2C1DB8*
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+OUI:2C1E4F*
+ ID_OUI_FROM_DATABASE=Chengdu Qianli Network Technology Co., Ltd.
+
OUI:2C1EEA*
ID_OUI_FROM_DATABASE=AERODEV
@@ -47333,6 +47360,9 @@ OUI:2C4D54*
OUI:2C4D79*
ID_OUI_FROM_DATABASE=WEIFANG GOERTEK ELECTRONICS CO.,LTD
+OUI:2C4F52*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
OUI:2C5089*
ID_OUI_FROM_DATABASE=Shenzhen Kaixuan Visual Technology Co.,Limited
@@ -47834,6 +47864,9 @@ OUI:2CFDAB*
OUI:2CFF65*
ID_OUI_FROM_DATABASE=Oki Electric Industry Co., Ltd.
+OUI:2CFFEE*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
OUI:30053F*
ID_OUI_FROM_DATABASE=JTI Co.,Ltd.
@@ -49487,6 +49520,9 @@ OUI:3817E1*
OUI:38192F*
ID_OUI_FROM_DATABASE=Nokia Corporation
+OUI:381A52*
+ ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+
OUI:381C1A*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
@@ -49637,6 +49673,9 @@ OUI:38458C*
OUI:384608*
ID_OUI_FROM_DATABASE=zte corporation
+OUI:3847BC*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:38484C*
ID_OUI_FROM_DATABASE=Apple, Inc.
@@ -50147,6 +50186,9 @@ OUI:38ED18*
OUI:38EE9D*
ID_OUI_FROM_DATABASE=Anedo Ltd.
+OUI:38EFE3*
+ ID_OUI_FROM_DATABASE=INGENICO TERMINALS SAS
+
OUI:38F098*
ID_OUI_FROM_DATABASE=Vapor Stone Rail Systems
@@ -50894,6 +50936,9 @@ OUI:3CB6B7*
OUI:3CB72B*
ID_OUI_FROM_DATABASE=PLUMgrid Inc
+OUI:3CB74B*
+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
+
OUI:3CB792*
ID_OUI_FROM_DATABASE=Hitachi Maxell, Ltd., Optronics Division
@@ -52073,6 +52118,9 @@ OUI:445829*
OUI:44599F*
ID_OUI_FROM_DATABASE=Criticare Systems, Inc
+OUI:4459E3*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:445D5E*
ID_OUI_FROM_DATABASE=SHENZHEN Coolkit Technology CO.,LTD
@@ -52910,6 +52958,9 @@ OUI:48A6B8*
OUI:48A6D2*
ID_OUI_FROM_DATABASE=GJsun Optical Science and Tech Co.,Ltd.
+OUI:48A73C*
+ ID_OUI_FROM_DATABASE=Sichuan tianyi kanghe communications co., LTD
+
OUI:48A74E*
ID_OUI_FROM_DATABASE=zte corporation
@@ -54338,6 +54389,9 @@ OUI:50934F*
OUI:509551*
ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+OUI:509744*
+ ID_OUI_FROM_DATABASE=Integrated Device Technology (Malaysia) Sdn. Bhd.
+
OUI:509772*
ID_OUI_FROM_DATABASE=Westinghouse Digital
@@ -54527,6 +54581,9 @@ OUI:50D274*
OUI:50D37F*
ID_OUI_FROM_DATABASE=Yu Fly Mikly Way Science and Technology Co., Ltd.
+OUI:50D4F7*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:50D59C*
ID_OUI_FROM_DATABASE=Thai Habel Industrial Co., Ltd.
@@ -54554,6 +54611,9 @@ OUI:50DD4F*
OUI:50DF95*
ID_OUI_FROM_DATABASE=Lytx
+OUI:50E085*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:50E0C7*
ID_OUI_FROM_DATABASE=TurControlSystme AG
@@ -54989,6 +55049,9 @@ OUI:548998*
OUI:548CA0*
ID_OUI_FROM_DATABASE=Liteon Technology Corporation
+OUI:549209*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:5492BE*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@@ -55136,6 +55199,9 @@ OUI:54B802*
OUI:54B80A*
ID_OUI_FROM_DATABASE=D-Link International
+OUI:54BAD6*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:54BD79*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
@@ -56135,6 +56201,9 @@ OUI:5C5819*
OUI:5C5948*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:5C5AC7*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
OUI:5C5AEA*
ID_OUI_FROM_DATABASE=FORD
@@ -56216,6 +56285,9 @@ OUI:5C86C1*
OUI:5C8778*
ID_OUI_FROM_DATABASE=Cybertelbridge co.,ltd
+OUI:5C879C*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
OUI:5C8816*
ID_OUI_FROM_DATABASE=Rockwell Automation
@@ -56663,6 +56735,9 @@ OUI:6024C1*
OUI:60271C*
ID_OUI_FROM_DATABASE=VIDEOR E. Hartig GmbH
+OUI:6029D5*
+ ID_OUI_FROM_DATABASE=DAVOLINK Inc.
+
OUI:602A54*
ID_OUI_FROM_DATABASE=CardioTek B.V.
@@ -56708,6 +56783,9 @@ OUI:6038E0*
OUI:60391F*
ID_OUI_FROM_DATABASE=ABB Ltd
+OUI:603A7C*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:603D26*
ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
@@ -58073,6 +58151,9 @@ OUI:683E34*
OUI:683EEC*
ID_OUI_FROM_DATABASE=ERECA
+OUI:683F1E*
+ ID_OUI_FROM_DATABASE=EFFECT Photonics B.V.
+
OUI:684352*
ID_OUI_FROM_DATABASE=Bhuu Limited
@@ -58808,6 +58889,9 @@ OUI:6C5CDE*
OUI:6C5D63*
ID_OUI_FROM_DATABASE=ShenZhen Rapoo Technology Co., Ltd.
+OUI:6C5E3B*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
OUI:6C5E7A*
ID_OUI_FROM_DATABASE=Ubiquitous Internet Telecom Co., Ltd
@@ -60029,6 +60113,9 @@ OUI:70B3D5063*
OUI:70B3D5066*
ID_OUI_FROM_DATABASE=North Pole Engineering, Inc.
+OUI:70B3D5068*
+ ID_OUI_FROM_DATABASE=Onethinx BV
+
OUI:70B3D5069*
ID_OUI_FROM_DATABASE=ONDEMAND LABORATORY Co., Ltd.
@@ -60131,6 +60218,9 @@ OUI:70B3D5091*
OUI:70B3D5092*
ID_OUI_FROM_DATABASE=inomed Medizintechnik GmbH
+OUI:70B3D5093*
+ ID_OUI_FROM_DATABASE=Legrand Electric Ltd
+
OUI:70B3D5094*
ID_OUI_FROM_DATABASE=Circuitlink Pty Ltd
@@ -60398,6 +60488,9 @@ OUI:70B3D50FF*
OUI:70B3D5100*
ID_OUI_FROM_DATABASE=Gupsy GmbH
+OUI:70B3D5102*
+ ID_OUI_FROM_DATABASE=Oxford Monitoring Solutions Ltd
+
OUI:70B3D5103*
ID_OUI_FROM_DATABASE=HANYOUNG NUX CO.,LTD
@@ -60926,6 +61019,9 @@ OUI:70B3D51F4*
OUI:70B3D51F5*
ID_OUI_FROM_DATABASE=Martec S.p.A.
+OUI:70B3D51F7*
+ ID_OUI_FROM_DATABASE=Morgan Schaffer Inc.
+
OUI:70B3D51F8*
ID_OUI_FROM_DATABASE=Convergent Design
@@ -61127,6 +61223,9 @@ OUI:70B3D524A*
OUI:70B3D524B*
ID_OUI_FROM_DATABASE=TOSEI ENGINEERING CORP.
+OUI:70B3D524C*
+ ID_OUI_FROM_DATABASE=Astronomical Research Cameras, Inc.
+
OUI:70B3D524D*
ID_OUI_FROM_DATABASE=INFO CREATIVE (HK) LTD
@@ -61157,6 +61256,9 @@ OUI:70B3D5255*
OUI:70B3D5257*
ID_OUI_FROM_DATABASE=LG Electronics
+OUI:70B3D5258*
+ ID_OUI_FROM_DATABASE=BAYKON Endüstriyel Kontrol Sistemleri San. ve Tic. A.Ş.
+
OUI:70B3D5259*
ID_OUI_FROM_DATABASE=Zebra Elektronik A.S.
@@ -61391,12 +61493,18 @@ OUI:70B3D52BE*
OUI:70B3D52BF*
ID_OUI_FROM_DATABASE=FOSHAN VOHOM
+OUI:70B3D52C0*
+ ID_OUI_FROM_DATABASE=Sensative AB
+
OUI:70B3D52C2*
ID_OUI_FROM_DATABASE=Quantum Detectors
OUI:70B3D52C3*
ID_OUI_FROM_DATABASE=Proterra
+OUI:70B3D52C7*
+ ID_OUI_FROM_DATABASE=Worldsensing
+
OUI:70B3D52C9*
ID_OUI_FROM_DATABASE=SEASON DESIGN TECHNOLOGY
@@ -61430,6 +61538,9 @@ OUI:70B3D52D5*
OUI:70B3D52D6*
ID_OUI_FROM_DATABASE=Kvazar LLC
+OUI:70B3D52D7*
+ ID_OUI_FROM_DATABASE=Private
+
OUI:70B3D52DA*
ID_OUI_FROM_DATABASE=Skywave Networks Private Limited
@@ -61919,6 +62030,9 @@ OUI:70B3D53BB*
OUI:70B3D53BC*
ID_OUI_FROM_DATABASE=SciTronix
+OUI:70B3D53BD*
+ ID_OUI_FROM_DATABASE=DAO QIN TECHNOLOGY CO.LTD.
+
OUI:70B3D53BE*
ID_OUI_FROM_DATABASE=MyDefence Communication ApS
@@ -61952,6 +62066,9 @@ OUI:70B3D53C9*
OUI:70B3D53CA*
ID_OUI_FROM_DATABASE=TTI Ltd
+OUI:70B3D53CB*
+ ID_OUI_FROM_DATABASE=GeoSpectrum Technologies Inc
+
OUI:70B3D53CC*
ID_OUI_FROM_DATABASE=TerOpta Ltd
@@ -62231,6 +62348,9 @@ OUI:70B3D544E*
OUI:70B3D5455*
ID_OUI_FROM_DATABASE=Heartlandmicropayments
+OUI:70B3D5456*
+ ID_OUI_FROM_DATABASE=Technological Application and Production One Member Liability Company (Tecapro company)
+
OUI:70B3D5457*
ID_OUI_FROM_DATABASE=Vivaldi Clima Srl
@@ -62261,6 +62381,9 @@ OUI:70B3D5461*
OUI:70B3D5462*
ID_OUI_FROM_DATABASE=EarTex
+OUI:70B3D5463*
+ ID_OUI_FROM_DATABASE=WARECUBE,INC
+
OUI:70B3D5465*
ID_OUI_FROM_DATABASE=ENERGISME
@@ -62303,6 +62426,9 @@ OUI:70B3D5478*
OUI:70B3D5479*
ID_OUI_FROM_DATABASE=LINEAGE POWER PVT LTD.,
+OUI:70B3D547A*
+ ID_OUI_FROM_DATABASE=GlooVir Inc.
+
OUI:70B3D547C*
ID_OUI_FROM_DATABASE=Par-Tech, Inc.
@@ -62813,6 +62939,9 @@ OUI:70B3D556C*
OUI:70B3D5570*
ID_OUI_FROM_DATABASE=Bayern Engineering GmbH & Co. KG
+OUI:70B3D5571*
+ ID_OUI_FROM_DATABASE=Echogear
+
OUI:70B3D5572*
ID_OUI_FROM_DATABASE=CRDE
@@ -62840,6 +62969,9 @@ OUI:70B3D557C*
OUI:70B3D557D*
ID_OUI_FROM_DATABASE=WICOM1 GmbH
+OUI:70B3D557E*
+ ID_OUI_FROM_DATABASE=Ascon Tecnologic S.r.l.
+
OUI:70B3D557F*
ID_OUI_FROM_DATABASE=MBio Diagnostics, Inc.
@@ -63308,6 +63440,9 @@ OUI:70B3D565C*
OUI:70B3D565D*
ID_OUI_FROM_DATABASE=GEGA ELECTRONIQUE
+OUI:70B3D565E*
+ ID_OUI_FROM_DATABASE=Season Electronics Ltd
+
OUI:70B3D5660*
ID_OUI_FROM_DATABASE=Smart Service Technologies CO., LTD
@@ -63698,6 +63833,9 @@ OUI:70B3D5723*
OUI:70B3D5724*
ID_OUI_FROM_DATABASE=Quan International Co., Ltd.
+OUI:70B3D5726*
+ ID_OUI_FROM_DATABASE=ATGS
+
OUI:70B3D5727*
ID_OUI_FROM_DATABASE=LP Technologies Inc.
@@ -65990,6 +66128,9 @@ OUI:70B3D5B2D*
OUI:70B3D5B2E*
ID_OUI_FROM_DATABASE=Green Access Ltd
+OUI:70B3D5B2F*
+ ID_OUI_FROM_DATABASE=Hermann Automation GmbH
+
OUI:70B3D5B30*
ID_OUI_FROM_DATABASE=Systolé Hardware B.V.
@@ -66077,6 +66218,9 @@ OUI:70B3D5B55*
OUI:70B3D5B56*
ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L.
+OUI:70B3D5B58*
+ ID_OUI_FROM_DATABASE=INTERNET PROTOCOLO LOGICA SL
+
OUI:70B3D5B59*
ID_OUI_FROM_DATABASE=FutureTechnologyLaboratories INC.
@@ -66383,6 +66527,9 @@ OUI:70B3D5BE5*
OUI:70B3D5BE6*
ID_OUI_FROM_DATABASE=CCII Systems (Pty) Ltd
+OUI:70B3D5BE7*
+ ID_OUI_FROM_DATABASE=Syscom Instruments SA
+
OUI:70B3D5BE8*
ID_OUI_FROM_DATABASE=AndFun Co.,Ltd.
@@ -66440,6 +66587,9 @@ OUI:70B3D5C01*
OUI:70B3D5C03*
ID_OUI_FROM_DATABASE=XAVi Technologies Corp.
+OUI:70B3D5C04*
+ ID_OUI_FROM_DATABASE=Prolan Zrt.
+
OUI:70B3D5C05*
ID_OUI_FROM_DATABASE=KST technology
@@ -66608,6 +66758,9 @@ OUI:70B3D5C4D*
OUI:70B3D5C4F*
ID_OUI_FROM_DATABASE=AE Van de Vliet BVBA
+OUI:70B3D5C51*
+ ID_OUI_FROM_DATABASE=Innotas Elektronik GmbH
+
OUI:70B3D5C53*
ID_OUI_FROM_DATABASE=S Labs sp. z o.o.
@@ -66845,6 +66998,9 @@ OUI:70B3D5CC3*
OUI:70B3D5CC5*
ID_OUI_FROM_DATABASE=Intecom
+OUI:70B3D5CC6*
+ ID_OUI_FROM_DATABASE=MB connect line GmbH Fernwartungssysteme
+
OUI:70B3D5CC8*
ID_OUI_FROM_DATABASE=PROFEN COMMUNICATIONS
@@ -67103,6 +67259,9 @@ OUI:70B3D5D47*
OUI:70B3D5D48*
ID_OUI_FROM_DATABASE=HEADROOM Broadcast GmbH
+OUI:70B3D5D49*
+ ID_OUI_FROM_DATABASE=Sicon srl
+
OUI:70B3D5D4A*
ID_OUI_FROM_DATABASE=OÜ ELIKO Tehnoloogia Arenduskeskus
@@ -67133,6 +67292,9 @@ OUI:70B3D5D54*
OUI:70B3D5D55*
ID_OUI_FROM_DATABASE=WM Design s.r.o
+OUI:70B3D5D56*
+ ID_OUI_FROM_DATABASE=KRONOTECH SRL
+
OUI:70B3D5D57*
ID_OUI_FROM_DATABASE=TRIUMPH BOARD a.s.
@@ -67373,6 +67535,9 @@ OUI:70B3D5DC0*
OUI:70B3D5DC2*
ID_OUI_FROM_DATABASE=SwineTech, Inc.
+OUI:70B3D5DC3*
+ ID_OUI_FROM_DATABASE=Fath Mechatronics
+
OUI:70B3D5DC5*
ID_OUI_FROM_DATABASE=Excel Medical Electronics LLC
@@ -67472,6 +67637,9 @@ OUI:70B3D5DF2*
OUI:70B3D5DF3*
ID_OUI_FROM_DATABASE=SPC Bioclinicum
+OUI:70B3D5DF4*
+ ID_OUI_FROM_DATABASE=Heim- & Bürokommunikation Ilmert e.K.
+
OUI:70B3D5DF5*
ID_OUI_FROM_DATABASE=Beijing Huanyu Zhilian Science &Technology Co., Ltd.
@@ -67490,6 +67658,9 @@ OUI:70B3D5DF9*
OUI:70B3D5DFA*
ID_OUI_FROM_DATABASE=Newtouch Electronics (Shanghai) Co.,Ltd.
+OUI:70B3D5DFB*
+ ID_OUI_FROM_DATABASE=Yamamoto Works Ltd.
+
OUI:70B3D5DFC*
ID_OUI_FROM_DATABASE=ELECTRONIC SYSTEMS DESIGN SPRL
@@ -67679,6 +67850,9 @@ OUI:70B3D5E52*
OUI:70B3D5E53*
ID_OUI_FROM_DATABASE=MI INC.
+OUI:70B3D5E54*
+ ID_OUI_FROM_DATABASE=Beijing PanGu Company
+
OUI:70B3D5E55*
ID_OUI_FROM_DATABASE=BELT S.r.l.
@@ -69095,6 +69269,9 @@ OUI:745612*
OUI:745798*
ID_OUI_FROM_DATABASE=TRUMPF Laser GmbH + Co. KG
+OUI:745909*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:745933*
ID_OUI_FROM_DATABASE=Danal Entertainment
@@ -71045,6 +71222,9 @@ OUI:7C8EE4*
OUI:7C9122*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:7C942A*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:7C94B2*
ID_OUI_FROM_DATABASE=Philips Healthcare PCCI
@@ -71123,6 +71303,9 @@ OUI:7CB25C*
OUI:7CB542*
ID_OUI_FROM_DATABASE=ACES Technology
+OUI:7CB59B*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:7CB733*
ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP
@@ -72206,6 +72389,9 @@ OUI:8404D2*
OUI:840B2D*
ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO MECHANICS CO., LTD.
+OUI:840B7C*
+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc
+
OUI:840D8E*
ID_OUI_FROM_DATABASE=Espressif Inc.
@@ -73469,6 +73655,9 @@ OUI:889E33*
OUI:889F6F*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:889FAA*
+ ID_OUI_FROM_DATABASE=Hella Gutmann Solutions GmbH
+
OUI:889FFA*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
@@ -74093,6 +74282,33 @@ OUI:8C57FD*
OUI:8C5877*
ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:8C593C1*
+ ID_OUI_FROM_DATABASE=Future Robot Technology Co., Limited
+
+OUI:8C593C2*
+ ID_OUI_FROM_DATABASE=Beida Jade Bird Universal Fire Alarm Device CO.,LTD.
+
+OUI:8C593C3*
+ ID_OUI_FROM_DATABASE=Chongqing beimoting technology co.ltd
+
+OUI:8C593C5*
+ ID_OUI_FROM_DATABASE=Spectranetix
+
+OUI:8C593C6*
+ ID_OUI_FROM_DATABASE=Qbic Technology Co., Ltd
+
+OUI:8C593C7*
+ ID_OUI_FROM_DATABASE=OBO Pro.2 Inc.
+
+OUI:8C593C8*
+ ID_OUI_FROM_DATABASE=Nanonord A/S
+
+OUI:8C593C9*
+ ID_OUI_FROM_DATABASE=GENIS
+
+OUI:8C593CD*
+ ID_OUI_FROM_DATABASE=IDRO-ELETTRICA S.P.A.
+
OUI:8C5973*
ID_OUI_FROM_DATABASE=Zyxel Communications Corporation
@@ -76298,6 +76514,9 @@ OUI:988389*
OUI:9884E3*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:98865D*
+ ID_OUI_FROM_DATABASE=Nokia Shanghai Bell Co., Ltd.
+
OUI:9886B1*
ID_OUI_FROM_DATABASE=Flyaudio corporation (China)
@@ -77102,6 +77321,9 @@ OUI:9C9811*
OUI:9C99A0*
ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+OUI:9C99CD*
+ ID_OUI_FROM_DATABASE=Voippartners
+
OUI:9C9C1D*
ID_OUI_FROM_DATABASE=Starkey Labs Inc.
@@ -78899,6 +79121,9 @@ OUI:A4AD00*
OUI:A4ADB8*
ID_OUI_FROM_DATABASE=Vitec Group, Camera Dynamics Ltd
+OUI:A4AE11*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd.
+
OUI:A4AE9A*
ID_OUI_FROM_DATABASE=Maestro Wireless Solutions ltd.
@@ -80084,6 +80309,9 @@ OUI:AC5AEE*
OUI:AC5D10*
ID_OUI_FROM_DATABASE=Pace Americas
+OUI:AC5D5C*
+ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED
+
OUI:AC5E8C*
ID_OUI_FROM_DATABASE=Utillink
@@ -81008,6 +81236,9 @@ OUI:B0B3AD*
OUI:B0B448*
ID_OUI_FROM_DATABASE=Texas Instruments
+OUI:B0B5E8*
+ ID_OUI_FROM_DATABASE=Ruroc LTD
+
OUI:B0B867*
ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
@@ -81572,6 +81803,12 @@ OUI:B4527D*
OUI:B4527E*
ID_OUI_FROM_DATABASE=Sony Mobile Communications Inc
+OUI:B452A9*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:B45459*
+ ID_OUI_FROM_DATABASE=China Mobile (Hangzhou) Information Technology Co., Ltd.
+
OUI:B45570*
ID_OUI_FROM_DATABASE=Borea
@@ -81587,6 +81824,9 @@ OUI:B45CA4*
OUI:B45D50*
ID_OUI_FROM_DATABASE=Aruba, a Hewlett Packard Enterprise Company
+OUI:B46077*
+ ID_OUI_FROM_DATABASE=Sichuan Changhong Electric Ltd.
+
OUI:B461FF*
ID_OUI_FROM_DATABASE=Lumigon A/S
@@ -81869,6 +82109,9 @@ OUI:B4D8A9*
OUI:B4D8DE*
ID_OUI_FROM_DATABASE=iota Computing, Inc.
+OUI:B4DC09*
+ ID_OUI_FROM_DATABASE=Guangzhou Dawei Communication Co.,Ltd
+
OUI:B4DD15*
ID_OUI_FROM_DATABASE=ControlThings Oy Ab
@@ -82184,6 +82427,9 @@ OUI:B86491*
OUI:B8653B*
ID_OUI_FROM_DATABASE=Bolymin, Inc.
+OUI:B86685*
+ ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
+
OUI:B869C2*
ID_OUI_FROM_DATABASE=Sunitec Enterprise Co., Ltd.
@@ -83204,6 +83450,9 @@ OUI:BC9FEF*
OUI:BCA042*
ID_OUI_FROM_DATABASE=SHANGHAI FLYCO ELECTRICAL APPLIANCE CO.,LTD
+OUI:BCA13A*
+ ID_OUI_FROM_DATABASE=SES-imagotag
+
OUI:BCA4E1*
ID_OUI_FROM_DATABASE=Nabto
@@ -84578,6 +84827,9 @@ OUI:C4C19F*
OUI:C4C563*
ID_OUI_FROM_DATABASE=TECNO MOBILE LIMITED
+OUI:C4C603*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
OUI:C4C755*
ID_OUI_FROM_DATABASE=Beijing HuaqinWorld Technology Co.,Ltd
@@ -86462,6 +86714,9 @@ OUI:D03311*
OUI:D03742*
ID_OUI_FROM_DATABASE=Yulong Computer Telecommunication Scientific (Shenzhen) Co.,Ltd
+OUI:D03745*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
OUI:D03761*
ID_OUI_FROM_DATABASE=Texas Instruments
@@ -86891,18 +87146,51 @@ OUI:D0C789*
OUI:D0C7C0*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+OUI:D0C8570*
+ ID_OUI_FROM_DATABASE=YUAN High-Tech Development Co., Ltd.
+
+OUI:D0C8571*
+ ID_OUI_FROM_DATABASE=DALI A/S
+
OUI:D0C8572*
ID_OUI_FROM_DATABASE=FORGAMERS INC.
OUI:D0C8573*
ID_OUI_FROM_DATABASE=Mobicon
+OUI:D0C8574*
+ ID_OUI_FROM_DATABASE=Imin Technology Pte Ltd
+
+OUI:D0C8575*
+ ID_OUI_FROM_DATABASE=Beijing Inspiry Technology Co., Ltd.
+
+OUI:D0C8576*
+ ID_OUI_FROM_DATABASE=Innovative Industrial(HK)Co., Limited
+
+OUI:D0C8577*
+ ID_OUI_FROM_DATABASE=Eco Mobile
+
+OUI:D0C8578*
+ ID_OUI_FROM_DATABASE=Nanjing Magewell Electronics Co.,Ltd
+
+OUI:D0C8579*
+ ID_OUI_FROM_DATABASE=Shenzhen xiaosha Intelligence Technology Co. Ltd
+
+OUI:D0C857A*
+ ID_OUI_FROM_DATABASE=shenzhen cnsun
+
+OUI:D0C857B*
+ ID_OUI_FROM_DATABASE=CHUNGHSIN INTERNATIONAL ELECTRONICS CO.,LTD.
+
OUI:D0C857C*
ID_OUI_FROM_DATABASE=Dante Security Inc.
OUI:D0C857D*
ID_OUI_FROM_DATABASE=IFLYTEK CO.,LTD.
+OUI:D0C857E*
+ ID_OUI_FROM_DATABASE=E-T-A Elektrotechnische Apparate GmbH
+
OUI:D0CDE1*
ID_OUI_FROM_DATABASE=Scientech Electronics
@@ -87350,6 +87638,9 @@ OUI:D461DA*
OUI:D461FE*
ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
+OUI:D462EA*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:D463C6*
ID_OUI_FROM_DATABASE=Motorola Mobility LLC, a Lenovo Company
@@ -88394,6 +88685,9 @@ OUI:D8D385*
OUI:D8D43C*
ID_OUI_FROM_DATABASE=Sony Corporation
+OUI:D8D4E6*
+ ID_OUI_FROM_DATABASE=Hytec Inter Co., Ltd.
+
OUI:D8D5B9*
ID_OUI_FROM_DATABASE=Rainforest Automation, Inc.
@@ -88449,7 +88743,7 @@ OUI:D8E56D*
ID_OUI_FROM_DATABASE=TCT mobile ltd
OUI:D8E72B*
- ID_OUI_FROM_DATABASE=NetScout Systems, Inc.
+ ID_OUI_FROM_DATABASE=NetAlly
OUI:D8E743*
ID_OUI_FROM_DATABASE=Wush, Inc
@@ -88772,6 +89066,9 @@ OUI:DC5360*
OUI:DC537C*
ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc.
+OUI:DC54D7*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
OUI:DC5583*
ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
@@ -89924,12 +90221,18 @@ OUI:E4121D*
OUI:E41289*
ID_OUI_FROM_DATABASE=topsystem Systemhaus GmbH
+OUI:E415F6*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
OUI:E417D8*
ID_OUI_FROM_DATABASE=8BITDO TECHNOLOGY HK LIMITED
OUI:E4186B*
ID_OUI_FROM_DATABASE=Zyxel Communications Corporation
+OUI:E419C1*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:E41A2C*
ID_OUI_FROM_DATABASE=ZPE Systems, Inc.
@@ -90149,6 +90452,9 @@ OUI:E44F5F*
OUI:E4509A*
ID_OUI_FROM_DATABASE=HW Communications Ltd
+OUI:E454E8*
+ ID_OUI_FROM_DATABASE=Dell Inc.
+
OUI:E455EA*
ID_OUI_FROM_DATABASE=Dedicated Computing
@@ -90584,6 +90890,9 @@ OUI:E4FB8F*
OUI:E4FC82*
ID_OUI_FROM_DATABASE=Juniper Networks
+OUI:E4FDA1*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
OUI:E4FED9*
ID_OUI_FROM_DATABASE=EDMI Europe Ltd
@@ -92765,6 +93074,9 @@ OUI:F431C3*
OUI:F4323D*
ID_OUI_FROM_DATABASE=Sichuan tianyi kanghe communications co., LTD
+OUI:F43328*
+ ID_OUI_FROM_DATABASE=CIMCON Lighting Inc.
+
OUI:F436E1*
ID_OUI_FROM_DATABASE=Abilis Systems SARL
@@ -93851,6 +94163,9 @@ OUI:F8AB05*
OUI:F8AC6D*
ID_OUI_FROM_DATABASE=Deltenna Ltd
+OUI:F8ADCB*
+ ID_OUI_FROM_DATABASE=HMD Global Oy
+
OUI:F8B156*
ID_OUI_FROM_DATABASE=Dell Inc.
@@ -94049,6 +94364,9 @@ OUI:F8E61A*
OUI:F8E71E*
ID_OUI_FROM_DATABASE=Ruckus Wireless
+OUI:F8E7A0*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
OUI:F8E7B5*
ID_OUI_FROM_DATABASE=µTech Tecnologia LTDA
diff --git a/hwdb/20-acpi-vendor.hwdb.patch b/hwdb/20-acpi-vendor.hwdb.patch
index d9475906ef..8371f5295b 100644
--- a/hwdb/20-acpi-vendor.hwdb.patch
+++ b/hwdb/20-acpi-vendor.hwdb.patch
@@ -1,5 +1,5 @@
---- 20-acpi-vendor.hwdb.base 2019-03-25 13:40:11.611458980 +0100
-+++ 20-acpi-vendor.hwdb 2019-03-25 13:40:11.634459190 +0100
+--- 20-acpi-vendor.hwdb.base 2019-04-08 11:36:50.727757815 +0200
++++ 20-acpi-vendor.hwdb 2019-04-08 11:36:50.735757868 +0200
@@ -3,6 +3,8 @@
# Data imported from:
# http://www.uefi.org/uefi-pnp-export
diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
index bcfc38afb4..c9423251bf 100644
--- a/hwdb/20-pci-vendor-model.hwdb
+++ b/hwdb/20-pci-vendor-model.hwdb
@@ -19733,6 +19733,9 @@ pci:v0000106Bd00001801*
pci:v0000106Bd00001802*
ID_MODEL_FROM_DATABASE=T2 Secure Enclave Processor
+pci:v0000106Bd00001803*
+ ID_MODEL_FROM_DATABASE=Apple Audio Device
+
pci:v0000106Bd00002001*
ID_MODEL_FROM_DATABASE=S1X NVMe Controller
@@ -19958,6 +19961,9 @@ pci:v00001077d00001656sv00001077sd0000E4F6*
pci:v00001077d00001656sv00001077sd0000E4F7*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 25GbE Controller (FastLinQ QL45212H 25GbE Adapter)
+pci:v00001077d00001656sv00001590sd00000245*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 25GbE Controller (10/20/25GbE 2P 4820c CNA)
+
pci:v00001077d0000165C*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 10/25/40/50GbE Controller (FCoE)
@@ -19970,6 +19976,9 @@ pci:v00001077d0000165Csv00001077sd0000E4F1*
pci:v00001077d0000165Csv00001077sd0000E4F2*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 10/25/40/50GbE Controller (FCoE) (FastLinQ QL45461H 40GbE FCoE Adapter)
+pci:v00001077d0000165Csv00001590sd00000245*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 10/25/40/50GbE Controller (FCoE) (10/20/25GbE 2P 4820c CNA FCoE)
+
pci:v00001077d0000165E*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 10/25/40/50GbE Controller (iSCSI)
@@ -19982,6 +19991,9 @@ pci:v00001077d0000165Esv00001077sd0000E4F1*
pci:v00001077d0000165Esv00001077sd0000E4F2*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 10/25/40/50GbE Controller (iSCSI) (FastLinQ QL45461H 40GbE iSCSI Adapter)
+pci:v00001077d0000165Esv00001590sd00000245*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series 10/25/40/50GbE Controller (iSCSI) (10/20/25GbE 2P 4820c CNA iSCSI)
+
pci:v00001077d00001664*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF)
@@ -20006,6 +20018,9 @@ pci:v00001077d00001664sv00001077sd0000E4F7*
pci:v00001077d00001664sv00001077sd0000E4F8*
ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF) (FastLinQ QL45611H 100GbE Adapter (SR-IOV VF))
+pci:v00001077d00001664sv00001590sd00000245*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF) (10/20/25GbE 2P 4820c CNA SRIOV)
+
pci:v00001077d00002020*
ID_MODEL_FROM_DATABASE=ISP2020A Fast!SCSI Basic Adapter
@@ -32190,7 +32205,7 @@ pci:v000010DEd00001023sv000010DEsd0000097E*
ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40m] (12GB Computational Accelerator)
pci:v000010DEd00001024*
- ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40c]
+ ID_MODEL_FROM_DATABASE=GK180GL [Tesla K40c]
pci:v000010DEd00001026*
ID_MODEL_FROM_DATABASE=GK110GL [Tesla K20s]
@@ -35351,6 +35366,9 @@ pci:v000010ECd0000525Asv00001028sd000006E4*
pci:v000010ECd0000525Asv000017AAsd0000224F*
ID_MODEL_FROM_DATABASE=RTS525A PCI Express Card Reader (ThinkPad X1 Carbon 5th Gen)
+pci:v000010ECd00005260*
+ ID_MODEL_FROM_DATABASE=RTS5260 PCI Express Card Reader
+
pci:v000010ECd00005286*
ID_MODEL_FROM_DATABASE=RTS5286 PCI Express Card Reader
@@ -57665,12 +57683,24 @@ pci:v000015B3d00000212*
pci:v000015B3d00000213*
ID_MODEL_FROM_DATABASE=MT2892 Family [ConnectX-6 Dx Secure Flash Recovery]
+pci:v000015B3d00000214*
+ ID_MODEL_FROM_DATABASE=MT42822 Family [BlueField-2 SoC Flash Recovery]
+
+pci:v000015B3d00000215*
+ ID_MODEL_FROM_DATABASE=MT42822 Family [BlueField-2 Secure Flash Recovery]
+
pci:v000015B3d0000024E*
ID_MODEL_FROM_DATABASE=MT53100 [Spectrum-2, Flash recovery mode]
pci:v000015B3d0000024F*
ID_MODEL_FROM_DATABASE=MT53100 [Spectrum-2, Secure Flash recovery mode]
+pci:v000015B3d00000250*
+ ID_MODEL_FROM_DATABASE=Spectrum-3, Flash recovery mode
+
+pci:v000015B3d00000251*
+ ID_MODEL_FROM_DATABASE=Spectrum-3, Secure Flash recovery mode
+
pci:v000015B3d00000262*
ID_MODEL_FROM_DATABASE=MT27710 [ConnectX-4 Lx Programmable] EN
@@ -57923,6 +57953,9 @@ pci:v000015B3d00001974*
pci:v000015B3d00001975*
ID_MODEL_FROM_DATABASE=MT416842 Family [BlueField SoC PCIe Bridge]
+pci:v000015B3d00001978*
+ ID_MODEL_FROM_DATABASE=MT42822 Family [BlueField-2 SoC PCIe Bridge]
+
pci:v000015B3d00004117*
ID_MODEL_FROM_DATABASE=MT27712A0-FDCF-AE
@@ -58070,6 +58103,21 @@ pci:v000015B3d0000A2D2*
pci:v000015B3d0000A2D3*
ID_MODEL_FROM_DATABASE=MT416842 BlueField multicore SoC family VF
+pci:v000015B3d0000A2D4*
+ ID_MODEL_FROM_DATABASE=MT42822 BlueField-2 SoC Crypto enabled
+
+pci:v000015B3d0000A2D5*
+ ID_MODEL_FROM_DATABASE=MT42822 BlueField-2 SoC Crypto disabled
+
+pci:v000015B3d0000A2D6*
+ ID_MODEL_FROM_DATABASE=MT42822 BlueField-2 integrated ConnectX-6 Dx network controller
+
+pci:v000015B3d0000C2D2*
+ ID_MODEL_FROM_DATABASE=MT416842 BlueField SoC management interfac
+
+pci:v000015B3d0000C2D3*
+ ID_MODEL_FROM_DATABASE=MT42822 BlueField-2 SoC Management Interface
+
pci:v000015B3d0000C738*
ID_MODEL_FROM_DATABASE=MT51136
@@ -58094,6 +58142,9 @@ pci:v000015B3d0000CF08*
pci:v000015B3d0000CF6C*
ID_MODEL_FROM_DATABASE=MT53100 [Spectrum-2]
+pci:v000015B3d0000CF70*
+ ID_MODEL_FROM_DATABASE=Spectrum-3
+
pci:v000015B3d0000D2F0*
ID_MODEL_FROM_DATABASE=Quantum HDR (200Gbps) switch
@@ -65252,6 +65303,12 @@ pci:v00001CB5d00000002*
pci:v00001CB8*
ID_VENDOR_FROM_DATABASE=Dawning Information Industry Co., Ltd.
+pci:v00001CC4*
+ ID_VENDOR_FROM_DATABASE=Union Memory (Shenzhen)
+
+pci:v00001CC4d000017AB*
+ ID_MODEL_FROM_DATABASE=NVMe 256G SSD device
+
pci:v00001CC5*
ID_VENDOR_FROM_DATABASE=Embedded Intelligence, Inc.
@@ -65822,6 +65879,12 @@ pci:v00001DA1*
pci:v00001DA2*
ID_VENDOR_FROM_DATABASE=Sapphire Technology Limited
+pci:v00001DA3*
+ ID_VENDOR_FROM_DATABASE=Habana Labs Ltd.
+
+pci:v00001DA3d00000001*
+ ID_MODEL_FROM_DATABASE=HL-1000 AI Inference Accelerator [Goya]
+
pci:v00001DBB*
ID_VENDOR_FROM_DATABASE=NGD Systems, Inc.
@@ -65909,6 +65972,9 @@ pci:v00001DF3d00000202sv00001DF3sd00000002*
pci:v00001DF3d00000203*
ID_MODEL_FROM_DATABASE=ACE-NIC100 Programmable Network Accelerator
+pci:v00001DF3d00000203sv00001DF3sd00000000*
+ ID_MODEL_FROM_DATABASE=ACE-NIC100 Programmable Network Accelerator (Maintenance Mode)
+
pci:v00001DF3d00000203sv00001DF3sd00000001*
ID_MODEL_FROM_DATABASE=ACE-NIC100 Programmable Network Accelerator (ENA2080F)
@@ -65960,6 +66026,9 @@ pci:v00001E24d0000021F*
pci:v00001E24d00001525*
ID_MODEL_FROM_DATABASE=Xilinx BCU-1525
+pci:v00001E26*
+ ID_VENDOR_FROM_DATABASE=Fujitsu Client Computing Limited
+
pci:v00001E38*
ID_VENDOR_FROM_DATABASE=Thinci, Inc
@@ -73853,6 +73922,9 @@ pci:v00008086d0000158Bsv00008086sd00000008*
pci:v00008086d0000158Bsv00008086sd00000009*
ID_MODEL_FROM_DATABASE=Ethernet Controller XXV710 for 25GbE SFP28 (Ethernet 25G 2P XXV710 Adapter)
+pci:v00008086d0000158Bsv00008086sd0000000A*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XXV710 for 25GbE SFP28 (Ethernet 25G 2P XXV710 OCP)
+
pci:v00008086d0000158Bsv00008086sd00004001*
ID_MODEL_FROM_DATABASE=Ethernet Controller XXV710 for 25GbE SFP28 (Ethernet Network Adapter XXV710-2)
@@ -74096,6 +74168,9 @@ pci:v00008086d000015F6*
pci:v00008086d000015FF*
ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T
+pci:v00008086d000015FFsv00008086sd00000000*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T (Ethernet Network Adapter X710-TL)
+
pci:v00008086d000015FFsv00008086sd00000001*
ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GBASE-T (Ethernet Network Adapter X710-T4L)
@@ -87734,6 +87809,9 @@ pci:v00008086d000071A2*
pci:v00008086d000071A2sv00004C53sd00001000*
ID_MODEL_FROM_DATABASE=440GX - 82443GX Host bridge (AGP disabled) (CC7/CR7/CP7/VC7/VP7/VR7 mainboard)
+pci:v00008086d00007360*
+ ID_MODEL_FROM_DATABASE=XMM7360 LTE Advanced Modem
+
pci:v00008086d00007600*
ID_MODEL_FROM_DATABASE=82372FB PIIX5 ISA
@@ -90269,7 +90347,7 @@ pci:v00008088*
pci:v00008088d00001001*
ID_MODEL_FROM_DATABASE=Ethernet Controller RP1000 for 10GbE SFP+
-pci:v00008088d00001001sv00008088sd00001000*
+pci:v00008088d00001001sv00008088sd00000000*
ID_MODEL_FROM_DATABASE=Ethernet Controller RP1000 for 10GbE SFP+ (Ethernet Network Adaptor RP1000 for 10GbE SFP+)
pci:v00008088d00002001*
@@ -91292,6 +91370,15 @@ pci:v00009005d0000028Fsv0000103Csd00001100*
pci:v00009005d0000028Fsv0000103Csd00001101*
ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (Smart Array P416ie-m SR G10)
+pci:v00009005d0000028Fsv0000105Bsd00001211*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (HBA 8238-16i)
+
+pci:v00009005d0000028Fsv0000105Bsd00001321*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (HBA 8242-24i)
+
+pci:v00009005d0000028Fsv000013FEsd00008312*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SKY-9200 MIC-8312BridgeB)
+
pci:v00009005d0000028Fsv0000152Dsd00008A22*
ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (QS-8204-8i)
@@ -91325,6 +91412,24 @@ pci:v00009005d0000028Fsv0000193Dsd0000F460*
pci:v00009005d0000028Fsv0000193Dsd0000F461*
ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (RAID P460-B4)
+pci:v00009005d0000028Fsv000019E5sd0000D227*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SmartROC-HD SR465C-M 4G)
+
+pci:v00009005d0000028Fsv000019E5sd0000D228*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SmartROC SR455C-M 2G)
+
+pci:v00009005d0000028Fsv000019E5sd0000D229*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SmartIOC SR155-M)
+
+pci:v00009005d0000028Fsv000019E5sd0000D22A*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SmartIOC-HD SR765-M)
+
+pci:v00009005d0000028Fsv000019E5sd0000D22B*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SmartROC-e SR455C-ME 4G)
+
+pci:v00009005d0000028Fsv000019E5sd0000D22C*
+ ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SmartROC SR455C-M 4G)
+
pci:v00009005d0000028Fsv00001BD4sd00000045*
ID_MODEL_FROM_DATABASE=Smart Storage PQI 12G SAS/PCIe 3 (SMART-HBA 8242-24i)
@@ -92000,6 +92105,9 @@ pci:v0000BDBDd0000A148*
pci:v0000BDBDd0000A14B*
ID_MODEL_FROM_DATABASE=DeckLink 8K Pro
+pci:v0000BDBDd0000A14E*
+ ID_MODEL_FROM_DATABASE=DeckLink Quad HDMI Recorder
+
pci:v0000BDBDd0000A1FF*
ID_MODEL_FROM_DATABASE=eGPU RX580
diff --git a/hwdb/ma-large.txt b/hwdb/ma-large.txt
index 3775733bba..17e588fb7e 100644
--- a/hwdb/ma-large.txt
+++ b/hwdb/ma-large.txt
@@ -23639,18 +23639,6 @@ A8A648 (base 16) Qingdao Hisense Communications Co.,Ltd.
London NW12AA
GB
-04-9F-81 (hex) NetScout Systems, Inc.
-049F81 (base 16) NetScout Systems, Inc.
- 310 Littleton Road
- Westford MA 01886
- US
-
-00-80-8C (hex) NetScout Systems, Inc.
-00808C (base 16) NetScout Systems, Inc.
- 310 Littleton Road
- Westford MA 01886
- US
-
C4-F5-A5 (hex) Kumalift Co., Ltd.
C4F5A5 (base 16) Kumalift Co., Ltd.
7-2-6 Saito-Asagi
@@ -28955,12 +28943,6 @@ D49234 (base 16) NEC Corporation
Zelenograd Moscow 124498
RU
-F0-10-AB (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
-F010AB (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
- No. 1600 Yuhang Tong Road, Wuchang Street, Yuhang District
- Hangzhou Zhejiang 310000
- CN
-
80-8F-1D (hex) TP-LINK TECHNOLOGIES CO.,LTD.
808F1D (base 16) TP-LINK TECHNOLOGIES CO.,LTD.
Building 24(floors 1,3,4,5)and 28(floors 1-4)Central Science and Technology Park,Shennan Road,Nanshan
@@ -31259,18 +31241,6 @@ A4A179 (base 16) Nanjing dianyan electric power automation co. LTD
Gumi Gyeongbuk 730-350
KR
-1C-64-99 (hex) Comtrend Corporation
-1C6499 (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
-00-1D-20 (hex) Comtrend Corporation
-001D20 (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
60-95-CE (hex) IEEE Registration Authority
6095CE (base 16) IEEE Registration Authority
445 Hoes Lane
@@ -31283,6 +31253,12 @@ D8CA06 (base 16) Titan DataCenters France
mougins 06250
FR
+C8-A7-76 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+C8A776 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
90-78-B2 (hex) Xiaomi Communications Co Ltd
9078B2 (base 16) Xiaomi Communications Co Ltd
The Rainbow City of China Resources
@@ -31295,12 +31271,6 @@ D8CA06 (base 16) Titan DataCenters France
Beijing 100053
CN
-FC-BD-67 (hex) Arista Networks
-FCBD67 (base 16) Arista Networks
- 5453 Great America Parkway
- Santa Clara CA 95054
- US
-
B8-91-C9 (hex) Handreamnet
B891C9 (base 16) Handreamnet
#1203 Ace High-end Tower II, 61, Digital-ro 26-gil, Guro-Gu
@@ -31313,11 +31283,11 @@ A8494D (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Dongguan 523808
CN
-C8-A7-76 (hex) HUAWEI TECHNOLOGIES CO.,LTD
-C8A776 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
- No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
- Dongguan 523808
- CN
+FC-BD-67 (hex) Arista Networks
+FCBD67 (base 16) Arista Networks
+ 5453 Great America Parkway
+ Santa Clara CA 95054
+ US
14-A2-A0 (hex) Cisco Systems, Inc
14A2A0 (base 16) Cisco Systems, Inc
@@ -31325,30 +31295,12 @@ C8A776 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
San Jose CA 94568
US
-80-7B-1E (hex) Corsair Memory, Inc.
-807B1E (base 16) Corsair Memory, Inc.
- 47100 Bayside Parkway
- Fremont CA 94538
- US
-
6C-D1-46 (hex) FRAMOS GmbH
6CD146 (base 16) FRAMOS GmbH
Mehlbeerenstr. 2
Taufkirchen 82024
DE
-DC-A6-32 (hex) Raspberry Pi Trading Ltd
-DCA632 (base 16) Raspberry Pi Trading Ltd
- Maurice Wilkes Building, Cowley Road
- Cambridge CB4 0DS
- GB
-
-7C-EC-9B (hex) Fuzhou Teraway Information Technology Co.,Ltd
-7CEC9B (base 16) Fuzhou Teraway Information Technology Co.,Ltd
- 2F, Building 5#, No. 59, Yangqi Road, Cangshan District
- Fuzhou Fujian 350000
- CN
-
88-F5-6E (hex) HUAWEI TECHNOLOGIES CO.,LTD
88F56E (base 16) HUAWEI TECHNOLOGIES CO.,LTD
No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
@@ -31361,12 +31313,6 @@ D89B3B (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Dongguan 523808
CN
-4C-E9-E4 (hex) New H3C Technologies Co., Ltd
-4CE9E4 (base 16) New H3C Technologies Co., Ltd
- 466 Changhe Road, Binjiang District
- Hangzhou Zhejiang 310052
- CN
-
C4-8A-5A (hex) JFCONTROL
C48A5A (base 16) JFCONTROL
1449-37 Seoburo
@@ -31379,12 +31325,36 @@ C48A5A (base 16) JFCONTROL
Shanghai Pudong 201206
CN
+DC-A6-32 (hex) Raspberry Pi Trading Ltd
+DCA632 (base 16) Raspberry Pi Trading Ltd
+ Maurice Wilkes Building, Cowley Road
+ Cambridge CB4 0DS
+ GB
+
+7C-EC-9B (hex) Fuzhou Teraway Information Technology Co.,Ltd
+7CEC9B (base 16) Fuzhou Teraway Information Technology Co.,Ltd
+ 2F, Building 5#, No. 59, Yangqi Road, Cangshan District
+ Fuzhou Fujian 350000
+ CN
+
+80-7B-1E (hex) Corsair Memory, Inc.
+807B1E (base 16) Corsair Memory, Inc.
+ 47100 Bayside Parkway
+ Fremont CA 94538
+ US
+
FC-BC-D1 (hex) HUAWEI TECHNOLOGIES CO.,LTD
FCBCD1 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
Dongguan 523808
CN
+4C-E9-E4 (hex) New H3C Technologies Co., Ltd
+4CE9E4 (base 16) New H3C Technologies Co., Ltd
+ 466 Changhe Road, Binjiang District
+ Hangzhou Zhejiang 310052
+ CN
+
94-0B-19 (hex) HUAWEI TECHNOLOGIES CO.,LTD
940B19 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
@@ -31403,12 +31373,6 @@ FCBCD1 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Seoul 137-941
KR
-C8-0D-32 (hex) Holoplot GmbH
-C80D32 (base 16) Holoplot GmbH
- Ringbahnstr. 12, Hof A2
- Berlin 12099
- DE
-
70-04-33 (hex) California Things Inc.
700433 (base 16) California Things Inc.
650 main st
@@ -31421,12 +31385,90 @@ C80D32 (base 16) Holoplot GmbH
Toufen City, Miaoli County 351
TW
+C8-0D-32 (hex) Holoplot GmbH
+C80D32 (base 16) Holoplot GmbH
+ Ringbahnstr. 12, Hof A2
+ Berlin 12099
+ DE
+
38-94-ED (hex) NETGEAR
3894ED (base 16) NETGEAR
350 East Plumeria Drive
San Jose CA 95134
US
+F0-10-AB (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
+F010AB (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
+ No. 1600 Yuhang Tong Road, Wuchang Street, Yuhang District
+ Hangzhou Zhejiang 310000
+ CN
+
+C4-C6-03 (hex) Cisco Systems, Inc
+C4C603 (base 16) Cisco Systems, Inc
+ 80 West Tasman Drive
+ San Jose CA 94568
+ US
+
+60-29-D5 (hex) DAVOLINK Inc.
+6029D5 (base 16) DAVOLINK Inc.
+ 112, Beolmal-ro
+ Dongan-gu, Anyang-si Gyeonggi-do 14057
+ KR
+
+5C-87-9C (hex) Intel Corporate
+5C879C (base 16) Intel Corporate
+ Lot 8, Jalan Hi-Tech 2/3
+ Kulim Kedah 09000
+ MY
+
+50-E0-85 (hex) Intel Corporate
+50E085 (base 16) Intel Corporate
+ Lot 8, Jalan Hi-Tech 2/3
+ Kulim Kedah 09000
+ MY
+
+00-1D-20 (hex) Comtrend Corporation
+001D20 (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+00-80-8C (hex) NetAlly
+00808C (base 16) NetAlly
+ 310 Littleton Road
+ Westford MA 01886
+ US
+
+04-9F-81 (hex) NetAlly
+049F81 (base 16) NetAlly
+ 310 Littleton Road
+ Westford MA 01886
+ US
+
+1C-64-99 (hex) Comtrend Corporation
+1C6499 (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+DC-54-D7 (hex) Amazon Technologies Inc.
+DC54D7 (base 16) Amazon Technologies Inc.
+ P.O Box 8102
+ Reno NV 89507
+ US
+
+6C-5E-3B (hex) Cisco Systems, Inc
+6C5E3B (base 16) Cisco Systems, Inc
+ 80 West Tasman Drive
+ San Jose CA 94568
+ US
+
+7C-94-2A (hex) HUAWEI TECHNOLOGIES CO.,LTD
+7C942A (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
0C-6F-9C (hex) Shaw Communications Inc.
0C6F9C (base 16) Shaw Communications Inc.
Suite 900, 630 3rd Avenue S.W.
@@ -54812,12 +54854,6 @@ B0F893 (base 16) Shanghai MXCHIP Information Technology Co., Ltd.
Shanghai 200333
CN
-00-C0-17 (hex) NetScout Systems, Inc.
-00C017 (base 16) NetScout Systems, Inc.
- 310 Littleton Road
- Westford MA 01886
- US
-
D4-9B-5C (hex) Chongqing Miedu Technology Co., Ltd.
D49B5C (base 16) Chongqing Miedu Technology Co., Ltd.
7-602 No.118 DaPing Main Street Yuzhong District
@@ -57761,12 +57797,6 @@ F80DF1 (base 16) Sontex SA
Incheon 21312
KR
-8C-18-50 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
-8C1850 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
- No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
- Hangzhou Hangzhou 310000
- CN
-
78-0E-D1 (hex) TRUMPF Werkzeugmaschinen GmbH+Co.KG
780ED1 (base 16) TRUMPF Werkzeugmaschinen GmbH+Co.KG
Johann-Maus-Straße 2
@@ -58463,12 +58493,6 @@ FCD2B6 (base 16) IEEE Registration Authority
DONG GUAN GUANG DONG 523860
CN
-28-23-F5 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
-2823F5 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
- No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
- Hangzhou Zhejiang 310000
- CN
-
20-2A-C5 (hex) Petite-En
202AC5 (base 16) Petite-En
1, Gwanak-ro, Gwanak-gu
@@ -62072,9 +62096,6 @@ E4D124 (base 16) Mojo Networks, Inc.
Chongqing Chongqing 401332
CN
-CC-3A-DF (hex) Private
-CC3ADF (base 16) Private
-
B4-CE-FE (hex) James Czekaj
B4CEFE (base 16) James Czekaj
41716 Waterfall Rd
@@ -62813,12 +62834,6 @@ D05794 (base 16) Sagemcom Broadband SAS
Gumi Gyeongbuk 730-350
KR
-F8-8E-85 (hex) Comtrend Corporation
-F88E85 (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
F0-8A-76 (hex) Samsung Electronics Co.,Ltd
F08A76 (base 16) Samsung Electronics Co.,Ltd
#94-1, Imsoo-Dong
@@ -62873,18 +62888,18 @@ CC64A6 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Dongguan 523808
CN
-50-F8-A5 (hex) eWBM Co., Ltd.
-50F8A5 (base 16) eWBM Co., Ltd.
- 14F, 9, Teheran-ro 20-gil
- Gangnam-gu, Seoul 06236
- KR
-
08-4F-0A (hex) HUAWEI TECHNOLOGIES CO.,LTD
084F0A (base 16) HUAWEI TECHNOLOGIES CO.,LTD
No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
Dongguan 523808
CN
+50-F8-A5 (hex) eWBM Co., Ltd.
+50F8A5 (base 16) eWBM Co., Ltd.
+ 14F, 9, Teheran-ro 20-gil
+ Gangnam-gu, Seoul 06236
+ KR
+
C8-D6-9D (hex) Arab International Optronics
C8D69D (base 16) Arab International Optronics
El Salam St.
@@ -62909,30 +62924,6 @@ FC8743 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Dongguan 523808
CN
-70-C7-F2 (hex) HUAWEI TECHNOLOGIES CO.,LTD
-70C7F2 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
- No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
- Dongguan 523808
- CN
-
-8C-FD-18 (hex) HUAWEI TECHNOLOGIES CO.,LTD
-8CFD18 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
- No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
- Dongguan 523808
- CN
-
-24-16-6D (hex) HUAWEI TECHNOLOGIES CO.,LTD
-24166D (base 16) HUAWEI TECHNOLOGIES CO.,LTD
- No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
- Dongguan 523808
- CN
-
-98-35-ED (hex) HUAWEI TECHNOLOGIES CO.,LTD
-9835ED (base 16) HUAWEI TECHNOLOGIES CO.,LTD
- No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
- Dongguan 523808
- CN
-
40-2B-50 (hex) ARRIS Group, Inc.
402B50 (base 16) ARRIS Group, Inc.
6450 Sequence Drive
@@ -62957,6 +62948,30 @@ ACDB48 (base 16) ARRIS Group, Inc.
Hong Kong 0000 0000
HK
+24-16-6D (hex) HUAWEI TECHNOLOGIES CO.,LTD
+24166D (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+98-35-ED (hex) HUAWEI TECHNOLOGIES CO.,LTD
+9835ED (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+70-C7-F2 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+70C7F2 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+8C-FD-18 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+8CFD18 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
C8-5D-38 (hex) HUMAX Co., Ltd.
C85D38 (base 16) HUMAX Co., Ltd.
HUMAX Village, 216, Hwangsaeul-ro, Bu
@@ -62975,6 +62990,159 @@ B80756 (base 16) Cisco Meraki
San Francisco 94158
US
+98-86-5D (hex) Nokia Shanghai Bell Co., Ltd.
+98865D (base 16) Nokia Shanghai Bell Co., Ltd.
+ No.388 Ning Qiao Road,Jin Qiao Pudong Shanghai
+ Shanghai 201206
+ CN
+
+D8-D4-E6 (hex) Hytec Inter Co., Ltd.
+D8D4E6 (base 16) Hytec Inter Co., Ltd.
+ 3-28-6 Yoyogi
+ Shibuya-ku Tokyo 1510053
+ JP
+
+28-23-F5 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
+2823F5 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
+ No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
+ Hangzhou Zhejiang 310000
+ CN
+
+8C-18-50 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
+8C1850 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
+ No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
+ Hangzhou Hangzhou 310000
+ CN
+
+2C-4F-52 (hex) Cisco Systems, Inc
+2C4F52 (base 16) Cisco Systems, Inc
+ 80 West Tasman Drive
+ San Jose CA 94568
+ US
+
+60-3A-7C (hex) TP-LINK TECHNOLOGIES CO.,LTD.
+603A7C (base 16) TP-LINK TECHNOLOGIES CO.,LTD.
+ Building 24(floors 1,3,4,5)and 28(floors 1-4)Central Science and Technology Park,Shennan Road,Nanshan
+ Shenzhen Guangdong 518057
+ CN
+
+7C-B5-9B (hex) TP-LINK TECHNOLOGIES CO.,LTD.
+7CB59B (base 16) TP-LINK TECHNOLOGIES CO.,LTD.
+ Building 24(floors 1,3,4,5)and 28(floors 1-4)Central Science and Technology Park,Shennan Road,Nanshan
+ Shenzhen Guangdong 518057
+ CN
+
+F8-E7-A0 (hex) vivo Mobile Communication Co., Ltd.
+F8E7A0 (base 16) vivo Mobile Communication Co., Ltd.
+ #283,BBK Road
+ Wusha,Chang'An DongGuan City,Guangdong, 523860
+ CN
+
+2C-FF-EE (hex) vivo Mobile Communication Co., Ltd.
+2CFFEE (base 16) vivo Mobile Communication Co., Ltd.
+ #283,BBK Road
+ Wusha,Chang'An DongGuan City,Guangdong, 523860
+ CN
+
+CC-3A-DF (hex) Private
+CC3ADF (base 16) Private
+
+24-EE-9A (hex) Intel Corporate
+24EE9A (base 16) Intel Corporate
+ Lot 8, Jalan Hi-Tech 2/3
+ Kulim Kedah 09000
+ MY
+
+50-97-44 (hex) Integrated Device Technology (Malaysia) Sdn. Bhd.
+509744 (base 16) Integrated Device Technology (Malaysia) Sdn. Bhd.
+ Phase 3, Bayan Lepas FIZ
+ Bayan Lepas Penang 11900
+ MY
+
+38-1A-52 (hex) Seiko Epson Corporation
+381A52 (base 16) Seiko Epson Corporation
+ 2070 Kotobuki Koaka
+ Matsumoto-shi Nagano-ken 399-8702
+ JP
+
+88-9F-AA (hex) Hella Gutmann Solutions GmbH
+889FAA (base 16) Hella Gutmann Solutions GmbH
+ Am Krebsbach 2
+ Ihringen Baden Württemberg 79241
+ DE
+
+F8-8E-85 (hex) Comtrend Corporation
+F88E85 (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+00-C0-17 (hex) NetAlly
+00C017 (base 16) NetAlly
+ 310 Littleton Road
+ Westford MA 01886
+ US
+
+3C-B7-4B (hex) Technicolor CH USA Inc.
+3CB74B (base 16) Technicolor CH USA Inc.
+ 5030 Sugarloaf Parkway Bldg 6
+ Lawrenceville GA 30044
+ US
+
+14-42-FC (hex) Texas Instruments
+1442FC (base 16) Texas Instruments
+ 12500 TI Blvd
+ Dallas TX 75243
+ US
+
+F4-33-28 (hex) CIMCON Lighting Inc.
+F43328 (base 16) CIMCON Lighting Inc.
+ 35 Crosby Drive
+ Bedford MA 01730
+ US
+
+B0-B5-E8 (hex) Ruroc LTD
+B0B5E8 (base 16) Ruroc LTD
+ Unit 2, Barnett Way, Barnwood Estate
+ Gloucester GL4 3RT
+ GB
+
+04-D5-90 (hex) Fortinet, Inc.
+04D590 (base 16) Fortinet, Inc.
+ 899 Kifer Road
+ Sunnyvale 94086
+ US
+
+5C-5A-C7 (hex) Cisco Systems, Inc
+5C5AC7 (base 16) Cisco Systems, Inc
+ 80 West Tasman Drive
+ San Jose CA 94568
+ US
+
+1C-B7-96 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+1CB796 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+D4-62-EA (hex) HUAWEI TECHNOLOGIES CO.,LTD
+D462EA (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+38-47-BC (hex) HUAWEI TECHNOLOGIES CO.,LTD
+3847BC (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+F8-AD-CB (hex) HMD Global Oy
+F8ADCB (base 16) HMD Global Oy
+ Bertel Jungin aukio 9
+ Espoo 02600
+ FI
+
58-46-E1 (hex) Baxter International Inc
5846E1 (base 16) Baxter International Inc
One Baxter Parkway
@@ -76349,12 +76517,6 @@ A893E6 (base 16) JIANGXI JINGGANGSHAN CKING COMMUNICATION TECHNOLOGY CO.,LT
Walkersville Maryland 21793
US
-00-0C-FF (hex) MRO-TEK LIMITED
-000CFF (base 16) MRO-TEK LIMITED
- 14, 1ST D MAIN ROAD,
- BANGALORE KARNATAKA 560032
- IN
-
00-0C-ED (hex) Real Digital Media
000CED (base 16) Real Digital Media
485 North Keller Road
@@ -86210,12 +86372,6 @@ BC282C (base 16) e-Smart Systems Pvt. Ltd
Dallas TX 75243
US
-D8-E7-2B (hex) NetScout Systems, Inc.
-D8E72B (base 16) NetScout Systems, Inc.
- 310 Littleton Road
- Westford MA 01886
- US
-
04-FE-A1 (hex) Fihonest communication co.,Ltd
04FEA1 (base 16) Fihonest communication co.,Ltd
Room902,Park road,Zhixing business-building
@@ -93308,12 +93464,6 @@ E8ECA3 (base 16) Dongguan Liesheng Electronic Co.Ltd
shenzhen guangdong 518057
CN
-20-96-8A (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
-20968A (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
- No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
- Hangzhou Zhejiang 310000
- CN
-
F0-D4-F7 (hex) varram system
F0D4F7 (base 16) varram system
57, TECHNO 11-RO,YUSEONG-GU, DAEJEON, KOREA
@@ -93674,12 +93824,6 @@ D81399 (base 16) Hui Zhou Gaoshengda Technology Co.,LTD
Hui Zhou Guangdong 516006
CN
-00-08-5D (hex) Mitel Corporation
-00085D (base 16) Mitel Corporation
- 350 Legget Drive
- - K2K 2W7
- CA
-
E8-28-C1 (hex) Eltex Enterprise Ltd.
E828C1 (base 16) Eltex Enterprise Ltd.
Okruzhnaya st. 29v
@@ -93692,23 +93836,11 @@ E828C1 (base 16) Eltex Enterprise Ltd.
Hangzhou Zhejiang,P.R.China 310051
CN
-EC-AA-25 (hex) Samsung Electronics Co.,Ltd
-ECAA25 (base 16) Samsung Electronics Co.,Ltd
- #94-1, Imsoo-Dong
- Gumi Gyeongbuk 730-350
- KR
-
-C8-D1-2A (hex) Comtrend Corporation
-C8D12A (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
-18-19-D6 (hex) Samsung Electronics Co.,Ltd
-1819D6 (base 16) Samsung Electronics Co.,Ltd
- #94-1, Imsoo-Dong
- Gumi Gyeongbuk 730-350
- KR
+00-08-5D (hex) Mitel Corporation
+00085D (base 16) Mitel Corporation
+ 350 Legget Drive
+ - K2K 2W7
+ CA
18-B6-F7 (hex) NEW POS TECHNOLOGY LIMITED
18B6F7 (base 16) NEW POS TECHNOLOGY LIMITED
@@ -93722,6 +93854,18 @@ BC97E1 (base 16) Broadcom Limited
Irvine CA 92618
US
+EC-AA-25 (hex) Samsung Electronics Co.,Ltd
+ECAA25 (base 16) Samsung Electronics Co.,Ltd
+ #94-1, Imsoo-Dong
+ Gumi Gyeongbuk 730-350
+ KR
+
+18-19-D6 (hex) Samsung Electronics Co.,Ltd
+1819D6 (base 16) Samsung Electronics Co.,Ltd
+ #94-1, Imsoo-Dong
+ Gumi Gyeongbuk 730-350
+ KR
+
54-EC-2F (hex) Ruckus Wireless
54EC2F (base 16) Ruckus Wireless
350 West Java Drive
@@ -93794,6 +93938,78 @@ CC9070 (base 16) Cisco Systems, Inc
ShenZhen GuangDong 518055
CN
+48-A7-3C (hex) Sichuan tianyi kanghe communications co., LTD
+48A73C (base 16) Sichuan tianyi kanghe communications co., LTD
+ No.198, section 1, xueshan avenue, jinyuan town, dayi county
+ chengdu sichuan 611330
+ CN
+
+20-96-8A (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
+20968A (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
+ No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
+ Hangzhou Zhejiang 310000
+ CN
+
+9C-99-CD (hex) Voippartners
+9C99CD (base 16) Voippartners
+ Via di Passolombardo 35
+ Rome 00133
+ IT
+
+C8-D1-2A (hex) Comtrend Corporation
+C8D12A (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+00-0C-FF (hex) MRO-TEK Realty Limited
+000CFF (base 16) MRO-TEK Realty Limited
+ #6, New BEL Road
+ Chikkamaranahalli Bangalore 560 054
+ IN
+
+D8-E7-2B (hex) NetAlly
+D8E72B (base 16) NetAlly
+ 310 Littleton Road
+ Westford MA 01886
+ US
+
+00-35-FF (hex) Texas Instruments
+0035FF (base 16) Texas Instruments
+ 12500 TI Blvd
+ Dallas TX 75243
+ US
+
+44-59-E3 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+4459E3 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+54-BA-D6 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+54BAD6 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+74-59-09 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+745909 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+E4-FD-A1 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+E4FDA1 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+68-3F-1E (hex) EFFECT Photonics B.V.
+683F1E (base 16) EFFECT Photonics B.V.
+ Kastanjelaan 400
+ Eindhoven Noord-Brabant 5616 LZ
+ NL
+
D8-6C-E9 (hex) Sagemcom Broadband SAS
D86CE9 (base 16) Sagemcom Broadband SAS
250 route de l'Empereur
@@ -110198,12 +110414,6 @@ EC3091 (base 16) Cisco Systems, Inc
94537 Orly Cedex
FR
-00-04-C4 (hex) Allen & Heath Limited
-0004C4 (base 16) Allen & Heath Limited
- Kernick Industrial Estate, Penryn
- Cornwall England TR10 9LU
- GB
-
00-04-B7 (hex) AMB i.t. Holding
0004B7 (base 16) AMB i.t. Holding
Zuiderhoutlaan 4
@@ -117155,12 +117365,6 @@ EC8EAE (base 16) Nagravision SA
Enschede NL-7500
NL
-00-A0-0E (hex) NetScout Systems, Inc.
-00A00E (base 16) NetScout Systems, Inc.
- 310 Littleton Road
- Westford MA 01886
- US
-
1C-33-0E (hex) PernixData
1C330E (base 16) PernixData
1745 Technology Drive, Suite 800
@@ -124991,20 +125195,14 @@ B4CFE0 (base 16) Sichuan tianyi kanghe communications co., LTD
chengdu sichuan 611330
CN
-38-72-C0 (hex) Comtrend Corporation
-3872C0 (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
-48-51-69 (hex) Samsung Electronics Co.,Ltd
-485169 (base 16) Samsung Electronics Co.,Ltd
+88-29-9C (hex) Samsung Electronics Co.,Ltd
+88299C (base 16) Samsung Electronics Co.,Ltd
#94-1, Imsoo-Dong
Gumi Gyeongbuk 730-350
KR
-88-29-9C (hex) Samsung Electronics Co.,Ltd
-88299C (base 16) Samsung Electronics Co.,Ltd
+48-51-69 (hex) Samsung Electronics Co.,Ltd
+485169 (base 16) Samsung Electronics Co.,Ltd
#94-1, Imsoo-Dong
Gumi Gyeongbuk 730-350
KR
@@ -125051,11 +125249,11 @@ C48FC1 (base 16) DEEPTRACK S.L.U.
Dongguan 523808
CN
-38-01-18 (hex) ULVAC,Inc.
-380118 (base 16) ULVAC,Inc.
- 2500 Hagizono
- Chigasaki Kanagawa 253-8543
- JP
+F8-A7-63 (hex) Zhejiang Tmall Technology Co., Ltd.
+F8A763 (base 16) Zhejiang Tmall Technology Co., Ltd.
+ Ali Center,No.3331 Keyuan South RD (Shenzhen bay), Nanshan District, Shenzhen Guangdong province
+ Shenzhen GuangDong 518000
+ CN
14-AD-CA (hex) China Mobile Iot Limited company
14ADCA (base 16) China Mobile Iot Limited company
@@ -125063,11 +125261,11 @@ C48FC1 (base 16) DEEPTRACK S.L.U.
Chong Qing Chong Qing 401120
CN
-F8-A7-63 (hex) Zhejiang Tmall Technology Co., Ltd.
-F8A763 (base 16) Zhejiang Tmall Technology Co., Ltd.
- Ali Center,No.3331 Keyuan South RD (Shenzhen bay), Nanshan District, Shenzhen Guangdong province
- Shenzhen GuangDong 518000
- CN
+38-01-18 (hex) ULVAC,Inc.
+380118 (base 16) ULVAC,Inc.
+ 2500 Hagizono
+ Chigasaki Kanagawa 253-8543
+ JP
C4-41-1E (hex) Belkin International Inc.
C4411E (base 16) Belkin International Inc.
@@ -125081,6 +125279,84 @@ C4411E (base 16) Belkin International Inc.
Espoo Finland 02610
FI
+84-0B-7C (hex) Hitron Technologies. Inc
+840B7C (base 16) Hitron Technologies. Inc
+ No. 1-8, Lising 1st Rd. Hsinchu Science Park, Hsinchu, 300, Taiwan, R.O.C
+ Hsin-chu Taiwan 300
+ TW
+
+B4-54-59 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
+B45459 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
+ No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
+ Hangzhou Zhejiang 310000
+ CN
+
+00-04-C4 (hex) Audiotonix Group Limited
+0004C4 (base 16) Audiotonix Group Limited
+ Unit 10, Silverglade Business Park
+ Chessington Surrey KT9 2QL
+ GB
+
+00-AD-63 (hex) Dedicated Micros Malta LTD
+00AD63 (base 16) Dedicated Micros Malta LTD
+ Blb017, Qasam Industrijali Bulebel
+ ZEJTUN ZTN 3000
+ MT
+
+B4-DC-09 (hex) Guangzhou Dawei Communication Co.,Ltd
+B4DC09 (base 16) Guangzhou Dawei Communication Co.,Ltd
+ Zone A 906#, International Business Incubator, No.3 Juquan Road, Huangpu District
+ Guangzhou Guangdong 510660
+ CN
+
+BC-A1-3A (hex) SES-imagotag
+BCA13A (base 16) SES-imagotag
+ St.-Peter-Gürtel 10b
+ Graz 8010
+ AT
+
+2C-1E-4F (hex) Chengdu Qianli Network Technology Co., Ltd.
+2C1E4F (base 16) Chengdu Qianli Network Technology Co., Ltd.
+ Room 1208, 4 Building, Ideal Center, NO.38 Tianyi Street, Chengdu High-tech Zone
+ Chengdu Sichuan 610000
+ CN
+
+AC-5D-5C (hex) FN-LINK TECHNOLOGY LIMITED
+AC5D5C (base 16) FN-LINK TECHNOLOGY LIMITED
+ A Building,HuiXin industial park,No 31, YongHe road, Fuyong town, Bao'an District
+ SHENZHEN GUANGDONG 518100
+ CN
+
+38-72-C0 (hex) Comtrend Corporation
+3872C0 (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+00-A0-0E (hex) NetAlly
+00A00E (base 16) NetAlly
+ 310 Littleton Road
+ Westford MA 01886
+ US
+
+A4-AE-11 (hex) Hon Hai Precision Ind. Co., Ltd.
+A4AE11 (base 16) Hon Hai Precision Ind. Co., Ltd.
+ GuangDongShenZhen
+ ShenZhen GuangDong 518109
+ CN
+
+B4-52-A9 (hex) Texas Instruments
+B452A9 (base 16) Texas Instruments
+ 12500 TI Blvd
+ Dallas TX 75243
+ US
+
+E4-54-E8 (hex) Dell Inc.
+E454E8 (base 16) Dell Inc.
+ One Dell Way
+ Round Rock TX 78682
+ US
+
2C-39-96 (hex) Sagemcom Broadband SAS
2C3996 (base 16) Sagemcom Broadband SAS
250 route de l'Empereur
@@ -154508,12 +154784,6 @@ A49B4F (base 16) HUAWEI TECHNOLOGIES CO.,LTD
SANTA CLARA CA 95052
US
-58-C8-76 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
-58C876 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
- No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
- Hangzhou Zhejiang 310000
- CN
-
8C-8F-8B (hex) China Mobile Chongqing branch
8C8F8B (base 16) China Mobile Chongqing branch
6 building, No. 2, Xingguang three road
@@ -156206,24 +156476,6 @@ D8F15B (base 16) Espressif Inc.
9C-93-E4 (hex) Private
9C93E4 (base 16) Private
-D8-B6-B7 (hex) Comtrend Corporation
-D8B6B7 (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
-64-68-0C (hex) Comtrend Corporation
-64680C (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
-00-30-DA (hex) Comtrend Corporation
-0030DA (base 16) Comtrend Corporation
- 3F-1, 10 Lane 609, Chongxin Road, Section 5,
- New Taipei City , Taiwan 24159
- TW
-
7C-23-02 (hex) Samsung Electronics Co.,Ltd
7C2302 (base 16) Samsung Electronics Co.,Ltd
#94-1, Imsoo-Dong
@@ -156325,3 +156577,93 @@ B4A305 (base 16) XIAMEN YAXON NETWORK CO., LTD.
46#,Guanri Road, Software Park II
Xiamen Fujian 361008
CN
+
+58-C8-76 (hex) China Mobile (Hangzhou) Information Technology Co., Ltd.
+58C876 (base 16) China Mobile (Hangzhou) Information Technology Co., Ltd.
+ No. 1600 Yuhangtang Road, Wuchang Street, Yuhang District
+ Hangzhou Zhejiang 310000
+ CN
+
+38-EF-E3 (hex) INGENICO TERMINALS SAS
+38EFE3 (base 16) INGENICO TERMINALS SAS
+ 28-32 BOULEVARD DE GRENELLE
+ PARIS 75015
+ FR
+
+D0-37-45 (hex) TP-LINK TECHNOLOGIES CO.,LTD.
+D03745 (base 16) TP-LINK TECHNOLOGIES CO.,LTD.
+ Building 24(floors 1,3,4,5)and 28(floors 1-4)Central Science and Technology Park,Shennan Road,Nanshan
+ Shenzhen Guangdong 518057
+ CN
+
+50-D4-F7 (hex) TP-LINK TECHNOLOGIES CO.,LTD.
+50D4F7 (base 16) TP-LINK TECHNOLOGIES CO.,LTD.
+ Building 24(floors 1,3,4,5)and 28(floors 1-4)Central Science and Technology Park,Shennan Road,Nanshan
+ Shenzhen Guangdong 518057
+ CN
+
+8C-59-3C (hex) IEEE Registration Authority
+8C593C (base 16) IEEE Registration Authority
+ 445 Hoes Lane
+ Piscataway NJ 08554
+ US
+
+00-30-DA (hex) Comtrend Corporation
+0030DA (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+64-68-0C (hex) Comtrend Corporation
+64680C (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+D8-B6-B7 (hex) Comtrend Corporation
+D8B6B7 (base 16) Comtrend Corporation
+ 3F-1, 10 Lane 609, Chongxin Road, Section 5,
+ New Taipei City, Taiwan 24159
+ TW
+
+00-ED-B8 (hex) KYOCERA Corporation
+00EDB8 (base 16) KYOCERA Corporation
+ 30 Hoji
+ Kitami, Hokkaido 099-1595
+ JP
+
+00-F6-20 (hex) Google, Inc.
+00F620 (base 16) Google, Inc.
+ 1600 Amphitheatre Parkway
+ Mountain View CA 94043
+ US
+
+E4-15-F6 (hex) Texas Instruments
+E415F6 (base 16) Texas Instruments
+ 12500 TI Blvd
+ Dallas TX 75243
+ US
+
+B4-60-77 (hex) Sichuan Changhong Electric Ltd.
+B46077 (base 16) Sichuan Changhong Electric Ltd.
+ No.35,East MianXin Road,MianYang,Sichaun,China.
+ MianYang SiChuan PRC 621000
+ CN
+
+54-92-09 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+549209 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+E4-19-C1 (hex) HUAWEI TECHNOLOGIES CO.,LTD
+E419C1 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
+ No.2 Xin Cheng Road, Room R6,Songshan Lake Technology Park
+ Dongguan 523808
+ CN
+
+B8-66-85 (hex) Sagemcom Broadband SAS
+B86685 (base 16) Sagemcom Broadband SAS
+ 250, route de l'Empereur
+ Rueil Malmaison Cedex hauts de seine 92848
+ FR
diff --git a/hwdb/ma-medium.txt b/hwdb/ma-medium.txt
index b211916844..4abc550c81 100644
--- a/hwdb/ma-medium.txt
+++ b/hwdb/ma-medium.txt
@@ -2972,6 +2972,42 @@ BC-97-40 (hex) Lattec I/S
Hillerød 3400
DK
+D0-C8-57 (hex) Eco Mobile
+700000-7FFFFF (base 16) Eco Mobile
+ Samoborska cesta 330
+ Zagreb Zagreb 10090
+ HR
+
+D0-C8-57 (hex) CHUNGHSIN INTERNATIONAL ELECTRONICS CO.,LTD.
+B00000-BFFFFF (base 16) CHUNGHSIN INTERNATIONAL ELECTRONICS CO.,LTD.
+ 618-2# Gongren West Road,Jiaojiang,
+ Taizhou Zhejiang 317700
+ CN
+
+D0-C8-57 (hex) E-T-A Elektrotechnische Apparate GmbH
+E00000-EFFFFF (base 16) E-T-A Elektrotechnische Apparate GmbH
+ Industriestr. 2-8
+ Altdorf 90518
+ DE
+
+8C-59-3C (hex) GENIS
+900000-9FFFFF (base 16) GENIS
+ 1111, 11F RACREUM, 26 Wiryeseoil-ro
+ Seongnam-si Gyeonggi-do 13647
+ KR
+
+8C-59-3C (hex) Future Robot Technology Co., Limited
+100000-1FFFFF (base 16) Future Robot Technology Co., Limited
+ Room 406 Block A South Wind Tower, Nanshan Cloud Valley Innovation Industry Park, No 4093 Lau Sin Avenue Taoyuan Street Nanshan District
+ Shenzhen Guangdong 518000
+ CN
+
+8C-59-3C (hex) OBO Pro.2 Inc.
+700000-7FFFFF (base 16) OBO Pro.2 Inc.
+ 2148 Bering Dr.
+ San Jose CA 95131
+ US
+
1C-87-76 (hex) Strone Technology
C00000-CFFFFF (base 16) Strone Technology
13 Ellis Street
@@ -4931,12 +4967,6 @@ A00000-AFFFFF (base 16) Muzik Inc
West Hollywood CA 90069
US
-74-5B-C5 (hex) Beijing Inspiry Technology Co., Ltd.
-100000-1FFFFF (base 16) Beijing Inspiry Technology Co., Ltd.
- Building No. 5, East Zone, No. 10, Xibeiwang East Road, Haidian District
- Beijing Beijing 100092
- CN
-
74-5B-C5 (hex) SHENZHEN ATX TECHNOLOGY CO.,LTD
700000-7FFFFF (base 16) SHENZHEN ATX TECHNOLOGY CO.,LTD
7/F,Zhengjiyuan Buiding,2 Road,Qianjing, Xixiang, Baoan District
@@ -5465,9 +5495,6 @@ E00000-EFFFFF (base 16) GETMOBIT LLC
BeiJing Beijing 100024
CN
-A4-3B-FA (hex) Private
-F00000-FFFFFF (base 16) Private
-
8C-1C-DA (hex) Structura Technology & Innovation
300000-3FFFFF (base 16) Structura Technology & Innovation
via Roveredo 20/B
@@ -5828,6 +5855,21 @@ D0-C8-57 (hex) FORGAMERS INC.
Taipei 110
TW
+D0-C8-57 (hex) Nanjing Magewell Electronics Co.,Ltd
+800000-8FFFFF (base 16) Nanjing Magewell Electronics Co.,Ltd
+ 14th Floor, Building 3, No. 89 Shengli Road, Jiangning Economic and Technological Development Zone
+ Nanjing Jiangsu 211100
+ CN
+
+74-5B-C5 (hex) Beijing Inspiry Technology Co., Ltd.
+100000-1FFFFF (base 16) Beijing Inspiry Technology Co., Ltd.
+ Building No. 5, East Zone, No. 10, Xibeiwang East Road, Haidian District
+ Beijing Beijing 100092
+ CN
+
+A4-3B-FA (hex) Private
+F00000-FFFFFF (base 16) Private
+
1C-87-76 (hex) Zhuhai MYZR Technology Co.,Ltd
500000-5FFFFF (base 16) Zhuhai MYZR Technology Co.,Ltd
Room 302,Area D2,National Hi-tech Zone,NO.1,Software Park Road
@@ -7886,9 +7928,6 @@ B00000-BFFFFF (base 16) COMATIS
Leuven 3001
BE
-80-E4-DA (hex) Private
-F00000-FFFFFF (base 16) Private
-
74-19-F8 (hex) Private
F00000-FFFFFF (base 16) Private
@@ -8927,6 +8966,39 @@ BC-97-40 (hex) Airfi Oy AB
RAISIO 21200
FI
+D0-C8-57 (hex) shenzhen cnsun
+A00000-AFFFFF (base 16) shenzhen cnsun
+ 5 Floor, 2 Building,Tongfuyu Industrial City
+ shenzhen guangdong 518000
+ CN
+
+D0-C8-57 (hex) YUAN High-Tech Development Co., Ltd.
+000000-0FFFFF (base 16) YUAN High-Tech Development Co., Ltd.
+ 18F, No.88, Sec. 2, Chung Hsiao E.Rd.,
+ Taipei, Taiwan 10050
+ TW
+
+D0-C8-57 (hex) Beijing Inspiry Technology Co., Ltd.
+500000-5FFFFF (base 16) Beijing Inspiry Technology Co., Ltd.
+ Building No. 5, East Zone, No. 10, Xibeiwang East Road, Haidian District
+ Beijing Beijing 100092
+ CN
+
+80-E4-DA (hex) Private
+F00000-FFFFFF (base 16) Private
+
+8C-59-3C (hex) Chongqing beimoting technology co.ltd
+300000-3FFFFF (base 16) Chongqing beimoting technology co.ltd
+ 97-2 keyuan 2nd street, jiulongpo district,
+ Chongqing Chongqing 400039
+ CN
+
+8C-59-3C (hex) IDRO-ELETTRICA S.P.A.
+D00000-DFFFFF (base 16) IDRO-ELETTRICA S.P.A.
+ VIA BELLINI 2
+ SAN CESARIO SUL PANARO ITALY/MODENA 41018
+ IT
+
1C-87-76 (hex) Hekatron Vertriebs GmbH
B00000-BFFFFF (base 16) Hekatron Vertriebs GmbH
Brühlmatten 9
@@ -11003,9 +11075,6 @@ D00000-DFFFFF (base 16) D-Link (Shanghai)Limited Corp.
GYEONGGI-DO GOYANG-SI,ILSANDONG-GU 410315
KR
-2C-D1-41 (hex) Private
-F00000-FFFFFF (base 16) Private
-
8C-1C-DA (hex) T+A elektroakustik GmbH & Co.KG
B00000-BFFFFF (base 16) T+A elektroakustik GmbH & Co.KG
Planckstr. 9-11
@@ -11834,12 +11903,6 @@ A00000-AFFFFF (base 16) ESTec Corporation
Croissy-Beaubourg 77435
FR
-60-95-CE (hex) VNS Inc.
-E00000-EFFFFF (base 16) VNS Inc.
- 3F, No. 27, Lane 66, Ruiguang Rd.
- Taiepi Taiwan 11466
- TW
-
60-95-CE (hex) Q-SENTECH Co.,Ltd.
200000-2FFFFF (base 16) Q-SENTECH Co.,Ltd.
#201,170 Seonyu-ro, Yeongdeungpo-gu
@@ -11870,6 +11933,27 @@ E00000-EFFFFF (base 16) B4ComTechnologies LLC
Moscow 117292
RU
+D0-C8-57 (hex) Shenzhen xiaosha Intelligence Technology Co. Ltd
+900000-9FFFFF (base 16) Shenzhen xiaosha Intelligence Technology Co. Ltd
+ Poly Building, 2702 Nanhai Avenue, Nanshan District
+ Shenzhen Guangdong 518054
+ CN
+
+2C-D1-41 (hex) Private
+F00000-FFFFFF (base 16) Private
+
+60-95-CE (hex) VNS Inc.
+E00000-EFFFFF (base 16) VNS Inc.
+ 3F, No. 27, Lane 66, Ruiguang Rd.
+ Taipei Taiwan 11466
+ TW
+
+8C-59-3C (hex) Nanonord A/S
+800000-8FFFFF (base 16) Nanonord A/S
+ Skjernvej 4A
+ Aalborg 9220
+ DK
+
1C-87-74 (hex) Philips Personal Health Solutions
000000-0FFFFF (base 16) Philips Personal Health Solutions
High Tech Campus, HTC37 floor 0
@@ -14869,3 +14953,39 @@ D0-C8-57 (hex) Mobicon
#406, 97, Jungbu-daero 448beon-gil, Yeongtong-gu
Suwon-si Gyeonggi-do 16521
KR
+
+D0-C8-57 (hex) DALI A/S
+100000-1FFFFF (base 16) DALI A/S
+ Dali Alle 1
+ Norager 9610
+ DK
+
+D0-C8-57 (hex) Imin Technology Pte Ltd
+400000-4FFFFF (base 16) Imin Technology Pte Ltd
+ 77 Sciene park Drive #03-10 Cintech III
+ Singapore Singapore 118256
+ SG
+
+D0-C8-57 (hex) Innovative Industrial(HK)Co., Limited
+600000-6FFFFF (base 16) Innovative Industrial(HK)Co., Limited
+ OFFICE 3A,12/F,KAISER CENTRE,NO.18CENTRE STREET
+ SAI YING PUN 999077
+ HK
+
+8C-59-3C (hex) Spectranetix
+500000-5FFFFF (base 16) Spectranetix
+ 845 Stewart Drive, Suite B
+ Sunnyvale CA 94085
+ US
+
+8C-59-3C (hex) Qbic Technology Co., Ltd
+600000-6FFFFF (base 16) Qbic Technology Co., Ltd
+ 26F.-12, No.99, Sec. 1, Xintai 5th Rd., Xizhi Dist.,
+ New Taipei 22175
+ TW
+
+8C-59-3C (hex) Beida Jade Bird Universal Fire Alarm Device CO.,LTD.
+200000-2FFFFF (base 16) Beida Jade Bird Universal Fire Alarm Device CO.,LTD.
+ Jade Bird Building C, 207 Chengfu RD, Haidian District
+ Beijing Beijing 100871
+ CN
diff --git a/hwdb/ma-small.txt b/hwdb/ma-small.txt
index 9120d7b5c3..e9c20f28b4 100644
--- a/hwdb/ma-small.txt
+++ b/hwdb/ma-small.txt
@@ -3554,6 +3554,54 @@ DFE000-DFEFFF (base 16) microtec Sicherheitstechnik GmbH
CHATILLON 92320
FR
+70-B3-D5 (hex) Onethinx BV
+068000-068FFF (base 16) Onethinx BV
+ Punterweg 2
+ Zwolle OV 8042 PB
+ NL
+
+70-B3-D5 (hex) Worldsensing
+2C7000-2C7FFF (base 16) Worldsensing
+ Carrer Viriat 47, Edificio Numancia 1 7th floor
+ Barcelona - Please Choose - 08014
+ ES
+
+70-B3-D5 (hex) Fath Mechatronics
+DC3000-DC3FFF (base 16) Fath Mechatronics
+ Hügelmühle 31
+ Spalt bavaria 91174
+ DE
+
+70-B3-D5 (hex) Oxford Monitoring Solutions Ltd
+102000-102FFF (base 16) Oxford Monitoring Solutions Ltd
+ Oakfield Estate
+ Eynsham Oxford OX298JG
+ GB
+
+70-B3-D5 (hex) Sensative AB
+2C0000-2C0FFF (base 16) Sensative AB
+ Mobilvägen 10
+ Lund 22362
+ SE
+
+70-B3-D5 (hex) Astronomical Research Cameras, Inc.
+24C000-24CFFF (base 16) Astronomical Research Cameras, Inc.
+ 2247 San Diego Ave #135
+ San Diego CA 92110
+ US
+
+70-B3-D5 (hex) Sicon srl
+D49000-D49FFF (base 16) Sicon srl
+ Via Sila 1/3
+ Isola Vicentina Vicenza 36033
+ IT
+
+70-B3-D5 (hex) ATGS
+726000-726FFF (base 16) ATGS
+ 11 POLBINA ST.
+ MOSCOW 109388
+ RU
+
70-B3-D5 (hex) Flintab AB
D60000-D60FFF (base 16) Flintab AB
Kabelvägen 4
@@ -5966,9 +6014,6 @@ B71000-B71FFF (base 16) Private
Indianapolis IN 46239
US
-70-B3-D5 (hex) Private
-580000-580FFF (base 16) Private
-
70-B3-D5 (hex) WICELL TECHNOLOGY
BB0000-BB0FFF (base 16) WICELL TECHNOLOGY
61 Dien Bien Phu
@@ -7142,9 +7187,6 @@ FEA000-FEAFFF (base 16) Heng Dian Technology Co., Ltd
Moscow 109388
RU
-70-B3-D5 (hex) Private
-401000-401FFF (base 16) Private
-
70-B3-D5 (hex) LG Electronics
9E3000-9E3FFF (base 16) LG Electronics
10, Magokjungang 10-ro, Gangseo-gu
@@ -7430,6 +7472,30 @@ CD7000-CD7FFF (base 16) AutomationX GmbH
Graz Styria 8020
AT
+70-B3-D5 (hex) Private
+580000-580FFF (base 16) Private
+
+70-B3-D5 (hex) Private
+401000-401FFF (base 16) Private
+
+70-B3-D5 (hex) Hermann Automation GmbH
+B2F000-B2FFFF (base 16) Hermann Automation GmbH
+ Erlenwiese 15
+ Mengerskirchen Hessen D-35794
+ DE
+
+70-B3-D5 (hex) INTERNET PROTOCOLO LOGICA SL
+B58000-B58FFF (base 16) INTERNET PROTOCOLO LOGICA SL
+ Sector Foresta 43, local 26
+ Tres Cantos Madrid 28760
+ ES
+
+70-B3-D5 (hex) Legrand Electric Ltd
+093000-093FFF (base 16) Legrand Electric Ltd
+ Unit 10 Cowley Road
+ Blyth Northumberland NE24 5TF
+ GB
+
70-B3-D5 (hex) Schildknecht AG
494000-494FFF (base 16) Schildknecht AG
Haugweg 26
@@ -11162,6 +11228,39 @@ E1E000-E1EFFF (base 16) Umano Medical Inc.
70-B3-D5 (hex) Private
A9F000-A9FFFF (base 16) Private
+70-B3-D5 (hex) KRONOTECH SRL
+D56000-D56FFF (base 16) KRONOTECH SRL
+ VIALE UNGHERIA 125
+ UDINE ITALY/UDINE 33100
+ IT
+
+70-B3-D5 (hex) Ascon Tecnologic S.r.l.
+57E000-57EFFF (base 16) Ascon Tecnologic S.r.l.
+ via Indipendenza, 56
+ Vigevano PV 27029
+ IT
+
+70-B3-D5 (hex) Private
+2D7000-2D7FFF (base 16) Private
+
+70-B3-D5 (hex) GeoSpectrum Technologies Inc
+3CB000-3CBFFF (base 16) GeoSpectrum Technologies Inc
+ 10 Akerley Blvd, #19
+ Dartmouth Nova Scotia B3B1J4
+ CA
+
+70-B3-D5 (hex) Heim- & Bürokommunikation Ilmert e.K.
+DF4000-DF4FFF (base 16) Heim- & Bürokommunikation Ilmert e.K.
+ Jakobsbrunnenstr. 14
+ Frankfurt am Main 60386
+ DE
+
+70-B3-D5 (hex) Echogear
+571000-571FFF (base 16) Echogear
+ 12884 Frontrunner Blvd Ste 201
+ Draper UT 84020
+ US
+
70-B3-D5 (hex) Innitive B.V.
66B000-66BFFF (base 16) Innitive B.V.
Brouwerijstraat 20
@@ -14993,6 +15092,54 @@ CF8000-CF8FFF (base 16) Idneo Technologies S.A.U.
Barcelona Barcelona 08028
ES
+70-B3-D5 (hex) Syscom Instruments SA
+BE7000-BE7FFF (base 16) Syscom Instruments SA
+ industrie 21
+ Sainte-Croix 1450
+ CH
+
+70-B3-D5 (hex) DAO QIN TECHNOLOGY CO.LTD.
+3BD000-3BDFFF (base 16) DAO QIN TECHNOLOGY CO.LTD.
+ No. 359, Zhongxiao Rd
+ Chishang Township Taitung County 958
+ TW
+
+70-B3-D5 (hex) MB connect line GmbH Fernwartungssysteme
+CC6000-CC6FFF (base 16) MB connect line GmbH Fernwartungssysteme
+ Winnettener Straße 6
+ Dinkelsbuehl Bavaria 91550
+ DE
+
+70-B3-D5 (hex) Technological Application and Production One Member Liability Company (Tecapro company)
+456000-456FFF (base 16) Technological Application and Production One Member Liability Company (Tecapro company)
+ 18A Cong Hoa street
+ Ho Chi Minh city Ho Chi Minh city 700000
+ VN
+
+70-B3-D5 (hex) Yamamoto Works Ltd.
+DFB000-DFBFFF (base 16) Yamamoto Works Ltd.
+ 3-1-3 Kashiwaza
+ Ageo Saitama 3620075
+ JP
+
+70-B3-D5 (hex) BAYKON Endüstriyel Kontrol Sistemleri San. ve Tic. A.Ş.
+258000-258FFF (base 16) BAYKON Endüstriyel Kontrol Sistemleri San. ve Tic. A.Ş.
+ Kimya Sanayicileri Org. San. Bolgesi Organik Cad. No:31
+ Istanbul Tuzla 34956
+ TR
+
+70-B3-D5 (hex) GlooVir Inc.
+47A000-47AFFF (base 16) GlooVir Inc.
+ #413, 96 Gajeongbuk-Ro
+ Daejeon Yuseong 34111
+ KR
+
+70-B3-D5 (hex) WARECUBE,INC
+463000-463FFF (base 16) WARECUBE,INC
+ #A-811, 142-10, Saneop-ro, 156beon-gil, Gwonseon-gu
+ Suwon-si 16648
+ KR
+
70-B3-D5 (hex) EMAC, Inc.
8AB000-8ABFFF (base 16) EMAC, Inc.
2390 EMAC Way
@@ -18679,3 +18826,33 @@ ABD000-ABDFFF (base 16) wtec GmbH
19, Yangje-daero 11gil, Seocho-gu
Seoul 06772
KR
+
+70-B3-D5 (hex) Prolan Zrt.
+C04000-C04FFF (base 16) Prolan Zrt.
+ Szentendrei út 1-3.
+ Budakalasz 2011
+ HU
+
+70-B3-D5 (hex) Morgan Schaffer Inc.
+1F7000-1F7FFF (base 16) Morgan Schaffer Inc.
+ 8300 rue St-Patrick bureau 150
+ LaSalle Quebec H8N 2H1
+ CA
+
+70-B3-D5 (hex) Season Electronics Ltd
+65E000-65EFFF (base 16) Season Electronics Ltd
+ 600 Nest Business Park
+ Havant Hampshire PO9 5TL
+ GB
+
+70-B3-D5 (hex) Beijing PanGu Company
+E54000-E54FFF (base 16) Beijing PanGu Company
+ Beijing agricultural college
+ Beijing 100010
+ CN
+
+70-B3-D5 (hex) Innotas Elektronik GmbH
+C51000-C51FFF (base 16) Innotas Elektronik GmbH
+ Rathenaustr. 18a
+ Zittau D-02763
+ DE
diff --git a/hwdb/pci.ids b/hwdb/pci.ids
index 56cf570893..2b4fe96c0a 100644
--- a/hwdb/pci.ids
+++ b/hwdb/pci.ids
@@ -1,8 +1,8 @@
#
# List of PCI ID's
#
-# Version: 2019.03.22
-# Date: 2019-03-22 03:15:01
+# Version: 2019.04.06
+# Date: 2019-04-06 03:15:02
#
# Maintained by Albert Pool, Martin Mares, and other volunteers from
# the PCI ID Project at https://pci-ids.ucw.cz/.
@@ -6647,6 +6647,7 @@
1645 Broadcom NetXtreme BCM5701 Gigabit Ethernet
1801 T2 Bridge Controller
1802 T2 Secure Enclave Processor
+ 1803 Apple Audio Device
2001 S1X NVMe Controller
2002 S3ELab NVMe Controller
2003 S3X NVMe Controller
@@ -6722,14 +6723,17 @@
1077 02a7 QL45212-DE 25GbE Adapter
1077 e4f6 FastLinQ QL45211H 25GbE Adapter
1077 e4f7 FastLinQ QL45212H 25GbE Adapter
+ 1590 0245 10/20/25GbE 2P 4820c CNA
165c FastLinQ QL45000 Series 10/25/40/50GbE Controller (FCoE)
1077 0034 QL45262 Flex 50Gb 2-port Ethernet Adapter w/ iSCSI/FCoE
1077 e4f1 FastLinQ QL45462H 40GbE FCoE Adapter
1077 e4f2 FastLinQ QL45461H 40GbE FCoE Adapter
+ 1590 0245 10/20/25GbE 2P 4820c CNA FCoE
165e FastLinQ QL45000 Series 10/25/40/50GbE Controller (iSCSI)
1077 0034 QL45262 Flex 50Gb 2-port Ethernet Adapter w/ iSCSI/FCoE
1077 e4f1 FastLinQ QL45462H 40GbE iSCSI Adapter
1077 e4f2 FastLinQ QL45461H 40GbE iSCSI Adapter
+ 1590 0245 10/20/25GbE 2P 4820c CNA iSCSI
1664 FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF)
1077 e4f1 FastLinQ QL45462H 40GbE Adapter (SR-IOV VF)
1077 e4f2 FastLinQ QL45461H 40GbE Adapter (SR-IOV VF)
@@ -6738,6 +6742,7 @@
1077 e4f6 FastLinQ QL45211H 25GbE Adapter (SR-IOV VF)
1077 e4f7 FastLinQ QL45212H 25GbE Adapter (SR-IOV VF)
1077 e4f8 FastLinQ QL45611H 100GbE Adapter (SR-IOV VF)
+ 1590 0245 10/20/25GbE 2P 4820c CNA SRIOV
2020 ISP2020A Fast!SCSI Basic Adapter
2031 ISP8324-based 16Gb Fibre Channel to PCI Express Adapter
103c 17e7 SN1000Q 16Gb Single Port Fibre Channel Adapter
@@ -10841,7 +10846,7 @@
1022 GK110GL [Tesla K20c]
1023 GK110BGL [Tesla K40m]
10de 097e 12GB Computational Accelerator
- 1024 GK110BGL [Tesla K40c]
+ 1024 GK180GL [Tesla K40c]
1026 GK110GL [Tesla K20s]
1027 GK110BGL [Tesla K40st]
1028 GK110GL [Tesla K20m]
@@ -11900,6 +11905,7 @@
1028 06dc Latitude E7470
1028 06e4 XPS 15 9550
17aa 224f ThinkPad X1 Carbon 5th Gen
+ 5260 RTS5260 PCI Express Card Reader
5286 RTS5286 PCI Express Card Reader
5287 RTL8411B PCI Express Card Reader
5288 RTS5288 PCI Express Card Reader
@@ -19431,8 +19437,12 @@
0211 MT416842 Family [BlueField SoC Flash Recovery]
0212 MT2892 Family [ConnectX-6 Dx Flash Recovery]
0213 MT2892 Family [ConnectX-6 Dx Secure Flash Recovery]
+ 0214 MT42822 Family [BlueField-2 SoC Flash Recovery]
+ 0215 MT42822 Family [BlueField-2 Secure Flash Recovery]
024e MT53100 [Spectrum-2, Flash recovery mode]
024f MT53100 [Spectrum-2, Secure Flash recovery mode]
+ 0250 Spectrum-3, Flash recovery mode
+ 0251 Spectrum-3, Secure Flash recovery mode
0262 MT27710 [ConnectX-4 Lx Programmable] EN
0263 MT27710 [ConnectX-4 Lx Programmable Virtual Function] EN
0264 Innova-2 Flex Burn image
@@ -19519,6 +19529,7 @@
1021 MT28861
1974 MT28800 Family [ConnectX-5 PCIe Bridge]
1975 MT416842 Family [BlueField SoC PCIe Bridge]
+ 1978 MT42822 Family [BlueField-2 SoC PCIe Bridge]
4117 MT27712A0-FDCF-AE
1bd4 0039 SN10XMP2P25
1bd4 004d SN10XMP2P25,YZPC-01191-101
@@ -19569,6 +19580,11 @@
a2d1 MT416842 BlueField SoC Crypto disabled
a2d2 MT416842 BlueField integrated ConnectX-5 network controller
a2d3 MT416842 BlueField multicore SoC family VF
+ a2d4 MT42822 BlueField-2 SoC Crypto enabled
+ a2d5 MT42822 BlueField-2 SoC Crypto disabled
+ a2d6 MT42822 BlueField-2 integrated ConnectX-6 Dx network controller
+ c2d2 MT416842 BlueField SoC management interfac
+ c2d3 MT42822 BlueField-2 SoC Management Interface
# SwitchX-2, 40GbE switch
c738 MT51136
c739 MT51136 GW
@@ -19579,6 +19595,7 @@
cb84 MT52100
cf08 MT53236
cf6c MT53100 [Spectrum-2]
+ cf70 Spectrum-3
d2f0 Quantum HDR (200Gbps) switch
15b4 CCI/TRIAD
15b5 Cimetrics Inc
@@ -22055,6 +22072,8 @@
1cb5 Focusrite Audio Engineering Ltd
0002 Clarett
1cb8 Dawning Information Industry Co., Ltd.
+1cc4 Union Memory (Shenzhen)
+ 17ab NVMe 256G SSD device
1cc5 Embedded Intelligence, Inc.
0100 CAN-PCIe-02
1cc7 Radian Memory Systems Inc.
@@ -22246,6 +22265,8 @@
0011 IO Bridge
1da1 Teko Telecom S.r.l.
1da2 Sapphire Technology Limited
+1da3 Habana Labs Ltd.
+ 0001 HL-1000 AI Inference Accelerator [Goya]
1dbb NGD Systems, Inc.
1dbf Guizhou Huaxintong Semiconductor Technology Co., Ltd
0401 StarDragon4800 PCI Express Root Port
@@ -22275,6 +22296,7 @@
1df3 0001 ENA2050F
1df3 0002 ENA2050FS
0203 ACE-NIC100 Programmable Network Accelerator
+ 1df3 0000 Maintenance Mode
1df3 0001 ENA2080F
1df3 0002 ENA2080FS
1df3 0003 ENA2100F
@@ -22292,6 +22314,7 @@
0215 Acorn CLE-215
021f Acorn CLE-215+
1525 Xilinx BCU-1525
+1e26 Fujitsu Client Computing Limited
1e38 Thinci, Inc
1e3d Burlywood, Inc
# nee Tumsan Oy
@@ -25074,6 +25097,7 @@
8086 0007 Ethernet Network Adapter OCP XXV710-1
8086 0008 Ethernet Network Adapter OCP XXV710-1
8086 0009 Ethernet 25G 2P XXV710 Adapter
+ 8086 000a Ethernet 25G 2P XXV710 OCP
8086 4001 Ethernet Network Adapter XXV710-2
1591 Ethernet Controller E810-C for backplane
1592 Ethernet Controller E810-C for QSFP
@@ -25155,6 +25179,7 @@
15f0 JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018]
15f6 I210 Gigabit Ethernet Connection
15ff Ethernet Controller X710 for 10GBASE-T
+ 8086 0000 Ethernet Network Adapter X710-TL
8086 0001 Ethernet Network Adapter X710-T4L
8086 0002 Ethernet Network Adapter X710-T4L
8086 0003 Ethernet Network Adapter X710-T2L
@@ -29710,6 +29735,7 @@
71a1 440GX - 82443GX AGP bridge
71a2 440GX - 82443GX Host bridge (AGP disabled)
4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard
+ 7360 XMM7360 LTE Advanced Modem
7600 82372FB PIIX5 ISA
7601 82372FB PIIX5 IDE
7602 82372FB PIIX5 USB
@@ -30556,7 +30582,7 @@
8086 390d SSDPEKNW020T8 [660p, 2TB]
8088 Beijing Wangxun Technology Co., Ltd.
1001 Ethernet Controller RP1000 for 10GbE SFP+
- 8088 1000 Ethernet Network Adaptor RP1000 for 10GbE SFP+
+ 8088 0000 Ethernet Network Adaptor RP1000 for 10GbE SFP+
2001 Ethernet Controller RP2000 for 10GbE SFP+
8088 2000 Ethernet Network Adaptor RP2000 for 10GbE SFP+
80ee InnoTek Systemberatung GmbH
@@ -30901,6 +30927,9 @@
103c 0701 Smart Array P204i-b SR Gen10
103c 1100 Smart Array P816i-a SR Gen10
103c 1101 Smart Array P416ie-m SR G10
+ 105b 1211 HBA 8238-16i
+ 105b 1321 HBA 8242-24i
+ 13fe 8312 SKY-9200 MIC-8312BridgeB
152d 8a22 QS-8204-8i
152d 8a23 QS-8238-16i
152d 8a24 QS-8236-16i
@@ -30912,6 +30941,12 @@
193d c461 RAID P460-B2
193d f460 RAID P460-M4
193d f461 RAID P460-B4
+ 19e5 d227 SmartROC-HD SR465C-M 4G
+ 19e5 d228 SmartROC SR455C-M 2G
+ 19e5 d229 SmartIOC SR155-M
+ 19e5 d22a SmartIOC-HD SR765-M
+ 19e5 d22b SmartROC-e SR455C-ME 4G
+ 19e5 d22c SmartROC SR455C-M 4G
1bd4 0045 SMART-HBA 8242-24i
1bd4 0046 RAID 8236-16i
1bd4 0047 RAID 8240-24i
@@ -31146,6 +31181,7 @@ bdbd Blackmagic Design
a144 DeckLink Mini Monitor 4K
a148 DeckLink SDI Micro
a14b DeckLink 8K Pro
+ a14e DeckLink Quad HDMI Recorder
a1ff eGPU RX580
c001 TSI Telsys
c0a9 Micron/Crucial Technology
diff --git a/man/sd_event_add_io.xml b/man/sd_event_add_io.xml
index 4f2b09bf59..398b938e3c 100644
--- a/man/sd_event_add_io.xml
+++ b/man/sd_event_add_io.xml
@@ -161,6 +161,12 @@
"floating", and will be destroyed implicitly when the event loop
itself is destroyed.</para>
+ <para>Note that this call does not take possession of the file descriptor passed in, ownership (and thus
+ the duty to close it when it is no longer needed) remains with the caller. However, with the
+ <function>sd_event_source_set_io_fd_own()</function> call (see below) the event source may optionally
+ take ownership of the file descriptor after the event source has been created. In that case the file
+ descriptor is closed automatically as soon as the event source is released.</para>
+
<para>It is recommended to use
<function>sd_event_add_io()</function> only in conjunction with
file descriptors that have <constant>O_NONBLOCK</constant> set, to
diff --git a/man/systemd-sysusers.xml b/man/systemd-sysusers.xml
index 4ba7c0e306..cc02625699 100644
--- a/man/systemd-sysusers.xml
+++ b/man/systemd-sysusers.xml
@@ -95,7 +95,7 @@
placing <filename>/etc/sysusers.d/radvd.conf</filename> or even
<filename>/etc/sysusers.d/00-overrides.conf</filename>.</para>
- <para>Note that this is the expanded from, and when used in a package, this
+ <para>Note that this is the expanded form, and when used in a package, this
would be written using a macro with "radvd" and a file containing the
configuration line as arguments.</para>
</example>
diff --git a/man/systemd.link.xml b/man/systemd.link.xml
index 7594c4996e..af9799e8c0 100644
--- a/man/systemd.link.xml
+++ b/man/systemd.link.xml
@@ -242,9 +242,11 @@
<listitem>
<para>An ordered, space-separated list of policies by which the interface name should be set.
<varname>NamePolicy=</varname> may be disabled by specifying <option>net.ifnames=0</option> on the
- kernel command line. Each of the policies may fail, and the first successful one is used. The name
+ kernel command line. Each of the policies may fail, and the first successful one is used. The name
is not set directly, but is exported to udev as the property <option>ID_NET_NAME</option>, which
- is, by default, used by a udev rule to set <varname>NAME</varname>. The available policies are:
+ is, by default, used by a
+ <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ rule to set <varname>NAME</varname>. The available policies are:
</para>
<variablelist>
@@ -312,11 +314,10 @@
<varlistentry>
<term><varname>Name=</varname></term>
<listitem>
- <para>The interface name to use in case all the
- policies specified in
- <varname>NamePolicy=</varname> fail, or in case
- <varname>NamePolicy=</varname> is missing or
- disabled.</para>
+ <para>The interface name to use. This option has lower precedence than
+ <varname>NamePolicy=</varname>, so for this setting to take effect, <varname>NamePolicy=</varname>
+ must either be unset, empty, disabled, or all policies configured there must fail. Also see the
+ example below with <literal>Name=dmz0</literal>.</para>
<para>Note that specifying a name that the kernel might use for another
interface (for example <literal>eth0</literal>) is dangerous because the
@@ -618,8 +619,7 @@ MACAddressPolicy=persistent</programlisting>
<example>
<title>/etc/systemd/network/10-dmz.link</title>
- <para>This example assigns the fixed name
- <literal>dmz0</literal> to the interface with the MAC address
+ <para>This example assigns the fixed name <literal>dmz0</literal> to the interface with the MAC address
00:a0:de:63:7a:e6:</para>
<programlisting>[Match]
@@ -627,6 +627,62 @@ MACAddress=00:a0:de:63:7a:e6
[Link]
Name=dmz0</programlisting>
+
+ <para><varname>NamePolicy=</varname> is not set, so <varname>Name=</varname> takes effect. We use the
+ <literal>10-</literal> prefix to order this file early in the list. Note that it needs to before
+ <literal>99-link</literal>, i.e. it needs a numerical prefix, to have any effect at all.</para>
+ </example>
+
+ <example>
+ <title>Debugging <varname>NamePolicy=</varname> assignments</title>
+
+ <programlisting>$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/hub0
+…
+Parsed configuration file /usr/lib/systemd/network/99-default.link
+Parsed configuration file /etc/systemd/network/10-eth0.link
+ID_NET_DRIVER=cdc_ether
+Config file /etc/systemd/network/10-eth0.link applies to device hub0
+link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
+hub0: Device has name_assign_type=4
+Using default interface naming scheme 'v240'.
+hub0: Policies didn't yield a name, using specified Name=hub0.
+ID_NET_LINK_FILE=/etc/systemd/network/10-eth0.link
+ID_NET_NAME=hub0
+…</programlisting>
+
+ <para>Explicit <varname>Name=</varname> configuration wins in this case.</para>
+
+ <programlisting>sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/enp0s31f6
+…
+Parsed configuration file /usr/lib/systemd/network/99-default.link
+Parsed configuration file /etc/systemd/network/10-eth0.link
+Created link configuration context.
+ID_NET_DRIVER=e1000e
+Config file /usr/lib/systemd/network/99-default.link applies to device enp0s31f6
+link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
+enp0s31f6: Device has name_assign_type=4
+Using default interface naming scheme 'v240'.
+enp0s31f6: Policy *keep*: keeping existing userspace name
+enp0s31f6: Device has addr_assign_type=0
+enp0s31f6: MAC on the device already matches policy *persistent*
+ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
+…
+</programlisting>
+
+ <para>In this case, the interface was already renamed, so the <option>keep</option> policy specified as
+ the first option in <filename noindex='true'>99-default.link</filename> means that the existing name is
+ preserved. If <option>keep</option> was removed, or if were in boot before the renaming has happened,
+ we might get the following instead:</para>
+
+ <programlisting>enp0s31f6: Policy *path* yields "enp0s31f6".
+enp0s31f6: Device has addr_assign_type=0
+enp0s31f6: MAC on the device already matches policy *persistent*
+ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
+ID_NET_NAME=enp0s31f6
+…
+</programlisting>
+
+ <para>Please note that the details of output are subject to change.</para>
</example>
<example>
diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
index f89a53751e..d0ccd39e38 100644
--- a/man/systemd.mount.xml
+++ b/man/systemd.mount.xml
@@ -83,6 +83,11 @@
disabled. For a longer discussion see <ulink
url="https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems">API
File Systems</ulink>.</para>
+
+ <para>The
+ <citerefentry><refentrytitle>systemd-mount</refentrytitle><manvolnum>1</manvolnum></citerefentry> command
+ allows creating <filename>.mount</filename> and <filename>.automount</filename> units dynamically and
+ transiently from the command line.</para>
</refsect1>
<refsect1>
@@ -535,7 +540,8 @@
<citerefentry project='man-pages'><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-mount</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index b9a3266dfd..5b88417530 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -59,6 +59,10 @@
about the incompatibilities, see the <ulink
url="https://www.freedesktop.org/wiki/Software/systemd/Incompatibilities">Incompatibilities
with SysV</ulink> document.</para>
+
+ <para>The <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ command allows creating <filename>.service</filename> and <filename>.scope</filename> units dynamically
+ and transiently from the command line.</para>
</refsect1>
<refsect1>
@@ -1429,7 +1433,8 @@ WantedBy=multi-user.target</programlisting>
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index b7df5016ce..248fb924db 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -77,6 +77,7 @@
<filename>sysinit.target</filename>,
<filename>system-update.target</filename>,
<filename>system-update-pre.target</filename>,
+ <filename>time-set.target</filename>,
<filename>time-sync.target</filename>,
<filename>timers.target</filename>,
<filename>umount.target</filename>,
@@ -951,6 +952,18 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><filename>time-set.target</filename></term>
+ <listitem>
+ <para>Services responsible for setting the system clock from
+ a local source (such as a maintained timestamp file or
+ imprecise real-time clock) should pull in this target and
+ order themselves before it. Services where approximate time
+ is desired should be ordered after this unit, but not pull
+ it in. This target does not provide the accuracy guarantees
+ of <filename>time-sync.target</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><filename>time-sync.target</filename></term>
<listitem>
<para>Services responsible for synchronizing the system
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 6fee4c2faf..81a02253ed 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -326,7 +326,7 @@
</row>
<row>
<entry><filename>/etc/systemd/system</filename></entry>
- <entry>Local configuration</entry>
+ <entry>System units created by the administrator</entry>
</row>
<row>
<entry><filename>/run/systemd/system</filename></entry>
@@ -339,10 +339,11 @@
</row>
<row>
<entry><filename>/usr/local/lib/systemd/system</filename></entry>
- <entry morerows="1">Units of installed packages</entry>
+ <entry>System units installed by the administrator </entry>
</row>
<row>
<entry><filename>/usr/lib/systemd/system</filename></entry>
+ <entry>System units installed by the distribution package manager</entry>
</row>
<row>
<entry><filename>/run/systemd/generator.late</filename></entry>
@@ -391,7 +392,7 @@
</row>
<row>
<entry><filename>/etc/systemd/user</filename></entry>
- <entry>Local configuration</entry>
+ <entry>User units created by the administrator</entry>
</row>
<row>
<entry><filename>$XDG_RUNTIME_DIR/systemd/user</filename></entry>
@@ -416,10 +417,11 @@
</row>
<row>
<entry><filename>/usr/local/lib/systemd/user</filename></entry>
- <entry morerows="1">Units of packages that have been installed system-wide</entry>
+ <entry>User units installed by the administrator</entry>
</row>
<row>
<entry><filename>/usr/lib/systemd/user</filename></entry>
+ <entry>User units installed by the distribution package manager</entry>
</row>
<row>
<entry><filename>$XDG_RUNTIME_DIR/systemd/generator.late</filename></entry>
diff --git a/meson.build b/meson.build
index 287125f010..79195c9748 100644
--- a/meson.build
+++ b/meson.build
@@ -1606,8 +1606,7 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
# Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned
link_args : ['-Wl,-z,nodelete',
'-shared',
- '-Wl,--version-script=' + version_script_arg,
- '-Wl,--undefined'],
+ '-Wl,--version-script=' + version_script_arg],
link_with : [libsystemd_static,
libbasic],
dependencies : [threads,
diff --git a/po/lt.po b/po/lt.po
index 13e8f3e74f..3790f9c14d 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -3,15 +3,15 @@ msgid ""
msgstr ""
"Project-Id-Version: systemd\n"
"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n"
-"POT-Creation-Date: 2018-10-31 03:25+0000\n"
-"PO-Revision-Date: 2018-10-31 14:50+0200\n"
+"POT-Creation-Date: 2019-04-08 15:29+0000\n"
+"PO-Revision-Date: 2019-04-08 22:01+0300\n"
"Last-Translator: Moo\n"
"Language-Team: Lithuanian\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.2\n"
+"X-Generator: Poedit 2.2.1\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -468,11 +468,20 @@ msgstr ""
"Norint užrakinti ar atrakinti aktyvius seansus, reikia nustatyti tapatybę."
#: src/login/org.freedesktop.login1.policy:341
-msgid "Allow indication to the firmware to boot to setup interface"
-msgstr ""
-"Leisti nurodymą programinei aparatinei įrangai pasileisti į sąrankos sąsają"
+msgid "Set the reboot \"reason\" in the kernel"
+msgstr "Nustatyti paleidimo iš naujo \"priežastį\" branduolyje"
#: src/login/org.freedesktop.login1.policy:342
+msgid "Authentication is required to set the reboot \"reason\" in the kernel."
+msgstr ""
+"Norint nustatyti paleidimo iš naujo \"priežastį\" branduolyje, reikia "
+"nustatyti tapatybę."
+
+#: src/login/org.freedesktop.login1.policy:352
+msgid "Indicate to the firmware to boot to setup interface"
+msgstr "Nurodyti programinei aparatinei įrangai pasileisti į sąrankos sąsają"
+
+#: src/login/org.freedesktop.login1.policy:353
msgid ""
"Authentication is required to indicate to the firmware to boot to setup "
"interface."
@@ -480,11 +489,35 @@ msgstr ""
"Norint nurodyti programinei aparatinei įrangai pasileisti į sąrankos sąsają, "
"reikia nustatyti tapatybę."
-#: src/login/org.freedesktop.login1.policy:351
+#: src/login/org.freedesktop.login1.policy:363
+msgid "Indicate to the boot loader to boot to the boot loader menu"
+msgstr "Nurodyti pradiniam įkėlikliui paleisti pradinio įkėliklio meniu"
+
+#: src/login/org.freedesktop.login1.policy:364
+msgid ""
+"Authentication is required to indicate to the boot loader to boot to the "
+"boot loader menu."
+msgstr ""
+"Norint nurodyti pradiniam įkėlikliui paleisti pradinio įkėliklio meniu, "
+"reikia nustatyti tapatybę."
+
+#: src/login/org.freedesktop.login1.policy:374
+msgid "Indicate to the boot loader to boot a specific entry"
+msgstr "Nurodyti pradiniam įkėlikliui paleisti tam tikrą įrašą"
+
+#: src/login/org.freedesktop.login1.policy:375
+msgid ""
+"Authentication is required to indicate to the boot loader to boot into a "
+"specific boot loader entry."
+msgstr ""
+"Norint nurodyti pradiniam įkėlikliui paleisti tam tikrą pradinio įkėliklio "
+"įrašą, reikia nustatyti tapatybę."
+
+#: src/login/org.freedesktop.login1.policy:385
msgid "Set a wall message"
msgstr "Nustatyti sienos pranešimą"
-#: src/login/org.freedesktop.login1.policy:352
+#: src/login/org.freedesktop.login1.policy:386
msgid "Authentication is required to set a wall message"
msgstr "Norint nustatyti sienos pranešimą, reikia nustatyti tapatybę"
@@ -654,36 +687,36 @@ msgstr ""
"Norint valdyti ar tinklo laiko sinchronizavimas turėtų būti įjungtas, reikia "
"nustatyti tapatybę."
-#: src/core/dbus-unit.c:326
+#: src/core/dbus-unit.c:316
msgid "Authentication is required to start '$(unit)'."
msgstr "Norint paleisti \"$(unit)\", reikia nustatyti tapatybę."
-#: src/core/dbus-unit.c:327
+#: src/core/dbus-unit.c:317
msgid "Authentication is required to stop '$(unit)'."
msgstr "Norint stabdyti \"$(unit)\", reikia nustatyti tapatybę."
-#: src/core/dbus-unit.c:328
+#: src/core/dbus-unit.c:318
msgid "Authentication is required to reload '$(unit)'."
msgstr "Norint įkelti \"$(unit)\" iš naujo, reikia nustatyti tapatybę."
-#: src/core/dbus-unit.c:329 src/core/dbus-unit.c:330
+#: src/core/dbus-unit.c:319 src/core/dbus-unit.c:320
msgid "Authentication is required to restart '$(unit)'."
msgstr "Norint paleisti \"$(unit)\" iš naujo, reikia nustatyti tapatybę."
-#: src/core/dbus-unit.c:437
+#: src/core/dbus-unit.c:492
msgid ""
"Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'."
msgstr ""
"Norint siųsti UNIX signalą į \"$(unit)\" procesus, reikia nustatyti tapatybę."
-#: src/core/dbus-unit.c:468
+#: src/core/dbus-unit.c:523
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr ""
"Norint atstatyti \"$(unit)\" įtaiso \"failed\" būseną, reikia nustatyti "
"tapatybę."
-#: src/core/dbus-unit.c:501
+#: src/core/dbus-unit.c:556
msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Norint nustatyti \"$(unit)\" savybes, reikia nustatyti tapatybę."
diff --git a/src/basic/string-util.h b/src/basic/string-util.h
index 9cf11198b1..b23f4c8341 100644
--- a/src/basic/string-util.h
+++ b/src/basic/string-util.h
@@ -57,6 +57,16 @@ static inline const char *empty_to_dash(const char *str) {
return isempty(str) ? "-" : str;
}
+static inline bool empty_or_dash(const char *str) {
+ return !str ||
+ str[0] == 0 ||
+ (str[0] == '-' && str[1] == 0);
+}
+
+static inline const char *empty_or_dash_to_null(const char *p) {
+ return empty_or_dash(p) ? NULL : p;
+}
+
static inline char *startswith(const char *s, const char *prefix) {
size_t l;
diff --git a/src/import/export.c b/src/import/export.c
index 4566a66a15..77d24b8635 100644
--- a/src/import/export.c
+++ b/src/import/export.c
@@ -78,8 +78,7 @@ static int export_tar(int argc, char *argv[], void *userdata) {
if (argc >= 3)
path = argv[2];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
determine_compression_from_filename(path);
@@ -155,8 +154,7 @@ static int export_raw(int argc, char *argv[], void *userdata) {
if (argc >= 3)
path = argv[2];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
determine_compression_from_filename(path);
diff --git a/src/import/import-fs.c b/src/import/import-fs.c
index 974c0f5536..04344492c8 100644
--- a/src/import/import-fs.c
+++ b/src/import/import-fs.c
@@ -117,15 +117,13 @@ static int import_fs(int argc, char *argv[], void *userdata) {
if (argc >= 2)
path = argv[1];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
if (argc >= 3)
local = argv[2];
else if (path)
local = basename(path);
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
if (!machine_name_is_valid(local)) {
diff --git a/src/import/import.c b/src/import/import.c
index e3a1ae8a8b..cc28557459 100644
--- a/src/import/import.c
+++ b/src/import/import.c
@@ -49,15 +49,13 @@ static int import_tar(int argc, char *argv[], void *userdata) {
if (argc >= 2)
path = argv[1];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
if (argc >= 3)
local = argv[2];
else if (path)
local = basename(path);
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
r = tar_strip_suffixes(local, &ll);
@@ -145,15 +143,13 @@ static int import_raw(int argc, char *argv[], void *userdata) {
if (argc >= 2)
path = argv[1];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
if (argc >= 3)
local = argv[2];
else if (path)
local = basename(path);
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
r = raw_strip_suffixes(local, &ll);
diff --git a/src/import/pull.c b/src/import/pull.c
index 68b1221b72..7e8712493f 100644
--- a/src/import/pull.c
+++ b/src/import/pull.c
@@ -64,8 +64,7 @@ static int pull_tar(int argc, char *argv[], void *userdata) {
local = l;
}
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
r = tar_strip_suffixes(local, &ll);
@@ -151,8 +150,7 @@ static int pull_raw(int argc, char *argv[], void *userdata) {
local = l;
}
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
r = raw_strip_suffixes(local, &ll);
diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
index 17540089ba..b8bd181c16 100644
--- a/src/locale/keymap-util.c
+++ b/src/locale/keymap-util.c
@@ -32,10 +32,6 @@ static bool startswith_comma(const char *s, const char *prefix) {
return IN_SET(*s, ',', '\0');
}
-static const char* strnulldash(const char *s) {
- return isempty(s) || streq(s, "-") ? NULL : s;
-}
-
static const char* systemd_kbd_model_map(void) {
const char* s;
@@ -551,15 +547,15 @@ int vconsole_convert_to_x11(Context *c) {
if (!streq(c->vc_keymap, a[0]))
continue;
- if (!streq_ptr(c->x11_layout, strnulldash(a[1])) ||
- !streq_ptr(c->x11_model, strnulldash(a[2])) ||
- !streq_ptr(c->x11_variant, strnulldash(a[3])) ||
- !streq_ptr(c->x11_options, strnulldash(a[4]))) {
+ if (!streq_ptr(c->x11_layout, empty_or_dash_to_null(a[1])) ||
+ !streq_ptr(c->x11_model, empty_or_dash_to_null(a[2])) ||
+ !streq_ptr(c->x11_variant, empty_or_dash_to_null(a[3])) ||
+ !streq_ptr(c->x11_options, empty_or_dash_to_null(a[4]))) {
- if (free_and_strdup(&c->x11_layout, strnulldash(a[1])) < 0 ||
- free_and_strdup(&c->x11_model, strnulldash(a[2])) < 0 ||
- free_and_strdup(&c->x11_variant, strnulldash(a[3])) < 0 ||
- free_and_strdup(&c->x11_options, strnulldash(a[4])) < 0)
+ if (free_and_strdup(&c->x11_layout, empty_or_dash_to_null(a[1])) < 0 ||
+ free_and_strdup(&c->x11_model, empty_or_dash_to_null(a[2])) < 0 ||
+ free_and_strdup(&c->x11_variant, empty_or_dash_to_null(a[3])) < 0 ||
+ free_and_strdup(&c->x11_options, empty_or_dash_to_null(a[4])) < 0)
return -ENOMEM;
modified = true;
diff --git a/src/login/inhibit.c b/src/login/inhibit.c
index f574d429f4..47fd9e874d 100644
--- a/src/login/inhibit.c
+++ b/src/login/inhibit.c
@@ -286,8 +286,9 @@ static int run(int argc, char *argv[]) {
else {
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
- _cleanup_close_ int fd = -1;
+ _cleanup_strv_free_ char **arguments = NULL;
_cleanup_free_ char *w = NULL;
+ _cleanup_close_ int fd = -1;
pid_t pid;
/* Ignore SIGINT and allow the forked process to receive it */
@@ -303,12 +304,16 @@ static int run(int argc, char *argv[]) {
if (fd < 0)
return log_error_errno(fd, "Failed to inhibit: %s", bus_error_message(&error, fd));
+ arguments = strv_copy(argv + optind);
+ if (!arguments)
+ return log_oom();
+
r = safe_fork("(inhibit)", FORK_RESET_SIGNALS|FORK_DEATHSIG|FORK_CLOSE_ALL_FDS|FORK_RLIMIT_NOFILE_SAFE|FORK_LOG, &pid);
if (r < 0)
return r;
if (r == 0) {
/* Child */
- execvp(argv[optind], argv + optind);
+ execvp(arguments[0], arguments);
log_open();
log_error_errno(errno, "Failed to execute %s: %m", argv[optind]);
_exit(EXIT_FAILURE);
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index e8d40ab185..2cebcce123 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -122,7 +122,8 @@ static int get_sender_user(Manager *m, sd_bus_message *message, sd_bus_error *er
return 0;
err_no_user:
- return sd_bus_error_setf(error, BUS_ERROR_NO_USER_FOR_PID, "Caller does not belong to any logged in user or lingering user");
+ return sd_bus_error_setf(error, BUS_ERROR_NO_USER_FOR_PID,
+ "Caller does not belong to any logged in user or lingering user");
}
int manager_get_user_from_creds(Manager *m, sd_bus_message *message, uid_t uid, sd_bus_error *error, User **ret) {
@@ -137,7 +138,8 @@ int manager_get_user_from_creds(Manager *m, sd_bus_message *message, uid_t uid,
user = hashmap_get(m->users, UID_TO_PTR(uid));
if (!user)
- return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_USER, "User ID "UID_FMT" is not logged in or lingering", uid);
+ return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_USER,
+ "User ID "UID_FMT" is not logged in or lingering", uid);
*ret = user;
return 0;
@@ -371,7 +373,8 @@ static int method_get_session_by_pid(sd_bus_message *message, void *userdata, sd
return r;
if (!session)
- return sd_bus_error_setf(error, BUS_ERROR_NO_SESSION_FOR_PID, "PID "PID_FMT" does not belong to any known session", pid);
+ return sd_bus_error_setf(error, BUS_ERROR_NO_SESSION_FOR_PID,
+ "PID "PID_FMT" does not belong to any known session", pid);
}
p = session_bus_path(session);
@@ -649,7 +652,9 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
assert_cc(sizeof(pid_t) == sizeof(uint32_t));
assert_cc(sizeof(uid_t) == sizeof(uint32_t));
- r = sd_bus_message_read(message, "uusssssussbss", &uid, &leader, &service, &type, &class, &desktop, &cseat, &vtnr, &tty, &display, &remote, &remote_user, &remote_host);
+ r = sd_bus_message_read(message, "uusssssussbss",
+ &uid, &leader, &service, &type, &class, &desktop, &cseat,
+ &vtnr, &tty, &display, &remote, &remote_user, &remote_host);
if (r < 0)
return r;
@@ -663,7 +668,8 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
else {
t = session_type_from_string(type);
if (t < 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid session type %s", type);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid session type %s", type);
}
if (isempty(class))
@@ -671,14 +677,16 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
else {
c = session_class_from_string(class);
if (c < 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid session class %s", class);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid session class %s", class);
}
if (isempty(desktop))
desktop = NULL;
else {
if (!string_is_safe(desktop))
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid desktop string %s", desktop);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid desktop string %s", desktop);
}
if (isempty(cseat))
@@ -686,7 +694,8 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
else {
seat = hashmap_get(m->seats, cseat);
if (!seat)
- return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_SEAT, "No seat '%s' known", cseat);
+ return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_SEAT,
+ "No seat '%s' known", cseat);
}
if (tty_is_vc(tty)) {
@@ -695,35 +704,42 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
if (!seat)
seat = m->seat0;
else if (seat != m->seat0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "TTY %s is virtual console but seat %s is not seat0", tty, seat->id);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "TTY %s is virtual console but seat %s is not seat0", tty, seat->id);
v = vtnr_from_tty(tty);
if (v <= 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Cannot determine VT number from virtual console TTY %s", tty);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Cannot determine VT number from virtual console TTY %s", tty);
if (vtnr == 0)
vtnr = (uint32_t) v;
else if (vtnr != (uint32_t) v)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Specified TTY and VT number do not match");
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Specified TTY and VT number do not match");
} else if (tty_is_console(tty)) {
if (!seat)
seat = m->seat0;
else if (seat != m->seat0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Console TTY specified but seat is not seat0");
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Console TTY specified but seat is not seat0");
if (vtnr != 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Console TTY specified but VT number is not 0");
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Console TTY specified but VT number is not 0");
}
if (seat) {
if (seat_has_vts(seat)) {
if (vtnr <= 0 || vtnr > 63)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "VT number out of range");
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "VT number out of range");
} else {
if (vtnr != 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Seat has no VTs but VT number not 0");
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Seat has no VTs but VT number not 0");
}
}
@@ -755,13 +771,14 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
return r;
}
- /* Check if we are already in a logind session. Or if we are in user@.service which is a special PAM session
- * that avoids creating a logind session. */
+ /* Check if we are already in a logind session. Or if we are in user@.service
+ * which is a special PAM session that avoids creating a logind session. */
r = manager_get_user_by_pid(m, leader, NULL);
if (r < 0)
return r;
if (r > 0)
- return sd_bus_error_setf(error, BUS_ERROR_SESSION_BUSY, "Already running in a session or user slice");
+ return sd_bus_error_setf(error, BUS_ERROR_SESSION_BUSY,
+ "Already running in a session or user slice");
/*
* Old gdm and lightdm start the user-session on the same VT as
@@ -781,7 +798,9 @@ static int method_create_session(sd_bus_message *message, void *userdata, sd_bus
return sd_bus_error_setf(error, BUS_ERROR_SESSION_BUSY, "Already occupied by a session");
if (hashmap_size(m->sessions) >= m->sessions_max)
- return sd_bus_error_setf(error, SD_BUS_ERROR_LIMITS_EXCEEDED, "Maximum number of sessions (%" PRIu64 ") reached, refusing further sessions.", m->sessions_max);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_LIMITS_EXCEEDED,
+ "Maximum number of sessions (%" PRIu64 ") reached, refusing further sessions.",
+ m->sessions_max);
(void) audit_session_from_pid(leader, &audit_id);
if (audit_session_is_valid(audit_id)) {
@@ -987,7 +1006,8 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
return r;
if (session->seat != seat)
- return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", session_name, seat_name);
+ return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
+ "Session %s not on seat %s", session_name, seat_name);
r = session_activate(session);
if (r < 0)
@@ -1795,7 +1815,8 @@ static int method_do_shutdown_or_sleep(
/* Don't allow multiple jobs being executed at the same time */
if (m->action_what > 0)
- return sd_bus_error_setf(error, BUS_ERROR_OPERATION_IN_PROGRESS, "There's already a shutdown or sleep operation in progress");
+ return sd_bus_error_setf(error, BUS_ERROR_OPERATION_IN_PROGRESS,
+ "There's already a shutdown or sleep operation in progress");
if (sleep_verb) {
r = can_sleep(sleep_verb);
@@ -3127,22 +3148,26 @@ static int method_inhibit(sd_bus_message *message, void *userdata, sd_bus_error
w = inhibit_what_from_string(what);
if (w <= 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid what specification %s", what);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid what specification %s", what);
mm = inhibit_mode_from_string(mode);
if (mm < 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid mode specification %s", mode);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid mode specification %s", mode);
/* Delay is only supported for shutdown/sleep */
if (mm == INHIBIT_DELAY && (w & ~(INHIBIT_SHUTDOWN|INHIBIT_SLEEP)))
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Delay inhibitors only supported for shutdown and sleep");
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Delay inhibitors only supported for shutdown and sleep");
/* Don't allow taking delay locks while we are already
* executing the operation. We shouldn't create the impression
* that the lock was successful if the machine is about to go
* down/suspend any moment. */
if (m->action_what & w)
- return sd_bus_error_setf(error, BUS_ERROR_OPERATION_IN_PROGRESS, "The operation inhibition has been requested for is already running");
+ return sd_bus_error_setf(error, BUS_ERROR_OPERATION_IN_PROGRESS,
+ "The operation inhibition has been requested for is already running");
r = bus_verify_polkit_async(
message,
@@ -3177,7 +3202,9 @@ static int method_inhibit(sd_bus_message *message, void *userdata, sd_bus_error
return r;
if (hashmap_size(m->inhibitors) >= m->inhibitors_max)
- return sd_bus_error_setf(error, SD_BUS_ERROR_LIMITS_EXCEEDED, "Maximum number of inhibitors (%" PRIu64 ") reached, refusing further inhibitors.", m->inhibitors_max);
+ return sd_bus_error_setf(error, SD_BUS_ERROR_LIMITS_EXCEEDED,
+ "Maximum number of inhibitors (%" PRIu64 ") reached, refusing further inhibitors.",
+ m->inhibitors_max);
do {
id = mfree(id);
@@ -3339,7 +3366,8 @@ static int session_jobs_reply(Session *s, const char *unit, const char *result)
if (result && !streq(result, "done")) {
_cleanup_(sd_bus_error_free) sd_bus_error e = SD_BUS_ERROR_NULL;
- sd_bus_error_setf(&e, BUS_ERROR_JOB_FAILED, "Start job for unit '%s' failed with '%s'", unit, result);
+ sd_bus_error_setf(&e, BUS_ERROR_JOB_FAILED,
+ "Start job for unit '%s' failed with '%s'", unit, result);
return session_send_create_reply(s, &e);
}
diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index a7924235b4..3d3bc8ab1c 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -644,20 +644,26 @@ static int session_start_scope(Session *s, sd_bus_message *properties, sd_bus_er
s->leader,
s->user->slice,
description,
- STRV_MAKE(s->user->runtime_dir_service, s->user->service), /* These two have StopWhenUnneeded= set, hence add a dep towards them */
- STRV_MAKE("systemd-logind.service", "systemd-user-sessions.service", s->user->runtime_dir_service, s->user->service), /* And order us after some more */
+ /* These two have StopWhenUnneeded= set, hence add a dep towards them */
+ STRV_MAKE(s->user->runtime_dir_service,
+ s->user->service),
+ /* And order us after some more */
+ STRV_MAKE("systemd-logind.service",
+ "systemd-user-sessions.service",
+ s->user->runtime_dir_service,
+ s->user->service),
s->user->home,
properties,
error,
&s->scope_job);
if (r < 0)
- return log_error_errno(r, "Failed to start session scope %s: %s", scope, bus_error_message(error, r));
+ return log_error_errno(r, "Failed to start session scope %s: %s",
+ scope, bus_error_message(error, r));
s->scope = TAKE_PTR(scope);
}
- if (s->scope)
- (void) hashmap_put(s->manager->session_units, s->scope, s);
+ (void) hashmap_put(s->manager->session_units, s->scope, s);
return 0;
}
diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
index 372ba44874..2bf3b7987e 100644
--- a/src/login/pam_systemd.c
+++ b/src/login/pam_systemd.c
@@ -327,14 +327,21 @@ static const char* getenv_harder(pam_handle_t *handle, const char *key, const ch
assert(handle);
assert(key);
- /* Looks for an environment variable, preferrably in the environment block associated with the specified PAM
- * handle, falling back to the process' block instead. */
+ /* Looks for an environment variable, preferrably in the environment block associated with the
+ * specified PAM handle, falling back to the process' block instead. Why check both? Because we want
+ * to permit configuration of session properties from unit files that invoke PAM services, so that
+ * PAM services don't have to be reworked to set systemd-specific properties, but these properties
+ * can still be set from the unit file Environment= block. */
v = pam_getenv(handle, key);
if (!isempty(v))
return v;
- v = getenv(key);
+ /* We use secure_getenv() here, since we might get loaded into su/sudo, which are SUID. Ideally
+ * they'd clean up the environment before invoking foreign code (such as PAM modules), but alas they
+ * currently don't (to be precise, they clean up the environment they pass to their children, but
+ * not their own environ[]). */
+ v = secure_getenv(key);
if (!isempty(v))
return v;
diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c
index c8607bcec3..d98027a0ca 100644
--- a/src/machine/machinectl.c
+++ b/src/machine/machinectl.c
@@ -1993,16 +1993,6 @@ static int transfer_image_common(sd_bus *bus, sd_bus_message *m) {
return -r;
}
-static const char *nullify_dash(const char *p) {
- if (isempty(p))
- return NULL;
-
- if (streq(p, "-"))
- return NULL;
-
- return p;
-}
-
static int import_tar(int argc, char *argv[], void *userdata) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
_cleanup_free_ char *ll = NULL, *fn = NULL;
@@ -2014,10 +2004,10 @@ static int import_tar(int argc, char *argv[], void *userdata) {
assert(bus);
if (argc >= 2)
- path = nullify_dash(argv[1]);
+ path = empty_or_dash_to_null(argv[1]);
if (argc >= 3)
- local = nullify_dash(argv[2]);
+ local = empty_or_dash_to_null(argv[2]);
else if (path) {
r = path_extract_filename(path, &fn);
if (r < 0)
@@ -2081,10 +2071,10 @@ static int import_raw(int argc, char *argv[], void *userdata) {
assert(bus);
if (argc >= 2)
- path = nullify_dash(argv[1]);
+ path = empty_or_dash_to_null(argv[1]);
if (argc >= 3)
- local = nullify_dash(argv[2]);
+ local = empty_or_dash_to_null(argv[2]);
else if (path) {
r = path_extract_filename(path, &fn);
if (r < 0)
@@ -2148,10 +2138,10 @@ static int import_fs(int argc, char *argv[], void *userdata) {
assert(bus);
if (argc >= 2)
- path = nullify_dash(argv[1]);
+ path = empty_or_dash_to_null(argv[1]);
if (argc >= 3)
- local = nullify_dash(argv[2]);
+ local = empty_or_dash_to_null(argv[2]);
else if (path) {
r = path_extract_filename(path, &fn);
if (r < 0)
@@ -2230,8 +2220,7 @@ static int export_tar(int argc, char *argv[], void *userdata) {
if (argc >= 3)
path = argv[2];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
if (path) {
determine_compression_from_filename(path);
@@ -2280,8 +2269,7 @@ static int export_raw(int argc, char *argv[], void *userdata) {
if (argc >= 3)
path = argv[2];
- if (isempty(path) || streq(path, "-"))
- path = NULL;
+ path = empty_or_dash_to_null(path);
if (path) {
determine_compression_from_filename(path);
@@ -2338,8 +2326,7 @@ static int pull_tar(int argc, char *argv[], void *userdata) {
local = l;
}
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
r = tar_strip_suffixes(local, &ll);
@@ -2402,8 +2389,7 @@ static int pull_raw(int argc, char *argv[], void *userdata) {
local = l;
}
- if (isempty(local) || streq(local, "-"))
- local = NULL;
+ local = empty_or_dash_to_null(local);
if (local) {
r = raw_strip_suffixes(local, &ll);
diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c
index 601bde6d4d..d83e7962a6 100644
--- a/src/shared/calendarspec.c
+++ b/src/shared/calendarspec.c
@@ -33,7 +33,7 @@
* linked compenents anyway. */
#define CALENDARSPEC_COMPONENTS_MAX 240
-static void free_chain(CalendarComponent *c) {
+static void chain_free(CalendarComponent *c) {
CalendarComponent *n;
while (c) {
@@ -43,17 +43,19 @@ static void free_chain(CalendarComponent *c) {
}
}
+DEFINE_TRIVIAL_CLEANUP_FUNC(CalendarComponent*, chain_free);
+
CalendarSpec* calendar_spec_free(CalendarSpec *c) {
if (!c)
return NULL;
- free_chain(c->year);
- free_chain(c->month);
- free_chain(c->day);
- free_chain(c->hour);
- free_chain(c->minute);
- free_chain(c->microsecond);
+ chain_free(c->year);
+ chain_free(c->month);
+ chain_free(c->day);
+ chain_free(c->hour);
+ chain_free(c->minute);
+ chain_free(c->microsecond);
free(c->timezone);
return mfree(c);
@@ -551,14 +553,16 @@ static int const_chain(int value, CalendarComponent **c) {
assert(c);
- cc = new0(CalendarComponent, 1);
+ cc = new(CalendarComponent, 1);
if (!cc)
return -ENOMEM;
- cc->start = value;
- cc->stop = -1;
- cc->repeat = 0;
- cc->next = *c;
+ *cc = (CalendarComponent) {
+ .start = value,
+ .stop = -1,
+ .repeat = 0,
+ .next = *c,
+ };
*c = cc;
@@ -566,13 +570,18 @@ static int const_chain(int value, CalendarComponent **c) {
}
static int calendarspec_from_time_t(CalendarSpec *c, time_t time) {
+ _cleanup_(chain_freep) CalendarComponent
+ *year = NULL, *month = NULL, *day = NULL,
+ *hour = NULL, *minute = NULL, *us = NULL;
struct tm tm;
- CalendarComponent *year = NULL, *month = NULL, *day = NULL, *hour = NULL, *minute = NULL, *us = NULL;
int r;
if (!gmtime_r(&time, &tm))
return -ERANGE;
+ if (tm.tm_year > INT_MAX - 1900)
+ return -ERANGE;
+
r = const_chain(tm.tm_year + 1900, &year);
if (r < 0)
return r;
@@ -598,12 +607,12 @@ static int calendarspec_from_time_t(CalendarSpec *c, time_t time) {
return r;
c->utc = true;
- c->year = year;
- c->month = month;
- c->day = day;
- c->hour = hour;
- c->minute = minute;
- c->microsecond = us;
+ c->year = TAKE_PTR(year);
+ c->month = TAKE_PTR(month);
+ c->day = TAKE_PTR(day);
+ c->hour = TAKE_PTR(hour);
+ c->minute = TAKE_PTR(minute);
+ c->microsecond = TAKE_PTR(us);
return 0;
}
@@ -644,14 +653,16 @@ static int prepend_component(const char **p, bool usec, unsigned nesting, Calend
if (!IN_SET(*e, 0, ' ', ',', '-', '~', ':'))
return -EINVAL;
- cc = new0(CalendarComponent, 1);
+ cc = new(CalendarComponent, 1);
if (!cc)
return -ENOMEM;
- cc->start = start;
- cc->stop = stop;
- cc->repeat = repeat;
- cc->next = *c;
+ *cc = (CalendarComponent) {
+ .start = start,
+ .stop = stop,
+ .repeat = repeat,
+ .next = *c,
+ };
*p = e;
*c = cc;
@@ -665,8 +676,8 @@ static int prepend_component(const char **p, bool usec, unsigned nesting, Calend
}
static int parse_chain(const char **p, bool usec, CalendarComponent **c) {
+ _cleanup_(chain_freep) CalendarComponent *cc = NULL;
const char *t;
- CalendarComponent *cc = NULL;
int r;
assert(p);
@@ -688,20 +699,18 @@ static int parse_chain(const char **p, bool usec, CalendarComponent **c) {
}
r = prepend_component(&t, usec, 0, &cc);
- if (r < 0) {
- free_chain(cc);
+ if (r < 0)
return r;
- }
*p = t;
- *c = cc;
+ *c = TAKE_PTR(cc);
return 0;
}
static int parse_date(const char **p, CalendarSpec *c) {
+ _cleanup_(chain_freep) CalendarComponent *first = NULL, *second = NULL, *third = NULL;
const char *t;
int r;
- CalendarComponent *first, *second, *third;
assert(p);
assert(*p);
@@ -738,70 +747,51 @@ static int parse_date(const char **p, CalendarSpec *c) {
return r;
/* Already the end? A ':' as separator? In that case this was a time, not a date */
- if (IN_SET(*t, 0, ':')) {
- free_chain(first);
+ if (IN_SET(*t, 0, ':'))
return 0;
- }
if (*t == '~')
c->end_of_month = true;
- else if (*t != '-') {
- free_chain(first);
+ else if (*t != '-')
return -EINVAL;
- }
t++;
r = parse_chain(&t, false, &second);
- if (r < 0) {
- free_chain(first);
+ if (r < 0)
return r;
- }
/* Got two parts, hence it's month and day */
if (IN_SET(*t, 0, ' ')) {
*p = t + strspn(t, " ");
- c->month = first;
- c->day = second;
+ c->month = TAKE_PTR(first);
+ c->day = TAKE_PTR(second);
return 0;
- } else if (c->end_of_month) {
- free_chain(first);
- free_chain(second);
+ } else if (c->end_of_month)
return -EINVAL;
- }
if (*t == '~')
c->end_of_month = true;
- else if (*t != '-') {
- free_chain(first);
- free_chain(second);
+ else if (*t != '-')
return -EINVAL;
- }
t++;
r = parse_chain(&t, false, &third);
- if (r < 0) {
- free_chain(first);
- free_chain(second);
+ if (r < 0)
return r;
- }
- /* Got three parts, hence it is year, month and day */
- if (IN_SET(*t, 0, ' ')) {
- *p = t + strspn(t, " ");
- c->year = first;
- c->month = second;
- c->day = third;
- return 0;
- }
+ if (!IN_SET(*t, 0, ' '))
+ return -EINVAL;
- free_chain(first);
- free_chain(second);
- free_chain(third);
- return -EINVAL;
+ /* Got three parts, hence it is year, month and day */
+ *p = t + strspn(t, " ");
+ c->year = TAKE_PTR(first);
+ c->month = TAKE_PTR(second);
+ c->day = TAKE_PTR(third);
+ return 0;
}
static int parse_calendar_time(const char **p, CalendarSpec *c) {
- CalendarComponent *h = NULL, *m = NULL, *s = NULL;
+ _cleanup_(chain_freep) CalendarComponent *h = NULL, *m = NULL, *s = NULL;
const char *t;
int r;
@@ -817,66 +807,55 @@ static int parse_calendar_time(const char **p, CalendarSpec *c) {
r = parse_chain(&t, false, &h);
if (r < 0)
- goto fail;
+ return r;
- if (*t != ':') {
- r = -EINVAL;
- goto fail;
- }
+ if (*t != ':')
+ return -EINVAL;
t++;
r = parse_chain(&t, false, &m);
if (r < 0)
- goto fail;
+ return r;
/* Already at the end? Then it's hours and minutes, and seconds are 0 */
if (*t == 0)
goto null_second;
- if (*t != ':') {
- r = -EINVAL;
- goto fail;
- }
+ if (*t != ':')
+ return -EINVAL;
t++;
r = parse_chain(&t, true, &s);
if (r < 0)
- goto fail;
+ return r;
/* At the end? Then it's hours, minutes and seconds */
if (*t == 0)
goto finish;
- r = -EINVAL;
- goto fail;
+ return -EINVAL;
null_hour:
r = const_chain(0, &h);
if (r < 0)
- goto fail;
+ return r;
r = const_chain(0, &m);
if (r < 0)
- goto fail;
+ return r;
null_second:
r = const_chain(0, &s);
if (r < 0)
- goto fail;
+ return r;
finish:
*p = t;
- c->hour = h;
- c->minute = m;
- c->microsecond = s;
+ c->hour = TAKE_PTR(h);
+ c->minute = TAKE_PTR(m);
+ c->microsecond = TAKE_PTR(s);
return 0;
-
-fail:
- free_chain(h);
- free_chain(m);
- free_chain(s);
- return r;
}
int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
@@ -888,11 +867,14 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
assert(p);
assert(spec);
- c = new0(CalendarSpec, 1);
+ c = new(CalendarSpec, 1);
if (!c)
return -ENOMEM;
- c->dst = -1;
- c->timezone = NULL;
+
+ *c = (CalendarSpec) {
+ .dst = -1,
+ .timezone = NULL,
+ };
utc = endswith_no_case(p, " UTC");
if (utc) {
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
index b9fa334858..843c3837d1 100644
--- a/src/sysusers/sysusers.c
+++ b/src/sysusers/sysusers.c
@@ -389,15 +389,15 @@ static int write_temporary_passwd(const char *passwd_path, FILE **tmpfile, char
while ((r = fgetpwent_sane(original, &pw)) > 0) {
i = ordered_hashmap_get(users, pw->pw_name);
- if (i && i->todo_user) {
- log_error("%s: User \"%s\" already exists.", passwd_path, pw->pw_name);
- return -EEXIST;
- }
+ if (i && i->todo_user)
+ return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
+ "%s: User \"%s\" already exists.",
+ passwd_path, pw->pw_name);
- if (ordered_hashmap_contains(todo_uids, UID_TO_PTR(pw->pw_uid))) {
- log_error("%s: Detected collision for UID " UID_FMT ".", passwd_path, pw->pw_uid);
- return -EEXIST;
- }
+ if (ordered_hashmap_contains(todo_uids, UID_TO_PTR(pw->pw_uid)))
+ return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
+ "%s: Detected collision for UID " UID_FMT ".",
+ passwd_path, pw->pw_uid);
/* Make sure we keep the NIS entries (if any) at the end. */
if (IN_SET(pw->pw_name[0], '+', '-'))
@@ -592,15 +592,15 @@ static int write_temporary_group(const char *group_path, FILE **tmpfile, char **
* step that we don't generate duplicate entries. */
i = ordered_hashmap_get(groups, gr->gr_name);
- if (i && i->todo_group) {
- log_error("%s: Group \"%s\" already exists.", group_path, gr->gr_name);
- return -EEXIST;
- }
+ if (i && i->todo_group)
+ return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
+ "%s: Group \"%s\" already exists.",
+ group_path, gr->gr_name);
- if (ordered_hashmap_contains(todo_gids, GID_TO_PTR(gr->gr_gid))) {
- log_error("%s: Detected collision for GID " GID_FMT ".", group_path, gr->gr_gid);
- return -EEXIST;
- }
+ if (ordered_hashmap_contains(todo_gids, GID_TO_PTR(gr->gr_gid)))
+ return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
+ "%s: Detected collision for GID " GID_FMT ".",
+ group_path, gr->gr_gid);
/* Make sure we keep the NIS entries (if any) at the end. */
if (IN_SET(gr->gr_name[0], '+', '-'))
@@ -687,10 +687,10 @@ static int write_temporary_gshadow(const char * gshadow_path, FILE **tmpfile, ch
while ((r = fgetsgent_sane(original, &sg)) > 0) {
i = ordered_hashmap_get(groups, sg->sg_namp);
- if (i && i->todo_group) {
- log_error("%s: Group \"%s\" already exists.", gshadow_path, sg->sg_namp);
- return -EEXIST;
- }
+ if (i && i->todo_group)
+ return log_error_errno(SYNTHETIC_ERRNO(EEXIST),
+ "%s: Group \"%s\" already exists.",
+ gshadow_path, sg->sg_namp);
r = putsgent_with_members(sg, gshadow);
if (r < 0)
@@ -1021,10 +1021,8 @@ static int add_user(Item *i) {
if (!i->uid_set) {
for (;;) {
r = uid_range_next_lower(uid_range, n_uid_range, &search_uid);
- if (r < 0) {
- log_error("No free user ID available for %s.", i->name);
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "No free user ID available for %s.", i->name);
r = uid_is_ok(search_uid, i->name, true);
if (r < 0)
@@ -1178,10 +1176,8 @@ static int add_group(Item *i) {
for (;;) {
/* We look for new GIDs in the UID pool! */
r = uid_range_next_lower(uid_range, n_uid_range, &search_uid);
- if (r < 0) {
- log_error("No free group ID available for %s.", i->name);
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "No free group ID available for %s.", i->name);
r = gid_is_ok(search_uid);
if (r < 0)
@@ -1381,7 +1377,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
*id = NULL, *resolved_id = NULL,
*description = NULL, *resolved_description = NULL,
*home = NULL, *resolved_home = NULL,
- *shell, *resolved_shell = NULL;
+ *shell = NULL, *resolved_shell = NULL;
_cleanup_(item_freep) Item *i = NULL;
Item *existing;
OrderedHashmap *h;
@@ -1396,135 +1392,121 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
p = buffer;
r = extract_many_words(&p, NULL, EXTRACT_QUOTES,
&action, &name, &id, &description, &home, &shell, NULL);
- if (r < 0) {
- log_error("[%s:%u] Syntax error.", fname, line);
- return r;
- }
- if (r < 2) {
- log_error("[%s:%u] Missing action and name columns.", fname, line);
- return -EINVAL;
- }
- if (!isempty(p)) {
- log_error("[%s:%u] Trailing garbage.", fname, line);
- return -EINVAL;
- }
+ if (r < 0)
+ return log_error_errno(r, "[%s:%u] Syntax error.", fname, line);
+ if (r < 2)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Missing action and name columns.", fname, line);
+ if (!isempty(p))
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Trailing garbage.", fname, line);
/* Verify action */
- if (strlen(action) != 1) {
- log_error("[%s:%u] Unknown modifier '%s'", fname, line, action);
- return -EINVAL;
- }
+ if (strlen(action) != 1)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Unknown modifier '%s'", fname, line, action);
- if (!IN_SET(action[0], ADD_USER, ADD_GROUP, ADD_MEMBER, ADD_RANGE)) {
- log_error("[%s:%u] Unknown command type '%c'.", fname, line, action[0]);
- return -EBADMSG;
- }
+ if (!IN_SET(action[0], ADD_USER, ADD_GROUP, ADD_MEMBER, ADD_RANGE))
+ return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
+ "[%s:%u] Unknown command type '%c'.", fname, line, action[0]);
/* Verify name */
- if (isempty(name) || streq(name, "-"))
+ if (empty_or_dash(name))
name = mfree(name);
if (name) {
r = specifier_printf(name, specifier_table, NULL, &resolved_name);
- if (r < 0) {
- log_error("[%s:%u] Failed to replace specifiers: %s", fname, line, name);
- return r;
- }
+ if (r < 0)
+ log_error_errno(r, "[%s:%u] Failed to replace specifiers: %s", fname, line, name);
- if (!valid_user_group_name(resolved_name)) {
- log_error("[%s:%u] '%s' is not a valid user or group name.", fname, line, resolved_name);
- return -EINVAL;
- }
+ if (!valid_user_group_name(resolved_name))
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] '%s' is not a valid user or group name.",
+ fname, line, resolved_name);
}
/* Verify id */
- if (isempty(id) || streq(id, "-"))
+ if (empty_or_dash(id))
id = mfree(id);
if (id) {
r = specifier_printf(id, specifier_table, NULL, &resolved_id);
- if (r < 0) {
- log_error("[%s:%u] Failed to replace specifiers: %s", fname, line, name);
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "[%s:%u] Failed to replace specifiers: %s",
+ fname, line, name);
}
/* Verify description */
- if (isempty(description) || streq(description, "-"))
+ if (empty_or_dash(description))
description = mfree(description);
if (description) {
r = specifier_printf(description, specifier_table, NULL, &resolved_description);
- if (r < 0) {
- log_error("[%s:%u] Failed to replace specifiers: %s", fname, line, description);
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "[%s:%u] Failed to replace specifiers: %s",
+ fname, line, description);
- if (!valid_gecos(resolved_description)) {
- log_error("[%s:%u] '%s' is not a valid GECOS field.", fname, line, resolved_description);
- return -EINVAL;
- }
+ if (!valid_gecos(resolved_description))
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] '%s' is not a valid GECOS field.",
+ fname, line, resolved_description);
}
/* Verify home */
- if (isempty(home) || streq(home, "-"))
+ if (empty_or_dash(home))
home = mfree(home);
if (home) {
r = specifier_printf(home, specifier_table, NULL, &resolved_home);
- if (r < 0) {
- log_error("[%s:%u] Failed to replace specifiers: %s", fname, line, home);
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "[%s:%u] Failed to replace specifiers: %s",
+ fname, line, home);
- if (!valid_home(resolved_home)) {
- log_error("[%s:%u] '%s' is not a valid home directory field.", fname, line, resolved_home);
- return -EINVAL;
- }
+ if (!valid_home(resolved_home))
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] '%s' is not a valid home directory field.",
+ fname, line, resolved_home);
}
/* Verify shell */
- if (isempty(shell) || streq(shell, "-"))
+ if (empty_or_dash(shell))
shell = mfree(shell);
if (shell) {
r = specifier_printf(shell, specifier_table, NULL, &resolved_shell);
- if (r < 0) {
- log_error("[%s:%u] Failed to replace specifiers: %s", fname, line, shell);
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "[%s:%u] Failed to replace specifiers: %s",
+ fname, line, shell);
- if (!valid_shell(resolved_shell)) {
- log_error("[%s:%u] '%s' is not a valid login shell field.", fname, line, resolved_shell);
- return -EINVAL;
- }
+ if (!valid_shell(resolved_shell))
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] '%s' is not a valid login shell field.",
+ fname, line, resolved_shell);
}
switch (action[0]) {
case ADD_RANGE:
- if (resolved_name) {
- log_error("[%s:%u] Lines of type 'r' don't take a name field.", fname, line);
- return -EINVAL;
- }
-
- if (!resolved_id) {
- log_error("[%s:%u] Lines of type 'r' require a ID range in the third field.", fname, line);
- return -EINVAL;
- }
-
- if (description || home || shell) {
- log_error("[%s:%u] Lines of type '%c' don't take a %s field.",
- fname, line, action[0],
- description ? "GECOS" : home ? "home directory" : "login shell");
- return -EINVAL;
- }
+ if (resolved_name)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type 'r' don't take a name field.",
+ fname, line);
+
+ if (!resolved_id)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type 'r' require a ID range in the third field.",
+ fname, line);
+
+ if (description || home || shell)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type '%c' don't take a %s field.",
+ fname, line, action[0],
+ description ? "GECOS" : home ? "home directory" : "login shell");
r = uid_range_add_str(&uid_range, &n_uid_range, resolved_id);
- if (r < 0) {
- log_error("[%s:%u] Invalid UID range %s.", fname, line, resolved_id);
- return -EINVAL;
- }
+ if (r < 0)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Invalid UID range %s.", fname, line, resolved_id);
return 0;
@@ -1532,27 +1514,26 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
char **l;
/* Try to extend an existing member or group item */
- if (!name) {
- log_error("[%s:%u] Lines of type 'm' require a user name in the second field.", fname, line);
- return -EINVAL;
- }
-
- if (!resolved_id) {
- log_error("[%s:%u] Lines of type 'm' require a group name in the third field.", fname, line);
- return -EINVAL;
- }
-
- if (!valid_user_group_name(resolved_id)) {
- log_error("[%s:%u] '%s' is not a valid user or group name.", fname, line, resolved_id);
- return -EINVAL;
- }
-
- if (description || home || shell) {
- log_error("[%s:%u] Lines of type '%c' don't take a %s field.",
- fname, line, action[0],
- description ? "GECOS" : home ? "home directory" : "login shell");
- return -EINVAL;
- }
+ if (!name)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type 'm' require a user name in the second field.",
+ fname, line);
+
+ if (!resolved_id)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type 'm' require a group name in the third field.",
+ fname, line);
+
+ if (!valid_user_group_name(resolved_id))
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] '%s' is not a valid user or group name.",
+ fname, line, resolved_id);
+
+ if (description || home || shell)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type '%c' don't take a %s field.",
+ fname, line, action[0],
+ description ? "GECOS" : home ? "home directory" : "login shell");
r = ordered_hashmap_ensure_allocated(&members, &members_hash_ops);
if (r < 0)
@@ -1591,10 +1572,10 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
}
case ADD_USER:
- if (!name) {
- log_error("[%s:%u] Lines of type 'u' require a user name in the second field.", fname, line);
- return -EINVAL;
- }
+ if (!name)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type 'u' require a user name in the second field.",
+ fname, line);
r = ordered_hashmap_ensure_allocated(&users, &item_hash_ops);
if (r < 0)
@@ -1635,17 +1616,16 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
break;
case ADD_GROUP:
- if (!name) {
- log_error("[%s:%u] Lines of type 'g' require a user name in the second field.", fname, line);
- return -EINVAL;
- }
+ if (!name)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type 'g' require a user name in the second field.",
+ fname, line);
- if (description || home || shell) {
- log_error("[%s:%u] Lines of type '%c' don't take a %s field.",
- fname, line, action[0],
- description ? "GECOS" : home ? "home directory" : "login shell");
- return -EINVAL;
- }
+ if (description || home || shell)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "[%s:%u] Lines of type '%c' don't take a %s field.",
+ fname, line, action[0],
+ description ? "GECOS" : home ? "home directory" : "login shell");
r = ordered_hashmap_ensure_allocated(&groups, &item_hash_ops);
if (r < 0)
@@ -1680,7 +1660,6 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
existing = ordered_hashmap_get(h, i->name);
if (existing) {
-
/* Two identical items are fine */
if (!item_equal(existing, i))
log_warning("Two or more conflicting lines for %s configured, ignoring.", i->name);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 84e104f9b5..d9d1cc1c1a 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -2507,7 +2507,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
return -EIO;
}
- if (!isempty(buffer) && !streq(buffer, "-")) {
+ if (!empty_or_dash(buffer)) {
i.argument = strdup(buffer);
if (!i.argument)
return log_oom();
@@ -2704,7 +2704,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
free_and_replace(i.path, p);
}
- if (!isempty(user) && !streq(user, "-")) {
+ if (!empty_or_dash(user)) {
const char *u = user;
r = get_user_creds(&u, &i.uid, NULL, NULL, NULL, USER_CREDS_ALLOW_MISSING);
@@ -2716,7 +2716,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
i.uid_set = true;
}
- if (!isempty(group) && !streq(group, "-")) {
+ if (!empty_or_dash(group)) {
const char *g = group;
r = get_group_creds(&g, &i.gid, USER_CREDS_ALLOW_MISSING);
@@ -2729,7 +2729,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
i.gid_set = true;
}
- if (!isempty(mode) && !streq(mode, "-")) {
+ if (!empty_or_dash(mode)) {
const char *mm = mode;
unsigned m;
@@ -2749,7 +2749,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
} else
i.mode = IN_SET(i.type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY, CREATE_SUBVOLUME, CREATE_SUBVOLUME_INHERIT_QUOTA, CREATE_SUBVOLUME_NEW_QUOTA) ? 0755 : 0644;
- if (!isempty(age) && !streq(age, "-")) {
+ if (!empty_or_dash(age)) {
const char *a = age;
if (*a == '~') {
diff --git a/test/fuzz/fuzz-calendarspec/oss-fuzz-14108 b/test/fuzz/fuzz-calendarspec/oss-fuzz-14108
new file mode 100644
index 0000000000..6899c23a7e
--- /dev/null
+++ b/test/fuzz/fuzz-calendarspec/oss-fuzz-14108
@@ -0,0 +1 @@
+@67767992554749550 \ No newline at end of file
diff --git a/units/meson.build b/units/meson.build
index a53632cd9d..a5610506d5 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -104,6 +104,7 @@ units = [
'sockets.target.wants/'],
['systemd-udevd-kernel.socket', '',
'sockets.target.wants/'],
+ ['time-set.target', ''],
['time-sync.target', ''],
['timers.target', ''],
['tmp.mount', '',
diff --git a/units/systemd-timesyncd.service.in b/units/systemd-timesyncd.service.in
index 6512531e1c..2d8d14f6de 100644
--- a/units/systemd-timesyncd.service.in
+++ b/units/systemd-timesyncd.service.in
@@ -14,9 +14,9 @@ ConditionCapability=CAP_SYS_TIME
ConditionVirtualization=!container
DefaultDependencies=no
After=systemd-remount-fs.service systemd-sysusers.service
-Before=time-sync.target sysinit.target shutdown.target
+Before=time-set.target sysinit.target shutdown.target
Conflicts=shutdown.target
-Wants=time-sync.target
+Wants=time-set.target time-sync.target
[Service]
AmbientCapabilities=CAP_SYS_TIME
diff --git a/units/systemd-tmpfiles-clean.service.in b/units/systemd-tmpfiles-clean.service.in
index d1025afadb..9e2f04bfef 100644
--- a/units/systemd-tmpfiles-clean.service.in
+++ b/units/systemd-tmpfiles-clean.service.in
@@ -12,7 +12,7 @@ Description=Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Conflicts=shutdown.target
-After=local-fs.target time-sync.target
+After=local-fs.target time-set.target
Before=shutdown.target
[Service]
diff --git a/units/time-set.target b/units/time-set.target
new file mode 100644
index 0000000000..6b40033529
--- /dev/null
+++ b/units/time-set.target
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=System Time Set
+Documentation=man:systemd.special(7)
+RefuseManualStart=yes
diff --git a/units/time-sync.target b/units/time-sync.target
index 1533c7c33c..9106502e8b 100644
--- a/units/time-sync.target
+++ b/units/time-sync.target
@@ -11,3 +11,5 @@
Description=System Time Synchronized
Documentation=man:systemd.special(7)
RefuseManualStart=yes
+After=time-set.target
+Wants=time-set.target