diff options
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | sysdep/unix/io.c | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 330add87..f942ec1b 100644 --- a/configure.ac +++ b/configure.ac @@ -276,6 +276,12 @@ if test "$enable_libssh" != no ; then enable_libssh=no fi fi + + AC_CHECK_LIB([ssh], [ssh_session_is_known_server], [ssh_old_server_validation_api=no], [ssh_old_server_validation_api=yes]) + + if test "$ssh_old_server_validation_api" = yes; then + AC_DEFINE([HAVE_SSH_OLD_SERVER_VALIDATION_API], [1], [Define to 1 if ssh_session_is_known_server isn't defined]) + fi fi if test "$enable_mpls_kernel" != no ; then diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index fb25d5d8..c91bd597 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -1151,6 +1151,16 @@ sk_ssh_connect(sock *s) { int server_identity_is_ok = 1; +#ifdef HAVE_SSH_OLD_SERVER_VALIDATION_API +#define ssh_session_is_known_server ssh_is_server_known +#define SSH_KNOWN_HOSTS_OK SSH_SERVER_KNOWN_OK +#define SSH_KNOWN_HOSTS_UNKNOWN SSH_SERVER_NOT_KNOWN +#define SSH_KNOWN_HOSTS_CHANGED SSH_SERVER_KNOWN_CHANGED +#define SSH_KNOWN_HOSTS_NOT_FOUND SSH_SERVER_FILE_NOT_FOUND +#define SSH_KNOWN_HOSTS_ERROR SSH_SERVER_ERROR +#define SSH_KNOWN_HOSTS_OTHER SSH_SERVER_FOUND_OTHER +#endif + /* Check server identity */ switch (ssh_session_is_known_server(s->ssh->session)) { |