Age | Commit message (Collapse) | Author |
|
Also fix and document the broken +We option.
|
|
Add a note about the limitations of the asn1ct:test/1,2,3 and
asn1ct:value/2 functions.
|
|
* hans/ssh/pr715/OTP-12760:
Add tests for ssh rekeying
Fix protocol violations during rekeying
Fix rekeying according to RFC 4253
|
|
The optimization introduced in 0a0d39d351fc could cause spurious
warnings of the type: "a term is constructed, but never used".
That would happen for constructs in effect context.
To avoid those warnings, we will need to apply warning suppression
also in effect context.
|
|
|
|
|
|
|
|
* egil/fix-hipe_libs:
stdlib: Relax maps test suite for HiPE
|
|
* richcarl/ac_tab-concurrency:
Use read_concurrency for application environment
|
|
* egil/fix-compiler-beam_bsm/OTP-12758:
compiler: Add tests for beam_bsm get_map_elements
compiler: Teach beam_bsm get_map_elements instruction
|
|
We want to have the core applications of Erlang/OTP free from any
dialyzer warnings. Eliminate the warnings for unmatched returns
that were introduced in 7309ff4c3832.
|
|
Due to the relaxation of erl_anno:is_string/1, the test
false = erl_anno:is_anno([{location,1},{text,[a,b,c]}]),
is no longer valid.
|
|
The current implementations of inet:parse_ipv6_address/1 and
inet:parse_ipv6strict_address/1 permit address strings which have an
unlimited number of leading zeros. Addresses such as:
"0000000000000000000000000000000ffff::"
"::00000000000000000000000000000000000000000000000000000000"
"::0000000f435:1"
If we are using this facility to validate string representations of
IPv6 addresses, then we would end up validating addresses which are
non-conformant (with respect to RFC 4291 section 2.2) and potentially
dangerous.
This patch ensures that each segment of an IPv6 address has a maximum
of 4 hex digits.
|
|
* bjorn/stdlib/erl_lint:
Remove final (?) vestiges of support for parameterized modules
|
|
* richcarl/md5-fixes:
code: Correct type spec for code:make_stub_module/3
|
|
* bjorn/compiler/runtime-dependencies:
Don't make 'compiler' dependent on 'tools'
Update runtime depencies for the compiler application
|
|
* ia/ssl/SNI-cuddle:
ssl: Make test case timing independent
ssl: Use new API function connection_information in tests
ssl: Increase readability
ssl: Add cleanup to tests
|
|
* dgud/wx/raise-during-stop/OTP-12734:
wx: Fix raise during emulator stoppage
|
|
A lot of time spent on linting is due to eval_file_attribute/2
function that recursively traverses all the AST, annotating
the file name on the AST nodes. This traversal happens so
it is easier to add errors and warnings later on by simply
introspecting the node.
This patch changes eval_file_attribute/2 to only annotate
forms (i.e. attributes and functions) and rely on the #lint
record to keep the proper file information (which it already
did before this patch).
To summarize, both pre scan and pos scan will use the annotated
file attribute in forms, however form/2 already maintains the
proper file in #lint, which we pass around when retrieving the
location information.
After this patch, linting of a regular erlang module with 500LOC
became twice faster when measured with eprof.
|
|
* sverk/ets-tab2file-syn/OTP-12737:
stdlib: Add 'sync' option to ets:tab2file/3
|
|
Document that os:unsetenv/1 handles Unicode in the same way as os:getenv
and os:putenv.
|
|
Using Maps as type information container speedups files like cow_http_hd.erl
by ~500ms. Previously spent ~60% of the time in orddict:store/3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A sets implementation based on maps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Small speed increase for large files.
|
|
erl_anno:is_string/1 is frequently called from erl_lint
and thus affects compile time.
Using is_list/1 for is_string/1 is sufficient in this case.
|
|
In a5d724cf240a, a debug option for running eprof on a specific
compiler pass was added. That commit added a direct call to the eprof
module in the tools application, and therefore the test case
otp_SUITE:runtime_dependencies/1 would fail because xref would find a
call to the tools application, but tools is not listed as a runtime
dependency in compiler.app.
Since the 'eprof' option is only likely to be used by compiler
maintainers, we don't want a real dependency to the tools application.
Therefore, use c:appcall/4 to hide the call to the eprof module (and
to report the error nicely if the tools application is missing).
|
|
Parameterized modules were removed in cdf8060868575, but a few
vestiges still remained in erl_lint.
|
|
|
|
|
|
In RFC 4253, sections 7.1 & 9 describe rekeying with
special attention to the protocol messages that may be
received and may not be sent during rekeying.
This patch fixes a number of problems during rekeying
caused by data & requests received from the network, and/or data & requests sent by the user.
|
|
When in the connected state, an received KEXINIT
message MUST be responded to with KEXINIT. After that,
the client may continue with KEXDH_INIT (or similar).
See the first paragraph on RFC 4253 sec. 9.
|
|
|
|
Allows for 'creation of sub binary delayed' optimization if
map instructions are in a clause.
Reported-by: José Valim
|
|
|
|
|
|
Time measurement of ets-lookups, too fast for windows.
|
|
This reverts commit 4c4d7fa40e5fb59854724ce74b8aa3546525cb90.
This pr is causing some test failures that were missed at first.
|
|
|