mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-03 01:42:18 +01:00 
			
		
		
		
	GDBus: If an authentication method fail, don't give up, just try the next one
This problem was reported in bug 647602. https://bugzilla.gnome.org/show_bug.cgi?id=647602 Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
		@@ -663,7 +663,8 @@ _g_dbus_auth_run_client (GDBusAuth     *auth,
 | 
			
		||||
          if (line == NULL)
 | 
			
		||||
            goto out;
 | 
			
		||||
          debug_print ("CLIENT: WaitingForReject, read '%s'", line);
 | 
			
		||||
        foobar:
 | 
			
		||||
 | 
			
		||||
        choose_mechanism:
 | 
			
		||||
          if (!g_str_has_prefix (line, "REJECTED "))
 | 
			
		||||
            {
 | 
			
		||||
              g_set_error (error,
 | 
			
		||||
@@ -739,7 +740,7 @@ _g_dbus_auth_run_client (GDBusAuth     *auth,
 | 
			
		||||
            }
 | 
			
		||||
          else if (g_str_has_prefix (line, "REJECTED "))
 | 
			
		||||
            {
 | 
			
		||||
              goto foobar;
 | 
			
		||||
              goto choose_mechanism;
 | 
			
		||||
            }
 | 
			
		||||
          else
 | 
			
		||||
            {
 | 
			
		||||
@@ -841,6 +842,13 @@ _g_dbus_auth_run_client (GDBusAuth     *auth,
 | 
			
		||||
                }
 | 
			
		||||
              state = CLIENT_STATE_WAITING_FOR_OK;
 | 
			
		||||
            }
 | 
			
		||||
          else if (g_str_has_prefix (line, "REJECTED "))
 | 
			
		||||
            {
 | 
			
		||||
              /* could be the chosen authentication method just doesn't work. Try
 | 
			
		||||
               * another one...
 | 
			
		||||
               */
 | 
			
		||||
              goto choose_mechanism;
 | 
			
		||||
            }
 | 
			
		||||
          else
 | 
			
		||||
            {
 | 
			
		||||
              g_set_error (error,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user