
From nobody Tue May  5 10:14:37 2020
Return-Path: <bs7652@att.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E5C0B3A0A73 for <dnssd@ietfa.amsl.com>; Tue,  5 May 2020 10:14:36 -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, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 IGXo8rrkMnGo for <dnssd@ietfa.amsl.com>; Tue,  5 May 2020 10:14:35 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0a-00191d01.pphosted.com [67.231.149.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1AF8A3A0A52 for <dnssd@ietf.org>; Tue,  5 May 2020 10:14:35 -0700 (PDT)
Received: from pps.filterd (m0049295.ppops.net [127.0.0.1]) by m0049295.ppops.net-00191d01. (8.16.0.42/8.16.0.42) with SMTP id 045H2nfa037910 for <dnssd@ietf.org>; Tue, 5 May 2020 13:14:34 -0400
Received: from alpi154.enaf.aldc.att.com (sbcsmtp6.sbc.com [144.160.229.23]) by m0049295.ppops.net-00191d01. with ESMTP id 30u86mwtvq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <dnssd@ietf.org>; Tue, 05 May 2020 13:14:34 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 045HEXWL007011 for <dnssd@ietf.org>; Tue, 5 May 2020 13:14:33 -0400
Received: from zlp30487.vci.att.com (zlp30487.vci.att.com [135.47.91.176]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 045HETKB006888 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for <dnssd@ietf.org>; Tue, 5 May 2020 13:14:29 -0400
Received: from zlp30487.vci.att.com (zlp30487.vci.att.com [127.0.0.1]) by zlp30487.vci.att.com (Service) with ESMTP id 0C1FE4009E84 for <dnssd@ietf.org>; Tue,  5 May 2020 17:14:29 +0000 (GMT)
Received: from GAALPA1MSGHUBAA.ITServices.sbc.com (unknown [130.8.218.150]) by zlp30487.vci.att.com (Service) with ESMTPS id ED96D4009E7D for <dnssd@ietf.org>; Tue,  5 May 2020 17:14:28 +0000 (GMT)
Received: from GAALPA1MSGEX1CC.ITServices.sbc.com (135.50.89.110) by GAALPA1MSGHUBAA.ITServices.sbc.com (130.8.218.150) with Microsoft SMTP Server (TLS) id 14.3.487.0; Tue, 5 May 2020 13:14:28 -0400
Received: from GAALPA1MSGEX1CB.ITServices.sbc.com (135.50.89.109) by GAALPA1MSGEX1CC.ITServices.sbc.com (135.50.89.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Tue, 5 May 2020 13:14:28 -0400
Received: from GAALPA1MSGEX1CB.ITServices.sbc.com ([135.50.89.109]) by GAALPA1MSGEX1CB.ITServices.sbc.com ([135.50.89.109]) with mapi id 15.01.1913.007; Tue, 5 May 2020 13:14:28 -0400
From: "STARK, BARBARA H" <bs7652@att.com>
To: "'dnssd@ietf.org'" <dnssd@ietf.org>
Thread-Topic: IETF 108 survey -- really fill it out!
Thread-Index: AdYjAGsev9v69EPoSeKMjkCf8jcS6A==
Date: Tue, 5 May 2020 17:14:28 +0000
Message-ID: <c7c6cf852e78408d863d0b71ba73b5d7@att.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [130.10.207.216]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-05-05_09:2020-05-04, 2020-05-05 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 malwarescore=0 suspectscore=0 mlxlogscore=539 adultscore=0 priorityscore=1501 mlxscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2005050131
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/0sd8LMeaZ40CfGaQj2_eyARZWgY>
Subject: [dnssd] IETF 108 survey -- really fill it out!
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 May 2020 17:14:37 -0000

Much of dnssd is on the homenet list I just sent this to, and on lots of ot=
her lists. But, hey, I'll send this again, anyway. And then go fill it out =
myself.
Barbara
------------------------
This is a reminder that we need the IETF community to help us plan for the =
possibility that one or more upcoming IETF meetings in 2020 and possibly 20=
21 may not be able to go ahead in person.  You can help us with this by fil=
ling out the following survey:=20

	https://www.surveymonkey.com/r/5328FFJ

So far we have 114 responses and we would ideally like 500 or more.

The survey contains the following pages and will take 15-20 minutes to comp=
lete:

1. Welcome
2. Online IETF 107 and the subsequent virtual interims
3. Replacing a cancelled in-person meeting
4. Online meeting format and timezone
5. Replicating humming
6. Replicating the hallway environment
7. Fees
8. Thanks and anything else

We run the survey in anonymous mode which means that we only see data that =
you explicitly provide.

Thank you in advance for your help.

--=20
Alissa Cooper, IETF Chair
Jay Daley, IETF Executive Director
Colin Perkins, IRTF Chair


From nobody Wed May 27 22:07:25 2020
Return-Path: <cheshire@apple.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 861053A0916 for <dnssd@ietfa.amsl.com>; Wed, 27 May 2020 22:07:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.088
X-Spam-Level: 
X-Spam-Status: No, score=-2.088 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, T_HTML_ATTACH=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.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 o84uyrYJLCCS for <dnssd@ietfa.amsl.com>; Wed, 27 May 2020 22:07:20 -0700 (PDT)
Received: from ma1-aaemail-dr-lapp01.apple.com (ma1-aaemail-dr-lapp01.apple.com [17.171.2.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DEB8E3A08FC for <dnssd@ietf.org>; Wed, 27 May 2020 22:07:19 -0700 (PDT)
Received: from pps.filterd (ma1-aaemail-dr-lapp01.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp01.apple.com (8.16.0.42/8.16.0.42) with SMTP id 04S55fsb051093 for <dnssd@ietf.org>; Wed, 27 May 2020 22:07:17 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : content-type : mime-version : subject : message-id : date : to; s=20180706; bh=cF1UOU0j07S+Hsz5LlN/PePbXOZmqThGuMca8pspOSI=; b=ImTvLUeEQyDoTWqkkPSsBd2RJBHIYTQPSZ9tqoDD2Z9bWl/2hiph4XicoSuI131YibJO r8/VBW01H0YUu/Og89Nxt3OQzanMp6Gv4N2LxFkcxTp6jXR0kJTfJ3Ro/49NeyDafuE/ 4nbQsLZ3FngugFcnocyJYlxsAh1bGOuRjgqo4dr0+18qA6q9tzBn0Txr9wc2X8savVg+ O0H1EISR4B8m4bmA/LBStDIbPo0Bn93+L2wFwmOJENQ2rMbZzjPULNTvWKfCfNJbU1aI +HvcJWpiT6IjNkPo1ZedfrB0TQUetRZTAGFCZvl9SvalssAgloT6qiXiOQHKMesLvjzs yg== 
Received: from rn-mailsvcp-mta-lapp02.rno.apple.com (rn-mailsvcp-mta-lapp02.rno.apple.com [10.225.203.150]) by ma1-aaemail-dr-lapp01.apple.com with ESMTP id 3172g3ha25-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for <dnssd@ietf.org>; Wed, 27 May 2020 22:07:17 -0700
Received: from rn-mailsvcp-mmp-lapp04.rno.apple.com (rn-mailsvcp-mmp-lapp04.rno.apple.com [17.179.253.17]) by rn-mailsvcp-mta-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.5.20200312 64bit (built Mar 12 2020)) with ESMTPS id <0QB0001XJZK5H0E0@rn-mailsvcp-mta-lapp02.rno.apple.com> for dnssd@ietf.org; Wed, 27 May 2020 22:07:17 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp04.rno.apple.com by rn-mailsvcp-mmp-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.5.20200312 64bit (built Mar 12 2020)) id <0QB000100ZHKJ000@rn-mailsvcp-mmp-lapp04.rno.apple.com> for dnssd@ietf.org; Wed, 27 May 2020 22:07:17 -0700 (PDT)
X-Va-A: 
X-Va-T-CD: e750b37117f6d297f17f6b8b9db13ca5
X-Va-E-CD: 4bf9b469f81437200fbd20d274dbfd39
X-Va-R-CD: bf1007d57e01f04f1aa80ff74865489b
X-Va-CD: 0
X-Va-ID: a662763c-ce70-4dc7-8bb3-8a4e56170013
X-V-A: 
X-V-T-CD: e750b37117f6d297f17f6b8b9db13ca5
X-V-E-CD: 4bf9b469f81437200fbd20d274dbfd39
X-V-R-CD: bf1007d57e01f04f1aa80ff74865489b
X-V-CD: 0
X-V-ID: 91956b6a-9d1d-4ec8-b1ec-3911621b5949
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687 definitions=2020-05-28_02:2020-05-28, 2020-05-27 signatures=0
Received: from [17.232.171.153] (unknown [17.232.171.153]) by rn-mailsvcp-mmp-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.5.20200312 64bit (built Mar 12 2020)) with ESMTPSA id <0QB000JEIZK0EY00@rn-mailsvcp-mmp-lapp04.rno.apple.com> for dnssd@ietf.org; Wed, 27 May 2020 22:07:14 -0700 (PDT)
From: Stuart Cheshire <cheshire@apple.com>
Content-type: multipart/mixed; boundary="Apple-Mail=_86038414-D216-411F-A3FC-216CBE8CF844"
MIME-version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
Message-id: <5506A068-55D3-4D47-9B37-9AE9AC44CF47@apple.com>
Date: Wed, 27 May 2020 22:07:12 -0700
To: "dnssd@ietf.org" <dnssd@ietf.org>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687 definitions=2020-05-28_02:2020-05-28, 2020-05-27 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/ppVaHvJX5tWG39GstHWGa41HhPA>
Subject: [dnssd] Impending Publication of Discovery Proxy RFC
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2020 05:07:23 -0000

--Apple-Mail=_86038414-D216-411F-A3FC-216CBE8CF844
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

We are wrapping up AUTH48 for DNS Push Notifications and Discovery =
Proxy.

In doing my AUTH48 reviews, I read RFC 8499 (DNS Terminology) to make =
sure I was using DNS terminology correctly. I noticed RFC 8499 =
criticizes RFC 5731 (EPP Domain Name Mapping) for introducing the terms =
=E2=80=9Csubordinate=E2=80=9D and =E2=80=9Csuperordinate=E2=80=9D but =
defining them by example rather than defining them explicitly. I =
realized that the Discovery Proxy RFC text was guilty of the same thing.

Various important Discovery Proxy data translations are illustrated by =
example in different places in the document, and only mentioned =
obliquely in the =E2=80=9CData Translation=E2=80=9D section. In =
draft-ietf-dnssd-hybrid-10.txt, Section 5.5 begins with the following =
text:

5.5.  Data Translation

   Generating the appropriate Multicast DNS queries involves,
   at the very least, translating from the configured DNS domain
   (e.g., "Building 1.example.com") on the Unicast DNS side to "local"
   on the Multicast DNS side.

   Generating the appropriate Unicast DNS responses involves translating
   back from "local" to the appropriate configured DNS Unicast domain.

   Other beneficial translation and filtering operations are described
   below.

...

The three uses of the word =E2=80=9Cappropriate=E2=80=9D there encompass =
quite a lot! The descriptions of the necessary translations are =
scattered elsewhere in the document, sometimes explicitly, sometimes =
only by example. The information is there, but you have to read the =
document attentively to get it all. Others who worked on =
implementations, like Ted Lemon and Tom Pusateri, were clear on what =
=E2=80=9Cappropriate=E2=80=9D meant because they were actively involved =
with the working group throughout. Talking more recently with other =
implementers, it has become painfully clear that it is not obvious to =
everyone.

Following a suggestion from Ted Lemon, I have pulled from examples that =
are scattered elsewhere throughout the document, and used them to craft =
a clearer summary description in this section. Without this new text I =
fear there is a risk of different implementers making different =
assumptions, yielding interoperability problems that have to be found =
and fixed through painful testing and debugging.

The more thorough text for this section is attached, both in plain text =
and HTML form. (I recommend the HTML version because it has the example =
text nicely formatted in a different font.)

Please take a look and check that this new text correctly captures the =
intent of the document and protocol.

Stuart Cheshire


--Apple-Mail=_86038414-D216-411F-A3FC-216CBE8CF844
Content-Disposition: attachment;
	filename=DiscoveryProxyDataTranslation.txt
Content-Type: text/plain; x-unix-mode=0644;
 name="DiscoveryProxyDataTranslation.txt"
Content-Transfer-Encoding: 7bit





Internet Engineering Task Force (IETF)                       S. Cheshire
Request for Comments: 8766                                    Apple Inc.
Category: Standards Track                                       May 2020
ISSN: 2070-1721


       Discovery Proxy for Multicast DNS-Based Service Discovery

...

5.5.  Data Translation

   For the delegated rich-text and LDH subdomains, generating
   appropriate Multicast DNS queries involves translating from the
   configured DNS domain (e.g., "Building 1.example.com") on the Unicast
   DNS side to ".local" on the Multicast DNS side.

   For the delegated reverse-mapping subdomain, generating appropriate
   Multicast DNS queries involves using the appropriate API mechanism to
   indicate that a query should be performed using Multicast DNS, as
   described in Section 5.4.

   Generating appropriate Unicast DNS responses from the received
   Multicast DNS answers involves translating back from ".local" to the
   appropriate configured Unicast DNS domain as necessary, as described
   below.

   In the examples below, the delegated subdomains are as follows:

   Delegated subdomain for rich-text names       Building 1.example.com.
   Delegated subdomain for LDH names                 bldg-1.example.com.
   Delegated subdomain for IPv4 reverse mapping  113.0.203.in-addr.arpa.

   Names in Multicast DNS answers that do not end in ".local" do not
   require any translation.

   Names in Multicast DNS answers that end in ".local" are only
   meaningful on the local link, and require translation to make them
   useable by clients outside the local link.

   Names that end in ".local" may appear both as the owner names of
   received Multicast DNS answer records, and in the RDATA of received
   Multicast DNS answer records.

   In a received Multicast DNS answer record, if the owner name ends
   with ".local", then the ".local" top-level label is replaced with the
   name of the delegated subdomain as was used in the originating query.

   In a received Multicast DNS answer record, if a name in the RDATA
   ends with ".local", then the name is translated according to the
   delegated subdomain that was used in the originating query, as
   explained below.

   For queries in subdomains delegated for LDH host names, ".local"
   names in RDATA are translated to that delegated LDH subdomain.  For
   example, a query for "thing.bldg-1.example.com" will be translated to
   a Multicast DNS query for "thing.local".  If that query returns this
   CNAME record:

     thing.local.               CNAME  prnt.local.

   then both the owner name and the name in the RDATA are translated
   from ".local" to the LDH subdomain "bldg-1.example.com":

     thing.bldg-1.example.com.  CNAME  prnt.bldg-1.example.com.

   For queries in subdomains delegated for reverse mapping names,
   ".local" names in RDATA are translated to the delegated LDH
   subdomain, if one is configured, or to the delegated rich-text
   subdomain otherwise.  For example, consider a reverse mapping query
   that returns this PTR record:

     2.113.0.203.in-addr.arpa.  PTR  prnt.local.

   The owner name is not translated because it does not end in ".local".
   The name in the RDATA is translated from ".local" to the LDH
   subdomain "bldg-1.example.com":

     2.113.0.203.in-addr.arpa.  PTR  prnt.bldg-1.example.com.

   For queries in subdomains delegated for rich-text names, ".local"
   names in RDATA are translated according to whether or not they
   represent host names (i.e., RDATA names that are the owner names of A
   and AAAA DNS records).  RDATA names ending in ".local" that represent
   host names are translated to the delegated LDH subdomain, if one is
   configured, or to the delegated rich-text subdomain otherwise.  All
   other RDATA names ending in ".local" are translated to the delegated
   rich-text subdomain.  For example, consider a DNS-SD service browsing
   PTR query that returns this PTR record for IPP printing:

     _ipp._tcp.local.  PTR  My Printer._ipp._tcp.local.

   Both the owner name and the name in the RDATA are translated from
   ".local" to the rich-text subdomain:

     _ipp._tcp.Building 1.example.com.
                       PTR  My Printer._ipp._tcp.Building 1.example.com.

   In contrast, consider a query that returns this SRV record for a
   specific IPP printing instance:

     My Printer._ipp._tcp.local.  SRV  0 0 631 prnt.local.

   As for all queries, the owner name is translated to the delegated
   subdomain of the originating query, the delegated rich-text subdomain
   "Building 1.example.com".  However, the ".local" name in the RDATA is
   the target host name field of an SRV record, a field that is used
   exclusively for host names.  Consequently it is translated to the LDH
   subdomain "bldg-1.example.com", if configured, instead of the rich-
   text subdomain:

     My Printer._ipp._tcp.Building 1.example.com.
                                  SRV  0 0 631 prnt.bldg-1.example.com.

   Other beneficial translation and filtering operations are described
   below.

--Apple-Mail=_86038414-D216-411F-A3FC-216CBE8CF844
Content-Disposition: attachment;
	filename=DiscoveryProxyDataTranslation.html
Content-Type: text/html; x-unix-mode=0644;
 name="DiscoveryProxyDataTranslation.html"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html lang=3D"en" class=3D"RFC">
<head>
<meta charset=3D"utf-8">
<meta content=3D"Common,Latin" name=3D"scripts">
<meta content=3D"initial-scale=3D1.0" name=3D"viewport">
<title>RFC 8766: Discovery Proxy for Multicast DNS-Based Service =
Discovery</title>
<meta content=3D"Stuart Cheshire" name=3D"author">
<meta content=3D"
       This document specifies a network proxy that uses Multicast DNS
      to automatically populate the wide-area unicast Domain Name System
      namespace
      with records describing devices and services found on the local
      link.=20
    " name=3D"description">
<meta content=3D"xml2rfc 2.40.1" name=3D"generator">
<meta content=3D"Multicast DNS" name=3D"keyword">
<meta content=3D"DNS-Based Service Discovery" name=3D"keyword">
<meta content=3D"8766" name=3D"rfc.number">
<link href=3D"rfc8766-SC1.xml" type=3D"application/rfc+xml" =
rel=3D"alternate">
<link href=3D"#copyright" rel=3D"license">
<style type=3D"text/css">/*

  NOTE: Changes at the bottom of this file overrides some earlier =
settings.

  Once the style has stabilized and has been adopted as an official RFC =
style,
  this can be consolidated so that style settings occur only in one =
place, but
  for now the contents of this file consists first of the initial CSS =
work as
  provided to the RFC Formatter (xml2rfc) work, followed by itemized and
  commented changes found necssary during the development of the v3
  formatters.

*/

/* fonts */
@import url('https://fonts.googleapis.com/css?family=3DNoto+Sans'); /* =
Sans-serif */
@import url('https://fonts.googleapis.com/css?family=3DNoto+Serif'); /* =
Serif (print) */
@import url('https://fonts.googleapis.com/css?family=3DRoboto+Mono'); /* =
Monospace */

@viewport {
  zoom: 1.0;
  width: extend-to-zoom;
}
@-ms-viewport {
  width: extend-to-zoom;
  zoom: 1.0;
}
/* general and mobile first */
html {
}
body {
  max-width: 90%;
  margin: 1.5em auto;
  color: #222;
  background-color: #fff;
  font-size: 14px;
  font-family: 'Noto Sans', Arial, Helvetica, sans-serif;
  line-height: 1.6;
  scroll-behavior: smooth;
}
.ears {
  display: none;
}

/* headings */
#title, h1, h2, h3, h4, h5, h6 {
  margin: 1em 0 0.5em;
  font-weight: bold;
  line-height: 1.3;
}
#title {
  clear: both;
  border-bottom: 1px solid #ddd;
  margin: 0 0 0.5em 0;
  padding: 1em 0 0.5em;
}
.author {
  padding-bottom: 4px;
}
h1 {
  font-size: 26px;
  margin: 1em 0;
}
h2 {
  font-size: 22px;
  margin-top: -20px;  /* provide offset for in-page anchors */
  padding-top: 33px;
}
h3 {
  font-size: 18px;
  margin-top: -36px;  /* provide offset for in-page anchors */
  padding-top: 42px;
}
h4 {
  font-size: 16px;
  margin-top: -36px;  /* provide offset for in-page anchors */
  padding-top: 42px;
}
h5, h6 {
  font-size: 14px;
}
#n-copyright-notice {
  border-bottom: 1px solid #ddd;
  padding-bottom: 1em;
  margin-bottom: 1em;
}
/* general structure */
p {
  padding: 0;
  margin: 0 0 1em 0;
  text-align: left;
}
div, span {
  position: relative;
}
div {
  margin: 0;
}
.alignRight.art-text {
  background-color: #f9f9f9;
  border: 1px solid #eee;
  border-radius: 3px;
  padding: 1em 1em 0;
  margin-bottom: 1.5em;
}
.alignRight.art-text pre {
  padding: 0;
}
.alignRight {
  margin: 1em 0;
}
.alignRight > *:first-child {
  border: none;
  margin: 0;
  float: right;
  clear: both;
}
.alignRight > *:nth-child(2) {
  clear: both;
  display: block;
  border: none;
}
svg {
  display: block;
}
.alignCenter.art-text {
  background-color: #f9f9f9;
  border: 1px solid #eee;
  border-radius: 3px;
  padding: 1em 1em 0;
  margin-bottom: 1.5em;
}
.alignCenter.art-text pre {
  padding: 0;
}
.alignCenter {
  margin: 1em 0;
}
.alignCenter > *:first-child {
  border: none;
  /* this isn't optimal, but it's an existence proof.  PrinceXML doesn't
     support flexbox yet.
  */
  display: table;
  margin: 0 auto;
}

