1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-24 06:04:05 +03:00

71925 Commits

Author SHA1 Message Date
Antonio Alvarez Feijoo
af9f57e731
logind-inhibit: get rid of basename() in inhibitor_new()
Follow-up to #31594
2024-03-12 10:43:31 +01:00
Antonio Alvarez Feijoo
26ed3ecfe0
logind: place 'ret' param at last
Follow-up to 2454cee32e
2024-03-12 10:39:08 +01:00
Lennart Poettering
1c248d7fb7 stat-util: add explicit helpers for checking if stat/statx is initialized
This is a follow-up for 945a8210c770801c8492eda03b6e9af3ec5d03a3 and
makes the st_dev check generic, so that we can reuse it some other
places. It also incorporates the non-NULL check now, to be a
comprehensive one-stop solution.

The helper is static inline so that compilers can optimize the redundant
checks away in case it is combined with other checks.
2024-03-12 10:25:48 +01:00
Mike Yuan
72a22e737b
homework-cifs: log correct errno
Follow-up for 606a1f203c8871871bc8c5833d66ccbef870b010
2024-03-12 16:42:49 +08:00
Mike Yuan
0870fc2404
data-fd-util: accept size == SIZE_MAX and translate that to strlen
Like what we already do at other places
2024-03-12 16:42:48 +08:00
Mike Yuan
7799e7d9f0
data-fd-util: some modernization 2024-03-12 16:42:48 +08:00
Mike Yuan
faadc90c33
fileio,data-fd-util: use U64_* more 2024-03-12 16:42:48 +08:00
Mike Yuan
8b8edb512a
env-util: remove unneeded DISABLE_WARNING_FORMAT_NONLITERAL
_printf_ is used, so this shouldn't emit a warning
in the first place.
2024-03-12 15:41:51 +08:00
Mike Yuan
5d789ba5a6
Merge pull request #31671 from AdrianVovk/homework-cifs-credentials
homework-cifs: Pass password via fd
2024-03-12 15:40:43 +08:00
Mike Yuan
18eebde33a
Merge pull request #31713 from YHNdnzj/pidref-equal
pidref: use fd_inode_same to compare pidfds
2024-03-12 14:15:36 +08:00
Yu Watanabe
06baee4ea3
Merge pull request #30021 from yuwata/dhcp-client-id-cleanups
dhcp-server: save bound leases to persistent storage, and load it on start
2024-03-12 13:40:09 +09:00
Ross Burton
59e33acc8e tests/run-unit-tests: add option to skip tests
In automated QA environments there may be tests that are known to fail,
and being able to skip them is useful to remove known failures from the
test log.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-03-11 23:27:01 +00:00
Luca Boccassi
b6fb31be45
Merge pull request #31721 from aafeijoo-suse/service-util-help-fix
shared/service-util: actually use the `bus_introspect` argument in `help()`
2024-03-11 18:13:57 +00:00
Ross Burton
4a052a718a test/run-unit-tests: sort the test cases we're executing
When reading test logs manually it is a lot easier when the tests are
sorted by name rather than by disk order.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-03-11 18:11:30 +00:00
Adrian Vovk
606a1f203c
homework-cifs: Pass password via fd
Pass the password into mount.cifs via a file descriptor, rather
than putting it into a plain-text file in /tmp. This uses the $PASSWD_FD
environment variable, which is undocumented but has existed since
forever (initial commit from 2010 [1] has it already)

[1]:
https://git.samba.org/?p=cifs-utils.git;a=blob;f=mount.cifs.c;hb=ce0b1609a9eedce6c5eb20eab287ea44217c0a6a#l1477
2024-03-11 13:07:06 -04:00
Yu Watanabe
1c4411b7ff test-network: add test case for DHCP server lease file 2024-03-12 01:57:17 +09:00
Yu Watanabe
5582b36c38 network/dhcp-server: save leases in state directory
Then, we can read the lease file on restart, and the DHCP server will be
able to manage previously assigned addresses.

To save leases in the state directory /var/lib/systemd/network/, this
adds systemd-networkd-dhcp-server.service, and by default
systemd-networkd does not start the DHCP server without the heler
service started.

