summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/virt-viewer-app.c12
-rw-r--r--src/virt-viewer-session-spice.c2
2 files changed, 11 insertions, 3 deletions
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 2bf74f7..36db150 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -1488,7 +1488,7 @@ static void virt_viewer_app_cancelled(VirtViewerSession *session,
}
-static void virt_viewer_app_auth_refused(VirtViewerSession *session G_GNUC_UNUSED,
+static void virt_viewer_app_auth_refused(VirtViewerSession *session,
const char *msg,
VirtViewerApp *self)
{
@@ -1496,6 +1496,15 @@ static void virt_viewer_app_auth_refused(VirtViewerSession *session G_GNUC_UNUSE
int ret;
VirtViewerAppPrivate *priv = self->priv;
+ if (virt_viewer_session_can_retry_auth(session)) {
+ virt_viewer_app_simple_message_dialog(self,
+ _("Unable to authenticate with remote desktop server at %s: %s\n"),
+ priv->pretty_address, msg);
+ return;
+ }
+
+ /* if the session implementation cannot retry auth automatically, the
+ * VirtViewerApp needs to schedule a new connection to retry */
dialog = gtk_message_dialog_new(virt_viewer_window_get_window(priv->main_window),
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -1515,7 +1524,6 @@ static void virt_viewer_app_auth_refused(VirtViewerSession *session G_GNUC_UNUSE
priv->authretry = FALSE;
}
-
static void virt_viewer_app_auth_failed(VirtViewerSession *session G_GNUC_UNUSED,
const char *msg,
VirtViewerApp *self)
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
index ec6ffa5..9976291 100644
--- a/src/virt-viewer-session-spice.c
+++ b/src/virt-viewer-session-spice.c
@@ -617,7 +617,7 @@ virt_viewer_session_spice_main_channel_event(SpiceChannel *channel,
}
if (self->priv->pass_try > 0)
- g_signal_emit_by_name(session, "session-auth-failed",
+ g_signal_emit_by_name(session, "session-auth-refused",
error != NULL ? error->message : _("Invalid password"));
self->priv->pass_try++;