What's Changed
Bug fixes
- Reject
Digestchallenges that omitrealmornonce(RFC 7616 §3.3).parse_www_authenticate()accepted anyWWW-Authenticate: Digestchallenge that carried at least one auth-param, so a response such asDigest qop="auth"was treated as usable.make_digest_authentication_header()then dereferencesauth.at("realm")andauth.at("nonce")unconditionally, and the retry path has notry/catch, so the resultingstd::out_of_rangepropagated out and terminated the client process. Both parameters are now required before a Digest challenge is accepted; a challenge missing either is treated the same as no Digest challenge at all.
Full Changelog: v0.54.0...v0.54.1