mirror of
https://github.com/libvirt/libvirt.git
synced 2026-10-02 12:20:06 -05:00
virnetlibsshsession: Check later for auth callback in virNetLibsshAuthenticatePassword()
The first thing that virNetLibsshAuthenticatePassword() does is read password from config file. For this it does not need auth callback. If that password fails to authenticate then corresponding callback from the auth callback is called. This is actual place where auth callback should be checked for. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com> Tested-by: Richrad W.M. Jones <rjones@redhat.com>
This commit is contained in:
1 parent
1147fb79b7
commit
ebf353f3c4
1 file changed
+7
-7
@@ -517,13 +517,6 @@ virNetLibsshAuthenticatePassword(virNetLibsshSession *sess)
|
||||
|
||||
VIR_DEBUG("sess=%p", sess);
|
||||
|
||||
/* password authentication with interactive password request */
|
||||
if (!sess->cred || !sess->cred->cb) {
|
||||
virReportError(VIR_ERR_LIBSSH, "%s",
|
||||
_("Can't perform authentication: Authentication callback not provided"));
|
||||
return SSH_AUTH_ERROR;
|
||||
}
|
||||
|
||||
/* first try to get password from config */
|
||||
if (virAuthGetCredential("ssh", sess->hostname, "password", sess->authPath,
|
||||
&password) < 0)
|
||||
@@ -539,6 +532,13 @@ virNetLibsshAuthenticatePassword(virNetLibsshSession *sess)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* password authentication with interactive password request */
|
||||
if (!sess->cred || !sess->cred->cb) {
|
||||
virReportError(VIR_ERR_LIBSSH, "%s",
|
||||
_("Can't perform authentication: Authentication callback not provided"));
|
||||
return SSH_AUTH_ERROR;
|
||||
}
|
||||
|
||||
/* Try the authenticating the set amount of times. The server breaks the
|
||||
* connection if maximum number of bad auth tries is exceeded */
|
||||
while (true) {
|
||||
|
||||
Reference in new issue
Block a user