Lev Walkin | f15320b | 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 | |
Lev Walkin | 9131379 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 8 | 1. For purposes of compilation, INTEGER type is modelled using a large |
Lev Walkin | f15320b | 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 | |
Lev Walkin | 9131379 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 14 | 2. ASN Macros are prohibited by the current ASN.1 standard, |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 15 | and are not supported. |
| 16 | |
Lev Walkin | 9131379 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 17 | 3. Multiple tags applied at the same level are not supported: |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 18 | BadTags ::= [0] EXPLICIT [2] IMPLICIT OtherType |
| 19 | The same thing could be achieved by using the indirection: |
| 20 | GoodTags ::= [0] EXPLICIT OtherTypePtr |
| 21 | OtherTypePtr ::= [2] IMPLICIT OtherType |
| 22 | |
Lev Walkin | 9131379 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 23 | 4. Mixed definite/indefinite length in a _single_ BER tags sequence is not |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 24 | supported. Should not be a problem in the real world. Please note that it |
| 25 | is still possible, for example, to encode a wrapper structure using definite |
| 26 | length, and encode its substructure member using indefinite length. The BER |
| 27 | decoder is perfectly capable of decoding such sequences. |
| 28 | |
Lev Walkin | 9131379 | 2004-09-14 14:29:47 +0000 | [diff] [blame] | 29 | 5. Encoding or decoding of structures with combined length greater than 16MB |
Lev Walkin | fa30126 | 2004-09-10 15:48:41 +0000 | [diff] [blame] | 30 | is not tested. There are some size determination bugs lurking in the produced |
| 31 | code, which may cause integer overflow in certain edge cases. This restriction |
| 32 | should not cause a problem in the real world, as higher level protocol typically |
| 33 | have similar or tighter restrictions on the supported PDU size. |
Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 34 | |