Age | Commit message (Collapse) | Author |
|
|
|
The code generator would crash.
|
|
* bjorn/asn1/fix-integer-constraint/OTP-11504:
PER/UPER: Handle a range in the extension part of the constraint
|
|
Constraints such as:
INTEGER (1..10, ..., 11..20)
would fail to compile. Make sure it is properly ignored.
|
|
* bjorn/asn1/fix-union-bug/OTP-11411:
Fix complicated union of INTEGER constraints
|
|
A constraint that was an union of integer ranges:
Type ::= INTEGER (lb1..ub1 | ... | lbN..ubN)
would sometimes (depending on the values) not all always be properly
combined to a single effective range, but would become:
Type ::= INTEGER (lb2..ub2) (lb3..ub3)
If that type was used in a SEQUENCE:
S ::= SEQUENCE {
v Type
}
the constraint would be simplified, taking the intersection of the
ranges.
|
|
An extensible constraint which is a union of single values, such as:
INTEGER (1|17, ...)
would be incorrectly encoded.
|
|
Given:
Semi ::= INTEGER (Lb..MAX, ...)
where Lb is an arbitrary integer, attempting to encode an
integer less than Lb would cause the encoder to enter an
infinite loop.
|
|
A semi-constrained INTEGER with a non-zero lower bound would be
incorrectly decoded. This bug was introduced in R16.
|
|
Given the type:
S ::= IA5String (SIZE (5, ...))
attempting to encode (to PER/UPER) a string shorter than 5 characters
would fail. Similarly, attempting to decode such string in the BER
format would fail.
In the case of BER, we can do no range checks if the size constraint
is extensible.
|
|
* gustav/asn1/integer_single_value_predefined/OTP-10139:
In generation of encoding functions for enumeration types,
the values used for generating the range check in case of
a value range should be sorted and have duplicates removed.
Add sorting in constraint checking on single values.
Conflicts:
lib/asn1/test/testConstraints.erl
|
|
Fix a bug where a subtyped single value integer type where one or more values
were predefined would result in generated encoding code having faulty range
checks. See seq12102.
OTP-10139
|
|
Encoding and decoding of integer ranges can now be done
with an upper bound larger than the previous limit of 16^10.
The new upper bound in per encoding and decodings for constrained
whole numbers is 2^2040 (close to 16^508) which is the limit if
the length field encoding in the encoding of a constrained
whole number is limited to a single octet.
Related support seq: seq12060
|
|
|
|
added.
|