Yu Watanabe
04d4086c22
resolve/mdns: do not append goodby packet entries to known answers section
...
When we receive a goodby packet about a host, and we have a cache entry about
the host, we do not immediately remove the cache entry, but update it with TTL 1.
See RFC 6762 section 10.1 and 3755027c2c .
If we receive a request soon after the goodby packet, previously the
entry was included in the known answers section of the reply. But such
information should not be appended.
Follow-up for 3755027c2c .
2024-01-03 13:16:43 +01:00
Yu Watanabe
dd8ab4a206
sd-dhcp-server: rename DHCPLease -> sd_dhcp_server_lease
...
Then, move basic functions for the object to sd-dhcp-server-lease.[ch].
No effective funcional changes.
2024-01-03 15:20:31 +09:00
Yu Watanabe
95c48613f4
sd-dhcp-server: use sd_dhcp_client_id
2024-01-03 15:20:31 +09:00
Yu Watanabe
12fb1fc5dd
Merge pull request #30702 from yuwata/sd-dhcp-client-id
...
dhcp: introduce sd_dhcp_client_id and relevant functions
2024-01-03 15:10:46 +09:00
Yu Watanabe
778823fd52
backlight: supprt ID_LEDS_CLAMP udev property for leds subsystem devices
...
Closes #30507 .
2024-01-03 09:30:41 +09:00
Yu Watanabe
e0feaedbd9
udev/dmi-memory-id: update table with latest SMBIOS specification
...
Closes #30699 .
2024-01-03 08:43:17 +09:00
Yu Watanabe
7e08a337b2
Merge pull request #30700 from yuwata/storagetm-fixlets
...
storagetm: several trivial fixlets
2024-01-03 08:42:58 +09:00
Yu Watanabe
cb0a3b8c14
network/route: drop TTL propagate support for MPLS routes
...
This effectively reverts 9b88f20aba .
We do not support MPLS routes, only IPv4 or IPv6 routes are supported.
2024-01-03 08:41:53 +09:00
Yu Watanabe
6ba147485e
network/queue: fix potential double-free on oom
...
Currently, link_queue_request_safe(), which is a wrapper of
request_new(), is called with a free function at
- link_request_stacked_netdev() at netdev/netdev.c,
- link_request_address() at networkd-address.c,
- link_request_nexthop() at networkd-nexthop.c,
- link_request_neighbor() at networkd-networkd.c.
For the netdev case, the reference counter of the passed object is increased
only when the function returns 1. So, on failure (with -ENOMEM)
previously we unexpectedly dropped the reference of the NetDev object.
Similarly, for Address and friends, the ownership of the object is moved to the
Request object only when the function returns 1. And on failure, previously
the object was freed twice.
Also, netdev_queue_request(), which is another wrapper of request_new()
potentially leaks memory when the same NetDev object is queued twice.
Fortunately, that should not happen as the function is called only once
per object.
This fixes the above issue, and now the ownership or the reference
counter of the object is changed only when it is succeeded with 1.
2024-01-03 08:41:36 +09:00
Yu Watanabe
ff49e703ff
Merge pull request #30691 from yuwata/resolve-ipv6
...
resolve: do not listen to IPv6 when disabled by sysctl
2024-01-03 08:41:14 +09:00
Yu Watanabe
d59a2b3bf5
sd-dhcp-lease: use sd_dhcp_client_id
2024-01-03 06:06:39 +09:00
Yu Watanabe
1809132064
dhcp: move sd_dhcp_client_id_to_string() to sd-dhcp-client-id.[ch]
...
Then, this makes it take sd_dhcp_client_id object, and introduce
sd_dhcp_client_id_to_string_from_raw().
2024-01-03 06:06:36 +09:00
Yu Watanabe
6efa51f862
dhcp: introduce sd_dhcp_client_id and relevant functions
...
This splits out client ID handling from sd-dhcp-client.c to
sd-dhcp-client-id.[ch]. This will be used later in other places.
2024-01-03 06:06:34 +09:00
Yu Watanabe
69f4a87c8c
storagetm: fix use of wrong stat element
2024-01-03 05:19:00 +09:00
Yu Watanabe
30c1cded77
storagetm: always hash stat.st_mode
...
To make the hash function consistent with the compare function.
2024-01-03 05:07:43 +09:00
Yu Watanabe
f22b586a21
network/address: introduce address_remove_and_cancel()
...
Then, replace address_remove_and_drop() with it.
If an address is requested, and the request is already called,
we may not received its reply and notification from the kernel, and
the corresponding address object may not be remmbered. Even in such
case, we need to remove the address, otherwise the address will come
later after the function called.
2024-01-03 04:43:34 +09:00
Yu Watanabe
f1b73dbbc9
network/address: not necessary to remmber address before remove
2024-01-03 04:43:34 +09:00
Yu Watanabe
7f74b00ab0
network/address: make address_remove() take Link object that the address assigned to
...
No functional change. Preparation for later commits.
2024-01-03 04:43:34 +09:00
Yu Watanabe
ef4e0b7e4f
sd-netlink: introduce sd_rtnl_message_route_set_tos()
...
We already have the getter for the parameter, but forgot to introduce the setter.
2024-01-03 04:21:51 +09:00
Yu Watanabe
8f8b39c86b
sd-netlink: move definitions of RTA_TYPE() and RTA_FLAGS() to netlink-util.h
2024-01-03 04:21:28 +09:00
Yu Watanabe
6e6b59ed00
unit: order systemd-resolved after systemd-sysctl
...
Otherwise, IPv6 enable/disable setting may be changed after resolved is
started.
2024-01-03 04:07:15 +09:00
Yu Watanabe
a53082f07d
resolve: do not listen to IPv6 when disabled by sysctl
...
Fixes #30669 .
2024-01-03 04:03:30 +09:00
Yu Watanabe
e40a67809b
Merge pull request #30689 from mrc0mmand/even-more-cocci-tweaks
...
coccinelle: drop a couple of FIXMEs
2024-01-03 03:25:30 +09:00
Yu Watanabe
83a0417550
sd-journal: introduce cleanup function and hash ops for Directory
...
This makes the folloing:
- Each Directory object now has a reference to sd-journal.
- Hence, directory_free(), which is renamed from remove_directory(), can
be called without sd-journal as an argument.
- Introduces hash ops for Directory, so the finalization becomes
slightly simpler.
- Allocate hashmaps that store Directory objects when necessary.
- Split out add_directory_impl().
No functional changes, just refactoring.
2024-01-01 19:29:04 +01:00
Yu Watanabe
2d0be462d6
Merge pull request #30656 from mrc0mmand/dfuzzer-shenanigans
...
test: avoid starting/stopping unwanted units during fuzzing
2023-12-31 04:52:15 +09:00
Yu Watanabe
73780aa8a3
resolve: DnsTransaction.scope may be NULL when dns_transaction_close_connection() is called
...
Follow-up for ac1b7b9e19 .
Fixes CID#1533020.
2023-12-31 04:51:59 +09:00
Yu Watanabe
d05649ca7d
resolve: add several comments for DNS type table
...
Also update compile time checks.
Follow-up for 818bb6f482 .
2023-12-31 04:51:42 +09:00
Yu Watanabe
e6bca18296
Merge pull request #30658 from jnohlgard/udevadm-lock-return-code
...
udevadm: Propagate return code from verb result
2023-12-31 04:51:09 +09:00
Yu Watanabe
13a30c6dc4
test: add simple coverage tests for 'udevadm lock'
2023-12-30 05:28:04 +09:00
Yu Watanabe
5b201ffb1e
sd-journal: check sd-event state before setting up post change timer
...
The similar check already exists in schedule_post_change().
The function is currently called at two places.
- journal_file_open() in sd-journal:
In this case, if the timer is not set up, then journal_file_post_change()
will be called at the end of journal_file_append_entry(). So, the necessary
task will be done sequentially when an journal entry is stored to the opened
journal file. That is desired when the function is called at outside of the
event loop.
- server_open_journal() in journald:
This is not called after we exit the event loop.
So, we can safely do nothing in the function if the event loop is being
finished or already finished.
Fixes #30644 .
2023-12-29 06:39:06 +09:00
Yu Watanabe
0802e9d8de
coccinelle: re-indent comments
2023-12-29 04:14:55 +09:00
Yu Watanabe
a1ccd5eed8
coccinelle: fix typo
...
Follow-up for b25d3b36a2 .
2023-12-29 04:13:45 +09:00
Yu Watanabe
568fd8a63b
Merge pull request #30649 from YHNdnzj/close-nointr-unnecessary
...
Some modernization/cleanup for fd-util
2023-12-29 04:03:15 +09:00
Yu Watanabe
1a4b0459f6
network/address: unconditionally check if address is ready
...
Previously, we checked if the address is ready only when it is an IPv6
address. But, IPv4 address never enter tentative state, hence the check
for an IPv4 address is effectively equivalent to the one for IPv6.
So, let's unify the check. This does not change any effective behavior.
2023-12-28 07:08:37 +09:00
Yu Watanabe
3a30d81238
Merge pull request #30643 from bluca/completion
...
bash completion additions for systemctl/systemd-analyze
2023-12-28 04:10:20 +09:00
Yu Watanabe
9e7cd6bed1
Merge pull request #30641 from YHNdnzj/hibernation-device
...
Follow-ups for hibernate-util
2023-12-28 04:09:55 +09:00
Yu Watanabe
f1f494f3f8
Merge pull request #30634 from dtardon/docbook-valid-3
...
DocBook validation fixes (part 3)
2023-12-28 04:06:57 +09:00
Yu Watanabe
51dfa75c6e
Merge pull request #30639 from mrc0mmand/more-cocci-shenanigans
...
Another batch of Coccinelle tweaks
2023-12-27 20:33:46 +09:00
Yu Watanabe
5a4631bd8f
coccinelle: fix typo
2023-12-26 09:43:21 +09:00
Yu Watanabe
fe3fcb9492
Merge pull request #30633 from mrc0mmand/cocci-shenanigans
...
coccinelle: rework how we run the Coccinelle transformations
2023-12-26 05:45:58 +09:00
Yu Watanabe
372acaad58
network: use RET_GATHER() macro
2023-12-25 22:02:14 +08:00
Yu Watanabe
f089d3ebd5
network/address: move post-processes on address removal to address_drop()
...
For consistency with other follow-up processes after address removal.
No functional change, just refactoring and preparation for later
commits.
2023-12-25 20:19:40 +09:00
Yu Watanabe
8ae3a4f5e2
network/address: also drop reference for DHCP server address
...
The Address object should never freed after it is referenced.
So, this should not change any behavior. Just for safety.
2023-12-25 20:19:40 +09:00
Yu Watanabe
287a5f1cff
Merge pull request #30628 from YHNdnzj/format-table-improvement
...
Some improvements for format-table
2023-12-25 20:01:32 +09:00
Yu Watanabe
f73509d90f
Merge pull request #30616 from dtardon/docbook-valid-2
...
DocBook validation fixes (part 2)
2023-12-25 20:00:23 +09:00
Yu Watanabe
c6f7c8acd9
Merge pull request #30607 from dtardon/docbook-improvements
...
Minor improvements to man pages
2023-12-25 19:34:55 +09:00
Yu Watanabe
c01a5c0527
siphash24: introduce siphash24_compress_typesafe() macro
...
To prevent copy-and-paste mistake.
This also introduce in_addr_hash_func().
No functional change, just refactoring.
2023-12-25 15:38:59 +09:00
Yu Watanabe
11c36161fa
Merge pull request #30621 from yuwata/coccinelle
...
coccinelle: convert hashmap_size() == 0 and friends
2023-12-25 02:38:42 +09:00
Yu Watanabe
ab84005cb2
github: bump version in template
2023-12-25 02:23:14 +09:00
Yu Watanabe
07e8c3055d
tree-wide: drop several doubled space
2023-12-25 02:13:49 +09:00
Yu Watanabe
b3a9d980f3
tree-wide: drop space between variable and an increment/decrement
2023-12-25 01:56:40 +09:00
Yu Watanabe
1d03d970a1
tree-wide: insert space after for and switch
2023-12-25 01:29:38 +09:00
Yu Watanabe
6ae5d4b52f
coccinelle: convert hashmap_size() == 0 or friends
...
Addresses https://github.com/systemd/systemd/pull/30567#issuecomment-1866631816 .
2023-12-25 00:47:42 +09:00
Yu Watanabe
54cbad304c
sd-device: shorten code a big
...
Suggested by coccinelle.
2023-12-25 00:47:42 +09:00
Yu Watanabe
902279f0e4
Merge pull request #30620 from mrc0mmand/more-test-tweaks
...
test: a couple of fixes for failing tests
2023-12-25 00:19:14 +09:00
Yu Watanabe
891e81edf4
Merge pull request #30615 from dtardon/docbook-valid-1
...
DocBook validation fixes (part 1)
2023-12-24 19:27:26 +09:00
Yu Watanabe
eb1a51b869
udev: make UdevEvent take reference to UdevWorker
...
Many functions take timeout_usec and friends, but those are equivalent
to the Worker elements.
No functional change, just refactoring.
2023-12-24 17:20:23 +09:00
Yu Watanabe
0df87a4037
udev: call udev_watch_end() before udev_event_execute_rules()
...
No functional change, just refactoring.
2023-12-24 17:20:23 +09:00
Yu Watanabe
48e06208ce
Merge pull request #30609 from YHNdnzj/analyze-fdstore
...
analyze-fdstore: minor fixups
2023-12-24 06:44:31 +09:00
Yu Watanabe
36013380a9
core/executor: use log level specified in LogLevelMax=
...
Follow-up for cc9f4cad8c .
Otherwise, still unexpected lines may be logged by executor.
2023-12-24 06:44:03 +09:00
Yu Watanabe
08ba85c71e
systemctl: swap cached_id_map and cached_name_map at one more place
...
Follow-up for 2962a50850 .
Fortunately, this does not change any behavior.
Replaces #30601 .
Fixes CID#1532831.
2023-12-24 03:41:09 +09:00
Yu Watanabe
d24d9a3786
Merge pull request #30604 from mrc0mmand/test-journal-shenanigans
...
test: redirect stdout/stderr of TEST-04-JOURNAL to console as well
2023-12-24 03:40:50 +09:00
Yu Watanabe
c4d501d060
Merge pull request #30587 from mrc0mmand/test-stuff
...
test: slightly extend uid0's coverage
2023-12-24 03:40:22 +09:00
Yu Watanabe
b6c424a2f2
Merge pull request #30049 from yuwata/assert-return-critical
...
test: make assert_return() critical by default
2023-12-24 03:39:18 +09:00
Yu Watanabe
b5dd61e3c1
network: use json_variant_append_arrayb()
...
No functional change, just refactoring and shortening code.
2023-12-23 17:30:54 +00:00
Yu Watanabe
fce9e8a168
log: make assert_return() critical when -Dmode=developer
...
Triggering assert_return() should be a bug in general, and we should
really fix that. But, previously, it is hard to notice such bug, as
it was not critical.
This is for making CI or our testing environment fail if we unexpectedly
trigger assert_return(). So, hopefully we can easily find such bugs.
2023-12-24 02:03:30 +09:00
Yu Watanabe
8161f6086e
test: make assert_return() critical by default on fuzzer and unit tests
...
Several test cases intentionally trigger assert_return(). So, to avoid
the entire test fails, this introduces several macros that tentatively
make assert_return() not critical.
2023-12-24 02:02:18 +09:00
Yu Watanabe and Frantisek Sumsal
93bb67090c
log: introduce a knob to make assert_return() critical
...
These can be used to check if we trigger assert_return()
unexpectedly.
Co-authored-by: Frantisek Sumsal <frantisek@sumsal.cz >
2023-12-24 01:52:26 +09:00
Yu Watanabe
354171a5db
Merge pull request #30603 from mrc0mmand/openssl-shenanigans
...
test/ukify: make the tests happy with OpenSSL 3.2.0+
2023-12-24 00:27:20 +09:00
Yu Watanabe
24f4144a08
Merge pull request #30600 from dtardon/see-also-simplelist
...
man: use `<simplelist>` for 'See also' sections
2023-12-23 19:08:31 +09:00
Yu Watanabe
60d52f219e
udev: use SD_EVENT_SIGNAL_PROCMASK
2023-12-23 00:32:48 +01:00
Yu Watanabe
bdc79e5fcd
TODO: fix typo
2023-12-23 04:49:26 +09:00
Yu Watanabe
6e574ebd00
sd-device: introduce device_has_db() helper function
2023-12-23 04:45:13 +09:00
Yu Watanabe
91fd5e6bd2
sd-device: modernize device_update_db() and friends
...
- introduce device_should_have_db(),
- split out device_get_db_path(),
- update log messages, especially clarify which stage is failed,
- use _cleanup_(unlink_and_freep) attribute,
- clear existing database file also when failed to create database directory
and when failed to create temporary file.
2023-12-23 04:45:03 +09:00
Yu Watanabe
5d64eb5593
udev-spawn: slightly adjust logs about timed out commands
...
- Add full stop to the messages.
- Do not kill commands before logging "killing", but do after.
2023-12-23 04:31:39 +09:00
Yu Watanabe
9cceb0be21
udev: refuse too short timeout value
...
Setting zero or too short timeout for each uevent is meaningless, and
causes the system fails to boot. Let's refuse such values.
Also, delaying execution of RUN= commands too long also makes many
uevents enter the failed state. So, let's refuse such misconfiguration.
2023-12-23 04:30:32 +09:00
Yu Watanabe
aff70e1388
udev: handle event_timeout=infinity correctly
...
This is a paranoia, as even USEC_INFINITY / 3 is finite, it is still so large
in general.
2023-12-23 04:30:32 +09:00
Yu Watanabe
7ca31a91de
udev-manager: use ASSERT_PTR()
2023-12-23 04:30:32 +09:00
Yu Watanabe
3a6c22274c
dhcp: introduce sd_dhcp_duid_to_string()
...
This also renames sd_dhcp6_client_duid_as_string() ->
sd_dhcp6_client_get_duid_as_string(), and make it use
sd_dhcp_duid_to_string().
2023-12-23 04:15:09 +09:00
Yu Watanabe
ce9bd20616
sd-dhcp6-client: introduce direct getter and setter of DUID
2023-12-23 04:15:09 +09:00
Yu Watanabe
97c3506dcd
dhcp: introduce sd_dhcp_duid and move relevant functions to sd_dhcp_duid.[ch]
2023-12-23 04:15:09 +09:00
Yu Watanabe
c74d18e4ad
dhcp: cleanup headers included by dhcp-identifier.h
2023-12-23 04:15:09 +09:00
Yu Watanabe
f8f59f3280
backlight: split out verb_load() and verb_save(), then use dispatch_verb()
...
No functional change, just refactoring.
2023-12-23 03:53:28 +09:00
Yu Watanabe
48de55c38c
backlight: use WRITE_STRING_FILE_MKDIR_0755 flag on save
...
No functional change, just refactoring.
2023-12-23 03:53:28 +09:00
Yu Watanabe
78b4ff5df4
backlight: split out read_saved_brightness()
...
No functional change, just refactoring.
2023-12-23 03:53:28 +09:00
Yu Watanabe
69ba99f9f3
backlight: split out device_new_from_arg()
...
While at it, this replaces strndupa_safe() with strndup(), as the input
is a user-controlled string.
No functional change, just refactoring.
2023-12-23 03:53:28 +09:00
Yu Watanabe
7135e6291d
backlight: split out build_save_file_path()
...
No functional change, just refactoring.
2023-12-23 03:53:28 +09:00
Yu Watanabe
0e1564a261
backlight: move validity check of max_brightness to get_max_brightness()
...
Also rename get_max_brightness() -> read_max_brightness() for
consistency with read_brightness().
2023-12-23 03:53:28 +09:00
Yu Watanabe
fb53ee0a64
tree-wide: use device_in_subsystem() and device_is_devtype()
2023-12-23 03:52:21 +09:00
Yu Watanabe
3b34580d1a
device-util: introduce device_in_subsystem() and device_is_devtype() helper functions
2023-12-23 03:52:21 +09:00
Yu Watanabe
2b575c0c95
Merge pull request #30585 from YHNdnzj/isatty-handling
...
various: clean up isatty() handling
2023-12-23 03:19:19 +09:00
Yu Watanabe
2962a50850
systemctl: swap cached_id_map and cached_name_map
...
These are unused or used in the same order. So, this patch does not
change any behavior, just for naming consistency with the function
prototype.
Closes #30570 .
2023-12-22 12:34:01 +09:00
Yu Watanabe
a16335cd17
Merge pull request #30553 from yuwata/network-post-event-source
...
network: merge two post event sources
2023-12-22 11:50:56 +09:00
Yu Watanabe
4e22097489
Merge pull request #30541 from yuwata/network-address-empty
...
network/address: make Address= in [Network] support an empty string
2023-12-22 11:50:44 +09:00
Yu Watanabe
2c6c2b893b
Merge pull request #30568 from poettering/creds-varlink
...
creds: add varlink interface to encrypt/decrypt credentials
2023-12-22 05:30:23 +09:00
Yu Watanabe
4d5ea06c83
Merge pull request #30566 from poettering/varlink-inval-param
...
add a new helper varlink_error_invalid_parameter_name(), and make more use of the existing varlink_error_invalid_parameter()
2023-12-22 05:28:36 +09:00
Yu Watanabe
207aafe7e1
Merge pull request #30567 from yuwata/hashmap_isempty
...
tree-wide: use hashmap_isempty() and friends
2023-12-22 02:36:19 +09:00
Yu Watanabe
187f920713
Merge pull request #30564 from poettering/varlink-log-tweaks
...
varlink: minor fixes & tweaks
2023-12-22 02:31:09 +09:00
Yu Watanabe
6280da4746
Merge pull request #30563 from poettering/socket-tweaks
...
two minor tweak to socket-util.c
2023-12-22 02:30:46 +09:00
Yu Watanabe
474536c949
sd-journal: use FOREACH_ARRAY() at one more place
2023-12-22 01:28:44 +09:00