/* lists */
ol, ul {
  padding: 0;
  margin: 0 0 1em 2em;
}
ol ol, ul ul, ol ul, ul ol {
  margin-left: 1em;
}
li {
  margin: 0 0 0.25em 0;
}
.ulCompact li {
  margin: 0;
}
ul.empty, .ulEmpty {
  list-style-type: none;
}
ul.empty li, .ulEmpty li {
  margin-top: 0.5em;
}
ul.compact, .ulCompact,
ol.compact, .olCompact {
  line-height: 100%;
  margin: 0 0 0 2em;
}

/* definition lists */
dl {
}
dl > dt {
  float: left;
  margin-right: 1em;
}
/*=20
dl.nohang > dt {
  float: none;
}
*/
dl > dd {
  margin-bottom: .8em;
  min-height: 1.3em;
}
dl.compact > dd, .dlCompact > dd {
  margin-bottom: 0em;
}
dl > dd > dl {
  margin-top: 0.5em;
  margin-bottom: 0em;
}

/* links */
a {
  text-decoration: none;
}
a[href] {
  color: #22e; /* Arlen: WCAG 2019 */
}
a[href]:hover {
  background-color: #f2f2f2;
}
figcaption a[href],
a[href].selfRef {
  color: #222;
}
/* XXX probably not this:
a.selfRef:hover {
  background-color: transparent;
  cursor: default;
} */

