Re: [dnssd] Second WGLC for draft-ietf-dnssd-srp

Esko Dijk <esko.dijk@iotconsultancy.nl> Thu, 18 August 2022 13:16 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
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 3D9EFC14F73A for <dnssd@ietfa.amsl.com>; Thu, 18 Aug 2022 06:16:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=iotconsultancy.nl
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H2M_TJUf7dvn for <dnssd@ietfa.amsl.com>; Thu, 18 Aug 2022 06:16:04 -0700 (PDT)
Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2111.outbound.protection.outlook.com [40.107.105.111]) (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 101C2C14F73E for <dnssd@ietf.org>; Thu, 18 Aug 2022 06:16:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i/ZoU3DQsqrlc+VJJbfJc5n6rg05AdcLXqWPg4EuzuagSn6Bj1EDhe9mt4wTwcEviCp/LhwfZbhYTut10FFTO/ty/83FnGpFq3xRVYYRjtkVC8FV49YsV9udorLg5ksaDDy7m58XkEPeztiwYXlV85YedHV5wsQ9crit/nTPj1rZ1lhPQqpRBtEET5EW7oTiQbe3roaEYYMuGmXTwRTc9cGffpq4QgixkH2nClGxHrECpXSQ/EN3+vgdgxRjDU/yWLRZhICbtCMmSU129Q8aH9iaMYsf/Fvb8CNkw8GmDNMYxY4nLRuMsBfi3/VvH4vOkjf7r8X5QGgIR7ElYcxd7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mTxtTi+tHNAGoCXmbDzlzh0qge1CYunVifW7j/29+/c=; b=ggwSqrZoztGuto1IYNEMrv9jmR1iqln3GviJ35xZc7oyiOc9HAIxnymuT8SG8hmr3Z24AJhlat1EU15byF00GhlxV9AFMe6xSWVtylXNEc93ec/AqegnCQGAhcROsXg2NoCWU2x/G1/WVJG39s1Oxk2ursrU6feIW/WtzUDFbih6QJFNZZ91w7sjDb2OAkNx3Q2ek5IItGuSPoaOALQEGXagqmNqQ4vcchVD3J9g7EzmgcEp2MCEAWwkH/NCFoBIkcDQVo/83iLfmtEUsJ4lgOaiGBAmtFAYciRpytGqrzyxzrILcUTj12dupkxTVvrW2GICJKBQJnj86igPj8/aJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iotconsultancy.nl; dmarc=pass action=none header.from=iotconsultancy.nl; dkim=pass header.d=iotconsultancy.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iotconsultancy.nl; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mTxtTi+tHNAGoCXmbDzlzh0qge1CYunVifW7j/29+/c=; b=GBujMTKMCoSjBruMd9SMOFDfiJvf8Tr22BibFSCRkWAobpDYjOniaZj+RgCdM8gA/WZh4VCUYBWfjTx8V/g+sl9KQWTtAZElJnyODyabACQ7my49INRWisrERzFTCtAb6kyqsDww2adXeXbms6OEzNccv3FvhEcYqXJ2DFhibYs=
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b9::20) by AM0P190MB0723.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:19b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 18 Aug 2022 13:15:59 +0000
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::241f:347b:f324:f7a5]) by DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::241f:347b:f324:f7a5%3]) with mapi id 15.20.5525.010; Thu, 18 Aug 2022 13:15:59 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: David Schinazi <dschinazi.ietf@gmail.com>, DNSSD <dnssd@ietf.org>
Thread-Topic: [dnssd] Second WGLC for draft-ietf-dnssd-srp
Thread-Index: AQHYq3iHBOHa7lfXS0OTILqo0ulgHq20dI2w
Date: Thu, 18 Aug 2022 13:15:59 +0000
Message-ID: <DU0P190MB1978CCD1A80CE9EEB98CF180FD6D9@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
References: <CAPDSy+5881C4SR4VVZLvoqrmUWJ5H-Dc2gVhA_a+wKAatn9zaw@mail.gmail.com>
In-Reply-To: <CAPDSy+5881C4SR4VVZLvoqrmUWJ5H-Dc2gVhA_a+wKAatn9zaw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iotconsultancy.nl;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7fe08d64-18ab-49d0-3bd5-08da811bcaec
x-ms-traffictypediagnostic: AM0P190MB0723:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: UaQx0Ko83yX41TzuULa8nd0RUJjFLeTrGmuB3lECbpLk0NxkRELk0V3fEX+01P4Id6xPTwovLSj/gj6jTVFPhzRQSzV5z5N7xhvrP7EYu7BTSU3eqLtXi10lGnzN015QOzWUZ0Mx350wIOXeFyeThEZIvPaSPlPxvhaUs6uZ1uQE0lecpWgJvveGfKrY8q/FN0xlFl9jW2dNGbg5W0C3Zf/K2JJlTOL8uO06JyqzVMOUBiNVnmxWKEuOgHlWrEIRHkK5RhbnsEIAStqCHSnuSwVoqKwsEad7kwZyubXp6AEbYOgAeshSp0jD4fL1AhQys22xafo003zIi/0i8ed7YUTUNHs6fYSKgdyi3Kxnp5gdS3Hr6wXsMn/LkZGFNWVqL2JD91H7IrDId17Yb8kfe7onGsUcjO9YhS3ZFNBRpRq/1hxYGxeV9hRYtFtJEnOADKaA4bb9ZwmfMToR/C39owckJ8Si+zFpw7IEoWYmFjnA9IGYFck0PZozTyve2aEqdloBwwbObD1Vu7W67z8YwkWV3oEwPwOFZ1X5eN9YVqlrslOUy3vsVfzZoReydnE8jNwXi8B9gUq99Jllq/ml9LTcEC2JU1Q6PkGy/2GWg8M92NhCWzxbvMPDXPD8YL+cfTKU/WFIjwp0c4F2+MMxqVfSyTXBMZbN+sB8njaNOi+HqwDa4ih791KI6UuRAqkF0259sFjvW0CzUHTT+gORwBU1Qw/Jkw0J1OsRy4pBwXPfnkAxmrSR+90xZwGOiB2H5EwWzusglKkkSLaqHDSIZvp5FwqNUPjdO1Hmu5EKHsI=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0P190MB1978.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(396003)(376002)(39830400003)(346002)(136003)(366004)(6506007)(7696005)(122000001)(186003)(166002)(53546011)(52536014)(66574015)(5660300002)(66946007)(8676002)(110136005)(66476007)(66446008)(66556008)(2906002)(64756008)(478600001)(33656002)(41300700001)(76116006)(316002)(44832011)(83380400001)(38070700005)(38100700002)(30864003)(8936002)(966005)(86362001)(9686003)(55016003)(71200400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: XpiBBYVdgSOs/8AATI9JOPCwuCbDMS7DO4Srr/uyYVsTYj3ijlbmck5AhIxpBrGywx+Ss+Elp8RcfEcuVLr3VOAMO7qXekFXZMPdw34HYeuPOdQSXeTxnBkiPVfLjQurKS9ivfo0pH6LHgzb68fOzrZ/llWfvoVYzT00yQwo4kPFxhIZeesCI/kbCBNlvJuzDLWzX3V5wDwjM/jdG4fBp2jO96ClQaDanP9047gvC5C1bTpTks32dkZkjGixLZSNzpussXbGydGhRTt5LXL8lJ5CDXQGJGnadRCNeT8DheCIvuPtiSUnXGQU2h0dTW3iX8YpJa8ZMUTDK5ggtI0N0+tvQL4Yrgh1BZrNwc0KC01+t9jE6Xu3ZrvT1d8ySp2KaawesnsubJAU0B2eF98fsx19g79hX+pGsQn+n6zUpaL1g7Al3xDBaOA/h5EAYx4KuFeOop4IcgNmJSoDroeipVrH+63sUz9pxLDkuPmTkCzHdaZlx9YUdL/vHmFeQdFKgleWwkKDbHBXetUhQrJLCBEfl6zsfJSM/XkO87TxWg8JVgpT21qVvF9UVdwbym22VivUtbZczP8i8yxdJyvyQEJWhR9f+2fGYLJJn8u9r/2kMGSd3vbV+d0AizEoiAIGJSRKwRTQ8k+N6EnLql39905eXKbluV+M9maDFG4rsLYcATZF0qUs3W+BLm0Y+AKy7D/mbu+w1WguNAFNg/Yj3U6SVKEJN7kWOrJ5oecI3z4vGQRp/LAw3JIesmpZMbWv+LApuggTgUY935rm6/MHFZMywS/kScTcfFQPzJ5y55rYWWZdVb1YHKzmIRT64QMQe2kzZ2b/9oDwas5YTmMu8fTb6icIfDVgiNnKN7wwQqaLxaiYCbUfsY28LvFNeiE2F2JKbVRLvSrWhhxX4MFF567MWp4kbU22aF2BO6rmnaaJl4ACR2FCwfaTMszlpPxTJNJ1lfe/vxJiAkKp28sagY87b0ziS9ORE6cw3xZb4aMWJvH3BoEvgBUdl1HYsqMlPJZZD55o4zd4YtZbOTdk90XQHlner9moDI6ehoxVtke7bBrgs+n3Qydtmkux4YRZp/eTFayjnKAHMLR8x5+SxaJKyI77eaAdjZp963B7/Dk18REnaRtKggGtEcU4wncb/B1q/vSwUPsAPY2whcIO77lrLAKGwqCV/HslXyLyyv7QIFzLLASwLj7C1XQ5yOZsnbpy9WWLATl6BBqHhk8kBAl51Gvfby0pqC8lh+jiqI0U3m2Z55TNQOYhjF9gt0Ac8th/cSINPeiyuA1SSc9284AGifxjDfRq2FJabeI6G1wOMgGJwT+x24HFrqnntFE1sDIScWTHuBw2RpMdcuMhG7QhSUYyq0dK7BZlNAbvlqHMD0TkFDHgr8Cxzxksuc7pcR5FtK4nusQRWt1ZYdcEoUNZwivep5OA4kxU8RbYRY/Ydb9zs8DfjIW8fY+lxIN5U67LkNAI8W2zGKbHoyhje0q++l1MkFgiu3uFf4S3xFPFRZyW8ZEnm/uIjouMeAMaCQMUuX/8iYr0AInehccUmA5qSqrFnr5xkRsZUYc/F06HOGsV3DLUPhkLacQilfLdPqScQXbwIdiGPSTS9RCsvgBhG/7MxaeyLv9LeptKsRzLP3uoA4HjXL3lJ8Kt02zcRQRoVTfz7YRtiBST4hzbcg==
Content-Type: multipart/alternative; boundary="_000_DU0P190MB1978CCD1A80CE9EEB98CF180FD6D9DU0P190MB1978EURP_"
MIME-Version: 1.0
X-OriginatorOrg: iotconsultancy.nl
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0P190MB1978.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fe08d64-18ab-49d0-3bd5-08da811bcaec
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2022 13:15:59.4457 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 58bbf628-15d2-46bc-820b-863b6774d44b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zqsW0c5E13K1r3Hy/pOL5/fNcSep/RGgueCbfE23OmPnfY6uiF7KnwXDqblHhmSysfXOkyMyfkeEYAbTDgLR9ebxX26SdL/7Fuo5o3d9XwM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0P190MB0723
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/PSE_6jonlz0ThUki4erVjC3dplg>
Subject: Re: [dnssd] Second WGLC for draft-ietf-dnssd-srp
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.39
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, 18 Aug 2022 13:16:09 -0000

WG members,

I read the document and believe it is almost ready for publication. If the below open issues would be resolved it would be ready for publication IMO.   After the open issues I also include here a list of editorial items/nits/improvements that should be considered but can equally well be fixed during the RFC editing phase. I.e. the editorial items don’t impact the WG’s completion of the document I think.  I don’t see any big changes needed, it’s all clarifications and minor fixes.  Another WGLC would certainly not be needed! Rather I’d like this document to proceed quickly if possible.

For constrained wireless mesh networks, this specification will be a key element for enabling service discovery in a lightweight manner while still integrating with the existing “mDNS ecosystem”. Thread networks are a good example of this.

Regards
Esko

*** Open issues

2.2.1
“The Service Instance Name MUST be referenced by one or more
      Service Discovery PTR records, unless it is a placeholder service
      registration for an intentionally non-discoverable service name.”
-> This bit is a fairly detailed requirement, with a hard-to-grasp exception case also. Why not include such requirements only in 2.3.x which anyway has all the formal rules? I thought 2.2.1 was more like an intro sketching at high level what it looks like, and 2.3.x has details. The MUST requirement is already present in 2.3.2.
The exception case seems not listed there – is that a bug?

“The SRP requestor SHOULD follow the advice given in Section 5.5.2 of [RFC8766]” -> this automatically makes RFC 8766 a normative reference, per the IETF rules for that. (Even if it was a MAY this would be the case. The point is that an implementer OPTIONALLY will use the rules and if so, 8766 becomes normative on how to do these rules. ) So, ok to make RFC 8766 normative?

2.2.3
“so there is no need for the server sending the SRP Update” -> “no need for the SRP requestor” ? “server” seems wrong here. Sorry this is almost a nit but I don’t think we should rely here on reader’s internal autocorrect…

2.2.5.2
“So for instance, it might try
   host.service.arpa, then host-1.service.arpa, then host-
   2.service.arpa, then host-31773.service.arpa.”
-> here the domain should be “default.service.arpa”? If so, it must be fixed to avoid interpretation errors (does the implementation also need to be fixed for this?). If not, then there’s a bunch of clarification missing why “default” can be omitted here. (But I assume that doesn’t apply here.)

2.2.5.4
“Although [RFC2782] requires that the target name in the SRV record
   not be compressed, an SRP requestor SHOULD compress the target in the
   SRV record.”
-> This means RFC 2782 is formally Updated. The draft should indicate this in the usual IETF way at the top as “Updates: 2782”.

2.2.5.5.1.
The Method 2 of only removing the Host record is still a bit unclear – as explained in my previous email about “Host instructions with no address”.
Text says “Therefore, it is sufficient for the requestor to send the Host Description Instruction” but the latter requires a “Service Description Instruction” to be present which contradicts the stated.

2.3.1.3
Last bullet - See previous email on “Host instructions with no address” ; it would seem we do have a case where the Service Description Instruction can be absent in the SRP Update – if lease-time=0.  All the host’s services would then get auto-removed.

2.3.5
“and can be either SUCCESS or SERVFAIL” ->
In the IANA registry it’s listed as NoError instead of SUCCESS. RFC 1035 calls it “No error condition”. So we could adopt ‘NoError’ ? (Since the original spec doesn’t use CAPS for the name)

4.1
See section 11 ref update.

“SRP registrars SHOULD also track a lease time per service instance”
-> this seems problematic to have as a ‘SHOULD’ because you can’t count on the SRP Registrar doing it properly.
E.g. if this is not done, you could get the following situation:


  *   At time t=0, requestor registers service X with lease = 10 mins
  *   At time t=5 min, requestor registers service Y with lease = 8 hours
     *   At this time the Registrar extends the life of the host and all its services to 8 hours (since it doesn’t track lease time per service instance)
  *   (Requestor expects at time t=10, that service X will time out)
  *   At times t=10 min – t=8 hours, service X remains in the Registry unintentionally.

So better is to either do it (MUST) or don’t do it at all. In the first case, partial updates like in the example above and below are possible. When not doing it, partial updates should typically be discouraged since it gets tricky to get it right.

Another example of ‘partial update’ enabled – this situation works even when the SRP Registrar doesn’t track lease time per service :


  *   requestor registers service X at time t=0 for a lease time of 8 hours ;
  *   at t=1 hour it registers service Y for a lease time of 1 hour.
  *   at times t=1 to 2 hours, both services X/Y are active. And at  t=2 hours, both services X/Y and the host will time out at the same time if the requestor doesn’t renew before that.

So in this case the first lease time 8 hours applies to the host and to service X, and the second 1-hour lease time applies to the host and to service Y, not directly to service X (which still has 7 hours to go) but due to the host removal service X is also removed at time T=2 hours.

What is perhaps missing/unclear in the spec if the SRP requestor is even allowed to do such fractional updates where the SRP Update doesn’t contain all the registered services.  I don’t think this is mentioned anywhere.

“The times may be
   shorter or longer than those specified in the SRP Update; the SRP
   requestor must honor them in either case.”
-> Is it an idea to also require (“SHOULD”) a configuration mechanism here just like for the TTL to set a Min and Max ?  For example, in a network with sleepy devices a longer allowed lease time Max could be configured on the SRP Registrar.
And if a network is getting busy with registration traffic, the Registrar could be reconfigured to have a longer Min lease time.

8.1
Should we say anything about the subdomains under “service.arpa”? In this document we use “default.service.arpa”, but what about in the future when someone wants to use “myname.service.arpa” etc ? Is there a registry, or is an RFC needed to define these names?
Maybe this is more of a question than an open issue for the document.  But if we know how this is handled we could just mention it briefly.  I had a case in the past in IETF where a registry was forgotten where it would have been handy.

11.
Ref update https://datatracker.ietf.org/doc/html/draft-sekar-dns-ul-03  by https://datatracker.ietf.org/doc/html/draft-ietf-dnssd-update-lease-02

12.
RFC 8310 is informative, however it defines a profile that updates 7858 normatively. So shouldn’t it be in ‘normative’ section 11? If not, does that mean that nothing of the profile of 8310 is used in any implementation?
(Maybe it doesn’t matter much, since 7858 is normative and that one is being automatically updated by 8310 whether we like it or not.)

RFC 1035 needs to be normative – impossible to implement SRP without using e.g. the record formats defined there.
Same for 2782 (need SRV records to implement), and 2181.
(Again I may be wrong here – maybe 2181 is automatically normative if we make 1035 normative and it doesn’t matter where it’s placed.)



*** Improvements/nits/editorial
Entire doc
“SRP Update” / “SRP update” used interchangeably without apparent reason(?)


1.
First occurrence of “registrar” does not define the term. There’s also no terminology section to look it up. This term should be defined in Section 1 ideally. Section 2.0 doesn’t really define it either, it only mentions it in terms of “most likely”.

2.
“SRP requests” -> better to use SRP Updates here, since “SRP requests” is only used once so is probably not the intended term. Or, “SRP Update requests”.

2.1.1
Mention “default registration domain” first and then calls it “default registration zone”. Is this correct? 6763 calls it only “domain”.
Nit: “using SOA queries [RFC8765]” -> it would be good to refer to a specific section here, e.g. 6.1

2.1.3
“The reason for these different assumptions” -> “The reason for these different variants”
Nit: The standalone words “power” can all be changed to “energy” to be more correct.
“By requiring the use of TCP,” -> clarify that this applies to full-featured hosts only. Is that intended, or do constrained devices also require TCP?

2.2
“We will discuss … and how to maintain the information … “ -> part of the “maintain” part is in section 4, so it’s a bit strange to announce it here as part of 2.2.x. Maybe add a forward pointer to 4 here also.

2.2.3.1.
Last bullet -> add “.” at end

2.2.4
“TSIG protocol” -> add informative reference to [rfc8945]

2.2.4.1
“using DNS-SD Registration protocol” -> “using the DNS-SD Service Registration Protocol”
“First-Come First-Serve” -> “First-Come First-Serve (FCFS)” – there’s a need to introduce the acronym here

2.2.5
Title “Service Behavior”  -> shouldn’t this be “SRP Requestor Behavior” ? Since we just before talked about “registration service” the term “service” here is unclear.

2.2.5.1
“"factory reset."" -> “"factory reset".”

2.2.5.2
“Service Description Records” -> set ‘R’ to lowercase

2.2.5.3
“ The lifetime of the DNS-SD PTR, SRV, A, AAAA and TXT records [RFC6763] uses the LEASE field”
-> we could clarify that it also holds for other record types. E.g. for everything that’s not KEY, the LEASE field is used.
Since 2.2.1 specifies that other record types may be used for Service Description and 4.1 specifies this too. Maybe it’s enough we say here “DNS-SD PTR, SRV, A, AAAA, TXT and other non-KEY records” or give a pointer to 4.1.

2.2.5.5.2
“these will be seen as a single Service Description Instruction” -> could clarify what “these” refers to here. I didn’t immediately parse it. I assume it refers to both mentioned *-RRset updates. So “these updates will be seen … “

2.3.1.3
“hostname being updated by this update” -> more correct seems “hostname being updated by this instruction”.

2.3.2
“Every Service Description
   Instruction must have that Host Description Instruction as the target”
-> MUST

“The target of the SRV record in every
   Service Description Instruction MUST be the single Host Description
   Instruction”
-> “ … MUST be the hostname used in the single Host Description Instruction”  (more correct)

“RCODE=REFUSED”
-> for style consistency, call it “REFUSED RCODE”.

2.3.3
“present in the Host Description to which the Service Description refers”
-> “present in the Host Description Instruction to which the Service Description Instruction refers”

2.3.6
“In order for the registrar
   to add a reverse mapping update, it must be authoritative for the
   zone or have credentials to do the update.”
-> “the zone” here is a bit unclear. We could say “the associated zone” to indicate the zone that’s to be used for the reverse mapping update? Without going into unnecessary details.
Otherwise it could mean “the zone of the SRP Update” which isn’t intended I think.

“The registrar may also have a dictionary of names”
-> MAY
Making it normative is better here to force a requestor implementation to consider this case of (unexpectedly?) getting RCODE YXDOMAIN for a valid SRP Update.

4.1
Section title should also mention the “lease time” concept – it is such an important part of this section.
E.g. “Lease Time and Stale Data Cleanup” or “Cleaning Up Stale Data and Lease Time”

5.1
“validation must be enforced by every router on the path from the
   Constrained-Device Network to the unconstrained portion of the
   Network”
-> it’s strange this this only considers constrained-network scenarios. Needs some rewording e.g.
“validation must be enforced by every router on the path from any potential SRP requestor to the SRP registrar.
   In case of a router that is a constrained device, this validation is recommended but not required.”

Perhaps 6lowpan Routers generally won’t validate all this; while 6lowpan Border Routers could do more extensive validation.

8.2
Second paragraph -> still a grammar error in there

8.3
Second paragraph -> same grammar error. There’s also an extra dot ‘.’ After <domain> here and not in 8.2, why’s that?





From: dnssd <dnssd-bounces@ietf.org> On Behalf Of David Schinazi
Sent: Tuesday, August 9, 2022 00:45
To: DNSSD <dnssd@ietf.org>
Subject: [dnssd] Second WGLC for draft-ietf-dnssd-srp

Hi DNSSD enthusiasts,

As promised during our meeting at IETF 114 two weeks ago, we are issuing a second Working Group Last Call (WGLC) for draft-ietf-dnssd-srp. To remind folks of the timeline, we had our first WGLC for this document in July 2021. That WGLC was successful in establishing WG consensus in publishing this document, but did expose some issues that needed to be resolved before publication. The authors then did a first round of addressing comments in October 2021 and another in July 2022. The authors now think that all comments received during the original WGLC have now been addressed. Since so much time has passed, we're having a full second WGLC to give everyone an opportunity to read the document with fresh eyes. This WGLC will last for two weeks until 2022-08-22 at 23:59 UTC. Please let us know if you have any remaining concerns with this document, especially if you had commented on the previous WGLC with concerns that you wanted to see resolved.

The latest draft is available on the datatracker:
https://datatracker.ietf.org/doc/draft-ietf-dnssd-srp/

Please send responses to the DNSSD list as replies to this email.

Thanks,
David and Chris