[prev in list] [next in list] [prev in thread] [next in thread]
List: pyamf-tickets
Subject: Re: [pyamf-tickets] #697: Vector type not supported
From: PyAMF list for bug and patch messages <tickets () pyamf ! org>
Date: 2011-07-26 23:03:40
Message-ID: 059.c646502142a51852ac7f0048647ace1c () pyamf ! org
[Download RAW message or body]
#697: Vector type not supported
----------------------------------+----------------------
Reporter: FunnyMan3595 | Owner: nick
Type: defect | Status: assigned
Priority: major | Milestone: 0.6.2
Component: AMF3 | Version: 0.5.1
Resolution: | Keywords:
Author: | Branch:
Fixed in revision: |
----------------------------------+----------------------
Description changed by thijs:
Old description:
> [wiki:Vector] appears to have its own, undocumented AMF3 data type, code
> `0x0D`. The attached files demonstrate the problem:
>
> - vector_test.mxml - Flex 4 source file with Vector of Strings
> - vector_test.swf - Flash Player SWF that echoes Vector of strings to
> localhost:8000
> - AMF3_Vector.hx - haXe source example
> - AMF3_Vector.swf - Flash file that produces the unsupported code.
> - AMF3_Vector.sol - Final .sol output, as produced by Flash v10.0.32.18
> (Linux).
>
> {{{
> ERROR:root:Error decoding AMF request
> Traceback (most recent call last):
> File "/home/thijs/workspace/pyamf/pyamf/remoting/gateway/wsgi.py", line
> 85, in __call__
> logger=self.logger, timezone_offset=timezone_offset)
> File "/home/thijs/workspace/pyamf/pyamf/remoting/__init__.py", line
> 635, in decode
> target, payload = _read_body(stream, decoder, strict, logger)
> File "/home/thijs/workspace/pyamf/pyamf/remoting/__init__.py", line
> 462, in _read_body
> data = _read_args()
> File "/home/thijs/workspace/pyamf/pyamf/remoting/__init__.py", line
> 439, in _read_args
> return [decoder.readElement() for i in xrange(x)]
> File "codec.pyx", line 359, in cpyamf.codec.Decoder.readElement
> (cpyamf/codec.c:4972)
> File "codec.pyx", line 372, in cpyamf.codec.Decoder.readElement
> (cpyamf/codec.c:4867)
> File "amf0.pyx", line 294, in cpyamf.amf0.Decoder.readConcreteElement
> (cpyamf/amf0.c:4024)
> File "amf0.pyx", line 262, in cpyamf.amf0.Decoder.readAMF3
> (cpyamf/amf0.c:3607)
> File "codec.pyx", line 372, in cpyamf.codec.Decoder.readElement
> (cpyamf/codec.c:4867)
> File "amf3.pyx", line 590, in cpyamf.amf3.Decoder.readConcreteElement
> (cpyamf/amf3.c:6579)
> DecodeError: Unsupported ActionScript type
> }}}
>
> == AMF3 Vector with Java ==
>
> Check this [http://code.google.com/p/jpauclair-
> blog/source/browse/trunk/Experiment/AMF3/Amf3InputUpdated.java class] and
> [http://jpauclair.net/2010/01/16/reverse-engineering-amf3-vector-for-
> java/ this post] for more info about reverse engineering [wiki:Vector]
> for Java.
New description:
[wiki:Vector] appears to have its own, undocumented AMF3 data type, code
`0x0D`. The attached files demonstrate the problem:
- vector_test.mxml - Flex 4 source file with Vector of Strings
- vector_test.swf - Flash Player SWF that echoes Vector of strings to
localhost:8000
- AMF3_Vector.hx - haXe source example
- AMF3_Vector.swf - Flash file that produces the unsupported code.
- AMF3_Vector.sol - Final .sol output, as produced by Flash v10.0.32.18
(Linux).
{{{
ERROR:root:Error decoding AMF request
Traceback (most recent call last):
File "/home/thijs/workspace/pyamf/pyamf/remoting/gateway/wsgi.py", line
85, in __call__
logger=self.logger, timezone_offset=timezone_offset)
File "/home/thijs/workspace/pyamf/pyamf/remoting/__init__.py", line 635,
in decode
target, payload = _read_body(stream, decoder, strict, logger)
File "/home/thijs/workspace/pyamf/pyamf/remoting/__init__.py", line 462,
in _read_body
data = _read_args()
File "/home/thijs/workspace/pyamf/pyamf/remoting/__init__.py", line 439,
in _read_args
return [decoder.readElement() for i in xrange(x)]
File "codec.pyx", line 359, in cpyamf.codec.Decoder.readElement
(cpyamf/codec.c:4972)
File "codec.pyx", line 372, in cpyamf.codec.Decoder.readElement
(cpyamf/codec.c:4867)
File "amf0.pyx", line 294, in cpyamf.amf0.Decoder.readConcreteElement
(cpyamf/amf0.c:4024)
File "amf0.pyx", line 262, in cpyamf.amf0.Decoder.readAMF3
(cpyamf/amf0.c:3607)
File "codec.pyx", line 372, in cpyamf.codec.Decoder.readElement
(cpyamf/codec.c:4867)
File "amf3.pyx", line 590, in cpyamf.amf3.Decoder.readConcreteElement
(cpyamf/amf3.c:6579)
DecodeError: Unsupported ActionScript type
}}}
Also added a test for
[https://github.com/thijstriemstra/acidswf/commit/525eaf139bf5d3b1518490b41b168e622565ae6b
AcidSWF].
== AMF3 Vector with Java ==
Check this [http://code.google.com/p/jpauclair-
blog/source/browse/trunk/Experiment/AMF3/Amf3InputUpdated.java class] and
[http://jpauclair.net/2010/01/16/reverse-engineering-amf3-vector-for-java/
this post] for more info about reverse engineering [wiki:Vector] for Java.
--
--
PyAMF - Ticket URL: <http://dev.pyamf.org/ticket/697#comment:7>
_______________________________________________
PyAMF tickets mailing list - tickets@pyamf.org
http://lists.pyamf.org/mailman/listinfo/tickets
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic