[apps-discuss] multipart/report

"Murray S. Kucherawy" <msk@cloudmark.com> Wed, 22 September 2010 21:24 UTC

Return-Path: <msk@cloudmark.com>
X-Original-To: apps-discuss@core3.amsl.com
Delivered-To: apps-discuss@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AF37A3A6B45 for <apps-discuss@core3.amsl.com>; Wed, 22 Sep 2010 14:24:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.549
X-Spam-Level:
X-Spam-Status: No, score=-103.549 tagged_above=-999 required=5 tests=[AWL=-0.950, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CeqW6uJkGRwb for <apps-discuss@core3.amsl.com>; Wed, 22 Sep 2010 14:24:35 -0700 (PDT)
Received: from ht1-outbound.cloudmark.com (ht1-outbound.cloudmark.com [72.5.239.35]) by core3.amsl.com (Postfix) with ESMTP id EFCEC3A67F8 for <apps-discuss@ietf.org>; Wed, 22 Sep 2010 14:24:34 -0700 (PDT)
Received: from EXCH-C2.corp.cloudmark.com ([172.22.1.74]) by malice.corp.cloudmark.com ([172.22.10.71]) with mapi; Wed, 22 Sep 2010 14:25:02 -0700
From: "Murray S. Kucherawy" <msk@cloudmark.com>
To: "apps-discuss@ietf.org" <apps-discuss@ietf.org>
Date: Wed, 22 Sep 2010 14:25:02 -0700
Thread-Topic: multipart/report
Thread-Index: ActaGml/QkywnISrTzSHowTvwZP6WQAgiANQ
Message-ID: <BB012BD379D7B046ABE1472D8093C61C02AFC3C25A@EXCH-C2.corp.cloudmark.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [apps-discuss] multipart/report
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Sep 2010 21:24:37 -0000

Re-sending to a wider audience...

From: Murray S. Kucherawy 
Sent: Tuesday, September 21, 2010 10:53 PM
To: ietf-822@imc.org
Subject: multipart/report

I'm doing some work with the OMA in the area of spam reporting.  They have developed an XML message format for reporting spam from a mobile handset.  Because SMS and MMS (and even IM) have different structure than email, they went with something more extensible than what we currently do with DSNs.  I'm helping that group try to converge with what we do in the email world, especially with what the MARF working group is producing (e.g., ARF, specified by recently-published RFC5965).  The first thing is to register the MIME type they've created, and so I've crafted a template for that.

The next thing we'd like to achieve is to be able to specify multiple spam reports in a single message, regardless of transport (they currently use HTTP POST, but there's no reason SMTP couldn't be used).  The most obvious thing to do would be to use a multipart/mixed MIME message, and then include their MIME type in each of "n" parts.  However, this is different than what was done with ARF, which used multipart/report.  The advantage to using multipart/report, which stipulates that it must be the outermost MIME type, is that you know right away that you're processing a report rather than having to parse part way into the MIME tree to figure that out.  (According to Tony Hansen, that's why this rule was put in place.)  But although multipart/report is the most obvious construct for doing this, it doesn't lend itself to multi-report messages.  So to get these to converge, we have to be a little creative or be very creative (in the "create a lot of documents" sense).

We could do a message/digest, each sub-part of which is message/rfc822 and the MIME type within that is multipart/report.  One could argue that this approach conforms to the multipart/report rules by having that be the outermost MIME part of each constituent message in the aggregate message, but that might be hard to defend given the spirit of that rule.

There's also a stipulation that the MIME subtype of the second part in a multipart/report message must be equal to the report-type of the outermost part, with no other constraints.  Thus to keep multipart/report at the outermost MIME but allow multi-message reports, we could comply by using "multipart/report; report-type=mixed" as the outermost MIME type and then use "multipart/mixed" inside.  But this also sure feels hack-ish.

So what would be more palatable to this community?  Could multipart/report be updated to accommodate this use case?  Should we register multipart/multi-report that relaxes some of the existing restrictions without changing the existing media type?

Feedback/guidance is welcome.

-MSK