f31522130f
Build system (5 gaps hardened): - COOKBOOK_OFFLINE defaults to true (fork-mode) - normalize_patch handles diff -ruN format - New 'repo validate-patches' command (25/25 relibc patches) - 14 patched Qt/Wayland/display recipes added to protected list - relibc archive regenerated with current patch chain Boot fixes (fixable): - Full ISO EFI partition: 16 MiB → 1 MiB (matches mini, BIOS hardcoded 2 MiB offset) - D-Bus system bus: absolute /usr/bin/dbus-daemon path (was skipped) - redbear-sessiond: absolute /usr/bin/redbear-sessiond path (was skipped) - daemon framework: silenced spurious INIT_NOTIFY warnings for oneshot_async services (P0-daemon-silence-init-notify.patch) - udev-shim: demoted INIT_NOTIFY warning to INFO (expected for oneshot_async) - relibc: comprehensive named semaphores (sem_open/close/unlink) replacing upstream todo!() stubs - greeterd: Wayland socket timeout 15s → 30s (compositor DRM wait) - greeter-ui: built and linked (header guard unification, sem_compat stubs removed) - mc: un-ignored in both configs, fixed glib/libiconv/pcre2 transitive deps - greeter config: removed stale keymapd dependency from display/greeter services - prefix toolchain: relibc headers synced, _RELIBC_STDLIB_H guard unified Unfixable (diagnosed, upstream): - i2c-hidd: abort on no-I2C-hardware (QEMU) — process::exit → relibc abort - kded6/greeter-ui: page fault 0x8 — Qt library null deref - Thread panics fd != -1 — Rust std library on Redox - DHCP timeout / eth0 MAC — QEMU user-mode networking - hwrngd/thermald — no hardware RNG/thermal in VM - live preload allocation — BIOS memory fragmentation, continues on demand
48 lines
2.2 KiB
Plaintext
48 lines
2.2 KiB
Plaintext
# Copyright 2022 Evgeny Vereshchagin
|
|
# Copyright 2022 Collabora Ltd.
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
# This is an annotated hex-dump of a message originally generated by a
|
|
# fuzzer.
|
|
#
|
|
# To output as binary:
|
|
# sed -e 's/#.*//' test/data/invalid-messages/issue418.message-raw.hex |
|
|
# xxd -p -r - test/data/invalid-messages/issue418.message-raw
|
|
#
|
|
# The rather non-specific name is because this message is invalid in at
|
|
# least three separate ways:
|
|
#
|
|
# - parentheses and curly brackets in the signature are not nested correctly
|
|
# - the signature of one header field is of zero length
|
|
# - the signature of another header field is longer than the message
|
|
#
|
|
# mis-nested-sig.message-raw.hex,
|
|
# truncated-variant-sig.message-raw.hex,
|
|
# zero-length-variant-sig.message-raw.hex are simplified versions of this
|
|
# message with only one of those reasons to be invalid.
|
|
|
|
# Offset % 0x10:
|
|
# 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f
|
|
|
|
6c # little-endian
|
|
8f # an undefined message type
|
|
28 # flags
|
|
01 # major protocol version 1
|
|
0000 0000 # message body is 0 bytes
|
|
7b22 0008 # serial number 0x0800227b
|
|
1800 0000 # header is an array of 0x18 bytes of struct (yv)
|
|
fd # header field code 0xfd (an undefined header)
|
|
15 # signature is 0x15 = 21 bytes
|
|
2874 617b 7961 7b64 617b 7961 7b79 # "(ta{ya{da{ya{y"...
|
|
6171 7d7d 7d29 7d00 # "aq}}})}" \0
|
|
0000 0000 0000 0000 # padding to 8-byte boundary
|
|
0c # header field code 0x0c
|
|
00 # signature is zero-length (invalid!)
|
|
00 # "" \0
|
|
00 0000 0000 0000 0000 0000 0000 # padding
|
|
fe # header field code 0xfe
|
|
ff # signature is 0xff = 255 bytes
|
|
0000 # truncated (invalid!)
|
|
|
|
#sha1 e5d2bc02229d93ffdd7f589b7123adb3902ee981
|