tiny.stun
Overview · API · Code relationships · Verification · Audit
Overview
Stun builds and reads STUN messages, parses the type-length-value records following the message header (attributes), and verifies message integrity. Encoding writes into caller-supplied output storage. Message.decode reads immutable input and returns a Message that retains the input slice, so the caller keeps it alive and unchanged while using that decoded view. Encoding and decoding need no dynamic allocation.
Following RFC 8489 framing, integrity verification computes HMAC-SHA1 or HMAC-SHA256 with a locally substituted two-byte header length. That length describes the message through the end of the integrity attribute, while the bytes authenticated stop at the start of that integrity attribute. Later attributes, including FINGERPRINT, are outside this HMAC input. Verification compares the computed digest with the digest stored in the integrity attribute.
Formal message properties and their testing links are cataloged under verification/stun, where the formal model treats HMAC and hash functions as opaque.
Definitions
Actions
Public operations.
Types and contracts
Public types and contracts.
CapacityAddressAttributeAttributeTypeChangeRequestClassCredentialErrorDecodeErrorEncodeErrorHeaderLimitsMessageMethodPasswordAlgorithmTransactionIdValueVerifyErrorBuilder
Values and defaults
Public values and defaults.
Code relationships
Direct static dependencies extracted from parsed source by semantic graph analysis.
Uses: tiny.hypothesis
Used by: None
Verification
No verification records are cataloged for this module in this build.
Audit
| Evidence | Value |
|---|---|
| Source | lib/stun/src/root.zig |
| Definitions | 0 of 24 documented |
| Members | 0 of 0 documented |
| Public names | 24 API, 43 indexed |
| Version | 26.7.0 |
| Revision | daab053ee433 |