Age | Commit message (Collapse) | Author |
|
When the 'maps' option is given, the SEQUENCE and SET types are
represented as maps instead of as records. Optional and default values
must be not be given as asn1_NOVALUE or asn1_DEFAULT in a map passed
to the M:encode/2 function; they must be omitted from the
map. Similarly, when decoding missing values will be omitted from the
map.
No .hrl files will be generated when the 'maps' options is used.
That means values in an ASN.1 module must be retrieved by calling the
appropriate function in generated module.
Since we one day hope to get rid of the options 'compact_bit_string',
'legacy_bit_string', and 'legacy_erlang_types', we will not allow them
to be combined with the 'maps' option.
|
|
|
|
As a preparation for supporting maps in a future commit, refactor
the functions for encoding optional values.
|
|
|
|
Most options to the code generation pass are passed through the
process dictionary. At the same time, an Erule or Erules argument
is passed to most code generation functions. The Erule argument
is only an atom indicating the encoding rules ('ber', 'per', or
'uper').
Introduce a new record #gen{} to contain code generation options
and parameters. Pass it as the Erule argument (renaming it to Gen
in functions that we will have to touch anyway). In this commit,
eliminate the use of the variable 'encoding_options' in the process
dictionary.
|
|
|
|
asn1ct_check numbers all components in SEQUENCEs and SETs, except
for the associated sequence for INSTANCE OF. Remove this exception
so that the code generation pass can depend on SEQUENCEs being
numbered.
|
|
Introduce helper functions to simplify and reduce the size of
gen_encode_constructed_imm/3.
|
|
The to_encoding_order/1 function can be eliminated if we
incorporate its functionality into textual_order/2.
textual_order/2 has a workaround for TermList being longer
than OrderList. Remove the workaround, because the code
being generated would certainly be wrong (better let the compiler
crash and receive a bug report if it happens). The workaround
was not necessary to successfully compile the entire Erlang/OTP
and to run the asn1 test suite.
|
|
As a preparation for future changes, simplify
gen_dec_constructed_imm_2/6 by breaking it apart to two
functions.
|
|
|
|
|
|
|
|
|
|
* maint:
dialyzer: Fix a Dialyzer warning
|
|
* hasse/dialyzer/fix_a_warning:
dialyzer: Fix a Dialyzer warning
|
|
|
|
|
|
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
|
|
Conflicts:
OTP_VERSION
|
|
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/sys/unix/erl_unix_sys.h
erts/emulator/sys/unix/sys.c
erts/vsn.mk
lib/crypto/c_src/crypto.c
lib/crypto/doc/src/notes.xml
lib/crypto/vsn.mk
lib/inets/doc/src/notes.xml
lib/inets/vsn.mk
lib/ssh/doc/src/notes.xml
lib/ssh/src/ssh.app.src
lib/ssh/src/ssh_connection_handler.erl
lib/ssh/vsn.mk
otp_versions.table
|
|
|
|
* egil/erts/dont-check-autoconf-version/OTP-14187:
erts: Don't check autoconf version
|
|
Fix a few gen_statem behaviour documentation typos
|
|
* maint:
dialyzer: Increase time limit for tests
dialyzer: Optimize typesig
dialyzer: Optimize evaluation of complex code
dialyzer: Optimize collection of variables
Conflicts:
lib/dialyzer/src/dialyzer_typesig.erl
|
|
* hasse/dialyzer/memory_opt/OTP-14126:
dialyzer: Increase time limit for tests
dialyzer: Optimize typesig
dialyzer: Optimize evaluation of complex code
dialyzer: Optimize collection of variables
|
|
|
|
|
|
|
|
|
|
* ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174:
inets: httpd - shutdown gracefully on connection or TLS handshake errors
|
|
|
|
|
|
* ingela/ssl/config-propagation:
ssl: Simplify configuration code
ssl: Make sure PEM cache works as intended
|
|
* egil/remove-warnings/OTP-14180:
erts: Remove unnecessary warnings
|
|
|
|
|
|
|
|
* hans/ssh/dh_group_exc_optimize/OTP-14169:
ssh: optimize kex dh_gex using new crypto functionality
crypto: Added optional length to paramlist in generate_key
ssh,crypto: prepare for release
# Conflicts:
# lib/ssh/src/ssh_transport.erl
|
|
* hans/ssh/kex_gex_min_max/OTP-14166:
ssh: correct host key signature calculation
|
|
* ingela/inets/httpd-gracefull-shutdown/OTP-14173:
inets: Prepare for release
inets: httpd - shutdown gracefully on connection or TLS handshake errors
|
|
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159:
erts: Fix binary_to_term for compressed and zlib >= v1.2.9
|
|
maint-18
* egil/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425:
erts: Fix install of suspend handler
|
|
* rickard/thr-prgr-unmanaged-delay-bug/OTP-13869:
Fix erts_thr_progress_unmanaged_delay()
|
|
* rickard/drv-send-term-thr-bug/OTP-13866:
Fix thread calls to erl_drv_send_term()/erl_drv_output_term()
|
|
|
|
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159:
erts: Fix binary_to_term for compressed and zlib >= v1.2.9
|
|
|
|
|