From e7cc9b2e81128632d3cd0a1d357527b7f5faa5f8 Mon Sep 17 00:00:00 2001 From: Fredrik Gustafsson Date: Mon, 4 Feb 2013 15:13:14 +0100 Subject: Revert "Prepare release" This reverts commit a0e362765d9d4afb0211f49eb787d2139b3eb7be. --- erts/doc/src/notes.xml | 207 -------------------------------------- erts/vsn.mk | 2 +- lib/common_test/doc/src/notes.xml | 116 --------------------- lib/common_test/vsn.mk | 2 +- 4 files changed, 2 insertions(+), 325 deletions(-) diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index de6696671b..e996d3e8e3 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -30,213 +30,6 @@

This document describes the changes made to the ERTS application.

-
Erts 5.10 - -
Fixed Bugs and Malfunctions - - -

- Set new peeled off SCTP socket to nonblocking socket - (Thanks to Jonas Falkevik)

-

- Own Id: OTP-10491

-
- -

- Fix various typos (thanks to Tuncer Ayaz)

-

- Own Id: OTP-10611

-
-
-
- - -
Improvements and New Features - - -

- A boolean socket option 'ipv6_v6only' for IPv6 sockets - has been added. The default value of the option is OS - dependent, so applications aiming to be portable should - consider using {ipv6_v6only,true} when creating an - inet6 listening/destination socket, and if - neccesary also create an inet socket on the same - port for IPv4 traffic. See the documentation.

-

- Own Id: OTP-8928 Aux Id: kunagi-193 [104]

-
- -

It is now allowed to define stubs for BIFs, to allow - type specs to be written for BIFs. For example, if there - is BIF called lists:member/2, a dummy definition - of lists:member/2 is now allowed.

-

- Own Id: OTP-9861

-
- -

- Code loading and upgrade are now done without blocking - the emulator in single threaded mode. This will improve - realtime characteristics when code is loaded/upgraded on - a running SMP system.

-

- Own Id: OTP-9974

-
- -

In the SMP emulator, turning on and off tracing will - no longer take down the system to single-scheduling.

-

- Own Id: OTP-10122

-
- -

- Tuple funs (deprecated in R15B) are no longer supported.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-10170

-
- -

Major port improvements. The most notable:

- New internal port table implementation allowing for - both parallel reads as well as writes. Especially read - operations have become really cheap. Dynamic - allocation of port structures. This allow for a much - larger maximum amount of ports allowed as a default. The - previous default of 1024 has been raised to 65536. - Maximum amount of ports can be set using the +Q command line flag of - erl(1). The - previously used environment variable ERL_MAX_PORTS - has been deprecated and scheduled for removal in - OTP-R17. Major rewrite of scheduling of port - tasks. Major benefits of the rewrite are reduced - contention on run queue locks, and reduced amount of - memory allocation operations needed. The rewrite was also - necessary in order to make it possible to schedule - signals from processes to ports. Improved - internal thread progress functionality for easy - management of unmanaged threads. This improvement was - necessary for the rewrite of the port task - scheduling. Rewrite of all process to port - signal implementations in order to make it possible to - schedule those operations. All port operations can now be - scheduled which allows for reduced lock contention on the - port lock as well as truly asynchronous communication - with ports. Optimized lookup of port handles - from drivers. Optimized driver lookup when - creating ports. Preemptable erlang:ports/0 - BIF. -

These changes imply changes of the characteristics of - the system. The most notable:

Order of - signal delivery. The previous implementation - of the VM has delivered signals from processes to ports - in a synchronous stricter fashion than required by the - language. As of ERTS version 5.10, signals are truly - asynchronously delivered. The order of signal delivery - still adheres to the requirements of the language, but - only to the requirements. That is, some signal sequences - that previously always were delivered in one specific - order may now from time to time be delivered in different - orders. This may cause Erlang programs that have made - false assumptions about signal delivery order to - fail even though they previously succeeded. For more - information about signal ordering guarantees, see the - chapter on communication in - the ERTS user's guide. The +n command line flag of - erl(1) can be - helpful when trying to find signaling order bugs in - Erlang code that have been exposed by these - changes. Latency of signals sent from - processes to ports. Signals from processes to - ports where previously always delivered immediately. This - kept latency for such communication to a minimum, but it - could cause lock contention which was very expensive for - the system as a whole. In order to keep this latency low - also in the future, most signals from processes to ports - are by default still delivered immediately as long as no - conflicts occur. Such conflicts include not being able to - acquire the port lock, but also include other conflicts. - When a conflict occur, the signal will be scheduled for - delivery at a later time. A scheduled signal delivery may - cause a higher latency for this specific communication, - but improves the overall performance of the system since - it reduce lock contention between schedulers. The default - behavior of only scheduling delivery of these signals on - conflict can be changed by passing the +spp command line flag - to erl(1). The - behavior can also be changed on port basis using the - parallelism - option of the open_port/2 - BIF. Execution time of the - erlang:ports/0 BIF. Since erlang:ports/0 now - can be preempted, the responsiveness of the system as a - whole has been improved. A call to erlang:ports/0 - may, however, take a much longer time to complete than - before. How much longer time heavily depends on the - system load. -

