DDS-AMQP 1.0 — Open + Partial Items

Aggregat aus dds-amqp-1.0.md (Spec-Tag spec-dds-amqp-v1.0.0-beta1). Vor jedem Audit-Lauf neu aus dem Hauptfile generiert.


Open + Partial Items

§2.1 Endpoint Profile — Clause 7 (Mandatory TLS for PLAIN)

Status: partial — Filter-Logik (PLAIN nicht angeboten) erfüllt; SASL-Outcome-Code beim Inbound-Reject ist intern UnsupportedMechanism statt des spec-konformen auth-Codes (1). OASIS AMQP 1.0 amqp-1.0-security §5.3.3.6 definiert nur ok/auth/sys/sys-perm/sys-temp (Codes 0-4); UnsupportedMechanism ist kein gültiger Wire-Code. Spec verlangt explizit auth (Code 1). Aufwand 0.25 PW (Code-Variant- Umbenennung in Failed { reason } + Wire-Code-Mapping + Test-Anpassung).

Decision-Records (n/a (rejected))

§10.2 SASL Mechanisms — Optional SCRAM-SHA-256

Begruendung: Spec §10.2 listet SCRAM-SHA-256 als OPTIONAL neben den drei MANDATORY-Mechanismen PLAIN, ANONYMOUS, EXTERNAL. Workspace hat keine HMAC/PBKDF2-Crate-Dependency; die drei MANDATORY-Mechanismen decken die in AMQP-1.0-Brokern verbreiteten Auth-Pfade (PLAIN+TLS, EXTERNAL via Client-Zertifikat, ANONYMOUS). Spec §2.2 Cl. 5 erzwingt TLS fuer PLAIN, womit der SCRAM-Vorteil gegenueber EXTERNAL+TLS gering ist.

Impl-Auswirkung: ~150 Zeilen pure-Rust HMAC/PBKDF2 oder neue Workspace-Abhaengigkeit auf pbkdf2/hmac-Crates. Neuer SCRAM-State-Machine-Pfad in crates/amqp-endpoint/src/sasl.rs und crates/amqp-endpoint/src/client.rs. Erweiterung SaslMechanism::ScramSha256 plus Test-Abdeckung in sasl::tests.

Impl-Vorteil: Vollstaendige SASL-Suite (alle vier Spec- Mechanismen). Username-/Password-Auth ohne Klartext-Wire bei nicht-TLS-Pfaden — wegen §2.2 Cl. 5 (PLAIN-ohne-TLS verboten) in der Praxis ueberlappend mit EXTERNAL+TLS.