Yu Watanabe
5571048919
meson: fix description for link-udev-shared option
2023-05-16 14:14:06 +08:00
Yu Watanabe
0c3ea0c222
sd-dhcp-server: also send DNS servers or friends on DHCPOFFER
...
From RFC 2131 section 4.3.1 (https://www.rfc-editor.org/rfc/rfc2131#section-4.3.1 ):
----
The server MUST return to the client:
- Parameters requested by the client, according to the following rules:
-- IF the server has been explicitly configured with a default
value for the parameter, the server MUST include that value
in an appropriate option in the 'option' field,
----
The sentence is not only for ACK, but for all (positive) responses, that
is DHCPOFFER and DHCPACK.
Fixes #27471 .
2023-05-13 12:37:17 +01:00
Yu Watanabe
f466e828db
Merge pull request #27618 from DaanDeMeyer/fstab-generator
...
Fstab generator fixes
2023-05-12 04:23:54 +09:00
Yu Watanabe
82c60c939c
test-network: add tests for static lease matching with chaddr
...
Follow-up for 4646cdaa37 (#27313 ).
2023-05-12 03:07:10 +09:00
Yu Watanabe
db4afb95c2
Merge pull request #27611 from yuwata/core-mount-escape-utf8
...
core/mount: escape invalid utf8 chars
2023-05-12 01:40:32 +09:00
Yu Watanabe
4804da5853
core/mount: escape invalid UTF8 char in dbus reply
...
When What= or Options= may contain invalid UTF8 chars.
Replaces aaf7b0e411 (#27541 ).
2023-05-11 19:25:38 +09:00
Yu Watanabe
bcf58ff559
Revert "core/mount: replace invalid UTF-8 code points in "what" and "options""
...
This reverts commit aaf7b0e411 .
Not only /proc/mountinfo, .mount units not started yet may contain
invalid UTF-8 chars.
2023-05-11 19:24:42 +09:00
Yu Watanabe
d698679112
Merge pull request #27596 from yuwata/drop-pure
...
drop two more inappropriate _pure_ attributes and several cleanups
2023-05-11 16:49:40 +09:00
Yu Watanabe
531a6233d1
Merge pull request #27603 from mrc0mmand/more-test-shenanigans
...
test: merge PID1-related tests into TEST-07-PID1
2023-05-11 16:48:13 +09:00
Yu Watanabe
39a39f18f2
udev: do not set ID_PATH and by-path symlink for nvmf disks
...
Prompted by #27391 .
2023-05-10 19:42:49 +08:00
Yu Watanabe
6112c86139
core: replace hashmap_get() with hashmap_contains() where appropriate
2023-05-10 15:06:44 +09:00
Yu Watanabe
735f0645db
core: drop unused argument
2023-05-10 15:06:39 +09:00
Yu Watanabe
fcd7e0b7ed
core: several cleanups for job_get_timeout()
...
- add missing assertion,
- rename the argument for storing result,
- always initialize result on success.
2023-05-10 15:06:39 +09:00
Yu Watanabe
bc52801034
tree-wide: drop _pure_ attribute from non-pure functions
...
Prompted by #27595 .
Follow-ups for 6723c28f36 .
2023-05-10 15:06:24 +09:00
Yu Watanabe
18449960b9
Merge pull request #27597 from mrc0mmand/more-test-shenanigans
...
test: slightly extend systemd-cryptenroll coverage
2023-05-10 08:16:29 +09:00
Yu Watanabe
251ca88230
sd-dhcp-client: client ID always has non-zero data
...
Follow-up for f04c991a2f .
Fixes CID#1510978.
2023-05-09 14:41:55 +01:00
Yu Watanabe
c093bfe0ad
Merge pull request #27534 from keszybz/deperlify
...
Rewrite udev-test.pl in Python
2023-05-09 18:06:51 +09:00
Yu Watanabe
9695b0c01b
static-destruct: introduce STATIC_ARRAY_DESTRUCTOR_REGISTER()
2023-05-09 17:53:42 +09:00
Yu Watanabe
555ead8985
static-destruct: several cleanups
...
No functional changes, preparation for later commits.
2023-05-09 17:53:42 +09:00
Yu Watanabe
3facdc7da8
memory-util: make ArrayCleanup passed to array_cleanup() const
...
Should not change any behavior, preparation for later commits.
2023-05-09 17:53:42 +09:00
Yu Watanabe
d94027ad16
bus-util: drop unnecessary continue
2023-05-09 08:08:53 +09:00
Yu Watanabe
d421db6e8b
units: add/fix Documentation= about bus interface
2023-05-09 06:10:23 +09:00
Yu Watanabe
8d3beb00c0
Merge pull request #27579 from YHNdnzj/refuse-dbus-activation
...
core: refuse dbus activation if dbus is not running
2023-05-09 06:09:25 +09:00
Yu Watanabe
aa7b8755b6
Merge pull request #27578 from yuwata/sd-dhcp-client-client-id-len
...
sd-dhcp-client: several cleanups for client_id_len
2023-05-09 06:08:32 +09:00
Yu Watanabe
f86a388de3
core/service: fix error cause in the log
...
Fixes a bug caused by a5648b8094 .
Fixes #27575 .
2023-05-09 06:08:14 +09:00
Yu Watanabe
e69c281ad2
sd-dhcp-client: do not use implicit cast to boolean
2023-05-09 00:37:29 +09:00
Yu Watanabe
f04c991a2f
sd-dhcp-client: make return arguments for sd_dhcp_client_get_client_id() optional
2023-05-09 00:34:06 +09:00
Yu Watanabe
22e299fc5e
sd-dhcp-client: drop redundant condition
...
Closes #27561 .
2023-05-09 00:27:24 +09:00
Yu Watanabe
16cda99c73
nulstr-util: make ret_size in strv_make_nulstr() optional
2023-05-08 21:40:56 +08:00
Yu Watanabe
210cb8d690
core/unit: check the validity of unit type with activation_details_vtable
...
Follow-up for 24e91e08f8 .
2023-05-08 09:49:55 +02:00
Yu Watanabe
d2132d3d8d
parse-util: make parse_fd() return -EBADF
...
The previous error code -ERANGE is slightly ambiguous, and use more
specific one. This also drops unnecessary error handlings.
Follow-up for 754d8b9c33 and
e652663a04 .
2023-05-08 09:49:55 +02:00
Yu Watanabe
fa1071819c
sd-journal: split out generic_array_bisect_one() from generic_array_bisect()
...
This also makes journal corruption always handled gracefully, and drop
potentially unsatisfied assertion on corrupted journal.
Fixes #27533 .
2023-05-07 00:28:19 +09:00
Yu Watanabe
e562f13158
sd-journal: re-read entry array object
...
`test_object()` may call `journal_file_move_to_object()` and thus
the `array` object may be invalidated.
2023-05-07 00:26:49 +09:00
Yu Watanabe
03fdf95714
sd-journal: drop unnecessary initialization
2023-05-07 00:26:49 +09:00
Yu Watanabe
de6b162d35
sd-journal: rebreak comments
2023-05-07 00:26:49 +09:00
Yu Watanabe
dd03d91527
sd-journal: fix comment
2023-05-07 00:26:49 +09:00
Yu Watanabe
5b5e54e058
hwdb: do not include '#' in modalias
...
Follow-up for 7bd3d6e35a .
Fixes #27516 .
2023-05-06 10:27:34 +02:00
Yu Watanabe
6cb105b877
core: fix use of uninitialized value
...
Fixes https://github.com/systemd/systemd/pull/27504#issuecomment-1533354787 .
2023-05-04 00:33:33 +01:00
Yu Watanabe
a76dc1f3a0
Merge pull request #27504 from mrc0mmand/fuzz-manager-serialize
...
test: add a simple fuzzer for manager serialization
2023-05-03 21:45:26 +09:00
Yu Watanabe
406004a6c3
Merge pull request #27499 from yuwata/sd-journal-fix-loop
...
sd-journal: check .next_entry_array_offset earlier
2023-05-03 13:30:47 +09:00
Yu Watanabe
de6eb806ff
Revert "sd-journal: introduce simple loop detection for entry array objects"
...
This reverts commit a8fbcc0e3c .
The commit is not necessary, as the invalid entry array object is
filtered earlier by the previous commit.
2023-05-03 06:41:25 +09:00
Yu Watanabe
b5335da7a5
sd-journal: check .next_entry_array_offset earlier
...
Then, if it is invalid, refuse to use the entry array object.
Follow-up for a8fbcc0e3c .
Fixes #27489 .
2023-05-03 06:41:21 +09:00
Yu Watanabe
c19b827802
Merge pull request #27493 from poettering/generate-sym-test-tweaks
...
fixes/additions for generate-sym-test
2023-05-03 00:12:48 +09:00
Yu Watanabe
e94756c566
test: replace sleep with timeout
...
If the test environment is too slow, then sleeping 2 seconds may not be
sufficient.
2023-05-02 11:09:18 +02:00
Yu Watanabe
ecf82f74b6
Merge pull request #27455 from yuwata/test-lib-sym
...
test: check all public functions are listed in .sym file
2023-05-02 04:45:30 +09:00
Yu Watanabe
8e2449a5c9
test-network: add workaround for bug in iproute2 v6.2.0
...
Closes #27473 .
2023-05-01 20:02:15 +02:00
Yu Watanabe
5c519a56f5
Merge pull request #27458 from mrc0mmand/test-corrupted-journals
...
test: test journalctl with corrupted journals
2023-05-01 19:14:22 +09:00
Yu Watanabe
a8fbcc0e3c
sd-journal: introduce simple loop detection for entry array objects
...
If .next_entry_array_offset points to one of the previous entry or the
self entry, then the loop for entry array objects may run infinitely.
Let's assume that the offsets of each entry array object are in
increasing order, and check that in loop.
Fixes #27470 .
2023-05-01 15:46:59 +09:00
Yu Watanabe and Frantisek Sumsal
4c1b6e699f
test: also test all _public_ functions are listed in .sym files
...
Co-authored-by: Frantisek Sumsal <frantisek@sumsal.cz >
2023-05-01 15:40:18 +09:00
Yu Watanabe
e758735d33
sd-journal: tighten variable scope
2023-05-01 14:25:38 +09:00
Yu Watanabe
d9b61db922
sd-journal: read entry array object again
...
Otherwise, the object may be invalidated by the previous call of
journal_file_move_to_object().
2023-05-01 14:25:38 +09:00
Yu Watanabe
b72fd2af86
sd-journal: check validity of object type more strictly
...
Otherwise, the object with invalid type may pass check_object_header()
when the requested type is OBJECT_UNUSED.
2023-05-01 14:25:38 +09:00
Yu Watanabe
3092eaa72e
sd-journal: add _OBJECT_TYPE_INVALID as usual
2023-05-01 14:25:38 +09:00
Yu Watanabe
deb87cc80e
sd-journal: align table
2023-05-01 14:25:38 +09:00
Yu Watanabe
5b895f56c6
sd-journal: check that the journal file is not stored in .newest_by_boot_id on free
2023-05-01 14:24:55 +09:00
Yu Watanabe
f11de491ca
sd-journal: unset prioq index on failure
...
Otherwise, potentially, the assertion in
journal_file_unlink_newest_by_bood_id() will be triggered.
2023-05-01 14:24:55 +09:00
Yu Watanabe
e28d825127
sd-journal: fix use-after-free
...
As commented in the code, we need to replace the pointer to the key,
hence, hashmap_replace() must be used, instead of hashmap_update().
Fixes #27459 .
2023-05-01 14:24:55 +09:00
Yu Watanabe
ebd6384d57
Merge pull request #27461 from bluca/coredumpctl_completion
...
coredumpctl: fix bash completion
2023-04-30 04:28:45 +09:00
Yu Watanabe
9857de4f1c
libsystemd: add missing _public_ attributes
2023-04-29 21:25:12 +09:00
Yu Watanabe
9857bc4cea
libsystemd: drop _public_ attribute for non-exported functions
2023-04-29 21:25:08 +09:00
Yu Watanabe
8c59feed5e
missing_fs: also define struct file_clone_range
...
Follow-up for b640e274a7 .
Addresses https://github.com/systemd/systemd/commit/b640e274a7c363a2b6394c9dce5671d9404d2e2a#r110996661 .
2023-04-29 07:03:09 +02:00
Yu Watanabe
843cb225ad
test: add tests for "systemctl stop" vs triggering by path unit
2023-04-29 09:10:28 +09:00
Yu Watanabe
2e701a7946
test: create temporary units under /run
2023-04-29 09:10:28 +09:00
Yu Watanabe
bc6377762c
core/path: do not enqueue new job in .trigger_notify callback
...
Otherwise,
1. X.path triggered X.service, and the service has waiting start job,
2. systemctl stop X.service
3. the waiting start job is cancelled to install new stop job,
4. path_trigger_notify() is called, and may reinstall new start job,
5. the stop job cannot be installed, and triggeres assertion.
So, instead, let's add a defer event source, then enqueue the new start
job after the stop (or any other type) job finished.
Fixes https://github.com/systemd/systemd/issues/24577#issuecomment-1522628906 .
2023-04-29 08:54:29 +09:00
Yu Watanabe
34a4e22e97
core/path: align table
2023-04-29 08:45:06 +09:00
Yu Watanabe
657152a459
network-generator: shorten code a bit
2023-04-28 18:50:47 +09:00
Yu Watanabe
75fd8ad008
Merge pull request #27424 from dtardon/auto-cleanup
...
More automatic cleanup
2023-04-28 18:46:36 +09:00
Yu Watanabe
d6f96778b1
missing_fs: mention commit hash and version of ioctl commands introduced
2023-04-28 14:18:48 +09:00
Yu Watanabe
71e84b4be6
copy: rename reflink_full() -> reflink_range()
...
The commit b640e274a7 introduced reflink()
and reflink_full(). We usually name function xyz_full() for fully
parameterized version of xyz(), and xyz() is typically a inline alias of
xyz_full(). But in this case, reflink() and reflink_full() call
different ioctl().
Moreover, reflink_full() does partial reflink, while reflink() does full
file reflink. That's super confusing.
Let's rename reflink_full() to reflink_range(), the new name is
consistent with ioctl name, and should be fine.
2023-04-28 14:06:00 +09:00
Yu Watanabe
49c778e6bf
Merge pull request #27413 from yuwata/core-job-cleanups
...
core/job: cleanups for job ID
2023-04-27 12:29:29 +09:00
Yu Watanabe
a02287eab3
core/service: make service_add_fd_store() always consume provided fd
...
No functional change, just refactoring.
2023-04-27 01:36:58 +01:00
Yu Watanabe
aafb96d514
core/job: use new job ID when we failed to deserialize job ID
...
This is for the case when we fail to deserialize job ID.
In job_install_deserialized(), we also check the job type, and that is
for the case when we failed to deserialize the job.
Let's gracefully handle the failure in deserializing the job ID.
This is paranoia, and just for safety. Should not change any behavior.
2023-04-27 00:36:41 +09:00
Yu Watanabe
3e1aec3036
core/job: handle job ID overflow or conflict more sanely
...
This is paranoia, and just for safety. Should not change any behavior.
2023-04-27 00:36:24 +09:00
Yu Watanabe
ace15701c1
core/job: fix indentation
2023-04-27 00:36:24 +09:00
Yu Watanabe
6ff134004d
core/job: add one more assertion
...
In this stage, the unit should not have installed job of the type.
2023-04-27 00:36:24 +09:00
Yu Watanabe
c49dfd8911
core/transaction: use hashmap_remove_value() to make not remove job with same ID
...
When we fail to deserialize job ID, or the current_job_id is overflowed,
we may have jobs with the same ID.
This is paranoia, and just for safety.
Note, we already use hashmap_remove_value() in job_uninstall().
2023-04-27 00:35:54 +09:00
Yu Watanabe
85e38da2ec
sd-journal: make journal_file_copy_entry() return earlier
2023-04-26 20:54:08 +09:00
Yu Watanabe
bf9b7728e6
sd-journal: copy boot ID
...
The pointer to boot ID may be invalidate by journal_file_move_to_object()
calls in the later loop.
2023-04-26 20:51:12 +09:00
Yu Watanabe
265b1dc048
sd-journal: tighten variable scope
2023-04-26 20:50:53 +09:00
Yu Watanabe
fc73d97182
udev/iocost: invert DEVTYPE match
...
No functional change, just refactoring.
Addresses https://github.com/systemd/systemd/pull/23325#discussion_r1171006967 .
2023-04-26 14:50:25 +09:00
Yu Watanabe
c413ae18b5
udev/iocost: use ID_MODEL_FROM_DATABASE if exists
...
To make the rule consistent with 'iocost query'.
2023-04-26 14:50:25 +09:00
Yu Watanabe
ede5e271b1
udev/iocost: fix log message
2023-04-26 14:50:25 +09:00
Yu Watanabe
b2fccd0729
udev/iocost: query_named_solution() provides non-NULL model and qos on success
2023-04-26 14:50:25 +09:00
Yu Watanabe
934613bb88
udev/iocost: call get_known_solutions() in apply_solution_for_path()
...
Then, the solution name can be logged.
2023-04-26 14:50:09 +09:00
Yu Watanabe
22148897cf
udev: use version()
...
Fixes #27382 .
2023-04-26 07:44:39 +02:00
Yu Watanabe
9c271f4509
udev/iocost: merge get_known_solutions() and choose_solution()
...
As these are always called sequentially.
No functional change, just refactoring.
2023-04-26 11:49:58 +09:00
Yu Watanabe
dcb379619f
udev/iocost: drop unnecessary initializations
2023-04-26 11:36:28 +09:00
Yu Watanabe
878f3a4f09
udev/iocost: arg_target_solution is always non-NULL
2023-04-26 11:19:53 +09:00
Yu Watanabe
5cfe9715f5
udev/iocost: set default target in parse_config()
...
And make the failure in parsing config critical.
2023-04-26 11:18:46 +09:00
Yu Watanabe
a101d91988
test: add test case of negative match for SYMLINK and TAG
2023-04-26 09:51:12 +09:00
Yu Watanabe
2b43ab00b0
udev-rules: fix negative match rule for SYMLINK and TAG
...
Fixes #27396 .
2023-04-26 09:51:08 +09:00
Yu Watanabe
ff2da67b9a
Merge pull request #27409 from mrc0mmand/more-tests
...
test: add a couple of sanity tests for systemd-creds
2023-04-26 08:24:52 +09:00
Yu Watanabe
3d008416d6
Merge pull request #27380 from poettering/bpf-meson-tweaks
...
two bpf build system changes
2023-04-25 18:37:36 +09:00
Yu Watanabe
114e85d28e
core/device: rewrite how device unit is removed from Manager.devices_by_sysfs
...
If the device unit is not the head of the list saved in
Manager.devices_by_sysfs, then it is not necessary to replace the
existing hashmap entry. This should not change any behavior, just
refactoring.
2023-04-20 09:22:25 +02:00
Yu Watanabe
24a5370bbc
list: fix double evaluation
2023-04-20 09:20:08 +02:00
Yu Watanabe
47041a2b91
hwdb: disable entry for Logitech USB receiver used by G502 X
...
Fixes a bug introduced by dede07d3d0 .
Fixes #27118 .
2023-04-19 21:14:03 +01:00
Yu Watanabe
cb3c6aec3a
core: add one missing assertion for release_resource_queue
...
Follow-up for 6ac62d61db .
2023-04-19 21:12:08 +01:00
Yu Watanabe
c19f1cc9a5
test: add regression tests for find_esp() and friend
2023-04-19 04:04:57 +09:00
Yu Watanabe
60e761d8f3
chase: replace path_prefix_root_cwd() with chaseat_prefix_root()
...
The function path_prefix_root_cwd() was introduced for prefixing the
result from chaseat() with root, but
- it is named slightly generic,
- the logic is different from what chase() does.
This makes the name more explanative and specific for the result of the
chaseat(), and make the logic consistent with chase().
Fixes https://github.com/systemd/systemd/pull/27199#issuecomment-1511387731 .
Follow-up for #27199 .
2023-04-19 03:38:59 +09:00
Yu Watanabe
8d3c49b168
fd-util: skip to check mount ID if kernel is too old and /proc is not mounted
...
Now, dir_fd_is_root() is heavily used in chaseat(), which is used at
various places. If the kernel is too old and /proc is not mounted, then
there is no way to get the mount ID of a directory. In that case, let's
silently skip the mount ID check.
Fixes https://github.com/systemd/systemd/pull/27299#issuecomment-1511403680 .
2023-04-19 03:38:47 +09:00