Commit Graph

39603 Commits

Author SHA1 Message Date
Jan Janssen
3a4e4fface tree-wide: Use devnum helpers in a few more places 2022-09-01 00:55:37 +09:00
Lennart Poettering
18f806b8d9 test: don't mistake error for success
Follow-up for acd3c86624
2022-09-01 00:54:28 +09:00
Lennart Poettering
7fd0fb02a1 condition: properly handle fnmatch() errors in ConditionHost 2022-08-31 17:31:28 +02:00
Lennart Poettering
6eeadaa141 path-util: return error if fnmatch() fails 2022-08-31 17:31:11 +02:00
Lennart Poettering
8812f8fc65 hashmap: add comment explaining that set_fnmatch() handles fnmatch() errors as non-matches 2022-08-31 15:13:42 +02:00
Jan Janssen
f996072fe0 tree-wide: Fix field width specifier warnings
The casting here isn't pretty, but at least it makes it obvious what is
happening instead of implicit and it allows enabling -Wformat-signedness.
2022-08-30 12:03:33 +02:00
Jan Janssen
5570a09702 tree-wide: Fix format specifier warnings for %x
Unfortunately, hex output can only be produced with unsigned types. Some
cases can be fixed by producing the correct type, but a few simply have
to be cast. At least casting makes it explicit.
2022-08-30 12:03:33 +02:00
Jan Janssen
2676befc73 tree-wide: Fix a some remaining format warnings by casting 2022-08-30 12:03:33 +02:00
Jan Janssen
63b9838639 tree-wide: Mark some constants as unsigned
All these are really unsigned and used as such. This silences some
-Wformat-signedness warnings with gcc.
2022-08-30 12:03:33 +02:00
Jan Janssen
1dbab956ba journal: Show grcrypt error message instead of a raw code 2022-08-30 12:03:33 +02:00
Jan Janssen
9cf6c94eba efivars: Parse into unsigned
The format specifiers for UUID parsing use %x, which expects unsigned.
2022-08-30 12:03:33 +02:00
Jan Janssen
c0f86d66f3 tree-wide: Use correct format specifiers
gcc will complain about all these with -Wformat-signedness.
2022-08-30 12:03:28 +02:00
Yu Watanabe
125d108665 Merge pull request #24474 from yuwata/udevadm-settle-cleanups
udevadm-settle: several cleanups
2022-08-30 07:31:20 +09:00
Yu Watanabe
7078299658 Merge pull request #24471 from yuwata/udevadm-wait-periodic-timer
udevadm-wait: introduce periodic timer for checking devices
2022-08-30 07:31:05 +09:00
Yu Watanabe
69a20cc3e4 Merge pull request #23888 from topimiettinen/networkd-netlabel-v2
network: NetLabel integration
2022-08-30 07:30:49 +09:00
Lennart Poettering
4bede0a0aa homed: don't use stat() data from an unrelated inode
This doesn't really change anything, since we know the stat data used
here also contains S_IFBLK, but it's frickin' confusing.
2022-08-30 01:13:58 +09:00
Yu Watanabe
3c82f2028d Merge pull request #24495 from poettering/loopback-block-msg
improve loopback warning message
2022-08-30 01:10:43 +09:00
Lennart Poettering
bcfc0e8872 strv: modernize strv_fnmatch() a bit 2022-08-30 01:09:12 +09:00
Lennart Poettering
b3d6f70692 loopback: use ERRNO_IS_PRIVILEGE() where appropriate 2022-08-29 15:15:08 +02:00
Lennart Poettering
9d72a3cf70 loop: make 'Failed to configure loopback device' log message clearer
We print the very same log message for loopback block devices and for
loopback network devices. Let's better be clear what kind it is.
2022-08-29 15:15:08 +02:00
Topi Miettinen
4b3590c324 network: NetLabel integration
New directive `NetLabel=` provides a method for integrating static and dynamic
network configuration into Linux NetLabel subsystem rules, used by Linux
Security Modules (LSMs) for network access control. The label, with suitable
LSM rules, can be used to control connectivity of (for example) a service with
peers in the local network. At least with SELinux, only the ingress can be
controlled but not egress. The benefit of using this setting is that it may be
possible to apply interface independent part of NetLabel configuration at very
early stage of system boot sequence, at the time when the network interfaces
are not available yet, with netlabelctl(8), and the per-interface configuration
with systemd-networkd once the interfaces appear later.  Currently this feature
is only implemented for SELinux.

The option expects a single NetLabel label. The label must conform to lexical
restrictions of LSM labels. When an interface is configured with IP addresses,
the addresses and subnetwork masks will be appended to the NetLabel Fallback
Peer Labeling rules. They will be removed when the interface is
deconfigured. Failures to manage the labels will be ignored.

Example:
```
[DHCPv4]
NetLabel=system_u:object_r:localnet_peer_t:s0
```

With the above rules for interface `eth0`, when the interface is configured with
an IPv4 address of 10.0.0.123/8, `systemd-networkd` performs the equivalent of
`netlabelctl` operation

```
$ sudo netlabelctl unlbl add interface eth0 address:10.0.0.0/8 label:system_u:object_r:localnet_peer_t:s0
```

Result:
```
$ sudo netlabelctl -p unlbl list
...
 interface: eth0
   address: 10.0.0.0/8
    label: "system_u:object_r:localnet_peer_t:s0"
...
```
2022-08-29 14:23:17 +09:00
Topi Miettinen
5b198025de sd-netlink: add NetLabel support 2022-08-29 14:23:17 +09:00
Topi Miettinen
3f36b9ed47 basic: generate netmasks for IPv6 and generic IP family addresses
Added functions to generate netmasks for IPv6 and generic IP family addresses.
2022-08-29 14:23:17 +09:00
Wenchao Hao
9442b2f78f scsi_id: retry inquiry ioctl if host_byte is DID_TRANSPORT_DISRUPTED
The inquiry is issued to kernel via ioctl, kernelspace would set
this inquiry command's retry count to 0 which means the command
would not be retried in kernel space even if the LLDs returned
a status which need to be retried. So we should take the retry
in user space.
2022-08-29 14:10:05 +09:00
Daniel Braunwarth
1037178acf condition: fix device-tree firmware path
The path /sys/firmware/device-tree doesn't exist. This should be either
/proc/device-tree or /sys/firmware/devicetree.

The first path is only a link. So lets use the second path.

See https://github.com/torvalds/linux/blob/v4.14/drivers/of/base.c#L218.
2022-08-29 13:47:56 +09:00