{"record":{"id":"d818b53740becb6e","repo":"openai/codex","slug":"signed-websocket-bearer-secret-must-be-at-least","errorCode":null,"errorMessage":"signed websocket bearer secret {} must be at least {MIN_SIGNED_BEARER_SECRET_BYTES} bytes","messagePattern":"signed websocket bearer secret (.+?) must be at least (.+?) bytes","errorType":"validation","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/app-server-transport/src/transport/auth.rs","lineNumber":390,"sourceCode":"    let header = raw_header\n        .to_str()\n        .map_err(|_| unauthorized(INVALID_AUTHORIZATION_HEADER_MESSAGE))?;\n    let Some((scheme, token)) = header.split_once(' ') else {\n        return Err(unauthorized(INVALID_AUTHORIZATION_HEADER_MESSAGE));\n    };\n    if !scheme.eq_ignore_ascii_case(\"Bearer\") {\n        return Err(unauthorized(INVALID_AUTHORIZATION_HEADER_MESSAGE));\n    }\n    let token = token.trim();\n    if token.is_empty() {\n        return Err(unauthorized(INVALID_AUTHORIZATION_HEADER_MESSAGE));\n    }\n    Ok(token)\n}\n\nfn validate_signed_bearer_secret(path: &Path, shared_secret: &[u8]) -> io::Result<()> {\n    if shared_secret.len() < MIN_SIGNED_BEARER_SECRET_BYTES {\n        return Err(io::Error::new(\n            ErrorKind::InvalidInput,\n            format!(\n                \"signed websocket bearer secret {} must be at least {MIN_SIGNED_BEARER_SECRET_BYTES} bytes\",\n                path.display()\n            ),\n        ));\n    }\n    Ok(())\n}\n\nfn read_trimmed_secret(path: &std::path::Path) -> io::Result<String> {\n    let raw = std::fs::read_to_string(path).map_err(|err| {\n        io::Error::new(\n            err.kind(),\n            format!(\n                \"failed to read websocket auth secret {}: {err}\",\n                path.display()\n            ),","sourceCodeStart":372,"sourceCodeEnd":408,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/app-server-transport/src/transport/auth.rs#L372-L408","documentation":"Error \"signed websocket bearer secret {} must be at least {MIN_SIGNED_BEARER_SECRET_BYTES} bytes\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/app-server-transport/src/transport/auth.rs:390 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}