Comments (6)
Feel free to implement it. Sounds useful.
from asn1tools.
Do you have any suggestions where I might start? I had a look through the code, but it wasn't clear to me where I should look to modify the code,
For now I have solved this by re-encoding the decoded contents to get the length.
from asn1tools.
Start by designing the new decode method, and then make required changes throughout the package.
However, I would recommend framing the encoded UPER data by introducing a length field in the stream of data. It's obviously not required, but more robust in case of bugs in the encoder or decoder.
from asn1tools.
Closing in lack of response.
from asn1tools.
Initial progress was made at https://github.com/MBradbury/asn1tools but I ran into test errors such as:
$ python3 -m unittest tests.test_uper
..........................Failed to decode type with name B.
E...............
ERROR: test_real (tests.test_uper.Asn1ToolsUPerTest)
Traceback (most recent call last):
File "/home/duser/asn1tools/asn1tools/codecs/per.py", line 446, in read_length_determinant
}[value]
KeyError: 192
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/duser/asn1tools/tests/test_uper.py", line 147, in test_real
self.assert_encode_decode2(foo, type_name, decoded, encoded)
File "/home/duser/asn1tools/tests/utils.py", line 69, in assert_encode_decode2
decoded, decoded_bits = specification.decode2(type_name, encoded_message)
File "/home/duser/asn1tools/asn1tools/compiler.py", line 193, in decode2
decoded, decoded_bits = type_.decode2(data)
File "/home/duser/asn1tools/asn1tools/codecs/per.py", line 1991, in decode2
decoded = self._type.decode(decoder)
File "/home/duser/asn1tools/asn1tools/codecs/per.py", line 815, in decode
decoded = self.decode_root(decoder)
File "/home/duser/asn1tools/asn1tools/codecs/per.py", line 831, in decode_root
value = member.decode(decoder)
File "/home/duser/asn1tools/asn1tools/codecs/per.py", line 1098, in decode
length = decoder.read_length_determinant()
File "/home/duser/asn1tools/asn1tools/codecs/per.py", line 450, in read_length_determinant
value))
asn1tools.codecs.DecodeError: a: Bad length determinant fragmentation value 0xc0.
Ran 42 tests in 4.767s
FAILED (errors=1)
from asn1tools.
Do you intend to continue the implementation? In that case we can reopen the issue.
from asn1tools.
Related Issues (20)
- Why asn1tool will give tag 'a0' HOT 1
- asn parsing HOT 2
- Missing support for BCDString in BER HOT 1
- asn1tools.codecs.ber.DecodeTagError: HOT 2
- GSER decoding is not implemented
- Support for CLASS HOT 1
- Generate C source: Unsupported type 'BIT STRING' HOT 3
- Unsupported type 'BIT STRING' error in generate C source uper HOT 3
- python asn1tools BitString uper encoded wrong value HOT 1
- Objects set members are not parsed at all HOT 2
- ASN1Tools Fails to Compile 3GPP Release 16 ASN.1 HOT 3
- Expected enumeration index 0, 1 or 2, but got 3
- Generated C OER decoder fails to decode fixed-length sequences with lengths of more than 255
- Decode successfully ignores extra bytes HOT 2
- encode_message() fails to validate ASN.1 BIT STRING SIZE constraints
- how to parse the "CONTAING SEQUENCE" msg immediately HOT 1
- Compile nrppa using PER fail
- How to view encoded values
- Test failures with pyparsing 3.1.1 HOT 4
- oer c code generation fails when addition contains a sequence with enums (type error) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asn1tools.