/* Figures */
tt, code, pre, code {
  background-color: #f9f9f9;
  font-family: 'Roboto Mono', monospace;
}
pre {
  border: 1px solid #eee;
  margin: 0;
  padding: 1em;
}
img {
  max-width: 100%;
}
figure {
  margin: 0;
}
figure blockquote {
  margin: 0.8em 0.4em 0.4em;
}
figcaption {
  font-style: italic;
  margin: 0 0 1em 0;
}
@media screen {
  pre {
    overflow-x: auto;
    max-width: 100%;
    max-width: calc(100% - 22px);
  }
}

/* aside, blockquote */
aside, blockquote {
  margin-left: 0;
  padding: 1.2em 2em;
}
blockquote {
  background-color: #f9f9f9;
  color: #111; /* Arlen: WCAG 2019 */
  border: 1px solid #ddd;
  border-radius: 3px;
  margin: 1em 0;
}
cite {
  display: block;
  text-align: right;
  font-style: italic;
}

/* tables */
table {
  width: 100%;
  margin: 0 0 1em;
  border-collapse: collapse;
  border: 1px solid #eee;
}
th, td {
  text-align: left;
  vertical-align: top;
  padding: 0.5em 0.75em;
}
th {
  text-align: left;
  background-color: #e9e9e9;
}
tr:nth-child(2n+1) > td {
  background-color: #f5f5f5;
}
table caption {
  font-style: italic;
  margin: 0;
  padding: 0;
  text-align: left;
}
table p {
  /* XXX to avoid bottom margin on table row signifiers. If paragraphs =
should
     be allowed within tables more generally, it would be far better to =
select on a class. */
  margin: 0;
}

/* pilcrow */
a.pilcrow {
  color: #666; /* Arlen: AHDJ 2019 */
  text-decoration: none;
  visibility: hidden;
  user-select: none;
  -ms-user-select: none;
  -o-user-select:none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
@media screen {
  aside:hover > a.pilcrow,
  p:hover > a.pilcrow,
  blockquote:hover > a.pilcrow,
  div:hover > a.pilcrow,
  li:hover > a.pilcrow,
  pre:hover > a.pilcrow {
    visibility: visible;
  }
  a.pilcrow:hover {
    background-color: transparent;
  }
}

/* misc */
hr {
  border: 0;
  border-top: 1px solid #eee;
}
.bcp14 {
  font-variant: small-caps;
}

.role {
  font-variant: all-small-caps;
}

/* info block */
#identifiers {
  margin: 0;
  font-size: 0.9em;
}
#identifiers dt {
  width: 3em;
  clear: left;
}
#identifiers dd {
  float: left;
  margin-bottom: 0;
}
#identifiers .authors .author {
  display: inline-block;
  margin-right: 1.5em;
}
#identifiers .authors .org {
  font-style: italic;
}

/* The prepared/rendered info at the very bottom of the page */
.docInfo {
  color: #666; /* Arlen: WCAG 2019 */
  font-size: 0.9em;
  font-style: italic;
  margin-top: 2em;
}
.docInfo .prepared {
  float: left;
}
.docInfo .prepared {
  float: right;
}

/* table of contents */
#toc  {
  padding: 0.75em 0 2em 0;
  margin-bottom: 1em;
}
nav.toc ul {
  margin: 0 0.5em 0 0;
  padding: 0;
  list-style: none;
}
nav.toc li {
  line-height: 1.3em;
  margin: 0.75em 0;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
/* references */
.references dt {
  text-align: right;
  font-weight: bold;
  min-width: 7em;
}
.references dd {
  margin-left: 8em;
  overflow: auto;
}

.refInstance {
  margin-bottom: 1.25em;
}

.references .ascii {
  margin-bottom: 0.25em;
}

/* index */
.index ul {
  margin: 0 0 0 1em;
  padding: 0;
  list-style: none;
}
.index ul ul {
  margin: 0;
}
.index li {
  margin: 0;
  text-indent: -2em;
  padding-left: 2em;
  padding-bottom: 5px;
}
.indexIndex {
  margin: 0.5em 0 1em;
}
.index a {
  font-weight: 700;
}
/* make the index two-column on all but the smallest screens */
@media (min-width: 600px) {
  .index ul {
    -moz-column-count: 2;
    -moz-column-gap: 20px;
  }
  .index ul ul {
    -moz-column-count: 1;
    -moz-column-gap: 0;
  }
}

/* authors */
address.vcard {
  font-style: normal;
  margin: 1em 0;
}

address.vcard .nameRole {
  font-weight: 700;
  margin-left: 0;
}
address.vcard .label {
  font-family: "Noto Sans",Arial,Helvetica,sans-serif;
  margin: 0.5em 0;
}
address.vcard .type {
  display: none;
}
.alternative-contact {
  margin: 1.5em 0 1em;
}
hr.addr {
  border-top: 1px dashed;
  margin: 0;
  color: #ddd;
  max-width: calc(100% - 16px);
}

/* temporary notes */
.rfcEditorRemove::before {
  position: absolute;
  top: 0.2em;
  right: 0.2em;
  padding: 0.2em;
  content: "The RFC Editor will remove this note";
  color: #9e2a00; /* Arlen: WCAG 2019 */
  background-color: #ffd; /* Arlen: WCAG 2019 */
}
.rfcEditorRemove {
  position: relative;
  padding-top: 1.8em;
  background-color: #ffd; /* Arlen: WCAG 2019 */
  border-radius: 3px;
}
.cref {
  background-color: #ffd; /* Arlen: WCAG 2019 */
  padding: 2px 4px;
}
.crefSource {
  font-style: italic;
}
/* alternative layout for smaller screens */
@media screen and (max-width: 1023px) {
  body {
    padding-top: 2em;
  }
  #title {
    padding: 1em 0;
  }
  h1 {
    font-size: 24px;
  }
  h2 {
    font-size: 20px;
    margin-top: -18px;  /* provide offset for in-page anchors */
    padding-top: 38px;
  }
  #identifiers dd {
    max-width: 60%;
  }
  #toc {
    position: fixed;
    z-index: 2;
    top: 0;
    right: 0;
    padding: 0;
    margin: 0;
    background-color: inherit;
    border-bottom: 1px solid #ccc;
  }
  #toc h2 {
    margin: -1px 0 0 0;
    padding: 4px 0 4px 6px;
    padding-right: 1em;
    min-width: 190px;
    font-size: 1.1em;
    text-align: right;
    background-color: #444;
    color: white;
    cursor: pointer;
  }
  #toc h2::before { /* css hamburger */
    float: right;
    position: relative;
    width: 1em;
    height: 1px;
    left: -164px;
    margin: 6px 0 0 0;
    background: white none repeat scroll 0 0;
    box-shadow: 0 4px 0 0 white, 0 8px 0 0 white;
    content: "";
  }
  #toc nav {
    display: none;
    padding: 0.5em 1em 1em;
    overflow: auto;
    height: calc(100vh - 48px);
    border-left: 1px solid #ddd;
  }
}

