diff options
-rw-r--r-- | include/libssh/kex.h | 2 | ||||
-rw-r--r-- | 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); @@ -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); |