Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FreeRDP/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Brun <lorenz@brun.one>2022-03-18 17:02:13 +0300
committerLorenz Brun <lorenz@brun.one>2022-03-18 17:16:17 +0300
commit8f0d4e9dad8ffec26f4f386f52d379325197870d (patch)
tree2c371527493b9d5077507b603db0d1d93192acf8 /plugins
parenta42c1d85587825f854f82a10937f4007e33e9908 (diff)
Handle after-auth connection errors in VNC properly
Signed-off-by: Lorenz Brun <lorenz@brun.one>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/vnc/vnc_plugin.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/vnc/vnc_plugin.c b/plugins/vnc/vnc_plugin.c
index 0dee4a89e..60c7f65ae 100644
--- a/plugins/vnc/vnc_plugin.c
+++ b/plugins/vnc/vnc_plugin.c
@@ -1325,6 +1325,14 @@ static gboolean remmina_plugin_vnc_main(RemminaProtocolWidget *gp)
gpdata->auth_called = FALSE;
break;
}
+ /* Don't assume authentication failed for known network-related errors in
+ libvncclient/sockets.c. */
+ if (strstr(vnc_error, "read (") || strstr(vnc_error, "select\n") ||
+ strstr(vnc_error, "write\n") || strstr(vnc_error, "Connection timed out")) {
+ gpdata->connected = FALSE;
+ gpdata->auth_called = FALSE;
+ break;
+ }
/* Otherwise, it’s a password error. Try to clear saved password if any */
remmina_plugin_service->file_set_string(remminafile, "password", NULL);