From d2af62624d492022475e613071c5ef2043ccadb4 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Fri, 13 Sep 2019 13:14:35 +0200 Subject: [PATCH] known_hosts: Avoid using deprecated functions (even from deprecated functions) Fixes: T165 Signed-off-by: Jakub Jelen Reviewed-by: Anderson Toshiyuki Sasaki (cherry picked from commit 83fa060cec0f3c062117807b154a18f2db63ef06) --- src/known_hosts.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/known_hosts.c b/src/known_hosts.c index 9a09d1c4..ec6da308 100644 --- a/src/known_hosts.c +++ b/src/known_hosts.c @@ -405,8 +405,12 @@ int ssh_is_server_known(ssh_session session) if ((ret == SSH_SERVER_NOT_KNOWN) && (session->opts.StrictHostKeyChecking == 0)) { - ssh_write_knownhost(session); - ret = SSH_SERVER_KNOWN_OK; + int rv = ssh_session_update_known_hosts(session); + if (rv != SSH_OK) { + ret = SSH_SERVER_ERROR; + } else { + ret = SSH_SERVER_KNOWN_OK; + } } SAFE_FREE(host); @@ -492,9 +496,10 @@ char * ssh_dump_knownhost(ssh_session session) { * @deprecated Please use ssh_session_update_known_hosts() * @brief This function is deprecated */ -int ssh_write_knownhost(ssh_session session) { +int ssh_write_knownhost(ssh_session session) +{ FILE *file; - char *buffer; + char *buffer = NULL; char *dir; int rc; @@ -542,8 +547,8 @@ int ssh_write_knownhost(ssh_session session) { } } - buffer = ssh_dump_knownhost(session); - if (buffer == NULL) { + rc = ssh_session_export_known_hosts_entry(session, &buffer); + if (rc != SSH_OK) { fclose(file); return SSH_ERROR; }