/* alternative layout for wide screens */
@media screen and (min-width: 1024px) {
  body {
    max-width: 724px;
    margin: 42px auto;
    padding-left: 1.5em;
    padding-right: 29em;
  }
  #toc {
    position: fixed;
    top: 42px;
    right: 42px;
    width: 25%;
    margin: 0;
    padding: 0 1em;
    z-index: 1;
  }
  #toc h2 {
    border-top: none;
    border-bottom: 1px solid #ddd;
    font-size: 1em;
    font-weight: normal;
    margin: 0;
    padding: 0.25em 1em 1em 0;
  }
  #toc nav {
    display: block;
    height: calc(90vh - 84px);
    bottom: 0;
    padding: 0.5em 0 0;
    overflow: auto;
  }
  img { /* future proofing */
    max-width: 100%;
    height: auto;
  }
}

/* pagination */
@media print {
  body {

    width: 100%;
  }
  p {
    orphans: 3;
    widows: 3;
  }
  #n-copyright-notice {
    border-bottom: none;
  }
  #toc, #n-introduction {
    page-break-before: always;
  }
  #toc {
    border-top: none;
    padding-top: 0;
  }
  figure, pre {
    page-break-inside: avoid;
  }
  figure {
    overflow: scroll;
  }
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  h2+*, h3+*, h4+*, h5+*, h6+* {
    page-break-before: avoid;
  }
  pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    font-size: 10pt;
  }
  table {
    border: 1px solid #ddd;
  }
  td {
    border-top: 1px solid #ddd;
  }
}

/* This is commented out here, as the string-set: doesn't
   pass W3C validation currently */
/*
.ears thead .left {
  string-set: ears-top-left content();
}

.ears thead .center {
  string-set: ears-top-center content();
}

.ears thead .right {
  string-set: ears-top-right content();
}

.ears tfoot .left {
  string-set: ears-bottom-left content();
}

.ears tfoot .center {
  string-set: ears-bottom-center content();
}

.ears tfoot .right {
  string-set: ears-bottom-right content();
}
*/

@page :first {
  padding-top: 0;
  @top-left {
    content: normal;
    border: none;
  }
  @top-center {
    content: normal;
    border: none;
  }
  @top-right {
    content: normal;
    border: none;
  }
}

@page {
  size: A4;
  margin-bottom: 45mm;
  padding-top: 20px;
  /* The follwing is commented out here, but set appropriately by in =
code, as
     the content depends on the document */
  /*
  @top-left {
    content: 'Internet-Draft';
    vertical-align: bottom;
    border-bottom: solid 1px #ccc;
  }
  @top-left {
    content: string(ears-top-left);
    vertical-align: bottom;
    border-bottom: solid 1px #ccc;
  }
  @top-center {
    content: string(ears-top-center);
    vertical-align: bottom;
    border-bottom: solid 1px #ccc;
  }
  @top-right {
    content: string(ears-top-right);
    vertical-align: bottom;
    border-bottom: solid 1px #ccc;
  }
  @bottom-left {
    content: string(ears-bottom-left);
    vertical-align: top;
    border-top: solid 1px #ccc;
  }
  @bottom-center {
    content: string(ears-bottom-center);
    vertical-align: top;
    border-top: solid 1px #ccc;
  }
  @bottom-right {
      content: '[Page ' counter(page) ']';
      vertical-align: top;
      border-top: solid 1px #ccc;
  }
  */

}

/* Changes introduced to fix issues found during implementation */
/* Make sure links are clickable even if overlapped by following H* */
a {
  z-index: 2;
}
/* Separate body from document info even without intervening H1 */
section {
  clear: both;
}


/* Top align author divs, to avoid names without organization dropping =
level with org names */
.author {
  vertical-align: top;
}

/* Leave room in document info to show Internet-Draft on one line */
#identifiers dt {
  width: 8em;
}

/* Don't waste quite as much whitespace between label and value in doc =
info */
#identifiers dd {
  margin-left: 1em;
}

/* Give floating toc a background color (needed when it's a div inside =
section */
#toc {
  background-color: white;
}

/* Make the collapsed ToC header render white on gray also when it's a =
link */
@media screen and (max-width: 1023px) {
  #toc h2 a,
  #toc h2 a:link,
  #toc h2 a:focus,
  #toc h2 a:hover,
  #toc a.toplink,
  #toc a.toplink:hover {
    color: white;
    background-color: #444;
    text-decoration: none;
  }
}

/* Give the bottom of the ToC some whitespace */
@media screen and (min-width: 1024px) {
  #toc {
    padding: 0 0 1em 1em;
  }
}

/* Style section numbers with more space between number and title */
.section-number {
  padding-right: 0.5em;
}

/* prevent monospace from becoming overly large */
tt, code, pre, code {
  font-size: 95%;
}

/* Fix the height/width aspect for ascii art*/
pre.sourcecode,
.art-text pre {
  line-height: 1.12;
}


/* Add styling for a link in the ToC that points to the top of the =
document */
a.toplink {
  float: right;
  margin-right: 0.5em;
}

/* Fix the dl styling to match the RFC 7992 attributes */
dl > dt,
dl.dlParallel > dt {
  float: left;
  margin-right: 1em;
}
dl.dlNewline > dt {
  float: none;
}

/* Provide styling for table cell text alignment */
table td.text-left,
table th.text-left {
  text-align: left;
}
table td.text-center,
table th.text-center {
  text-align: center;
}
table td.text-right,
table th.text-right {
  text-align: right;
}

/* Make the alternative author contact informatio look less like just =
another
   author, and group it closer with the primary author contact =
information */
.alternative-contact {
  margin: 0.5em 0 0.25em 0;
}
address .non-ascii {
  margin: 0 0 0 2em;
}

/* With it being possible to set tables with alignment
  left, center, and right, { width: 100%; } does not make sense */
table {
  width: auto;
}

/* Avoid reference text that sits in a block with very wide left margin,
   because of a long floating dt label.*/
.references dd {
  overflow: visible;
}

/* Control caption placement */
caption {
  caption-side: bottom;
}

/* Limit the width of the author address vcard, so names in =
right-to-left
   script don't end up on the other side of the page. */

address.vcard {
  max-width: 30em;
  margin-right: auto;
}

/* For address alignment dependent on LTR or RTL scripts */
address div.left {
  text-align: left;
}
address div.right {
  text-align: right;
}

/* Provide table alignment support.  We can't use the alignX classes =
above
   since they do unwanted things with caption and other styling. */
table.right {
 margin-left: auto;
 margin-right: 0;
}
table.center {
 margin-left: auto;
 margin-right: auto;
}
table.left {
 margin-left: 0;
 margin-right: auto;
}

/* Give the table caption label the same styling as the figcaption */
caption a[href] {
  color: #222;
}

@media print {
  .toplink {
    display: none;
  }

  /* avoid overwriting the top border line with the ToC header */
  #toc {
    padding-top: 1px;
  }

  /* Avoid page breaks inside dl and author address entries */
  .vcard {
    page-break-inside: avoid;
  }

}
/* Avoid wrapping of URLs in references */
@media screen {
  .references a {
    white-space: nowrap;
  }
}
/* Tweak the bcp14 keyword presentation */
.bcp14 {
  font-variant: small-caps;
  font-weight: bold;
  font-size: 0.9em;
}
/* Tweak the invisible space above H* in order not to overlay links in =
text above */
 h2 {
  margin-top: -18px;  /* provide offset for in-page anchors */
  padding-top: 31px;
 }
 h3 {
  margin-top: -18px;  /* provide offset for in-page anchors */
  padding-top: 24px;
 }
 h4 {
  margin-top: -18px;  /* provide offset for in-page anchors */
  padding-top: 24px;
 }
/* Float artwork pilcrow to the right */
@media screen {
  .artwork a.pilcrow {
    display: block;
    line-height: 0.7;
    margin-top: 0.15em;
  }
}
/* Make pilcrows on dd visible */
@media screen {
  dd:hover > a.pilcrow {
    visibility: visible;
  }
}
/* Make the placement of figcaption match that of a table's caption
   by removing the figure's added bottom margin */
.alignLeft.art-text,
.alignCenter.art-text,
.alignRight.art-text {
   margin-bottom: 0;
}
.alignLeft,
.alignCenter,
.alignRight {
  margin: 1em 0 0 0;
}
/* In print, the pilcrow won't show on hover, so prevent it from taking =
up space,
   possibly even requiring a new line */
