Age | Commit message (Collapse) | Author |
|
This commit adds support for RFC7301, application-layer protocol
negotiation. ALPN is the standard based approach to the NPN
extension, and is required for HTTP/2.
ALPN lives side by side with NPN and provides an equivalent
feature but in this case it is the server that decides what
protocol to use, not the client.
When both ALPN and NPN are sent by a client, and the server is
configured with both ALPN and NPN options, ALPN will always
take precedence. This behavior can also be found in the OpenSSL
implementation of ALPN.
ALPN and NPN share the ssl:negotiated_protocol/1 function for
retrieving the negotiated protocol. The previously existing
function ssl:negotiated_next_protocol/1 still exists, but has
been deprecated and removed from the documentation.
The tests against OpenSSL require OpenSSL version 1.0.2+.
|
|
* essen/zlib-windowbits:
Update zlib:zwindowbits/0 type to accept 8 and -8
OTP-12564
|
|
* nox/ets-update_counter-4:
Create new BIF ets:update_counter/4
Allow 4-ary BIFs
OTP-12563
|
|
* bjorn/compiler/optimizations:
v3_life: Combine literal/2 and literal2/2
v3_codegen: Don't save options in the process dictionary
Don't inline core_parse
v3_core: Teach pat_alias/2 to eliminate duplicated variables
beam_dead: Improve optimization by eliminating fallthroughs
beam_dead: Optimize Var =:= Var
beam_peep: Optimize away redundant use of is_boolean tests
beam_bool: Correct initialized_regs/2
sys_core_fold: Generalize case optimization
sys_core_fold: Improve optimization of 'not'
sys_core_fold: Suppress compiler warnings when evaluating element/2
Clean up evaluation of setelement/3
Replace '==' with '=:=' when both operands are integers
Update type information based on BIFs that returns integers
sys_core_fold: Strengthen type optimization in lets
|
|
|
|
* ia/public_key/crls_dialyzer:
public_key: dialyzer fixes
|
|
|
|
|
|
|
|
|
|
* ia/ssl/crls-dialyzer:
ssl: Dialyzer fixes
|
|
|
|
* raimo/infinite-loop-gethostbyname/OTP-12133:
Restore lookup order after test
|
|
|
|
* nox/maps-match_specs-fixes/OTP-12270:
erts: Strengthen maps match spec compilation tests
Properly collect variables in match specs with maps
Fix compilation of match specs with maps
|
|
Substitute references to edoc_lib:get_doc_env/3 for references to
edoc_lib:get_doc_env/4.
|
|
|
|
* shijiang1130/master:
Add client example for using the SSH module
OTP-12558
|
|
* maint:
asn1ct_gen: Correct generation of .hrl files for multiple ellipses
Fix BER code generation
|
|
* egil/revert-os_getenv-test_server:
Revert "Start using os:getenv/2 fun" in test_server
|
|
Conflicts:
erts/emulator/beam/bif.tab
lib/stdlib/src/ets.erl
|
|
* bjorn/asn1/double-ellipses/OTP-12546:
asn1ct_gen: Correct generation of .hrl files for multiple ellipses
Fix BER code generation
|
|
|
|
* dgud/kernel/unicode_file_read/OTP-12144:
kernel: Add test for unicode mode in file
kernel: Fix file:read_line/1 unicode error handling
|
|
* dgud/observer/misc-fixes:
observer: Fix external monitors to registered processes in cdv
observer: Cleanup io server parts
observer: Fix range test
|
|
* dgud/observer/crashdump-run-queue/OTP/12401:
observer: Add scheduler run queue to cdv
|
|
* maint:
mnesia: Flush late messages
Add Debug info
mnesia: better debug info when tests fail
mnesia: Ensure tables are loaded before testing them
|
|
* dgud/testcasecuddle:
mnesia: Flush late messages
Add Debug info
mnesia: better debug info when tests fail
mnesia: Ensure tables are loaded before testing them
|
|
|
|
For unclear reasons, there are two functions in v3_life that are
almost identical: literal/2 and literal2/2. literal/2 is used
for expressions and literal2/2 for patterns.
It turns out that literal2/2 can do everything that literal/2 can
do, except that it transforms maps differently.
If we adjust v3_codegen to accept the same format of maps in
expressions and patterns, we can rename literal2/2 to literal/2
and use it for expressions and patterns.
|
|
* hb/pr/357:
Make the scanned form of the io_lib format strings available for processing
|
|
* hb/dialyzer/fix_from_form/OTP-12350:
[dialyzer] Correct handling of limited opaque types
[dialyzer] Add testcases
[dialyzer] Limit depth and size of types from forms
[dialyzer] Fix the conversion of forms to types
|
|
|
|
When a file was opened with some unicode encoding, file:read_line/1
could return unicode codepoints > 255 in list mode and wrong error
message in bin mode.
Chose to break out 'get_line' functionality from get_chars/5 since
'get_until' handling is different (comes from io module which should
return unicode lists) and seems to have its own (doc?) problems.
|
|
|
|
* josevalim/jv-binary-ets:
Support binary standard input in ets:i/1
OTP-12550
|
|
|
|
The tests cannot be handled by earlier versions of Dialyzer.
|
|
|
|
In particular fix handling of records.
|
|
This adds three new functions to io_lib - scan_format/2, unscan_format/1,
and build_text/1 - which expose the parsed form of the format control
sequences to make it possible to easily modify or filter the input to
io_lib:format/2. This can e.g. be used in order to replace unbounded-size
control sequences like ~w or ~p with corresponding depth-limited ~W and ~P
before doing the actual formatting.
|
|
|
|
* mururu/fix-type:
Fix typos in the public_key doc
OTP-12549
|
|
* ia/ssl/crl-cache/OTP-10362:
ssl: fix white box tests
ssl: Integrate public_key CRL verification with the ssl application
|
|
Conflicts:
erts/test/otp_SUITE.erl
|
|
* seriyps/zlib-inflate-bound:
Add zlib limited output buffer size functionality
Conflicts:
erts/preloaded/ebin/zlib.beam
OTP-12548
|
|
* erland/ssh/time/OTP-12444:
Update misleading comment in ssh_basic_SUITE
Update new time API and be back-compatible in ssh
Use new time API and be back-compatible in ssh otp_SUITE: Ignore undefined functions in ssh
|
|
v3_codegen puts the compilation in the process dictionary, but
never uses them.
|
|
Inlining the core_parse module is slow (the inline pass alone
takes more than 6 seconds on my computer) and has no benefit.
|
|
|