Closes #29991.
2024-03-12 01:57:17 +09:00
Yu Watanabe
35b2c1b0c8 fuzz-dhcp-server: also test saving and loading lease file 2024-03-12 01:57:17 +09:00
Yu Watanabe
033f119756 sd-dhcp-server: introduce sd_dhcp_server_set_lease_file() and dhcp_server_{save,load}_leases().
The functionality is not used networkd yet in this commit, but will be
used in later commits.
2024-03-12 01:57:17 +09:00
Yu Watanabe
aa8200e971 sd-dhcp-server: also expose lease expiration timestamp in realtime
Here, we use map_clock_usec_raw(), instead of map_clock_usec() to reduce
number of calls of now() -> clock_gettime().
2024-03-12 01:57:17 +09:00
Yu Watanabe
3ecd6fa98b time-util: expose map_clock_usec_internal() as map_clock_usec_raw()
This will be used later.
2024-03-12 01:57:17 +09:00
Yu Watanabe
b923ada838 sd-dhcp-server-lease: move functions to build json format
No functional change, just preparation for later commits.
2024-03-12 01:57:17 +09:00
Yu Watanabe
5a2f378362 sd-dhcp-server: refuse invalid hostname in request
Currently, the received hostname is not used for assigning an address to
the host, or options in the subsequent reply message. But, the parsed
hostname is exposed through DBus, and possibly Varlink in the future.
Let's ignore spurious hostname.
2024-03-12 01:57:17 +09:00
Yu Watanabe
fa3357b9e8 dhcp-option: refuse control and non-UTF8 characters in string option
We oftem save parsed DHCP options into a file, or expose them
through DBus or Varlink. In such case, control characters or non-UTF8
characters may cause many kind of unexpected errors. In general, a DHCP
message that have string options with spurious characters is mostly
malformed or broken. Let's refuse them.

This also makes dhcp_option_parse_string() do not free 'ret' argument,
to follow our usual coding style. So, callers now need to free the
pre-exisitng string if necessary.

Fixes #31708.
2024-03-12 01:57:17 +09:00
Yu Watanabe
c84a5f5eaf test-network: add support for systemd-networkd-persistent-storage.service 2024-03-12 01:57:16 +09:00
Yu Watanabe
91676b6458 networkctl: introduce "persistent-storage" command
Then, this introduces systemd-networkd-persistent-storage.service.

systemd-networkd.service is an early starting service. So, at the time
it is started, the persistent storage for the service may not be ready,
and we cannot use StateDirectory=systemd/network in
systemd-networkd.service.

The newly added systemd-networkd-persistent-storage.service creates the
state directory for networkd, and notify systemd-networkd that the
directory is usable.
2024-03-12 01:57:16 +09:00
Yu Watanabe
f90eb08627 network/varlink: introduce io.systemd.Network.SetPersistentStorage method
And make the networkd use state directory.

Currently, the state directory and the method are not used, but will be used later.
2024-03-12 01:57:11 +09:00
Adrian Vovk
58d061b5aa
data-fd-util: Fixup header
inttypes.h doesn't define size_t
2024-03-11 12:24:30 -04:00
Yu Watanabe
83cc18257e test-network: copy system unit files from build or source directory
Addresses https://github.com/systemd/systemd/pull/30021#issuecomment-1971090682.
2024-03-12 01:17:40 +09:00
Yu Watanabe
f66045c7d4 test-network: drop unused options and variables
This also renames several variables, and replace RuntimeError with
assert.
2024-03-12 01:14:40 +09:00
Mike Yuan
2f41f10bcd
pidref: use fd_inode_same to compare pidfds 2024-03-11 22:57:50 +08:00
Mike Yuan
945a8210c7
stat-util: struct stat could be initialized with (st_mode & S_IFMT == 0)
For anonymous inodes, the result would be 0, but
the struct stat is initialized obviously.
So let's switch to st_dev for the check, which
is guaranteed to be non-zero.

Also this is completely unnecessary for statx(),
since we check stx_mask first and that on its own
denotes that the struct is initialized.
2024-03-11 22:57:50 +08:00
Mike Yuan
0cdb8df620
stat-util: introduce fd_inode_same 2024-03-11 22:53:08 +08:00
Luca Boccassi
14300cdde4 polkit: update the rest of bus_verify_polkit_async_full() calls to new flags parameter
Looks like the compiler doesn't even notice these were left over
as the types end up matching somehow

Follow-up for 29556b75d8025580eebe160a1fa1459965912ee2
2024-03-11 14:17:45 +00:00
Lennart Poettering
9f65355b85 fd-util: beef up fd_verify_safe_flags() features
Let's make fd_verify_safe_flags() even more useful:

