aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-02-06Teach the ASN.1 compiler the 'maps' optionBjörn Gustavsson
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.
2017-02-03Refactor decoding as a preparation for handling mapsBjörn Gustavsson
2017-02-03Refactor encoding of optional valuesBjörn Gustavsson
As a preparation for supporting maps in a future commit, refactor the functions for encoding optional values.
2017-02-03Clean up filtering of optionsBjörn Gustavsson
2017-02-03Refactor code generation optionsBjörn Gustavsson
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.
2017-02-03Simplify gen_enc_components_call() and friendsBjörn Gustavsson
2017-02-03asn1ct_check: Number the components in INSTANCE OFBjörn Gustavsson
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.
2017-02-03Refactor gen_encode_constructed_imm/3Björn Gustavsson
Introduce helper functions to simplify and reduce the size of gen_encode_constructed_imm/3.
2017-02-03Clean up handling of textual orderBjörn Gustavsson
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.
2017-02-03Break apart function with 6 argumentsBjörn Gustavsson
As a preparation for future changes, simplify gen_dec_constructed_imm_2/6 by breaking it apart to two functions.
2017-02-03Add additional tests of Extension Addition GroupsBjörn Gustavsson
2017-02-03Refactor h323test.erl to simplify debuggingBjörn Gustavsson
2017-02-03testMultipleLevels: Use asn1_test_lib:roundtrip()Björn Gustavsson
2017-02-03Correct spelling of NBAP-PDU-DescriptionsBjörn Gustavsson
2017-02-03Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Fix a Dialyzer warning
2017-02-03Merge branch 'hasse/dialyzer/fix_a_warning' into maintHans Bolinder
* hasse/dialyzer/fix_a_warning: dialyzer: Fix a Dialyzer warning
2017-02-03dialyzer: Fix a Dialyzer warningHans Bolinder
2017-02-03Merge branch 'maint'Björn-Egil Dahlberg
2017-02-03Fix merge commitBjörn-Egil Dahlberg
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
2017-02-03erge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION
2017-02-03Merge branch 'maint' of github.com:erlang/otp into maintHans Nilsson
2017-02-03Merge branch 'maint-18' into maintHans Nilsson
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
2017-02-03Merge branch 'maint'Björn-Egil Dahlberg
2017-02-03Merge branch 'egil/erts/dont-check-autoconf-version/OTP-14187' into maintBjörn-Egil Dahlberg
* egil/erts/dont-check-autoconf-version/OTP-14187: erts: Don't check autoconf version
2017-02-03Merge pull request #1325 from kimshrier/statem_design_principles_typosRaimo Niskanen
Fix a few gen_statem behaviour documentation typos
2017-02-03Merge branch 'maint'Hans Bolinder
* 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
2017-02-03Merge branch 'hasse/dialyzer/memory_opt/OTP-14126' into maintHans Bolinder
* 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
2017-02-02Merge branch 'hans/ssh/default_algo_list/OTP-14110'Hans Nilsson
2017-02-02Merge branch 'maint'Hans Nilsson
2017-02-02Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
2017-02-02Merge branch 'maint'Ingela Anderton Andin
2017-02-02Merge branch 'ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174' into maintIngela Anderton Andin
* ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174: inets: httpd - shutdown gracefully on connection or TLS handshake errors
2017-02-02erts: Don't check autoconf versionBjörn-Egil Dahlberg
2017-02-02Merge branch 'maint'Ingela Anderton Andin
2017-02-02Merge branch 'ingela/ssl/config-propagation' into maintIngela Anderton Andin
* ingela/ssl/config-propagation: ssl: Simplify configuration code ssl: Make sure PEM cache works as intended
2017-02-02Merge branch 'egil/remove-warnings/OTP-14180'Björn-Egil Dahlberg
* egil/remove-warnings/OTP-14180: erts: Remove unnecessary warnings
2017-02-01fix a few statem typosKim Shrier
2017-02-01Updated OTP versionOTP-18.3.4.5Erlang/OTP
2017-02-01Prepare releaseErlang/OTP
2017-02-01Merge branch 'hans/ssh/dh_group_exc_optimize/OTP-14169' into maint-18Erlang/OTP
* 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
2017-02-01Merge branch 'hans/ssh/kex_gex_min_max/OTP-14166' into maint-18Erlang/OTP
* hans/ssh/kex_gex_min_max/OTP-14166: ssh: correct host key signature calculation
2017-02-01Merge branch 'ingela/inets/httpd-gracefull-shutdown/OTP-14173' into maint-18Erlang/OTP
* ingela/inets/httpd-gracefull-shutdown/OTP-14173: inets: Prepare for release inets: httpd - shutdown gracefully on connection or TLS handshake errors
2017-02-01Merge branch 'sverker/bin2term-zlib-bug/ERL-340/OTP-14159' into maint-18Erlang/OTP
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159: erts: Fix binary_to_term for compressed and zlib >= v1.2.9
2017-02-01Merge branch 'egil/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425' into ↵Erlang/OTP
maint-18 * egil/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425: erts: Fix install of suspend handler
2017-02-01Merge branch 'rickard/thr-prgr-unmanaged-delay-bug/OTP-13869' into maint-18Erlang/OTP
* rickard/thr-prgr-unmanaged-delay-bug/OTP-13869: Fix erts_thr_progress_unmanaged_delay()
2017-02-01Merge branch 'rickard/drv-send-term-thr-bug/OTP-13866' into maint-18Erlang/OTP
* rickard/drv-send-term-thr-bug/OTP-13866: Fix thread calls to erl_drv_send_term()/erl_drv_output_term()
2017-02-01Merge branch 'maint'Sverker Eriksson
2017-02-01Merge branch 'sverker/bin2term-zlib-bug/ERL-340/OTP-14159' into maintSverker Eriksson
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159: erts: Fix binary_to_term for compressed and zlib >= v1.2.9
2017-02-01ssh: Enable usage of supported but not default host key algorithmsHans Nilsson
2017-02-01ssh: minor code unfoldingHans Nilsson