Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
In order to optimize the generated code, we will need data structures
that can be traversed in several passes before the actual code is
generated.
Refactor the code so that if first builds (essentially) a list of
funs that do the actual code generation, and a second function
that will call the funs one at the time.
|
|
|
|
Decoding of fragmented OCTET STRINGs was only implemented when the size
was constrained to a single value. While at it, support decoding
fragmented OCTET STRINGS in all circumstances.
|
|
Decoding of a fragmented OCTET STRING with the size constrained to a
single value is implemented, but encoding is not implemented, and
decoding is not tested in any test case.
There is no urgent need to support encoding of fragmented OCTET STRINGs,
but not being able to encode such values complicates testing of decoding.
For example, eif we add the following type to PrimStrings.asn1 in the test
suite:
FixedOs65536 ::= OCTET STRING (SIZE (65536))
then asn1ct:test('PrimStrings') will fail because this value cannot
be encoded.
|
|
A long term goal is to eleminate the asn1ct_gen_per_rt2ct module
in favor of the asn1ct_gen_per module, so will have
asn1ct_gen_per_rt2ct call asn1ct_gen_per.
|
|
It is error-prone to have several copies of the same function.
|
|
|
|
|
|
|
|
Reduce verbosity and introduce readability by introducing the roundtrip/2
function. That will help us to do future extensions to this test suite.
|
|
|
|
|
|
Don't waste time calling a trivial function in the run-time library
for encoding and decoding of NULL values.
|
|
Currently, the generated code suppresses warnings for unusued variables
by assigning to the "_Val" variable, for example:
_Val = Tmpval5
To be completely safe, that should have been:
_ = Tmpval5
in case there happens to more than one such assignment in the same
scope.
However, a better way to suppress warnings is to simply use the
'nowarn_unused_vars' compiler option. That method will also work
for more complicated expressions there it would be cumbersome to
suppress warnings by assignment to "_".
|
|
While at it, also make the generated code for the attributes
more readable.
|
|
The NIF library is now mandatory.
The call to application:get_env/2 to find out whether the NIF
library is loaded is surprisingly expensive.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It is time to clean up the mess of back-ends.
Remove all the obsolete back-ends and simplify the options used
to select them.
New Option Old Equivalent
---------- --------------
ber ber_bin,optimize,nif
per per,optimize,nif
uper uper_bin
The old options will still be recognized and translated to the
new options, but will also print a warning.
That implies that deprecated features that only are implemented
in the old 'ber' back-end will no longer work (e.g. the
{Typename,Value} notation).
Also make the return type for the generated encode/2 function
consistent. It used to be a binary for per and uper, and an iolist
for ber. Always make it a binary.
|
|
|
|
Of the back-ends that we are going to keep, only the UPER back-end
support the obsolete {Typename,Value} notation. For consistency
with the PER and BER encodings, remove the support for UPER
encoding too. Also remove vestiges of the support for the
notation in the other back-ends.
|
|
As a preparation for removing obsolete back-ends, remove tests
for the {TypeName,Value} notation to avoid having those test cases
fail.
|
|
The 'keyed_list' was only supported for the 'ber' and 'ber_bin'
backends and has been undocumented for a long time. Also remove
the note in the documentation about the feature.
|
|
* maint:
Skip ct_netconf tests if there is no crypto
Migrate timers from test_server to ct interface
Update tests to run with an oldshell emulator
Move crypto check so that tc is skipped and not failed
Update for new version of ppc compilation chain
Verify that ebin folder of applications exists
Conflicts:
lib/asn1/test/asn1_SUITE.erl
lib/kernel/test/interactive_shell_SUITE.erl
|
|
Use ct:timetrap/1 instead of test_server:timetrap/1 for really long
test_cases.
Commontest sets up a default timetrap on 30 min, which is not cancelled
if testserver:timetrap called.
|
|
|
|
The R15B02 release
|
|
|
|
Conflicts:
lib/diameter/autoconf/vxworks/sed.general
xcomp/README.md
|
|
|
|
|
|
* kenneth/asn1/dialyzer-warnings:
Remove Dialyzer warnings
|
|
* maint:
Document that CTHs can get fail/skip as Config
Ignore calls to dialyzer_timing when checking deprecated
Do not verify del_path as it is not always there
Fix broken links
Generate <a name="name"> tags in edoc xml headings
Fix compile warning
crypto: Fix buffer overflow bug in rsa_sign
crypto: Skip some tests if openssl lib < 0.9.8
Fix boken spec
|
|
* lukas/doc-fixes:
Document that CTHs can get fail/skip as Config
Ignore calls to dialyzer_timing when checking deprecated
Do not verify del_path as it is not always there
Fix broken links
Generate <a name="name"> tags in edoc xml headings
Fix compile warning
Fix boken spec
|
|
|
|
|
|
* hw/asn1rt_check-transform:
asn1rt_check: Fix transform_to_EXTERNAL1990 for binary input
OTP-10233
|
|
|
|
* upstream/maint:
ssl: Fixed compilation warnings
Corrected decoding to encorse a proper error return is there is tag mismatch
|
|
|
|
|
|
* gustav/asn1/enumerated_n2n/OTP-10144:
Add support for extensible enumeration types in n2n generated functions.
Make n2n option work for enumerated types without extension markers.
Add test enumeration types for testing n2n option when using the name2num
and num2name functions on an enumeration value not in the extension root
of an enumeration type with extension marker.
|
|
* 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
|