1
0
mirror of https://github.com/systemd/systemd synced 2025-10-05 03:34:46 +02:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Yaping Li
603916702d test-memstream-util.c: Migrate to new assertion macros
We recently added a new set of assertion macros such as ASSERT_GE, ASSERT_OK, ASSERT_EQ, ... which show not
only the expression that failed but also the values of the arguments of the expression. Let's use them.
2025-07-24 20:45:35 +09:00
Luca Boccassi
486fa5ece6 LICENSES/README: update file paths after moves
Follow-up for 1a60b97524d8408e5f059b09ae316987c698e671
2025-07-24 20:44:19 +09:00
Luca Boccassi
28eec22f2f Fix typos found by Lintian 2025-07-24 11:38:47 +02:00
Zbigniew Jędrzejewski-Szmek
91085f308f NEWS: add description for DHCPv6 SIP feature
Also move the description of IPv4DuplicateAddressDetectionTimeoutSec=
to the section about systemd-networkd. The change of the timeout doesn't
have to be described as "incompatible". It's more of a bugfix, the previous
timeout was just strangely large and hopefully nobody relied on this detail
of implementation.

Also, reword to say that MPLSRouting= just controls enablement, nothing more.
2025-07-24 09:01:12 +02:00
Zbigniew Jędrzejewski-Szmek
806efaf223 NEWS: some typos and whitespace fixes 2025-07-24 09:00:57 +02:00
6 changed files with 45 additions and 40 deletions

View File

@ -34,21 +34,21 @@ The following exceptions apply:
and test programs) are also distributed under **GPL-2.0-or-later**. and test programs) are also distributed under **GPL-2.0-or-later**.
Note, sources under src/libudev are licensed under **LGPL-2.1-or-later**, Note, sources under src/libudev are licensed under **LGPL-2.1-or-later**,
so libudev library is also distributed under **LGPL-2.1-or-later**. so libudev library is also distributed under **LGPL-2.1-or-later**.
* the header files contained in src/basic/include/linux are copied * the header files contained in src/include/uapi/linux/ are copied
verbatim from the Linux kernel source tree and are licensed under **GPL-2.0 WITH verbatim from the Linux kernel source tree and are licensed under **GPL-2.0 WITH
Linux-syscall-note** and are used within the scope of the Linux-syscall-note Linux-syscall-note** and are used within the scope of the Linux-syscall-note
exception provisions exception provisions
* the src/basic/utf8.c source is licensed under the **LGPL-2.0-or-later** license. * the src/basic/utf8.c source is licensed under the **LGPL-2.0-or-later** license.
* the src/basic/include/linux/bpf_insn.h header is copied from the Linux kernel * the src/include/uapi/linux/bpf_insn.h header is copied from the Linux kernel
source tree and is licensed under either **BSD-2-Clause** or **GPL-2.0-only**, source tree and is licensed under either **BSD-2-Clause** or **GPL-2.0-only**,
and thus is included in the systemd build under the BSD-2-Clause license. and thus is included in the systemd build under the BSD-2-Clause license.
* The src/basic/include/linux/wireguard.h header is copied from the Linux kernel * The src/include/uapi/linux/wireguard.h header is copied from the Linux kernel
source tree and is licensed under either **MIT** or **GPL-2.0 WITH Linux-syscall-note**, source tree and is licensed under either **MIT** or **GPL-2.0 WITH Linux-syscall-note**,
and thus is included in the systemd build under the MIT license. and thus is included in the systemd build under the MIT license.
* the following sources are licensed under the **MIT** license (in case of our * the following sources are licensed under the **MIT** license (in case of our
scripts, to facilitate copying and reuse of those helpers to other projects): scripts, to facilitate copying and reuse of those helpers to other projects):
- hwdb.d/parse_hwdb.py - hwdb.d/parse_hwdb.py
- src/basic/include/linux/batman_adv.h - src/include/uapi/linux/batman_adv.h
- src/basic/sparse-endian.h - src/basic/sparse-endian.h
- tools/catalog-report.py - tools/catalog-report.py
* the following sources are licensed under the **CC0-1.0** license: * the following sources are licensed under the **CC0-1.0** license:
@ -70,8 +70,8 @@ The following exceptions apply:
- src/fundamental/sha1-fundamental.c - src/fundamental/sha1-fundamental.c
- src/fundamental/sha1-fundamental.h - src/fundamental/sha1-fundamental.h
* the following files are licensed under **BSD-3-Clause** license: * the following files are licensed under **BSD-3-Clause** license:
- src/boot/efi/chid.c - src/boot/chid.c
- src/boot/efi/chid.h - src/boot/chid.h
* Heebo fonts under docs/fonts/ are licensed under the **SIL Open Font License 1.1**, * Heebo fonts under docs/fonts/ are licensed under the **SIL Open Font License 1.1**,
* any files under test/ without an explicit license we assume non-copyrightable * any files under test/ without an explicit license we assume non-copyrightable
(eg: computer-generated fuzzer data) (eg: computer-generated fuzzer data)

