Age | Commit message (Collapse) | Author |
|
|
|
OTP-12740
|
|
|
|
The optimization introduced in 0a0d39d351fc would cause spurious
warnings of the type: "a term is constructed, but never used".
To avoid the warning, we must mark not only tuples and lists as
compiler_generated, but also each element. We must also propagate
compiler_generated annotations in lets. For example, if we have:
let <X -| ['compiler_generated']> = 42 in X + 1
we must propagate the compiler_generated annotation to the literal
when do constant propagation:
42 -| ['compiler_generated'] + 1
|
|
A fun could be given in the options that will be called whenever
the SSH_MSG_DEBUG message arrives. This enables the user to
format the printout or just discard it.
The default is changed to not print the message. In RFC4253
printing is a SHOULD, but our new default is to protect logs
from dos attacs.
|
|
e47490f83e561a changed the size of Info argument tuple (third argument)
for code:make_stub_module/3 from 2 to 3, but did not update the
spec in code.erl.
|
|
|
|
This reverts commit e09dd66dc4d89c62ddfd8c19791f9678d5d787c6.
|
|
If the driver queue is empty, or the user is requesting a 'read'
shutdown, then the shutdown() syscall is performed synchronously, as
per the old version of shutdown/2.
However, if the user is requesting a 'write' or 'read_write' shutdown,
and there is data in the driver queue for the socket, then the
shutdown() syscall is delayed and handled asynchronously when the
driver queue is written out.
This version of shutdown solves a number of issues with the old
version. The two main solutions it offers are:
* It doesn't block when the TCP peer is idle or slow. This is the
expected behaviour when shutdown() is called: the caller needs
to be able to continue reading from the socket, not be prevented
from doing so.
* It doesn't truncate the output. The current version of
gen_tcp:shutdown/2 will truncate any outbound data in the driver
queue after about 10 seconds if the TCP peer is idle of slow. Worse
yet, it doesn't even inform anyone that the data has been
truncated: 'ok' is returned to the caller; and a FIN rather than
an RST is sent to the TCP peer.
For a detailed description of all the problems with the old version
of shutdown, please see the EEP Light that was written to justify
this patch.
|
|
|
|
|
|
Dialyzer warned about the incorrect match of Packets. Code
was refactored and the problem avoided in the process.
Dialyzer warned that the empty tuple is not a function as the contract
said it should be. Changed the handling of the sni_fun default value to be
undefined and added it to the contract.
|
|
The newly added function sni_fun allows dynamic update of SSL options
like keys and certificates depending on different SNI hostname, rather
than a predefined rules of SSL options.
|
|
This commit adds tests for SNI server support in:
* ssl_sni_SUITE.erl
* ssl_to_openssl_SUITE.erl
And some more modifications:
* make_certs also makes two certs for SNI, and adds
extra options for SNI.
|
|
|
|
This commit adds a new function, ssl:connection_information/[1,2]
to retrive the connection information from a SSLSocket.
And also, this deprecates a function ssl:connection_info/1, and
reimplements connection_info/1 with the new function.
|
|
|
|
|
|
* jv/18/emulator-send-to-error_logger/OTP-12735:
erts: Fix erts_send_error_term_to_logger memory leak
Send format and args on process exit to error_logger
Add erts_send_error_term_to_logger
|
|
* peppe/webtool/update_vsn:
Update webtool version
|
|
The cerl_pmatch module performs pattern matching compilation at the
level of Core Erlang. Functions that were not needed by the HiPE
compiler were ifdef-ed out. However, these functions may come handy
to other users; in particular a new testing tool currently under
development needs access to these functions.
While at it, added specs for these exported functions and also
strengthened the spec of another one.
|
|
|
|
|
|
The test cases
id_string_no_opt_client
id_string_own_string_client
id_string_random_client
didn't work on MS Windows. This commit adds {packet,line} to get the
whole version exchange line in one packet on all architectures. It
also adds timeouts to speed up failures in those test cases.
|
|
* dgud/mnesia/dirty_error_reason/OTP-12714:
mnesia: dirty error messages did not behave as documented
|
|
When emulator is stopped all drivers are stopped but not unloaded
and since the clean wx thread stoppage code was in unload callback it
was not called and could cause crashes.
|
|
* ia/ssl/adapt-to-new-public_key-doc:
ssl: Align "=" sign in type declarations to decided policy
public_key: Align "=" sign in type declarations to decided policy
public_key, ssl: Align public_key and ssl doc
|
|
Option height was misspelled in the code. Fix code but recognize
the mispellt option for backwards compatible reasons.
|
|
This gives an error when building the docs.
|
|
|
|
* peppe/test_tools_vsn_and_deps:
Update version numbers and app dependencies
|
|
* peppe/ts/fix_benchmarks:
Fix problem with OTP benchmark tests failing to run
|
|
* peppe/test_server/fix_merge_problems:
Fix remaining issues in source code parser
|
|
that could cause VM crash on faulty input.
|
|
* kejv/export-digraph-label:
digraph: export label type
|
|
|
|
|
|
* hans/eldap/cuddle_doc:
eldap: Remove doc man.3 warning
|
|
* derek121/eunit-doc-additions:
Add mention of ?assertNotMatch and ?assertNotEqual
|
|
* vladdu/eunit_unicode_OTP11660:
OTP-11660: make eunit unicode safe
|
|
* zandra/mime-types-config/OTP-12731:
make it possible to use a file to configure mime types
|
|
|
|
* hans/eldap/cuddle_test_cases:
eldap: Test suite uppdated to new time handling
|
|
Make sure that links from ssl to public_key work.
OTP-12670 - Ignoring 1.2 extension in 1.0 or TLS-1.1
solved by 5edda23ee854038c9d4bcddd0d676ee0ffd20da5
is mentioned here to make the release scripts happy,
as the branch solving this accidently had a name ending 1267
instead of 12670
|
|
Previously, the emulator would generate a whole string
with values and call the error_logger passing "~s~n".
This commit changes it to a format string containing ~p
with the respective values as arguments.
|
|
* egil/fix-maps-copy-shallow:
erts: Make hashmap_get halfword safe
erts: Fix ETS db_has_variable check for large Maps
stdlib: Strengthen ETS Maps tests
erts: Fix copy shallow for large Maps
stdlib: Strengthen ETS Maps tests
erts: ETS ordered_set cannot use it's optimization with Maps
stdlib: Strengthen ETS Maps tests
stdlib: Refactor away ?line macro
|
|
* hans/ssh/check_kex_e_f_in_range/OTP-12649:
ssh: Check e and f parameters in kexdh
|
|
* aw/native-cpu_sup/OTP-12730:
erts: Fix configure.in
os_mon: rename send() to sendi() in cpu_sup.c
os_mon: cpu_sup should use native sysctl/libkvm calls on BSD
|
|
Prior to this commit, the `eldap` documentation for the timeouts of
`search/2` and `start_tls/3` referenced `erl_tar:open/2` instead of
`eldap:open/2`. The relative link was correct, only the link label
mistakenly pointed to `erl_tar`. This error was introduced in
e9a97c3cfd7615e3efd0cbf1632a78b868fda49c. This commit corrects that
mistake.
|
|
|