Login: implement authentication requests, responses, and seed capabilities #56
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Implement login parameter construction, URI/XML-RPC transport, response parsing, successful session initialization, and typed failure states.
Deliverables
Validation
Prerequisite
Wire codegen and the foundational implementation milestones are complete; the fixed API/test gates remain authoritative.
Project constraints
Implemented in commit
3951bdb. Added native Rust login credentials/parameters, LLSD XML authentication transport, password hashing and MFA/options handling, bounded redirects, timeout/cancellation, complete response parsing (inventory, buddies, home, benefits, service configuration), typed status/failure reporting, and initial UDP simulator/session/seed-capability handoff. Failed login paths clear session/capability state and partial simulator work; Debug output redacts credentials, session secrets, estate tokens, and capability URLs. GridClient now exposes a stable shared NetworkManager identity, and the fixed API mappings, coverage evidence, README, and networking documentation were updated. Deterministic offline fake HTTP/UDP tests verify successful login wire fields and session handoff, redirects/failure, invalid simulator cleanup, timeout, cancellation, callback semantics, and secret redaction. Verification: 18/18 network-manager tests, 4/4 login unit tests, 2/2 core runtime compatibility tests; cargo fmt --check; generator/API coverage checks; both exact codegen workflow Clippy commands with -D warnings; cargo check --workspace --all-targets --locked -j1; isolated api-compile check; and warnings-denied Rustdoc all pass. This also fixes Actions run 90 by teaching the generated-shim validator that real crate::message_decoder delegates are native implementations rather than fake generated bodies.