[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/>
- [vwrap] #19: handling binary serialization errors vwrap issue tracker