Expand description
Shared full-host namespace decision contract for dual-root browsers.
Network adapters independently build one complete, validated origin plan for HNS and ICANN. This crate compares those plans, preserves authenticated absence separately from failures, applies explicit divergence precedence, and produces a query- and policy-bound decision fingerprint for connection and cache isolation. Plans retain distinct origin-alias, ServiceMode target, endpoint-CNAME, address, and TLS trust state and never mix roots.
The IANA root-zone list is intentionally absent. A suffix snapshot may order network work outside this crate, but it can never create a namespace decision.
Structs§
- Alias
Step - One canonical alias edge inside a single root lookup.
- Canonical
Host - Canonical lower-case ASCII DNS hostname without a root dot.
- Canonical
Tlsa - Canonical TLSA RDATA retained for trust comparison.
- Decision
Cache Key - Complete cache-key input for one dual-root decision.
- Decision
Fingerprint - Stable SHA-256 decision identity used to partition transport state.
- Divergence
Mask - Bit mask describing connection/trust differences between two valid plans.
- Freshness
- Absolute observation and expiry bounds for validated evidence.
- Namespace
Decision - Query- and policy-bound authoritative namespace decision.
- Origin
Plan Input - Unvalidated complete origin plan normalized by
ValidatedOriginPlan::new. - Origin
Query - Canonical origin input common to both root lookups.
- Protocol
Capabilities - Protocols supported by the requesting browser transport.
- Root
Failure - Typed failure from one independent root lookup.
- Selection
Policy - Per-origin selection inputs supplied by a browser profile.
- Service
Binding - Normalized connection-affecting HTTPS/SVCB policy.
- Service
Binding Input - Unvalidated service-binding input normalized by
ServiceBinding::new. - Service
Parameter - Canonical SVCB parameter retained for equivalence comparison.
- Validated
Absence - Typed authenticated absence from one root.
- Validated
Origin Plan - One complete, internally coherent origin plan from exactly one root.
Enums§
- Absence
Kind - Authenticated reason that one root has no usable origin plan.
- Alias
Kind - Alias mechanism represented by one retained origin-plan step.
- Application
Protocol - Application protocol selected for an origin connection.
- Classification
Error - Fail-closed classification failure.
- Default
Precedence - Behavior when both valid plans diverge and no pin/binding exists.
- Evidence
Provenance - Evidence lineage retained for diagnostics and freshness, but ignored by semantic convergence.
- HnsNetwork
- Canonical Handshake network identity used for proof and cache isolation.
- Icann
Chain State - DNSSEC state associated with authenticated ICANN DoH provenance.
- Namespace
- DNS namespace whose independently validated plan may be selected.
- Namespace
Outcome - Authoritative five-way dual-root outcome.
- Origin
Scheme - Browser origin scheme whose effective endpoint is classified.
- Outcome
Kind - Stable outcome discriminator for status and cache schemas.
- Root
Failure Kind - Fail-closed reason that one root did not produce presence or authenticated absence.
- Root
Lookup - Independent result from exactly one root.
- Root
Resolution Disposition - Bounded, copyable disposition of one root lookup.
- Root
Resolution State - Bounded diagnostic state retained when dual-root classification fails.
- Selection
Reason - Reason the selected namespace won precedence.
- Service
Transport - Effective service transport for TLSA and origin connection state.
- TlsTrust
Policy - Browser trust action included in convergence comparison.
- Validation
Error - Input/plan validation failure.
Constants§
- COMPARISON_
SCHEMA_ VERSION - Comparison schema included in cache and decision identities.
- MAX_
ALIAS_ STEPS - Maximum aliases retained in each origin or endpoint path in one root plan.
- MAX_
ALPN_ IDS - Maximum number of ALPN identifiers retained in one service binding.
- MAX_
ALPN_ ID_ BYTES - Maximum bytes in one ALPN identifier.
- MAX_
ENDPOINTS - Maximum number of usable endpoints retained in one root plan.
- MAX_
HOST_ BYTES - Maximum canonical DNS presentation-name length without a root dot.
- MAX_
PARAMETER_ BYTES - Maximum bytes retained in one SVCB parameter value or ECH configuration.
- MAX_
SERVICE_ PARAMETERS - Maximum number of SVCB parameters retained in one service binding.
- MAX_
TLSA_ RECORDS - Maximum number of canonical TLSA records retained in one root plan.
Functions§
- decide_
namespace - Applies the five-way classification and explicit divergence precedence.
- decision_
fingerprint - Computes the normalized query-, policy-, and outcome-bound decision identity.