]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 years agoudev: uaccess: remove ID_FFADO entry 19513/head
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
udev: uaccess: remove ID_FFADO entry

The ID_FFADO environment variable comes from external FFADO project.
Now we have comprehensive and self-contained rules instead of it.
Let's remove it.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: add entry for AV/C device with vendor unique command set
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: add entry for AV/C device with vendor unique command set

In IEC 61883-1:1998, we can see some values for AV/C device with vendor
unique command set in IEC 61883-1:1998. Current udev rule handles it
for video. However it brings an issue that the functions in AV/C device
are not distinguished just by the content of configuration ROM.

In former commit, hardware database was added to describe function type
of unit in the node, then udev rules are added to utilize the database.

However, we have an request to obsolete existent udev rules by putting
enough entries to the database. It should be done carefully.

This commit adds entry into hardware database just for backward
compatibility. The entry can match to some node and unit unexpectedly.
Therefore this commit modifies existent entries to invalidate the effect
from added entry.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: add entry for AV/C device with generic AV/C command set
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: add entry for AV/C device with generic AV/C command set

Typical node of AV/C device has standard content of configuration ROM.
This is defined in documentation of 1394 Trading Association.

 * Configuration ROM for AV/C Devices 1.0 (Dec. 12, 2000, 1394 Trading
   Association, TA Document 1999027)

However, it brings an issue that the functions in AV/C device are not
distinguished just by the content of configuration ROM.

In former commit, hardware database was added to describe function type
of unit in the node, then udev rules are added to utilize the database.

However, we have an request to obsolete existent udev rules by putting
enough entries to the database. It should be done carefully.

This commit adds entry into hardware database just for backward
compatibility. The entry can match to some node and unit unexpectedly.
Therefore this commit modifies existent entries to invalidate the effect
from added entry.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: remove entry for Cool Stream iSweet
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: remove entry for Cool Stream iSweet

IIDC specification describes configuration ROM without model field, thus
it's not possible to match any entry with vendor ID and model ID.
Current entry for Cool Stream iSweet can match any node and unit of
IIDC.

This commit removes the entry. I note that this model uses Texus
Instruments MC680-DCC as all-in-one chipset for video function in
IEEE 1394 bus.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: add entries for Point Grey cameras
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: add entries for Point Grey cameras

Point Grey Research, inc. shipped cameras to support IIDC, however some
of them are necessarily compliant to IIDC specification in terms of the
value of software version field in unit directory of configuration ROM.

This commit adds entries for them.

Reviewed-by: Damien Douxchamps <damien@douxchamps.net>
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: add IIDC generic entries
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: add IIDC generic entries

Instrumentation & Industrial Digital Camera (IIDC) specifications are
defined by 1394 Trading Association for camera device in IEEE 1394 bus.
IIDC2 specifications are defined by joint working group between Japan
Industrial Imaging Association (JIIA) and 1394 Trade Association as
bus-independent specification.

This commit adds entries for the specifications to remove existent udev
rules. Supported specifications are listed below:

 * 1394-based Digital Camera Specification Version 1.04 (Aug. 9, 1996,
   1394 Trading Association)
 * 1394-based Digital Camera Specification Version 1.20 (Jul. 23, 1998,
   1394 Trading Association)
 * IIDC Digital Camera Control Specification Ver.1.30 (Jul. 25, 2000,
   1394 Trading Association)
 * IIDC Digital Camera Control Specification Ver.1.31 (Feb. 2, 2004,
   1394 Trading Association, TA Document 2003017)
 * IIDC Digital Camera Control Specification Ver.1.32 (Jul. 24, 2008,
   1394 Trading Association, Document number 2007009)
 * IIDC2 Digital Camera Control Specification Ver.1.0.0 (Jan 26th, 2012,
   1394 Trading Association, TS2011001)
 * IIDC2 Digital Camera Control Specification Ver.1.1.0 (May 19th, 2015,
   1394 Trading Association, TS2015001)

Reviewed-by: Damien Douxchamps <damien@douxchamps.net>
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: add entries for Digital Everywhere FloppyDTV and FireDTV
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: add entries for Digital Everywhere FloppyDTV and FireDTV

Linux kernel has firedtv kernel module as driver for Digital Everywhere
FloppyDTV and FireDTV. Although this driver works without any help of
userspace application, it's better to add entries to hardware database
for developer's convenience.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: ieee1394-unit-function: fix indentation
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: ieee1394-unit-function: fix indentation

Zbigniew Jędrzejewski-Szmek points that current entries are against the
convention of indentation. It should be indented by one space instead of
two.

This commit fixes current entries according to it.

