[vwrap] #19: handling binary serialization errors

"vwrap issue tracker" <trac@tools.ietf.org> Thu, 01 April 2010 22:55 UTC

Return-Path: <trac@tools.ietf.org>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 15E863A68A3 for <vwrap@core3.amsl.com>; Thu, 1 Apr 2010 15:55:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.971
X-Spam-Level:
X-Spam-Status: No, score=-99.971 tagged_above=-999 required=5 tests=[AWL=-0.360, BAYES_20=-0.74, DNS_FROM_OPENWHOIS=1.13, NO_RELAYS=-0.001, 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 HGWemA0RrZIN for <vwrap@core3.amsl.com>; Thu, 1 Apr 2010 15:55:48 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id 66E343A681B for <vwrap@ietf.org>; Thu, 1 Apr 2010 15:55:48 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.69) (envelope-from <trac@tools.ietf.org>) id 1NxTJF-0004JH-Aw; Thu, 01 Apr 2010 15:56:21 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: "vwrap issue tracker" <trac@tools.ietf.org>
X-Trac-Version: 0.11.6
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.11.6, by Edgewall Software
To: markl@lindenlab.com
X-Trac-Project: vwrap
Date: Thu, 01 Apr 2010 22:56:21 -0000
X-URL: http://tools.ietf.org/vwrap/
X-Trac-Ticket-URL: http://trac.tools.ietf.org/wg/vwrap/trac/ticket/19
Message-ID: <059.91a39a0ecf02b15549efb5e7051cada1@tools.ietf.org>
X-Trac-Ticket-ID: 19
X-SA-Exim-Connect-IP: ::1
X-SA-Exim-Rcpt-To: markl@lindenlab.com, vwrap@ietf.org
X-SA-Exim-Mail-From: trac@tools.ietf.org
X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false
Cc: vwrap@ietf.org
Subject: [vwrap] #19: handling binary serialization errors
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Reply-To: trac@localhost.amsl.com
List-Id: Virtual World Region Agent Protocol - IETF working group <vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Apr 2010 22:55:49 -0000

#19: handling binary serialization errors
--------------------------------+-------------------------------------------
Reporter:  markl@…              |       Owner:  markl@…            
    Type:  enhancement          |      Status:  new                
Priority:  major                |   Milestone:                     
 Version:                       |    Severity:  -                  
Keywords:  TypeSystem           |  
--------------------------------+-------------------------------------------
 To summarize, there are several possible mal-formed conditions in a binary
 serialized LLSD value:

 1&2) The "object count" is inconsistent with the number of objects bound
 by the matching opening and closing tags for an array or map. (Original
 e-mail had these as two cases, too few and too many)
 3) No matching closing tag is found for an array or map
 4) Something other than a 'k' tag found where 'k' required in a map
 5) A 'k' tag encountered either outside a map, or where a value is
 required in a map
 6) Duplicate keys in a map

 From my (Mark) message about this:

 I believe that the mal-formed cases 1 through 5 should result in
 rejection. I can see no benefit to trying to repair what can only have
 been generated by incorrect code. (And yes, I lament the redundancy
 between the object counts and the closing tags.)

 Case 6 is tricker. I'm loathe to say that duplicate keys result in
 rejection, since that my difficult or awkward in some implementations.
 That would lead me to say "if there are duplicates, the result is
 undefined." But then I worry that people will do things like hide values
 from some implementations by relying on the priority they use. Which leads
 me to just say "last wins", though that too might be more awkward for some
 implementations. Still mulling….

-- 
Ticket URL: <http://trac.tools.ietf.org/wg/vwrap/trac/ticket/19>
vwrap <http://tools.ietf.org/vwrap/>