[FFmpeg-devel] [PATCH 2/2] lavf/libssh: improve authentication

Lukasz Marek lukasz.m.luki at gmail.com
Sat Dec 28 19:37:04 CET 2013


- Add authentication using keys
- Provide better message on fail

Signed-off-by: Lukasz Marek <lukasz.m.luki at gmail.com>
---
 libavformat/libssh.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/libavformat/libssh.c b/libavformat/libssh.c
index 611fc24..223474a 100644
--- a/libavformat/libssh.c
+++ b/libavformat/libssh.c
@@ -91,10 +91,13 @@ static int libssh_open(URLContext *h, const char *url, int flags)
         goto fail;
     }
 
-    if (pass && ssh_userauth_password(s->session, NULL, pass) != SSH_AUTH_SUCCESS) {
-        av_log(h, AV_LOG_ERROR, "Error authenticating with password: %s\n", ssh_get_error(s->session));
-        ret = AVERROR(EACCES);
-        goto fail;
+    if (ssh_userauth_autopubkey(s->session, pass) != SSH_AUTH_SUCCESS) {
+        av_log(s, AV_LOG_DEBUG, "Authentication using public key failed, trying password method.\n");
+        if (ssh_userauth_password(s->session, NULL, pass) != SSH_AUTH_SUCCESS) {
+            av_log(h, AV_LOG_ERROR, "Authentication failed.\n");
+            ret = AVERROR(EACCES);
+            goto fail;
+        }
     }
 
     if (!(s->sftp = sftp_new(s->session))) {
-- 
1.8.3.2



More information about the ffmpeg-devel mailing list