Re: [art] ART Area Review for draft-ietf-calext-caldav-attachments-02

Ken Murchison <murch@andrew.cmu.edu> Mon, 15 May 2017 14:09 UTC

Return-Path: <murch@andrew.cmu.edu>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E4C01129AEB; Mon, 15 May 2017 07:09:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-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 o1iAHhScTzlE; Mon, 15 May 2017 07:09:20 -0700 (PDT)
Received: from smtp.andrew.cmu.edu (SMTP.ANDREW.CMU.EDU [128.2.105.202]) (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 54C7912EAB9; Mon, 15 May 2017 07:03:31 -0700 (PDT)
Received: from [192.168.1.22] (cpe-74-77-85-250.buffalo.res.rr.com [74.77.85.250]) (user=murch mech=PLAIN (0 bits)) by smtp.andrew.cmu.edu (8.15.2/8.15.2) with ESMTPSA id v4FE3P6L032523 (version=TLSv1.2 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 15 May 2017 10:03:26 -0400
To: Julian Reschke <julian.reschke@gmx.de>, IETF Discussion <ietf@ietf.org>, art@ietf.org
References: <c04f39e2-79d2-ab9d-59ab-26e51d7ab5fc@gmx.de>
From: Ken Murchison <murch@andrew.cmu.edu>
Organization: Carnegie Mellon University
Message-ID: <81613220-989b-ca78-fe56-0ac7b19e7ce6@andrew.cmu.edu>
Date: Mon, 15 May 2017 10:03:25 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0
MIME-Version: 1.0
In-Reply-To: <c04f39e2-79d2-ab9d-59ab-26e51d7ab5fc@gmx.de>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-PMX-Version: 6.3.0.2556906, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2017.5.15.135416
X-SMTP-Spam-Clean: 33% ( SXL_IP_DYNAMIC 3, TO_IN_SUBJECT 0.5, HTML_00_01 0.05, HTML_00_10 0.05, BODY_SIZE_4000_4999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DATE_TZ_NA 0, FROM_EDU_TLD 0, IN_REP_TO 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, RDNS_GENERIC_POOLED 0, RDNS_POOLED 0, RDNS_RESIDENTIAL 0, RDNS_SUSP 0, RDNS_SUSP_GENERIC 0, RDNS_SUSP_SPECIFIC 0, REFERENCES 0, URI_WITH_PATH_ONLY 0, __ANY_URI 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CP_URI_IN_BODY 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __FORWARDED_MSG 0, __HAS_FROM 0, __HAS_MSGID 0, __HTTPS_URI 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __MIME_VERSION 0, __MOZILLA_USER_AGENT 0, __MULTIPLE_URI_TEXT 0, __NO_HTML_TAG_RAW 0, __PHISH_SPEAR_STRUCTURE_1 0, __RDNS_POOLED_1 0, __REFERENCES 0, __SANE_MSGID 0, __SUBJ_ALPHA_NEGATE 0, __TO_IN_SUBJECT2 0, __TO_MALFORMED_2 0, __TO_NAME 0, __TO_NAME_DIFF_FROM_ACC 0, __TO_REAL_NAMES 0, __URI_IN_BODY 0, __URI_NOT_IMG 0, __URI_NO_MAILTO 0, __URI_NO_WWW 0, __URI_NS , __URI_WITH_PATH 0, __USER_AGENT 0)
X-SMTP-Spam-Score: 33%
X-Scanned-By: MIMEDefang 2.78 on 128.2.105.202
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/v_yfaDlIJjtJFcpY9a9Iw4W1oyM>
Subject: Re: [art] ART Area Review for draft-ietf-calext-caldav-attachments-02
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 May 2017 14:09:23 -0000

Hi Julian,

Thanks for the review.  Comments inline.


On 05/14/2017 10:23 AM, Julian Reschke wrote:
> Reviewer: Julian Reschke
> Review result: Not Ready
>
> Document: draft-ietf-calext-caldav-attachments-02
> IETF LC End Date: 2017-05-14
> IESG Telechat date: 2017-05-25
>
> This document describes attachment handling in CalDAV (WebDAV based 
> calendaring).
>
> The mechanism described by this document is essential RPCish, using 
> HTTP POST for tunneling. It will work in practice, but it definitively 
> isn't state of the art in IETF protocols, in particular in an 
> otherwise WebDAV/CalDAV-based ecosystem.
>
> Major issues:
>
> The main issue with this specification is that it
>
> 1) models operations on attachments as POST operations, where the 
> actual type of operation is specified using a query parameter, instead 
> of using the HTTP methods POST, PUT, and DELETE.

The resource being acted upon is an actual calendar resource, which is 
already in place.  The attachments are meta-data associated with one or 
more calendar resources, which is why a POST is used on the calendar 
resource to manipulate an attachment.  Can you explain how you would 
envision different HTTP methods be used to add/update/delete an 
attachment associated with a calendar resource?

> 2) hardwires specific query strings into the protocol, violating a 
> MUST level requirement in BCP 190 (see 
> https://tools.ietf.org/html/rfc7320#section-2.4):
>
>    Applications MUST NOT directly specify the syntax of queries, as this
>    can cause operational difficulties for deployments that do not
>    support a particular form of a query.  For example, a site may wish
>    to support an application using "static" files that do not support
>    query parameters.

Which part(s) of the query syntax MUST not be specified?  The entire 
thing?  Just the keywords?  Did RFC 7808 get this wrong, or is URI 
templating ok?


> Re 1) this is even called out specifically in Sections 3.8 (update) 
> and 3.9 (remove), but it's not clear at all why that is the case.
>
> Re 2) Part of the hard-wiring could be avoided by using different HTTP 
> methods for the different actions. The other parameters could be made 
> discoverable using URIs / URI templates, exposed as WebDAV properties, 
> as is the case in RFC 5995.

As above, can you explain how different HTTP methods would be used where 
the target of the add/update/remove operation is an existing calendar 
resource?



> 5.1. Cal-Managed-ID Response Header Field
>
> This doesn't seem to address the points listed in 
> <https://greenbytes.de/tech/webdav/rfc7231.html#considerations.for.new.header.fields> 
> (and it wouldn't be needed if the attachment would be modeled as an 
> HTTP resource whose values could be reported back in a Location header 
> field upon creation).

Can parameters be added to a Location header field (it doesn't appear 
so), or are you suggesting that the managed-id value be encoded in the 
URI-reference value?



>
> Minor issues:
>
> 3.12.4.  Processing Time
>
>    Clients can expect servers to take a while to respond to POST
>    requests that include large attachment bodies.  Servers SHOULD use
>    the "102 (Processing)" interim response defined in Section 10.1 of
>    [RFC2518] to keep the client connection alive if the POST request
>    will take significant time to complete.
>
> While discussing the new code 103 in the HTTP WG, we considered 
> interop problems with existing code that doesn't handle 1xx status 
> codes at all, or had problems with status codes other than 100. I 
> personally support use of new 1xx status codes, but it would be good 
> to hear whether the WG considered deployment problems when making this 
> a SHOULD-level requirement.

Existing implementations of this CalDAV extension all seem to handle 1xx 
status codes.


-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University