Subject: [DNSOP] SVCB and HTTPS SvcParam multiple value order on the wire

From: Pieter Lexis <[email-masked]>
Date: Fri, 31 Jul 2020 11:46:47 +0200

Hi folks,

I'm working on implementing SVCB and HTTPS in PowerDNS and I have some
questions about the wire-format for the multi-value parameters like
ipv{4,6}hint and alpn.

When there are multiple IP addresses in a hint, in what order should
they be on the wire? I would expect them to be ordered like an A/AAAA
RRSet's RDATA to be sorted as specified in 4034 section 6.3 ("… are
sorted by treating the RDATA portion of the canonical form of each RR as a
left-justified unsigned octet sequence in which the absence of an octet
sorts before a zero octet."). The draft says the hints are "an unordered
collection", but it would be great to mandate an on-the-wire ordering
here.

This will only work, of course, if multi-valued SvcParams are a set
(where duplicates are disallowed/ignored), which is also not explicit in
the draft for ipv{4,6}hint and alpn.

For the "mandatory" key, a sensible ordering (ascending) is specified
and it is explicit that a key can only be present once in the set.

Cheers,

Pieter

-- 
Pieter Lexis
PowerDNS.COM BV -- https://www.powerdns.com

---

From: Mark Andrews <[email-masked]>
Date: Fri, 31 Jul 2020 20:45:38 +1000

> On 31 Jul 2020, at 19:46, Pieter Lexis <[email-masked]> wrote:
> 
> Hi folks,
> 
> they be on the wire?

As they are entered.

> I would expect them to be ordered like an A/AAAA

RFC 4034 is about validating a RRset. One needs to have a defined order
to DIGEST the RRset.  The order of the records on the wire is UNDEFINED.

> _______________________________________________
> DNSOP mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dnsop

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742              INTERNET: [email-masked]