diff options
Diffstat (limited to 'libsoup/auth')
-rw-r--r-- | libsoup/auth/soup-auth-manager.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libsoup/auth/soup-auth-manager.c b/libsoup/auth/soup-auth-manager.c index 8c02c0ca..22dd56b2 100644 --- a/libsoup/auth/soup-auth-manager.c +++ b/libsoup/auth/soup-auth-manager.c @@ -554,8 +554,10 @@ authenticate_auth (SoupAuthManager *manager, SoupAuth *auth, /* If a password is specified explicitly in the URI, use it * even if the auth had previously already been authenticated. */ - if (g_uri_get_password (uri) && g_uri_get_user (uri)) { - soup_auth_authenticate (auth, g_uri_get_user (uri), g_uri_get_password (uri)); + if (g_uri_get_user (uri)) { + const char *password = g_uri_get_password (uri); + soup_auth_authenticate (auth, g_uri_get_user (uri), password ? password : ""); + GUri *new_uri = soup_uri_copy (uri, SOUP_URI_USER, NULL, SOUP_URI_PASSWORD, NULL, SOUP_URI_NONE); soup_message_set_uri (msg, new_uri); // QUESTION: This didn't emit a signal previously g_uri_unref (new_uri); |