Potential incompatibilities:

- driver_send_term() has been deprecated and - has been scheduled for removal in OTP-R17. Replace usage - of driver_send_term() with usage of erl_drv_send_term(). - driver_output_term() has been deprecated and - has been scheduled for removal in OTP-R17. Replace usage - of driver_output_term() with usage of erl_drv_output_term(). - The new function erl_drv_busy_msgq_limits() - has been added in order to able to control management of - port queues. -

The driver API - version has been bumped to 2.1 from 2.0 due to - the above changes in the driver API.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-10336 Aux Id: kunagi-138 - [b5b97f67-fe34-46dc-93e6-a2931576db12]

-
- -

- Erlang specification 4.7.3 defines max tuple size to - 65535 elements It is now enforced to no more than - 16777215 elements (arity 24 bits)

-

- Previous edge cases (28 bits) were not validated and - could cause undefined behaviour.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-10633

-
- -

- The previous default of a maximum of 32768 simultaneous - processes has been raised to 262144. This value can be - changed using the the +P command line flag of - erl(1). Note that the - value passed now is considered as a hint, and that actual - value chosen in most cases will be a power of two.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-10647 Aux Id: OTP-10336

-
-
-
- -
-
Erts 5.9.3.1
Known Bugs and Problems diff --git a/erts/vsn.mk b/erts/vsn.mk index 90e67aa474..34410354bc 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -17,7 +17,7 @@ # %CopyrightEnd% # -VSN = 5.10 +VSN = 5.9.3.1 SYSTEM_VSN = R15B03 # Port number 4365 in 4.2 diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml index 0345fab8e8..8c3b13951d 100644 --- a/lib/common_test/doc/src/notes.xml +++ b/lib/common_test/doc/src/notes.xml @@ -32,122 +32,6 @@ notes.xml -
Common_Test 1.7 - -
Fixed Bugs and Malfunctions - - -

- Severe errors detected by test_server (e.g. if log - files directories cannot be created) will now be reported - to common_test and noted in the common_test - logs.

-

- Own Id: OTP-9769 Aux Id: kunagi-202 [113]

-
- -

- If a busy test case generated lots of error messages, - cth_log_redirect:post_end_per_testcase would crash with a - timeout while waiting for the error logger to finish - handling all error reports. The default timer was 5 - seconds. This has now been extended to 5 minutes.

-

- Own Id: OTP-10040 Aux Id: kunagi-173 [84]

-
- -

- Some bugfixes in ct_snmp:

-

- ct_snmp will now use the value of the - 'agent_vsns' config variable when setting the 'variables' - parameter to snmp application agent configuration. - Earlier this had to be done separately - i.e. the - supported versions had to be specified twice. - Snmp application failed to write notify.conf since - ct_snmp gave the notify type as a string instead of an - atom. This has been corrected.

-

- Own Id: OTP-10432

-
- -

- Some bugfixes in ct_snmp:

-

- Functions register_users/2, - register_agents/2 and register_usm_users/2, - and the corresponding unregister_*/1 functions - were not executable. These are corrected/rewritten. - Function update_usm_users/2 is - removed, and an unregister function is added instead. - Update can now be done with unregister_usm_users and then - register_usm_users. Functions - unregister_*/2 are added, so specific - users/agents/usm users can be unregistered. - Function unload_mibs/1 is added for - completeness. Overriding configuration - files did not work, since the files were written in - priv_dir instead of in the configuration dir - (priv_dir/conf). This has been corrected. - Arguments to register_usm_users/2 were faulty - documented. This has been corrected.

-

- Own Id: OTP-10434 Aux Id: kunagi-264 [175]

-
- -

- Faulty exported specs in common test has been corrected - to ct_netconfc:hook_options/0 and - inet:hostname/0

-

- Own Id: OTP-10601

-
- -

- The netconf client in common_test did not adjust the - window after receiving data. Due to this, the client - stopped receiving data after a while. This has been - corrected.

-

- Own Id: OTP-10646

-
-
-
- - -
Known Bugs and Problems - - -

- The earlier undocumented cross cover feature for - accumulating cover data over multiple tests has now been - fixed and documented.

-

- Own Id: OTP-9870 Aux Id: kunagi-206 [117]

-
- -

- CT drops error reason when groups/0 crashes.

-

- Own Id: OTP-10631 Aux Id: kunagi-345 [256]

