Age | Commit message (Collapse) | Author |
|
* bjorn/compiler/beam_except:
beam_except: Eliminate unsafe function_clause translation
|
|
to increase the probablity of a nice badarg
from erlang:port_control.
|
|
Add ETS doc note about subtle iteration oddities
|
|
Add missing type {rsa_mgf1_md, sha2} to rsa_sign_verify_opt.
This commit fixes dialyzer warnings when crypto users configured
explicit MGF1 hash function for RSA PSS signatures.
Change-Id: Ie11b1c73fc0d111303e256a578a2fd7b0d09b18a
|
|
Change-Id: Icc6c1433dba8d35f81162ef8100292bf2ba53c71
|
|
We haven't seen any related bugs so far, but all instructions that
place a term in another ought to reject fragile inputs. It can't
hurt to check.
|
|
Our current type management (based on set_type_reg etc) is rather
error-prone, often requiring special cases on a per-instruction
basis. This commit replaces nearly all ad-hoc mechanisms with more
general abstractions:
* assign - Moves a term.
* create_term - Creates a new term.
* extract_term - Extracts a term from another, maintaining
fragility as required.
* update_type - Adds more type information about a register.
* type_test - Helper function for type tests that subtracts on
failure and meets on success.
|
|
The translation from `error(function_clause, Args)` to a jump
to the `func_info` label is not safe if there is a stack frame.
|
|
Implement Finished message on the server side.
Change-Id: Ie0d054ac80f7eb47797273e1878990335112e923
|
|
Two hash functions needed to create the CertificateVerify message.
One for creating the Transcript-Hash and another for the digital
signature. Transcript-Hash uses the HKDF hash of the
selected cipher suite, the digital signature uses the hash
defined by the selected signature scheme.
Change-Id: Ife68ec123682d9aaf42c6b46cc2608e1df8be8d6
|
|
Change-Id: Iaffe5d6e402448f1da5e37b0e55829fa72af310d
|
|
Change-Id: I6adacc846f938d1ca1eb1a798780cc804b501a71
|
|
Change-Id: I91c5866f1400c3ad9c7eab1292c3ceb32a482c70
|
|
Fix encoding of extensions in CertificateEntries.
Change-Id: I776a2210d2aa51cde3be5e0bc87d9beb8d63825c
|
|
Send empty EncryptedExtensions after ServerHello.
Update ssl logger.
Change-Id: Id57fdb52c360a1125ac1a735ee37c433bfb69a0a
|
|
Change-Id: Ia18cda4e2b43dc863a24ac4838718adc788b08b1
|
|
Fix key schedule and traffic key calculation.
Add test for the server side calculation of shared secrets and
traffic keys.
Change-Id: Ia955e5e8787f3851bdb3170723e6586bdf4548ca
|
|
Implement encoding/decoding of CertificateVerify.
Update property tests with CertificateVerify.
Refactor state handling function: 'do_negotiated'.
Change-Id: Ifa066076960120717ddb472dc45fcc7a16a517d0
|
|
Compilation of code similar the following would be very slow:
uts46_map(CP) when 0 =< CP, CP =< 44 -> '3';
uts46_map(CP) when 45 =< CP, CP =< 46 -> 'V';
uts46_map(CP) when 48 =< CP, CP =< 57 -> 'V';
%% More than 2500 similar lines follows.
.
.
.
The code is from from:
https://github.com/benoitc/erlang-idna/blob/3eb54ccbfa6fb917c0f4ca9197da337ad888ffe0/src/idna_mapping.erl#L6780
By using information about skippable blocks, the beam_ssa_dead
pass can be sped up to compile idna_mapping.erl about 10 times faster.
|
|
It is never possible to merge a block ending in a switch with the
next block, so it is not necessary to call `beam_ssa:successors/1` in
that case. Avoiding the call slightly improves compilation speeds
for switches with many branches.
|
|
To improve compilation times, beam_ssa_type keeps track of variables
that are only used once and don't keep types for those variables. As
currently implemented, it turns to be unsafe. Change it to only keep
track of variables that are only used in the terminator of the block
they are defined in.
https://bugs.erlang.org/browse/ERL-840
|
|
If compilation failed, the name of the current function *and*
all previously compiled functions would be printed because
phase/4 was not tail-recursive.
https://bugs.erlang.org/browse/ERL-840
|
|
* maint:
ssh: Internal refactor and ct:log -> ct:pal
ssh: Change unit in measurements
ssh: Invert ssh_bench
|
|
|
|
|
|
|
|
* maint:
crypto: Reorg
crypto: Misc fixes: double time, calibrate once
|
|
|
|
|
|
* maint:
Updated OTP version
Prepare release
Include erlang-logo128.png in release
Enable setting custom application icon for Mac OS X through environment variable
Update to icon with better resolution
|
|
* maint-21:
Updated OTP version
Prepare release
|
|
Mnesia should always use the local context if available
OTP-15550
|
|
Enable a way to change the application icon for Mac OS X in wx
|
|
|
|
* siri/cover/searchable-uncovered/OTP-15542:
[cover] Make uncovered lines searchable in html output
[cover] Right-align number of hits in html output
|
|
* john/compiler/trim-ignore-annos:
beam_trim: Ignore type annotations
|
|
* john/compiler/misc-validator-fixes/ERL-832:
Make the beam_validator smarter again, again
|
|
Reduce redundant moves and register shuffling
|
|
Introduce optimizations of tail building
|
|
* maint:
Pluggable distribution socket implementation for EI
|
|
* rickard/ei-ext-maint/OTP-15442:
Pluggable distribution socket implementation for EI
|
|
Could cause connection processes not terminate when they should
|
|
as it has been made more relevant with the introduction of
write_concurrency for ordered_set.
|
|
The fix in f9ea85611faca82c7494449ddb8bcb1ef1d194cb didn't consider
that the tested register could be aliased.
|
|
The type annotations inserted by beam_ssa_type and beam_ssa_bsm
would inadvertently disable stack trimming, as unknown instructions
are considered unsafe.
|
|
|
|
Clarify ETS docs about table iterations
|
|
|
|
Try to eliminate short blocks that starts with a phi node
and end in a return. For example:
Result = phi { Res1, 4 }, { literal true, 5 }
Ret = put_tuple literal ok, Result
ret Ret
The code in this block can be inserted at the end blocks 4 and
5. Thus, the following code can be inserted into block 4:
Ret:1 = put_tuple literal ok, Res1
ret Ret:1
And the following code into block 5:
Ret:2 = put_tuple literal ok, literal true
ret Ret:2
Which can be further simplified to:
ret literal {ok, true}
This transformation may lead to more code improvements, for example:
* Stack trimming
* Fewer test_heap instructions
* Smaller stack frames
|
|
|