aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2013-08-30PER, UPER: Optimize encoding using an intermediate formatBjörn Gustavsson
There are some minor incompatibilities for BIT STRING: {bit,Position} is now only only supported for a named BIT STRING type. Values longer than the maximum size for the BIT STRING type would be truncated silently - they now cause an exception.
2013-08-30Refactor decoding of components of SEQUENCE OF / SET OFBjörn Gustavsson
As a preparation for rewriting handling of table constraints, we must make sure that code for decoding a SEQUENCE OF / SET OF can be be contained in a single clause of a function; thus, we must not output the helper function for decoding of each component directly following the code that follows it. Use asn1ct_func:call_gen/3 to delay outputting the helper function.
2013-08-30PER,UPER: Get rid of unused 'telltype' argument in decoding functionsBjörn Gustavsson
2013-08-30Optimize the generated encode/2 functionBjörn Gustavsson
Use 'try' instead of 'catch', and don't match anything that cannot actually be returned from the generated encoding code.
2013-08-30UPER: Optimize complete/1Björn Gustavsson
2013-08-30Clean up checking of objectsBjörn Gustavsson
2013-08-30Improve tests of deep table constraintsBjörn Gustavsson
2013-08-30BER: Handle multiple optional SEQUENCE fields with table constraintsBjörn Gustavsson
2013-08-30Test OPTIONAL and DEFAULT for open typesBjörn Gustavsson
2013-08-30PER/UPER: Fix encoding of an object set with multiple inlined constructsBjörn Gustavsson
Also extend the test suite with more tests of inlined constructs in object sets.
2013-08-30Remove broken support for multiple UNIQUEBjörn Gustavsson
According to the ASN.1 standard, having multiple UNIQUE in class is allowed. For example: C ::= CLASS { &id1 INTEGER UNIQUE, &id2 INTEGER UNIQUE } In practice, no one uses multiple UNIQUE. The ASN.1 compiler will crash if a class with multiple UNIQUE is used, but the backends have half-hearted support for multiple UNIQUE in that they generate helper functions similar to: getenc_OBJECT_SET(id1, 42) -> fun enc_XXX/3; ... Since we have no plans to implement support for multiple UNIQUE (no one seems to have missed it), simplify the helper functions like this: getenc_OBJECT_SET(42) -> fun enc_XXX/3; ...
2013-08-30Extend the test for parameterized information objectsBjörn Gustavsson
2013-08-30asn1_SUITE: Remove off-topic (and slow) smp/1 test caseBjörn Gustavsson
The smp1/1 test case seems test how well the SMP emulator can parallelize tasks, not any functionality in the asn1 application that is not tested in other tests.
2013-08-30SeqOf: Add more tricky SEQUENCE OF testsBjörn Gustavsson
2013-08-30Clean up handling of extension addition groupsBjörn Gustavsson
Break out the code to a separate function to make it more readable. Also avoid hard-coding the name of the value to use as "Val1" as it may not be true in the future. Instead of using a list comprenhension like this: case [X || X <- [element(5, Val),element(6, Val)], X =/= asn1_NOVALUE] of [] -> ...; _ -> ... end use an orelse chain: case element(5, Val) =/= asn1_NOVALUE orelse element(5, Val) =/= asn1_NOVALUE of false -> ...; true -> ... end
2013-08-30Refactor encoding of REALBjörn Gustavsson
To facilitate optimizing PER encoding using an intermediate format, we must change asn1rtt_real_common:encode_real/1 so that it only returns the encoded binary.
2013-08-30Teach asn1ct_func to dynamically generate run-time functionsBjörn Gustavsson
2013-08-28asn1ct_constructed_per: Simplify gen_enc_line() and friendsBjörn Gustavsson
The first clause of gen_enc_line() allows us to pass in [] as the value for Element; if we modify the only caller that passes [] to pass an actual expression we can remove the first clause. Furthermore, since the Pos argument was only used by the first clause, we can remove the Pos argument. We can also remove the first clause in gen_enc_component_optional(), since the code in its body is exactly the same as in the following clause.
2013-08-28Remove code for handling an object/object set reference in SEQUENCEBjörn Gustavsson
An field in a class that references an object or object set is not allowed to be referenced directly from within a SEQUENCE.
2013-08-26Encode SEQUENCE OF / SET OF using a list comprehensionBjörn Gustavsson
Using a list comprehension will simplify both the code generator and the generated code. Also, if there is an ObjFun argument in the host function, the BEAM compiler will make sure it is only passed to the generated list comprehension function if it is actually used.
2013-08-26asn1ct_imm: Break out the rule for string alignmentBjörn Gustavsson
Break out the the rules for determining whether a string should be in aligned so that it can be reused for encoding.
2013-08-26Merge branch 'nox/match-context-return/OTP-11247' into maintFredrik Gustafsson
* nox/match-context-return/OTP-11247: Added primary bootstrap Forbid returning a match context in beam_validator
2013-08-26Merge branch 'sze/edlin_understand_keys/OTP-11251' into maintFredrik Gustafsson
* sze/edlin_understand_keys/OTP-11251: Added primary bootstrap erts: fixed documentation regarding tty and arrow keys make edlin understand a few important control keys
2013-08-26Merge branch 'alexrp/export_edge/OTP-11266' into maintFredrik Gustafsson
* alexrp/export_edge/OTP-11266: Export the edge/0 type from the digraph module
2013-08-23Merge branch 'epa/add_fd_usage_in_rb/OTP-11252' into maintFredrik Gustafsson
* epa/add_fd_usage_in_rb/OTP-11252: kernel: sasl: fixed rb.xml docs Add Fd usage in rb logging
2013-08-23Merge branch 'maint-r16' into maintFredrik Gustafsson
2013-08-23Merge branch 'maint-r15' into maint-r16Fredrik Gustafsson
Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/http_lib/http_transport.erl lib/inets/src/inets_app/inets.appup.src lib/inets/vsn.mk lib/ssl/doc/src/notes.xml lib/ssl/src/ssl.appup.src lib/ssl/src/ssl.erl lib/ssl/src/ssl_internal.hrl lib/ssl/src/tls_connection.erl lib/ssl/vsn.mk
2013-08-22Merge branch 'jw/fix-httpd-erl-script-nocache/OTP-11260' into maintFredrik Gustafsson
* jw/fix-httpd-erl-script-nocache/OTP-11260: inets: added simple testcase for option erl_script_nocache Fix httpd config option 'erl_script_nocache'
2013-08-21Correct the specifications of io_lib:fread/2,3Hans Bolinder
Thanks to Chris King and Kostis Sagonas for pinpointing the bug.
2013-08-21Update release notesErlang/OTP
2013-08-21Merge branch 'fredrik/inets/ssl/fixup_log_alert_option/OTP-11259' into maint-r15Erlang/OTP
* fredrik/inets/ssl/fixup_log_alert_option/OTP-11259: [inets, ssl]: make log_alert configurable as option in ssl, SSLLogLevel added as option to inets conf file
2013-08-21inets: added simple testcase for option erl_script_nocacheFredrik Gustafsson
2013-08-21Merge branch 'fh/start-all/OTP-11250' into maintFredrik Gustafsson
* fh/start-all/OTP-11250: kernel: fix documentation regarding ensure_all_started endtag Updated primary bootstrap Add application:ensure_all_started/1-2
2013-08-21[inets, ssl]: make log_alert configurable as option in ssl, SSLLogLevel ↵Fredrik Gustafsson
added as option to inets conf file
2013-08-21Merge branch 'hb/stdlib/dets_bugfix/OTP-11245' into maintHans Bolinder
* hb/stdlib/dets_bugfix/OTP-11245: Fix a Dets bug concerning traversal of tables
2013-08-21Merge branch 'fredrik/ssh/correct_doc_timeout/OTP-11249' into maintFredrik Gustafsson
* fredrik/ssh/correct_doc_timeout/OTP-11249: ssh: clarified timeout options
2013-08-21Merge branch 'hb/stdlib/erl_lint_fix/OTP-11256' into maintHans Bolinder
* hb/stdlib/erl_lint_fix/OTP-11256: Fix a bug in the linter regarding the 'fun M:F/A' construct
2013-08-21Merge branch 'lpg/openssh_zlib/OTP-11256' into maintFredrik Gustafsson
* lpg/openssh_zlib/OTP-11256: ssh: added basic connection testcase for openssh zlib Add openssh_zlib compression type to ssh_transport
2013-08-20ssh: added basic connection testcase for openssh zlibFredrik Gustafsson
2013-08-20Fix a bug in the linter regarding the 'fun M:F/A' constructHans Bolinder
If the fun M:F/A construct was used erroneously the linter could crash. Thanks to Mikhail Sobolev for reporting the bug.
2013-08-20kernel: fix documentation regarding ensure_all_started endtagFredrik Gustafsson
2013-08-20ssh: clarified timeout optionsFredrik Gustafsson
2013-08-19Merge branch 'bjorn/compiler/beam_bool-crash/OTP-11240' into maintBjörn Gustavsson
* bjorn/compiler/beam_bool-crash/OTP-11240: Fix compiler crash for 'B and B' guard
2013-08-19Merge branch 'fredrik/mnesia/fix_removing_bup/OTP-11241' into maintFredrik Gustafsson
* fredrik/mnesia/fix_removing_bup/OTP-11241: mnesia: fix removal of bup file if not mnesia is started
2013-08-19Fix a Dets bug concerning traversal of tablesHans Bolinder
The bug was introduced in R16B. Thanks to Manuel Durán Aguete.
2013-08-19Merge branch 'mh/line-initial-commas/OTP-11242' into maintFredrik Gustafsson
* mh/line-initial-commas/OTP-11242: Inside parentheses, line-initial commas align with the open parenthesis
2013-08-16mnesia: fix removal of bup file if not mnesia is startedFredrik Gustafsson
2013-08-15Fix compiler crash for 'B and B' guardBjörn Gustavsson
2013-08-14Merge branch 'sg/odbcserver_crash_fix/OTP-11233' into maintFredrik Gustafsson
* sg/odbcserver_crash_fix/OTP-11233: Added a few input checks which prevent odbcserver crash if it's executed and supplied incorrect data to stdin. A crash example:
2013-08-12Merge branch 'siri/runtime_tools/dbg-silent/otp-11222' into maintSiri Hansen
* siri/runtime_tools/dbg-silent/otp-11222: Allow 'silent' flag to be set with dbg:p/2