@media print {
  a.pilcrow {
    display: none;
  }
}
/* Styling for the external metadata */
div#external-metadata {
  background-color: #eee;
  padding: 0.5em;
  margin-bottom: 0.5em;
  display: none;
}
div#internal-metadata {
  padding: 0.5em;                       /* to match the =
external-metadata padding */
}
/* Styling for title RFC Number */
h1#rfcnum {
  clear: both;
  margin: 0 0 -1em;
  padding: 1em 0 0 0;
}
/* Make .olPercent look the same as <ol><li> */
dl.olPercent > dd {
  margin: 0 0 0.25em 0;
  min-height: initial;
}
/* Give aside some styling to set it apart */
aside {
  border-left: 1px solid #ddd;
  margin: 1em 0 1em 2em;
  padding: 0.2em 2em;
}
aside > dl,
aside > ol,
aside > ul,
aside > table,
aside > p {
  margin-bottom: 0.5em;
}
/* Additional page break settings */
@media print {
  figcaption, table caption {
    page-break-before: avoid;
  }
}
/* Font size adjustments for print */
@media print {
  body  { font-size: 10pt;      line-height: normal; max-width: 96%; }
  h1    { font-size: 1.72em;    padding-top: 1.5em; } /* 1*1.2*1.2*1.2 =
*/
  h2    { font-size: 1.44em;    padding-top: 1.5em; } /* 1*1.2*1.2 */
  h3    { font-size: 1.2em;     padding-top: 1.5em; } /* 1*1.2 */
  h4    { font-size: 1em;       padding-top: 1.5em; }
  h5, h6 { font-size: 1em;      margin: initial; padding: 0.5em 0 0.3em; =
}
}
/* Sourcecode margin in print, when there's no pilcrow */
@media print {
  .artwork,
  .sourcecode {
    margin-bottom: 1em;
  }
}
/*
  The margin-left: 0 on <dd> removes all distinction
  between levels from nested <dl>s.  Undo that.
*/
dl.olPercent > dd,
dd {
  margin-left: revert;
}
/* Avoid narrow tables forcing too narrow table captions, which may =
render badly */
table {
  min-width: 20em;
}
/* ol type a */
ol.type-a { list-style-type: lower-alpha; }
ol.type-A { list-style-type: upper-alpha; }
ol.type-i { list-style-type: lower-roman; }
ol.type-I { list-style-type: lower-roman; }
/* Apply the print table and row borders in general, on request from the =
RPC,
and increase the contrast between border and odd row background =
sligthtly */
table {
  border: 1px solid #ddd;
}
td {
  border-top: 1px solid #ddd;
}
tr:nth-child(2n+1) > td {
  background-color: #f8f8f8;
}
/* Use style rules to govern display of the TOC. */
@media screen and (max-width: 1023px) {
  #toc nav { display: none; }
  #toc.active nav { display: block; }
}
</style>
<link href=3D"rfc-local.css" type=3D"text/css" rel=3D"stylesheet">
<link href=3D"https://datatracker.ietf.org/doc/draft-ietf-dnssd-hybrid-10"=
 rel=3D"prev">
  <link href=3D"https://dx.doi.org/10.17487/rfc8766" rel=3D"alternate">
  <link href=3D"urn:issn:2070-1721" rel=3D"alternate">
  </head>
<body>
<script src=3D"metadata.min.js"></script>
<table class=3D"ears">
<thead><tr>
<td class=3D"left">RFC 8766</td>
<td class=3D"center">Multicast Service Discovery Proxy</td>
<td class=3D"right">May 2020</td>
</tr></thead>
<tfoot><tr>
<td class=3D"left">Cheshire</td>
<td class=3D"center">Standards Track</td>
<td class=3D"right">[Page]</td>
</tr></tfoot>
</table>
<div id=3D"external-metadata" class=3D"document-information"></div>
<div id=3D"internal-metadata" class=3D"document-information">
<dl id=3D"identifiers">
<dt class=3D"label-stream">Stream:</dt>
<dd class=3D"stream">Internet Engineering Task Force (IETF)</dd>
<dt class=3D"label-rfc">RFC:</dt>
<dd class=3D"rfc"><a href=3D"https://www.rfc-editor.org/rfc/rfc8766" =
class=3D"eref">8766</a></dd>
<dt class=3D"label-category">Category:</dt>
<dd class=3D"category">Standards Track</dd>
<dt class=3D"label-published">Published:</dt>
<dd class=3D"published">
<time datetime=3D"2020-05" class=3D"published">May 2020</time>
    </dd>
<dt class=3D"label-issn">ISSN:</dt>
<dd class=3D"issn">2070-1721</dd>
<dt class=3D"label-authors">Author:</dt>
<dd class=3D"authors">
<div class=3D"author">
      <div class=3D"author-name">S. Cheshire</div>
<div class=3D"org">Apple Inc.</div>
</div>
</dd>
</dl>
</div>
<h1 id=3D"rfcnum">RFC 8766</h1>
<h1 id=3D"title">Discovery Proxy for Multicast DNS-Based Service =
Discovery</h1>
<p>...</p>
<section id=3D"section-5.5">
        <h3 id=3D"name-data-translation">
<a href=3D"#section-5.5" class=3D"section-number selfRef">5.5. </a><a =
href=3D"#name-data-translation" class=3D"section-name selfRef">Data =
Translation</a>
        </h3>
<p id=3D"section-5.5-1">For the delegated rich-text and LDH subdomains,
        generating appropriate Multicast DNS queries
        involves translating from the configured DNS domain
        (e.g.,=C2=A0"Building=C2=A01.example.com") on the Unicast DNS =
side
        to ".local" on the Multicast DNS side.<a href=3D"#section-5.5-1" =
class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-2">For the delegated reverse-mapping subdomain,
        generating appropriate Multicast DNS queries
        involves using the appropriate API mechanism to
        indicate that a query should be performed using
        Multicast DNS, as described in
        <a href=3D"#dom-rev" class=3D"xref">Section 5.4</a>.<a =
href=3D"#section-5.5-2" class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-3">Generating appropriate Unicast DNS responses =
from the
        received Multicast DNS answers involves translating back
        from ".local" to the appropriate configured Unicast DNS
        domain as necessary, as described below.<a href=3D"#section-5.5-3"=
 class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-4">In the examples below, the delegated subdomains =
are as follows:<a href=3D"#section-5.5-4" class=3D"pilcrow">=C2=B6</a></p>=

<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-5">
<pre>
Delegated subdomain for rich-text names       Building 1.example.com.
Delegated subdomain for LDH names                 bldg=E2=80=911.example.c=
om.
Delegated subdomain for IPv4 reverse mapping  =
113.0.203.in-addr.arpa.</pre><a href=3D"#section-5.5-5" =
class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-6">Names in Multicast DNS answers that do not end =
in ".local"
        do not require any translation.<a href=3D"#section-5.5-6" =
class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-7">Names in Multicast DNS answers that end in =
".local"
        are only meaningful on the local link, and require translation
        to make them useable by clients outside the local link.<a =
href=3D"#section-5.5-7" class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-8">Names that end in ".local" may appear both as =
the
        owner names of received Multicast DNS answer records,
        and in the RDATA of received Multicast DNS answer records.<a =
href=3D"#section-5.5-8" class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-9">In a received Multicast DNS answer record,
        if the owner name ends with ".local",
        then the ".local" top-level label is replaced with the name
        of the delegated subdomain as was used in the originating =
query.<a href=3D"#section-5.5-9" class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-10">In a received Multicast DNS answer record,
        if a name in the RDATA ends with ".local",
        then the name is translated according to the delegated subdomain
        that was used in the originating query, as explained below.<a =
href=3D"#section-5.5-10" class=3D"pilcrow">=C2=B6</a></p>
<p id=3D"section-5.5-11">For queries in subdomains delegated for LDH =
host names,
        ".local" names in RDATA
        are translated to that delegated LDH subdomain.
        For example, a query for "thing.bldg=E2=80=911.example.com" will =
be translated to a
        Multicast DNS query for "thing.local". If that query returns =
this CNAME record:<a href=3D"#section-5.5-11" class=3D"pilcrow">=C2=B6</a>=
</p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-12">
<pre>
  thing.local.               CNAME  prnt.local.</pre><a =
href=3D"#section-5.5-12" class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-13">then both the owner name and the name in the =
RDATA
        are translated from ".local" to the LDH subdomain =
"bldg=E2=80=911.example.com":<a href=3D"#section-5.5-13" =
class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-14">
<pre>
  thing.bldg=E2=80=911.example.com.  CNAME  =
prnt.bldg=E2=80=911.example.com.</pre><a href=3D"#section-5.5-14" =
class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-15">For queries in subdomains delegated for reverse =
mapping names,
        ".local" names in RDATA
        are translated to the delegated LDH subdomain, if one is =
configured,
        or to the delegated rich-text subdomain otherwise.
        For example, consider a reverse mapping query that returns this =
PTR record:<a href=3D"#section-5.5-15" class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-16">
<pre>
  2.113.0.203.in-addr.arpa.  PTR  prnt.local.</pre><a =
href=3D"#section-5.5-16" class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-17">The owner name is not translated because it =
does not end in ".local".
        The name in the RDATA is
        translated from ".local" to the LDH subdomain =
"bldg=E2=80=911.example.com":<a href=3D"#section-5.5-17" =
class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-18">
<pre>
  2.113.0.203.in-addr.arpa.  PTR  prnt.bldg=E2=80=911.example.com.</pre><a=
 href=3D"#section-5.5-18" class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-19">For queries in subdomains delegated for =
rich-text names,
        ".local" names in RDATA
        are translated according to whether or not they represent host =
names
        (i.e., RDATA names that are the owner names of A and AAAA DNS =
records).
        RDATA names ending in ".local" that represent host names
        are translated to the delegated LDH subdomain, if one is =
configured,
        or to the delegated rich-text subdomain otherwise.
        All other RDATA names ending in ".local"
        are translated to the delegated rich-text subdomain.
        For example, consider a DNS-SD service browsing PTR query
        that returns this PTR record for IPP printing:<a =
