Re: [xmpp] I-D Action: draft-ietf-xmpp-6122bis-13.txt

Jonathan Lennox <> Thu, 11 September 2014 16:04 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 4E7B51A6FDD for <>; Thu, 11 Sep 2014 09:04:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.131
X-Spam-Status: No, score=-1.131 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_SORBS_WEB=0.77, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id pv8d5nD44k6b for <>; Thu, 11 Sep 2014 09:04:35 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DES-CBC3-SHA (112/168 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 988671A0410 for <>; Thu, 11 Sep 2014 09:04:35 -0700 (PDT)
X-Note-AR-ScanTimeLocal: 9/11/2014 12:04:34 PM
X-Policy: GLOBAL -
X-Policy: GLOBAL -
X-Note: This Email was scanned by AppRiver SecureTide
X-Virus-Scan: V-
X-Note-SnifferID: 0
X-Note: TCH-CT/SI:0-86/SG:2 9/11/2014 12:03:49 PM
X-GBUdb-Analysis: 0,, Ugly c=0.798526 p=-0.96464 Source White
X-Signature-Violations: 0-0-0-5032-c
X-Note-419: 15.626 ms. Fail:0 Chk:1336 of 1336 total
X-Note: SCH-CT/SI:0-1336/SG:1 9/11/2014 12:04:15 PM
X-Note: Spam Tests Failed:
X-Note: User Rule Hits:
X-Note: Global Rule Hits: G342 G343 G344 G345 G349 G350 G461
X-Note: Encrypt Rule Hits:
X-Note: Mail Class: VALID
X-Note: Headers Injected
Received: from [] (HELO by (CommuniGate Pro SMTP 6.0.2) with ESMTP id 10354213; Thu, 11 Sep 2014 12:04:34 -0400
Received: from pps.filterd ( []) by (8.14.7/8.14.7) with SMTP id s8BG1Pmg029215; Thu, 11 Sep 2014 12:04:33 -0400
Received: from ([]) by with ESMTP id 1p7gdwamkr-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK); Thu, 11 Sep 2014 12:04:33 -0400
Received: from ([fe80::50:56ff:fe85:4f77]) by ([fe80::50:56ff:fe85:6b62%13]) with mapi id 14.03.0195.001; Thu, 11 Sep 2014 11:04:32 -0500
From: Jonathan Lennox <>
To: Peter Saint-Andre <>
Thread-Topic: [xmpp] I-D Action: draft-ietf-xmpp-6122bis-13.txt
Thread-Index: AQHPzdDSdHMnnq3MUUacjbjEeLeNKJv8bFUA
Date: Thu, 11 Sep 2014 16:04:32 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="Windows-1252"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52, 1.0.28, 0.0.0000 definitions=2014-09-11_06:2014-09-11,2014-09-11,1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=audit_notspam policy=audit score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1409110131
Cc: "" <>
Subject: Re: [xmpp] I-D Action: draft-ietf-xmpp-6122bis-13.txt
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: XMPP Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 11 Sep 2014 16:04:37 -0000

On Sep 10, 2014, at 9:57 PM, Peter Saint-Andre <> wrote:

> Changes to address feedback from Joe and Florian.
> Please review carefully, because some of the changes are subtle or provisional - more feedback would be very helpful.

I think the separation of preparation, enforcement, and comparison is very helpful, but I don’t think the description of enforcement is very clear yet — it seems to mix together normalization and validity checking, without a clear discussion of which rules are which.

For example: as far as I can tell, the intention from all discussions is that is a valid JID, which a server should normalize and process as, but “StPeter" is not, and should be rejected with <jid-malformed/>.  But I don’t see how you can deduce this from the document’s current description of “Enforcement” — both the case mapping and the list of invalid characters are specified as “MUST” requirements.

The “Preparation” stage also doesn’t seem to require that JIDs that are transmitted actually be considered valid by the enforcement stage, which seems like a recipe for interop failure.

6122’s language was "A localpart MUST be formatted such that the Nodeprep profile of [STRINGPREP] can be applied without failing” (and similarly for the other JID parts).  Can language something like this (mutis mutandis for Precis rather than Stringprep) be used, once Enforcement is clear about what is or isn’t considered failure?