RE: : Re: why is Digest-Nextnonce mandatory ?
<[email protected]> Wed, 7 Jun 2006 13:15:10 +0300
| Newsgroups | gmane.ietf.aaa |
|---|---|
| Message-ID | <[email protected]> |
Hi Miguel, According to the RFC2616 definition of ABNF syntax and semantics, they're all optional. But I think it's likely that this is=20 not what the authors of RFC2617 actually meant! Perhaps you should try raising this issue on this list to get a more authorative answer than we can produce at AAA WG: http://lists.w3.org/Archives/Public/ietf-http-wg/=20 Best regards, Pasi > -----Original Message----- > From: Miguel Garcia [mailto:[email protected]]=20 > Sent: 07 June, 2006 12:08 > To: Eronen Pasi (Nokia-NRC/Helsinki) > Cc: Jo Hermans; [email protected];=20 > [email protected];=20 > [email protected];=20 > [email protected]; Tammi Kalle=20 > (Nokia-NET/Tampere); [email protected] > Subject: Re: [AAA-WG]: Re: why is Digest-Nextnonce mandatory ? >=20 > Pasi: >=20 > Thanks for the clarification in the 'special' ABNF of RFC 2617. If we=20 > take that into account, then we should make the nextnonce an=20 > optional AVP. >=20 > What puzzles me is how other headers are defined in RFC 2617. Take a=20 > look at the ABNF of the WWW-Authenticate header in Section 3.2.1: >=20 > challenge =3D "Digest" digest-challenge >=20 > digest-challenge =3D 1#( realm | [ domain ] | nonce | > [ opaque ] |[ stale ] | [ algorithm ] | > [ qop-options ] | [auth-param] ) >=20 > Doest this mean real and nonce shall always be present or=20 > not? At least=20 > in the Diameter SIP application the Digest-Realm and Digest-Nonce are=20 > mandatory AVPs in the grouped SIP-Authenticate AVP. >=20 > Similar question pops up with the Authorization header, whose ABNF in=20 > RFC 2617 is: >=20 > credentials =3D "Digest" digest-response > digest-response =3D 1#( username | realm | nonce | digest-uri > | response | [ algorithm ] | [cnonce] | > [opaque] | [message-qop] | > [nonce-count] | [auth-param] ) >=20 >=20 > does it mean username, real, nonce, digest-uri, and response are=20 > mandatories? Their corresponding AVPs are mandatory too!!! >=20 > /Miguel >=20 >=20 >=20 > Eronen Pasi (Nokia-NRC/Helsinki) wrote: > > Miguel Garcia wrote: > >=20 > >> But having said that, I see the contradiction in RFC 2617: on one > >> side, the nextnonce is mandatory, on the other, the text suggest > >> that it is optional "If the nextnonce field is present ...". In the > >> Diameter SIP application we just transposed the ABNF in RFC 2617 to > >> Diameter AVPs. > >> > >> So, I would like to gather a better understanding of people who > >> might know better RFC 2617: is there an error in the ABNF=20 > definition > >> in the Authentication-Info header? Should the nextnonce be=20 > optional? > >=20 > > It looks like RFC2617 uses the ABNF notation (defined in RFC2616) in > > a way that is not really consistent with the ABNF semantics: > >=20 > > auth-info =3D 1#(nextnonce | [ message-qop ] > > | [ response-auth ] | [ cnonce ] > > | [nonce-count] ) > >=20 > > clearly suggests to the reader that "nextnonce" has to be present, > > while the other parts are not always included. However, this is not > > what the ABNF actually means according to RFC2616. In=20 > fact, it looks > > like the rule is equivalent to both of these: > >=20 > > auth-info =3D 1#(nextnonce | message-qop > > | response-auth | cnonce > > | nonce-count ) > >=20 > > auth-info =3D 1#( [ nextnonce ] | [ message-qop ] > > | [ response-auth ] | [ cnonce ] > > | [ nonce-count ] ) > >=20 > > In other words: any string containing at least one of the parts=20 > > (not necessarily nextnonce) matches this ABNF, and more precise > > specification of when the different parts have to be present is=20 > > in the descriptive text. > >=20 > > Since the descriptive text says "If the nextnonce field is present > > [..]", it's not actually in conflict with the ABNF. But the ABNF > > is clearly misleading (and it looks like some other ABNF rules=20 > > in RFC2617 have this same problem). > >=20 > > Best regards, > > Pasi >=20 > --=20 > Miguel A. Garcia tel:+358-50-4804586 > sip:[email protected] > Nokia Research Center Helsinki, Finland >=20 >=20