> On 22 Jun 2018, at 1:48 am, Mukund Sivaraman <m...@mukund.org> wrote:
> 
> On Fri, Jun 22, 2018 at 01:09:14AM +1000, Mark Andrews wrote:
>>> So how should the DNS cookies be implemented? IMHO if one server uses 
>>> https://tools.ietf.org/html/rfc7873#appendix-B.1
>>> and another server uses https://tools.ietf.org/html/rfc7873#appendix-B.2, 
>>> then it's not interoperable.
>>> Actually the upcoming Knot DNS 2.7 implemented "B.1" using Siphash instead 
>>> of FNV. Bind probably implemented B.2.
>>> Are both implementations correct?
>> 
>> Well you are free to inspect the code to ensure that it behaves the way
>> we said it did.  The code is in lib/ns/client.c:compute_cookie.  Older
>> branches that is bin/named/client.c:compute_cookie
> 
> Mark, can you check the code in the compute_cookie() vs. RFC 7873 section B.2?
> 
> RFC 7873 says:
> 
> hash =
>           HMAC-SHA256-64( Server Secret,
>               (Client Cookie | Nonce | Time | Client IP Address) )
> 
> compute_cookie() seems to perform:
> 
>           HMAC-SHA256-64( Server Secret,
>               (Client Cookie | Nonce | Time | Client IP Address |Client 
> Cookie) )
> 
> Both process_cookie() and ns_client_addopt() use the same
> compute_cookie() to generate and verify, so it would be hard to spot
> this.
> 
>               Mukund

Looks like a bug.  Will remove the second Client Cookie.

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742              INTERNET: ma...@isc.org

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to