[Webkit-unassigned] [Bug 10727] New: During HTTP Digest Authentication qop values are parsed and generated incorrectly
bugzilla-daemon at opendarwin.org
bugzilla-daemon at opendarwin.org
Mon Sep 4 06:36:54 PDT 2006
http://bugzilla.opendarwin.org/show_bug.cgi?id=10727
Summary: During HTTP Digest Authentication qop values are parsed
and generated incorrectly
Product: WebKit
Version: 420+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: WebKit Misc.
AssignedTo: webkit-unassigned at opendarwin.org
ReportedBy: manfred at gmail.com
Safari doesn't create and parse qop values correctly in Authorization and
WWW-Authentication headers. For instance, safari might send something like
this:
Authorization: Digest username="admin", realm="Admin",
nonce="GI3ZTQ3YjE4NTBlZGY4NW", uri="/",
response="84fc1690932d829b370d777aa347b102",
opaque="dfee40b0bdb127c71402d3fa56ea06e6", algorithm="MD5",
cnonce="ba92b4576c37d5ade9b1831895f2847f", nc=00000001, qop="auth"
But in the Authorization header the qop value shouldn't be quoted. According to
RFC 2617 the Authorization header should contain a 'message-qop', which is
defined as
message-qop = "qop" "=" qop-value
qop-value = "auth" | "auth-int" | token
Note that the quotes mean that the string is a literal, the quotes shouldn't be
sent. The correct way to send a qop value would be
... qop=auth ...
or
... qop=auth-int ...
When the server sends a qop values, the value is quoted because it can contain
several values. For instance:
WWW-Authenticate: Digest nonce="BmMDBmZWIwZGJhM2VlZjg0MTVlNTZkMw", qop="auth
auth-int", algorithm=MD5, opaque="36672a02d3d4ccd4777220ddcf3b0f20",
realm="Admin"
The RFC defines this as:
qop-options = "qop" "=" <"> 1#qop-value <">
qop-value = "auth" | "auth-int" | token
I have found that sending qop="auth auth-int" doesn't trigger authentication in
Safari, while qop="auth" does. The whole reason for sending multiple qop's is
that the browser can respond with the most secure authentication method known.
The browser should ignore all unknown qop values, because even qop="auth
my-favorite-qop" is a valid challenge.
--
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list