Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
redaction.h File Reference

Key-material redaction helpers shared by every surface that can emit frame bytes or debug text (frame logging today; telemetry and diagnostic reports later). More...

#include "proto_constants.h"
#include "proto_sizes.h"
#include <cstddef>
#include <cstdint>
#include <cstring>
Include dependency graph for redaction.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Functions

bool esphome::home_io_control::command_carries_key_material (uint8_t cmd)
 Whether a frame command's payload carries key material that must never be logged or reported verbatim.
bool esphome::home_io_control::contains_key_material (const uint8_t *buf, size_t len, const uint8_t *system_key)
 Whether a buffer contains the system key as a contiguous run of bytes.

Detailed Description

Key-material redaction helpers shared by every surface that can emit frame bytes or debug text (frame logging today; telemetry and diagnostic reports later).

The one deliberate, narrow exception to this file's masking is IOHOME_UNSAFE_LOG_KEY_MATERIAL (log_frame.h::render_frame_hex_redacted()) — a maintainer-only, opt-in-only build flag for capturing a genuine pairing exchange for tests/corpus/. See that function's doxygen for the full rules before ever defining it.

Definition in file redaction.h.