href=3D"#section-5.5-19" class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-20">
<pre>
  _ipp._tcp.local.  PTR  My Printer._ipp._tcp.local.</pre><a =
href=3D"#section-5.5-20" class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-21">Both the owner name and the name in the RDATA
        are translated from ".local" to the rich-text subdomain:<a =
href=3D"#section-5.5-21" class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-22">
<pre>
  _ipp._tcp.Building 1.example.com.
                    PTR  My Printer._ipp._tcp.Building =
1.example.com.</pre><a href=3D"#section-5.5-22" class=3D"pilcrow">=C2=B6</=
a>
</div>
<p id=3D"section-5.5-23">In contrast, consider a query
        that returns this SRV record for a specific IPP printing =
instance:<a href=3D"#section-5.5-23" class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-24">
<pre>
  My Printer._ipp._tcp.local.  SRV  0 0 631 prnt.local.</pre><a =
href=3D"#section-5.5-24" class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-25">As for all queries, the owner name
        is translated to the delegated subdomain of the originating =
query,
        the delegated rich-text subdomain "Building=C2=A01.example.com".
        However, the ".local" name in the RDATA
        is the target host name field of an SRV record,
        a field that is used exclusively for host names.
        Consequently it is translated to the LDH subdomain =
"bldg=E2=80=911.example.com",
        if configured, instead of the rich-text subdomain:<a =
href=3D"#section-5.5-25" class=3D"pilcrow">=C2=B6</a></p>
<div class=3D"artwork art-text alignLeft" id=3D"section-5.5-26">
<pre>
  My Printer._ipp._tcp.Building 1.example.com.
                               SRV  0 0 631 =
prnt.bldg=E2=80=911.example.com.</pre><a href=3D"#section-5.5-26" =
class=3D"pilcrow">=C2=B6</a>
</div>
<p id=3D"section-5.5-27">Other beneficial translation and filtering =
operations are described
 below.<a href=3D"#section-5.5-27" class=3D"pilcrow">=C2=B6</a></p>
<div id=3D"ttl">
<section id=3D"section-5.5.1"></section>
</div>
</section>

</body>
</html>

--Apple-Mail=_86038414-D216-411F-A3FC-216CBE8CF844--


