mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
Merge pull request #30203 from yuwata/resolve-dump-cache
resolve: fix varlink message verification
This commit is contained in:
commit
499d32655f
|
@ -25,7 +25,46 @@ VARLINK_DEFINE_STRUCT_TYPE(
|
|||
VARLINK_DEFINE_FIELD(refresh, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(expire, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(minimum, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(exchange, VARLINK_STRING, VARLINK_NULLABLE));
|
||||
VARLINK_DEFINE_FIELD(exchange, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(version, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(size, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(horiz_pre, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(vert_pre, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(latitude, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(longitude, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(altitude, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(keyTag, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(algorithm, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(digestType, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(digest, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(fptype, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(fingerprint, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(flags, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(protocol, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(dnskey, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(signer, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(typeCovered, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(labels, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(originalTtl, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(expiration, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(inception, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(signature, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(nextDomain, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(types, VARLINK_INT, VARLINK_NULLABLE|VARLINK_ARRAY),
|
||||
VARLINK_DEFINE_FIELD(iterations, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(salt, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(hash, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(certUsage, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(selector, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(matchingType, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(data, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(tag, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(value, VARLINK_STRING, VARLINK_NULLABLE));
|
||||
|
||||
VARLINK_DEFINE_STRUCT_TYPE(
|
||||
ResourceRecordArray,
|
||||
VARLINK_DEFINE_FIELD_BY_TYPE(rr, ResourceRecord, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(raw, VARLINK_STRING, 0));
|
||||
|
||||
VARLINK_DEFINE_STRUCT_TYPE(
|
||||
Answer,
|
||||
|
@ -48,7 +87,7 @@ VARLINK_DEFINE_METHOD(
|
|||
VARLINK_DEFINE_STRUCT_TYPE(
|
||||
CacheEntry,
|
||||
VARLINK_DEFINE_FIELD_BY_TYPE(key, ResourceKey, 0),
|
||||
VARLINK_DEFINE_FIELD_BY_TYPE(rrs, ResourceRecord, VARLINK_NULLABLE|VARLINK_ARRAY),
|
||||
VARLINK_DEFINE_FIELD_BY_TYPE(rrs, ResourceRecordArray, VARLINK_NULLABLE|VARLINK_ARRAY),
|
||||
VARLINK_DEFINE_FIELD(type, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_FIELD(until, VARLINK_INT, 0));
|
||||
|
||||
|
@ -127,6 +166,7 @@ VARLINK_DEFINE_INTERFACE(
|
|||
&vl_method_ResetStatistics,
|
||||
&vl_type_ResourceKey,
|
||||
&vl_type_ResourceRecord,
|
||||
&vl_type_ResourceRecordArray,
|
||||
&vl_type_Answer,
|
||||
&vl_type_CacheEntry,
|
||||
&vl_type_ScopeCache,
|
||||
|
|
|
@ -12,7 +12,8 @@ static VARLINK_DEFINE_METHOD(
|
|||
|
||||
static VARLINK_DEFINE_METHOD(
|
||||
GetInterfaceDescription,
|
||||
VARLINK_DEFINE_OUTPUT(interface, VARLINK_STRING, 0));
|
||||
VARLINK_DEFINE_INPUT(interface, VARLINK_STRING, 0),
|
||||
VARLINK_DEFINE_OUTPUT(description, VARLINK_STRING, 0));
|
||||
|
||||
static VARLINK_DEFINE_ERROR(
|
||||
InterfaceNotFound,
|
||||
|
|
|
@ -1929,6 +1929,7 @@ check_result_nspawn_unittests() {
|
|||
check_coverage_reports "$workspace" || ret=5
|
||||
|
||||
save_journal "$workspace/var/log/journal" $ret
|
||||
echo "${JOURNAL_LIST:-"No journals were saved"}"
|
||||
|
||||
_umount_dir "${initdir:?}"
|
||||
|
||||
|
@ -1962,6 +1963,7 @@ check_result_qemu_unittests() {
|
|||
check_coverage_reports "$initdir" || ret=5
|
||||
|
||||
save_journal "$initdir/var/log/journal" $ret
|
||||
echo "${JOURNAL_LIST:-"No journals were saved"}"
|
||||
|
||||
_umount_dir "$initdir"
|
||||
|
||||
|
|
|
@ -4,5 +4,3 @@ NotifyAccess=all
|
|||
FileDescriptorStoreMax=10
|
||||
FileDescriptorStorePreserve=restart
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/testsuite-80.units/fdstore-pin.sh 0
|
||||
StandardOutput=journal+console
|
||||
StandardError=journal+console
|
||||
|
|
|
@ -4,5 +4,3 @@ NotifyAccess=all
|
|||
FileDescriptorStoreMax=10
|
||||
FileDescriptorStorePreserve=yes
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/testsuite-80.units/fdstore-pin.sh 1
|
||||
StandardOutput=journal+console
|
||||
StandardError=journal+console
|
||||
|
|
|
@ -14,7 +14,6 @@ ExecStart=sh -xec 'echo 0 >/sys/fs/selinux/enforce; fixfiles -f -F relabel; rm /
|
|||
Type=oneshot
|
||||
TimeoutSec=infinity
|
||||
RemainAfterExit=yes
|
||||
StandardOutput=journal+console
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
|
|
|
@ -7,5 +7,5 @@ OnFailureJobMode=replace-irreversibly
|
|||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -x -c 'systemctl poweroff --no-block'
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/end.sh
|
||||
TimeoutStartSec=5m
|
||||
|
|
10
test/units/end.sh
Executable file
10
test/units/end.sh
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
(! journalctl -q -o short-monotonic --grep "didn't pass validation" >>/failed)
|
||||
|
||||
systemctl poweroff --no-block
|
||||
exit 0
|
|
@ -63,9 +63,6 @@ report_result() {
|
|||
echo "$name OK"
|
||||
echo "$name" >>/testok
|
||||
fi
|
||||
|
||||
systemd-cat echo "--- $name ---"
|
||||
systemd-cat cat "/$name.log"
|
||||
}
|
||||
|
||||
set +x
|
||||
|
|
|
@ -6,5 +6,3 @@ Description=Tests for systemd-resolved
|
|||
ExecStartPre=rm -f /failed /testok
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
StandardOutput=journal+console
|
||||
StandardError=journal+console
|
||||
|
|
|
@ -530,6 +530,11 @@ grep -qF "fd00:dead:beef:cafe::123" "$RUN_OUT"
|
|||
#run dig +dnssec this.does.not.exist.untrusted.test
|
||||
#grep -qF "status: NXDOMAIN" "$RUN_OUT"
|
||||
|
||||
### Test resolvectl show-cache
|
||||
run resolvectl show-cache
|
||||
run resolvectl show-cache --json=short
|
||||
run resolvectl show-cache --json=pretty
|
||||
|
||||
# Issue: https://github.com/systemd/systemd/issues/29580 (part #1)
|
||||
dig @127.0.0.54 signed.test
|
||||
|
||||
|
|
|
@ -6,5 +6,3 @@ Description=TEST-80-NOTIFYACCESS
|
|||
ExecStartPre=rm -f /failed /testok
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
StandardOutput=journal+console
|
||||
StandardError=journal+console
|
||||
|
|
|
@ -65,7 +65,7 @@ EOF
|
|||
chmod +x "$MYSCRIPT"
|
||||
|
||||
MYUNIT="myunit$RANDOM.service"
|
||||
systemd-run -u "$MYUNIT" -p Type=notify -p StandardOutput=journal+console -p StandardError=journal+console -p FileDescriptorStoreMax=7 "$MYSCRIPT"
|
||||
systemd-run -u "$MYUNIT" -p Type=notify -p FileDescriptorStoreMax=7 "$MYSCRIPT"
|
||||
|
||||
test "$(systemd-analyze fdstore "$MYUNIT" | wc -l)" -eq 2
|
||||
systemd-analyze fdstore "$MYUNIT" --json=short
|
||||
|
|
Loading…
Reference in a new issue