From 6803c2f86d5a8f419d854dbffb78c10fda611ed2 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 24 Aug 2017 17:43:01 +0200 Subject: kex: Use ssh_kex_types_e in ssh_verify_existing_algo() Signed-off-by: Andreas Schneider --- include/libssh/kex.h | 2 +- src/kex.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/libssh/kex.h b/include/libssh/kex.h index 3b70ec72..e38fafff 100644 --- a/include/libssh/kex.h +++ b/include/libssh/kex.h @@ -40,7 +40,7 @@ int ssh_send_kex(ssh_session session, int server_kex); void ssh_list_kex(struct ssh_kex_struct *kex); int ssh_set_client_kex(ssh_session session); int ssh_kex_select_methods(ssh_session session); -int ssh_verify_existing_algo(int algo, const char *name); +int ssh_verify_existing_algo(enum ssh_kex_types_e algo, const char *name); char *ssh_keep_known_algos(enum ssh_kex_types_e algo, const char *list); char **ssh_space_tokenize(const char *chain); int ssh_get_kex1(ssh_session session); diff --git a/src/kex.c b/src/kex.c index 196f1b5e..9c60fbd5 100644 --- a/src/kex.c +++ b/src/kex.c @@ -721,10 +721,14 @@ error: } /* returns 1 if at least one of the name algos is in the default algorithms table */ -int ssh_verify_existing_algo(int algo, const char *name){ +int ssh_verify_existing_algo(enum ssh_kex_types_e algo, const char *name) +{ char *ptr; - if(algo>9 || algo <0) + + if (algo > SSH_LANG_S_C) { return -1; + } + ptr=ssh_find_matching(supported_methods[algo],name); if(ptr){ free(ptr); -- cgit v1.2.3