aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-03-10Make the scanned form of the io_lib format strings available for processingRichard Carlsson
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.
2015-03-09Merge branch 'maint'Zandra Hird
2015-03-09Merge branch 'mururu/fix-type' into maintZandra Hird
* mururu/fix-type: Fix typos in the public_key doc OTP-12549
2015-03-09Merge branch 'ia/ssl/crl-cache/OTP-10362'Ingela Anderton Andin
* ia/ssl/crl-cache/OTP-10362: ssl: fix white box tests ssl: Integrate public_key CRL verification with the ssl application
2015-03-09Merge branch 'maint'Erland Schönbeck
Conflicts: erts/test/otp_SUITE.erl
2015-03-09Merge branch 'seriyps/zlib-inflate-bound'Henrik Nord
* seriyps/zlib-inflate-bound: Add zlib limited output buffer size functionality Conflicts: erts/preloaded/ebin/zlib.beam OTP-12548
2015-03-09Merge branch 'erland/ssh/time/OTP-12444' into maintErland Schönbeck
* 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
2015-03-09ssl: fix white box testsIngela Anderton Andin
2015-03-09ssl: Integrate public_key CRL verification with the ssl applicationIngela Anderton Andin
2015-03-09Merge branch 'maint'Ingela Anderton Andin
2015-03-09Merge branch 'ia/public_key/crl/OTP-12547' into maintIngela Anderton Andin
* ia/public_key/crl/OTP-12547: public_key: Improve CRL handling support
2015-03-09public_key: Improve CRL handling supportIngela Anderton Andin
2015-03-09Update primary bootstrapBjörn Gustavsson
2015-03-09Merge branch 'bjorn/compiler/maps'Björn Gustavsson
* bjorn/compiler/maps: v3_codegen: Teach the put_map_* instructions to reuse source registers beam_validator: Tighten tests of maps v3_core: Eliminate the sloppiness-encouraging get_ianno/1 function v3_core: Add is_map tests before map instructions beam_type: Use the complete register map when calculating liveness Introduce '%live' annotations with a complete register map beam_validator: Teach bif_type/3 and is_bif_safe/2 about is_map/1 v3_core: Simplify conversion of map patterns
2015-03-09v3_codegen: Teach the put_map_* instructions to reuse source registersBjörn Gustavsson
The put_map_assoc and put_map_exact instructions in the run-time system will support that the target register is the same as one of the source registers. Teach the code generator to take advantage of that. The disadvantages of not reusing register when possible is that the garbage collector may retain dead terms longer than necessary.
2015-03-09beam_validator: Tighten tests of mapsBjörn Gustavsson
2015-03-09v3_core: Eliminate the sloppiness-encouraging get_ianno/1 functionBjörn Gustavsson
get_ianno/1 would retrieve either a bare annotation or an annotation wrapped in an #a{} record. In both cases, it would return a wrapped annotation. We can replace the calls to get_ianno/1 with calls to get_anno/1, because the argument is always an #iclause{} and all iclause records are always initialized with a wrapped annotation.
2015-03-09v3_core: Add is_map tests before map instructionsBjörn Gustavsson
If we have a sequence of put_map_* instructions operating on the same map, it will be more efficient if we can have one is_map/2 instruction before put_map_* instructions, so that each put_map_* does not need to test whether the argument is a map.
2015-03-09beam_type: Use the complete register map when calculating livenessBjörn Gustavsson
When calculating the number of live registers for allocation instruction, it is not always safe to start with the number of live registers at the start of the block. We will need to use the register map to know whether there are any holes (dead registers) that are not subsequently filled. If the allocation instruction already has a number of live registers calculated, there is nothing to be gained by raising it.
2015-03-09Introduce '%live' annotations with a complete register mapBjörn Gustavsson
As a preparation for fixing a bug, introduce a complete register map in the '%live' annotations.
2015-03-09Merge branch 'ia/ssl/soft-upgrade-test-server-bug-workaround'Ingela Anderton Andin
* ia/ssl/soft-upgrade-test-server-bug-workaround: ssl: Workaround test server halfwordemulator bug
2015-03-06Merge branch 'maint'Peter Andersson
2015-03-06Merge branch 'peppe/common_test/makefile_issue' into maintPeter Andersson
* peppe/common_test/makefile_issue: Have make ignore the chmod command line in the makefile if it fails OTP-12179
2015-03-06Merge branch 'maint'Peter Andersson
2015-03-06Merge branch 'peppe/common_test/ct_telnet_timeout_error' into maintPeter Andersson
* peppe/common_test/ct_telnet_timeout_error: Make sure total_timeout can get triggered before idle_timeout OTP-12335
2015-03-06Merge branch 'maint'Peter Andersson
2015-03-06Merge remote-tracking branch ↵Peter Andersson
'origin/peppe/common_test/inconsistent_return_value' into maint * origin/peppe/common_test/inconsistent_return_value: Add tests Make it possible to skip test case by returning skipped tag OTP-12359
2015-03-06Merge branch 'maint'Peter Andersson
2015-03-06Merge remote-tracking branch 'origin/peppe/common_test/on_tc_fail_log' into ↵Peter Andersson
maint * origin/peppe/common_test/on_tc_fail_log: Modify some tests to verify that new functionality works Make it possible to print in the test case log from on_tc_* hook funcs OTP-12468
2015-03-06Merge branch 'maint'Zandra Hird
2015-03-06Merge branch 'leoliu/master' into maintZandra Hird
* leoliu/master: Two minor fixes OTP-12545
2015-03-06ssl: Workaround test server halfwordemulator bugIngela Anderton Andin
As the halfwordemulator is deprecated just skip the test case during the circumstances that provokes the bug.
2015-03-05Update misleading comment in ssh_basic_SUITEErland Schönbeck
2015-03-05Merge branch 'maint'Anders Svensson
2015-03-05Merge branch 'anders/diameter/grouped_decode/OTP-12475' into maintAnders Svensson
* anders/diameter/grouped_decode/OTP-12475: Allow encode of decoded diameter_avp list Add testcases for diameter_avp decode Fix handling of length errors on Grouped AVPs Don't discard component diameter_avp list on Grouped AVP decode error Fix process dictionary manipulation during message decode
2015-03-05Merge branch 'maint'Björn-Egil Dahlberg
2015-03-05Merge branch 'egil/fix-break-printout/OTP-12537' into maintBjörn-Egil Dahlberg
* egil/fix-break-printout/OTP-12537: erts: Fix erroneous printout in crashdump
2015-03-05Merge branch 'maint'Björn-Egil Dahlberg
2015-03-05Merge branch 'egil/fix-ts_make-unicode/OTP-12536' into maintBjörn-Egil Dahlberg
* egil/fix-ts_make-unicode/OTP-12536: test_server: Let ts_make have a latin1 fallback
2015-03-05Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/ssl_cipher.erl lib/ssl/test/ssl_basic_SUITE.erl
2015-03-05Merge branch 'ia/ssl/TLS_FALLBACK_SCSV/OTP-12458' into maintIngela Anderton Andin
* ia/ssl/TLS_FALLBACK_SCSV/OTP-12458: ssl: Implement support for TLS_FALLBACK_SCSV
2015-03-05Merge branch 'maint'Anders Svensson
2015-03-05Merge branch 'anders/diameter/17/time/OTP-12439' into maintAnders Svensson
* anders/diameter/17/time/OTP-12439: Ignore undefined calls to OTP 18 time api in app suite
2015-03-05Merge branch 'anders/diameter/time/OTP-12439' into maintAnders Svensson
* anders/diameter/time/OTP-12439: Use new time api in test suites Use new time api in implementation
2015-03-05Merge branch 'anders/diameter/pool/OTP-12428' into maintAnders Svensson
* anders/diameter/pool/OTP-12428: Fix SCTP match blunder in suites Be backwards compatible with diameter_sctp listener state Add gen_tcp testcase that fails sporadically Simplify transport suite Remove (ancient) dead code Don't orphan slave nodes in example suite Refresh example code Improve language consistency in diameter(1) Add pool suite to test transport_opt() pool_size Adapt tcp/sctp transport modules for pool_size > 1 Add transport_opt() pool_size
2015-03-05Merge branch 'maint'Anders Svensson
2015-03-05Merge branch 'anders/diameter/shutdown/OTP-12412' into maintAnders Svensson
* anders/diameter/shutdown/OTP-12412: Increase service shutdown timeout Set shutdown = infinity for supervisor children Monitor more efficiently at shutdown
2015-03-05Merge branch 'anders/diameter/retransmission/OTP-12415' into maintAnders Svensson
* anders/diameter/retransmission/OTP-12415: Fix retransmission of messages sent as header/avps list
2015-03-05Merge branch 'anders/diameter/answer_discard/OTP-11492' into maintAnders Svensson
* anders/diameter/answer_discard/OTP-11492: Fix error matching in traffic suite Don't discard outgoing answers with Result-Code/E-bit errors
2015-03-04Allow encode of decoded diameter_avp listAnders Svensson
The decode of an incoming request in a non-relay application results in a deep list of diameter_avp records. Encoding such a list resulted in a function_clause error in diameter_codec:pack_avp/1, which expected a flat list. The list is only flat in the relay case, or in the absence of AVPs of type Grouped. This is also related to code that exists but isn't documented. It's documented that a diameter_app(3) handle_request callback can return {relay, Opts} to relay a request received in the relay application. What's not documented is that it can also return {proxy|resend, Opts} in a non-relay application, but this leads to encode failure when there are Grouped AVPs. This shouldn't be interpreted as meaning that proxy|resend are now supported: they aren't. The two extra terms are a historical relic that should probably be removed. Neither are generally usable since, for example, a proxy agent may want to modify a request before resending it. A specific handle_request return is not needed to implement a proxy agent. Even {relay, Opts} isn't strictly necessary.