ssh: use the libssh2 agent API conditionally
authorDaniel Stenberg <daniel@haxx.se>
Fri, 10 Aug 2012 06:57:27 +0000 (08:57 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 10 Aug 2012 06:59:36 +0000 (08:59 +0200)
Commit e351972bc89aa4c brought in the ssh agent support but some uses of
the libssh2 agent API was done unconditionally which wasn't good enough
since that API hasn't always been present.

lib/ssh.c

index 72061025967ed36f3de86c3dcdce259c232d72a9..c76a48e32ddaa2367931eea61ad28c1e590eb01d 100644 (file)
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -939,6 +939,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
       break;
 
     case SSH_AUTH_AGENT_LIST:
+#ifdef HAVE_LIBSSH2_AGENT_API
       rc = libssh2_agent_list_identities(sshc->ssh_agent);
 
       if(rc == LIBSSH2_ERROR_EAGAIN)
@@ -951,9 +952,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
         state(conn, SSH_AUTH_AGENT);
         sshc->sshagent_prev_identity = NULL;
       }
+#endif
       break;
 
     case SSH_AUTH_AGENT:
+#ifdef HAVE_LIBSSH2_AGENT_API
       /* as prev_identity evolves only after an identity user auth finished we
          can safely request it again as long as EAGAIN is returned here or by
          libssh2_agent_userauth */
@@ -988,6 +991,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
       }
       else
         state(conn, SSH_AUTH_KEY_INIT);
+#endif
       break;
 
     case SSH_AUTH_KEY_INIT: