Age | Commit message (Collapse) | Author |
|
ErrorInfo is documented to be:
{ErrorLine,Module,ErrorDescriptor}
but for some errors with line numbers it would look like:
{Module,ErrorDescriptor}
Ensure that all ErrorInfo tuples have three elements. Use 'none'
instead of a line number:
{none,Module,ErrorDescriptor}
There already are errors that return 'none' when no line number is
available, but that convention was not documented. Mention it in the
documentation.
Also make sure that the compiler will not print 'none' as a line
number in error messages (if the 'report_errors' option is given) as
that looks stupid. That is, when attempting to compile a non-existing
module, the error message should be:
non-existing.erl: no such file or directory
and not:
non-existing.erl:none: no such file or directory
|
|
* origin/peppe/common_test/cth_ctrl:
Find and fix minor bugs
Add test suite
Fix timing related problem
Fix problem with start order of hooks and stopping of ct_util_server
Introduce pre- and post-test i/o log
OTP-11272
|
|
OTP-11300
OTP-11262
* bjorn/asn1/optimize-per-encoding: (25 commits)
asn1ct_constucted_per: Directly call asn1ct_gen_per
Clean up handling of .asn1db files
PER, UPER: Fix encoding/decoding of open types greater than 16K
PER, UPER: Optimize table constraints
PER, UPER: Optimize encoding using an intermediate format
Refactor decoding of components of SEQUENCE OF / SET OF
PER,UPER: Get rid of unused 'telltype' argument in decoding functions
Optimize the generated encode/2 function
UPER: Optimize complete/1
Clean up checking of objects
Improve tests of deep table constraints
BER: Handle multiple optional SEQUENCE fields with table constraints
Test OPTIONAL and DEFAULT for open types
PER/UPER: Fix encoding of an object set with multiple inlined constructs
Remove broken support for multiple UNIQUE
Extend the test for parameterized information objects
asn1_SUITE: Remove off-topic (and slow) smp/1 test case
SeqOf: Add more tricky SEQUENCE OF tests
Clean up handling of extension addition groups
Refactor encoding of REAL
...
|
|
By Erik Stenman (happi) with corrections by me.
|
|
* weisslj/httpd_add_script_tests/OTP-11260:
Test nocache option of mod_cgi and mod_esi
|
|
* dotsimon/ei_decode_encode_SUITE_true/OTP-11289:
Fix location of true binary under Mac OSX
|
|
|
|
|
|
|
|
There is (differenct) code for reading .asn1db files both in
asn1ct and asn1_db. Consolidate the reading into one routine
in asn1db.
Another problem is that the encoding rule that the .asn1db
file was created for is not in the .asn1db, but only in the
generated Erlang module. It is much easier and safer to put
the encoding rule in the .asn1db file itself. We will also
put the version number of the asn1 application into the file,
to ensure that we don't use an old .asn1db file that could
potentially be incompatible.
|
|
|
|
The generated code for table constraints has several problems:
* For each object set, a function for getting an encoding or decoding
fun is generated, regardless of whether it is actually used. In many
specifications, the object set actually used is the union of several
other object sets. That means that the code can become a lot bulkier
than it would need to be.
* The funs are not necessary. The funs just add to the code bloat
and generate more unnecessary garbage at run-time. Also, one of
the arguments of the fun is the name of the field in the class which
is known at compile-time, and the fun for decoding has unused arguments.
How to fix the problems:
At each call site where an open type should be encoded/decoded, call a
specific generated function specialized for the actual object set and
the name of the field in the class. When generating the specialized
functions, make sure that we re-use a previously generated function if
possible.
|
|
* ia/inets/stronger-test-keys:
inets: Add stronger RSA test-keys
|
|
The ones provided will fail inets test cases as default ssl will
negotiate stronger cipher suites now that will fail the with the weak keys.
|
|
* ia/ssl/client-advertised-hashalgorithms:
ssl: Do not advertise support for algorithms not supported by crypto
|
|
* hb/parsetools/unicode_bugfix/OTP-11286:
Fix a Unicode filename bug affecting Leex and Yecc
|
|
|
|
* lukas/skip-extra-applications/OTP-11288:
Refactor and change EXTRA_APPLICATIONS to use ls
Add configure option --without-$app
|
|
|
|
This is used to skip the specified app when building and releasing
|
|
Tests that the nocache options work and can be used independently from
each other. This was broken before c8ef69c.
Conflicts:
lib/inets/test/httpd_basic_SUITE.erl
|
|
* dotsimon/pubkey_aes_cbc/OTP-11281:
Allow public_key:pem_entry_decode/2) to handle AES-128-CBC ciphered keys
|
|
A bug where Unicode filenames combined with Latin-1 encoding could
crash Yecc and Leex has been fixed.
|
|
|
|
|
|
|
|
|
|
* lukas/export-ei-ic-headers-libs/OTP-11284:
ei ic: install headers and libs into usr
|
|
* origin/peppe/common_test/test_server_h_problem:
Remove the obsolete test_server_h error handler
Tag sasl and error reports with suite, group, and function in log
Conflicts:
lib/common_test/src/cth_log_redirect.erl
OTP-11263
|
|
* origin/peppe/common_test/cth_log_error:
Fix error in builtin hook calling non-existing function
OTP-11238
|
|
* ia/public_key/PKCS-7-addition/OTP-10874:
public_key: Add support for "Simple Certificate Enrollment Protocol" to PKCS-7
|
|
We have no need to care about the value of this length indicator so
we do not need to match it or verify it, it is unnecessary work.
|
|
with proper defaults
Added ssl_ECC_SUITE
|
|
|
|
There are some minor incompatibilities for BIT STRING:
{bit,Position} is now only only supported for a named
BIT STRING type.
Values longer than the maximum size for the BIT STRING type
would be truncated silently - they now cause an exception.
|
|
As a preparation for rewriting handling of table constraints,
we must make sure that code for decoding a SEQUENCE OF / SET OF
can be be contained in a single clause of a function; thus, we
must not output the helper function for decoding of each component
directly following the code that follows it. Use asn1ct_func:call_gen/3
to delay outputting the helper function.
|
|
|
|
Use 'try' instead of 'catch', and don't match anything that
cannot actually be returned from the generated encoding code.
|
|
|
|
|
|
|
|
|
|
|
|
Also extend the test suite with more tests of inlined constructs
in object sets.
|
|
According to the ASN.1 standard, having multiple UNIQUE in class
is allowed. For example:
C ::= CLASS {
&id1 INTEGER UNIQUE,
&id2 INTEGER UNIQUE
}
In practice, no one uses multiple UNIQUE.
The ASN.1 compiler will crash if a class with multiple UNIQUE
is used, but the backends have half-hearted support for multiple
UNIQUE in that they generate helper functions similar to:
getenc_OBJECT_SET(id1, 42) ->
fun enc_XXX/3;
...
Since we have no plans to implement support for multiple UNIQUE
(no one seems to have missed it), simplify the helper functions
like this:
getenc_OBJECT_SET(42) ->
fun enc_XXX/3;
...
|
|
|
|
The smp1/1 test case seems test how well the SMP emulator can
parallelize tasks, not any functionality in the asn1 application
that is not tested in other tests.
|
|
|
|
Break out the code to a separate function to make it more readable.
Also avoid hard-coding the name of the value to use as "Val1" as
it may not be true in the future.
Instead of using a list comprenhension like this:
case [X || X <- [element(5, Val),element(6, Val)],
X =/= asn1_NOVALUE] of
[] -> ...;
_ -> ...
end
use an orelse chain:
case element(5, Val) =/= asn1_NOVALUE orelse
element(5, Val) =/= asn1_NOVALUE of
false -> ...;
true -> ...
end
|
|
To facilitate optimizing PER encoding using an intermediate
format, we must change asn1rtt_real_common:encode_real/1 so that
it only returns the encoded binary.
|