diff options
author | Gustav Simonsson <gustav@erlang.org> | 2012-06-28 14:46:06 +0200 |
---|---|---|
committer | Gustav Simonsson <gustav@erlang.org> | 2012-06-28 14:54:51 +0200 |
commit | 5fdcb7a097a3956ebf52c24721c91f60aeb96aa1 (patch) | |
tree | ba880be14ee3615ee3b88930a1ffdeb39d8e0b97 /lib/asn1/test/asn1_SUITE_data | |
parent | 67d2e30e77db74d0852421c21362d1a9374780e1 (diff) | |
download | otp-5fdcb7a097a3956ebf52c24721c91f60aeb96aa1.tar.gz otp-5fdcb7a097a3956ebf52c24721c91f60aeb96aa1.tar.bz2 otp-5fdcb7a097a3956ebf52c24721c91f60aeb96aa1.zip |
Add support for larger integer ranges in per encode/decode
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
Diffstat (limited to 'lib/asn1/test/asn1_SUITE_data')
-rw-r--r-- | lib/asn1/test/asn1_SUITE_data/Constraints.py | 3 | ||||
-rw-r--r-- | lib/asn1/test/asn1_SUITE_data/LargeConstraints.py | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/Constraints.py b/lib/asn1/test/asn1_SUITE_data/Constraints.py index de48c4c2ca..dc65e7009a 100644 --- a/lib/asn1/test/asn1_SUITE_data/Constraints.py +++ b/lib/asn1/test/asn1_SUITE_data/Constraints.py @@ -7,6 +7,9 @@ SingleValue2 ::= INTEGER (1..20) Range2to19 ::= INTEGER (1<..<20) Range10to20 ::= INTEGER (10..20) ContainedSubtype ::= INTEGER (INCLUDES Range10to20) +-- Some ranges for additional constrained number testing. +LongLong ::= INTEGER (0..18446744073709551615) +Range256to65536 ::= INTEGER (256..65536) FixedSize ::= OCTET STRING (SIZE(10)) FixedSize2 ::= OCTET STRING (SIZE(10|20)) VariableSize ::= OCTET STRING (SIZE(1..10)) diff --git a/lib/asn1/test/asn1_SUITE_data/LargeConstraints.py b/lib/asn1/test/asn1_SUITE_data/LargeConstraints.py new file mode 100644 index 0000000000..68c7616b62 --- /dev/null +++ b/lib/asn1/test/asn1_SUITE_data/LargeConstraints.py @@ -0,0 +1,9 @@ +LargeConstraints DEFINITIONS ::= +BEGIN + +-- Maximum number that can be encoded as a constrained whole number: 1 bsl (255*8) +-- The number of octets needed to represent a number cannot be more than 255 +-- As the length field is encoded as a 8-bit bitfield. +RangeMax ::= INTEGER (1..126238304966058622268417487065116999845484776053576109500509161826268184136202698801551568013761380717534054534851164138648904527931605160527688095259563605939964364716019515983399209962459578542172100149937763938581219604072733422507180056009672540900709554109516816573779593326332288314873251559077853068444977864803391962580800682760017849589281937637993445539366428356761821065267423102149447628375691862210717202025241630303118559188678304314076943801692528246980959705901641444238894928620825482303431806955690226308773426829503900930529395181208739591967195841536053143145775307050594328881077553168201547776) + +END |