Reported-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fixes: 1b6d9a05b14a ("hwdb: add database entries for models with ASICs in BeBoB solution")
Fixes: 0db0564e957f ("hwdb: add database entries for models with Fireworks board module")
Fixes: 38338b302cb0 ("hwdb: add database entries for models with OXFW970/971 ASICs")
Fixes: c0d8b61f9385 ("hwdb: add database entries for models based on DICE ASICs with TCAT specification")
Fixes: a774b5099bce ("hwdb: add database entries for models based on DICE ASICs specialized to M-Audio")
Fixes: ff1cb7b9393a ("hwdb: add database entries for models based on DICE ASICs specialized to Weiss Engineering")
Fixes: 6f44dddbe20a ("hwdb: add database entries for models based on DICE ASICs specialized by Loud Technologies")
Fixes: 49ed0aad525b ("hwdb: add database entries for models based on DICE ASICs specialized by Harman Music Group")
Fixes: effbb4024b8b ("hwdb: add database entries for models based on DICE ASICs specialized by Solid State Logic")
Fixes: 4aaa093b5fb6 ("hwdb: add database entries for models of Digidesign Digi 00x family")
Fixes: c489e7f9d3c4 ("hwdb: add database entries for Tascam FireWire series")
Fixes: 650b8967a57b ("hwdb: add database entries for MOTU FireWire series")
Fixes: 51e9242b9b91 ("hwdb: add database entries for RME Fireface series")
Fixes: a90a6a9ae9f8 ("hwdb: add database entries for Yamaha mLAN 2nd generation")
Fixes: 41f2d0d393a4 ("hwdb: add database entries for Yamaha mLAN 3rd generation")
Fixes: 1d2ee962922f ("hwdb: add database entries for Focusrite Liquid Mix series")
Fixes: 0c20543835d6 ("hwdb: add database entries for TC Electronic PowerCore FireWire series")
Fixes: 8b4b76dc5021 ("hwdb: add database entry for node with single unit with video function")
Fixes: 12dd2404bee8 ("hwdb: add database entries for node with multiple units")
Fixes: dece0357e1c8 ("hwdb: add database entries for node with single unit for multiple functions")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agohwdb: fix parser to execute test for ieee1394-unit-function with no argument
Takashi Sakamoto [Wed, 5 May 2021 14:10:29 +0000 (23:10 +0900)] 
hwdb: fix parser to execute test for ieee1394-unit-function with no argument

When given no arguments, hwdb parser script seeks test target files by
glob pattern. Although I added a new file for IEEE 1394 unit functions,
the file is excluded as test target due to the pattern.

This commit fixes it.

Fixes: 7713f3fc6a2 ("hwdb: add parser grammar for IEEE 1394 unit function list")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
4 years agoMerge pull request #19454 from keszybz/assorted-cleanups
Zbigniew Jędrzejewski-Szmek [Wed, 5 May 2021 09:06:33 +0000 (11:06 +0200)] 
Merge pull request #19454 from keszybz/assorted-cleanups

Assorted cleanups

4 years agotests: use "H" as the hostname
Zbigniew Jędrzejewski-Szmek [Tue, 4 May 2021 11:54:33 +0000 (13:54 +0200)] 
tests: use "H" as the hostname

"systemd-testsuite" gets in the way when grepping for "testsuite-*.sh".
Also, the name doesn't matter for anything, so let's just use something
very short to save space.

4 years agohostnamectl: fix hyperlink in "Operating System" field
Yu Watanabe [Tue, 4 May 2021 09:00:12 +0000 (18:00 +0900)] 
hostnamectl: fix hyperlink in "Operating System" field

This fixes a bug introduced by 822be62fb23ed0ec1062ffd18057e53f6c2f8c01.

Before this, if terminal width is not enough, the all subsequent lines
are included in the hyperlink.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1955475.

4 years agotree-wide: fix typo
Yu Watanabe [Tue, 4 May 2021 11:16:12 +0000 (20:16 +0900)] 
tree-wide: fix typo

4 years agocore/automount: drop unecessary cast 19454/head
Zbigniew Jędrzejewski-Szmek [Mon, 26 Apr 2021 21:54:32 +0000 (23:54 +0200)] 
core/automount: drop unecessary cast

4 years agocore/cgroup: remove some unnecessary variables
Zbigniew Jędrzejewski-Szmek [Mon, 26 Apr 2021 21:53:07 +0000 (23:53 +0200)] 
core/cgroup: remove some unnecessary variables

4 years agobasic/log: directly initialize iovec arrays
Zbigniew Jędrzejewski-Szmek [Mon, 26 Apr 2021 21:52:10 +0000 (23:52 +0200)] 
basic/log: directly initialize iovec arrays

It doesn't change much, but removes a bunch of explicit size and index handling
and unnecessary initializations.

4 years agobasic/io-util: move iterator variable declarations into loop headers
Zbigniew Jędrzejewski-Szmek [Mon, 26 Apr 2021 21:30:45 +0000 (23:30 +0200)] 
basic/io-util: move iterator variable declarations into loop headers

