Re: [Webpush] When UA should send an acknowledgement?

Martin Thomson <martin.thomson@gmail.com> Thu, 09 June 2016 01:46 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E0DBA12D8FA for <webpush@ietfa.amsl.com>; Wed, 8 Jun 2016 18:46:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham 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 vvu3-88tXdy0 for <webpush@ietfa.amsl.com>; Wed, 8 Jun 2016 18:46:47 -0700 (PDT)
Received: from mail-qg0-x22e.google.com (mail-qg0-x22e.google.com [IPv6:2607:f8b0:400d:c04::22e]) (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 18D4B12D7C5 for <webpush@ietf.org>; Wed, 8 Jun 2016 18:46:47 -0700 (PDT)
Received: by mail-qg0-x22e.google.com with SMTP id p34so13563774qgp.1 for <webpush@ietf.org>; Wed, 08 Jun 2016 18:46:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=v+ROqIE+jfvEG+5KB9obePpO+L/ckyuKlflBTzY1CZ4=; b=NLlu8wo4wUKErusWynd+7Qg7vioDy0yP5dUCjYUlra0yV/JQNc+2aHckuLpqVLmTl4 bwm2QCZDv2OPygr6Gltkr6cR6YtB3j0o4YpWdB7Ed5bMNtQ3hCmirM2HZioShhmU1G+7 kcOAWDpHkCfVy6ea1L9MlJ6zrE+nXbp9NgcIhvTyWj8JR3TrlgTQhRNnLu3DH3iSBiIp bGikmSR6pJKl53PC1FnoA7PXBX+h316rx2BQa68u4882h4A+LxTnnFRRdUmLbGndJuGF FZdKVXCCzen+zjzNedyk0lSzw+/Y4aMEcxPPCNQEJvyKdPJYjG4XBR2ugZh2ceKc2dd+ zmSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=v+ROqIE+jfvEG+5KB9obePpO+L/ckyuKlflBTzY1CZ4=; b=WV+4tfMq6hZ1vySRWwts6d/3KhMsLyncmn03XaT/5YVVqORfBf720fRgDCVWBceMVg EqxEQCsov+PH64fakX3lvfJDK6RO+gCab/+/8hbZGnl3tRnQeQKjKAzBdt6srfat4+do 5Xc7HyIY2OyD2POn4pgUqv36b4AkuaW4iJ91zlUUyBxEivddySSGkX1wyKFBjgu3FpPH L1nrdUK5cFY5vzF0hdmcQpkW74G//EfgZfJF93axYhJGIHKzfRevBRB9nqeQGlV9aNWP cOFl/fm+8SvKpwYCp1hUluXIvofAl385qQechMVZXVYSW3leHJwuFw2ZzVwa2ycs15tY w63A==
X-Gm-Message-State: ALyK8tKS4vMeLsfyK+HWFpOvpzQgFaP9YKM6ZLcTuWPmD9GXLaXA6+xwSAuVH/t9LsPTt95iB1/YlFQ+hjjlGA==
X-Received: by 10.140.101.240 with SMTP id u103mr7217383qge.61.1465436806227; Wed, 08 Jun 2016 18:46:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.104.110 with HTTP; Wed, 8 Jun 2016 18:46:45 -0700 (PDT)
In-Reply-To: <CABp8EuJnO32w7Uchzn1Ohwr8DkHLj5tgnD-qCUK1n2dWbJjUtA@mail.gmail.com>
References: <CAN+BUJpdSB-HvT6VQzVcAPqzwb_pn=HzLOC3r4ntSKjDh3ffLA@mail.gmail.com> <CABkgnnVSrKp8sf31qpBztp1FH=AQHFCoAH9XVQx6JyU4BoEQaQ@mail.gmail.com> <CABp8EuLYHufcLSnJjCvKGsCqgXDeAzrwn3N2XdoK4x6Px+0w5w@mail.gmail.com> <CABkgnnVcyFcd2MPUFKORkkyHpMDfALjAP34ByVJpLBEMSiZ=ZA@mail.gmail.com> <CABp8EuKAcA9Vx3RO997MY3-niAgaNf_MZ3xjDW+zFE=7Hb_rbQ@mail.gmail.com> <CABkgnnXAqnY3sSzU67vLf3SS-RXcoF-Uq=KT+hyPOu5ATV+bSw@mail.gmail.com> <CABp8EuK32xxDLqv5a9+Pc=rETASmi+E-R5ALs9PWA1ntN_L0ug@mail.gmail.com> <CABkgnnX-osOm7z3o5Bjmvm009jVtjqB8G+zETj-drcL9foUPFA@mail.gmail.com> <CABp8EuJnO32w7Uchzn1Ohwr8DkHLj5tgnD-qCUK1n2dWbJjUtA@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Thu, 9 Jun 2016 11:46:45 +1000
Message-ID: <CABkgnnWKd_ThrH0ob-+Hzjnqxyw+o0cjBHUhooSZysOwDbTF2A@mail.gmail.com>
To: Benjamin Bangert <bbangert@mozilla.com>
Content-Type: text/plain; charset=UTF-8
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/_uFrSxhurePFLnz177RDf65lRwA>
Cc: "webpush@ietf.org" <webpush@ietf.org>, Idel Pivnitskiy <idel.pivnitskiy@gmail.com>
Subject: Re: [Webpush] When UA should send an acknowledgement?
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Jun 2016 01:46:49 -0000

On 9 June 2016 at 11:38, Benjamin Bangert <bbangert@mozilla.com> wrote:
> On Wed, Jun 8, 2016 at 5:58 PM, Martin Thomson <martin.thomson@gmail.com> wrote:
>> On 8 June 2016 at 23:42, Benjamin Bangert <bbangert@mozilla.com> wrote:
>>> I'm in support of at-least-once processing, so the ack would occur last per
>>> the DOM API. The difference would be that the DOM spec should require
>>> ack even if decryption fails or the SW fails for some reason.
>>
>> So I get the point about decryption: if it is bad, then that won't
>> change next time.  But a SW failure makes the application vulnerable
>> to random chance.  Sure, the SW might be bad, but badness isn't a
>> terminal condition there in the same way that crypto is.
>
> Agreed, I think its sensible for a UA to try the message once more. If
> a crash or something else bad still occurs, the UA can ack instead of
> trying for a third time. Given the UA's manage to remember tabs open
> right before a crash, it doesn't seem far-fetched for a UA to count
> process attempts for a message-id where a crash occurred afterwards.

That I can get behind.  I have opened a PR for the decryption failure.
I will open a second one for the case that the SW rejects multiple
times.  I think that we have a bit of leeway on that one though.

(Note: all of these are for the push API spec.  Do you think that we
need any changes to the protocol spec as a result of all this?)