diff options
-rw-r--r-- | src/cssh.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -222,7 +222,7 @@ static int accept_server( ssh_session session, unsigned char *hash, size_t hlen fprintf( stderr, "Do you want to write this new key into the known host file for future usage?\n" ); if( get_yes_or_no( ) ) { - if( ssh_write_knownhost( session ) < 0 ) { + if( ssh_session_update_known_hosts( session ) != SSH_OK ) { fprintf( stderr, "ERROR: error while writing known host file: %s\n", strerror( errno ) ); return -1; @@ -234,12 +234,12 @@ static int accept_server( ssh_session session, unsigned char *hash, size_t hlen static int verify_knownhost( ssh_session session ) { - int state; + enum ssh_known_hosts_e state; - state = ssh_is_server_known( session ); + state = ssh_session_is_known_server( session ); ssh_key srv_pubkey; - int rc = ssh_get_publickey( session, &srv_pubkey ); + int rc = ssh_get_server_publickey( session, &srv_pubkey ); if( rc < 0 ) { fprintf( stderr, "ERROR: Failed to get public key of host: %s\n", ssh_get_error( session ) ); @@ -262,11 +262,12 @@ static int verify_knownhost( ssh_session session ) ssh_clean_pubkey_hash( &hash ); return 0; - case SSH_SERVER_KNOWN_CHANGED: - fprintf( stderr, "ERROR: Host key for server changed : server's one is now:\n" ); - ssh_print_hexa( "Public key hash", hash, hlen ); + case SSH_SERVER_KNOWN_CHANGED: { + char *hexa = ssh_get_hexa( hash, hlen ); + fprintf( stderr, "ERROR: Host key for server changed : server's one is now:\n%s\n", hexa ); + ssh_string_free_char( hexa ); ssh_clean_pubkey_hash( &hash ); - return -1; + } return -1; case SSH_SERVER_FOUND_OTHER: fprintf( stderr, "ERROR: The server gave us an unexpected host key, this could be an attack\n" ); |