Re: [Shutup] [ietf-smtp] Compressing SMTP streams

"Carl S. Gutekunst" <csg@alameth.org> Fri, 29 January 2016 21:04 UTC

Return-Path: <csg@alameth.org>
X-Original-To: shutup@ietfa.amsl.com
Delivered-To: shutup@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 778821B342B; Fri, 29 Jan 2016 13:04:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.003
X-Spam-Level:
X-Spam-Status: No, score=-2.003 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 FuAmlUUrleoY; Fri, 29 Jan 2016 13:04:28 -0800 (PST)
Received: from articuno.alameth.org (articuno.alameth.org [45.79.107.253]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 031CF1B342A; Fri, 29 Jan 2016 13:04:28 -0800 (PST)
Received: from rapidash.eng.sonicwall.com (rapidash.eng.sonicwall.com [IPv6:2620:9f:12:cc51::2d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by articuno.alameth.org (Postfix) with ESMTPS id 5AE5014FFD; Fri, 29 Jan 2016 21:04:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alameth.org; s=n01; t=1454101467; bh=AJXk21667OUHEbvKBTW+yh6/7jazLDYK1e0M0lnfiSk=; h=Date:From:To:Subject:References:In-Reply-To:From; b=Fyy3iLVX2itmG6tl8RmfWYpUcExL6jV9H1RokmggQmNsla493t2utADNmM7k0Y2+7 kz9QwMmAjguC1+1fyyGn9zAmwIljVWEIGWohDP8YA4vS48iYdzGNDHGxTnhnwMsE7K xZ64zxlXnFj2Nk1GPy+1UkCYW161o0bztomAS/4c=
Message-ID: <56ABD3DA.70203@alameth.org>
Date: Fri, 29 Jan 2016 13:04:26 -0800
From: "Carl S. Gutekunst" <csg@alameth.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: John Levine <johnl@taugh.com>, ietf-smtp@ietf.org, shutup@ietf.org
References: <20160129180713.51570.qmail@ary.lan>
In-Reply-To: <20160129180713.51570.qmail@ary.lan>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/shutup/oWYszbeyEPEfBtC2iF58ZoCD6qE>
X-Mailman-Approved-At: Sat, 30 Jan 2016 02:15:14 -0800
Subject: Re: [Shutup] [ietf-smtp] Compressing SMTP streams
X-BeenThere: shutup@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SMTP Headers Unhealthy To User Privacy <shutup.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/shutup>, <mailto:shutup-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/shutup/>
List-Post: <mailto:shutup@ietf.org>
List-Help: <mailto:shutup-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/shutup>, <mailto:shutup-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Jan 2016 21:04:29 -0000

> Well, in that case, here's a straw man proposal.
>
> The extension name is COMPRESS, the EHLO keyword is COMPRESS and is
> followed by a space-separated list of compression schemes, currently
> consisting only of DEFLATE (RFC 1951.)
>
> There's one new command, COMPRESS which takes as an argument the type
> of compression to be used.  If you want to do both STARTTLS and
> COMPRESS, the results of doing COMPRESS before STARTTLS are
> aggessively undefined.
>
> The responses to COMPRESS are:
>
> 500 compress not supported
> 501 compression scheme unknown
> 220 go ahead
>
> After a 220 response, subsequent traffic is compressed.

Yes, order must be STARTTLS, then AUTH, then COMPRESS.

We assume that binary MIME (ala RFC 3030) is dead.

Alternative: Is there any benefit to compressing the envelope? With 
pipelining, probably; otherwise no. If we don't compress the envelope, 
then we could make compression an option on the DATA command. Now we 
have something that starts to look like RFC 3030, but without the 
assumption that the sender should not use Base64 (with its attendant and 
DKIM-breaking content transfer encoding conversion at each hop).

<csg>