-
- -

- Problem opening sftp connection with ct_ssh.

-

- Own Id: OTP-10632 Aux Id: kunagi-346 [257]

-
- -

- Event handler on a ct_master node causes hanging.

-

- Own Id: OTP-10634 Aux Id: kunagi-347 [258]

-
-
-
- -
-
Common_Test 1.6.3.1
Known Bugs and Problems diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk index c92fb2ca37..f9bb22867e 100644 --- a/lib/common_test/vsn.mk +++ b/lib/common_test/vsn.mk @@ -1 +1 @@ -COMMON_TEST_VSN = 1.7 +COMMON_TEST_VSN = 1.6.3 -- cgit v1.2.3 From 10c73156d654bc1ada7afbc3cd7f81b2091057f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Mon, 4 Feb 2013 12:10:50 +0100 Subject: asn1_SUITE: Mend broken test_modified_x420/1 The test_modified_x420/1 test case had several problems that prevented it to detect the bugs it was supposed to find: 1) There was a 'catch' at the top-level so that it could never fail. 2) There was a call to the now non-existing ssl_base64 module. 3) It did not test all options for the BER backend. While at it, also clean way the remaining ?line macros and some out-commented code. --- lib/asn1/test/asn1_SUITE.erl | 7 +++++-- lib/asn1/test/test_modified_x420.erl | 22 ++++++++-------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/lib/asn1/test/asn1_SUITE.erl b/lib/asn1/test/asn1_SUITE.erl index 9a6201455d..0654d1c918 100644 --- a/lib/asn1/test/asn1_SUITE.erl +++ b/lib/asn1/test/asn1_SUITE.erl @@ -1054,11 +1054,14 @@ testDoubleEllipses(Config, Rule, Opts) -> testDoubleEllipses:main(Rule). test_modified_x420(Config) -> + test(Config, fun test_modified_x420/3, + [ber,ber_bin,ber_bin_v2,{ber_bin_v2,[nif]}]). +test_modified_x420(Config, Rule, Opts) -> Files = [filename:join(modified_x420, F) || F <- ["PKCS7", "InformationFramework", "AuthenticationFramework"]], - asn1_test_lib:compile_all(Files, Config, [der]), - test_modified_x420:test_io(Config). + asn1_test_lib:compile_all(Files, Config, [Rule,der|Opts]), + test_modified_x420:test(Config). testX420() -> diff --git a/lib/asn1/test/test_modified_x420.erl b/lib/asn1/test/test_modified_x420.erl index 2e9dfeee87..ae9d1989fb 100644 --- a/lib/asn1/test/test_modified_x420.erl +++ b/lib/asn1/test/test_modified_x420.erl @@ -18,27 +18,21 @@ %% %% -module(test_modified_x420). - -%-compile(export_all). --export([test_io/1]). +-export([test/1]). -include_lib("test_server/include/test_server.hrl"). -test_io(Config) -> - io:format("~p~n~n", [catch test(Config)]). - test(Config) -> - ?line DataDir = ?config(data_dir,Config), -% ?line OutDir = ?config(priv_dir,Config), + DataDir = ?config(data_dir,Config), - ?line Der = read_pem(filename:join([DataDir,modified_x420,"p7_signed_data.pem"])), - ?line {ok, {_,_,SignedData}} = 'PKCS7':decode('ContentInfo', Der), - ?line {ok,_} = 'PKCS7':decode('SignedData', SignedData). + Der = read_pem(filename:join([DataDir,modified_x420,"p7_signed_data.pem"])), + {ok,{_,_,SignedData}} = asn1_wrapper:decode('PKCS7', 'ContentInfo', Der), + {ok,_} = asn1_wrapper:decode('PKCS7', 'SignedData', SignedData). read_pem(File) -> - ?line {ok, Bin} = file:read_file(File), - ?line ssl_base64:join_decode(lists:flatten(extract_base64(Bin))). - + {ok,Bin} = file:read_file(File), + Der = base64:mime_decode(lists:flatten(extract_base64(Bin))), + binary_to_list(Der). extract_base64(Binary) -> -- cgit v1.2.3 From 0fd671609f7b31a9313d1575434e7273f3f2cd09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Mon, 4 Feb 2013 11:06:43 +0100 Subject: asn1_erl_nif: Correct broken length encoding The ber_bin_v2 backend calls a NIF function to decode all tags and lengths. Even open types that should not be decoded will also be decoded, which makes it necessary to later re-encode the data using a NIF function. The NIF function incorrectly encoded lengths. --- lib/asn1/c_src/asn1_erl_nif.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/asn1/c_src/asn1_erl_nif.c b/lib/asn1/c_src/asn1_erl_nif.c index dbff14f9b3..26803a25a4 100644 --- a/lib/asn1/c_src/asn1_erl_nif.c +++ b/lib/asn1/c_src/asn1_erl_nif.c @@ -1134,8 +1134,8 @@ int ber_encode_length(size_t size, mem_chunk_t **curr, unsigned int *count) { (*curr)->curr -= 1; (*count)++; } else { - int chunks = size / 256 + 1; - if (ber_check_memory(curr, chunks + 1)) + int chunks = 0; + if (ber_check_memory(curr, 8)) return ASN1_ERROR; while (size > 0) @@ -1144,6 +1144,7 @@ int ber_encode_length(size_t size, mem_chunk_t **curr, unsigned int *count) { size >>= 8; (*curr)->curr -= 1; (*count)++; + chunks++; } *(*curr)->curr = chunks | 0x80; -- cgit v1.2.3 From 24522845d50866782a939f3c8fbafa99e70d9f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Wed, 6 Feb 2013 13:12:19 +0100 Subject: testX420: Pass Options to the ASN.1 compiler When the caller passed the 'der' option, it was ignored. --- lib/asn1/test/testX420.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/asn1/test/testX420.erl b/lib/asn1/test/testX420.erl index abdbbfe536..b222b15204 100644 --- a/lib/asn1/test/testX420.erl +++ b/lib/asn1/test/testX420.erl @@ -37,7 +37,7 @@ compile_loop(Erule, [Spec|Specs], Options, Config) when Erule == ber; Erule == ber_bin; Erule == ber_bin_v2; Erule == per -> CaseDir = ?config(case_dir, Config), asn1_test_lib:compile(filename:join([x420, Spec]), Config, - [Erule, {i, CaseDir}]), + [Erule, {i, CaseDir} | Options]), compile_loop(Erule, Specs, Options, Config); compile_loop(_Erule, _Specs, _Options, _Config) -> ok. -- cgit v1.2.3 From ce7542e6bc53d3d1ff34133cdf70a8db39e315b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Wed, 6 Feb 2013 13:13:40 +0100 Subject: Don't run testX420/1 on old slow Sparc systems One and a half hour is not enough for it to finish. --- lib/asn1/test/asn1_SUITE.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/asn1/test/asn1_SUITE.erl b/lib/asn1/test/asn1_SUITE.erl index 9a6201455d..d264cf24f5 100644 --- a/lib/asn1/test/asn1_SUITE.erl +++ b/lib/asn1/test/asn1_SUITE.erl @@ -1064,7 +1064,12 @@ test_modified_x420(Config) -> testX420() -> [{timetrap,{minutes,90}}]. testX420(Config) -> - test(Config, fun testX420/3, [ber, ber_bin, ber_bin_v2]). + case erlang:system_info(system_architecture) of + "sparc-sun-solaris2.10" -> + {skip,"Too slow for an old Sparc"}; + _ -> + test(Config, fun testX420/3, [ber, ber_bin, ber_bin_v2]) + end. testX420(Config, Rule, Opts) -> testX420:compile(Rule, [der|Opts], Config), ok = testX420:ticket7759(Rule, Config), -- cgit v1.2.3 From c310adbff67aa89f1ad3bff7c0a03c3506fe85ee Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Wed, 6 Feb 2013 14:47:15 +0100 Subject: Prepare release --- lib/asn1/doc/src/notes.xml | 29 +++++++++++++++++++++++++++++ lib/asn1/vsn.mk | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/lib/asn1/doc/src/notes.xml b/lib/asn1/doc/src/notes.xml index 5ca86130a1..de58aef0e2 100644 --- a/lib/asn1/doc/src/notes.xml +++ b/lib/asn1/doc/src/notes.xml @@ -31,6 +31,35 @@

This document describes the changes made to the asn1 application.

+
Asn1 1.8.1 + +
Fixed Bugs and Malfunctions + + +

+ ASN.1 decoders generated with the options -bber_bin + +optimize +nif would decode open types with a size + larger than 511 incorrectly. That bug could cause + decoding by public_key to fail. The bug was in the + NIF library asn1_erl_nif.so; therefore there is no + need re-compile ASN.1 specifications that had the + problem.

+

+ Own Id: OTP-10805 Aux Id: seq12244

+
+ +

+ Encoding SEQUENCEs with multiple extension addition + groups with optional values could fail (depending both on + the specification and whether all values were provided).

+

+ Own Id: OTP-10811 Aux Id: OTP-10664

+
+
+
+ +
+
Asn1 1.8
Fixed Bugs and Malfunctions diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk index 81288496e9..b4b4e0b431 100644 --- a/lib/asn1/vsn.mk +++ b/lib/asn1/vsn.mk @@ -1,2 +1,2 @@ #next version number to use is 2.0 -ASN1_VSN = 1.8 +ASN1_VSN = 1.8.1 -- cgit v1.2.3