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

Pieter Lexis <pieter.lexis@powerdns.com> Fri, 31 July 2020 09:46 UTC

Return-Path: <pieter.lexis@powerdns.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D4C583A11AA for <dnsop@ietfa.amsl.com>; Fri, 31 Jul 2020 02:46:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AJ3wrewBFCET for <dnsop@ietfa.amsl.com>; Fri, 31 Jul 2020 02:46:53 -0700 (PDT)
Received: from mango.plexis.eu (mango.plexis.eu [IPv6:2a01:7c8:aaae:3e2::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1BB1B3A1005 for <dnsop@ietf.org>; Fri, 31 Jul 2020 02:46:52 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mango.plexis.eu (Postfix) with ESMTP id F0FC912CE for <dnsop@ietf.org>; Fri, 31 Jul 2020 11:46:49 +0200 (CEST)
Received: from mango.plexis.eu ([127.0.0.1]) by localhost (mango.plexis.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id grBbrO00ImyQ for <dnsop@ietf.org>; Fri, 31 Jul 2020 11:46:48 +0200 (CEST)
Received: from ananas.home.plexis.eu (unknown [IPv6:2001:980:5650:0:1d64:3532:ed87:63a2]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mango.plexis.eu (Postfix) with ESMTPSA id 961B76D for <dnsop@ietf.org>; Fri, 31 Jul 2020 11:46:48 +0200 (CEST)
From: Pieter Lexis <pieter.lexis@powerdns.com>
Autocrypt: addr=pieter.lexis@powerdns.com; keydata= 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 VXfqjVI=
To: dnsop@ietf.org
Message-ID: <88b7c20d-3bf1-6019-5834-646f3d14ddaa@powerdns.com>
Date: Fri, 31 Jul 2020 11:46:47 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/ZZokJixBjYPcBHcko1kp8u0s5Cc>
Subject: [DNSOP] SVCB and HTTPS SvcParam multiple value order on the wire
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 31 Jul 2020 09:46:55 -0000

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