[Doh] POST and GET

Sebastiaan Deckers <sebdeckers83@gmail.com> Tue, 18 September 2018 03:22 UTC

Return-Path: <sebdeckers83@gmail.com>
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 689BB130ECC for <doh@ietfa.amsl.com>; Mon, 17 Sep 2018 20:22:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.749
X-Spam-Level:
X-Spam-Status: No, score=-1.749 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 DqiTAvwe1pkb for <doh@ietfa.amsl.com>; Mon, 17 Sep 2018 20:22:01 -0700 (PDT)
Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (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 C7EF5130E5B for <doh@ietf.org>; Mon, 17 Sep 2018 20:22:01 -0700 (PDT)
Received: by mail-qt0-x235.google.com with SMTP id j7-v6so464181qtp.2 for <doh@ietf.org>; Mon, 17 Sep 2018 20:22:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=lqtppbasaMh2E8pM5Ig98EqIfJpwDsylCeDb5Jmrs5s=; b=cJjPhXMIy21sBxACFQztt5mrRvVEodT8xwUdQSehaPCry2kZjrT0n1ZoX5uiYSMviD tIQjXAVRSFbllXbFdVcoHzVO2GQFCWCrHpTe8QsBhY2StBq2S+0nTUE/iMQetvMQ1jwt ypj2il0Q3reMlDPVj7+l7O1vPASnz0pBwF7n4RlK2kVF6dF97VSxCkYDfqMtXmnlcRrc PUkN7Zq60uTbIk73vDDZ1q0qL3KsR1Fp6mEtuOqlNcweieDqmYDGnom3uTkKrIpROAcz jfvtWFrxYtX3yqoVbsnX1utvjLCSduMRRsfY7jZ1/8y76H4xwyJbVm2zK0q6iGlsEDFR n+yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=lqtppbasaMh2E8pM5Ig98EqIfJpwDsylCeDb5Jmrs5s=; b=hDVksYWhO7CAwsnpPJypMQ7C4SJG9tI1nsU96ulYr12Sl4rVmyUNahOMuPITwUQF2t Wsx8MeOR7lv2aeDxy0qLhoR006WilPeC3I9VltwdC99lujwducZnyaK50e3z7l3O3B+X fQ22UD6rQXefFHrFPItImLMd6ayYuB+Jf+rX4x4TJK9N2e3dEYmutpJzoFP8978vlPSv urpClYVZifVZ22jb911TX9PwMJ4//8AD6tClzQwk4RyIZe9rkWJcLzPv//L/B9z3Nwr9 7p4md4XY1AWja67Jvr6zX/4YRCGgY0I/ownmFxQO4sZS81eZefZC8v7nQZmC0JHTQMbk 6+LA==
X-Gm-Message-State: APzg51DjBTEA3vKshKLGi4M6fog/5LxrRFahruEU7xGFPjubZeIs7MOR dsyMy0nfrQ0bCw84iNeZDGVHI0VJ9dtKm0uJbBoDWsQ1
X-Google-Smtp-Source: ANB0VdaB9ycPCHu0Kv/V7OCgHKmZm1Cd1Y4z35tZMURAiYVSx4tML16NpU9CTx5nWLvo9/wcXW2kj+lY+zsQddnm/qU=
X-Received: by 2002:ac8:255c:: with SMTP id 28-v6mr19755315qtn.88.1537240919759; Mon, 17 Sep 2018 20:21:59 -0700 (PDT)
MIME-Version: 1.0
From: Sebastiaan Deckers <sebdeckers83@gmail.com>
Date: Tue, 18 Sep 2018 11:21:48 +0800
Message-ID: <CADVGGb8+znpFStX4Qn3S4oCqOp1Np9uDPVXfS0V8nQecN3P+FA@mail.gmail.com>
To: doh@ietf.org
Cc: Kenny Shen <kenny@machinesung.com>
Content-Type: multipart/alternative; boundary="000000000000f4dfe705761ccacf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/doh/tp5MQadSgIuzl20lU7aQAfrzbwY>
Subject: [Doh] POST and GET
X-BeenThere: doh@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 18 Sep 2018 03:22:04 -0000

Draft 14, 4.1. The HTTP Request:

> DoH servers MUST implement both the POST and GET methods.

What is meant by the word "implement"?

I have *implemented* both GET and POST code paths. But do they need to
exposed in every use case? I want to be able to support GET only for server
push, for example, and otherwise restrict client requests to POST.

GET requires much more processing from a DOH proxy. I.e. parse the DNS
response packet to find the lowest TTL for HTTP cache-control header
max-age. As an operator I may want to disable support for GET requests from
the client and return 405 or 501.

I love the idea of pushing DNS responses as GET. This is lightweight and
can be easily injected by a DOH proxy. However the current draft, in
section 5.3, does not impose a similar "MUST implement both" requirement on
the client. Should it?

Seb