From nobody Thu May 28 17:33:03 2020
Return-Path: <dschinazi.ietf@gmail.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F10983A100D for <dnssd@ietfa.amsl.com>; Thu, 28 May 2020 17:33:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level: 
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 aQnFwTWk0Xu7 for <dnssd@ietfa.amsl.com>; Thu, 28 May 2020 17:32:59 -0700 (PDT)
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) (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 181803A1006 for <dnssd@ietf.org>; Thu, 28 May 2020 17:32:59 -0700 (PDT)
Received: by mail-lj1-x230.google.com with SMTP id o9so433369ljj.6 for <dnssd@ietf.org>; Thu, 28 May 2020 17:32:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jXtC8N8fRfm2nGJzlkX9dgIiG7c0vmkd6732Noc02ZI=; b=a2R9PhwluAySgAX3X2jmTgyFs81lfFSAos5j79AkooQ6REKJ51pO3Sf4H3rahXkMhy MPxljMCp97A+0YAKf+YNO7Io0BAOrYAMnQPoQP6hrc3IBh5G1YKKBwcOloJP+RMjTykH zvPbpLgPhxZsTZ9Ssds0+vXm8aasqgRCgwCt11TCvnhYHnJ8+7l64LGRktW5+fDzxI3w ylxxlRXDmzmK2PTig6OtuJaMWy/sgyhyiq34wYdzrmN2lmDls1HvcCeQ9m33vzcu8Gy8 QjLsOyMGwEfY9AmeU+xj0JzTdRbQrBZ/VMcSfUnU+IBKmpnKcZtS3MLcUTRzrphaPJGV glCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jXtC8N8fRfm2nGJzlkX9dgIiG7c0vmkd6732Noc02ZI=; b=UnvXXWS/DVHi65GedpEf8kqSBedwIObxK9g6X6lvZNntiT+l6jw+2Avt4dJ+vQkx+Q GGvs4SAa2XsRj2xY9RaxM5XXUxIkcS3EKBw2SPlZgZT3LeaXhaNfxJxdu7QlBIcDOzmY ZGReXBnufvU8971qlJXNIuYoYi/lz7CqAD378/c3mWp7FW3kjyZw2uJac3Qye9B7rD2j CHLAnwy5/+DvF74tZCdD7tKt88E6ZxOD0ye0tRiyWUmFxQSeFdCzEpnuunEByWFaUuFs BdOFGxB9HODEp2tJB0KoGYIpsokxrRe4GmtGzNaCWf5Cf+Vhu2oAUzTJ5APXrQgTjrzo 92vA==
X-Gm-Message-State: AOAM531PuE5vszT3rJd0k2idsDM92wdc+k191IEo5zQPBC45UoUy8Ei2 6uRbDZiDrPgN2kdw20MLii5/Q3sq0zF3aMubCnqsTQ==
X-Google-Smtp-Source: ABdhPJxPsEDxcOQsnGSIjei6nPx/SViO5h9c/KeomFzESeTw+tg+rX10r+69oD7hLxTBjb5CcfqhCd9c6GrBIcGfyYo=
X-Received: by 2002:a2e:3e16:: with SMTP id l22mr2836967lja.333.1590712375033;  Thu, 28 May 2020 17:32:55 -0700 (PDT)
MIME-Version: 1.0
References: <5506A068-55D3-4D47-9B37-9AE9AC44CF47@apple.com>
In-Reply-To: <5506A068-55D3-4D47-9B37-9AE9AC44CF47@apple.com>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Thu, 28 May 2020 17:32:44 -0700
Message-ID: <CAPDSy+7r+5gGZ6cmdkDY+0it2wm5aYJ3z3f-TFA0aG7XSeO5Ww@mail.gmail.com>
To: Stuart Cheshire <cheshire=40apple.com@dmarc.ietf.org>
Cc: "dnssd@ietf.org" <dnssd@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000de31c05a6be96ec"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/FD7lGUjQFRe4R0g2-fQMo8-uslQ>
Subject: Re: [dnssd] Impending Publication of Discovery Proxy RFC
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2020 00:33:01 -0000

--0000000000000de31c05a6be96ec
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thanks for the update, Stuart!

I have reviewed the change that Stuart proposes, and I personally
believe that it is positive and editorial; in other words, I do think this
change improves the document, and I do not think that this change
impacts any normative requirements in the document.

Therefore, I believe that this change does not go against any
previously established working group consensus, and is acceptable
at this stage in the process.

However, as chair, I would like working group members to confirm
my personal opinion. Please review the change and respond here
stating whether you believe that the change is positive and
editorial (as defined above).

The chairs will collect responses for ten days, and then proceed with
publication on 2020-06-08 if no objections arise.

Thanks,
David

On Wed, May 27, 2020 at 10:07 PM Stuart Cheshire <cheshire=3D
40apple.com@dmarc.ietf.org> wrote:

> We are wrapping up AUTH48 for DNS Push Notifications and Discovery Proxy.
>
> In doing my AUTH48 reviews, I read RFC 8499 (DNS Terminology) to make sur=
e
> I was using DNS terminology correctly. I noticed RFC 8499 criticizes RFC
> 5731 (EPP Domain Name Mapping) for introducing the terms =E2=80=9Csubordi=
nate=E2=80=9D and
> =E2=80=9Csuperordinate=E2=80=9D but defining them by example rather than =
defining them
> explicitly. I realized that the Discovery Proxy RFC text was guilty of th=
e
> same thing.
>
> Various important Discovery Proxy data translations are illustrated by
> example in different places in the document, and only mentioned obliquely
> in the =E2=80=9CData Translation=E2=80=9D section. In draft-ietf-dnssd-hy=
brid-10.txt,
> Section 5.5 begins with the following text:
>
> 5.5.  Data Translation
>
>    Generating the appropriate Multicast DNS queries involves,
>    at the very least, translating from the configured DNS domain
>    (e.g., "Building 1.example.com") on the Unicast DNS side to "local"
>    on the Multicast DNS side.
>
>    Generating the appropriate Unicast DNS responses involves translating
>    back from "local" to the appropriate configured DNS Unicast domain.
>
>    Other beneficial translation and filtering operations are described
>    below.
>
> ....
>
> The three uses of the word =E2=80=9Cappropriate=E2=80=9D there encompass =
quite a lot! The
> descriptions of the necessary translations are scattered elsewhere in the
> document, sometimes explicitly, sometimes only by example. The informatio=
n
> is there, but you have to read the document attentively to get it all.
> Others who worked on implementations, like Ted Lemon and Tom Pusateri, we=
re
> clear on what =E2=80=9Cappropriate=E2=80=9D meant because they were activ=
ely involved with
> the working group throughout. Talking more recently with other
> implementers, it has become painfully clear that it is not obvious to
> everyone.
>
> Following a suggestion from Ted Lemon, I have pulled from examples that
> are scattered elsewhere throughout the document, and used them to craft a
> clearer summary description in this section. Without this new text I fear
> there is a risk of different implementers making different assumptions,
> yielding interoperability problems that have to be found and fixed throug=
h
> painful testing and debugging.
>
> The more thorough text for this section is attached, both in plain text
> and HTML form. (I recommend the HTML version because it has the example
> text nicely formatted in a different font.)
>
> Please take a look and check that this new text correctly captures the
> intent of the document and protocol.
>
> Stuart Cheshire
>
> _______________________________________________
> dnssd mailing list
> dnssd@ietf.org
> https://www.ietf.org/mailman/listinfo/dnssd
>

--0000000000000de31c05a6be96ec
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thanks for the update, Stuart!<div><br></div><div>I have r=
eviewed the change that Stuart proposes, and I personally</div><div>believe=
 that it is positive and editorial; in other words, I do think this</div><d=
iv>change improves the document, and I do not think that this change</div><=
div>impacts any normative requirements in the document.</div><div><br></div=
><div>Therefore, I believe that this change does not go against any</div><d=
iv>previously established working group consensus, and is acceptable</div><=
div>at this stage in the process.</div><div><br></div><div>However, as chai=
r, I would like working group members=C2=A0to confirm</div><div>my personal=
=C2=A0opinion. Please review the change and respond here</div><div>stating =
whether you believe that the change is positive and</div><div>editorial (as=
 defined above).</div><div><br></div><div>The=C2=A0chairs will collect resp=
onses for ten days, and then proceed=C2=A0with</div><div>publication on 202=
0-06-08 if no objections arise.</div><div><br></div><div>Thanks,</div><div>=
David</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"g=
mail_attr">On Wed, May 27, 2020 at 10:07 PM Stuart Cheshire &lt;cheshire=3D=
<a href=3D"mailto:40apple.com@dmarc.ietf.org">40apple.com@dmarc.ietf.org</a=
>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px=
 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We =
are wrapping up AUTH48 for DNS Push Notifications and Discovery Proxy.<br>
<br>
In doing my AUTH48 reviews, I read RFC 8499 (DNS Terminology) to make sure =
I was using DNS terminology correctly. I noticed RFC 8499 criticizes RFC 57=
31 (EPP Domain Name Mapping) for introducing the terms =E2=80=9Csubordinate=
=E2=80=9D and =E2=80=9Csuperordinate=E2=80=9D but defining them by example =
rather than defining them explicitly. I realized that the Discovery Proxy R=
FC text was guilty of the same thing.<br>
<br>
Various important Discovery Proxy data translations are illustrated by exam=
ple in different places in the document, and only mentioned obliquely in th=
e =E2=80=9CData Translation=E2=80=9D section. In draft-ietf-dnssd-hybrid-10=
.txt, Section 5.5 begins with the following text:<br>
<br>
5.5.=C2=A0 Data Translation<br>
<br>
=C2=A0 =C2=A0Generating the appropriate Multicast DNS queries involves,<br>
=C2=A0 =C2=A0at the very least, translating from the configured DNS domain<=
br>
=C2=A0 =C2=A0(e.g., &quot;Building <a href=3D"http://1.example.com" rel=3D"=
noreferrer" target=3D"_blank">1.example.com</a>&quot;) on the Unicast DNS s=
ide to &quot;local&quot;<br>
=C2=A0 =C2=A0on the Multicast DNS side.<br>
<br>
=C2=A0 =C2=A0Generating the appropriate Unicast DNS responses involves tran=
slating<br>
=C2=A0 =C2=A0back from &quot;local&quot; to the appropriate configured DNS =
Unicast domain.<br>
<br>
=C2=A0 =C2=A0Other beneficial translation and filtering operations are desc=
ribed<br>
=C2=A0 =C2=A0below.<br>
<br>
....<br>
<br>
The three uses of the word =E2=80=9Cappropriate=E2=80=9D there encompass qu=
ite a lot! The descriptions of the necessary translations are scattered els=
ewhere in the document, sometimes explicitly, sometimes only by example. Th=
e information is there, but you have to read the document attentively to ge=
t it all. Others who worked on implementations, like Ted Lemon and Tom Pusa=
teri, were clear on what =E2=80=9Cappropriate=E2=80=9D meant because they w=
ere actively involved with the working group throughout. Talking more recen=
tly with other implementers, it has become painfully clear that it is not o=
bvious to everyone.<br>
<br>
Following a suggestion from Ted Lemon, I have pulled from examples that are=
 scattered elsewhere throughout the document, and used them to craft a clea=
rer summary description in this section. Without this new text I fear there=
 is a risk of different implementers making different assumptions, yielding=
 interoperability problems that have to be found and fixed through painful =
testing and debugging.<br>
<br>
The more thorough text for this section is attached, both in plain text and=
 HTML form. (I recommend the HTML version because it has the example text n=
icely formatted in a different font.)<br>
<br>
Please take a look and check that this new text correctly captures the inte=
nt of the document and protocol.<br>
<br>
Stuart Cheshire<br>
<br>
_______________________________________________<br>
dnssd mailing list<br>
<a href=3D"mailto:dnssd@ietf.org" target=3D"_blank">dnssd@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/dnssd" rel=3D"noreferrer" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/dnssd</a><br>
</blockquote></div>

--0000000000000de31c05a6be96ec--


From nobody Thu May 28 17:39:04 2020
Return-Path: <mellon@fugue.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 632123A1022 for <dnssd@ietfa.amsl.com>; Thu, 28 May 2020 17:39:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fugue-com.20150623.gappssmtp.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 kRLJkolW-P87 for <dnssd@ietfa.amsl.com>; Thu, 28 May 2020 17:39:01 -0700 (PDT)
Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com [IPv6:2607:f8b0:4864:20::f35]) (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 0F1213A101E for <dnssd@ietf.org>; Thu, 28 May 2020 17:39:01 -0700 (PDT)
Received: by mail-qv1-xf35.google.com with SMTP id dh1so288389qvb.13 for <dnssd@ietf.org>; Thu, 28 May 2020 17:39:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=pfs/HLEYEwtf/C4PVCdDIQmiSoIw+2yu146O4GTejUU=; b=dssVz1ahn5GkR7lkYn4dCnndG/mfctDRpaorOeDkJyR8FIICiOTNqNQguOpURm3MmP L00EeNBHi60f/QUylFqk27K0LX2TfyLiqLQV17HKVafxFnDdUmNhOjQ9haYUpk8MFwyq 1XiwukJAEwp3pT7iSFJl6bIyUAiYorJ7VK1jhSqTFXztzbuULcLuUyl2PxczIRVGd7qK UlERfhL/6My4jgIlg1Xd2BXznX8ib0SSiieqRmBXnqKzok1/24i2gn2NN5dvYccavTJe 79jzvTRn/ycWKEtxRahq5ScAFFXvP5R+I2iPIXrQRoR3Cjxlovhu024LWrkW2M5gBsg0 c0dA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=pfs/HLEYEwtf/C4PVCdDIQmiSoIw+2yu146O4GTejUU=; b=hm5H0kZHybo5b/d+nN3EpZufwnYBAL8f+vGKCQMgU/xprM5jVIqfhiTocUMZ5W2pk3 dz8DZDPf0PBz/vkBPvTjv/Vldtnw+N23+HzDVgD03mCwrIXqyGeAltCK3obf1d+dVrht lEN8LGuuBznFsloVar9WvAHq5LP0IN6XchZOqmmM7Hqb9IacaZyRAOsxFx8D6lhSvgms tHOFlNm07hU3jw5KJTvM1q5sqGzqo0Yxcyh5qkZpSl0ZfTNqXsTq4MZ3AegeglzGkwk4 Nym4dodrE0qJ5sweKZeno2RAH3RyXarqZ1q+c+knhuqsjoqxzjMdmb5rhJ98bH9Ps//x IuBA==
X-Gm-Message-State: AOAM532VWgqwJiOckbfyWEWW8HiSSJuXY70669It0oq2kFpozHkYlk7w CU+fDXiWAgbJwyAm0mjlci5Clg==
X-Google-Smtp-Source: ABdhPJwp7eCe7dfQO2QHX9fYsh38pIc0P3u4hwLcPIz1FzcaJqlT0YB6+dcYQNgpoMh0DY1fBaoteg==
X-Received: by 2002:a0c:a98d:: with SMTP id a13mr6039396qvb.157.1590712737687;  Thu, 28 May 2020 17:38:57 -0700 (PDT)
Received: from penumbra.lan (c-24-91-177-160.hsd1.ma.comcast.net. [24.91.177.160]) by smtp.gmail.com with ESMTPSA id k190sm6081489qkf.40.2020.05.28.17.38.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2020 17:38:57 -0700 (PDT)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <E96C520D-951A-4E4F-BCE0-06C3E872A45A@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_F47D59B4-E5F2-453F-9686-1EF0169BB359"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
Date: Thu, 28 May 2020 20:38:54 -0400
In-Reply-To: <CAPDSy+7r+5gGZ6cmdkDY+0it2wm5aYJ3z3f-TFA0aG7XSeO5Ww@mail.gmail.com>
Cc: Stuart Cheshire <cheshire=40apple.com@dmarc.ietf.org>, "dnssd@ietf.org" <dnssd@ietf.org>
To: David Schinazi <dschinazi.ietf@gmail.com>
References: <5506A068-55D3-4D47-9B37-9AE9AC44CF47@apple.com> <CAPDSy+7r+5gGZ6cmdkDY+0it2wm5aYJ3z3f-TFA0aG7XSeO5Ww@mail.gmail.com>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/Av3ihcpjh5imcn5Gs67Vje47Lio>
Subject: Re: [dnssd] Impending Publication of Discovery Proxy RFC
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2020 00:39:03 -0000

--Apple-Mail=_F47D59B4-E5F2-453F-9686-1EF0169BB359
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

I am okay with this change.  (This is actually the first time I=E2=80=99ve=
 seen it, although I did make that suggestion to Stuart, as he =
reported.:)


> On May 28, 2020, at 8:32 PM, David Schinazi <dschinazi.ietf@gmail.com> =
wrote:
>=20
> Thanks for the update, Stuart!
>=20
> I have reviewed the change that Stuart proposes, and I personally
> believe that it is positive and editorial; in other words, I do think =
this
> change improves the document, and I do not think that this change
> impacts any normative requirements in the document.
>=20
> Therefore, I believe that this change does not go against any
> previously established working group consensus, and is acceptable
> at this stage in the process.
>=20
> However, as chair, I would like working group members to confirm
> my personal opinion. Please review the change and respond here
> stating whether you believe that the change is positive and
> editorial (as defined above).
>=20
> The chairs will collect responses for ten days, and then proceed with
> publication on 2020-06-08 if no objections arise.
>=20
> Thanks,
> David
>=20
> On Wed, May 27, 2020 at 10:07 PM Stuart Cheshire =
<cheshire=3D40apple.com@dmarc.ietf.org =
<mailto:40apple.com@dmarc.ietf.org>> wrote:
> We are wrapping up AUTH48 for DNS Push Notifications and Discovery =
Proxy.
>=20
> In doing my AUTH48 reviews, I read RFC 8499 (DNS Terminology) to make =
sure I was using DNS terminology correctly. I noticed RFC 8499 =
criticizes RFC 5731 (EPP Domain Name Mapping) for introducing the terms =
=E2=80=9Csubordinate=E2=80=9D and =E2=80=9Csuperordinate=E2=80=9D but =
defining them by example rather than defining them explicitly. I =
realized that the Discovery Proxy RFC text was guilty of the same thing.
>=20
> Various important Discovery Proxy data translations are illustrated by =
example in different places in the document, and only mentioned =
obliquely in the =E2=80=9CData Translation=E2=80=9D section. In =
draft-ietf-dnssd-hybrid-10..txt, Section 5.5 begins with the following =
text:
>=20
> 5.5.  Data Translation
>=20
>    Generating the appropriate Multicast DNS queries involves,
>    at the very least, translating from the configured DNS domain
>    (e.g., "Building 1.example.com <http://1.example.com/>") on the =
Unicast DNS side to "local"
>    on the Multicast DNS side.
>=20
>    Generating the appropriate Unicast DNS responses involves =
translating
>    back from "local" to the appropriate configured DNS Unicast domain.
>=20
>    Other beneficial translation and filtering operations are described
>    below.
>=20
> .....
>=20
> The three uses of the word =E2=80=9Cappropriate=E2=80=9D there =
encompass quite a lot! The descriptions of the necessary translations =
are scattered elsewhere in the document, sometimes explicitly, sometimes =
only by example. The information is there, but you have to read the =
document attentively to get it all. Others who worked on =
implementations, like Ted Lemon and Tom Pusateri, were clear on what =
=E2=80=9Cappropriate=E2=80=9D meant because they were actively involved =
with the working group throughout. Talking more recently with other =
implementers, it has become painfully clear that it is not obvious to =
everyone.
>=20
> Following a suggestion from Ted Lemon, I have pulled from examples =
that are scattered elsewhere throughout the document, and used them to =
craft a clearer summary description in this section. Without this new =
text I fear there is a risk of different implementers making different =
assumptions, yielding interoperability problems that have to be found =
and fixed through painful testing and debugging.
>=20
> The more thorough text for this section is attached, both in plain =
text and HTML form. (I recommend the HTML version because it has the =
example text nicely formatted in a different font.)
>=20
> Please take a look and check that this new text correctly captures the =
intent of the document and protocol.
>=20
> Stuart Cheshire
>=20
> _______________________________________________
> dnssd mailing list
> dnssd@ietf.org <mailto:dnssd@ietf.org>
> https://www.ietf.org/mailman/listinfo/dnssd =
<https://www.ietf.org/mailman/listinfo/dnssd>
> _______________________________________________
> dnssd mailing list
> dnssd@ietf.org
> https://www.ietf.org/mailman/listinfo/dnssd


--Apple-Mail=_F47D59B4-E5F2-453F-9686-1EF0169BB359
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">I =
am okay with this change. &nbsp;(This is actually the first time I=E2=80=99=
ve seen it, although I did make that suggestion to Stuart, as he =
reported.:)<div class=3D""><br class=3D""><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On May 28, 2020, at 8:32 PM, =
David Schinazi &lt;<a href=3D"mailto:dschinazi.ietf@gmail.com" =
class=3D"">dschinazi.ietf@gmail.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" =
class=3D"">Thanks for the update, Stuart!<div class=3D""><br =
class=3D""></div><div class=3D"">I have reviewed the change that Stuart =
proposes, and I personally</div><div class=3D"">believe that it is =
positive and editorial; in other words, I do think this</div><div =
class=3D"">change improves the document, and I do not think that this =
change</div><div class=3D"">impacts any normative requirements in the =
document.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Therefore, I believe that this change does not go against =
any</div><div class=3D"">previously established working group consensus, =
and is acceptable</div><div class=3D"">at this stage in the =
process.</div><div class=3D""><br class=3D""></div><div =
class=3D"">However, as chair, I would like working group members&nbsp;to =
confirm</div><div class=3D"">my personal&nbsp;opinion. Please review the =
change and respond here</div><div class=3D"">stating whether you believe =
that the change is positive and</div><div class=3D"">editorial (as =
defined above).</div><div class=3D""><br class=3D""></div><div =
class=3D"">The&nbsp;chairs will collect responses for ten days, and then =
proceed&nbsp;with</div><div class=3D"">publication on 2020-06-08 if no =
objections arise.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Thanks,</div><div class=3D"">David</div></div><br =
class=3D""><div class=3D"gmail_quote"><div dir=3D"ltr" =
class=3D"gmail_attr">On Wed, May 27, 2020 at 10:07 PM Stuart Cheshire =
&lt;cheshire=3D<a href=3D"mailto:40apple.com@dmarc.ietf.org" =
class=3D"">40apple.com@dmarc.ietf.org</a>&gt; wrote:<br =
class=3D""></div><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex">We are wrapping up AUTH48 for DNS =
Push Notifications and Discovery Proxy.<br class=3D"">
<br class=3D"">
In doing my AUTH48 reviews, I read RFC 8499 (DNS Terminology) to make =
sure I was using DNS terminology correctly. I noticed RFC 8499 =
criticizes RFC 5731 (EPP Domain Name Mapping) for introducing the terms =
=E2=80=9Csubordinate=E2=80=9D and =E2=80=9Csuperordinate=E2=80=9D but =
defining them by example rather than defining them explicitly. I =
realized that the Discovery Proxy RFC text was guilty of the same =
thing.<br class=3D"">
<br class=3D"">
Various important Discovery Proxy data translations are illustrated by =
example in different places in the document, and only mentioned =
obliquely in the =E2=80=9CData Translation=E2=80=9D section. In =
draft-ietf-dnssd-hybrid-10..txt, Section 5.5 begins with the following =
text:<br class=3D"">
<br class=3D"">
5.5.&nbsp; Data Translation<br class=3D"">
<br class=3D"">
&nbsp; &nbsp;Generating the appropriate Multicast DNS queries =
involves,<br class=3D"">
&nbsp; &nbsp;at the very least, translating from the configured DNS =
domain<br class=3D"">
&nbsp; &nbsp;(e.g., "Building <a href=3D"http://1.example.com/" =
rel=3D"noreferrer" target=3D"_blank" class=3D"">1.example.com</a>") on =
the Unicast DNS side to "local"<br class=3D"">
&nbsp; &nbsp;on the Multicast DNS side.<br class=3D"">
<br class=3D"">
&nbsp; &nbsp;Generating the appropriate Unicast DNS responses involves =
translating<br class=3D"">
&nbsp; &nbsp;back from "local" to the appropriate configured DNS Unicast =
domain.<br class=3D"">
<br class=3D"">
&nbsp; &nbsp;Other beneficial translation and filtering operations are =
described<br class=3D"">
&nbsp; &nbsp;below.<br class=3D"">
<br class=3D"">
.....<br class=3D"">
<br class=3D"">
The three uses of the word =E2=80=9Cappropriate=E2=80=9D there encompass =
quite a lot! The descriptions of the necessary translations are =
scattered elsewhere in the document, sometimes explicitly, sometimes =
only by example. The information is there, but you have to read the =
document attentively to get it all. Others who worked on =
implementations, like Ted Lemon and Tom Pusateri, were clear on what =
=E2=80=9Cappropriate=E2=80=9D meant because they were actively involved =
with the working group throughout. Talking more recently with other =
implementers, it has become painfully clear that it is not obvious to =
everyone.<br class=3D"">
<br class=3D"">
Following a suggestion from Ted Lemon, I have pulled from examples that =
are scattered elsewhere throughout the document, and used them to craft =
a clearer summary description in this section. Without this new text I =
fear there is a risk of different implementers making different =
assumptions, yielding interoperability problems that have to be found =
and fixed through painful testing and debugging.<br class=3D"">
<br class=3D"">
The more thorough text for this section is attached, both in plain text =
and HTML form. (I recommend the HTML version because it has the example =
text nicely formatted in a different font.)<br class=3D"">
<br class=3D"">
Please take a look and check that this new text correctly captures the =
intent of the document and protocol.<br class=3D"">
<br class=3D"">
Stuart Cheshire<br class=3D"">
<br class=3D"">
_______________________________________________<br class=3D"">
dnssd mailing list<br class=3D"">
<a href=3D"mailto:dnssd@ietf.org" target=3D"_blank" =
class=3D"">dnssd@ietf.org</a><br class=3D"">
<a href=3D"https://www.ietf.org/mailman/listinfo/dnssd" rel=3D"noreferrer"=
 target=3D"_blank" =
class=3D"">https://www.ietf.org/mailman/listinfo/dnssd</a><br class=3D"">
</blockquote></div>
_______________________________________________<br class=3D"">dnssd =
mailing list<br class=3D""><a href=3D"mailto:dnssd@ietf.org" =
class=3D"">dnssd@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/dnssd<br =
class=3D""></div></blockquote></div><br class=3D""></div></body></html>=

--Apple-Mail=_F47D59B4-E5F2-453F-9686-1EF0169BB359--

