vlm | fa67ddc | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 1 | |
| 2 | 0. ASN.1 grammar parser is written mostly with respect to constructing a tree, |
| 3 | so a tree destruction is not fully supported and certain memory leaks are |
| 4 | known. Not a huge problem for run-once programs like a compiler. |
| 5 | NOTE: This statement does not apply to the target code _produced_ |
| 6 | by the compiler. |
| 7 | |
vlm | 2591f52 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 8 | 1. For purposes of compilation, INTEGER type is modelled using a large |
vlm | fa67ddc | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 9 | static type (asn_integer_t), but defined as any positive or negative value |
| 10 | by ASN.1. Not a problem as most specifications use very small values anyway. |
| 11 | NOTE: This statement does not apply to the target code _produced_ |
| 12 | by the compiler. |
| 13 | |
vlm | 6304f88 | 2005-02-25 12:27:04 +0000 | [diff] [blame] | 14 | 2. A MACRO facility is part of obsolete ASN.1 standard, and is not supported. |
vlm | fa67ddc | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 15 | |
vlm | 2591f52 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 16 | 3. Multiple tags applied at the same level are not supported: |
vlm | fa67ddc | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 17 | BadTags ::= [0] EXPLICIT [2] IMPLICIT OtherType |
| 18 | The same thing could be achieved by using the indirection: |
| 19 | GoodTags ::= [0] EXPLICIT OtherTypePtr |
| 20 | OtherTypePtr ::= [2] IMPLICIT OtherType |
| 21 | |
vlm | 2591f52 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 22 | 4. Mixed definite/indefinite length in a _single_ BER tags sequence is not |
vlm | fa67ddc | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 23 | supported. Should not be a problem in the real world. Please note that it |
| 24 | is still possible, for example, to encode a wrapper structure using definite |
| 25 | length, and encode its substructure member using indefinite length. The BER |
| 26 | decoder is perfectly capable of decoding such sequences. |
| 27 | |
vlm | 2591f52 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 28 | 5. Encoding or decoding of structures with combined length greater than 16MB |
vlm | 399983b | 2004-10-20 15:48:09 +0000 | [diff] [blame] | 29 | is not tested. |
vlm | fa67ddc | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 30 | |
vlm | 6304f88 | 2005-02-25 12:27:04 +0000 | [diff] [blame] | 31 | 6. XER codec does not support integer (INTEGER, ENUMERATED) values |
vlm | 485cd66 | 2004-10-21 12:23:16 +0000 | [diff] [blame] | 32 | outside the signed long range. |