aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2017-05-10 11:42:09 +0200
committerHans Nilsson <[email protected]>2017-05-12 11:53:11 +0200
commit242dddbc918c87571013e7e0acd29b4abbe12911 (patch)
tree7a23b483a4f7abb291ed4a187513867de78c9ee7 /lib
parent6e9f9cbfc1f69735788651369bf6e288e23fbced (diff)
downloadotp-242dddbc918c87571013e7e0acd29b4abbe12911.tar.gz
otp-242dddbc918c87571013e7e0acd29b4abbe12911.tar.bz2
otp-242dddbc918c87571013e7e0acd29b4abbe12911.zip
ssh: Better error checking for option 'auth_methods'
Diffstat (limited to 'lib')
-rw-r--r--lib/ssh/src/ssh_options.erl11
-rw-r--r--lib/ssh/test/ssh_basic_SUITE.erl7
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/ssh/src/ssh_options.erl b/lib/ssh/src/ssh_options.erl
index f98422c324..78f68dbcb1 100644
--- a/lib/ssh/src/ssh_options.erl
+++ b/lib/ssh/src/ssh_options.erl
@@ -578,7 +578,16 @@ default(common) ->
{auth_methods, def} =>
#{default => ?SUPPORTED_AUTH_METHODS,
- chk => fun check_string/1,
+ chk => fun(As) ->
+ try
+ Sup = string:tokens(?SUPPORTED_AUTH_METHODS, ","),
+ New = string:tokens(As, ","),
+ [] == [X || X <- New,
+ not lists:member(X,Sup)]
+ catch
+ _:_ -> false
+ end
+ end,
class => user_options
},
diff --git a/lib/ssh/test/ssh_basic_SUITE.erl b/lib/ssh/test/ssh_basic_SUITE.erl
index b80c3ed5e2..1e591bc295 100644
--- a/lib/ssh/test/ssh_basic_SUITE.erl
+++ b/lib/ssh/test/ssh_basic_SUITE.erl
@@ -1173,13 +1173,10 @@ login_bad_pwd_no_retry3(Config) ->
login_bad_pwd_no_retry(Config, "password,publickey,keyboard-interactive").
login_bad_pwd_no_retry4(Config) ->
- login_bad_pwd_no_retry(Config, "password,other,keyboard-interactive").
+ login_bad_pwd_no_retry(Config, "password,keyboard-interactive").
login_bad_pwd_no_retry5(Config) ->
- login_bad_pwd_no_retry(Config, "password,other,keyboard-interactive,password,password").
-
-
-
+ login_bad_pwd_no_retry(Config, "password,keyboard-interactive,password,password").
login_bad_pwd_no_retry(Config, AuthMethods) ->