Yu Watanabe
b9152f2d63
resolve: optimize conversion of TXT fields to json
...
Fixes oss-fuzz#54080 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54080 ).
Fixes #25654 .
2022-12-09 04:59:49 +09:00
Yu Watanabe
7d34567444
hexdecoct: fix NULL pointer dereferences in hexmem()
...
Fixes oss-fuzz#54090 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54090 ).
Fixes #25655 .
2022-12-09 04:55:47 +09:00
Yu Watanabe
45655e776f
hexdecoct: add missing NULL check
...
Fixes oss-fuzz#54065 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54065 ).
Fixes #25650 .
2022-12-09 04:54:43 +09:00
Lennart Poettering
39a72c13b8
Merge pull request #25665 from poettering/dissect-memory
...
dissect: add a mode for operating on an in-memory copy of a DDI, inst…
2022-12-08 17:23:15 +01:00
Lennart Poettering
a579990277
Merge pull request #25180 from keszybz/ukify
...
ukify: add helper to create UKIs
2022-12-08 15:11:18 +01:00
Lennart Poettering
971d83a8d3
test: add simple test for new --in-memory switch for systemd-dissect
2022-12-08 12:49:50 +01:00
Yu Watanabe
daff9d5460
Merge pull request #25564 from poettering/dissect-discover
...
systemd-dissect: add simple "--discover" command
2022-12-08 12:29:07 +09:00
Frantisek Sumsal
5dd34c2604
test: wait for the monitoring service to become active
...
Otherwise we might start querying resolved too early, causing the
monitoring service to miss stuff:
```
[ 1103.149474] testsuite-75.sh[35]: + systemd-run -u resmontest.service -p Type=notify resolvectl monitor
[ 1103.353803] testsuite-75.sh[423]: Running as unit: resmontest.service
[ 1103.353989] testsuite-75.sh[35]: + knotc zone-begin test.
[ 1103.354160] testsuite-75.sh[425]: OK
...
[ 1103.355298] testsuite-75.sh[35]: + knotc reload
[ 1103.355363] testsuite-75.sh[438]: Reloaded
[ 1103.355536] testsuite-75.sh[35]: + : '--- nss-resolve/nss-myhostname tests'
[ 1103.355536] testsuite-75.sh[35]: + run getent -s resolve hosts ns1.unsigned.test
[ 1103.356127] testsuite-75.sh[443]: + getent -s resolve hosts ns1.unsigned.test
[ 1103.356505] testsuite-75.sh[444]: + tee /tmp/tmp.bXg5Uj5Jkk
[ 1103.359591] resolvectl[424]: → Q: ns1.unsigned.test IN AAAA
[ 1103.359591] resolvectl[424]: ← S: success
[ 1103.359850] testsuite-75.sh[444]: 10.0.0.1 ns1.unsigned.test
[ 1103.359939] resolvectl[424]: → Q: ns1.unsigned.test IN A
[ 1103.359939] resolvectl[424]: ← S: success
[ 1103.359939] resolvectl[424]: ← A: ns1.unsigned.test IN A 10.0.0.1
[ 1103.360149] testsuite-75.sh[35]: + grep -qE '^10\.0\.0\.1\s+ns1\.unsigned\.test' /tmp/tmp.bXg5Uj5Jkk
[ 1103.362119] systemd[1]: Starting resmontest.service...
[ 1103.362633] systemd[1]: Started resmontest.service.
[ 1103.363263] testsuite-75.sh[35]: + monitor_check_rr 'ns1.unsigned.test IN A 10.0.0.1'
[ 1103.363263] testsuite-75.sh[35]: + local 'match=ns1.unsigned.test IN A 10.0.0.1'
[ 1103.363377] testsuite-75.sh[35]: + set +o pipefail
[ 1103.363836] testsuite-75.sh[458]: + journalctl -u resmontest.service -f --full
[ 1103.364042] testsuite-75.sh[459]: + grep -m1 'ns1.unsigned.test IN A 10.0.0.1'
...
Trying to halt container. Send SIGTERM again to trigger immediate termination.
Container TEST-75 terminated by signal KILL.
```
2022-12-08 09:05:14 +09:00
Luca Boccassi
2d18605ca8
Merge pull request #25632 from keszybz/chroot-fix
...
Add trivial check for preset operation in chroot
2022-12-07 20:51:47 +01:00
Lennart Poettering
0305cf6e9d
dissect: add simple --discover command
2022-12-07 17:57:22 +01:00
Yu Watanabe
b448fc0a6f
test-network: try to change MAC address more
...
Follow-up for 23b6bf274fc1a46d8778bfc979d3c803d61a1f5c.
2022-12-07 15:08:23 +01:00
Zbigniew Jędrzejewski-Szmek
1f9caf28ca
TEST-65: use [[ -v ]] more
...
It's a bashism, but we use other bash features anyway, and it's cleaner
and much less verbose.
2022-12-07 12:38:15 +01:00
Zbigniew Jędrzejewski-Szmek
a7eed3eca3
TEST-65: check cat-config operation in chroot
...
This verifies the fix in 2075b6dd394e09a0f203b9cc7e3253908397f933.
2022-12-07 12:38:10 +01:00
Yu Watanabe
bf9afd7b31
Merge pull request #25628 from zhangjian3032/dev/fix-set-bond-mac-failed
...
network: Fix set bond device MAC address failed
2022-12-07 13:34:39 +09:00
Jian Zhang
23b6bf274f
test-network: add test for bond mac address config
...
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
2022-12-06 14:41:31 +08:00
Yu Watanabe
76519cecc7
escape: fix wrong octescape of bad character
...
Fixes a bug introduced by 95052df3760523e1f3bb9705c918d85aae7fb431.
This also makes octescape() support NULL or zero length string.
Fixes [oss-fuzz#54059](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54059 ).
Fixes #25643 .
2022-12-06 12:18:10 +09:00
Luca Boccassi
de28dd77c1
test: double default image size
...
I am now hitting the 500MB limit on Debian stable.
2022-12-05 15:17:57 +00:00
Zbigniew Jędrzejewski-Szmek
cda7c31065
Merge pull request #25537 from evverx/fuzz-resource-records
...
tests: fuzz dns resource records
2022-12-05 13:41:38 +01:00
Frantisek Sumsal
d19e5540f2
test: check if we can use SHA1 MD for signing before using it
...
Some distributions have started phasing out SHA1, which breaks
the systemd-measure test case in its current form. Let's make sure we
can use SHA1 for signing beforehand to mitigate this.
Spotted on RHEL 9, where SHA1 signatures are disallowed by [0]:
```
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out "/tmp/pcrsign-private.pem"
...
openssl rsa -pubout -in "/tmp/pcrsign-private.pem" -out "/tmp/pcrsign-public.pem"
writing RSA key
/usr/lib/systemd/systemd-measure sign --current --bank=sha1 --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem"
Failed to initialize signature context.
```
[0] https://gitlab.com/redhat/centos-stream/rpms/openssl/-/blob/c9s/0049-Selectively-disallow-SHA1-signatures.patch
2022-12-02 14:33:05 +01:00
Yu Watanabe
46dc071985
bootspec: fix null-dereference-read
...
Fixes [oss-fuzz#53578](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53578 ).
Fixes #25450 .
2022-12-02 14:23:45 +01:00
Zbigniew Jędrzejewski-Szmek
50f2c32cd5
tests: add a simple test that bootctl output is valid json
...
python's json.tool module is used because it does validation. jq is more forgiving.
Also, json is in the stdlib, so it should be always available.
2022-12-01 18:01:00 +01:00
Frantisek Sumsal
55f7c96c8d
test: a couple of pylint-related tweaks
2022-11-30 16:18:50 +01:00
Frantisek Sumsal
8a7032cfb1
test: give the container time to properly shut down on exception
...
Otherwise the `terminate()` method sends SIGKILL rather quickly (~0.3s),
which then leaves a dangling scope on the host system, breaking further
test executions.
2022-11-30 16:13:19 +01:00
Yu Watanabe
7a95d1d8d1
Merge pull request #25508 from enr0n/test-various-fixes
...
Fix test failures found in Ubuntu autopkgtest
2022-11-29 13:46:39 +09:00
Luca Boccassi
8936a2a8f0
Merge pull request #25532 from Werkov/fix-cgtop-args
...
cgtop: Do not rewrite -P or -k options
2022-11-28 22:20:47 +01:00
Nick Rosbrook
bb59fdc1e3
test: handle Debian's /etc/default/locale in testsuite-74.firstboot.sh
...
This handles a Debian-specific quirk where /etc/default/locale is used
instead of /etc/locale.conf. There is currently special handling for
this in testsuite-73.sh, so the quirk should be handled here too for
consistency.
2022-11-28 11:01:22 -05:00
Nick Rosbrook
84e5b9225d
test: make sure mount point exists in testsuite-64.sh
2022-11-28 10:55:20 -05:00
Michal Koutný
d4e32838e8
test: Add tests for systemd-cgtop args parsing
2022-11-28 14:29:49 +01:00
Evgeny Vereshchagin
49f936cd0a
tests: add a file triggering "applying zero offset to null pointer"
...
```
../src/basic/hexdecoct.c:66:44: runtime error: applying zero offset to null pointer
#0 0x7f6022650c44 in hexmem /home/vagrant/systemd/build-fuzzers/../src/basic/hexdecoct.c:66:44
#1 0x577583 in dns_resource_record_to_string /home/vagrant/systemd/build-fuzzers/../src/resolve/resolved-dns-rr.c:1140:21
#2 0x563669 in LLVMFuzzerTestOneInput /home/vagrant/systemd/build-fuzzers/../src/resolve/fuzz-resource-record.c:25:39
#3 0x44d2a1 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/vagrant/systemd/out/fuzz-resource-record+0x44d2a1) (BuildId: 88135c111396e9441a475302ccabd2f9a58c7e89)
#4 0x42d32f in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) (/home/vagrant/systemd/out/fuzz-resource-record+0x42d32f) (BuildId: 88135c111396e9441a475302ccabd2f9a58c7e89)
#5 0x434920 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/vagrant/systemd/out/fuzz-resource-record+0x434920) (BuildId: 88135c111396e9441a475302ccabd2f9a58c7e89)
#6 0x424006 in main (/home/vagrant/systemd/out/fuzz-resource-record+0x424006) (BuildId: 88135c111396e9441a475302ccabd2f9a58c7e89)
#7 0x7f602142950f in __libc_start_call_main (/lib64/libc.so.6+0x2950f) (BuildId: 85c438f4ff93e21675ff174371c9c583dca00b2c)
#8 0x7f60214295c8 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x295c8) (BuildId: 85c438f4ff93e21675ff174371c9c583dca00b2c)
#9 0x424044 in _start (/home/vagrant/systemd/out/fuzz-resource-record+0x424044) (BuildId: 88135c111396e9441a475302ccabd2f9a58c7e89)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/basic/hexdecoct.c:66:44 in
```
2022-11-26 11:57:22 +00:00
Evgeny Vereshchagin
b6e8a4f2b6
tests: add a file triggering crash in type_bitmap_to_json
...
It's a follow-up to https://github.com/systemd/systemd/pull/25518
2022-11-25 19:32:04 +00:00
Lennart Poettering
17f244e8f9
resolved: introduce the _localdnsstub and _localdnsproxy special hostnames for 127.0.0.54 + 127.0.0.53
...
Let's give these special IP addresses names. After all name resolution
is our job here.
Fixes : #23623
2022-11-25 17:37:30 +01:00
Daan De Meyer
7d505753f1
repart: Add --skip-partitions=
...
--include-partitions and --exclude-partitions now fully exclude
partitions from repart. Whenever a partition type is excluded, we
don't take any partitions of that type into account at all when
running systemd-repart.
--skip-partitions= is introduced to do what --exclude-partitions did
previously. Any skipped partitions are taken into acount when doing
size calculations, but are not yet populated.
Why do we need both concepts? Exclusion is needed so that we can
use shared repart definitions to generate bootable and non-bootable
images. When generating a non-bootable image, we use --exclude-partitions
to exclude the ESP partition. Skipping is needed so that we can
populate the root partition while skipping the ESP partition, get
the roothash of the root partition, use that to generate a UKI, and
finally populate the ESP partition with the UKI included.
2022-11-25 12:07:38 +01:00
Yu Watanabe
26627c088b
Merge pull request #25423 from yuwata/network-tc-cake-rtt-and-ack-filter
...
network: tc-cake: support controlling RTT and ACK filter
2022-11-19 15:35:49 +09:00
Yu Watanabe
77d5f36d93
test-network: add tests for RTT and ACK filter for CAKE
2022-11-19 07:08:26 +09:00
Yu Watanabe
8077dc9657
Merge pull request #25389 from fbuihuu/update-test-for-opensuse
...
Update test/ for openSUSE
2022-11-19 05:58:51 +09:00
Franck Bui
eb1f60230a
test: fix the default timeout values described in README.testsuite
...
Unlike it was described, the default is 30 min.
2022-11-18 11:09:44 +01:00
Franck Bui
4e8172c88a
tests: update install_suse_systemd()
...
- Use inst_recursive() and image_install() helpers where appropriate
- Update comments to explain why we need to install the test data manually in
$initdir
- Install manual/ in $initdir as TEST-35-LOGIN relies on
manual/test-session-properties
2022-11-18 11:03:22 +01:00
Daan De Meyer
bb8b8875f4
Merge pull request #24944 from DaanDeMeyer/repart-rootless
...
repart: Add support for running without root privileges
2022-11-16 09:09:06 +01:00
Pasha Vorobyev
d7fe0a6723
MemoryZSwapMax directive to configure new memory.zswap.max cgroup file
2022-11-15 21:15:37 +01:00
Daan De Meyer
e2d057456d
repart: Run most repart integration tests without root privileges
...
To make sure rootless mode keeps working, let's run all repart
integration tests that we can without root privileges. The only ones
we need to keep running with root privileges are the tests that operate
on a block/loop device and those that use --image=.
2022-11-15 20:23:51 +01:00
Daan De Meyer
bf3598beff
mkfs-util: Add support to populate vfat without mounting using mcopy
...
mkfs.vfat doesn't support specifying a root directory to bootstrap
the filesystem from (see https://github.com/dosfstools/dosfstools/issues/183 ).
Instead, we can use the mcopy tool from the mtools package to copy
files into the vfat filesystem after creating it without needing to
mount the vfat filesystem.
2022-11-15 20:07:54 +01:00
Daan De Meyer
56bb434e9b
repart: Add integration test for --include/--exclude-partitions
2022-11-15 13:45:28 +01:00
Franck Bui
b75a210ad0
tests: install dmi-sysfs module on openSUSE
...
Required by TEST-54-CREDS.
2022-11-15 10:46:47 +01:00
Franck Bui
3adac701fb
tests: install systemd-resolved on openSUSE
...
It's needed since systemd-resolved has its own test suite (commit
fb6f25d7b979134adf57).
2022-11-15 10:46:27 +01:00
Daan De Meyer
14697c4156
repart: Add Minimize= integration test
2022-11-14 13:06:17 +01:00
Daan De Meyer
46fddd8eb6
Merge pull request #24803 from DaanDeMeyer/repart-copy-deny-list
...
repart: Don't descend into directories assigned to other partitions
2022-11-11 13:19:58 +01:00
Luca Boccassi
021397f776
Merge pull request #25325 from yuwata/resolve-cap-per-link-setting-by-global
...
resolve: provide effective mDNS or LLMNR settings
2022-11-10 23:20:40 +01:00
Lennart Poettering
63b130a6fc
test: add quick test for ensuring image UUID is deterministic based on the seed passed to repart
2022-11-10 17:33:51 +01:00
Lennart Poettering
71ea84369e
locale: honour new env var $SYSTEMD_UTF8=
...
This is useful to force off fancy unicode glyph use (i.e. use "->"
instead of "→"), which is useful in tests where locales might be
missing, and thus control via $LC_CTYPE is not reliable.
Use this in TEST-58, to ensure the output checks we do aren't confused
by missing these glyphs being unicode or not.
2022-11-10 17:20:36 +01:00
Daan De Meyer
bd69c2a85f
repart: Add integration test for #24678
2022-11-10 16:40:33 +01:00