- From: Life is hard... and then you die. <Ronald.Tschalaer@psi.ch>
- Date: Mon, 28 Sep 1998 22:13:20 +0200
- To: HTTP-WG@hplb.hpl.hp.com
I have some points concerning draft-ietf-http-authentication-03.
1) Section 3.2.1:
domain
A quoted, space-separated list of URIs, as specified in RFC XURI [7],
that define the protection space. If a URI is an abs_path, it is
relative to the canonical root URL (see section 1.2 above) of the
server being accessed. An absoluteURI in this list may refer to a
different server than the one being accessed. The client can use this
list to determine the set of URIs for which the same authentication
information may be sent: any URI that has a URI in this list as a
prefix (after both have been made absolute) may be assumed to be in
the same protection space. If this directive is omitted or its value
is empty, the client should assume that the protection space consists
-> of all URIs on the responding server. This directive is not
-> meaningful in Proxy-Authenticate headers, for which the protection
-> space is always the entire proxy; if present it should be ignored.
I disagree with the last part. The domain directive could be used
usefully to share auth info between various proxies. So, while the
abs_path part of the URI is indeed not meaningful, I claim the host:port
part is. Therefore I suggest changing the last three lines to:
of all URIs on the responding server.
Since on proxies the protection space is always the entire proxy,
the abs_path part of the URIs is not meaningful in
Proxy-Authenticate headers and SHOULD be ignored.
(I think that should be normative SHOULD?)
2) Same text:
domain
A quoted, space-separated list of URIs, as specified in RFC XURI [7],
that define the protection space. If a URI is an abs_path, it is
relative to the canonical root URL (see section 1.2 above) of the
server being accessed. An absoluteURI in this list may refer to a
different server than the one being accessed. The client can use this
list to determine the set of URIs for which the same authentication
information may be sent: any URI that has a URI in this list as a
prefix (after both have been made absolute) may be assumed to be in
-> the same protection space. If this directive is omitted or its value
-> is empty, the client should assume that the protection space consists
-> of all URIs on the responding server. This directive is not
meaningful in Proxy-Authenticate headers, for which the protection
space is always the entire proxy; if present it should be ignored.
Current practise for Basic auth and Cookies is that all URIs with the
same prefix as the requested URI are in the same protection space. I
think this is more intuitive and more closely follows the way sites are
set up, and therefore should be adopted here too. If somebody wants to
say that the whole server is in the same space they can always use
domain="/". So, borrowing from the wording in the cookie spec I propose
changing the marked lines to read:
the same protection space. If this directive is omitted or its value
is empty it defaults to the request URI up to and including the
right-most /. This directive is not
Merging the above two changes would result in:
domain
A quoted, space-separated list of URIs, as specified in RFC XURI [7],
that define the protection space. If a URI is an abs_path, it is
relative to the canonical root URL (see section 1.2 above) of the
server being accessed. An absoluteURI in this list may refer to a
different server than the one being accessed. The client can use this
list to determine the set of URIs for which the same authentication
information may be sent: any URI that has a URI in this list as a
prefix (after both have been made absolute) may be assumed to be in
the same protection space. If this directive is omitted or its value
is empty it defaults to the request URI up to and including the
right-most /.
Since on proxies the protection space is always the entire proxy,
the abs_path part of the URIs is not meaningful in
Proxy-Authenticate headers and SHOULD be ignored.
3) While a careful reading of the spec does imply the following, it might
not hurt to add something like it (marked by new>) to the description
of the nonce-count in section 3.2.2:
nonce-count
This MUST be specified if a qop directive is sent (see above), and
MUST NOT be specified if the server did not send a qop directive in
the WWW-Authenticate header field. The nc-value is the hexadecimal
count of the number of requests (including the current request) that
the client has sent with the nonce value in this request. For
example, in the first request sent in response to a given nonce
value, the client sends "nc=00000001". The purpose of this directive
is to allow the server to detect request replays by maintaining its
own copy of this count - if the same nc-value is seen twice, then the
request is a replay. See the description below of the construction
of the request-digest value.
new> Servers which check the nonce-count must be sure to increment their
new> own copy of the count each time an Authorization header is received
new> from the client, irrespective of the final outcome of the request
new> (e.g. even if the request-URI doesn't require authentication,
new> requires different authentication, or doesn't exist).
Cheers,
Ronald
Received on Monday, 28 September 1998 13:18:45 UTC