summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gvfs/gvfs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gvfs/gvfs.c b/gvfs/gvfs.c
index af85a8a..2e42bea 100644
--- a/gvfs/gvfs.c
+++ b/gvfs/gvfs.c
@@ -151,6 +151,14 @@ ask_password_cb (GMountOperation *op,
/* Ask user for password */
g_print ("(WW) ask_password_cb: mount_try = %d, message = '%s'\n", globs->mount_try, message);
+ /* Handle abort message from certain backends properly */
+ /* - e.g. SMB backends use this to mask multiple auth callbacks from smbclient */
+ if (default_user && strcmp (default_user, "ABORT") == 0) {
+ g_print ("(WW) default_user == \"ABORT\", aborting\n");
+ g_mount_operation_reply (op, G_MOUNT_OPERATION_ABORTED);
+ return;
+ }
+
username = NULL;
domain = NULL;
password = NULL;