4 years agoresolved: directly initialize iovec array
Zbigniew Jędrzejewski-Szmek [Tue, 4 May 2021 12:49:47 +0000 (14:49 +0200)] 
resolved: directly initialize iovec array

4 years agobasic/io-util: invert return value from IOVEC_INCREMENT()
Zbigniew Jędrzejewski-Szmek [Mon, 26 Apr 2021 21:30:26 +0000 (23:30 +0200)] 
basic/io-util: invert return value from IOVEC_INCREMENT()

We would try to return a value that could be nonzero only if the kernel
reported writing more bytes than we gave to it, hopefully a rare occurence.
Instead, assert that this doesn't happen.

Instead, return true if we got to the end of the iovec array. The caller
can use this information to know that the whole iovec array was written.
This allows one loop to be dropped in write_to_syslog().

Also drop _unlikely_: this function is called with very short arrays, and
it *is* likely that we trigger this condition. Let's just let the compiler
generate normal code without giving it a potentially false hint.

4 years agocore: remove spurious % in dump string
Zbigniew Jędrzejewski-Szmek [Wed, 7 Apr 2021 08:52:30 +0000 (10:52 +0200)] 
core: remove spurious % in dump string

4 years agocore/cgroup: use assert_se() more
Zbigniew Jędrzejewski-Szmek [Wed, 7 Apr 2021 08:29:39 +0000 (10:29 +0200)] 
core/cgroup: use assert_se() more

4 years agocore: minor simplification
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2021 20:29:00 +0000 (21:29 +0100)] 
core: minor simplification

4 years agomeson: make one check shorter
Zbigniew Jędrzejewski-Szmek [Fri, 23 Apr 2021 12:20:14 +0000 (14:20 +0200)] 
meson: make one check shorter

4 years agoAdd correct rotation support for Mediacom Winpad 7.0 W700
imayoda [Mon, 3 May 2021 02:02:08 +0000 (04:02 +0200)] 
Add correct rotation support for Mediacom Winpad 7.0 W700

this patch enables correct bios detection and matrix for the aforementioned tiny tablet (touchscreen support commit pending now in kernel)
thnx

4 years agohostnamectl: deprecate set-* methods and expose getters by only using nouns in commands
Jakub Warczarek [Fri, 23 Apr 2021 18:41:45 +0000 (18:41 +0000)] 
hostnamectl: deprecate set-* methods and expose getters by only using nouns in commands

4 years agocore: apply LogLevelMax to messages about units
Ryan Hendrickson [Fri, 30 Apr 2021 16:47:10 +0000 (12:47 -0400)] 
core: apply LogLevelMax to messages about units

This commit applies the filtering imposed by LogLevelMax on a unit's
processes to messages logged by PID1 about the unit as well.

The target use case for this feature is a service that runs on a timer
many times an hour, where the system administrator decides that writing
a generic success message to the journal every few minutes or seconds
adds no diagnostic value and isn't worth the clutter or disk I/O.

4 years agoMerge pull request #19403 from nmeyerhans/dmi-entries
Lennart Poettering [Mon, 3 May 2021 15:48:13 +0000 (17:48 +0200)] 
Merge pull request #19403 from nmeyerhans/dmi-entries

virt: differentiate Amazon EC2 bare-metal from VM instances using SMBIOS data