1. let's return the cleaned up flags (i.e. just the access mode) after
   validation, hiding all the noise, such as O_NOFOLLOW, O_LARGEFILE and
   similar.

2. let's add a "full" version of the call that allows passing additional
   flags that are OK to be set.
2024-03-11 14:49:51 +01:00
Antonio Alvarez Feijoo
4313b99136
shared/service-util: actually use the bus_introspect argument in help()
If `bus_introspect` is false, do not print the `--bus-introspect=PATH` option.

Also, modernize help output.
2024-03-11 13:56:30 +01:00
Luca Boccassi
c7edd9f13d
Merge pull request #31711 from YHNdnzj/gpt-auto-has-node
gpt-auto: ignore fstab_has_node failure
2024-03-11 12:40:22 +00:00
Antonio Alvarez Feijoo
65064e2ff0
tree-wide: drop custom formatting for print() help messages
Follow-up for bc556335b1c568c98688cc1f586b5f753fcddac6
2024-03-11 13:34:34 +01:00
Lennart Poettering
29556b75d8
polkit: turn "interactive" flag to polkit APIs into a proper flags field (#31715)
This adds for both the D-Bus and the Varlink flavours of our polkit
client api a flags parameter. And then folds the "bool interactive" flag
that the D-Bus version so far had, into a flag, and also adds support
for it in the Varlink API.

Since this means the Varlink API gained another parameter, let's do what
we already did for the D-Bus API and add a _full() version of the API
that has the flags and the good_uid parameter, and one without both.
2024-03-11 11:57:45 +00:00
cpackham-atlnz
ed01b92e1c
basic: add PIDFS magic (#31709)
Kernel commit cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b added pidfs.
Update filesystems-gperf.gperf and missing_magic.h accordingly.

This fixes the following error building against a bleeding edge kernel.
```
../src/basic/meson.build:234:8: ERROR: Problem encountered: Unknown filesystems defined in kernel headers:

Filesystem found in kernel header but not in filesystems-gperf.gperf: PID_FS_MAGIC
```
2024-03-11 11:55:36 +00:00
Sergey A
b95d4f897f po: Translated using Weblate (Russian)
Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Sergey A <sw@atrus.ru>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ru/
Translation: systemd/main
2024-03-11 12:52:08 +01:00
Luca Boccassi
2bbe5ca178 semaphore: remove workaround for adduser
Offending commit has been reverted, so it's no longer necessary:

9016769691

Follow-up for 8b7485c505f1e7a55896069224109adaf10c16b9
2024-03-11 11:15:12 +00:00
Lennart Poettering
efb4858f11 polkit: trivial simplification 2024-03-11 10:44:53 +00:00
Luca Boccassi
03292f9663
Merge pull request #31706 from DaanDeMeyer/smbios
systemd-boot: Add support for reading extra kernel cmdline from SMBIOS
2024-03-11 10:44:11 +00:00
Luca Boccassi
3b5512b973
Merge pull request #31675 from rpigott/dns-refuse
resolved: refuse queries with no suitable scope
2024-03-11 10:43:18 +00:00
Evgeny Vereshchagin
5801a18ed3 fuzz: save/load DHCP client leases
to make sure it more or less works with all sorts of leases.

Prompted by https://github.com/systemd/systemd/pull/30021#discussion_r1519123802
2024-03-11 09:41:44 +00:00
Frantisek Sumsal
b460b36d12
Merge pull request #31692 from bluca/semaphore_autopkgtest_fixes
semaphore: move back to autopkgtest master branch and rearrange build deps
2024-03-11 10:00:58 +01:00
Mike Yuan
622f2dcc71
gpt-auto: ignore fstab_has_node failure
After 8a1326581d9b066377f8d9f2d58e1bdfd8b645d0,
we always check whether there're mounts under
/boot/ or /efi/ first. Let's relax the check
for fstab_has_node hence, since on initrd-less
systems it might produce wrong results.
2024-03-11 15:34:05 +08:00
Mike Yuan
18f9ecd40c
fstab-util: remove unreachable return 2024-03-11 15:27:04 +08:00
İ. Ensar Gülşen
d3ca25645f hwdb: Add touchpad configuration for ThinkPad E495 2024-03-10 23:25:32 +00:00