{"record":{"id":"25a6d3fd8efcf4aa","repo":"ducaale/xh","slug":"this-binary-was-built-without-message-signature-support","errorCode":null,"errorMessage":"This binary was built without message signature support. Enable the `http-message-signatures` feature.","messagePattern":"This binary was built without message signature support\\. Enable the `http-message-signatures` feature\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/main.rs","lineNumber":598,"sourceCode":"                    *body = ReqwestBody::from(output);\n                    request\n                        .headers_mut()\n                        .insert(CONTENT_ENCODING, HeaderValue::from_static(\"deflate\"));\n                }\n            }\n        }\n\n        for header in &headers_to_unset {\n            request.headers_mut().remove(header);\n        }\n\n        #[cfg(not(feature = \"http-message-signatures\"))]\n        if args.m_sig.m_sig_id.is_some()\n            || args.m_sig.m_sig_key.is_some()\n            || args.m_sig.m_sig_alg.is_some()\n            || args.m_sig.has_components()\n        {\n            return Err(anyhow!(\n                \"This binary was built without message signature support. Enable the `http-message-signatures` feature.\"\n            ));\n        }\n\n        #[cfg(feature = \"http-message-signatures\")]\n        if args.m_sig.has_components() && !args.m_sig.has_key_pair() {\n            return Err(anyhow!(\n                \"Message signature components require both --unstable-m-sig-id and --unstable-m-sig-key.\"\n            ));\n        }\n\n        #[cfg(feature = \"http-message-signatures\")]\n        if let Some((key_id, key_material)) = args.m_sig.key_pair() {\n            let m_sig_components = args.m_sig.flattened_components();\n            let m_sig_algorithm = args.m_sig.algorithm().map(Into::into);\n            message_signature::sign_request(\n                &mut request,\n                key_id,","sourceCodeStart":580,"sourceCodeEnd":616,"githubUrl":"https://github.com/ducaale/xh/blob/2404aceecc08b0b2d100fedc96f57745cd5904dc/src/main.rs#L580-L616","documentation":"Message signature support (RFC 9421 HTTP message signatures) is gated behind the optional `http-message-signatures` cargo feature. If any of the `--unstable-m-sig-*` options are supplied to a binary built without that feature, `run` returns this error because the signing code is compiled out.","triggerScenarios":"Passing `--unstable-m-sig-id`, `--unstable-m-sig-key`, `--unstable-m-sig-alg`, or any signature component flags to an xh binary built without `--features http-message-signatures`.","commonSituations":"Testing draft message-signature endpoints with a default-built xh; scripts copied from docs that assume a feature-enabled build; stale binaries installed before the feature existed.","solutions":["Rebuild with the feature: `cargo install xh --features http-message-signatures`.","Switch to an official release binary that includes the feature.","Remove the `--unstable-m-sig-*` flags if signed requests are not required."],"exampleFix":"// before\ncargo install xh\nxh --unstable-m-sig-id=key1 --unstable-m-sig-key=secret POST https://api.example.com\n// after\ncargo install xh --features http-message-signatures\nxh --unstable-m-sig-id=key1 --unstable-m-sig-key=secret POST https://api.example.com","handlingStrategy":"validation","validationCode":"# ensure the build supports message signatures before using the flags:\ncargo install xh --features http-message-signatures\n# or guard the script:\nxh --unstable-m-sig-id=x --help >/dev/null 2>&1 || { echo 'rebuild with http-message-signatures'; exit 1; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep a feature-check in deployment scripts for optional-capability binaries.","Pin the same build across environments that sign requests.","Avoid --unstable-* flags in production scripts without explicit feature verification."],"tags":["build-configuration","feature-flags","http","security"],"backgroundTag":"feature-not-enabled","analyzedSha":"2404aceecc08b0b2d100fedc96f57745cd5904dc","analyzedAt":"2026-09-13T19:13:33.814Z","contentChangedAt":"2026-09-13T19:13:33.814Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}