39
NEWS
View File

@ -98,11 +98,6 @@ CHANGES WITH 258 in spe:
* The D-Bus method org.freedesktop.systemd1.StartAuxiliaryScope() has * The D-Bus method org.freedesktop.systemd1.StartAuxiliaryScope() has
been removed, which was deprecated since v257. been removed, which was deprecated since v257.
* systemd-networkd now supports configuring the timeout for IPv4
Duplicate Address Detection via a new setting
IPv4DuplicateAddressDetectionTimeoutSec=. The default timeout value
has been changed from 7 seconds to 200 milliseconds.
* systemd-networkd previously emitted the machine ID as chassis ID * systemd-networkd previously emitted the machine ID as chassis ID
through LLDP protocol, but now emits a deterministic ID, through LLDP protocol, but now emits a deterministic ID,
cryptographically derived from the machine ID as chassis ID. If you cryptographically derived from the machine ID as chassis ID. If you
@ -132,8 +127,8 @@ CHANGES WITH 258 in spe:
DeviceAllow=/DevicePolicy= (and thus restrict access to device nodes) DeviceAllow=/DevicePolicy= (and thus restrict access to device nodes)
will now also make use of the systemd-creds.socket Varlink will now also make use of the systemd-creds.socket Varlink
functionality, and will not attempt to decrypt the credentials functionality, and will not attempt to decrypt the credentials
in-process (and attempt to try to talk to the TPM for in-process (and attempt to try to talk to the TPM for that).
that). Previously, encrypted credentials for per-system services were Previously, encrypted credentials for per-system services were
incompatible with PrivateDevices= and resulted in automatic extension incompatible with PrivateDevices= and resulted in automatic extension
of the DeviceAllow= list. The latter behaviour has been removed. of the DeviceAllow= list. The latter behaviour has been removed.
@ -162,9 +157,9 @@ CHANGES WITH 258 in spe:
Announcements of Future Feature Removals: Announcements of Future Feature Removals:
* Support for System V service scripts is deprecated and will be * Support for System V service scripts is deprecated and will be
removed in v259. Please make sure to update your software removed in v259. Please make sure to update your software *now* to
*now* to include a native systemd unit file instead of a legacy include a native systemd unit file instead of a legacy System V
System V script to retain compatibility with future systemd releases. script to retain compatibility with future systemd releases.
* Support for systemd-repart's FactoryReset EFI variable has been * Support for systemd-repart's FactoryReset EFI variable has been
deprecated and support for it will be removed in v260. Use the newer, deprecated and support for it will be removed in v260. Use the newer,
@ -500,9 +495,19 @@ CHANGES WITH 258 in spe:
systemd-networkd: systemd-networkd:
* The [Network] section in .network fails gained a new setting * systemd-networkd now supports configuring the timeout for IPv4
MPLSRouting= which may be used to control Multi-Protocol Label Duplicate Address Detection via a new setting
Switching on an interface. IPv4DuplicateAddressDetectionTimeoutSec=. The default timeout value
has been changed from 7 seconds to 200 milliseconds.
* systemd-networkd gained support for IPv6 SIP, i.e. DHCPv6 options
SD_DHCP6_OPTION_SIP_SERVER_DOMAIN_NAME (21) and
SD_DHCP6_OPTION_SIP_SERVER_ADDRESS (22), controlled by a new UseSIP=
option in the [DHCPv6] section.
* A new MPLSRouting= setting in the [Network] section in .network files
can be used to control whether Multi-Protocol Label Switching is
enabled on an interface.
* A system-wide default for ClientIdentifier= may now be set in * A system-wide default for ClientIdentifier= may now be set in
networkd.conf. (Previously this had to be configured individually in networkd.conf. (Previously this had to be configured individually in
@ -522,14 +527,14 @@ CHANGES WITH 258 in spe:
* .netdev files gained new External=/VNIFilter= settings in [VXLAN] * .netdev files gained new External=/VNIFilter= settings in [VXLAN]
section. section.
* .netdev files can now configure HSR/SRP network devices too, via he new * .netdev files can now configure HSR/SRP network devices too, via a
[HSR] section. new [HSR] section.
* The LLDP client will now pick up the VLAN Id from LLDP data. The LLDP * The LLDP client will now pick up the VLAN Id from LLDP data. The LLDP
sender will now send this field on VLAN devices. sender will now send this field on VLAN devices.
* The DHCPv4 client in systemd-networkd now also supports BOOTP (via * The DHCPv4 client in systemd-networkd now also supports BOOTP (via a
the new BOOTP= setting). new BOOTP= setting).
* The Local= setting in [Tunnel] section gained a new "dhcp_pd" value * The Local= setting in [Tunnel] section gained a new "dhcp_pd" value
to allow setting the local address based on dhcp-pd addresses. to allow setting the local address based on dhcp-pd addresses.

View File

@ -101,8 +101,8 @@
<listitem><para>Takes one of <option>pre-udev</option>, <option>pre-basic</option>, <listitem><para>Takes one of <option>pre-udev</option>, <option>pre-basic</option>,
<option>pre-mount</option>, or <option>pre-switch-root</option> (the default for the <option>pre-mount</option>, or <option>pre-switch-root</option> (the default for the
<literal>rd.</literal> option). It also accepts multiple values separated by comma <literal>rd.</literal> option). It also accepts multiple values separated by comma
(<literal>,</literal>). These options allow to pause the boot process at a certain point and spawn a (<literal>,</literal>). These options allow one to pause the boot process at a certain point and spawn
debug shell. After exiting this shell, the system will resume booting. The option prefixed with a debug shell. After exiting this shell, the system will resume booting. The option prefixed with
<literal>rd.</literal> is honored only in the initrd, while the one without prefix is only honored on <literal>rd.</literal> is honored only in the initrd, while the one without prefix is only honored on
the host.</para> the host.</para>

View File

@ -147,8 +147,8 @@
<listitem><para>If this option is specified, in place of the URL a simple filename may be <listitem><para>If this option is specified, in place of the URL a simple filename may be
specified. If the system is booted via UEFI HTTP network booting the last component of the specified. If the system is booted via UEFI HTTP network booting the last component of the
network boot origin URL is replaced by this filename and used as download source. This hence network boot origin URL is replaced by this filename and used as download source. This hence
allows to automatically derive the URLs for disk images from the original boot URL used to invoke allows one to automatically derive the URLs for disk images from the original boot URL used to
the kernel or boot loader.</para> invoke the kernel or boot loader.</para>
<para>If this option is used and the system is not actually booted via UEFI HTTP network booting, <para>If this option is used and the system is not actually booted via UEFI HTTP network booting,
the download is gracefully skipped. Or in other words without other modifications it is possible the download is gracefully skipped. Or in other words without other modifications it is possible

View File

@ -1073,7 +1073,7 @@
<varlistentry> <varlistentry>
<term><varname>ReceiveAll=</varname></term> <term><varname>ReceiveAll=</varname></term>
<listitem> <listitem>
<para>Takes a boolean. If set to true, allow to also receive damaged ethernet frames. <para>Takes a boolean. If set to true, allow the interface to also receive damaged ethernet frames.
When unset, the kernel's default will be used.</para> When unset, the kernel's default will be used.</para>
<xi:include href="version-info.xml" xpointer="v258"/> <xi:include href="version-info.xml" xpointer="v258"/>

View File

@ -6,7 +6,7 @@
TEST(memstream_done) { TEST(memstream_done) {
_cleanup_(memstream_done) MemStream m = {}; _cleanup_(memstream_done) MemStream m = {};
assert_se(memstream_init(&m)); ASSERT_NOT_NULL(memstream_init(&m));
} }
TEST(memstream_empty) { TEST(memstream_empty) {
@ -14,10 +14,10 @@ TEST(memstream_empty) {
_cleanup_free_ char *buf = NULL; _cleanup_free_ char *buf = NULL;
size_t sz; size_t sz;
assert_se(memstream_init(&m)); ASSERT_NOT_NULL(memstream_init(&m));
assert_se(memstream_finalize(&m, &buf, &sz) >= 0); ASSERT_OK(memstream_finalize(&m, &buf, &sz));
ASSERT_STREQ(buf, ""); ASSERT_STREQ(buf, "");
assert_se(sz == 0); ASSERT_EQ(sz, 0u);
} }
TEST(memstream) { TEST(memstream) {
@ -26,7 +26,7 @@ TEST(memstream) {
size_t sz; size_t sz;
FILE *f; FILE *f;
assert_se(f = memstream_init(&m)); ASSERT_NOT_NULL(f = memstream_init(&m));
fputs("hoge", f); fputs("hoge", f);
fputs("おはよう!", f); fputs("おはよう!", f);
fputs(UTF8("😀😀😀"), f); fputs(UTF8("😀😀😀"), f);
@ -36,24 +36,24 @@ TEST(memstream) {
buf = mfree(buf); buf = mfree(buf);
assert_se(f = memstream_init(&m)); ASSERT_NOT_NULL(f = memstream_init(&m));
fputs("second", f); fputs("second", f);
assert_se(memstream_finalize(&m, &buf, &sz) >= 0); ASSERT_OK(memstream_finalize(&m, &buf, &sz));
ASSERT_STREQ(buf, "second"); ASSERT_STREQ(buf, "second");
assert_se(sz == strlen("second")); ASSERT_EQ(sz, strlen("second"));
} }
TEST(memstream_dump) { TEST(memstream_dump) {
_cleanup_(memstream_done) MemStream m = {}; _cleanup_(memstream_done) MemStream m = {};
FILE *f; FILE *f;
assert_se(f = memstream_init(&m)); ASSERT_NOT_NULL(f = memstream_init(&m));
fputs("first", f); fputs("first", f);
assert_se(memstream_dump(LOG_DEBUG, &m) >= 0); ASSERT_OK(memstream_dump(LOG_DEBUG, &m));
assert_se(f = memstream_init(&m)); ASSERT_NOT_NULL(f = memstream_init(&m));
fputs("second", f); fputs("second", f);
assert_se(memstream_dump(LOG_DEBUG, &m) >= 0); ASSERT_OK(memstream_dump(LOG_DEBUG, &m));
} }
DEFINE_TEST_MAIN(LOG_DEBUG); DEFINE_TEST_MAIN(LOG_DEBUG);