1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-04 21:47:31 +03:00

66269 Commits

Author SHA1 Message Date
Yu Watanabe
5d098f5d36 network/neighbor: do not add Neighbor object to Link on requesting
Then, all neighbors managed by a link really exist (unless the kernel
silently removes neighbors).
2023-07-31 00:39:59 +09:00
Yu Watanabe
aa9626ee3b network/neighbor: follow the way how kernel distinguish neighbor settings
The kernel manages neighbors by the destination address, and the
LinkLayerAddress is mutable. Let's manage neighbors in the same way, and
dedup settings.
2023-07-31 00:00:07 +09:00
Yu Watanabe
bbeceaf295 network/neighbor: skip to request neighbors with unmatching link layer address length 2023-07-31 00:00:07 +09:00
Susant Sahani
f141b2c053 network: ndisc - Honour CurHopLimit
RFC4861 Neighbor Discovery – Sections 4.2 and 6.3.4

From section 4.2. Router Advertisement Message Format:

Cur Hop Limit        8-bit unsigned integer.  The default value that
                     should be placed in the Hop Count field of the IP
                     header for outgoing IP packets.  A value of zero
                     means unspecified (by this router).
2023-07-30 14:37:21 +01:00
Yu Watanabe
1a1f4a8092 network/address: merge address_needs_to_set_broadcast() with address_get_broadcast()
No functional change, preparation for later commits.
2023-07-30 14:33:23 +01:00
Luca Boccassi
9dabe36cb0
Merge pull request #28574 from yuwata/network-queue-next
network/queue: preparations
2023-07-30 14:27:43 +01:00
Luca Boccassi
1665bbbddf
Merge pull request #28571 from yuwata/network-address-next-part1
network: several trivial cleanups
2023-07-30 14:01:53 +01:00
Yu Watanabe
4d4d7910d9 network/neighbor: drop IPv6 settings when the kernel does not support IPv6 2023-07-30 13:57:13 +01:00
Yu Watanabe
754252f923 network: rename sd_netlink_message* req -> m
This also merges neighbor_configure_message() with neighbor_configure().
2023-07-30 13:55:18 +01:00
Yu Watanabe
22b906dd96
Merge pull request #28564 from YHNdnzj/gpt-auto-kill-more-duplicate
gpt-auto: don't mount ESP if there's an fstab entry for it
2023-07-30 08:59:50 +09:00
Yu Watanabe
0c491d0f34 meson: use kwargs to declare efi binaries
No functional change, just refactoring.
2023-07-30 08:57:55 +09:00
Frantisek Sumsal
9fe4e68cab analyze: fix pcrs verb output without TPM support
If we don't have TPM support then `alg` is NULL and passing this to
table_new() means we'd get a table with only two columns instead of
three, leading up to a very confusing output:

$ build/systemd-analyze pcrs
System lacks full TPM2 support, not showing PCR state.
                 NR NAME
                  0 platform-code
                  - 1
    platform-config -
                  2 external-code
                  - 3
    external-config -
                  4 boot-loader-code
                  - 5
 boot-loader-config -
                  6 -
                  - 7
...

Let's name the header in this case with a simple dash, as it's going
to be hidden anyway, to make the table nice again:

$ build/systemd-analyze pcrs
System lacks full TPM2 support, not showing PCR state.
NR NAME
 0 platform-code
 1 platform-config
 2 external-code
 3 external-config
 4 boot-loader-code
 5 boot-loader-config
 6 -
 7 secure-boot-policy
...
2023-07-30 08:57:37 +09:00
Yu Watanabe
cbcf76b193 tree-wide: fix typo 2023-07-30 00:23:28 +09:00
Yu Watanabe
008f1e5443 network/queue: detach request from queue when netlink reply received
Then, we can find and use the Request object after sending netlink
message.

Preparation for later commits.
2023-07-29 23:27:21 +09:00
Yu Watanabe
d256945fd0 network/queue: free assigned userdata only when a new request is queued 2023-07-29 23:27:19 +09:00
Yu Watanabe
a2532c9db8 network/address: split-out address_match_null()
No functional change, preparation for later commits.
2023-07-29 22:48:49 +09:00
Yu Watanabe
a3a25d01ce network: drop unnecessary conditions
When link_get_by_index() succeeds, the result is always non-NULL.
2023-07-29 22:48:49 +09:00
Yu Watanabe
5fb1f929d5 network: use address_remove_and_drop() 2023-07-29 22:48:49 +09:00
Yu Watanabe
f60e65583e network/address: free Address object by caller that passed to link_request_address()
Follow-up for 9684a8ded083dd427f843b0c40aa0292e6c7ae06.

