diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/crypto/test/crypto_SUITE.erl | 41 | ||||
-rw-r--r-- | lib/parsetools/doc/src/leex.xml | 4 | ||||
-rw-r--r-- | lib/parsetools/doc/src/notes.xml | 2 | ||||
-rw-r--r-- | lib/parsetools/include/leexinc.hrl | 2 | ||||
-rw-r--r-- | lib/parsetools/src/leex.erl | 6 | ||||
-rw-r--r-- | lib/parsetools/src/yecc.erl | 10 | ||||
-rw-r--r-- | lib/parsetools/test/yecc_SUITE.erl | 2 | ||||
-rw-r--r-- | lib/reltool/doc/src/notes.xml | 6 | ||||
-rw-r--r-- | lib/reltool/doc/src/reltool.xml | 4 | ||||
-rw-r--r-- | lib/reltool/doc/src/reltool_usage.xml | 2 | ||||
-rw-r--r-- | lib/reltool/src/reltool_server.erl | 2 | ||||
-rw-r--r-- | lib/reltool/src/reltool_target.erl | 2 | ||||
-rw-r--r-- | lib/reltool/test/reltool_server_SUITE.erl | 2 | ||||
-rw-r--r-- | lib/sasl/src/release_handler.erl | 2 | ||||
-rw-r--r-- | lib/sasl/src/release_handler_1.erl | 4 | ||||
-rw-r--r-- | lib/sasl/src/systools.erl | 8 | ||||
-rw-r--r-- | lib/sasl/src/systools_make.erl | 14 | ||||
-rw-r--r-- | lib/sasl/test/installer.erl | 4 | ||||
-rw-r--r-- | lib/sasl/test/release_handler_SUITE.erl | 6 | ||||
-rw-r--r-- | lib/sasl/test/rh_test_lib.erl | 2 | ||||
-rw-r--r-- | lib/sasl/test/systools_SUITE.erl | 2 | ||||
-rw-r--r-- | lib/ssl/src/inet_tls_dist.erl | 7 |
22 files changed, 88 insertions, 46 deletions
diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl index c74331f076..58614d9b0a 100644 --- a/lib/crypto/test/crypto_SUITE.erl +++ b/lib/crypto/test/crypto_SUITE.erl @@ -114,6 +114,7 @@ use_all_eddh_generate_compute/1, pbkdf2_hmac/0, pbkdf2_hmac/1, + privkey_to_pubkey/1, %% Others: aes_128_cbc/1, @@ -349,10 +350,13 @@ groups() -> {rsa, [], [sign_verify, public_encrypt, private_encrypt, - generate + generate, + privkey_to_pubkey ]}, {dss, [], [sign_verify %% Does not work yet: ,public_encrypt, private_encrypt + %% dsa seem to always have been given bad result. Must fix: + %% ,privkey_to_pubkey ]}, {ecdsa, [], [sign_verify, use_all_ec_sign_verify %% Does not work yet: ,public_encrypt, private_encrypt @@ -1060,6 +1064,23 @@ private_encrypt(Config) when is_list(Config) -> lists:foreach(fun do_private_encrypt/1, Params). %%-------------------------------------------------------------------- +privkey_to_pubkey(Config) -> + Params = proplists:get_value(privkey_to_pubkey, Config), + lists:foreach(fun do_privkey_to_pubkey/1, Params). + +do_privkey_to_pubkey({Type, Priv, Pub}) -> + ct:log("~p:~p~nType = ~p,~nPriv = ~p,~n Pub = ~p", [?MODULE,?LINE,Type,Priv,Pub]), + case crypto:privkey_to_pubkey(Type, Priv) of + Pub -> + ok; + Priv -> + ct:fail("Returned private key", []); + Other -> + ct:log("~p:~p Other = ~p", [?MODULE,?LINE,Other]), + ct:fail("bad", []) + end. + +%%-------------------------------------------------------------------- generate_compute() -> [{doc, " Test crypto:genarate_key and crypto:compute_key"}]. generate_compute(Config) when is_list(Config) -> @@ -1999,9 +2020,11 @@ group_config(rsa, Config) -> [{rsa_padding,rsa_pkcs1_oaep_padding}, {rsa_mgf1_md,sha}, {rsa_oaep_label, <<"Hej hopp">>}], [{rsa_padding,rsa_pkcs1_oaep_padding}, {rsa_mgf1_md,sha}, {rsa_oaep_md,sha}, {rsa_oaep_label, <<"Hej hopp">>}] ], - [{sign_verify, rsa_sign_verify_tests(Config, Msg, Public, Private, PublicS, PrivateS, SignVerify_OptsToTry)}, + RsaSignVerify = rsa_sign_verify_tests(Config, Msg, Public, Private, PublicS, PrivateS, SignVerify_OptsToTry), + [{sign_verify, RsaSignVerify}, {pub_priv_encrypt, gen_rsa_pub_priv_tests(PublicS, PrivateS, MsgPubEnc, PrivEnc_OptsToTry)}, {pub_pub_encrypt, gen_rsa_pub_priv_tests(PublicS, PrivateS, MsgPubEnc, PubEnc_OptsToTry)}, + {privkey_to_pubkey, get_priv_pub_from_sign_verify(RsaSignVerify)}, {generate, [{rsa, 1024, 3}, {rsa, 2048, 17}, {rsa, 3072, 65537}]} | Config]; group_config(dss = Type, Config) -> @@ -2023,7 +2046,10 @@ group_config(dss = Type, Config) -> lists:member(Hash, SupportedHashs)], MsgPubEnc = <<"7896345786348 Asldi">>, PubPrivEnc = [{dss, Public, Private, MsgPubEnc, []}], - [{sign_verify, SignVerify}, {pub_priv_encrypt, PubPrivEnc} | Config]; + [{sign_verify, SignVerify}, + {pub_priv_encrypt, PubPrivEnc}, + {privkey_to_pubkey, get_priv_pub_from_sign_verify(SignVerify)} + | Config]; group_config(ecdsa = Type, Config) -> {Private, Public} = ec_key_named(), Msg = ec_msg(), @@ -4409,3 +4435,12 @@ pbkdf2_hmac(Config) when is_list(Config) -> error:{notsup, _, "Unsupported CRYPTO_PKCS5_PBKDF2_HMAC"} -> {skip, "No CRYPTO_PKCS5_PBKDF2_HMAC"} end. + + +get_priv_pub_from_sign_verify(L) -> + lists:foldl(fun get_priv_pub/2, [], L). + +get_priv_pub({Type, undefined=_Hash, Private, Public, _Msg, _Signature}, Acc) -> [{Type,Private,Public} | Acc]; +get_priv_pub({Type, _Hash, Public, Private, _Msg}, Acc) -> [{Type,Private,Public} | Acc]; +get_priv_pub({Type, _Hash, Public, Private, _Msg, _Options}, Acc) -> [{Type,Private,Public} | Acc]; +get_priv_pub(_, Acc) -> Acc. diff --git a/lib/parsetools/doc/src/leex.xml b/lib/parsetools/doc/src/leex.xml index 153374e16a..aef1544743 100644 --- a/lib/parsetools/doc/src/leex.xml +++ b/lib/parsetools/doc/src/leex.xml @@ -222,13 +222,13 @@ io:request(InFile, {get_until,unicode,Prompt,Module,token,[Line]}) <c>[]</c>.</p> <p>This functions differs from <c>token</c> in that it will - continue to scan tokens upto and including an + continue to scan tokens up to and including an <c>{end_token,Token}</c> has been scanned (see next section). It will then return all the tokens. This is typically used for scanning grammars like Erlang where there is an explicit end token, <c>'.'</c>. If no end token is found then the whole file will be scanned and returned. If - an error occurs then all tokens upto and including the next + an error occurs then all tokens up to and including the next end token will be skipped.</p> <p>It is not designed to be called directly by an application diff --git a/lib/parsetools/doc/src/notes.xml b/lib/parsetools/doc/src/notes.xml index 32a95f51a8..d90ff5acf2 100644 --- a/lib/parsetools/doc/src/notes.xml +++ b/lib/parsetools/doc/src/notes.xml @@ -456,7 +456,7 @@ <section><title>Improvements and New Features</title> <list> <item> - <p> The formating of Yecc's error messages has been + <p> The formatting of Yecc's error messages has been improved. (Thanks to Joe Armstrong.) </p> <p> Own Id: OTP-8919</p> diff --git a/lib/parsetools/include/leexinc.hrl b/lib/parsetools/include/leexinc.hrl index 2a74c252ff..8dfc42f479 100644 --- a/lib/parsetools/include/leexinc.hrl +++ b/lib/parsetools/include/leexinc.hrl @@ -32,7 +32,7 @@ string(Ics0, L0, Tcs, Ts) -> case yystate(yystate(), Ics0, L0, 0, reject, 0) of {A,Alen,Ics1,L1} -> % Accepting end state string_cont(Ics1, L1, yyaction(A, Alen, Tcs, L0), Ts); - {A,Alen,Ics1,L1,_S1} -> % Accepting transistion state + {A,Alen,Ics1,L1,_S1} -> % Accepting transition state string_cont(Ics1, L1, yyaction(A, Alen, Tcs, L0), Ts); {reject,_Alen,Tlen,_Ics1,L1,_S1} -> % After a non-accepting state {error,{L0,?MODULE,{illegal,yypre(Tcs, Tlen+1)}},L1}; diff --git a/lib/parsetools/src/leex.erl b/lib/parsetools/src/leex.erl index 37f3fb7114..15803b3b82 100644 --- a/lib/parsetools/src/leex.erl +++ b/lib/parsetools/src/leex.erl @@ -575,7 +575,7 @@ collect_action(Ifile, Chars, L0, Cont0) -> %% parse_rule(RegExpString, RegExpLine, ActionTokens, Macros, Counter, State) -> %% {ok,{RE,Action},ActionData,State}. -%% Parse one regexp after performing macro substition. +%% Parse one regexp after performing macro substitution. parse_rule(S, Line, [{dot,_}], Ms, N, St) -> case parse_rule_regexp(S, Ms, St) of @@ -1126,7 +1126,7 @@ comp_crs([], Last) -> [{Last,maxchar}]. %% build_dfa(NFA, NfaFirstState) -> {DFA,DfaFirstState}. %% Build a DFA from an NFA using "subset construction". The major %% difference from the book is that we keep the marked and unmarked -%% DFA states in seperate lists. New DFA states are added to the +%% DFA states in separate lists. New DFA states are added to the %% unmarked list and states are marked by moving them to the marked %% list. We assume that the NFA accepting state numbers are in %% ascending order for the rules and use ordsets to keep this order. @@ -1264,7 +1264,7 @@ accept([], _) -> noaccept. %% minimise_dfa(DFA, DfaFirst) -> {DFA,DfaFirst}. %% Minimise the DFA by removing equivalent states. We consider a %% state if both the transitions and the their accept state is the -%% same. First repeatedly run throught the DFA state list removing +%% same. First repeatedly run through the DFA state list removing %% equivalent states and updating remaining transitions with %% remaining equivalent state numbers. When no more reductions are %% possible then pack the remaining state numbers to get consecutive diff --git a/lib/parsetools/src/yecc.erl b/lib/parsetools/src/yecc.erl index 00b1a935b9..5b2a9efe4d 100644 --- a/lib/parsetools/src/yecc.erl +++ b/lib/parsetools/src/yecc.erl @@ -117,7 +117,7 @@ %% when debugging). %% Non-terminals are also given integer codes, starting with -1. The -%% absolut value of the code is used for indexing a tuple of lists of +%% absolute value of the code is used for indexing a tuple of lists of %% rules. -define(SYMBOLS_AS_CODES, true). @@ -1317,7 +1317,7 @@ compute_state(Seed, Tables) -> Closure = keysort(1, erase()), state_items(Closure, [], [], Tables#tabs.rp_rhs). -%% Collects a uniqe id for the state (all rule pointers). +%% Collects a unique id for the state (all rule pointers). state_items([{RP, LA} | L], Is, Id, RpRhs) -> I = #item{rule_pointer = RP, look_ahead = LA, rhs = element(RP, RpRhs)}, state_items(L, [I | Is], [RP | Id], RpRhs); @@ -1911,13 +1911,13 @@ report_conflict(Conflict, St, ActionName, How) -> if St#yecc.verbose -> io:fwrite(<<"~s\n">>, [format_conflict(Conflict)]), - Formated = format_symbol(ActionName), + Formatted = format_symbol(ActionName), case How of prec -> - io:fwrite(<<"Resolved in favor of ~ts.\n\n">>, [Formated]); + io:fwrite(<<"Resolved in favor of ~ts.\n\n">>, [Formatted]); default -> io:fwrite(<<"Conflict resolved in favor of ~ts.\n\n">>, - [Formated]) + [Formatted]) end; true -> ok diff --git a/lib/parsetools/test/yecc_SUITE.erl b/lib/parsetools/test/yecc_SUITE.erl index e61423d064..b594d231ca 100644 --- a/lib/parsetools/test/yecc_SUITE.erl +++ b/lib/parsetools/test/yecc_SUITE.erl @@ -1851,7 +1851,7 @@ otp_7969(Config) when is_list(Config) -> ok. otp_8919(doc) -> - "OTP-8919. Improve formating of Yecc error messages."; + "OTP-8919. Improve formatting of Yecc error messages."; otp_8919(suite) -> []; otp_8919(Config) when is_list(Config) -> A1 = erl_anno:new(1), diff --git a/lib/reltool/doc/src/notes.xml b/lib/reltool/doc/src/notes.xml index d469c8d9a9..40ea90d83d 100644 --- a/lib/reltool/doc/src/notes.xml +++ b/lib/reltool/doc/src/notes.xml @@ -404,7 +404,7 @@ reltool config does not contain all applications that are listed as <c>{applications,Applications}</c> in a <c>.app</c> file, then these applications are - autmatically added when creating the <c>.rel</c> file. + automatically added when creating the <c>.rel</c> file. For 'included_applications', the behaviour was not the same. I.e. if a <c>rel</c> spec in the reltool config did not contain all applications that are listed as @@ -508,7 +508,7 @@ <item> Status bar now indicates that reltool is working (Processing libraries...) for all configuration changes, and when generating target system. </item> <item> Title - of dependecies column in app and mod window is changed + of dependencies column in app and mod window is changed from "Modules used by others" to "Modules using this". </item> </list> <p> @@ -668,7 +668,7 @@ <p> Allow the same module name in multiple applications visible to reltool, as long as all but one of the - applications/modules are explicitely excluded. (Thanks to + applications/modules are explicitly excluded. (Thanks to Andrew Gopienko and Jay Nelson)</p> <p> Own Id: OTP-9229</p> diff --git a/lib/reltool/doc/src/reltool.xml b/lib/reltool/doc/src/reltool.xml index 136ec2ed69..a6520a2805 100644 --- a/lib/reltool/doc/src/reltool.xml +++ b/lib/reltool/doc/src/reltool.xml @@ -386,7 +386,7 @@ will be chosen.</p> <p>Note that in order for reltool to sort application versions and thereby be able to select the latest, it is required that - the version id for the application consits of integers and + the version id for the application consists of integers and dots only, for example <c>1</c>, <c>2.0</c> or <c>3.17.1</c>.</p> </item> @@ -402,7 +402,7 @@ will be chosen.</p> <p>Note that in order for reltool to sort application versions and thereby be able to select the latest, it is required that - the version id for the application consits of integers and + the version id for the application consists of integers and dots only, for example <c>1</c>, <c>2.0</c> or <c>3.17.1</c>.</p> </item> diff --git a/lib/reltool/doc/src/reltool_usage.xml b/lib/reltool/doc/src/reltool_usage.xml index 743d5fa366..f84ffb05f2 100644 --- a/lib/reltool/doc/src/reltool_usage.xml +++ b/lib/reltool/doc/src/reltool_usage.xml @@ -261,7 +261,7 @@ <p>Note that in order for reltool to sort application versions and thereby be able to select the latest, it is required that the - version id for the application consits of integers and dots only, + version id for the application consists of integers and dots only, for example <c>1</c>, <c>2.0</c> or <c>3.17.1</c>.</p> <p>By default the <c>Application inclusion policy</c> on system diff --git a/lib/reltool/src/reltool_server.erl b/lib/reltool/src/reltool_server.erl index 43e9d50b18..de7d73bf37 100644 --- a/lib/reltool/src/reltool_server.erl +++ b/lib/reltool/src/reltool_server.erl @@ -1012,7 +1012,7 @@ mod_recap_dependencies(S, A, [#mod{name = ModName}=M1 | Mods], Acc, IsIncl) -> ets:insert(S#state.mod_tab, M3), mod_recap_dependencies(S, A, Mods, [M3 | Acc], IsIncl2); [_] when A#app.is_included==false; M1#mod.incl_cond==exclude -> - %% App is explicitely excluded so it is ok that the module + %% App is explicitly excluded so it is ok that the module %% record does not exist for this module in this %% application. mod_recap_dependencies(S, A, Mods, [M1 | Acc], IsIncl); diff --git a/lib/reltool/src/reltool_target.erl b/lib/reltool/src/reltool_target.erl index 773e752ad4..1a0f868be8 100644 --- a/lib/reltool/src/reltool_target.erl +++ b/lib/reltool/src/reltool_target.erl @@ -677,7 +677,7 @@ del_apps([], Apps) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Create the load path used in the generated script. %% If PathFlag is true a script intended to be used as a complete -%% system (e.g. in an embbeded system), i.e. all applications are +%% system (e.g. in an embedded system), i.e. all applications are %% located under $ROOT/lib. %% Otherwise all paths are set according to dir per application. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/reltool/test/reltool_server_SUITE.erl b/lib/reltool/test/reltool_server_SUITE.erl index c775aa1225..11ae6d6da2 100644 --- a/lib/reltool/test/reltool_server_SUITE.erl +++ b/lib/reltool/test/reltool_server_SUITE.erl @@ -2722,7 +2722,7 @@ os_cmd(Cmd) when is_list(Cmd) -> []-> {99, []}; Return-> - %% Find the position of the status code wich is last in the string + %% Find the position of the status code which is last in the string %% prepended with # case string:split(Return, "$#", trailing) of [_] -> %% This happens only if the sh command pipe is somehow interrupted diff --git a/lib/sasl/src/release_handler.erl b/lib/sasl/src/release_handler.erl index 3313f08ff0..7635b1ef78 100644 --- a/lib/sasl/src/release_handler.erl +++ b/lib/sasl/src/release_handler.erl @@ -2310,7 +2310,7 @@ safe_write_file_m(File, Data, FileOpts, Masters) -> %% %% A different situation is when the same application version is used %% in old and new release, but the path has changed. This is not -%% handled here - instead it must be explicitely indicated by the +%% handled here - instead it must be explicitly indicated by the %% 'update_paths' option to release_handler:install_release/2 if the %% code path shall be updated then. %% ----------------------------------------------------------------- diff --git a/lib/sasl/src/release_handler_1.erl b/lib/sasl/src/release_handler_1.erl index cc46fa5133..3a5883dfb9 100644 --- a/lib/sasl/src/release_handler_1.erl +++ b/lib/sasl/src/release_handler_1.erl @@ -248,7 +248,7 @@ syntax_check_script([]) -> %% {load_object_code, [Mod1, Mod2]}, %% % delete old version %% {remove, {Mod1, brutal_purge}}, {remove, {Mod2, brutal_purge}}, -%% % now, some procs migth be running prev current (now old) version +%% % now, some procs might be running prev current (now old) version %% % kill them, and load new version %% {load, {Mod1, brutal_purge}}, {load, {Mod2, brutal_purge}} %% % now, there is one version of the code (new, current) @@ -279,7 +279,7 @@ syntax_check_script([]) -> %% If a process doesn't repsond - never mind. It will be killed %% later on (if a purge is performed). %% Hmm, we must do something smart here... we should probably kill it, -%% but we cant, because its supervisor will restart it directly! Maybe +%% but we can't, because its supervisor will restart it directly! Maybe %% we should keep a list of those, call supervisor:terminate_child() %% when all others are suspended, and call sup:restart_child() when the %% others are resumed. diff --git a/lib/sasl/src/systools.erl b/lib/sasl/src/systools.erl index a97db3a20e..889cf924a3 100644 --- a/lib/sasl/src/systools.erl +++ b/lib/sasl/src/systools.erl @@ -43,7 +43,7 @@ %%----------------------------------------------------------------- %% Options is a list of {path, Path} | silent | local where path sets -%% the search path, silent supresses error message printing on console, +%% the search path, silent suppresses error message printing on console, %% local generates a script with references to the directories there %% the applications are found. %%----------------------------------------------------------------- @@ -57,7 +57,7 @@ make_script(RelName, Opt) -> %%----------------------------------------------------------------- %% Options is a list of {path, Path} | silent | %% {dirs, [src,include,examples,..]} | {erts, ErtsDir} where path -%% sets the search path, silent supresses error message printing on console, +%% sets the search path, silent suppresses error message printing on console, %% dirs includes the specified directories (per application) in the %% release package and erts specifies that the erts-Vsn/bin directory %% should be included in the release package and there it can be found. @@ -116,8 +116,8 @@ script2boot(File, Output0, _Opt) -> %%----------------------------------------------------------------- %% Options is a list of {path, Path} | silent | noexec where path sets -%% search path, silent supresses error message printing on console, -%% noexec supresses writing the output "relup" file +%% search path, silent suppresses error message printing on console, +%% noexec suppresses writing the output "relup" file %%----------------------------------------------------------------- make_relup(ReleaseName, UpNameList, DownNameList) -> systools_relup:mk_relup(ReleaseName, UpNameList, DownNameList, []). diff --git a/lib/sasl/src/systools_make.erl b/lib/sasl/src/systools_make.erl index 0cac1099d3..fd2a14954a 100644 --- a/lib/sasl/src/systools_make.erl +++ b/lib/sasl/src/systools_make.erl @@ -56,7 +56,7 @@ %% Create a boot script from a release file. %% Options is a list of {path, Path} | silent | local %% | warnings_as_errors -%% where path sets the search path, silent supresses error message +%% where path sets the search path, silent suppresses error message %% printing on console, local generates a script with references %% to the directories there the applications are found, %% and warnings_as_errors treats warnings as errors. @@ -195,7 +195,7 @@ do_make_hybrid_boot(TmpVsn, OldBoot, NewBoot, Args) -> {script,{_RelName1,_RelVsn1},OldScript} = binary_to_term(OldBoot), {script,{NewRelName,_RelVsn2},NewScript} = binary_to_term(NewBoot), - %% Everyting upto kernel_load_completed must come from the new script + %% Everything up to kernel_load_completed must come from the new script Fun1 = fun({progress,kernel_load_completed}) -> false; (_) -> true end, @@ -345,7 +345,7 @@ add_apply_upgrade(Script,Args) -> %% Create a release package from a release file. %% Options is a list of {path, Path} | silent | %% {dirs, [src,include,examples,..]} | {erts, ErtsDir} where path -%% sets the search path, silent supresses error message printing, +%% sets the search path, silent suppresses error message printing, %% dirs includes the specified directories (per application) in the %% release package and erts specifies that the erts-Vsn/bin directory %% should be included in the release package and there it can be found. @@ -674,7 +674,7 @@ parse_application({application, Name, Dict}, File, Vsn, Incls) parse_application(Other, _, _, _) -> {error, {badly_formatted_application, Other}}. -%% Test if all included applications specifed in the .rel file +%% Test if all included applications specified in the .rel file %% exists in the {included_applications,Incs} specified in the %% .app file. override_include(Name, Incs, Incls) -> @@ -1370,7 +1370,7 @@ find_all(CheckingApp, [Name|T], L, Visited, Found, NotFound) -> case find_app(Name, L) of {value, App} -> {_A,R} = App, - %% It is OK to have a dependecy like + %% It is OK to have a dependency like %% X includes Y, Y uses X. case lists:member(CheckingApp, R#application.includes) of true -> @@ -1410,7 +1410,7 @@ del_apps([], L) -> %%______________________________________________________________________ %% Create the load path used in the generated script. %% If PathFlag is true a script intended to be used as a complete -%% system (e.g. in an embbeded system), i.e. all applications are +%% system (e.g. in an embedded system), i.e. all applications are %% located under $ROOT/lib. %% Otherwise all paths are set according to dir per application. @@ -1779,7 +1779,7 @@ add_system_files(Tar, RelName, Release, Path1) -> %% (well, actually the boot file was looked for in the same %% directory as RelName, which is not necessarily the same as cwd) %% -- - %% but also in the path specfied as an option to systools:make_tar + %% but also in the path specified as an option to systools:make_tar %% (but make sure to search the RelName directory and cwd first) Path = case filename:dirname(RelName) of "." -> diff --git a/lib/sasl/test/installer.erl b/lib/sasl/test/installer.erl index 5ad31c508e..05b0156574 100644 --- a/lib/sasl/test/installer.erl +++ b/lib/sasl/test/installer.erl @@ -381,7 +381,7 @@ install_14(TestNode) -> %%%----------------------------------------------------------------- -%%% Ths test checks that an upgrade which both upgrades to a new +%%% The test checks that an upgrade which both upgrades to a new %%% emulator version, and had a restart_emulator option to %%% systools:make_relup will be restarted twice on upgrade. %%% (On downgrade it will happen only once.) @@ -411,7 +411,7 @@ upgrade_restart_2(TestNode) -> {"SASL-test","P2B"} -> upgrade_restart_2a(TestNode); {"SASL-test","__new_emulator__P1G"} -> - %% catched the node too early - give it another try + %% caught the node too early - give it another try {wait,whereis(init)} end. diff --git a/lib/sasl/test/release_handler_SUITE.erl b/lib/sasl/test/release_handler_SUITE.erl index 78626bbc91..f0433fd522 100644 --- a/lib/sasl/test/release_handler_SUITE.erl +++ b/lib/sasl/test/release_handler_SUITE.erl @@ -654,7 +654,7 @@ upgrade_restart(Conf) when is_list(Conf) -> ok -> ok; {wait,TestNodeInit2a} -> - %% We catched the node too early - it was supposed to + %% We caught the node too early - it was supposed to %% restart twice, so let's wait for one more restart. wait_nodes_up([{TestNode,TestNodeInit2a}],"upgrade_restart_2a",[]), ok = rpc_inst(TestNode, upgrade_restart_2a, []) @@ -2505,7 +2505,7 @@ copy_tree(Conf, Src, NewName, DestDir) -> TempTarName = filename:join(PrivDir, "temp_tar_file.tar"), %% Not compressing tar file here since that would increase test %% suite time by almost 100%, and the tar file is deleted - %% imediately anyway. + %% immediately anyway. {ok,Tar} = erl_tar:open(TempTarName, [write]), ok = erl_tar:add(Tar, Src, NewName, []), ok = erl_tar:close(Tar), @@ -2925,7 +2925,7 @@ permanent_p1h(Node) -> ok = rpc_inst(Node, permanent_p1h, []). %% For each node in ToNodes, create a target installation which is -%% indentical to the target installation for FromNode. +%% identical to the target installation for FromNode. copy_installed(Conf,FromNode,ToNodes) -> PrivDir = priv_dir(Conf), DataDir = ?config(data_dir,Conf), diff --git a/lib/sasl/test/rh_test_lib.erl b/lib/sasl/test/rh_test_lib.erl index 7fffb310fc..dba45bece6 100644 --- a/lib/sasl/test/rh_test_lib.erl +++ b/lib/sasl/test/rh_test_lib.erl @@ -20,7 +20,7 @@ cmd(Cmd,Args,Env) -> case open_port({spawn_executable, Cmd}, [{args,Args},{env,Env}]) of Port when is_port(Port) -> unlink(Port), - catch erlang:port_close(Port), % migth already be closed, so catching + catch erlang:port_close(Port), % might already be closed, so catching ok; Error -> Error diff --git a/lib/sasl/test/systools_SUITE.erl b/lib/sasl/test/systools_SUITE.erl index cd7a157d59..801660ddac 100644 --- a/lib/sasl/test/systools_SUITE.erl +++ b/lib/sasl/test/systools_SUITE.erl @@ -1398,7 +1398,7 @@ src_tests_tar(Config) when is_list(Config) -> %% make_tar: Check that make_tar handles generation and placement of %% tar files for variables outside the main tar file. -%% Test the {var_tar, include | ownfile | omit} optio. +%% Test the {var_tar, include | ownfile | omit} option. var_tar(Config) when is_list(Config) -> {ok, OldDir} = file:get_cwd(), PSAVE = code:get_path(), % Save path diff --git a/lib/ssl/src/inet_tls_dist.erl b/lib/ssl/src/inet_tls_dist.erl index dce055e2e0..01759207bb 100644 --- a/lib/ssl/src/inet_tls_dist.erl +++ b/lib/ssl/src/inet_tls_dist.erl @@ -444,8 +444,10 @@ gen_accept_connection( do_accept( _Driver, AcceptPid, DistCtrl, MyNode, Allowed, SetupTime, Kernel) -> + MRef = erlang:monitor(process, AcceptPid), receive {AcceptPid, controller} -> + erlang:demonitor(MRef, [flush]), {ok, SslSocket} = tls_sender:dist_tls_socket(DistCtrl), Timer = dist_util:start_timer(SetupTime), NewAllowed = allowed_nodes(SslSocket, Allowed), @@ -463,6 +465,11 @@ do_accept( {AcceptPid, exit} -> %% this can happen when connection was initiated, but dropped %% between TLS handshake completion and dist handshake start + ?shutdown2(MyNode, connection_setup_failed); + {'DOWN', MRef, _, _, _Reason} -> + %% this may happen when connection was initiated, but dropped + %% due to crash propagated from other hanshake process which + %% failed on inet_tcp:accept (see GH-5332) ?shutdown2(MyNode, connection_setup_failed) end. |