Re: [Doh] re original_transport indicator

Paul Vixie <paul@redbarn.org> Fri, 06 April 2018 23:29 UTC

Return-Path: <paul@redbarn.org>
X-Original-To: doh@ietfa.amsl.com
Delivered-To: doh@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 42721126BF0; Fri, 6 Apr 2018 16:29:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 SFa5idv--hSo; Fri, 6 Apr 2018 16:29:41 -0700 (PDT)
Received: from family.redbarn.org (family.redbarn.org [IPv6:2001:559:8000:cd::5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8407E126E64; Fri, 6 Apr 2018 16:29:41 -0700 (PDT)
Received: from [192.168.1.203] (unknown [85.191.60.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by family.redbarn.org (Postfix) with ESMTPSA id 468717594C; Fri, 6 Apr 2018 23:29:39 +0000 (UTC)
Message-ID: <5AC802E0.2000200@redbarn.org>
Date: Fri, 06 Apr 2018 19:29:36 -0400
From: Paul Vixie <paul@redbarn.org>
User-Agent: Postbox 5.0.25 (Windows/20180328)
MIME-Version: 1.0
To: Martin Thomson <martin.thomson@gmail.com>
CC: Patrick McManus <pmcmanus@mozilla.com>, dnsop <dnsop@ietf.org>, DoH WG <doh@ietf.org>, Ted Lemon <mellon@fugue.com>, Ray Bellis <ray@bellis.me.uk>
References: <CAOdDvNrO0bbSdRn8dzWiFzMx4Wc33yAh0C6SWg+DR4b4XTEmHg@mail.gmail.com> <CABkgnnVvcUEkiw9j=6Aw=x3bXOdRyi2iCBn6CbUuiyh2i7=YpQ@mail.gmail.com>
In-Reply-To: <CABkgnnVvcUEkiw9j=6Aw=x3bXOdRyi2iCBn6CbUuiyh2i7=YpQ@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/doh/6UvY3J2_lMRn-jfqyiAUvDb1US4>
Subject: Re: [Doh] re original_transport indicator
X-BeenThere: doh@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: DNS Over HTTPS <doh.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/doh>, <mailto:doh-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/doh/>
List-Post: <mailto:doh@ietf.org>
List-Help: <mailto:doh-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/doh>, <mailto:doh-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Apr 2018 23:29:43 -0000


Martin Thomson wrote:
> +1 to this.
>
> And maybe there is an outcome that doesn't need this parameter.  I
> probably misunderstood some of the expectations people have for the
> parameter.  With the benefit of time and sleep, it's possible that I
> now understand the disconnect.
>
> My model of content-type - and by extension its parameters - is of a
> description of the content.  However, it appears as though at least
> some people had different uses for the parameter: for requests, it
> would be an instruction/suggestion to the server to make a DNS request
> using the identified transport; for responses, it would be a
> description of where the DNS request came from.

my original design added an http header, which was seen as even worse. 
someone suggested adding to the content-type, and i went along with it 
even though there is no difference in actual type of actual content.

> I never considered that interpretation, but - assuming that this is
> what it was - and the intent was to provide a means for the client to
> control how the server makes requests (and to see how they were made).
> In that case, I have a possible alternative design for the use case in
> the dnsop draft.
>
> Right now, DOH doesn't really say how a DNS API Server gets its
> responses.  It could be that the API server is part of a resolver, or
> it could be that the DNS API Server makes a request to another
> resolver.  But specific uses of the DOH protocol could come with
> additional constraints that would enable the use cases in the dnsop
> draft, at least as I understand them.

this all sounds good to me.

> If the goal of the dnsop draft is to extend the reach of a DNS client
> (note: not a DNS API client) across a network that is in some way less
> hostile to HTTP than it is to DNS, then I think that it can still use
> DOH.  A DNS API server could be configured to operate in a very simple
> mode with no caching, just direct transposition of a request from HTTP
> to a request on UDP or TCP.  A DNS client could be configured with two
> DNS API clients.  Each client uses a different DNS API Server
> endpoint.  Those endpoints would be specifically configured to use
> only UDP or TCP.
>
> For instance:
> https://use.only/tcp{?dns} would cause the server to make a request using TCP.
> https://use.only/udp{?dns} would cause the server to make a request using UDP.
>
> At this point, this is simple DOH, but with extra contextual
> information about server operation.

i am generally supportive of this approach; in fact i wish i'd thought 
of it. the specifics will be different, as in:

/proxy_dns?proto=tcp
/proxy_dns?proto=udp

but i agree that encoding the original transport in the URI is better 
than either extending the content-type or adding another http header.

---

i object, as before, to "dns-udpwireformat" as a name. these are dns 
messages, which when carried by udp are raw, and when carried in tcp are 
preceded by a two-octet length indicator for framing of multiple 
messages sharing the same stream. so, the string to be registered should 
be "dns-message".

-- 
P Vixie