4 years agoDocument the need to do journalctl --flush for persistent logging (#19481)
Luca Adrian L [Mon, 3 May 2021 15:08:25 +0000 (17:08 +0200)] 
Document the need to do journalctl --flush for persistent logging (#19481)

Document the need to do journalctl --flush for persistent logging. (fixes #19480)

Co-authored-by: Luca Lindhorst <l.lindhorst@wut.de>
4 years agoRevert "sysusers/firstboot: temporarily disable LoadCredential"
Luca Boccassi [Sun, 2 May 2021 15:05:48 +0000 (16:05 +0100)] 
Revert "sysusers/firstboot: temporarily disable LoadCredential"

This reverts commit 7c20dd4b6ef6e69862576722ac69b895d7a92dc9.

Debian has now been updated to patch the issue, so SemaphoreCI should
no longer fail. The fix has also been backported to the affected
stable branches.

4 years agoMerge pull request #19487 from mrc0mmand/test-all-services-in-TEST-01
Yu Watanabe [Mon, 3 May 2021 03:15:29 +0000 (12:15 +0900)] 
Merge pull request #19487 from mrc0mmand/test-all-services-in-TEST-01

test: don't mask "supporting" services in TEST-01-BASIC

4 years agotest: fix a yet another pipefail + pipe race
Frantisek Sumsal [Fri, 30 Apr 2021 11:26:54 +0000 (13:26 +0200)] 
test: fix a yet another pipefail + pipe race

Basically the same scenario as in
a33e2692e162671f0d97856ad2f49a2620a1ec10, where `awk` exits as soon
as it finds a match, thus sending SIGPIPE to `ldd` if it's not fast
enough. That, in combination with `set -o pipefail` causes random &
unexpected fails, like:

```
No journal files were found.
-rw-r----- 1 root root 16777216 Apr 30 10:31
/var/tmp/TEST-01-BASIC_sanitizers-nspawn/system.journal
TEST-01-BASIC RUN: Basic systemd setup [OK]
systemd is not linked against the ASan DSO
gcc does this by default, for clang compile with -shared-libasan
make: *** [Makefile:2: clean-again] Error 1
make: Leaving directory '/build/test/TEST-01-BASIC'
```

4 years agoMerge pull request #19476 from yuwata/network-can
Yu Watanabe [Sat, 1 May 2021 06:03:22 +0000 (15:03 +0900)] 
Merge pull request #19476 from yuwata/network-can

network: several CAN device related updates

4 years agoMerge pull request #18904 from yuwata/udev-watch
Yu Watanabe [Sat, 1 May 2021 06:02:43 +0000 (15:02 +0900)] 
Merge pull request #18904 from yuwata/udev-watch

udev: several inotify watch fixups

4 years agotest: explicitly pull resolved/networkd in TEST-01-BASIC 19487/head
Frantisek Sumsal [Fri, 30 Apr 2021 19:04:15 +0000 (21:04 +0200)] 
test: explicitly pull resolved/networkd in TEST-01-BASIC

to give them at least a basic coverage.

4 years agoUse BIOS characteristics to distinguish EC2 bare-metal from VMs 19403/head
Noah Meyerhans [Fri, 30 Apr 2021 16:30:52 +0000 (09:30 -0700)] 
Use BIOS characteristics to distinguish EC2 bare-metal from VMs

DMI vendor information fields do not provide enough information for us to
distinguish between Amazon EC2 virtual machines and bare-metal instances.
SMBIOS provides a BIOS Information
table (https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.4.0.pdf
Ch. 7) that provides a field to indicate that the current machine is a virtual
machine.  On EC2 virtual machine instances, this field is set, while bare-metal
instances leave this unset, so we inspect the field via the kernel's
/sys/firemware/dmi/entries interface.

Fixes #18929

4 years agomachine-id-setup: generate machine-id from DMI product ID on Amazon EC2
Bertrand Jacquin [Sun, 11 Oct 2020 21:25:56 +0000 (22:25 +0100)] 
machine-id-setup: generate machine-id from DMI product ID on Amazon EC2

Amazon EC2 Nitro hypervisor is technically based on KVM[1].

[1] https://aws.amazon.com/ec2/faqs/

4 years agotest: don't mask "supporting" services in TEST-01-BASIC
Frantisek Sumsal [Fri, 30 Apr 2021 19:02:41 +0000 (21:02 +0200)] 
test: don't mask "supporting" services in TEST-01-BASIC

This got lost during one of the code de-duplication attempts.

4 years agovirt: detect Amazon EC2 Nitro instance
Bertrand Jacquin [Sun, 11 Oct 2020 20:25:00 +0000 (21:25 +0100)] 
virt: detect Amazon EC2 Nitro instance

Amazon EC2 Nitro hypervisor is technically based on KVM[1], which
systemd-detect-virt identify propely from CPUID. However the lack of
CPUID on aarch64 (A1, T4 instance type) prevents a correct
identification, impacting hostnamectl and systemd-random-seed. Instead
it's possible to identify virtualization from DMI vendor ID.

Prior to this commit:
  # hostnamectl
     Static hostname: n/a
  Transient hostname: ip-10-97-8-12
           Icon name: computer
          Machine ID: 8e3772fbcfa3dd6f330a12ff5df5a63b
             Boot ID: b7b7e2fe0079448db664839df59f9817
    Operating System: Gentoo/Linux
              Kernel: Linux 5.4.69-longterm
        Architecture: arm64

After this commit:
  # hostnamectl
     Static hostname: n/a
  Transient hostname: ip-10-97-8-12
           Icon name: computer-vm
             Chassis: vm
          Machine ID: 8e3772fbcfa3dd6f330a12ff5df5a63b
             Boot ID: bd04da57084e41078f20541101867113
      Virtualization: amazon
    Operating System: Gentoo/Linux
              Kernel: Linux 5.4.69-longterm
        Architecture: arm64

[1] https://aws.amazon.com/ec2/faqs/

4 years agosd-bus: fix vtable named argument logic
Yu Watanabe [Thu, 29 Apr 2021 19:00:02 +0000 (04:00 +0900)] 
sd-bus: fix vtable named argument logic

Fixes #19468.

4 years agotest: add a simple test for udev watch 18904/head
Yu Watanabe [Sun, 7 Mar 2021 20:21:45 +0000 (05:21 +0900)] 
test: add a simple test for udev watch

4 years agotest: generate debugging logs for udev tests
Yu Watanabe [Sun, 7 Mar 2021 05:18:07 +0000 (14:18 +0900)] 
test: generate debugging logs for udev tests

4 years agotest: run udev tests after currently queued events are finished
Yu Watanabe [Wed, 10 Mar 2021 15:33:03 +0000 (00:33 +0900)] 
test: run udev tests after currently queued events are finished

4 years agoudev,sd_device: also save map from device ID to watch handle in /run/udev/watch
Yu Watanabe [Sun, 7 Mar 2021 06:35:33 +0000 (15:35 +0900)] 
udev,sd_device: also save map from device ID to watch handle in /run/udev/watch

Previously, watch handle is saved in the udev databse. But in most cases,
the handle saved in the database is not updated. Especially, when udevd
is restarted, the inotify watch is restarted, but the database is not
updated.

Moreover, it is not necessary to save watch handle in the database, as
the handle is only take a effect during udevd is running, and the value
is meaningless when udevd is restarted.

So, this makes the opposite map from device ID to watch handle is saved
in /run/udev/watch as a symbolic link, and the handle not saved in the
database anymore.

Fixes #18525.

4 years agoudev: make udev_watch_end() noop when device does not have devname
Yu Watanabe [Thu, 11 Mar 2021 10:41:52 +0000 (19:41 +0900)] 
udev: make udev_watch_end() noop when device does not have devname

4 years agosd-device: cleanup sd_device_get_subsystem()
Yu Watanabe [Tue, 9 Mar 2021 06:27:35 +0000 (15:27 +0900)] 
sd-device: cleanup sd_device_get_subsystem()

4 years agosd-device: drop sysname_set flag
Yu Watanabe [Tue, 9 Mar 2021 05:31:39 +0000 (14:31 +0900)] 
sd-device: drop sysname_set flag

When device_set_sysname() succeeds, sysname is always set.

4 years agosd-device: minor optimization for sd_device_new_from_device_id()
Yu Watanabe [Sun, 7 Mar 2021 06:24:15 +0000 (15:24 +0900)] 
sd-device: minor optimization for sd_device_new_from_device_id()

4 years agosd-device: check the validity of device id
Yu Watanabe [Tue, 9 Mar 2021 07:11:52 +0000 (16:11 +0900)] 
sd-device: check the validity of device id

The device id is used as filename under /run/udev/data or
/run/udev/watch.

4 years agosd-device: rename device_get_id_filename() -> device_get_device_id()
Yu Watanabe [Sun, 7 Mar 2021 06:07:51 +0000 (15:07 +0900)] 
sd-device: rename device_get_id_filename() -> device_get_device_id()

We have sd_device_new_from_device_id(), which takes device ID generated
from device_get_id_filename(). For consistency, let's rename the
function.

4 years agoudev: refuse to enable inotify watch on remove event
Yu Watanabe [Sat, 6 Mar 2021 11:45:17 +0000 (20:45 +0900)] 
udev: refuse to enable inotify watch on remove event

Some udev rule may erroneously set inotify watch on remove event.
For safety, silently ignore such an inotify watch enablement.

This also moves inotify watch enablement code to udev-event.c.

4 years agoudev: also propagate error in udev_rules_apply_to_event() on remove event
Yu Watanabe [Sat, 6 Mar 2021 08:02:11 +0000 (17:02 +0900)] 
udev: also propagate error in udev_rules_apply_to_event() on remove event

When udev rules are not applied correctly, then run program lists is
not perfect. So, udev_event_execute_run() later in
worker_process_device() should not be called.

4 years agoudev: shorten code a bit
Yu Watanabe [Sat, 6 Mar 2021 12:16:59 +0000 (21:16 +0900)] 
udev: shorten code a bit

4 years agoudev: drop unused variable
Yu Watanabe [Sat, 6 Mar 2021 07:57:51 +0000 (16:57 +0900)] 
udev: drop unused variable

4 years agosd-device: drop doubled empty lines
Yu Watanabe [Sat, 6 Mar 2021 07:51:26 +0000 (16:51 +0900)] 
sd-device: drop doubled empty lines

4 years agoudev: do not store inotify fd in a global variable
Yu Watanabe [Sat, 6 Mar 2021 07:09:23 +0000 (16:09 +0900)] 
udev: do not store inotify fd in a global variable

When manager_exit() or manager_free() is called, the global variable in
udev-watch.c is not set '-1'. Of course, that is safe, as the event source
for the inotify fd is unref()ed in manager_exit() and manager_free().
But let's not store fd globally.

4 years agonetwork: do not bring up CAN interface on configure 19476/head
Yu Watanabe [Thu, 29 Apr 2021 23:10:36 +0000 (08:10 +0900)] 
network: do not bring up CAN interface on configure

4 years agonetwork: make CAN device follow activation policy
Yu Watanabe [Thu, 29 Apr 2021 22:03:13 +0000 (07:03 +0900)] 
network: make CAN device follow activation policy

4 years agonetwork: introduce link_activate()
Yu Watanabe [Thu, 29 Apr 2021 23:08:23 +0000 (08:08 +0900)] 
network: introduce link_activate()

4 years agonetwork: do not try to configure address or etc on can device
Yu Watanabe [Thu, 29 Apr 2021 22:10:34 +0000 (07:10 +0900)] 
network: do not try to configure address or etc on can device

4 years agonetwork: can: shorten code a bit
Yu Watanabe [Thu, 29 Apr 2021 22:06:28 +0000 (07:06 +0900)] 
network: can: shorten code a bit

4 years agonetwork: can: do not warn if link does not exist anymore
Yu Watanabe [Thu, 29 Apr 2021 22:00:45 +0000 (07:00 +0900)] 
network: can: do not warn if link does not exist anymore

4 years agonetwork: drop duplicated link_up_can()
Yu Watanabe [Thu, 29 Apr 2021 21:57:15 +0000 (06:57 +0900)] 
network: drop duplicated link_up_can()

4 years agoClarify that these values are in bytes
Steve Bonds [Thu, 25 Mar 2021 14:40:39 +0000 (07:40 -0700)] 
Clarify that these values are in bytes

Similar to `ProcessSizeMax`. The defaults in percentages can be misunderstood to mean the values for these parameters will be in percentages.

4 years agotest-network: set DNS= and NTP= for DHCP server
Yu Watanabe [Thu, 29 Apr 2021 20:14:24 +0000 (05:14 +0900)] 
test-network: set DNS= and NTP= for DHCP server

Now, RoutesToDNS= and RoutesToNTP= are enabled by default on DHCPv4
client. So, if DHCP server picks up DNS or NTP servers from uplink,
then the routes may break CI environment.

Hopefully fixes #19463.

4 years agoman: importd also provides the option of import-fs for machinectl (#19477)
syyhao1994 [Fri, 30 Apr 2021 07:55:50 +0000 (15:55 +0800)] 
man: importd also provides the option of import-fs for machinectl (#19477)

4 years agokernel-insteall: do not remove the first slash in $ENTRY_DIR
Yu Watanabe [Wed, 28 Apr 2021 18:07:47 +0000 (03:07 +0900)] 
kernel-insteall: do not remove the first slash in $ENTRY_DIR

Follow-up for cd0d230e7bf87f979722de7e364619dfa71bd6a2.

Fixes #19456.

4 years agoMerge pull request #19459 from yuwata/network-log-neighbor
Yu Watanabe [Fri, 30 Apr 2021 06:36:29 +0000 (15:36 +0900)] 
Merge pull request #19459 from yuwata/network-log-neighbor

network: introduce log_neighbor_debug()

4 years agonetwork: neighbor: use sd_netlink_message_read_data() at one more place 19459/head
Yu Watanabe [Thu, 29 Apr 2021 06:59:41 +0000 (15:59 +0900)] 
network: neighbor: use sd_netlink_message_read_data() at one more place

4 years agonetwork: introduce log_neighbor_debug()
Yu Watanabe [Thu, 29 Apr 2021 06:49:21 +0000 (15:49 +0900)] 
network: introduce log_neighbor_debug()

4 years agonetwork: reduce indentation in log_address_debug() or friends
Yu Watanabe [Thu, 29 Apr 2021 20:43:22 +0000 (05:43 +0900)] 
network: reduce indentation in log_address_debug() or friends

4 years agoether-addr-util: introduce ether_addr_to_string_alloc()
Yu Watanabe [Thu, 29 Apr 2021 06:35:47 +0000 (15:35 +0900)] 
ether-addr-util: introduce ether_addr_to_string_alloc()

4 years agosystemd-coredump: Add conflict with shutdown.target
Alexander Sverdlin [Sun, 18 Apr 2021 23:53:45 +0000 (01:53 +0200)] 
systemd-coredump: Add conflict with shutdown.target

Otherwise a coredump started at the inconvinient moment can stop
shutdown.target leaving the system in a halfway-down state:

Pulling in shutdown.target/start from systemd-poweroff.service/start
Added job shutdown.target/start to transaction.
...
Keeping job shutdown.target/start because of systemd-poweroff.service/start
...
[  OK  ] Stopped target Remote File Systems.
shutdown.target: starting held back, waiting for: systemd-networkd.socket
sysinit.target: stopping held back, waiting for: remount_tmp.service
systemd-coredump.socket: Incoming traffic
...
systemd-coredump@0-243-0.service: Trying to enqueue job systemd-coredump@0-243-0.service/start/replace
Added job systemd-coredump@0-243-0.service/start to transaction.
Pulling in systemd-journald.socket/start from systemd-coredump@0-243-0.service/start
Added job systemd-journald.socket/start to transaction.
Pulling in system.slice/start from systemd-journald.socket/start
Added job system.slice/start to transaction.
Pulling in -.slice/start from system.slice/start
Added job -.slice/start to transaction.
Pulling in system-systemd\x2dcoredump.slice/start from systemd-coredump@0-243-0.service/start
Added job system-systemd\x2dcoredump.slice/start to transaction.
Pulling in system.slice/start from system-systemd\x2dcoredump.slice/start
Pulling in shutdown.target/stop from system-systemd\x2dcoredump.slice/start
Added job shutdown.target/stop to transaction.
...
Keeping job systemd-poweroff.service/stop because of umount.target/stop
Keeping job shutdown.target/stop because of systemd-coredump@0-243-0.service/start

4 years agoMerge pull request #19458 from yuwata/network-route-remove
Lennart Poettering [Thu, 29 Apr 2021 19:39:30 +0000 (21:39 +0200)] 
Merge pull request #19458 from yuwata/network-route-remove

network: fix route removal logic a bit

4 years agoudev: allow onboard index up to 65535
Viktor Mihajlovski [Tue, 27 Apr 2021 13:25:16 +0000 (15:25 +0200)] 
udev: allow onboard index up to 65535

The maximum allowed value of the sysfs device index entry was limited to
16383 (2^14-1) to avoid the generation of unreasonable onboard interface
names.
For s390 the index can assume a value of up to 65535 (2^16-1) which is
now allowed depending on the new naming flag NAMING_16BIT_INDEX.
Larger index values are considered unreasonable and remain to be
ignored.

4 years agoMerge pull request #19451 from poettering/hostnamed-json
Lennart Poettering [Thu, 29 Apr 2021 19:37:52 +0000 (21:37 +0200)] 
Merge pull request #19451 from poettering/hostnamed-json

hostnamed: add JSON output to hostnamectl

4 years agoman: document new dbus method 19451/head
Lennart Poettering [Wed, 28 Apr 2021 13:59:13 +0000 (15:59 +0200)] 
man: document new dbus method

4 years agohostnamectl: add --json= switch for JSON output
Lennart Poettering [Thu, 29 Apr 2021 09:29:46 +0000 (11:29 +0200)] 
hostnamectl: add --json= switch for JSON output

This wraps the new Describe() bus call of hostnamed.

4 years agohostnamed: add Describe() call to hostnamed, returning all props a JSON
Lennart Poettering [Thu, 29 Apr 2021 09:29:54 +0000 (11:29 +0200)] 
hostnamed: add Describe() call to hostnamed, returning all props a JSON

4 years agohostnamed: drop unused enums
Lennart Poettering [Wed, 28 Apr 2021 13:33:14 +0000 (15:33 +0200)] 
hostnamed: drop unused enums

4 years agohostnamed: split out how we determine the hostname a bit
Lennart Poettering [Wed, 28 Apr 2021 13:28:53 +0000 (15:28 +0200)] 
hostnamed: split out how we determine the hostname a bit

No changes in code, just some splitting out of code we want to use
elsewhere soon.

4 years agohostnamed: refactor vendor/model querying a bit, reuse function
Lennart Poettering [Wed, 28 Apr 2021 13:11:54 +0000 (15:11 +0200)] 
hostnamed: refactor vendor/model querying a bit, reuse function

4 years agohostnamed: use byte array when we need a byte array
Lennart Poettering [Wed, 28 Apr 2021 12:33:19 +0000 (14:33 +0200)] 
hostnamed: use byte array when we need a byte array

it's more corect this way, but shouldn#t change a thing binary-wise

4 years agohostnamed: retrieve product UUID after authentication, not before
Lennart Poettering [Wed, 28 Apr 2021 12:32:49 +0000 (14:32 +0200)] 
hostnamed: retrieve product UUID after authentication, not before

4 years agoid128-util: use common implementation of helper to get/validate product ID
Lennart Poettering [Wed, 28 Apr 2021 12:15:36 +0000 (14:15 +0200)] 
id128-util: use common implementation of helper to get/validate product ID

4 years agonetwork: do not set nexthop ID, gateway, and multipath routes simultaneously 19458/head
Yu Watanabe [Thu, 29 Apr 2021 11:58:10 +0000 (20:58 +0900)] 
network: do not set nexthop ID, gateway, and multipath routes simultaneously

See kernel's rtm_to_fib_config() in net/ipv4/fib_frontend.c and
rtm_to_fib6_config() in net/ipv6/route.c.

Note that if both gateway and multipath routes are specified, then
kernel ignores gateway. So, strictly speaking, setting both gateway and
multipath routes is allowed by kernel. But such situation is mostly
user's misconfiguration. Let's refuse it.

Note that the conditions newly added in route_configure() are redundant,
as all static configurations are already verified in
route_section_verify(), and dynamic configurations do not set
nexthop_id or multipath routes. Just for safety.

4 years agoset boot time from monotonic time (#19444)
caoxia2008cxx [Thu, 29 Apr 2021 09:05:01 +0000 (17:05 +0800)] 
set boot time from monotonic time (#19444)

utmp: calculate boot timestamp from monotonic timestamp instead of realtime timestamp

4 years agonetwork: do not remove reject type routes more than once
Yu Watanabe [Wed, 28 Apr 2021 17:42:42 +0000 (02:42 +0900)] 
network: do not remove reject type routes more than once

Usually, removing non-existing addresses, routes, and etc, are safe.
However, when multiple interfaces lost their carriers simultaneously,
then manager_drop_routes() and manager_drop_nexthop() are called multiple
times. If a route with a blackhole nexthop is removed in that process,
the later removal requests of the route fail with -EINVAL, rathar
than -ESRCH, as the corresponding nexthop does not exist anymore.

So, let's not remove routes which managed by Manager more than once.

4 years agonetwork: do not set route type on specific route removal
Yu Watanabe [Wed, 28 Apr 2021 17:34:17 +0000 (02:34 +0900)] 
network: do not set route type on specific route removal

4 years agonetwork: unify log_link_message_full_errno() and log_message_warning_errno()
Yu Watanabe [Wed, 28 Apr 2021 16:17:36 +0000 (01:17 +0900)] 
network: unify log_link_message_full_errno() and log_message_warning_errno()

This also introduces log_message_error_errno() or friends.

4 years agonetwork: dhcp4: downgrade log level when interface is removed
Yu Watanabe [Wed, 28 Apr 2021 15:07:09 +0000 (00:07 +0900)] 
network: dhcp4: downgrade log level when interface is removed

4 years agonetwork: drop meaningless bitfield specifiers
Yu Watanabe [Mon, 26 Apr 2021 14:55:09 +0000 (23:55 +0900)] 
network: drop meaningless bitfield specifiers

4 years agoMerge pull request #19449 from yuwata/network-downgrade-log-level
Yu Watanabe [Wed, 28 Apr 2021 23:54:08 +0000 (08:54 +0900)] 
Merge pull request #19449 from yuwata/network-downgrade-log-level

network: downgrade log level and fix typo

4 years agonetwork: ndisc: fix ipv6 route preference for routes with Gateway=_ipv6ra 19449/head
Yu Watanabe [Wed, 28 Apr 2021 13:26:48 +0000 (22:26 +0900)] 
network: ndisc: fix ipv6 route preference for routes with Gateway=_ipv6ra

4 years agoMerge pull request #19374 from yuwata/network-dhcp-routes-to-ntp
Lennart Poettering [Wed, 28 Apr 2021 20:47:21 +0000 (22:47 +0200)] 
Merge pull request #19374 from yuwata/network-dhcp-routes-to-ntp

network: dhcp4: introduce RoutesToNTP= boolean setting

4 years agoMerge pull request #19441 from keszybz/riscv-syscall-lists
Lennart Poettering [Wed, 28 Apr 2021 19:17:43 +0000 (21:17 +0200)] 
Merge pull request #19441 from keszybz/riscv-syscall-lists

Add syscall list for riscv

4 years agonetwork: neighbor: downgrade log level
Yu Watanabe [Wed, 28 Apr 2021 13:18:45 +0000 (22:18 +0900)] 
network: neighbor: downgrade log level

As commented in the code, kernel sends messages about neighbors after
a link is removed.

4 years agonetwork: link: downgrade log level
Yu Watanabe [Wed, 28 Apr 2021 13:17:39 +0000 (22:17 +0900)] 
network: link: downgrade log level

The error is harmless, and will be ignored. Let's downgrade log level.

4 years agonetwork: dhcp4: downgrade log level
Yu Watanabe [Wed, 28 Apr 2021 13:15:40 +0000 (22:15 +0900)] 
network: dhcp4: downgrade log level

It is not necessary to log such information on higher level.

4 years agosystemctl: fix build failure
Yu Watanabe [Wed, 28 Apr 2021 15:47:39 +0000 (00:47 +0900)] 
systemctl: fix build failure

Follow-up for 255b1fc8a3055a7d59946a0fc483ee3885740398.

4 years agobus-print-property: introduce BusPrintPropertyFlags
Yu Watanabe [Tue, 27 Apr 2021 05:22:34 +0000 (14:22 +0900)] 
bus-print-property: introduce BusPrintPropertyFlags

Follow-ups for 1ceaad69378272c64da4ecaab0d59ebb7a92ca0a.