Now, the input Address object is always copied, hence it is not
necessary to free it in link_request_address().
2023-07-29 22:48:49 +09:00
Yu Watanabe
ae85704760
Merge pull request #28562 from yuwata/ukify-option-length
ukify: check option length
2023-07-29 21:41:27 +09:00
Yu Watanabe
73a89c5601
Merge pull request #28563 from keszybz/configure-meson
configure: update meson invocation
2023-07-29 21:40:58 +09:00
Zbigniew Jędrzejewski-Szmek
79ce5f940e labeller: add build-system label 2023-07-29 14:11:14 +02:00
Zbigniew Jędrzejewski-Szmek
4f3c90acfe configure: update meson invocation
New meson says:
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.

Inspired by https://github.com/systemd/systemd/issues/28482.
2023-07-29 14:08:06 +02:00
Mike Yuan
7893a547eb
gpt-auto: don't mount ESP if there's an fstab entry for it
Follow-up for #28511

Fixes #28550
2023-07-29 20:06:41 +08:00
Mike Yuan
24c0078a84
fstab-util: add fstab_has_node 2023-07-29 20:00:55 +08:00
Luca Boccassi
e72b28eb7a
Merge pull request #28557 from bluca/utils
utils: add serialize_bool_elide() and send/receive helpers for FD array
2023-07-29 12:39:06 +01:00
Luca Boccassi
fc3fe92bc8
Merge pull request #28508 from yuwata/network-next-dhcp4
network: several cleanups and fixes for DHCPv4 client
2023-07-29 12:15:38 +01:00
Yu Watanabe
e3c04a5c84 test-ukify: add tests for an empty argument 2023-07-29 19:57:35 +09:00
Yu Watanabe
3adc3b799a
Merge pull request #28409 from yuwata/network-dhcp4-drop-duid-only
network,dhcp4: drop "duid-only" option support in ClientIdentifier=
2023-07-29 19:55:57 +09:00
Luca Boccassi
942c40c64c serialize: add serialize_bool_elide() helper
In many case we serialize into objects that have been zero-initialized.
To save some time and resources when there are a lot of booleans, add a
helper that serializes only when the boolean is true.
2023-07-29 11:25:05 +01:00
Luca Boccassi
598d2428e1 socket-util: add send/receive helpers for FD array 2023-07-29 11:25:05 +01:00
Sven Joachim
b4e8c6d972 mkosi: set CONFIG_AUTOFS_FS rather than CONFIG_AUTOFS4_FS
Since Linux 4.18 CONFIG_AUTOFS4_FS just enables CONFIG_AUTOFS_FS, its
description in fs/autofs/Kconfig reads:

	   This name exists for people to just automatically pick up the
	   new name of the autofs Kconfig option. All it does is select
	   the new option name.

	   It will go away in a release or two as people have
	   transitioned to just plain AUTOFS_FS.
2023-07-29 11:18:25 +01:00
Yu Watanabe
dc3f9b5e10 NEWS: mention about the removal of duid-only option 2023-07-29 18:51:40 +09:00
Yu Watanabe
d8f19e03c0 network,dhcp: drop support of ClientIdentifier=duid-only
The setting has not been never worked, not tested, and should not been
used. As the option is RFC incompliant. Let's drop it.

Closes #25562.
2023-07-29 18:51:09 +09:00
Yu Watanabe
f0876c7ab9 ukify: check option length
Follow-up for df4a46733a609f1673de0bebb38e89fffd70c16c.
2023-07-29 18:48:32 +09:00
Yu Watanabe
dfecd67f30
Merge pull request #28558 from bluca/docs
Update docs/RELEASE.md and NEWS
2023-07-29 18:36:14 +09:00
Luca Boccassi
c405b91ff0 NEWS: open for v255 business 2023-07-28 23:44:17 +01:00
Luca Boccassi
fdacce7421 docs: note that Github Pages configuration has to be updated after a release 2023-07-28 23:42:20 +01:00
Luca Boccassi
b739b46919
Merge pull request #28391 from ssahani/rp-filter
networkd: allow setting rp_filter for an interface
2023-07-28 21:59:04 +01:00
Luca Boccassi
dbc69b29b0
Merge pull request #28552 from bluca/test_execute
test-execute: measure, count and log test runs
2023-07-28 20:48:41 +01:00
Luca Boccassi
b6349ffdc2 test-execute: count and log the number of individual tests actually executed 2023-07-28 19:35:38 +01:00
Luca Boccassi
b0d3095fd6 Drop split-usr and unmerged-usr support
As previously announced, execute order 66:

https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html

The meson options split-usr, rootlibdir and rootprefix become no-ops
that print a warning if they are set to anything other than the
default values. We can remove them in a future release.
2023-07-28 19:34:03 +01:00
Luca Boccassi
791a84ad51 test-execute: measure and log time elapsed while running tests
In order to get a good approximation of latencies when starting
services, timestamp before/after running the test cases and print
the difference. This allows to measure while ignoring the setup/shutdown
time for the test harness.
2023-07-28 16:43:13 +01:00
Luca Boccassi
1108285baa
Merge pull request #28551 from mrc0mmand/unit-cleanup-set
core: free the strings in the set as well during unit cleanup
2023-07-28 13:57:01 +01:00
Daan De Meyer
7ccb171c4c
Merge pull request #28359 from keszybz/ret-gather
Add RET_GATHER macro to make continue-but-remember-first-error functions easier
2023-07-28 14:28:35 +02:00
Frantisek Sumsal
9b412709f2 core: free the strings in the set as well during unit cleanup
Spotted while fuzzing #27890.

=================================================================
==908098==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7f4efe6d81f5 in __interceptor_realloc.part.0 (/lib64/libasan.so.8+0xd81f5) (BuildId: dc689b05ca2577037af24700212bb5cce1f91c8a)
    #1 0x7f4efb8e3ace in greedy_realloc ../src/basic/alloc-util.c:70
    #2 0x7f4efb93b713 in extract_first_word ../src/basic/extract-word.c:62
    #3 0x7f4efb970d50 in set_put_strsplit ../src/basic/hashmap.c:1902
    #4 0x7f4efd76c27e in exec_context_deserialize ../src/core/execute-serialize.c:3341
    #5 0x7f4efd778dcb in exec_deserialize ../src/core/execute-serialize.c:4122
    #6 0x4032c0 in LLVMFuzzerTestOneInput ../src/core/fuzz-execute-serialize.c:60
    #7 0x403c58 in main ../src/fuzz/fuzz-main.c:50
    #8 0x7f4efecccb49 in __libc_start_call_main (/lib64/libc.so.6+0x27b49) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #9 0x7f4efecccc0a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x27c0a) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #10 0x402344 in _start (/home/mrc0mmand/repos/@systemd/systemd/build-san/fuzz-execute-serialize+0x402344) (BuildId: 195f382cf1e39b9ba48d6dcf5a90f786d72837a8)

SUMMARY: AddressSanitizer: 64 byte(s) leaked in 1 allocation(s).
Aborted (core dumped)

==911550==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 17 byte(s) in 1 object(s) allocated from:
    #0 0x4df281 in strdup (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x4df281) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #1 0x7fe4ae2b38fc in _set_put_strndup_full /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/basic/hashmap.c:1868:21
    #2 0x7fe4b0bad897 in exec_context_deserialize /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/core/execute-serialize.c:3914:29
    #3 0x7fe4b0b80592 in exec_deserialize /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/core/execute-serialize.c:4109:13
    #4 0x531d0f in LLVMFuzzerTestOneInput /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/core/fuzz-execute-serialize.c:59:16
    #5 0x440594 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x440594) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #6 0x43f9b9 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x43f9b9) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #7 0x440fd5 in fuzzer::Fuzzer::MutateAndTestOne() (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x440fd5) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #8 0x441955 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x441955) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #9 0x42e151 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x42e151) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #10 0x45a916 in main (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x45a916) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #11 0x7fe4ac449b49 in __libc_start_call_main (/lib64/libc.so.6+0x27b49) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #12 0x7fe4ac449c0a in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x27c0a) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #13 0x422b74 in _start (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x422b74) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
SUMMARY: AddressSanitizer: 17 byte(s) leaked in 1 allocation(s).
2023-07-28 12:59:11 +02:00
Susant Sahani
ab2d9e2971 CI: network - Add test for rp_filter 2023-07-28 15:05:12 +05:30
Susant Sahani
9c72e8f8bc networkd: allow setting rp_filter for an interface 2023-07-28 14:38:27 +05:30
Luca Boccassi
afe7026511
Merge pull request #28335 from ssahani/dhcp4-route-option
network: DHCP4 allow to set InitialCongestionWindow and InitialAdvert…
2023-07-28 09:57:19 +01:00
Luca Boccassi
af59f6ae50
Merge pull request #28360 from keszybz/pointingstick-accel-drop
hwdb: drop POINTINGSTICK_CONST_ACCEL
2023-07-28 09:57:04 +01:00