Age | Commit message (Collapse) | Author |
|
|
|
* maint-20:
Updated OTP version
Prepare release
Updated the engine load functionality
Clean up bag index tables
Conflicts:
OTP_VERSION
lib/crypto/c_src/crypto.c
lib/crypto/doc/src/notes.xml
lib/crypto/vsn.mk
lib/mnesia/doc/src/notes.xml
lib/mnesia/vsn.mk
otp_versions.table
|
|
* bjorn/compiler/fix-is_map_key-issues/OTP-15227:
map_SUITE: Test is_map_key/2 followed by a map update
beam_validator: Infer the type of the map argument for is_map_key/2
map_SUITE: Cover map_get optimizations in beam_dead
|
|
|
|
* lars/crypto/multiple-engine-load/OTP-15233:
Updated the engine load functionality
|
|
|
|
Make sure that beam_validator considers a call to is_map_key/2
followed by an update of the same map without an is_map/1 test
safe. (This situation will probably not be encountered when
using the compiler in OTP 21, but better safe than sorry.)
|
|
|
|
The conversion code for different representations of cipher suites
is long an repetitive. We want to hide it in a module that does not
have other functions that we like to look at.
|
|
When starting to implement DTLS, it was assumed that the APIs for TLS and
DTLS would differ more. This assumption turned out to be wrong.
|
|
- engine_load/3/4 can be called multiple times for same engine
if it allows it (eg doesn't contain global data)
- ensure_engine_loaded/2/3 is new functions that guarantees that the engine
is just loaded once by adding it to OpenSSL internal engine list and check that
before loading.
- ensure_engine_unloaded/1/2 is new functions that is used to unload engines loaded with
ensure_engine_loaded (remove it from OpenSSL internal engine list and then unload).
- new utility functions engine_by_id/1, engine_add/1, engine_remove/1,
engine_get_id/1 and engine_get_name/1
|
|
|
|
|
|
Modernized example
|
|
Index records for bag tables with ram_copies was not deleted
after "real" objects where deleted and thus a memory leak.
|
|
* hans/ssh/curve_element/OTP-15244:
ssh: Use the 'macs' tag in crypto:supports/0
ssh: Use the new crypto:supports/0 tag 'curves'
|
|
|
|
|
|
|
|
|
|
* hans/crypto/cuddle_tests:
crypto: Fail tests if crypto cannot start
|
|
|
|
OTP-15239
|
|
(cherry picked from commit 1b36c8ff81e896f9aa172603962f838d980668a0)
|
|
|
|
|
|
bjorng/bjorn/compiler/double-receives/ERL-703/OTP-15235
Fix compiler crash when compiling double receives
|
|
* maint-20:
inets: Remove 21 test case
Updated OTP version
Update release notes
Conflicts:
OTP_VERSION
lib/inets/doc/src/notes.xml
lib/inets/test/httpd_SUITE.erl
lib/inets/vsn.mk
otp_versions.table
|
|
A test case unrelated to the patch was accidentally added
when backporting the solution.
|
|
* ingela/inets/status-501/ERIERL-218/OTP-15215:
inets: Use status code 501 when no mod_* handles the request
|
|
Add logger:set_application_level/2
|
|
|
|
maint-20
* ingela/inets/maint-20/status-501/ERIERL-218/OTP-15215:
inets: Prepare for release
inets: Use status code 501 when no mod_* handles the request
# Conflicts:
# lib/inets/test/httpd_SUITE.erl
# lib/inets/vsn.mk
|
|
|
|
The compiler would crash when compiling a function with two
receive statements.
https://bugs.erlang.org/browse/ERL-703
|
|
Conflicts:
lib/inets/test/httpd_SUITE.erl
|
|
* ingela/ssl/ERL-668/improve-err-msg/OTP-15234:
ssl: Improve error message
|
|
* ingela/ssl/ERL-686/OTP-15224:
ssl: Error handling improvment
|
|
* siri/logger/single_line-unwanted-comma/OTP-15228:
[logger] Avoid unwanted commas introduced by formatter's single_line option
|
|
|
|
* upstream/pr/1858:
Fix delete_object and write convergence in transaction.
OTP-15231
|
|
* upstream/pr/1860:
Replace for loop with strchr
Fix typos
Clean unused wxe_driver callbacks
Remove wx c_src compilation warning on Darwin
OTP-15230
|
|
When printing a map with ~p in a log message, the formatter's
single_line option in some cases introduced unwanted commas after
'=>', for example:
This is now corrected. When single_line==true, width 0 is added to all
~p and ~P control sequences in the format string.
|
|
|
|
|
|
|
|
Correct error behavior of is_map_key/2 in guards
|
|
* hans/crypto/rsa_opts/ERL-675/PR1899/OTP-15212:
crypto: Added tests for rsa opts from PR838
Fixes ERL-675
|
|
Just testing to use rsa_pkcs1_oaep_padding, rsa_x931_padding and rsa_sslv23_padding to see that it does not core dum
|
|
Consider the following functions:
foo() -> bar(not_a_map).
bar(M) when not is_map_key(a, M) -> ok;
bar(_) -> error.
What will `foo/0` return? It depends. If the module is compiled
with the default compiler options, the return value will be
`ok`. If the module is compiled with the `inline` option,
the return value will be `error`.
The correct value is `error`, because the call to `is_map_key/2`
when the second argument is not a map should fail the entire
guard. That is the way other failing guards BIFs are handled.
For example:
foo() -> bar(not_a_tuple).
bar(T) when not element(1, T) -> ok;
bar(_) -> error.
`foo/0` always returns `error` (whether the code is inlined
or not).
This bug can be fixed by changing the classification of `is_map_key/2`
in the `erl_internal` module. It is now classified as a type test,
which is incorrect because type tests should not fail. Reclassifying
it as a plain guard BIF corrects the bug.
This correction also fixes the internal consistency check
failure which was reported in:
https://bugs.erlang.org/browse/ERL-699
|